gitlab.com/danp128/sqlite@v1.0.0/internal/bin/bin_windows_386.go (about) 1 /* 2 3 SQLite Is Public Domain 4 5 All of the code and documentation in SQLite has been dedicated to the public 6 domain by the authors. All code authors, and representatives of the companies 7 they work for, have signed affidavits dedicating their contributions to the 8 public domain and originals of those signed affidavits are stored in a firesafe 9 at the main offices of Hwaci. Anyone is free to copy, modify, publish, use, 10 compile, sell, or distribute the original SQLite code, either in source code 11 form or as a compiled binary, for any purpose, commercial or non-commercial, 12 and by any means. 13 14 The previous paragraph applies to the deliverable code and documentation in 15 SQLite - those parts of the SQLite library that you actually bundle and ship 16 with a larger application. Some scripts used as part of the build process (for 17 example the "configure" scripts generated by autoconf) might fall under other 18 open-source licenses. Nothing from these build scripts ever reaches the final 19 deliverable SQLite library, however, and so the licenses associated with those 20 scripts should not be a factor in assessing your rights to copy and use the 21 SQLite library. 22 23 All of the deliverable code in SQLite has been written from scratch. No code 24 has been taken from other projects or from the open internet. Every line of 25 code can be traced back to its original author, and all of those authors have 26 public domain dedications on file. So the SQLite code base is clean and is 27 uncontaminated with licensed code from other projects. 28 29 */ 30 31 // Code generated by ccgo DO NOT EDIT. 32 33 package bin // import "modernc.org/sqlite/internal/bin" 34 35 import ( 36 "fmt" 37 "math" 38 "os" 39 "path" 40 "runtime" 41 "unsafe" 42 43 "modernc.org/ccgo/crt" 44 ) 45 46 var inf = math.Inf(1) 47 48 func ftrace(s string, args ...interface{}) { 49 _, fn, fl, _ := runtime.Caller(1) 50 fmt.Fprintf(os.Stderr, "# %s:%d: %v\n", path.Base(fn), fl, fmt.Sprintf(s, args...)) 51 os.Stderr.Sync() 52 } 53 54 const ( 55 XFTS5_TOKENIZE_AUX = 8 56 XFTS5_TOKENIZE_DOCUMENT = 4 57 XFTS5_TOKENIZE_PREFIX = 2 58 XFTS5_TOKENIZE_QUERY = 1 59 XFTS5_TOKEN_COLOCATED = 1 60 XFULLY_WITHIN = 2 61 XNOT_WITHIN = 0 62 XPARTLY_WITHIN = 1 63 XSQLITE3_TEXT = 3 64 XSQLITE_ABORT = 4 65 XSQLITE_ABORT_ROLLBACK = 516 66 XSQLITE_ACCESS_EXISTS = 0 67 XSQLITE_ACCESS_READ = 2 68 XSQLITE_ACCESS_READWRITE = 1 69 XSQLITE_ALTER_TABLE = 26 70 XSQLITE_ANALYZE = 28 71 XSQLITE_ANY = 5 72 XSQLITE_ATTACH = 24 73 XSQLITE_AUTH = 23 74 XSQLITE_AUTH_USER = 279 75 XSQLITE_BLOB = 4 76 XSQLITE_BUSY = 5 77 XSQLITE_BUSY_RECOVERY = 261 78 XSQLITE_BUSY_SNAPSHOT = 517 79 XSQLITE_CANTOPEN = 14 80 XSQLITE_CANTOPEN_CONVPATH = 1038 81 XSQLITE_CANTOPEN_FULLPATH = 782 82 XSQLITE_CANTOPEN_ISDIR = 526 83 XSQLITE_CANTOPEN_NOTEMPDIR = 270 84 XSQLITE_CHECKPOINT_FULL = 1 85 XSQLITE_CHECKPOINT_PASSIVE = 0 86 XSQLITE_CHECKPOINT_RESTART = 2 87 XSQLITE_CHECKPOINT_TRUNCATE = 3 88 XSQLITE_CONFIG_COVERING_INDEX_SCAN = 20 89 XSQLITE_CONFIG_GETMALLOC = 5 90 XSQLITE_CONFIG_GETMUTEX = 11 91 XSQLITE_CONFIG_GETPCACHE = 15 92 XSQLITE_CONFIG_GETPCACHE2 = 19 93 XSQLITE_CONFIG_HEAP = 8 94 XSQLITE_CONFIG_LOG = 16 95 XSQLITE_CONFIG_LOOKASIDE = 13 96 XSQLITE_CONFIG_MALLOC = 4 97 XSQLITE_CONFIG_MEMSTATUS = 9 98 XSQLITE_CONFIG_MMAP_SIZE = 22 99 XSQLITE_CONFIG_MULTITHREAD = 2 100 XSQLITE_CONFIG_MUTEX = 10 101 XSQLITE_CONFIG_PAGECACHE = 7 102 XSQLITE_CONFIG_PCACHE = 14 103 XSQLITE_CONFIG_PCACHE2 = 18 104 XSQLITE_CONFIG_PCACHE_HDRSZ = 24 105 XSQLITE_CONFIG_PMASZ = 25 106 XSQLITE_CONFIG_SCRATCH = 6 107 XSQLITE_CONFIG_SERIALIZED = 3 108 XSQLITE_CONFIG_SINGLETHREAD = 1 109 XSQLITE_CONFIG_SQLLOG = 21 110 XSQLITE_CONFIG_STMTJRNL_SPILL = 26 111 XSQLITE_CONFIG_URI = 17 112 XSQLITE_CONFIG_WIN32_HEAPSIZE = 23 113 XSQLITE_CONSTRAINT = 19 114 XSQLITE_CONSTRAINT_CHECK = 275 115 XSQLITE_CONSTRAINT_COMMITHOOK = 531 116 XSQLITE_CONSTRAINT_FOREIGNKEY = 787 117 XSQLITE_CONSTRAINT_FUNCTION = 1043 118 XSQLITE_CONSTRAINT_NOTNULL = 1299 119 XSQLITE_CONSTRAINT_PRIMARYKEY = 1555 120 XSQLITE_CONSTRAINT_ROWID = 2579 121 XSQLITE_CONSTRAINT_TRIGGER = 1811 122 XSQLITE_CONSTRAINT_UNIQUE = 2067 123 XSQLITE_CONSTRAINT_VTAB = 2323 124 XSQLITE_COPY = 0 125 XSQLITE_CORRUPT = 11 126 XSQLITE_CORRUPT_VTAB = 267 127 XSQLITE_CREATE_INDEX = 1 128 XSQLITE_CREATE_TABLE = 2 129 XSQLITE_CREATE_TEMP_INDEX = 3 130 XSQLITE_CREATE_TEMP_TABLE = 4 131 XSQLITE_CREATE_TEMP_TRIGGER = 5 132 XSQLITE_CREATE_TEMP_VIEW = 6 133 XSQLITE_CREATE_TRIGGER = 7 134 XSQLITE_CREATE_VIEW = 8 135 XSQLITE_CREATE_VTABLE = 29 136 XSQLITE_DBCONFIG_ENABLE_FKEY = 1002 137 XSQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004 138 XSQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005 139 XSQLITE_DBCONFIG_ENABLE_TRIGGER = 1003 140 XSQLITE_DBCONFIG_LOOKASIDE = 1001 141 XSQLITE_DBCONFIG_MAINDBNAME = 1000 142 XSQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006 143 XSQLITE_DBSTATUS_CACHE_HIT = 7 144 XSQLITE_DBSTATUS_CACHE_MISS = 8 145 XSQLITE_DBSTATUS_CACHE_USED = 1 146 XSQLITE_DBSTATUS_CACHE_USED_SHARED = 11 147 XSQLITE_DBSTATUS_CACHE_WRITE = 9 148 XSQLITE_DBSTATUS_DEFERRED_FKS = 10 149 XSQLITE_DBSTATUS_LOOKASIDE_HIT = 4 150 XSQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6 151 XSQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 152 XSQLITE_DBSTATUS_LOOKASIDE_USED = 0 153 XSQLITE_DBSTATUS_MAX = 11 154 XSQLITE_DBSTATUS_SCHEMA_USED = 2 155 XSQLITE_DBSTATUS_STMT_USED = 3 156 XSQLITE_DELETE = 9 157 XSQLITE_DENY = 1 158 XSQLITE_DETACH = 25 159 XSQLITE_DETERMINISTIC = 2048 160 XSQLITE_DONE = 101 161 XSQLITE_DROP_INDEX = 10 162 XSQLITE_DROP_TABLE = 11 163 XSQLITE_DROP_TEMP_INDEX = 12 164 XSQLITE_DROP_TEMP_TABLE = 13 165 XSQLITE_DROP_TEMP_TRIGGER = 14 166 XSQLITE_DROP_TEMP_VIEW = 15 167 XSQLITE_DROP_TRIGGER = 16 168 XSQLITE_DROP_VIEW = 17 169 XSQLITE_DROP_VTABLE = 30 170 XSQLITE_EMPTY = 16 171 XSQLITE_ERROR = 1 172 XSQLITE_EXTERN = 0 173 XSQLITE_FAIL = 3 174 XSQLITE_FCNTL_BUSYHANDLER = 15 175 XSQLITE_FCNTL_CHUNK_SIZE = 6 176 XSQLITE_FCNTL_COMMIT_PHASETWO = 22 177 XSQLITE_FCNTL_FILE_POINTER = 7 178 XSQLITE_FCNTL_GET_LOCKPROXYFILE = 2 179 XSQLITE_FCNTL_HAS_MOVED = 20 180 XSQLITE_FCNTL_JOURNAL_POINTER = 28 181 XSQLITE_FCNTL_LAST_ERRNO = 4 182 XSQLITE_FCNTL_LOCKSTATE = 1 183 XSQLITE_FCNTL_MMAP_SIZE = 18 184 XSQLITE_FCNTL_OVERWRITE = 11 185 XSQLITE_FCNTL_PDB = 30 186 XSQLITE_FCNTL_PERSIST_WAL = 10 187 XSQLITE_FCNTL_POWERSAFE_OVERWRITE = 13 188 XSQLITE_FCNTL_PRAGMA = 14 189 XSQLITE_FCNTL_RBU = 26 190 XSQLITE_FCNTL_SET_LOCKPROXYFILE = 3 191 XSQLITE_FCNTL_SIZE_HINT = 5 192 XSQLITE_FCNTL_SYNC = 21 193 XSQLITE_FCNTL_SYNC_OMITTED = 8 194 XSQLITE_FCNTL_TEMPFILENAME = 16 195 XSQLITE_FCNTL_TRACE = 19 196 XSQLITE_FCNTL_VFSNAME = 12 197 XSQLITE_FCNTL_VFS_POINTER = 27 198 XSQLITE_FCNTL_WAL_BLOCK = 24 199 XSQLITE_FCNTL_WIN32_AV_RETRY = 9 200 XSQLITE_FCNTL_WIN32_GET_HANDLE = 29 201 XSQLITE_FCNTL_WIN32_SET_HANDLE = 23 202 XSQLITE_FCNTL_ZIPVFS = 25 203 XSQLITE_FLOAT = 2 204 XSQLITE_FORMAT = 24 205 XSQLITE_FULL = 13 206 XSQLITE_FUNCTION = 31 207 XSQLITE_GET_LOCKPROXYFILE = 2 208 XSQLITE_IGNORE = 2 209 XSQLITE_INDEX_CONSTRAINT_EQ = 2 210 XSQLITE_INDEX_CONSTRAINT_GE = 32 211 XSQLITE_INDEX_CONSTRAINT_GLOB = 66 212 XSQLITE_INDEX_CONSTRAINT_GT = 4 213 XSQLITE_INDEX_CONSTRAINT_LE = 8 214 XSQLITE_INDEX_CONSTRAINT_LIKE = 65 215 XSQLITE_INDEX_CONSTRAINT_LT = 16 216 XSQLITE_INDEX_CONSTRAINT_MATCH = 64 217 XSQLITE_INDEX_CONSTRAINT_REGEXP = 67 218 XSQLITE_INDEX_SCAN_UNIQUE = 1 219 XSQLITE_INSERT = 18 220 XSQLITE_INTEGER = 1 221 XSQLITE_INTERNAL = 2 222 XSQLITE_INTERRUPT = 9 223 XSQLITE_IOCAP_ATOMIC = 1 224 XSQLITE_IOCAP_ATOMIC16K = 64 225 XSQLITE_IOCAP_ATOMIC1K = 4 226 XSQLITE_IOCAP_ATOMIC2K = 8 227 XSQLITE_IOCAP_ATOMIC32K = 128 228 XSQLITE_IOCAP_ATOMIC4K = 16 229 XSQLITE_IOCAP_ATOMIC512 = 2 230 XSQLITE_IOCAP_ATOMIC64K = 256 231 XSQLITE_IOCAP_ATOMIC8K = 32 232 XSQLITE_IOCAP_IMMUTABLE = 8192 233 XSQLITE_IOCAP_POWERSAFE_OVERWRITE = 4096 234 XSQLITE_IOCAP_SAFE_APPEND = 512 235 XSQLITE_IOCAP_SEQUENTIAL = 1024 236 XSQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 2048 237 XSQLITE_IOERR = 10 238 XSQLITE_IOERR_ACCESS = 3338 239 XSQLITE_IOERR_AUTH = 7178 240 XSQLITE_IOERR_BLOCKED = 2826 241 XSQLITE_IOERR_CHECKRESERVEDLOCK = 3594 242 XSQLITE_IOERR_CLOSE = 4106 243 XSQLITE_IOERR_CONVPATH = 6666 244 XSQLITE_IOERR_DELETE = 2570 245 XSQLITE_IOERR_DELETE_NOENT = 5898 246 XSQLITE_IOERR_DIR_CLOSE = 4362 247 XSQLITE_IOERR_DIR_FSYNC = 1290 248 XSQLITE_IOERR_FSTAT = 1802 249 XSQLITE_IOERR_FSYNC = 1034 250 XSQLITE_IOERR_GETTEMPPATH = 6410 251 XSQLITE_IOERR_LOCK = 3850 252 XSQLITE_IOERR_MMAP = 6154 253 XSQLITE_IOERR_NOMEM = 3082 254 XSQLITE_IOERR_RDLOCK = 2314 255 XSQLITE_IOERR_READ = 266 256 XSQLITE_IOERR_SEEK = 5642 257 XSQLITE_IOERR_SHMLOCK = 5130 258 XSQLITE_IOERR_SHMMAP = 5386 259 XSQLITE_IOERR_SHMOPEN = 4618 260 XSQLITE_IOERR_SHMSIZE = 4874 261 XSQLITE_IOERR_SHORT_READ = 522 262 XSQLITE_IOERR_TRUNCATE = 1546 263 XSQLITE_IOERR_UNLOCK = 2058 264 XSQLITE_IOERR_VNODE = 6922 265 XSQLITE_IOERR_WRITE = 778 266 XSQLITE_LAST_ERRNO = 4 267 XSQLITE_LIMIT_ATTACHED = 7 268 XSQLITE_LIMIT_COLUMN = 2 269 XSQLITE_LIMIT_COMPOUND_SELECT = 4 270 XSQLITE_LIMIT_EXPR_DEPTH = 3 271 XSQLITE_LIMIT_FUNCTION_ARG = 6 272 XSQLITE_LIMIT_LENGTH = 0 273 XSQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8 274 XSQLITE_LIMIT_SQL_LENGTH = 1 275 XSQLITE_LIMIT_TRIGGER_DEPTH = 10 276 XSQLITE_LIMIT_VARIABLE_NUMBER = 9 277 XSQLITE_LIMIT_VDBE_OP = 5 278 XSQLITE_LIMIT_WORKER_THREADS = 11 279 XSQLITE_LOCKED = 6 280 XSQLITE_LOCKED_SHAREDCACHE = 262 281 XSQLITE_LOCK_EXCLUSIVE = 4 282 XSQLITE_LOCK_NONE = 0 283 XSQLITE_LOCK_PENDING = 3 284 XSQLITE_LOCK_RESERVED = 2 285 XSQLITE_LOCK_SHARED = 1 286 XSQLITE_MISMATCH = 20 287 XSQLITE_MISUSE = 21 288 XSQLITE_MUTEX_FAST = 0 289 XSQLITE_MUTEX_RECURSIVE = 1 290 XSQLITE_MUTEX_STATIC_APP1 = 8 291 XSQLITE_MUTEX_STATIC_APP2 = 9 292 XSQLITE_MUTEX_STATIC_APP3 = 10 293 XSQLITE_MUTEX_STATIC_LRU = 6 294 XSQLITE_MUTEX_STATIC_LRU2 = 7 295 XSQLITE_MUTEX_STATIC_MASTER = 2 296 XSQLITE_MUTEX_STATIC_MEM = 3 297 XSQLITE_MUTEX_STATIC_MEM2 = 4 298 XSQLITE_MUTEX_STATIC_OPEN = 4 299 XSQLITE_MUTEX_STATIC_PMEM = 7 300 XSQLITE_MUTEX_STATIC_PRNG = 5 301 XSQLITE_MUTEX_STATIC_VFS1 = 11 302 XSQLITE_MUTEX_STATIC_VFS2 = 12 303 XSQLITE_MUTEX_STATIC_VFS3 = 13 304 XSQLITE_NOLFS = 22 305 XSQLITE_NOMEM = 7 306 XSQLITE_NOTADB = 26 307 XSQLITE_NOTFOUND = 12 308 XSQLITE_NOTICE = 27 309 XSQLITE_NOTICE_RECOVER_ROLLBACK = 539 310 XSQLITE_NOTICE_RECOVER_WAL = 283 311 XSQLITE_NULL = 5 312 XSQLITE_OK = 0 313 XSQLITE_OK_LOAD_PERMANENTLY = 256 314 XSQLITE_OPEN_AUTOPROXY = 32 315 XSQLITE_OPEN_CREATE = 4 316 XSQLITE_OPEN_DELETEONCLOSE = 8 317 XSQLITE_OPEN_EXCLUSIVE = 16 318 XSQLITE_OPEN_FULLMUTEX = 65536 319 XSQLITE_OPEN_MAIN_DB = 256 320 XSQLITE_OPEN_MAIN_JOURNAL = 2048 321 XSQLITE_OPEN_MASTER_JOURNAL = 16384 322 XSQLITE_OPEN_MEMORY = 128 323 XSQLITE_OPEN_NOMUTEX = 32768 324 XSQLITE_OPEN_PRIVATECACHE = 262144 325 XSQLITE_OPEN_READONLY = 1 326 XSQLITE_OPEN_READWRITE = 2 327 XSQLITE_OPEN_SHAREDCACHE = 131072 328 XSQLITE_OPEN_SUBJOURNAL = 8192 329 XSQLITE_OPEN_TEMP_DB = 512 330 XSQLITE_OPEN_TEMP_JOURNAL = 4096 331 XSQLITE_OPEN_TRANSIENT_DB = 1024 332 XSQLITE_OPEN_URI = 64 333 XSQLITE_OPEN_WAL = 524288 334 XSQLITE_PERM = 3 335 XSQLITE_PRAGMA = 19 336 XSQLITE_PROTOCOL = 15 337 XSQLITE_RANGE = 25 338 XSQLITE_READ = 20 339 XSQLITE_READONLY = 8 340 XSQLITE_READONLY_CANTLOCK = 520 341 XSQLITE_READONLY_DBMOVED = 1032 342 XSQLITE_READONLY_RECOVERY = 264 343 XSQLITE_READONLY_ROLLBACK = 776 344 XSQLITE_RECURSIVE = 33 345 XSQLITE_REINDEX = 27 346 XSQLITE_REPLACE = 5 347 XSQLITE_ROLLBACK = 1 348 XSQLITE_ROW = 100 349 XSQLITE_SAVEPOINT = 32 350 XSQLITE_SCANSTAT_EST = 2 351 XSQLITE_SCANSTAT_EXPLAIN = 4 352 XSQLITE_SCANSTAT_NAME = 3 353 XSQLITE_SCANSTAT_NLOOP = 0 354 XSQLITE_SCANSTAT_NVISIT = 1 355 XSQLITE_SCANSTAT_SELECTID = 5 356 XSQLITE_SCHEMA = 17 357 XSQLITE_SELECT = 21 358 XSQLITE_SET_LOCKPROXYFILE = 3 359 XSQLITE_SHM_EXCLUSIVE = 8 360 XSQLITE_SHM_LOCK = 2 361 XSQLITE_SHM_NLOCK = 8 362 XSQLITE_SHM_SHARED = 4 363 XSQLITE_SHM_UNLOCK = 1 364 XSQLITE_SOURCE_ID = "2017-03-28 18:48:43 424a0d380332858ee55bdebc4af3789f74e70a2b3ba1cf29d84b9b4bcf3e2e37" 365 XSQLITE_STATUS_MALLOC_COUNT = 9 366 XSQLITE_STATUS_MALLOC_SIZE = 5 367 XSQLITE_STATUS_MEMORY_USED = 0 368 XSQLITE_STATUS_PAGECACHE_OVERFLOW = 2 369 XSQLITE_STATUS_PAGECACHE_SIZE = 7 370 XSQLITE_STATUS_PAGECACHE_USED = 1 371 XSQLITE_STATUS_PARSER_STACK = 6 372 XSQLITE_STATUS_SCRATCH_OVERFLOW = 4 373 XSQLITE_STATUS_SCRATCH_SIZE = 8 374 XSQLITE_STATUS_SCRATCH_USED = 3 375 XSQLITE_STMTSTATUS_AUTOINDEX = 3 376 XSQLITE_STMTSTATUS_FULLSCAN_STEP = 1 377 XSQLITE_STMTSTATUS_SORT = 2 378 XSQLITE_STMTSTATUS_VM_STEP = 4 379 XSQLITE_SYNC_DATAONLY = 16 380 XSQLITE_SYNC_FULL = 3 381 XSQLITE_SYNC_NORMAL = 2 382 XSQLITE_TESTCTRL_ALWAYS = 13 383 XSQLITE_TESTCTRL_ASSERT = 12 384 XSQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10 385 XSQLITE_TESTCTRL_BITVEC_TEST = 8 386 XSQLITE_TESTCTRL_BYTEORDER = 22 387 XSQLITE_TESTCTRL_EXPLAIN_STMT = 19 388 XSQLITE_TESTCTRL_FAULT_INSTALL = 9 389 XSQLITE_TESTCTRL_FIRST = 5 390 XSQLITE_TESTCTRL_IMPOSTER = 25 391 XSQLITE_TESTCTRL_ISINIT = 23 392 XSQLITE_TESTCTRL_ISKEYWORD = 16 393 XSQLITE_TESTCTRL_LAST = 25 394 XSQLITE_TESTCTRL_LOCALTIME_FAULT = 18 395 XSQLITE_TESTCTRL_NEVER_CORRUPT = 20 396 XSQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19 397 XSQLITE_TESTCTRL_OPTIMIZATIONS = 15 398 XSQLITE_TESTCTRL_PENDING_BYTE = 11 399 XSQLITE_TESTCTRL_PRNG_RESET = 7 400 XSQLITE_TESTCTRL_PRNG_RESTORE = 6 401 XSQLITE_TESTCTRL_PRNG_SAVE = 5 402 XSQLITE_TESTCTRL_RESERVE = 14 403 XSQLITE_TESTCTRL_SCRATCHMALLOC = 17 404 XSQLITE_TESTCTRL_SORTER_MMAP = 24 405 XSQLITE_TESTCTRL_VDBE_COVERAGE = 21 406 XSQLITE_TEXT = 3 407 XSQLITE_TOOBIG = 18 408 XSQLITE_TRACE_CLOSE = 8 409 XSQLITE_TRACE_PROFILE = 2 410 XSQLITE_TRACE_ROW = 4 411 XSQLITE_TRACE_STMT = 1 412 XSQLITE_TRANSACTION = 22 413 XSQLITE_TRANSIENT = -1 414 XSQLITE_UPDATE = 23 415 XSQLITE_UTF16 = 4 416 XSQLITE_UTF16BE = 3 417 XSQLITE_UTF16LE = 2 418 XSQLITE_UTF16_ALIGNED = 8 419 XSQLITE_UTF8 = 1 420 XSQLITE_VERSION = "3.18.0" 421 XSQLITE_VERSION_NUMBER = 3018000 422 XSQLITE_VTAB_CONSTRAINT_SUPPORT = 1 423 XSQLITE_WARNING = 28 424 XSQLITE_WARNING_AUTOINDEX = 284 425 X_INTEGRAL_MAX_BITS = 64 426 X_MSC_VER = 1200 427 X_WIN32 = 1 428 X_X86_ = 1 429 X__ATOMIC_ACQUIRE = 2 430 X__ATOMIC_ACQ_REL = 4 431 X__ATOMIC_CONSUME = 1 432 X__ATOMIC_HLE_ACQUIRE = 65536 433 X__ATOMIC_HLE_RELEASE = 131072 434 X__ATOMIC_RELAXED = 0 435 X__ATOMIC_RELEASE = 3 436 X__ATOMIC_SEQ_CST = 5 437 X__BIGGEST_ALIGNMENT__ = 16 438 X__BYTE_ORDER__ = 1234 439 X__CHAR_BIT__ = 8 440 X__DBL_DECIMAL_DIG__ = 17 441 X__DBL_DIG__ = 15 442 X__DBL_HAS_DENORM__ = 1 443 X__DBL_HAS_INFINITY__ = 1 444 X__DBL_HAS_QUIET_NAN__ = 1 445 X__DBL_MANT_DIG__ = 53 446 X__DBL_MAX_10_EXP__ = 308 447 X__DBL_MAX_EXP__ = 1024 448 X__DBL_MIN_10_EXP__ = -307 449 X__DBL_MIN_EXP__ = -1021 450 X__DEC128_MANT_DIG__ = 34 451 X__DEC128_MAX_EXP__ = 6145 452 X__DEC128_MIN_EXP__ = -6142 453 X__DEC32_MANT_DIG__ = 7 454 X__DEC32_MAX_EXP__ = 97 455 X__DEC32_MIN_EXP__ = -94 456 X__DEC64_MANT_DIG__ = 16 457 X__DEC64_MAX_EXP__ = 385 458 X__DEC64_MIN_EXP__ = -382 459 X__DECIMAL_BID_FORMAT__ = 1 460 X__DECIMAL_DIG__ = 21 461 X__DEC_EVAL_METHOD__ = 2 462 X__FINITE_MATH_ONLY__ = 0 463 X__FLOAT_WORD_ORDER__ = 1234 464 X__FLT_DECIMAL_DIG__ = 9 465 X__FLT_DENORM_MIN__ = 1e-45 466 X__FLT_DIG__ = 6 467 X__FLT_EPSILON__ = 1.1920929e-07 468 X__FLT_EVAL_METHOD__ = 2 469 X__FLT_HAS_DENORM__ = 1 470 X__FLT_HAS_INFINITY__ = 1 471 X__FLT_HAS_QUIET_NAN__ = 1 472 X__FLT_MANT_DIG__ = 24 473 X__FLT_MAX_10_EXP__ = 38 474 X__FLT_MAX_EXP__ = 128 475 X__FLT_MAX__ = 3.4028235e+38 476 X__FLT_MIN_10_EXP__ = -37 477 X__FLT_MIN_EXP__ = -125 478 X__FLT_MIN__ = 1.1754944e-38 479 X__FLT_RADIX__ = 2 480 X__FUNCTION__ = 0 481 X__FXSR__ = 1 482 X__GXX_ABI_VERSION = 1010 483 X__GXX_MERGED_TYPEINFO_NAMES = 0 484 X__GXX_TYPEINFO_EQUALITY_INLINE = 0 485 X__INT16_MAX__ = 32767 486 X__INT32_MAX__ = 2147483647 487 X__INT32_TYPE__ = 0 488 X__INT64_MAX__ = 9223372036854775807 489 X__INT8_MAX__ = 127 490 X__INTMAX_MAX__ = 9223372036854775807 491 X__INTPTR_MAX__ = 2147483647 492 X__INTPTR_TYPE__ = 0 493 X__INT_FAST16_MAX__ = 32767 494 X__INT_FAST32_MAX__ = 2147483647 495 X__INT_FAST32_TYPE__ = 0 496 X__INT_FAST64_MAX__ = 9223372036854775807 497 X__INT_FAST8_MAX__ = 127 498 X__INT_LEAST16_MAX__ = 32767 499 X__INT_LEAST32_MAX__ = 2147483647 500 X__INT_LEAST32_TYPE__ = 0 501 X__INT_LEAST64_MAX__ = 9223372036854775807 502 X__INT_LEAST8_MAX__ = 127 503 X__INT_MAX__ = 2147483647 504 X__LDBL_DENORM_MIN__ = 0 505 X__LDBL_DIG__ = 18 506 X__LDBL_EPSILON__ = 1.0842021724855044e-19 507 X__LDBL_HAS_DENORM__ = 1 508 X__LDBL_HAS_INFINITY__ = 1 509 X__LDBL_HAS_QUIET_NAN__ = 1 510 X__LDBL_MANT_DIG__ = 64 511 X__LDBL_MAX_10_EXP__ = 4932 512 X__LDBL_MAX_EXP__ = 16384 513 X__LDBL_MAX__ = 0 514 X__LDBL_MIN_10_EXP__ = -4931 515 X__LDBL_MIN_EXP__ = -16381 516 X__LDBL_MIN__ = 0 517 X__LONG_LONG_MAX__ = 9223372036854775807 518 X__LONG_MAX__ = 2147483647 519 X__MINGW32__ = 1 520 X__MMX__ = 1 521 X__MSVCRT__ = 1 522 X__NO_INLINE__ = 1 523 X__ORDER_BIG_ENDIAN__ = 4321 524 X__ORDER_LITTLE_ENDIAN__ = 1234 525 X__ORDER_PDP_ENDIAN__ = 3412 526 X__PRAGMA_REDEFINE_EXTNAME = 1 527 X__PTRDIFF_MAX__ = 2147483647 528 X__PTRDIFF_TYPE__ = 0 529 X__SCHAR_MAX__ = 127 530 X__SEG_FS = 1 531 X__SEG_GS = 1 532 X__SHRT_MAX__ = 32767 533 X__SIG_ATOMIC_MAX__ = 2147483647 534 X__SIG_ATOMIC_MIN__ = -2147483648 535 X__SIG_ATOMIC_TYPE__ = 0 536 X__SIZEOF_DOUBLE__ = 8 537 X__SIZEOF_FLOAT128__ = 16 538 X__SIZEOF_FLOAT80__ = 12 539 X__SIZEOF_FLOAT__ = 4 540 X__SIZEOF_INT__ = 4 541 X__SIZEOF_LONG_DOUBLE__ = 12 542 X__SIZEOF_LONG_LONG__ = 8 543 X__SIZEOF_LONG__ = 4 544 X__SIZEOF_POINTER__ = 4 545 X__SIZEOF_PTRDIFF_T__ = 4 546 X__SIZEOF_SHORT__ = 2 547 X__SIZEOF_SIZE_T__ = 4 548 X__SIZEOF_WCHAR_T__ = 2 549 X__SIZEOF_WINT_T__ = 2 550 X__SIZE_MAX__ = 4294967295 551 X__SSE2__ = 1 552 X__SSE__ = 1 553 X__STDC_HOSTED__ = 1 554 X__STDC_VERSION__ = 199901 555 X__STDC__ = 1 556 X__STRICT_ANSI__ = 1 557 X__UINT16_MAX__ = 65535 558 X__UINT32_MAX__ = 4294967295 559 X__UINT64_MAX__ = 18446744073709551615 560 X__UINT8_MAX__ = 255 561 X__UINTMAX_MAX__ = 18446744073709551615 562 X__UINTPTR_MAX__ = 4294967295 563 X__UINT_FAST16_MAX__ = 65535 564 X__UINT_FAST32_MAX__ = 4294967295 565 X__UINT_FAST64_MAX__ = 18446744073709551615 566 X__UINT_FAST8_MAX__ = 255 567 X__UINT_LEAST16_MAX__ = 65535 568 X__UINT_LEAST32_MAX__ = 4294967295 569 X__UINT_LEAST64_MAX__ = 18446744073709551615 570 X__UINT_LEAST8_MAX__ = 255 571 X__USER_LABEL_PREFIX__ = 0 572 X__USE_MINGW_ANSI_STDIO = 0 573 X__USING_SJLJ_EXCEPTIONS__ = 1 574 X__VERSION__ = "6.3.0" 575 X__WCHAR_MAX__ = 65535 576 X__WCHAR_MIN__ = 0 577 X__WIN32 = 1 578 X__WIN32__ = 1 579 X__WINNT = 1 580 X__WINNT__ = 1 581 X__WINT_MAX__ = 65535 582 X__WINT_MIN__ = 0 583 X__code_model_32__ = 1 584 X__complex__ = 0 585 X__const = 0 586 X__forceinline = 0 587 X__i386 = 1 588 X__i386__ = 1 589 X__inline = 0 590 X__int32 = 0 591 X__k8 = 1 592 X__k8__ = 1 593 X__restrict = 0 594 X__tune_core_avx2__ = 1 595 X__tune_haswell__ = 1 596 X__volatile = 0 597 ) 598 599 func X_start(tls *crt.TLS, _argc int32, _argv **int8) { // crt0.c:12:1 600 crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr) 601 crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv)) 602 return 603 604 } 605 606 var Xstdin unsafe.Pointer // crt0.c:10:6 607 608 func init() { 609 Xstdin = unsafe.Pointer(&X__stdfiles) 610 } 611 612 var X__stdfiles [3]unsafe.Pointer // crt0.c:9:15 613 614 var Xstdout unsafe.Pointer // crt0.c:10:31 615 616 func init() { 617 Xstdout = (unsafe.Pointer)(uintptr(unsafe.Pointer(&X__stdfiles)) + 4) 618 } 619 620 var Xstderr unsafe.Pointer // crt0.c:10:57 621 622 func init() { 623 Xstderr = (unsafe.Pointer)(uintptr(unsafe.Pointer(&X__stdfiles)) + 8) 624 } 625 626 func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) { // main.c:9:1 627 var _f func(*crt.TLS, int32, ...interface{}) int32 // main.c:12:6 628 _ = _f 629 r0 = i32(0) 630 _f = Xsqlite3_config 631 return 632 633 } 634 635 func Xsqlite3_config(tls *crt.TLS, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:140258:12 636 var _ap []interface{} // sqlite3.c:140259:11 637 _ = _ap 638 var _rc int32 // sqlite3.c:140260:7 639 _ = _rc 640 var _22_szMmap int64 // sqlite3.c:140504:21 641 _ = _22_szMmap 642 var _22_mxMmap int64 // sqlite3.c:140505:21 643 _ = _22_mxMmap 644 _rc = i32(0) 645 if (_sqlite3Config.X28) == 0 { 646 goto _0 647 } 648 649 r0 = _sqlite3MisuseError(tls, i32(140264)) 650 return 651 652 _0: 653 _ap = args 654 switch _op { 655 case i32(1): 656 goto _2 657 case i32(2): 658 goto _3 659 case i32(3): 660 goto _4 661 case i32(4): 662 goto _7 663 case i32(5): 664 goto _8 665 case i32(6): 666 goto _10 667 case i32(7): 668 goto _11 669 case i32(9): 670 goto _9 671 case i32(10): 672 goto _5 673 case i32(11): 674 goto _6 675 case i32(13): 676 goto _17 677 case i32(14): 678 goto _13 679 case i32(15): 680 goto _14 681 case i32(16): 682 goto _18 683 case i32(17): 684 goto _19 685 case i32(18): 686 goto _15 687 case i32(19): 688 goto _16 689 case i32(20): 690 goto _20 691 case i32(22): 692 goto _21 693 case i32(24): 694 goto _12 695 case i32(25): 696 goto _22 697 case i32(26): 698 goto _23 699 default: 700 goto _24 701 } 702 703 _2: 704 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(4 /* X1 */))) = i32(0) 705 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(8 /* X2 */))) = i32(0) 706 goto _25 707 708 _3: 709 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(4 /* X1 */))) = i32(1) 710 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(8 /* X2 */))) = i32(0) 711 goto _25 712 713 _4: 714 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(4 /* X1 */))) = i32(1) 715 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(8 /* X2 */))) = i32(1) 716 goto _25 717 718 _5: 719 *(*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))) = *(*Xsqlite3_mutex_methods)(crt.VAPointer(&_ap)) 720 goto _25 721 722 _6: 723 *(*Xsqlite3_mutex_methods)(crt.VAPointer(&_ap)) = _sqlite3Config.X11 724 goto _25 725 726 _7: 727 *(*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))) = *(*Xsqlite3_mem_methods)(crt.VAPointer(&_ap)) 728 goto _25 729 730 _8: 731 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 732 f func(*crt.TLS, int32) unsafe.Pointer 733 }{((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 734 f func(*crt.TLS, int32) unsafe.Pointer 735 }{nil})) { 736 goto _26 737 } 738 739 _sqlite3MemSetDefault(tls) 740 _26: 741 *(*Xsqlite3_mem_methods)(crt.VAPointer(&_ap)) = _sqlite3Config.X10 742 goto _25 743 744 _9: 745 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(0 /* X0 */))) = crt.VAInt32(&_ap) 746 goto _25 747 748 _10: 749 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(192 /* X19 */))) = crt.VAPointer(&_ap) 750 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(196 /* X20 */))) = crt.VAInt32(&_ap) 751 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(200 /* X21 */))) = crt.VAInt32(&_ap) 752 goto _25 753 754 _11: 755 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(204 /* X22 */))) = crt.VAPointer(&_ap) 756 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(208 /* X23 */))) = crt.VAInt32(&_ap) 757 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(212 /* X24 */))) = crt.VAInt32(&_ap) 758 goto _25 759 760 _12: 761 *(*int32)(crt.VAPointer(&_ap)) = (_sqlite3HeaderSizeBtree(tls) + _sqlite3HeaderSizePcache(tls)) + _sqlite3HeaderSizePcache1(tls) 762 goto _25 763 764 _13: 765 goto _25 766 767 _14: 768 _rc = i32(1) 769 goto _25 770 771 _15: 772 *(*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))) = *(*Xsqlite3_pcache_methods2)(crt.VAPointer(&_ap)) 773 goto _25 774 775 _16: 776 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 777 f func(*crt.TLS, unsafe.Pointer) int32 778 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 779 f func(*crt.TLS, unsafe.Pointer) int32 780 }{nil})) { 781 goto _27 782 } 783 784 _sqlite3PCacheSetDefault(tls) 785 _27: 786 *(*Xsqlite3_pcache_methods2)(crt.VAPointer(&_ap)) = _sqlite3Config.X12 787 goto _25 788 789 _17: 790 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(28 /* X7 */))) = crt.VAInt32(&_ap) 791 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(32 /* X8 */))) = crt.VAInt32(&_ap) 792 goto _25 793 794 _18: 795 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(256 /* X35 */))) = crt.VAOther(&_ap).(func(*crt.TLS, unsafe.Pointer, int32, *int8)) 796 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(260 /* X36 */))) = crt.VAPointer(&_ap) 797 goto _25 798 799 _19: 800 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(12 /* X3 */))) = crt.VAInt32(&_ap) 801 goto _25 802 803 _20: 804 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(16 /* X4 */))) = crt.VAInt32(&_ap) 805 goto _25 806 807 _21: 808 _22_szMmap = crt.VAInt64(&_ap) 809 _22_mxMmap = crt.VAInt64(&_ap) 810 if _22_mxMmap >= int64(i32(0)) && _22_mxMmap <= int64(i32(2147418112)) { 811 goto _29 812 } 813 814 _22_mxMmap = int64(i32(2147418112)) 815 _29: 816 if _22_szMmap >= int64(i32(0)) { 817 goto _30 818 } 819 820 _22_szMmap = int64(i32(0)) 821 _30: 822 if _22_szMmap <= _22_mxMmap { 823 goto _31 824 } 825 826 _22_szMmap = _22_mxMmap 827 _31: 828 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(184 /* X18 */))) = _22_mxMmap 829 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(176 /* X17 */))) = _22_szMmap 830 goto _25 831 832 _22: 833 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(224 /* X27 */))) = crt.VAUint32(&_ap) 834 goto _25 835 836 _23: 837 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(36 /* X9 */))) = crt.VAInt32(&_ap) 838 goto _25 839 840 _24: 841 _rc = i32(1) 842 goto _25 843 844 _25: 845 _ap = nil 846 r0 = _rc 847 return 848 849 } 850 851 var _sqlite3Config T7740477 // sqlite3.c:17320:48 852 853 func init() { 854 _sqlite3Config = T7740477{X0: i32(1), X1: i32(1), X2: i32(1), X3: i32(1), X4: i32(1), X5: i32(2147483646), X6: i32(0), X7: i32(1200), X8: i32(100), X9: i32(65536), X10: Xsqlite3_mem_methods{}, X11: Xsqlite3_mutex_methods{}, X12: Xsqlite3_pcache_methods2{}, X13: nil, X14: i32(0), X15: i32(0), X16: i32(0), X17: i64(0), X18: i64(2147418112), X19: nil, X20: i32(0), X21: i32(0), X22: nil, X23: i32(0), X24: i32(20), X25: i32(0), X26: i32(0), X27: u32(250), X28: i32(0), X29: i32(0), X30: i32(0), X31: i32(0), X32: i32(0), X33: i32(0), X34: nil, X35: nil, X36: nil, X37: nil, X38: i32(0), X39: i32(2147483646)} 855 } 856 857 func _sqlite3MisuseError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143232:1 858 r0 = _reportError(tls, i32(21), _lineno, str(0)) 859 return 860 861 } 862 863 func _reportError(tls *crt.TLS, _iErr int32, _lineno int32, _zType *int8) (r0 int32) { // sqlite3.c:143223:1 864 Xsqlite3_log(tls, _iErr, str(8), unsafe.Pointer(_zType), _lineno, unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(20))))))+uintptr(unsafe.Pointer(Xsqlite3_sourceid(tls))))))) 865 r0 = _iErr 866 return 867 868 } 869 870 func Xsqlite3_log(tls *crt.TLS, _iErrCode int32, _zFormat *int8, args ...interface{}) { // sqlite3.c:26101:12 871 var _ap []interface{} // sqlite3.c:26102:11 872 _ = _ap 873 if (_sqlite3Config.X35) == nil { 874 goto _0 875 } 876 877 _ap = args 878 _renderLogMsg(tls, _iErrCode, _zFormat, _ap) 879 _ap = nil 880 _0: 881 return 882 883 } 884 885 func _renderLogMsg(tls *crt.TLS, _iErrCode int32, _zFormat *int8, _ap []interface{}) { // sqlite3.c:26088:1 886 var _acc XStrAccum // sqlite3.c:26089:12 887 _ = _acc 888 var _zMsg [210]int8 // sqlite3.c:26090:8 889 _ = _zMsg 890 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zMsg)), int32(u32(210)), i32(0)) 891 _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) 892 (_sqlite3Config.X35)(tls, _sqlite3Config.X36, _iErrCode, _sqlite3StrAccumFinish(tls, &_acc)) 893 return 894 895 } 896 897 func _sqlite3StrAccumInit(tls *crt.TLS, _p *XStrAccum, _db *Xsqlite3, _zBase *int8, _n int32, _mx int32) { // sqlite3.c:25954:1 898 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), _zBase) 899 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _db 900 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = uint32(i32(0)) 901 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(_n) 902 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = uint32(_mx) 903 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = uint8(i32(0)) 904 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(25 /* X7 */))) = uint8(i32(0)) 905 return 906 907 } 908 909 func _sqlite3VXPrintf(tls *crt.TLS, _pAccum *XStrAccum, _fmt *int8, _ap []interface{}) { // sqlite3.c:25198:1 910 var _c int32 // sqlite3.c:25203:7 911 _ = _c 912 var _bufpt *int8 // sqlite3.c:25204:8 913 _ = _bufpt 914 var _precision int32 // sqlite3.c:25205:7 915 _ = _precision 916 var _length int32 // sqlite3.c:25206:7 917 _ = _length 918 var _idx int32 // sqlite3.c:25207:7 919 _ = _idx 920 var _width int32 // sqlite3.c:25208:7 921 _ = _width 922 var _flag_leftjustify uint8 // sqlite3.c:25209:10 923 _ = _flag_leftjustify 924 var _flag_prefix uint8 // sqlite3.c:25210:10 925 _ = _flag_prefix 926 var _flag_alternateform uint8 // sqlite3.c:25211:10 927 _ = _flag_alternateform 928 var _flag_altform2 uint8 // sqlite3.c:25212:10 929 _ = _flag_altform2 930 var _flag_zeropad uint8 // sqlite3.c:25213:10 931 _ = _flag_zeropad 932 var _flag_long uint8 // sqlite3.c:25214:10 933 _ = _flag_long 934 var _done uint8 // sqlite3.c:25215:10 935 _ = _done 936 var _cThousand uint8 // sqlite3.c:25216:10 937 _ = _cThousand 938 var _xtype uint8 // sqlite3.c:25217:10 939 _ = _xtype 940 var _bArgList uint8 // sqlite3.c:25218:6 941 _ = _bArgList 942 var _prefix int8 // sqlite3.c:25219:8 943 _ = _prefix 944 var _longvalue uint64 // sqlite3.c:25220:17 945 _ = _longvalue 946 var _realvalue float64 // sqlite3.c:25221:19 947 _ = _realvalue 948 var _infop *Xet_info // sqlite3.c:25222:17 949 _ = _infop 950 var _zOut *int8 // sqlite3.c:25223:8 951 _ = _zOut 952 var _nOut int32 // sqlite3.c:25224:7 953 _ = _nOut 954 var _zExtra *int8 // sqlite3.c:25225:8 955 _ = _zExtra 956 var _exp int32 // sqlite3.c:25227:8 957 _ = _exp 958 var _e2 int32 // sqlite3.c:25227:13 959 _ = _e2 960 var _nsd int32 // sqlite3.c:25228:7 961 _ = _nsd 962 var _rounder float64 // sqlite3.c:25229:10 963 _ = _rounder 964 var _flag_dp uint8 // sqlite3.c:25230:10 965 _ = _flag_dp 966 var _flag_rtz uint8 // sqlite3.c:25231:10 967 _ = _flag_rtz 968 var _pArgList *XPrintfArguments // sqlite3.c:25233:19 969 _ = _pArgList 970 var _buf [70]int8 // sqlite3.c:25234:8 971 _ = _buf 972 var _13_wx uint32 // sqlite3.c:25287:16 973 _ = _13_wx 974 var _20_px uint32 // sqlite3.c:25316:18 975 _ = _20_px 976 var _29_v int64 // sqlite3.c:25385:15 977 _ = _29_v 978 var _47_n uint64 // sqlite3.c:25430:15 979 _ = _47_n 980 var _49_x int32 // sqlite3.c:25441:15 981 _ = _49_x 982 var _51_cset *int8 // sqlite3.c:25449:22 983 _ = _51_cset 984 var _51_base uint8 // sqlite3.c:25450:14 985 _ = _51_base 986 var _54_nn int32 // sqlite3.c:25462:15 987 _ = _54_nn 988 var _54_ix int32 // sqlite3.c:25463:15 989 _ = _54_ix 990 var _57_pre *int8 // sqlite3.c:25477:22 991 _ = _57_pre 992 var _57_x int8 // sqlite3.c:25478:16 993 _ = _57_x 994 var _64_scale float64 // sqlite3.c:25514:27 995 _ = _64_scale 996 var _96_i int32 // sqlite3.c:25629:15 997 _ = _96_i 998 var _96_nPad int32 // sqlite3.c:25630:15 999 _ = _96_nPad 1000 var _110_i int32 // sqlite3.c:25692:13 1001 _ = _110_i 1002 var _110_j int32 // sqlite3.c:25692:16 1003 _ = _110_j 1004 var _110_k int32 // sqlite3.c:25692:19 1005 _ = _110_k 1006 var _110_n int32 // sqlite3.c:25692:22 1007 _ = _110_n 1008 var _110_isnull int32 // sqlite3.c:25692:25 1009 _ = _110_isnull 1010 var _110_needQuote int32 // sqlite3.c:25693:13 1011 _ = _110_needQuote 1012 var _110_ch int8 // sqlite3.c:25694:14 1013 _ = _110_ch 1014 var _110_q int8 // sqlite3.c:25695:14 1015 _ = _110_q 1016 var _110_escarg *int8 // sqlite3.c:25696:14 1017 _ = _110_escarg 1018 var _118_pToken *XToken // sqlite3.c:25736:15 1019 _ = _118_pToken 1020 var _120_pSrc *XSrcList // sqlite3.c:25747:17 1021 _ = _120_pSrc 1022 var _120_k int32 // sqlite3.c:25748:13 1023 _ = _120_k 1024 var _120_pItem *T7840217 // sqlite3.c:25749:29 1025 _ = _120_pItem 1026 _xtype = u8(17) 1027 _zExtra = nil 1028 _pArgList = nil 1029 _bufpt = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 1030 if (int32(_pAccum.X7) & i32(2)) == i32(0) { 1031 goto _0 1032 } 1033 1034 _pArgList = (*XPrintfArguments)(crt.VAPointer(&_ap)) 1035 _bArgList = uint8(i32(1)) 1036 goto _1 1037 1038 _0: 1039 _bArgList = uint8(i32(0)) 1040 _1: 1041 _2: 1042 if store961(&_c, int32(*_fmt)) == i32(0) { 1043 goto _5 1044 } 1045 1046 if _c == i32(37) { 1047 goto _6 1048 } 1049 1050 _bufpt = _fmt 1051 _7: 1052 *(*uintptr)(unsafe.Pointer(&_fmt)) += uintptr(1) 1053 if ((*_fmt) != 0) && (int32(*_fmt) != i32(37)) { 1054 goto _7 1055 } 1056 1057 _sqlite3StrAccumAppend(tls, _pAccum, _bufpt, int32((uintptr(unsafe.Pointer(_fmt))-uintptr(unsafe.Pointer(_bufpt)))/1)) 1058 if int32(*_fmt) != i32(0) { 1059 goto _9 1060 } 1061 1062 goto _5 1063 1064 _9: 1065 _6: 1066 if store961(&_c, int32(*preInc1025(&_fmt, 1))) != i32(0) { 1067 goto _10 1068 } 1069 1070 _sqlite3StrAccumAppend(tls, _pAccum, str(36), i32(1)) 1071 goto _5 1072 1073 _10: 1074 _flag_leftjustify = store6915(&_flag_prefix, store6915(&_cThousand, store6915(&_flag_alternateform, store6915(&_flag_altform2, store6915(&_flag_zeropad, uint8(i32(0))))))) 1075 _done = uint8(i32(0)) 1076 _11: 1077 switch _c { 1078 case i32(32): 1079 goto _15 1080 case i32(33): 1081 goto _17 1082 case i32(35): 1083 goto _16 1084 case i32(43): 1085 goto _14 1086 case i32(44): 1087 goto _19 1088 case i32(45): 1089 goto _13 1090 case i32(48): 1091 goto _18 1092 default: 1093 goto _20 1094 } 1095 1096 _13: 1097 _flag_leftjustify = uint8(i32(1)) 1098 goto _21 1099 1100 _14: 1101 _flag_prefix = uint8(i32(43)) 1102 goto _21 1103 1104 _15: 1105 _flag_prefix = uint8(i32(32)) 1106 goto _21 1107 1108 _16: 1109 _flag_alternateform = uint8(i32(1)) 1110 goto _21 1111 1112 _17: 1113 _flag_altform2 = uint8(i32(1)) 1114 goto _21 1115 1116 _18: 1117 _flag_zeropad = uint8(i32(1)) 1118 goto _21 1119 1120 _19: 1121 _cThousand = uint8(i32(44)) 1122 goto _21 1123 1124 _20: 1125 _done = uint8(i32(1)) 1126 goto _21 1127 1128 _21: 1129 if (_done == 0) && (store961(&_c, int32(*preInc1025(&_fmt, 1))) != i32(0)) { 1130 goto _11 1131 } 1132 1133 if _c != i32(42) { 1134 goto _23 1135 } 1136 1137 if _bArgList == 0 { 1138 goto _24 1139 } 1140 1141 _width = int32(_getIntArg(tls, _pArgList)) 1142 goto _25 1143 1144 _24: 1145 _width = crt.VAInt32(&_ap) 1146 _25: 1147 if _width >= i32(0) { 1148 goto _26 1149 } 1150 1151 _flag_leftjustify = uint8(i32(1)) 1152 _width = func() int32 { 1153 if _width >= i32(-2147483647) { 1154 return (-_width) 1155 } 1156 return i32(0) 1157 }() 1158 _26: 1159 _c = int32(*preInc1025(&_fmt, 1)) 1160 goto _29 1161 1162 _23: 1163 _13_wx = uint32(i32(0)) 1164 _30: 1165 if _c < i32(48) || _c > i32(57) { 1166 goto _31 1167 } 1168 1169 _13_wx = ((_13_wx * uint32(i32(10))) + uint32(_c)) - uint32(i32(48)) 1170 _c = int32(*preInc1025(&_fmt, 1)) 1171 goto _30 1172 1173 _31: 1174 _width = int32(_13_wx & uint32(i32(2147483647))) 1175 _29: 1176 func() int32 { 1177 if _width >= i32(0) { 1178 return i32(0) 1179 } 1180 return func() int32 { 1181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25295), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(136))) 1182 crt.X__builtin_abort(tls) 1183 return i32(0) 1184 }() 1185 }() 1186 if _c != i32(46) { 1187 goto _35 1188 } 1189 1190 _c = int32(*preInc1025(&_fmt, 1)) 1191 if _c != i32(42) { 1192 goto _36 1193 } 1194 1195 if _bArgList == 0 { 1196 goto _37 1197 } 1198 1199 _precision = int32(_getIntArg(tls, _pArgList)) 1200 goto _38 1201 1202 _37: 1203 _precision = crt.VAInt32(&_ap) 1204 _38: 1205 _c = int32(*preInc1025(&_fmt, 1)) 1206 if _precision >= i32(0) { 1207 goto _39 1208 } 1209 1210 _precision = func() int32 { 1211 if _precision >= i32(-2147483647) { 1212 return (-_precision) 1213 } 1214 return i32(-1) 1215 }() 1216 _39: 1217 goto _42 1218 1219 _36: 1220 _20_px = uint32(i32(0)) 1221 _43: 1222 if _c < i32(48) || _c > i32(57) { 1223 goto _44 1224 } 1225 1226 _20_px = ((_20_px * uint32(i32(10))) + uint32(_c)) - uint32(i32(48)) 1227 _c = int32(*preInc1025(&_fmt, 1)) 1228 goto _43 1229 1230 _44: 1231 _precision = int32(_20_px & uint32(i32(2147483647))) 1232 _42: 1233 goto _46 1234 1235 _35: 1236 _precision = i32(-1) 1237 _46: 1238 func() int32 { 1239 if _precision >= i32(-1) { 1240 return i32(0) 1241 } 1242 return func() int32 { 1243 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25327), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(148))) 1244 crt.X__builtin_abort(tls) 1245 return i32(0) 1246 }() 1247 }() 1248 if _c != i32(108) { 1249 goto _49 1250 } 1251 1252 _flag_long = uint8(i32(1)) 1253 _c = int32(*preInc1025(&_fmt, 1)) 1254 if _c != i32(108) { 1255 goto _50 1256 } 1257 1258 _flag_long = uint8(i32(2)) 1259 _c = int32(*preInc1025(&_fmt, 1)) 1260 _50: 1261 goto _51 1262 1263 _49: 1264 _flag_long = uint8(i32(0)) 1265 _51: 1266 _infop = (*Xet_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fmtinfo)) + 6*uintptr(i32(0)))) 1267 _xtype = uint8(i32(17)) 1268 _idx = i32(0) 1269 _52: 1270 if _idx >= i32(23) { 1271 goto _55 1272 } 1273 1274 if _c != int32((*Xet_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fmtinfo))+6*uintptr(_idx))).X0) { 1275 goto _56 1276 } 1277 1278 _infop = (*Xet_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_fmtinfo)) + 6*uintptr(_idx))) 1279 _xtype = _infop.X3 1280 goto _55 1281 1282 _56: 1283 _idx += 1 1284 goto _52 1285 1286 _55: 1287 switch int32(_xtype) { 1288 case i32(0): 1289 goto _60 1290 case i32(1): 1291 goto _62 1292 case i32(2): 1293 goto _63 1294 case i32(3): 1295 goto _64 1296 case i32(4): 1297 goto _65 1298 case i32(5): 1299 goto _68 1300 case i32(6): 1301 goto _69 1302 case i32(7): 1303 goto _66 1304 case i32(8): 1305 goto _67 1306 case i32(9): 1307 goto _70 1308 case i32(10): 1309 goto _71 1310 case i32(11): 1311 goto _73 1312 case i32(12): 1313 goto _74 1314 case i32(13): 1315 goto _58 1316 case i32(14): 1317 goto _72 1318 case i32(15): 1319 goto _59 1320 case i32(16): 1321 goto _61 1322 default: 1323 goto _75 1324 } 1325 1326 _58: 1327 _flag_long = uint8(i32(1)) 1328 _59: 1329 _60: 1330 _cThousand = uint8(i32(0)) 1331 _61: 1332 if (int32(_infop.X2) & i32(1)) == 0 { 1333 goto _76 1334 } 1335 1336 if _bArgList == 0 { 1337 goto _77 1338 } 1339 1340 _29_v = _getIntArg(tls, _pArgList) 1341 goto _78 1342 1343 _77: 1344 if _flag_long == 0 { 1345 goto _79 1346 } 1347 1348 if int32(_flag_long) != i32(2) { 1349 goto _80 1350 } 1351 1352 _29_v = crt.VAInt64(&_ap) 1353 goto _81 1354 1355 _80: 1356 _29_v = int64(crt.VAInt32(&_ap)) 1357 _81: 1358 goto _82 1359 1360 _79: 1361 _29_v = int64(crt.VAInt32(&_ap)) 1362 _82: 1363 _78: 1364 if _29_v >= int64(i32(0)) { 1365 goto _83 1366 } 1367 1368 if _29_v != i64(-9223372036854775808) { 1369 goto _84 1370 } 1371 1372 _longvalue = u64(9223372036854775808) 1373 goto _85 1374 1375 _84: 1376 _longvalue = uint64(-_29_v) 1377 _85: 1378 _prefix = int8(i32(45)) 1379 goto _86 1380 1381 _83: 1382 _longvalue = uint64(_29_v) 1383 _prefix = int8(_flag_prefix) 1384 _86: 1385 goto _87 1386 1387 _76: 1388 if _bArgList == 0 { 1389 goto _88 1390 } 1391 1392 _longvalue = uint64(_getIntArg(tls, _pArgList)) 1393 goto _89 1394 1395 _88: 1396 if _flag_long == 0 { 1397 goto _90 1398 } 1399 1400 if int32(_flag_long) != i32(2) { 1401 goto _91 1402 } 1403 1404 _longvalue = crt.VAUint64(&_ap) 1405 goto _92 1406 1407 _91: 1408 _longvalue = uint64(crt.VAUint32(&_ap)) 1409 _92: 1410 goto _93 1411 1412 _90: 1413 _longvalue = uint64(crt.VAUint32(&_ap)) 1414 _93: 1415 _89: 1416 _prefix = int8(i32(0)) 1417 _87: 1418 if _longvalue != uint64(i32(0)) { 1419 goto _94 1420 } 1421 1422 _flag_alternateform = uint8(i32(0)) 1423 _94: 1424 if _flag_zeropad == 0 || _precision >= (_width-bool2int(int32(_prefix) != i32(0))) { 1425 goto _96 1426 } 1427 1428 _precision = _width - bool2int(int32(_prefix) != i32(0)) 1429 _96: 1430 if _precision >= i32(37) { 1431 goto _97 1432 } 1433 1434 _nOut = i32(70) 1435 _zOut = (*int8)(unsafe.Pointer(&_buf)) 1436 goto _98 1437 1438 _97: 1439 _47_n = (uint64(_precision) + uint64(i32(10))) + uint64(_precision/i32(3)) 1440 _zOut = store1025(&_zExtra, (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, _47_n)))) 1441 if _zOut != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 1442 goto _99 1443 } 1444 1445 _setStrAccumError(tls, _pAccum, uint8(i32(1))) 1446 return 1447 1448 _99: 1449 _nOut = int32(_47_n) 1450 _98: 1451 _bufpt = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(_nOut-i32(1)))) 1452 if int32(_xtype) != i32(15) { 1453 goto _100 1454 } 1455 1456 _49_x = int32(_longvalue % uint64(i32(10))) 1457 if _49_x < i32(4) && ((_longvalue/uint64(i32(10)))%uint64(i32(10))) != uint64(i32(1)) { 1458 goto _102 1459 } 1460 1461 _49_x = i32(0) 1462 _102: 1463 *preInc1025(&_bufpt, -1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VXPrintfØ00zOrdØ001)) + 1*uintptr((_49_x*i32(2))+i32(1)))) 1464 *preInc1025(&_bufpt, -1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VXPrintfØ00zOrdØ001)) + 1*uintptr(_49_x*i32(2)))) 1465 _100: 1466 _51_cset = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aDigits)) + 1*uintptr(_infop.X4))) 1467 _51_base = _infop.X1 1468 _103: 1469 *preInc1025(&_bufpt, -1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_51_cset)) + 1*uintptr(_longvalue%uint64(_51_base)))) 1470 _longvalue = _longvalue / uint64(_51_base) 1471 if _longvalue > uint64(i32(0)) { 1472 goto _103 1473 } 1474 1475 _length = int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_nOut-i32(1)))))) - uintptr(unsafe.Pointer(_bufpt))) / 1) 1476 _104: 1477 if _precision <= _length { 1478 goto _105 1479 } 1480 1481 *preInc1025(&_bufpt, -1) = int8(i32(48)) 1482 _length += 1 1483 goto _104 1484 1485 _105: 1486 if _cThousand == 0 { 1487 goto _106 1488 } 1489 1490 _54_nn = (_length - i32(1)) / i32(3) 1491 _54_ix = ((_length - i32(1)) % i32(3)) + i32(1) 1492 { 1493 p := &_bufpt 1494 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(_54_nn))) 1495 sink1025 = *p 1496 } 1497 _idx = i32(0) 1498 _107: 1499 if _54_nn <= i32(0) { 1500 goto _110 1501 } 1502 1503 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_idx))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_idx+_54_nn))) 1504 _54_ix -= 1 1505 if _54_ix != i32(0) { 1506 goto _111 1507 } 1508 1509 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(preInc961(&_idx, 1)))) = int8(_cThousand) 1510 _54_nn -= 1 1511 _54_ix = i32(3) 1512 _111: 1513 _idx += 1 1514 goto _107 1515 1516 _110: 1517 _106: 1518 if _prefix == 0 { 1519 goto _112 1520 } 1521 1522 *preInc1025(&_bufpt, -1) = _prefix 1523 _112: 1524 if _flag_alternateform == 0 || (_infop.X5) == 0 { 1525 goto _114 1526 } 1527 1528 _57_pre = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPrefix)) + 1*uintptr(_infop.X5))) 1529 _115: 1530 if int32(store973(&_57_x, *_57_pre)) == i32(0) { 1531 goto _118 1532 } 1533 1534 *preInc1025(&_bufpt, -1) = _57_x 1535 *(*uintptr)(unsafe.Pointer(&_57_pre)) += uintptr(1) 1536 goto _115 1537 1538 _118: 1539 _114: 1540 _length = int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_nOut-i32(1)))))) - uintptr(unsafe.Pointer(_bufpt))) / 1) 1541 goto _119 1542 1543 _62: 1544 _63: 1545 _64: 1546 if _bArgList == 0 { 1547 goto _120 1548 } 1549 1550 _realvalue = _getDoubleArg(tls, _pArgList) 1551 goto _121 1552 1553 _120: 1554 _realvalue = crt.VAOther(&_ap).(float64) 1555 _121: 1556 if _precision >= i32(0) { 1557 goto _122 1558 } 1559 1560 _precision = i32(6) 1561 _122: 1562 if _realvalue >= float64(0) { 1563 goto _123 1564 } 1565 1566 _realvalue = -_realvalue 1567 _prefix = int8(i32(45)) 1568 goto _124 1569 1570 _123: 1571 _prefix = int8(_flag_prefix) 1572 _124: 1573 if int32(_xtype) != i32(3) || _precision <= i32(0) { 1574 goto _126 1575 } 1576 1577 _precision -= 1 1578 _126: 1579 *func() *float64 { _idx = _precision & i32(4095); return &_rounder }() = 0.5 1580 _127: 1581 if _idx <= i32(0) { 1582 goto _130 1583 } 1584 1585 { 1586 p := func() *float64 { _idx -= 1; return &_rounder }() 1587 *p = (*p) * (0.1) 1588 sink6895 = *p 1589 } 1590 goto _127 1591 1592 _130: 1593 if int32(_xtype) != i32(1) { 1594 goto _131 1595 } 1596 1597 { 1598 p := &_realvalue 1599 *p = (*p) + _rounder 1600 sink6895 = *p 1601 } 1602 _131: 1603 _exp = i32(0) 1604 if _sqlite3IsNaN(tls, _realvalue) == 0 { 1605 goto _132 1606 } 1607 1608 _bufpt = str(164) 1609 _length = i32(3) 1610 goto _119 1611 1612 _132: 1613 if _realvalue <= float64(0) { 1614 goto _133 1615 } 1616 1617 _64_scale = float64(1) 1618 _134: 1619 if _realvalue < (float64(1e+100)*_64_scale) || _exp > i32(350) { 1620 goto _135 1621 } 1622 1623 { 1624 p := &_64_scale 1625 *p = (*p) * float64(1e+100) 1626 sink6895 = *p 1627 } 1628 { 1629 p := &_exp 1630 *p = (*p) + i32(100) 1631 sink961 = *p 1632 } 1633 goto _134 1634 1635 _135: 1636 _137: 1637 if _realvalue < (float64(1e+10)*_64_scale) || _exp > i32(350) { 1638 goto _138 1639 } 1640 1641 { 1642 p := &_64_scale 1643 *p = (*p) * float64(1e+10) 1644 sink6895 = *p 1645 } 1646 { 1647 p := &_exp 1648 *p = (*p) + i32(10) 1649 sink961 = *p 1650 } 1651 goto _137 1652 1653 _138: 1654 _140: 1655 if _realvalue < (float64(10)*_64_scale) || _exp > i32(350) { 1656 goto _141 1657 } 1658 1659 { 1660 p := &_64_scale 1661 *p = (*p) * float64(10) 1662 sink6895 = *p 1663 } 1664 _exp += 1 1665 goto _140 1666 1667 _141: 1668 { 1669 p := &_realvalue 1670 *p = (*p) / _64_scale 1671 sink6895 = *p 1672 } 1673 _143: 1674 if _realvalue >= float64(1e-08) { 1675 goto _144 1676 } 1677 1678 { 1679 p := &_realvalue 1680 *p = (*p) * float64(1e+08) 1681 sink6895 = *p 1682 } 1683 { 1684 p := &_exp 1685 *p = (*p) - i32(8) 1686 sink961 = *p 1687 } 1688 goto _143 1689 1690 _144: 1691 _145: 1692 if _realvalue >= float64(1) { 1693 goto _146 1694 } 1695 1696 { 1697 p := &_realvalue 1698 *p = (*p) * float64(10) 1699 sink6895 = *p 1700 } 1701 _exp -= 1 1702 goto _145 1703 1704 _146: 1705 if _exp <= i32(350) { 1706 goto _147 1707 } 1708 1709 _bufpt = (*int8)(unsafe.Pointer(&_buf)) 1710 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) = _prefix 1711 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_buf))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(bool2int(int32(_prefix) != i32(0)))))))))), (unsafe.Pointer)(str(168)), uint32(i32(4))) 1712 _length = i32(3) + bool2int(int32(_prefix) != i32(0)) 1713 goto _119 1714 1715 _147: 1716 _133: 1717 _bufpt = (*int8)(unsafe.Pointer(&_buf)) 1718 if int32(_xtype) == i32(1) { 1719 goto _148 1720 } 1721 1722 { 1723 p := &_realvalue 1724 *p = (*p) + _rounder 1725 sink6895 = *p 1726 } 1727 if _realvalue < float64(10) { 1728 goto _149 1729 } 1730 1731 { 1732 p := &_realvalue 1733 *p = (*p) * (0.1) 1734 sink6895 = *p 1735 } 1736 _exp += 1 1737 _149: 1738 _148: 1739 if int32(_xtype) != i32(3) { 1740 goto _150 1741 } 1742 1743 _flag_rtz = uint8(bool2int(_flag_alternateform == 0)) 1744 if _exp >= i32(-4) && _exp <= _precision { 1745 goto _152 1746 } 1747 1748 _xtype = uint8(i32(2)) 1749 goto _153 1750 1751 _152: 1752 _precision = _precision - _exp 1753 _xtype = uint8(i32(1)) 1754 _153: 1755 goto _154 1756 1757 _150: 1758 _flag_rtz = _flag_altform2 1759 _154: 1760 if int32(_xtype) != i32(2) { 1761 goto _155 1762 } 1763 1764 _e2 = i32(0) 1765 goto _156 1766 1767 _155: 1768 _e2 = _exp 1769 _156: 1770 if ((int64(func() int32 { 1771 if _e2 > i32(0) { 1772 return _e2 1773 } 1774 return i32(0) 1775 }()) + int64(_precision)) + int64(_width)) <= int64(i32(55)) { 1776 goto _159 1777 } 1778 1779 _bufpt = store1025(&_zExtra, (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(((int64(func() int32 { 1780 if _e2 > i32(0) { 1781 return _e2 1782 } 1783 return i32(0) 1784 }())+int64(_precision))+int64(_width))+int64(i32(15))))))) 1785 if _bufpt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 1786 goto _162 1787 } 1788 1789 _setStrAccumError(tls, _pAccum, uint8(i32(1))) 1790 return 1791 1792 _162: 1793 _159: 1794 _zOut = _bufpt 1795 _nsd = i32(16) + (int32(_flag_altform2) * i32(10)) 1796 _flag_dp = uint8((func() int32 { 1797 if _precision > i32(0) { 1798 return i32(1) 1799 } 1800 return i32(0) 1801 }() | int32(_flag_alternateform)) | int32(_flag_altform2)) 1802 if _prefix == 0 { 1803 goto _165 1804 } 1805 1806 *postInc1025(&_bufpt, 1) = _prefix 1807 _165: 1808 if _e2 >= i32(0) { 1809 goto _166 1810 } 1811 1812 *postInc1025(&_bufpt, 1) = int8(i32(48)) 1813 goto _167 1814 1815 _166: 1816 _168: 1817 if _e2 < i32(0) { 1818 goto _171 1819 } 1820 1821 *postInc1025(&_bufpt, 1) = _et_getdigit(tls, &_realvalue, &_nsd) 1822 _e2 -= 1 1823 goto _168 1824 1825 _171: 1826 _167: 1827 if _flag_dp == 0 { 1828 goto _172 1829 } 1830 1831 *postInc1025(&_bufpt, 1) = int8(i32(46)) 1832 _172: 1833 _e2 += 1 1834 _173: 1835 if _e2 >= i32(0) { 1836 goto _176 1837 } 1838 1839 func() int32 { 1840 if _precision > i32(0) { 1841 return i32(0) 1842 } 1843 return func() int32 { 1844 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25584), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(172))) 1845 crt.X__builtin_abort(tls) 1846 return i32(0) 1847 }() 1848 }() 1849 *postInc1025(&_bufpt, 1) = int8(i32(48)) 1850 *func() *int32 { _precision -= 1; return &_e2 }() += 1 1851 goto _173 1852 1853 _176: 1854 _179: 1855 if postInc961(&_precision, int32(-1)) <= i32(0) { 1856 goto _180 1857 } 1858 1859 *postInc1025(&_bufpt, 1) = _et_getdigit(tls, &_realvalue, &_nsd) 1860 goto _179 1861 1862 _180: 1863 if _flag_rtz == 0 || _flag_dp == 0 { 1864 goto _182 1865 } 1866 1867 _183: 1868 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(i32(-1))))) != i32(48) { 1869 goto _184 1870 } 1871 1872 *preInc1025(&_bufpt, -1) = int8(i32(0)) 1873 goto _183 1874 1875 _184: 1876 func() int32 { 1877 if uintptr(unsafe.Pointer(_bufpt)) > uintptr(unsafe.Pointer(_zOut)) { 1878 return i32(0) 1879 } 1880 return func() int32 { 1881 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25594), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(184))) 1882 crt.X__builtin_abort(tls) 1883 return i32(0) 1884 }() 1885 }() 1886 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(i32(-1))))) != i32(46) { 1887 goto _187 1888 } 1889 1890 if _flag_altform2 == 0 { 1891 goto _188 1892 } 1893 1894 *postInc1025(&_bufpt, 1) = int8(i32(48)) 1895 goto _189 1896 1897 _188: 1898 *preInc1025(&_bufpt, -1) = int8(i32(0)) 1899 _189: 1900 _187: 1901 _182: 1902 if int32(_xtype) != i32(2) { 1903 goto _190 1904 } 1905 1906 *postInc1025(&_bufpt, 1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aDigits)) + 1*uintptr(_infop.X4))) 1907 if _exp >= i32(0) { 1908 goto _191 1909 } 1910 1911 *postInc1025(&_bufpt, 1) = int8(i32(45)) 1912 _exp = -_exp 1913 goto _192 1914 1915 _191: 1916 *postInc1025(&_bufpt, 1) = int8(i32(43)) 1917 _192: 1918 if _exp < i32(100) { 1919 goto _193 1920 } 1921 1922 *postInc1025(&_bufpt, 1) = int8((_exp / i32(100)) + i32(48)) 1923 { 1924 p := &_exp 1925 *p = (*p) % i32(100) 1926 sink961 = *p 1927 } 1928 _193: 1929 *postInc1025(&_bufpt, 1) = int8((_exp / i32(10)) + i32(48)) 1930 *postInc1025(&_bufpt, 1) = int8((_exp % i32(10)) + i32(48)) 1931 _190: 1932 *_bufpt = int8(i32(0)) 1933 _length = int32((uintptr(unsafe.Pointer(_bufpt)) - uintptr(unsafe.Pointer(_zOut))) / 1) 1934 _bufpt = _zOut 1935 if _flag_zeropad == 0 || _flag_leftjustify != 0 || _length >= _width { 1936 goto _196 1937 } 1938 1939 _96_nPad = _width - _length 1940 _96_i = _width 1941 _197: 1942 if _96_i < _96_nPad { 1943 goto _200 1944 } 1945 1946 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_96_i))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_96_i-_96_nPad))) 1947 _96_i -= 1 1948 goto _197 1949 1950 _200: 1951 _96_i = bool2int(int32(_prefix) != i32(0)) 1952 _201: 1953 if postInc961(&_96_nPad, int32(-1)) == 0 { 1954 goto _202 1955 } 1956 1957 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_96_i, int32(1))))) = int8(i32(48)) 1958 goto _201 1959 1960 _202: 1961 _length = _width 1962 _196: 1963 goto _119 1964 1965 _65: 1966 if _bArgList != 0 { 1967 goto _203 1968 } 1969 1970 *(*int32)(crt.VAPointer(&_ap)) = int32(_pAccum.X3) 1971 _203: 1972 _length = store961(&_width, i32(0)) 1973 goto _119 1974 1975 _66: 1976 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) = int8(i32(37)) 1977 _bufpt = (*int8)(unsafe.Pointer(&_buf)) 1978 _length = i32(1) 1979 goto _119 1980 1981 _67: 1982 if _bArgList == 0 { 1983 goto _204 1984 } 1985 1986 _bufpt = _getTextArg(tls, _pArgList) 1987 _c = func() int32 { 1988 if _bufpt != nil { 1989 return int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(i32(0))))) 1990 } 1991 return i32(0) 1992 }() 1993 goto _207 1994 1995 _204: 1996 _c = crt.VAInt32(&_ap) 1997 _207: 1998 if _precision <= i32(1) { 1999 goto _208 2000 } 2001 2002 { 2003 p := &_width 2004 *p = (*p) - (_precision - i32(1)) 2005 sink961 = *p 2006 } 2007 if _width <= i32(1) || _flag_leftjustify != 0 { 2008 goto _210 2009 } 2010 2011 _sqlite3AppendChar(tls, _pAccum, _width-i32(1), int8(i32(32))) 2012 _width = i32(0) 2013 _210: 2014 _sqlite3AppendChar(tls, _pAccum, _precision-i32(1), int8(_c)) 2015 _208: 2016 _length = i32(1) 2017 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) = int8(_c) 2018 _bufpt = (*int8)(unsafe.Pointer(&_buf)) 2019 goto _119 2020 2021 _68: 2022 _69: 2023 if _bArgList == 0 { 2024 goto _211 2025 } 2026 2027 _bufpt = _getTextArg(tls, _pArgList) 2028 _xtype = uint8(i32(5)) 2029 goto _212 2030 2031 _211: 2032 _bufpt = (*int8)(crt.VAPointer(&_ap)) 2033 _212: 2034 if _bufpt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 2035 goto _213 2036 } 2037 2038 _bufpt = str(196) 2039 goto _214 2040 2041 _213: 2042 if int32(_xtype) != i32(6) { 2043 goto _215 2044 } 2045 2046 _zExtra = _bufpt 2047 _215: 2048 _214: 2049 if _precision < i32(0) { 2050 goto _216 2051 } 2052 2053 _length = i32(0) 2054 _217: 2055 if _length >= _precision || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_length)))) == 0 { 2056 goto _221 2057 } 2058 2059 _length += 1 2060 goto _217 2061 2062 _221: 2063 goto _222 2064 2065 _216: 2066 _length = _sqlite3Strlen30(tls, _bufpt) 2067 _222: 2068 goto _119 2069 2070 _70: 2071 _71: 2072 _72: 2073 _110_q = int8(func() int32 { 2074 if int32(_xtype) == i32(14) { 2075 return i32(34) 2076 } 2077 return i32(39) 2078 }()) 2079 if _bArgList == 0 { 2080 goto _225 2081 } 2082 2083 _110_escarg = _getTextArg(tls, _pArgList) 2084 goto _226 2085 2086 _225: 2087 _110_escarg = (*int8)(crt.VAPointer(&_ap)) 2088 _226: 2089 _110_isnull = bool2int(_110_escarg == (*int8)(unsafe.Pointer(uintptr(i32(0))))) 2090 if _110_isnull == 0 { 2091 goto _227 2092 } 2093 2094 _110_escarg = func() *int8 { 2095 if int32(_xtype) == i32(10) { 2096 return str(200) 2097 } 2098 return str(208) 2099 }() 2100 _227: 2101 _110_k = _precision 2102 _110_i = store961(&_110_n, i32(0)) 2103 _230: 2104 if _110_k == i32(0) || int32(store973(&_110_ch, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_110_escarg)) + 1*uintptr(_110_i))))) == i32(0) { 2105 goto _234 2106 } 2107 2108 if int32(_110_ch) != int32(_110_q) { 2109 goto _235 2110 } 2111 2112 _110_n += 1 2113 _235: 2114 *func() *int32 { _110_i += 1; return &_110_k }() -= 1 2115 goto _230 2116 2117 _234: 2118 _110_needQuote = bool2int((_110_isnull == 0) && (int32(_xtype) == i32(10))) 2119 { 2120 p := &_110_n 2121 *p = (*p) + (_110_i + i32(3)) 2122 sink961 = *p 2123 } 2124 if _110_n <= i32(70) { 2125 goto _237 2126 } 2127 2128 _bufpt = store1025(&_zExtra, (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_110_n))))) 2129 if _bufpt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 2130 goto _238 2131 } 2132 2133 _setStrAccumError(tls, _pAccum, uint8(i32(1))) 2134 return 2135 2136 _238: 2137 goto _239 2138 2139 _237: 2140 _bufpt = (*int8)(unsafe.Pointer(&_buf)) 2141 _239: 2142 _110_j = i32(0) 2143 if _110_needQuote == 0 { 2144 goto _240 2145 } 2146 2147 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = _110_q 2148 _240: 2149 _110_k = _110_i 2150 _110_i = i32(0) 2151 _241: 2152 if _110_i >= _110_k { 2153 goto _244 2154 } 2155 2156 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = store973(&_110_ch, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_110_escarg)) + 1*uintptr(_110_i)))) 2157 if int32(_110_ch) != int32(_110_q) { 2158 goto _245 2159 } 2160 2161 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = _110_ch 2162 _245: 2163 _110_i += 1 2164 goto _241 2165 2166 _244: 2167 if _110_needQuote == 0 { 2168 goto _246 2169 } 2170 2171 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(postInc961(&_110_j, int32(1))))) = _110_q 2172 _246: 2173 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_bufpt)) + 1*uintptr(_110_j))) = int8(i32(0)) 2174 _length = _110_j 2175 goto _119 2176 2177 _73: 2178 if (int32(_pAccum.X7) & i32(1)) != i32(0) { 2179 goto _247 2180 } 2181 2182 return 2183 2184 _247: 2185 _118_pToken = (*XToken)(crt.VAPointer(&_ap)) 2186 func() int32 { 2187 if int32(_bArgList) == i32(0) { 2188 return i32(0) 2189 } 2190 return func() int32 { 2191 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25739), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(216))) 2192 crt.X__builtin_abort(tls) 2193 return i32(0) 2194 }() 2195 }() 2196 if _118_pToken == nil || (_118_pToken.X1) == 0 { 2197 goto _251 2198 } 2199 2200 _sqlite3StrAccumAppend(tls, _pAccum, _118_pToken.X0, int32(_118_pToken.X1)) 2201 _251: 2202 _length = store961(&_width, i32(0)) 2203 goto _119 2204 2205 _74: 2206 if (int32(_pAccum.X7) & i32(1)) != i32(0) { 2207 goto _252 2208 } 2209 2210 return 2211 2212 _252: 2213 _120_pSrc = (*XSrcList)(crt.VAPointer(&_ap)) 2214 _120_k = crt.VAInt32(&_ap) 2215 _120_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 2216 X0 unsafe.Pointer 2217 X1 *int8 2218 X2 *int8 2219 X3 *int8 2220 X4 unsafe.Pointer 2221 X5 unsafe.Pointer 2222 X6 int32 2223 X7 int32 2224 X8 int32 2225 X9 struct { 2226 X0 uint8 2227 X1 int8 2228 } 2229 X10 uint8 2230 X11 int32 2231 X12 unsafe.Pointer 2232 X13 unsafe.Pointer 2233 X14 uint64 2234 X15 struct { 2235 X [0]struct { 2236 X0 *int8 2237 X1 unsafe.Pointer 2238 } 2239 U [4]byte 2240 } 2241 X16 unsafe.Pointer 2242 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_120_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_120_k))) 2243 func() int32 { 2244 if int32(_bArgList) == i32(0) { 2245 return i32(0) 2246 } 2247 return func() int32 { 2248 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25754), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(216))) 2249 crt.X__builtin_abort(tls) 2250 return i32(0) 2251 }() 2252 }() 2253 func() int32 { 2254 if (_120_k >= i32(0)) && (_120_k < (_120_pSrc.X0)) { 2255 return i32(0) 2256 } 2257 return func() int32 { 2258 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25755), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(228))) 2259 crt.X__builtin_abort(tls) 2260 return i32(0) 2261 }() 2262 }() 2263 if (_120_pItem.X1) == nil { 2264 goto _258 2265 } 2266 2267 _sqlite3StrAccumAppendAll(tls, _pAccum, _120_pItem.X1) 2268 _sqlite3StrAccumAppend(tls, _pAccum, str(252), i32(1)) 2269 _258: 2270 _sqlite3StrAccumAppendAll(tls, _pAccum, _120_pItem.X2) 2271 _length = store961(&_width, i32(0)) 2272 goto _119 2273 2274 _75: 2275 func() int32 { 2276 if int32(_xtype) == i32(17) { 2277 return i32(0) 2278 } 2279 return func() int32 { 2280 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25765), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VXPrintfØ00__func__Ø000))), unsafe.Pointer(str(256))) 2281 crt.X__builtin_abort(tls) 2282 return i32(0) 2283 }() 2284 }() 2285 return 2286 2287 _119: 2288 { 2289 p := &_width 2290 *p = (*p) - _length 2291 sink961 = *p 2292 } 2293 if _width <= i32(0) { 2294 goto _261 2295 } 2296 2297 if _flag_leftjustify != 0 { 2298 goto _262 2299 } 2300 2301 _sqlite3AppendChar(tls, _pAccum, _width, int8(i32(32))) 2302 _262: 2303 _sqlite3StrAccumAppend(tls, _pAccum, _bufpt, _length) 2304 if _flag_leftjustify == 0 { 2305 goto _263 2306 } 2307 2308 _sqlite3AppendChar(tls, _pAccum, _width, int8(i32(32))) 2309 _263: 2310 goto _264 2311 2312 _261: 2313 _sqlite3StrAccumAppend(tls, _pAccum, _bufpt, _length) 2314 _264: 2315 if _zExtra == nil { 2316 goto _265 2317 } 2318 2319 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pAccum.X0)), (unsafe.Pointer)(_zExtra)) 2320 _zExtra = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 2321 _265: 2322 *(*uintptr)(unsafe.Pointer(&_fmt)) += uintptr(1) 2323 goto _2 2324 2325 _5: 2326 return 2327 2328 } 2329 2330 func _sqlite3StrAccumAppend(tls *crt.TLS, _p *XStrAccum, _z *int8, _N int32) { // sqlite3.c:25879:1 2331 func() int32 { 2332 if (_z != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_N == i32(0)) { 2333 return i32(0) 2334 } 2335 return func() int32 { 2336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25880), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumAppendØ00__func__Ø000))), unsafe.Pointer(str(276))) 2337 crt.X__builtin_abort(tls) 2338 return i32(0) 2339 }() 2340 }() 2341 func() int32 { 2342 if (((_p.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X3) == uint32(i32(0)))) || ((_p.X6) != 0) { 2343 return i32(0) 2344 } 2345 return func() int32 { 2346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25881), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumAppendØ00__func__Ø000))), unsafe.Pointer(str(292))) 2347 crt.X__builtin_abort(tls) 2348 return i32(0) 2349 }() 2350 }() 2351 func() int32 { 2352 if _N >= i32(0) { 2353 return i32(0) 2354 } 2355 return func() int32 { 2356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25882), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumAppendØ00__func__Ø000))), unsafe.Pointer(str(336))) 2357 crt.X__builtin_abort(tls) 2358 return i32(0) 2359 }() 2360 }() 2361 func() int32 { 2362 if (int32(_p.X6) == i32(0)) || ((_p.X4) == uint32(i32(0))) { 2363 return i32(0) 2364 } 2365 return func() int32 { 2366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25883), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumAppendØ00__func__Ø000))), unsafe.Pointer(str(344))) 2367 crt.X__builtin_abort(tls) 2368 return i32(0) 2369 }() 2370 }() 2371 if ((_p.X3) + uint32(_N)) < (_p.X4) { 2372 goto _12 2373 } 2374 2375 _enlargeAndAppend(tls, _p, _z, _N) 2376 goto _13 2377 2378 _12: 2379 if _N == 0 { 2380 goto _14 2381 } 2382 2383 func() int32 { 2384 if (_p.X2) != nil { 2385 return i32(0) 2386 } 2387 return func() int32 { 2388 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25887), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumAppendØ00__func__Ø000))), unsafe.Pointer(str(376))) 2389 crt.X__builtin_abort(tls) 2390 return i32(0) 2391 }() 2392 }() 2393 { 2394 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) 2395 *p = (*p) + uint32(_N) 2396 sink985 = *p 2397 } 2398 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2))+1*uintptr((_p.X3)-uint32(_N))))), (unsafe.Pointer)(_z), uint32(_N)) 2399 _14: 2400 _13: 2401 return 2402 2403 } 2404 2405 var _sqlite3StrAccumAppendØ00__func__Ø000 [22]int8 // - 2406 2407 func init() { 2408 crt.Xstrncpy(nil, &_sqlite3StrAccumAppendØ00__func__Ø000[0], str(388), 22) 2409 } 2410 2411 func _enlargeAndAppend(tls *crt.TLS, _p *XStrAccum, _z *int8, _N int32) { // sqlite3.c:25866:1 2412 _N = _sqlite3StrAccumEnlarge(tls, _p, _N) 2413 if _N <= i32(0) { 2414 goto _0 2415 } 2416 2417 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2))+1*uintptr(_p.X3)))), (unsafe.Pointer)(_z), uint32(_N)) 2418 { 2419 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) 2420 *p = (*p) + uint32(_N) 2421 sink985 = *p 2422 } 2423 _0: 2424 func() int32 { 2425 if (((_p.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X2) == (_p.X1))) == ((int32(_p.X7) & i32(4)) == i32(0)) { 2426 return i32(0) 2427 } 2428 return func() int32 { 2429 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25872), unsafe.Pointer((*int8)(unsafe.Pointer(&_enlargeAndAppendØ00__func__Ø000))), unsafe.Pointer(str(412))) 2430 crt.X__builtin_abort(tls) 2431 return i32(0) 2432 }() 2433 }() 2434 return 2435 2436 } 2437 2438 func _sqlite3StrAccumEnlarge(tls *crt.TLS, _p *XStrAccum, _N int32) (r0 int32) { // sqlite3.c:25797:1 2439 var _zNew *int8 // sqlite3.c:25798:8 2440 _ = _zNew 2441 var _3_zOld *int8 // sqlite3.c:25810:10 2442 _ = _3_zOld 2443 var _3_szNew int64 // sqlite3.c:25811:9 2444 _ = _3_szNew 2445 func() int32 { 2446 if (int64(_p.X3) + int64(_N)) >= int64(_p.X4) { 2447 return i32(0) 2448 } 2449 return func() int32 { 2450 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumEnlargeØ00__func__Ø000))), unsafe.Pointer(str(464))) 2451 crt.X__builtin_abort(tls) 2452 return i32(0) 2453 }() 2454 }() 2455 if (_p.X6) == 0 { 2456 goto _2 2457 } 2458 2459 r0 = i32(0) 2460 return 2461 2462 _2: 2463 if (_p.X5) != uint32(i32(0)) { 2464 goto _3 2465 } 2466 2467 _N = int32(((_p.X4) - (_p.X3)) - uint32(i32(1))) 2468 _setStrAccumError(tls, _p, uint8(i32(2))) 2469 r0 = _N 2470 return 2471 2472 _3: 2473 _3_zOld = func() *int8 { 2474 if (int32(_p.X7) & i32(4)) != i32(0) { 2475 return (_p.X2) 2476 } 2477 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 2478 }() 2479 _3_szNew = int64(_p.X3) 2480 func() int32 { 2481 if (((_p.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X2) == (_p.X1))) == ((int32(_p.X7) & i32(4)) == i32(0)) { 2482 return i32(0) 2483 } 2484 return func() int32 { 2485 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumEnlargeØ00__func__Ø000))), unsafe.Pointer(str(412))) 2486 crt.X__builtin_abort(tls) 2487 return i32(0) 2488 }() 2489 }() 2490 { 2491 p := &_3_szNew 2492 *p = (*p) + int64(_N+i32(1)) 2493 sink967 = *p 2494 } 2495 if (_3_szNew + int64(_p.X3)) > int64(_p.X5) { 2496 goto _10 2497 } 2498 2499 { 2500 p := &_3_szNew 2501 *p = (*p) + int64(_p.X3) 2502 sink967 = *p 2503 } 2504 _10: 2505 if _3_szNew <= int64(_p.X5) { 2506 goto _11 2507 } 2508 2509 _sqlite3StrAccumReset(tls, _p) 2510 _setStrAccumError(tls, _p, uint8(i32(2))) 2511 r0 = i32(0) 2512 return 2513 2514 _11: 2515 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(int32(_3_szNew)) 2516 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 2517 goto _13 2518 } 2519 2520 _zNew = (*int8)(unsafe.Pointer(_sqlite3DbRealloc(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_3_zOld), uint64(_p.X4)))) 2521 goto _14 2522 2523 _13: 2524 _zNew = (*int8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_3_zOld), uint64(_p.X4)))) 2525 _14: 2526 if _zNew == nil { 2527 goto _15 2528 } 2529 2530 func() int32 { 2531 if ((_p.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X3) == uint32(i32(0))) { 2532 return i32(0) 2533 } 2534 return func() int32 { 2535 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25832), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumEnlargeØ00__func__Ø000))), unsafe.Pointer(str(496))) 2536 crt.X__builtin_abort(tls) 2537 return i32(0) 2538 }() 2539 }() 2540 if (int32(_p.X7)&i32(4)) != i32(0) || (_p.X3) <= uint32(i32(0)) { 2541 goto _20 2542 } 2543 2544 crt.Xmemcpy(tls, (unsafe.Pointer)(_zNew), (unsafe.Pointer)(_p.X2), _p.X3) 2545 _20: 2546 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _zNew 2547 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(_sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_zNew))) 2548 { 2549 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(25 /* X7 */))) 2550 *p = uint8(int32(*p) | i32(4)) 2551 sink6915 = *p 2552 } 2553 goto _21 2554 2555 _15: 2556 _sqlite3StrAccumReset(tls, _p) 2557 _setStrAccumError(tls, _p, uint8(i32(1))) 2558 r0 = i32(0) 2559 return 2560 2561 _21: 2562 r0 = _N 2563 return 2564 2565 } 2566 2567 var _sqlite3StrAccumEnlargeØ00__func__Ø000 [23]int8 // - 2568 2569 func init() { 2570 crt.Xstrncpy(nil, &_sqlite3StrAccumEnlargeØ00__func__Ø000[0], str(524), 23) 2571 } 2572 2573 func _setStrAccumError(tls *crt.TLS, _p *XStrAccum, _eError uint8) { // sqlite3.c:25163:1 2574 func() int32 { 2575 if (int32(_eError) == i32(1)) || (int32(_eError) == i32(2)) { 2576 return i32(0) 2577 } 2578 return func() int32 { 2579 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25164), unsafe.Pointer((*int8)(unsafe.Pointer(&_setStrAccumErrorØ00__func__Ø000))), unsafe.Pointer(str(548))) 2580 crt.X__builtin_abort(tls) 2581 return i32(0) 2582 }() 2583 }() 2584 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = _eError 2585 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(i32(0)) 2586 return 2587 2588 } 2589 2590 var _setStrAccumErrorØ00__func__Ø000 [17]int8 // - 2591 2592 func init() { 2593 crt.Xstrncpy(nil, &_setStrAccumErrorØ00__func__Ø000[0], str(600), 17) 2594 } 2595 2596 func _sqlite3StrAccumReset(tls *crt.TLS, _p *XStrAccum) { // sqlite3.c:25931:1 2597 func() int32 { 2598 if (((_p.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X2) == (_p.X1))) == ((int32(_p.X7) & i32(4)) == i32(0)) { 2599 return i32(0) 2600 } 2601 return func() int32 { 2602 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25932), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumResetØ00__func__Ø000))), unsafe.Pointer(str(412))) 2603 crt.X__builtin_abort(tls) 2604 return i32(0) 2605 }() 2606 }() 2607 if (int32(_p.X7) & i32(4)) == i32(0) { 2608 goto _3 2609 } 2610 2611 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_p.X2)) 2612 { 2613 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(25 /* X7 */))) 2614 *p = uint8(int32(*p) & i32(-5)) 2615 sink6915 = *p 2616 } 2617 _3: 2618 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 2619 return 2620 2621 } 2622 2623 var _sqlite3StrAccumResetØ00__func__Ø000 [21]int8 // - 2624 2625 func init() { 2626 crt.Xstrncpy(nil, &_sqlite3StrAccumResetØ00__func__Ø000[0], str(620), 21) 2627 } 2628 2629 func _sqlite3DbFree(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) { // sqlite3.c:24666:1 2630 var _3_pBuf *Xsqlite3_file // sqlite3.c:24675:21 2631 _ = _3_pBuf 2632 func() int32 { 2633 if (_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 2634 return i32(0) 2635 } 2636 return func() int32 { 2637 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24667), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbFreeØ00__func__Ø000))), unsafe.Pointer(str(644))) 2638 crt.X__builtin_abort(tls) 2639 return i32(0) 2640 }() 2641 }() 2642 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 2643 goto _3 2644 } 2645 2646 return 2647 2648 _3: 2649 if _db == nil { 2650 goto _4 2651 } 2652 2653 if (_db.X79) == nil { 2654 goto _5 2655 } 2656 2657 _measureAllocationSize(tls, _db, _p) 2658 return 2659 2660 _5: 2661 if _isLookaside(tls, _db, _p) == 0 { 2662 goto _6 2663 } 2664 2665 _3_pBuf = (*Xsqlite3_file)(unsafe.Pointer(_p)) 2666 crt.Xmemset(tls, _p, i32(170), uint32((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X1)) 2667 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pBuf)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X6)) 2668 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(28 /* X6 */))))) = _3_pBuf 2669 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(8 /* X3 */))) -= 1 2670 return 2671 2672 _6: 2673 _4: 2674 i32(0) 2675 i32(0) 2676 func() int32 { 2677 if (_db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || i32(1) != 0 { 2678 return i32(0) 2679 } 2680 return func() int32 { 2681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24688), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbFreeØ00__func__Ø000))), unsafe.Pointer(str(684))) 2682 crt.X__builtin_abort(tls) 2683 return i32(0) 2684 }() 2685 }() 2686 Xsqlite3_free(tls, _p) 2687 return 2688 2689 } 2690 2691 func Xsqlite3_mutex_held(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22874:12 2692 func() int32 { 2693 if (_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 2694 f func(*crt.TLS, unsafe.Pointer) int32 2695 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X7)}))) != nil) { 2696 return i32(0) 2697 } 2698 return func() int32 { 2699 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22875), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_heldØ00__func__Ø000))), unsafe.Pointer(str(740))) 2700 crt.X__builtin_abort(tls) 2701 return i32(0) 2702 }() 2703 }() 2704 r0 = bool2int((_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 2705 f func(*crt.TLS, unsafe.Pointer) int32 2706 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X7)})))(tls, _p) != 0) 2707 return 2708 2709 } 2710 2711 var _sqlite3_mutex_heldØ00__func__Ø000 [19]int8 // - 2712 2713 func init() { 2714 crt.Xstrncpy(nil, &_sqlite3_mutex_heldØ00__func__Ø000[0], str(788), 19) 2715 } 2716 2717 var _sqlite3DbFreeØ00__func__Ø000 [14]int8 // - 2718 2719 func init() { 2720 crt.Xstrncpy(nil, &_sqlite3DbFreeØ00__func__Ø000[0], str(808), 14) 2721 } 2722 2723 func _measureAllocationSize(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) { // sqlite3.c:24658:1 2724 { 2725 p := _db.X79 2726 *p = (*p) + _sqlite3DbMallocSize(tls, _db, _p) 2727 sink961 = *p 2728 } 2729 return 2730 2731 } 2732 2733 func _sqlite3DbMallocSize(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:24612:1 2734 func() int32 { 2735 if _p != (unsafe.Pointer)(uintptr(i32(0))) { 2736 return i32(0) 2737 } 2738 return func() int32 { 2739 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24613), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbMallocSizeØ00__func__Ø000))), unsafe.Pointer(str(824))) 2740 crt.X__builtin_abort(tls) 2741 return i32(0) 2742 }() 2743 }() 2744 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) && _isLookaside(tls, _db, _p) != 0 { 2745 goto _3 2746 } 2747 2748 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 2749 goto _4 2750 } 2751 2752 i32(0) 2753 i32(0) 2754 goto _5 2755 2756 _4: 2757 i32(0) 2758 i32(0) 2759 _5: 2760 r0 = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X3)(tls, _p) 2761 return 2762 2763 _3: 2764 func() int32 { 2765 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 2766 return i32(0) 2767 } 2768 return func() int32 { 2769 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24626), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbMallocSizeØ00__func__Ø000))), unsafe.Pointer(str(832))) 2770 crt.X__builtin_abort(tls) 2771 return i32(0) 2772 }() 2773 }() 2774 r0 = int32((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X1) 2775 return 2776 2777 } 2778 2779 var _sqlite3DbMallocSizeØ00__func__Ø000 [20]int8 // - 2780 2781 func init() { 2782 crt.Xstrncpy(nil, &_sqlite3DbMallocSizeØ00__func__Ø000[0], str(864), 20) 2783 } 2784 2785 func _isLookaside(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:24597:1 2786 r0 = bool2int((uint32(uintptr(unsafe.Pointer(_p))) >= uint32(uintptr(unsafe.Pointer((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X7)))) && (uint32(uintptr(unsafe.Pointer(_p))) < uint32(uintptr(unsafe.Pointer((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X8))))) 2787 return 2788 2789 } 2790 2791 func Xsqlite3_free(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:24639:12 2792 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 2793 goto _0 2794 } 2795 2796 return 2797 2798 _0: 2799 i32(0) 2800 i32(0) 2801 if (_sqlite3Config.X0) == 0 { 2802 goto _1 2803 } 2804 2805 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 2806 _sqlite3StatusDown(tls, i32(0), _sqlite3MallocSize(tls, _p)) 2807 _sqlite3StatusDown(tls, i32(9), i32(1)) 2808 ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) 2809 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 2810 goto _2 2811 2812 _1: 2813 ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) 2814 _2: 2815 return 2816 2817 } 2818 2819 func Xsqlite3_mutex_enter(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:22836:12 2820 if _p == nil { 2821 goto _0 2822 } 2823 2824 func() int32 { 2825 if (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 2826 f func(*crt.TLS, unsafe.Pointer) 2827 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X4)}))) != nil { 2828 return i32(0) 2829 } 2830 return func() int32 { 2831 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22838), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_enterØ00__func__Ø000))), unsafe.Pointer(str(884))) 2832 crt.X__builtin_abort(tls) 2833 return i32(0) 2834 }() 2835 }() 2836 (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 2837 f func(*crt.TLS, unsafe.Pointer) 2838 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X4)})))(tls, _p) 2839 _0: 2840 return 2841 2842 } 2843 2844 var _sqlite3_mutex_enterØ00__func__Ø000 [20]int8 // - 2845 2846 func init() { 2847 crt.Xstrncpy(nil, &_sqlite3_mutex_enterØ00__func__Ø000[0], str(924), 20) 2848 } 2849 2850 var _mem0 T7822769 // sqlite3.c:24252:3 2851 2852 func _sqlite3StatusDown(tls *crt.TLS, _op int32, _N int32) { // sqlite3.c:18547:1 2853 func() int32 { 2854 if _N >= i32(0) { 2855 return i32(0) 2856 } 2857 return func() int32 { 2858 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18549), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusDownØ00__func__Ø000))), unsafe.Pointer(str(336))) 2859 crt.X__builtin_abort(tls) 2860 return i32(0) 2861 }() 2862 }() 2863 func() int32 { 2864 if (_op >= i32(0)) && (_op < i32(10)) { 2865 return i32(0) 2866 } 2867 return func() int32 { 2868 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18550), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusDownØ00__func__Ø000))), unsafe.Pointer(str(944))) 2869 crt.X__builtin_abort(tls) 2870 return i32(0) 2871 }() 2872 }() 2873 func() int32 { 2874 if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { 2875 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { 2876 return _sqlite3Pcache1Mutex(tls) 2877 } 2878 return _sqlite3MallocMutex(tls) 2879 }()) != 0 { 2880 return i32(0) 2881 } 2882 return func() int32 { 2883 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18551), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusDownØ00__func__Ø000))), unsafe.Pointer(str(980))) 2884 crt.X__builtin_abort(tls) 2885 return i32(0) 2886 }() 2887 }() 2888 func() int32 { 2889 if (_op >= i32(0)) && (_op < i32(10)) { 2890 return i32(0) 2891 } 2892 return func() int32 { 2893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18553), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusDownØ00__func__Ø000))), unsafe.Pointer(str(1064))) 2894 crt.X__builtin_abort(tls) 2895 return i32(0) 2896 }() 2897 }() 2898 { 2899 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op))) 2900 *p = (*p) - uint32(_N) 2901 sink985 = *p 2902 } 2903 return 2904 2905 } 2906 2907 var _sqlite3StatusDownØ00__func__Ø000 [18]int8 // - 2908 2909 func init() { 2910 crt.Xstrncpy(nil, &_sqlite3StatusDownØ00__func__Ø000[0], str(1104), 18) 2911 } 2912 2913 var _statMutex [10]int8 // sqlite3.c:18484:19 2914 2915 func init() { 2916 _statMutex = [10]int8{0, 1, 1, 0, 0, 0, 0, 1, 0, 0} 2917 } 2918 2919 func _sqlite3Pcache1Mutex(tls *crt.TLS) (r0 *Xsqlite3_mutex) { // sqlite3.c:46156:1 2920 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9)) 2921 return 2922 2923 } 2924 2925 var _pcache1_g T7893856 // sqlite3.c:45169:3 2926 2927 func _sqlite3MallocMutex(tls *crt.TLS) (r0 *Xsqlite3_mutex) { // sqlite3.c:24259:1 2928 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0)) 2929 return 2930 2931 } 2932 2933 var _sqlite3Stat T7743050 // sqlite3.c:18478:3 2934 2935 func _sqlite3MallocSize(tls *crt.TLS, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:24608:1 2936 i32(0) 2937 r0 = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X3)(tls, _p) 2938 return 2939 2940 } 2941 2942 func Xsqlite3_mutex_leave(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:22862:12 2943 if _p == nil { 2944 goto _0 2945 } 2946 2947 func() int32 { 2948 if (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 2949 f func(*crt.TLS, unsafe.Pointer) 2950 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X6)}))) != nil { 2951 return i32(0) 2952 } 2953 return func() int32 { 2954 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22864), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_leaveØ00__func__Ø000))), unsafe.Pointer(str(1124))) 2955 crt.X__builtin_abort(tls) 2956 return i32(0) 2957 }() 2958 }() 2959 (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 2960 f func(*crt.TLS, unsafe.Pointer) 2961 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X6)})))(tls, _p) 2962 _0: 2963 return 2964 2965 } 2966 2967 var _sqlite3_mutex_leaveØ00__func__Ø000 [20]int8 // - 2968 2969 func init() { 2970 crt.Xstrncpy(nil, &_sqlite3_mutex_leaveØ00__func__Ø000[0], str(1164), 20) 2971 } 2972 2973 func _sqlite3DbRealloc(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24871:1 2974 func() int32 { 2975 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 2976 return i32(0) 2977 } 2978 return func() int32 { 2979 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24872), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbReallocØ00__func__Ø000))), unsafe.Pointer(str(1184))) 2980 crt.X__builtin_abort(tls) 2981 return i32(0) 2982 }() 2983 }() 2984 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 2985 goto _2 2986 } 2987 2988 r0 = _sqlite3DbMallocRawNN(tls, _db, _n) 2989 return 2990 2991 _2: 2992 func() int32 { 2993 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 2994 return i32(0) 2995 } 2996 return func() int32 { 2997 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24874), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbReallocØ00__func__Ø000))), unsafe.Pointer(str(832))) 2998 crt.X__builtin_abort(tls) 2999 return i32(0) 3000 }() 3001 }() 3002 if _isLookaside(tls, _db, _p) == 0 || _n > uint64((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X1) { 3003 goto _6 3004 } 3005 3006 r0 = _p 3007 return 3008 3009 _6: 3010 r0 = _dbReallocFinish(tls, _db, _p, _n) 3011 return 3012 3013 } 3014 3015 var _sqlite3DbReallocØ00__func__Ø000 [17]int8 // - 3016 3017 func init() { 3018 crt.Xstrncpy(nil, &_sqlite3DbReallocØ00__func__Ø000[0], str(1192), 17) 3019 } 3020 3021 func _sqlite3DbMallocRawNN(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24829:1 3022 var _pBuf *Xsqlite3_file // sqlite3.c:24831:17 3023 _ = _pBuf 3024 func() int32 { 3025 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 3026 return i32(0) 3027 } 3028 return func() int32 { 3029 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24832), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbMallocRawNNØ00__func__Ø000))), unsafe.Pointer(str(1184))) 3030 crt.X__builtin_abort(tls) 3031 return i32(0) 3032 }() 3033 }() 3034 func() int32 { 3035 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 3036 return i32(0) 3037 } 3038 return func() int32 { 3039 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24833), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbMallocRawNNØ00__func__Ø000))), unsafe.Pointer(str(832))) 3040 crt.X__builtin_abort(tls) 3041 return i32(0) 3042 }() 3043 }() 3044 func() int32 { 3045 if (_db.X79) == (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 3046 return i32(0) 3047 } 3048 return func() int32 { 3049 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24834), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbMallocRawNNØ00__func__Ø000))), unsafe.Pointer(str(1212))) 3050 crt.X__builtin_abort(tls) 3051 return i32(0) 3052 }() 3053 }() 3054 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X0) != uint32(i32(0)) { 3055 goto _6 3056 } 3057 3058 func() int32 { 3059 if int32(_db.X17) == i32(0) { 3060 return i32(0) 3061 } 3062 return func() int32 { 3063 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24836), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbMallocRawNNØ00__func__Ø000))), unsafe.Pointer(str(1232))) 3064 crt.X__builtin_abort(tls) 3065 return i32(0) 3066 }() 3067 }() 3068 if _n <= uint64((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X1) { 3069 goto _9 3070 } 3071 3072 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(i32(1)))) += 1 3073 goto _10 3074 3075 _9: 3076 if store7790418(&_pBuf, (*Xsqlite3_file)(unsafe.Pointer((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X6))) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 3077 goto _11 3078 } 3079 3080 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(i32(2)))) += 1 3081 goto _12 3082 3083 _11: 3084 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(28 /* X6 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pBuf.X0)) 3085 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(8 /* X3 */))) += 1 3086 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(i32(0)))) += 1 3087 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3) <= ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X4) { 3088 goto _13 3089 } 3090 3091 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(12 /* X4 */))) = (*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3 3092 _13: 3093 r0 = (unsafe.Pointer)(_pBuf) 3094 return 3095 3096 _12: 3097 _10: 3098 goto _14 3099 3100 _6: 3101 if (_db.X17) == 0 { 3102 goto _15 3103 } 3104 3105 r0 = (unsafe.Pointer)(uintptr(i32(0))) 3106 return 3107 3108 _15: 3109 _14: 3110 r0 = _dbMallocRawFinish(tls, _db, _n) 3111 return 3112 3113 } 3114 3115 var _sqlite3DbMallocRawNNØ00__func__Ø000 [21]int8 // - 3116 3117 func init() { 3118 crt.Xstrncpy(nil, &_sqlite3DbMallocRawNNØ00__func__Ø000[0], str(1252), 21) 3119 } 3120 3121 func _dbMallocRawFinish(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24790:1 3122 var _p unsafe.Pointer // sqlite3.c:24791:8 3123 _ = _p 3124 func() int32 { 3125 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 3126 return i32(0) 3127 } 3128 return func() int32 { 3129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24792), unsafe.Pointer((*int8)(unsafe.Pointer(&_dbMallocRawFinishØ00__func__Ø000))), unsafe.Pointer(str(1184))) 3130 crt.X__builtin_abort(tls) 3131 return i32(0) 3132 }() 3133 }() 3134 _p = _sqlite3Malloc(tls, _n) 3135 if _p != nil { 3136 goto _2 3137 } 3138 3139 _sqlite3OomFault(tls, _db) 3140 _2: 3141 r0 = _p 3142 return 3143 3144 } 3145 3146 var _dbMallocRawFinishØ00__func__Ø000 [18]int8 // - 3147 3148 func init() { 3149 crt.Xstrncpy(nil, &_dbMallocRawFinishØ00__func__Ø000[0], str(1276), 18) 3150 } 3151 3152 func _sqlite3Malloc(tls *crt.TLS, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24456:1 3153 var _p unsafe.Pointer // sqlite3.c:24457:8 3154 _ = _p 3155 if _n != uint64(i32(0)) && _n < uint64(i32(2147483392)) { 3156 goto _1 3157 } 3158 3159 _p = (unsafe.Pointer)(uintptr(i32(0))) 3160 goto _2 3161 3162 _1: 3163 if (_sqlite3Config.X0) == 0 { 3164 goto _3 3165 } 3166 3167 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 3168 _mallocWithAlarm(tls, int32(_n), &_p) 3169 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 3170 goto _4 3171 3172 _3: 3173 _p = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)(tls, int32(_n)) 3174 _4: 3175 _2: 3176 func() int32 { 3177 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 3178 return i32(0) 3179 } 3180 return func() int32 { 3181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24472), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MallocØ00__func__Ø000))), unsafe.Pointer(str(1296))) 3182 crt.X__builtin_abort(tls) 3183 return i32(0) 3184 }() 3185 }() 3186 r0 = _p 3187 return 3188 3189 } 3190 3191 func _mallocWithAlarm(tls *crt.TLS, _n int32, _pp *unsafe.Pointer) { // sqlite3.c:24407:1 3192 var _p unsafe.Pointer // sqlite3.c:24408:8 3193 _ = _p 3194 var _nFull int32 // sqlite3.c:24409:7 3195 _ = _nFull 3196 var _1_nUsed int64 // sqlite3.c:24429:19 3197 _ = _1_nUsed 3198 func() int32 { 3199 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) != 0 { 3200 return i32(0) 3201 } 3202 return func() int32 { 3203 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24410), unsafe.Pointer((*int8)(unsafe.Pointer(&_mallocWithAlarmØ00__func__Ø000))), unsafe.Pointer(str(1320))) 3204 crt.X__builtin_abort(tls) 3205 return i32(0) 3206 }() 3207 }() 3208 func() int32 { 3209 if _n > i32(0) { 3210 return i32(0) 3211 } 3212 return func() int32 { 3213 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24411), unsafe.Pointer((*int8)(unsafe.Pointer(&_mallocWithAlarmØ00__func__Ø000))), unsafe.Pointer(str(1352))) 3214 crt.X__builtin_abort(tls) 3215 return i32(0) 3216 }() 3217 }() 3218 _nFull = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X4)(tls, _n) 3219 _sqlite3StatusHighwater(tls, i32(5), _n) 3220 if (_mem0.X1) <= int64(i32(0)) { 3221 goto _4 3222 } 3223 3224 _1_nUsed = _sqlite3StatusValue(tls, i32(0)) 3225 if _1_nUsed < ((_mem0.X1) - int64(_nFull)) { 3226 goto _5 3227 } 3228 3229 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(24 /* X5 */))) = i32(1) 3230 _sqlite3MallocAlarm(tls, _nFull) 3231 goto _6 3232 3233 _5: 3234 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(24 /* X5 */))) = i32(0) 3235 _6: 3236 _4: 3237 _p = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)(tls, _nFull) 3238 if _p == nil { 3239 goto _7 3240 } 3241 3242 _nFull = _sqlite3MallocSize(tls, _p) 3243 _sqlite3StatusUp(tls, i32(0), _nFull) 3244 _sqlite3StatusUp(tls, i32(9), i32(1)) 3245 _7: 3246 *_pp = _p 3247 return 3248 3249 } 3250 3251 var _mallocWithAlarmØ00__func__Ø000 [16]int8 // - 3252 3253 func init() { 3254 crt.Xstrncpy(nil, &_mallocWithAlarmØ00__func__Ø000[0], str(1356), 16) 3255 } 3256 3257 func _sqlite3StatusHighwater(tls *crt.TLS, _op int32, _X int32) { // sqlite3.c:18561:1 3258 var _newValue uint32 // sqlite3.c:18562:24 3259 _ = _newValue 3260 func() int32 { 3261 if _X >= i32(0) { 3262 return i32(0) 3263 } 3264 return func() int32 { 3265 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18564), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusHighwaterØ00__func__Ø000))), unsafe.Pointer(str(1372))) 3266 crt.X__builtin_abort(tls) 3267 return i32(0) 3268 }() 3269 }() 3270 _newValue = uint32(_X) 3271 func() int32 { 3272 if (_op >= i32(0)) && (_op < i32(10)) { 3273 return i32(0) 3274 } 3275 return func() int32 { 3276 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18566), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusHighwaterØ00__func__Ø000))), unsafe.Pointer(str(1064))) 3277 crt.X__builtin_abort(tls) 3278 return i32(0) 3279 }() 3280 }() 3281 func() int32 { 3282 if (_op >= i32(0)) && (_op < i32(10)) { 3283 return i32(0) 3284 } 3285 return func() int32 { 3286 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18567), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusHighwaterØ00__func__Ø000))), unsafe.Pointer(str(944))) 3287 crt.X__builtin_abort(tls) 3288 return i32(0) 3289 }() 3290 }() 3291 func() int32 { 3292 if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { 3293 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { 3294 return _sqlite3Pcache1Mutex(tls) 3295 } 3296 return _sqlite3MallocMutex(tls) 3297 }()) != 0 { 3298 return i32(0) 3299 } 3300 return func() int32 { 3301 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18568), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusHighwaterØ00__func__Ø000))), unsafe.Pointer(str(980))) 3302 crt.X__builtin_abort(tls) 3303 return i32(0) 3304 }() 3305 }() 3306 func() int32 { 3307 if (((_op == i32(5)) || (_op == i32(7))) || (_op == i32(8))) || (_op == i32(6)) { 3308 return i32(0) 3309 } 3310 return func() int32 { 3311 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18570), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusHighwaterØ00__func__Ø000))), unsafe.Pointer(str(1380))) 3312 crt.X__builtin_abort(tls) 3313 return i32(0) 3314 }() 3315 }() 3316 if _newValue <= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(40 /* X1 */))))) + 4*uintptr(_op)))) { 3317 goto _17 3318 } 3319 3320 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(40 /* X1 */))))) + 4*uintptr(_op))) = _newValue 3321 _17: 3322 return 3323 3324 } 3325 3326 var _sqlite3StatusHighwaterØ00__func__Ø000 [23]int8 // - 3327 3328 func init() { 3329 crt.Xstrncpy(nil, &_sqlite3StatusHighwaterØ00__func__Ø000[0], str(1516), 23) 3330 } 3331 3332 func _sqlite3StatusValue(tls *crt.TLS, _op int32) (r0 int64) { // sqlite3.c:18516:1 3333 func() int32 { 3334 if (_op >= i32(0)) && (_op < i32(10)) { 3335 return i32(0) 3336 } 3337 return func() int32 { 3338 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18518), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusValueØ00__func__Ø000))), unsafe.Pointer(str(1064))) 3339 crt.X__builtin_abort(tls) 3340 return i32(0) 3341 }() 3342 }() 3343 func() int32 { 3344 if (_op >= i32(0)) && (_op < i32(10)) { 3345 return i32(0) 3346 } 3347 return func() int32 { 3348 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18519), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusValueØ00__func__Ø000))), unsafe.Pointer(str(944))) 3349 crt.X__builtin_abort(tls) 3350 return i32(0) 3351 }() 3352 }() 3353 func() int32 { 3354 if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { 3355 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { 3356 return _sqlite3Pcache1Mutex(tls) 3357 } 3358 return _sqlite3MallocMutex(tls) 3359 }()) != 0 { 3360 return i32(0) 3361 } 3362 return func() int32 { 3363 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18520), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusValueØ00__func__Ø000))), unsafe.Pointer(str(980))) 3364 crt.X__builtin_abort(tls) 3365 return i32(0) 3366 }() 3367 }() 3368 r0 = int64(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op)))) 3369 return 3370 3371 } 3372 3373 var _sqlite3StatusValueØ00__func__Ø000 [19]int8 // - 3374 3375 func init() { 3376 crt.Xstrncpy(nil, &_sqlite3StatusValueØ00__func__Ø000[0], str(1540), 19) 3377 } 3378 3379 func _sqlite3MallocAlarm(tls *crt.TLS, _nByte int32) { // sqlite3.c:24396:1 3380 if (_mem0.X1) > int64(i32(0)) { 3381 goto _0 3382 } 3383 3384 return 3385 3386 _0: 3387 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 3388 Xsqlite3_release_memory(tls, _nByte) 3389 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 3390 return 3391 3392 } 3393 3394 func Xsqlite3_release_memory(tls *crt.TLS, _n int32) (r0 int32) { // sqlite3.c:24210:12 3395 3396 r0 = i32(0) 3397 return 3398 3399 } 3400 3401 func _sqlite3StatusUp(tls *crt.TLS, _op int32, _N int32) { // sqlite3.c:18536:1 3402 func() int32 { 3403 if (_op >= i32(0)) && (_op < i32(10)) { 3404 return i32(0) 3405 } 3406 return func() int32 { 3407 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18538), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusUpØ00__func__Ø000))), unsafe.Pointer(str(1064))) 3408 crt.X__builtin_abort(tls) 3409 return i32(0) 3410 }() 3411 }() 3412 func() int32 { 3413 if (_op >= i32(0)) && (_op < i32(10)) { 3414 return i32(0) 3415 } 3416 return func() int32 { 3417 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18539), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusUpØ00__func__Ø000))), unsafe.Pointer(str(944))) 3418 crt.X__builtin_abort(tls) 3419 return i32(0) 3420 }() 3421 }() 3422 func() int32 { 3423 if Xsqlite3_mutex_held(tls, func() *Xsqlite3_mutex { 3424 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { 3425 return _sqlite3Pcache1Mutex(tls) 3426 } 3427 return _sqlite3MallocMutex(tls) 3428 }()) != 0 { 3429 return i32(0) 3430 } 3431 return func() int32 { 3432 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18540), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StatusUpØ00__func__Ø000))), unsafe.Pointer(str(980))) 3433 crt.X__builtin_abort(tls) 3434 return i32(0) 3435 }() 3436 }() 3437 { 3438 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op))) 3439 *p = (*p) + uint32(_N) 3440 sink985 = *p 3441 } 3442 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op)))) <= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(40 /* X1 */))))) + 4*uintptr(_op)))) { 3443 goto _10 3444 } 3445 3446 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(40 /* X1 */))))) + 4*uintptr(_op))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op))) 3447 _10: 3448 return 3449 3450 } 3451 3452 var _sqlite3StatusUpØ00__func__Ø000 [16]int8 // - 3453 3454 func init() { 3455 crt.Xstrncpy(nil, &_sqlite3StatusUpØ00__func__Ø000[0], str(1560), 16) 3456 } 3457 3458 var _sqlite3MallocØ00__func__Ø000 [14]int8 // - 3459 3460 func init() { 3461 crt.Xstrncpy(nil, &_sqlite3MallocØ00__func__Ø000[0], str(1576), 14) 3462 } 3463 3464 func _sqlite3OomFault(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:24966:1 3465 if int32(_db.X17) != i32(0) || int32(_db.X18) != i32(0) { 3466 goto _1 3467 } 3468 3469 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(65 /* X17 */))) = uint8(i32(1)) 3470 if (_db.X37) <= i32(0) { 3471 goto _2 3472 } 3473 3474 *(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */))))) = i32(1) 3475 _2: 3476 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 3477 _1: 3478 return 3479 3480 } 3481 3482 func _dbReallocFinish(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24878:1 3483 var _pNew unsafe.Pointer // sqlite3.c:24879:8 3484 _ = _pNew 3485 _pNew = nil 3486 func() int32 { 3487 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 3488 return i32(0) 3489 } 3490 return func() int32 { 3491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24880), unsafe.Pointer((*int8)(unsafe.Pointer(&_dbReallocFinishØ00__func__Ø000))), unsafe.Pointer(str(1184))) 3492 crt.X__builtin_abort(tls) 3493 return i32(0) 3494 }() 3495 }() 3496 func() int32 { 3497 if _p != (unsafe.Pointer)(uintptr(i32(0))) { 3498 return i32(0) 3499 } 3500 return func() int32 { 3501 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24881), unsafe.Pointer((*int8)(unsafe.Pointer(&_dbReallocFinishØ00__func__Ø000))), unsafe.Pointer(str(824))) 3502 crt.X__builtin_abort(tls) 3503 return i32(0) 3504 }() 3505 }() 3506 if int32(_db.X17) != i32(0) { 3507 goto _4 3508 } 3509 3510 if _isLookaside(tls, _db, _p) == 0 { 3511 goto _5 3512 } 3513 3514 _pNew = _sqlite3DbMallocRawNN(tls, _db, _n) 3515 if _pNew == nil { 3516 goto _6 3517 } 3518 3519 crt.Xmemcpy(tls, _pNew, _p, uint32((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X1)) 3520 _sqlite3DbFree(tls, _db, _p) 3521 _6: 3522 goto _7 3523 3524 _5: 3525 i32(0) 3526 i32(0) 3527 _pNew = Xsqlite3_realloc64(tls, _p, _n) 3528 if _pNew != nil { 3529 goto _8 3530 } 3531 3532 _sqlite3OomFault(tls, _db) 3533 _8: 3534 _7: 3535 _4: 3536 r0 = _pNew 3537 return 3538 3539 } 3540 3541 var _dbReallocFinishØ00__func__Ø000 [16]int8 // - 3542 3543 func init() { 3544 crt.Xstrncpy(nil, &_dbReallocFinishØ00__func__Ø000[0], str(1592), 16) 3545 } 3546 3547 func Xsqlite3_realloc64(tls *crt.TLS, _pOld unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24755:12 3548 if Xsqlite3_initialize(tls) == 0 { 3549 goto _0 3550 } 3551 3552 r0 = (unsafe.Pointer)(uintptr(i32(0))) 3553 return 3554 3555 _0: 3556 r0 = _sqlite3Realloc(tls, _pOld, _n) 3557 return 3558 3559 } 3560 3561 func Xsqlite3_initialize(tls *crt.TLS) (r0 int32) { // sqlite3.c:140038:12 3562 var _pMaster *Xsqlite3_mutex // sqlite3.c:140039:30 3563 _ = _pMaster 3564 var _rc int32 // sqlite3.c:140040:7 3565 _ = _rc 3566 var _12_x uint64 // sqlite3.c:140173:9 3567 _ = _12_x 3568 var _12_y float64 // sqlite3.c:140174:12 3569 _ = _12_y 3570 i32(0) 3571 if (_sqlite3Config.X28) == 0 { 3572 goto _0 3573 } 3574 3575 r0 = i32(0) 3576 return 3577 3578 _0: 3579 _rc = _sqlite3MutexInit(tls) 3580 if _rc == 0 { 3581 goto _1 3582 } 3583 3584 r0 = _rc 3585 return 3586 3587 _1: 3588 _pMaster = _sqlite3MutexAlloc(tls, i32(2)) 3589 Xsqlite3_mutex_enter(tls, _pMaster) 3590 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(236 /* X30 */))) = i32(1) 3591 if (_sqlite3Config.X31) != 0 { 3592 goto _2 3593 } 3594 3595 _rc = _sqlite3MallocInit(tls) 3596 _2: 3597 if _rc != i32(0) { 3598 goto _3 3599 } 3600 3601 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(240 /* X31 */))) = i32(1) 3602 if (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34)) != nil { 3603 goto _4 3604 } 3605 3606 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(252 /* X34 */))))) = _sqlite3MutexAlloc(tls, i32(1)) 3607 if (_sqlite3Config.X1) == 0 || (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34)) != nil { 3608 goto _6 3609 } 3610 3611 _rc = _sqlite3NomemError(tls, i32(140093)) 3612 _6: 3613 _4: 3614 _3: 3615 if _rc != i32(0) { 3616 goto _7 3617 } 3618 3619 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(248 /* X33 */))) += 1 3620 _7: 3621 Xsqlite3_mutex_leave(tls, _pMaster) 3622 if _rc == i32(0) { 3623 goto _8 3624 } 3625 3626 r0 = _rc 3627 return 3628 3629 _8: 3630 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34))) 3631 if (_sqlite3Config.X28) != i32(0) || (_sqlite3Config.X29) != i32(0) { 3632 goto _10 3633 } 3634 3635 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(232 /* X29 */))) = i32(1) 3636 crt.Xmemset(tls, (unsafe.Pointer)(&_sqlite3BuiltinFunctions), i32(0), u32(92)) 3637 _sqlite3RegisterBuiltinFunctions(tls) 3638 if (_sqlite3Config.X32) != i32(0) { 3639 goto _11 3640 } 3641 3642 _rc = _sqlite3PcacheInitialize(tls) 3643 _11: 3644 if _rc != i32(0) { 3645 goto _12 3646 } 3647 3648 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(244 /* X32 */))) = i32(1) 3649 _rc = _sqlite3OsInit(tls) 3650 _12: 3651 if _rc != i32(0) { 3652 goto _13 3653 } 3654 3655 _sqlite3PCacheBufferSetup(tls, _sqlite3Config.X22, _sqlite3Config.X23, _sqlite3Config.X24) 3656 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(228 /* X28 */))) = i32(1) 3657 _13: 3658 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(232 /* X29 */))) = i32(0) 3659 _10: 3660 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34))) 3661 Xsqlite3_mutex_enter(tls, _pMaster) 3662 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(248 /* X33 */))) -= 1 3663 if (_sqlite3Config.X33) > i32(0) { 3664 goto _14 3665 } 3666 3667 func() int32 { 3668 if (_sqlite3Config.X33) == i32(0) { 3669 return i32(0) 3670 } 3671 return func() int32 { 3672 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(140158), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_initializeØ00__func__Ø000))), unsafe.Pointer(str(1608))) 3673 crt.X__builtin_abort(tls) 3674 return i32(0) 3675 }() 3676 }() 3677 Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3Config.X34))) 3678 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(252 /* X34 */))))) = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 3679 _14: 3680 Xsqlite3_mutex_leave(tls, _pMaster) 3681 if _rc != i32(0) { 3682 goto _17 3683 } 3684 3685 _12_x = u64(9223372036854775807) 3686 i32(0) 3687 i32(0) 3688 crt.Xmemcpy(tls, (unsafe.Pointer)(&_12_y), (unsafe.Pointer)(&_12_x), uint32(i32(8))) 3689 func() int32 { 3690 if _sqlite3IsNaN(tls, _12_y) != 0 { 3691 return i32(0) 3692 } 3693 return func() int32 { 3694 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(140178), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_initializeØ00__func__Ø000))), unsafe.Pointer(str(1648))) 3695 crt.X__builtin_abort(tls) 3696 return i32(0) 3697 }() 3698 }() 3699 _17: 3700 r0 = _rc 3701 return 3702 3703 } 3704 3705 func _sqlite3MutexInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:22747:1 3706 var _rc int32 // sqlite3.c:22748:7 3707 _ = _rc 3708 var _1_pFrom *Xsqlite3_mutex_methods // sqlite3.c:22755:33 3709 _ = _1_pFrom 3710 var _1_pTo *Xsqlite3_mutex_methods // sqlite3.c:22756:27 3711 _ = _1_pTo 3712 _rc = i32(0) 3713 if (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { 3714 f func(*crt.TLS, int32) unsafe.Pointer 3715 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X2)}))) != nil { 3716 goto _0 3717 } 3718 3719 _1_pTo = (*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))) 3720 if (_sqlite3Config.X1) == 0 { 3721 goto _1 3722 } 3723 3724 _1_pFrom = _sqlite3DefaultMutex(tls) 3725 goto _2 3726 3727 _1: 3728 _1_pFrom = _sqlite3NoopMutex(tls) 3729 _2: 3730 *(*func(*crt.TLS) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(0 /* X0 */))) = _1_pFrom.X0 3731 *(*func(*crt.TLS) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(4 /* X1 */))) = _1_pFrom.X1 3732 *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(12 /* X3 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 3733 f func(*crt.TLS, unsafe.Pointer) 3734 }{(_1_pFrom.X3)})) 3735 *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(16 /* X4 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 3736 f func(*crt.TLS, unsafe.Pointer) 3737 }{(_1_pFrom.X4)})) 3738 *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(20 /* X5 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 3739 f func(*crt.TLS, unsafe.Pointer) int32 3740 }{(_1_pFrom.X5)})) 3741 *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(24 /* X6 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 3742 f func(*crt.TLS, unsafe.Pointer) 3743 }{(_1_pFrom.X6)})) 3744 *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(28 /* X7 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 3745 f func(*crt.TLS, unsafe.Pointer) int32 3746 }{(_1_pFrom.X7)})) 3747 *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(32 /* X8 */))))) = *(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 3748 f func(*crt.TLS, unsafe.Pointer) int32 3749 }{(_1_pFrom.X8)})) 3750 _sqlite3MemoryBarrier(tls) 3751 *(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer((*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTo)) + uintptr(8 /* X2 */))))) = *(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { 3752 f func(*crt.TLS, int32) unsafe.Pointer 3753 }{(_1_pFrom.X2)})) 3754 _0: 3755 func() int32 { 3756 if ((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X0) != nil { 3757 return i32(0) 3758 } 3759 return func() int32 { 3760 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22774), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MutexInitØ00__func__Ø000))), unsafe.Pointer(str(1664))) 3761 crt.X__builtin_abort(tls) 3762 return i32(0) 3763 }() 3764 }() 3765 _rc = ((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X0)(tls) 3766 _mutexIsInit = i32(1) 3767 bug20530(_mutexIsInit) 3768 r0 = _rc 3769 return 3770 3771 } 3772 3773 func _sqlite3DefaultMutex(tls *crt.TLS) (r0 *Xsqlite3_mutex_methods) { // sqlite3.c:24164:1 3774 r0 = &_sqlite3DefaultMutexØ00sMutexØ001 3775 return 3776 3777 } 3778 3779 var _sqlite3DefaultMutexØ00sMutexØ001 Xsqlite3_mutex_methods // sqlite3.c:24165:38 3780 3781 func init() { 3782 _sqlite3DefaultMutexØ00sMutexØ001 = Xsqlite3_mutex_methods{X0: _winMutexInit, X1: _winMutexEnd, X2: *(*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 3783 f func(*crt.TLS, int32) *Xsqlite3_mutex 3784 }{_winMutexAlloc})), X3: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 3785 f func(*crt.TLS, *Xsqlite3_mutex) 3786 }{_winMutexFree})), X4: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 3787 f func(*crt.TLS, *Xsqlite3_mutex) 3788 }{_winMutexEnter})), X5: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 3789 f func(*crt.TLS, *Xsqlite3_mutex) int32 3790 }{_winMutexTry})), X6: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 3791 f func(*crt.TLS, *Xsqlite3_mutex) 3792 }{_winMutexLeave})), X7: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 3793 f func(*crt.TLS, *Xsqlite3_mutex) int32 3794 }{_winMutexHeld})), X8: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 3795 f func(*crt.TLS, *Xsqlite3_mutex) int32 3796 }{_winMutexNotheld}))} 3797 } 3798 3799 func _winMutexInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:23912:1 3800 var _1_i int32 // sqlite3.c:23915:9 3801 _ = _1_i 3802 if crt.X_InterlockedCompareExchange(tls, &_winMutex_lock, i32(1), i32(0)) != i32(0) { 3803 goto _0 3804 } 3805 3806 _1_i = i32(0) 3807 _1: 3808 if _1_i >= i32(12) { 3809 goto _4 3810 } 3811 3812 crt.XInitializeCriticalSection(tls, (*crt.XCRITICAL_SECTION)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_mutex)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_winMutex_staticMutexes))+40*uintptr(_1_i)))))+uintptr(0 /* X0 */)))) 3813 _1_i += 1 3814 goto _1 3815 3816 _4: 3817 _winMutex_isInit = i32(1) 3818 bug20530(_winMutex_isInit) 3819 goto _5 3820 3821 _0: 3822 _6: 3823 if _winMutex_isInit != 0 { 3824 goto _7 3825 } 3826 3827 Xsqlite3_win32_sleep(tls, uint32(i32(1))) 3828 goto _6 3829 3830 _7: 3831 _5: 3832 r0 = i32(0) 3833 return 3834 3835 } 3836 3837 var _winMutex_lock int32 // sqlite3.c:23907:35 3838 3839 var _winMutex_staticMutexes [12]Xsqlite3_mutex // sqlite3.c:23885:22 3840 3841 var _winMutex_isInit int32 // sqlite3.c:23900:12 3842 3843 func Xsqlite3_win32_sleep(tls *crt.TLS, _milliseconds uint32) { // sqlite3.c:39059:12 3844 (*(*func(*crt.TLS, uint32))(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(55)))).X1)})))(tls, _milliseconds) 3845 return 3846 3847 } 3848 3849 var _aSyscall [80]struct { 3850 X0 *int8 3851 X1 func(*crt.TLS) 3852 X2 func(*crt.TLS) 3853 } // sqlite3.c:38186:3 3854 3855 func init() { 3856 _aSyscall = [80]struct { 3857 X0 *int8 3858 X1 func(*crt.TLS) 3859 X2 func(*crt.TLS) 3860 }{T7870619{X0: str(1704), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) int32 }{crt.XAreFileApisANSI})), X2: nil}, T7870619{X0: str(1720), X1: nil, X2: nil}, T7870619{X0: str(1732), X1: nil, X2: nil}, T7870619{X0: str(1744), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3861 f func(*crt.TLS, unsafe.Pointer) int32 3862 }{crt.XCloseHandle})), X2: nil}, T7870619{X0: str(1756), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3863 f func(*crt.TLS, *int8, uint32, uint32, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, unsafe.Pointer) unsafe.Pointer 3864 }{crt.XCreateFileA})), X2: nil}, T7870619{X0: str(1768), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3865 f func(*crt.TLS, *uint16, uint32, uint32, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, unsafe.Pointer) unsafe.Pointer 3866 }{crt.XCreateFileW})), X2: nil}, T7870619{X0: str(1780), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3867 f func(*crt.TLS, unsafe.Pointer, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, uint32, *int8) unsafe.Pointer 3868 }{crt.XCreateFileMappingA})), X2: nil}, T7870619{X0: str(1800), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3869 f func(*crt.TLS, unsafe.Pointer, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, uint32, *uint16) unsafe.Pointer 3870 }{crt.XCreateFileMappingW})), X2: nil}, T7870619{X0: str(1820), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3871 f func(*crt.TLS, *crt.XSECURITY_ATTRIBUTES, int32, *uint16) unsafe.Pointer 3872 }{crt.XCreateMutexW})), X2: nil}, T7870619{X0: str(1836), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *int8) int32 }{crt.XDeleteFileA})), X2: nil}, T7870619{X0: str(1848), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *uint16) int32 }{crt.XDeleteFileW})), X2: nil}, T7870619{X0: str(1860), X1: nil, X2: nil}, T7870619{X0: str(1884), X1: nil, X2: nil}, T7870619{X0: str(1908), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3873 f func(*crt.TLS, unsafe.Pointer) int32 3874 }{crt.XFlushFileBuffers})), X2: nil}, T7870619{X0: str(1928), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3875 f func(*crt.TLS, uint32, unsafe.Pointer, uint32, uint32, *int8, uint32, *[]interface{}) uint32 3876 }{crt.XFormatMessageA})), X2: nil}, T7870619{X0: str(1944), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3877 f func(*crt.TLS, uint32, unsafe.Pointer, uint32, uint32, *uint16, uint32, *[]interface{}) uint32 3878 }{crt.XFormatMessageW})), X2: nil}, T7870619{X0: str(1960), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3879 f func(*crt.TLS, *crt.XHMODULE) int32 3880 }{crt.XFreeLibrary})), X2: nil}, T7870619{X0: str(1972), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) uint32 }{crt.XGetCurrentProcessId})), X2: nil}, T7870619{X0: str(1992), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3881 f func(*crt.TLS, *int8, *uint32, *uint32, *uint32, *uint32) int32 3882 }{crt.XGetDiskFreeSpaceA})), X2: nil}, T7870619{X0: str(2012), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3883 f func(*crt.TLS, *uint16, *uint32, *uint32, *uint32, *uint32) int32 3884 }{crt.XGetDiskFreeSpaceW})), X2: nil}, T7870619{X0: str(2032), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *int8) uint32 }{crt.XGetFileAttributesA})), X2: nil}, T7870619{X0: str(2052), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3885 f func(*crt.TLS, *uint16) uint32 3886 }{crt.XGetFileAttributesW})), X2: nil}, T7870619{X0: str(2072), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3887 f func(*crt.TLS, *uint16, int32, unsafe.Pointer) int32 3888 }{crt.XGetFileAttributesExW})), X2: nil}, T7870619{X0: str(2096), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3889 f func(*crt.TLS, unsafe.Pointer, *uint32) uint32 3890 }{crt.XGetFileSize})), X2: nil}, T7870619{X0: str(2108), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3891 f func(*crt.TLS, *int8, uint32, *int8, **int8) uint32 3892 }{crt.XGetFullPathNameA})), X2: nil}, T7870619{X0: str(2128), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3893 f func(*crt.TLS, *uint16, uint32, *uint16, **uint16) uint32 3894 }{crt.XGetFullPathNameW})), X2: nil}, T7870619{X0: str(2148), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) uint32 }{crt.XGetLastError})), X2: nil}, T7870619{X0: str(2164), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3895 f func(*crt.TLS, *crt.XHMODULE, *int8) func(*crt.TLS) int32 3896 }{crt.XGetProcAddress})), X2: nil}, T7870619{X0: str(2180), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3897 f func(*crt.TLS, *crt.XSYSTEM_INFO) 3898 }{crt.XGetSystemInfo})), X2: nil}, T7870619{X0: str(2196), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3899 f func(*crt.TLS, *crt.XSYSTEMTIME) 3900 }{crt.XGetSystemTime})), X2: nil}, T7870619{X0: str(2212), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3901 f func(*crt.TLS, *crt.XFILETIME) 3902 }{crt.XGetSystemTimeAsFileTime})), X2: nil}, T7870619{X0: str(2236), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3903 f func(*crt.TLS, uint32, *int8) uint32 3904 }{crt.XGetTempPathA})), X2: nil}, T7870619{X0: str(2252), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3905 f func(*crt.TLS, uint32, *uint16) uint32 3906 }{crt.XGetTempPathW})), X2: nil}, T7870619{X0: str(2268), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) uint32 }{crt.XGetTickCount})), X2: nil}, T7870619{X0: str(2284), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3907 f func(*crt.TLS, *crt.XOSVERSIONINFOA) int32 3908 }{crt.XGetVersionExA})), X2: nil}, T7870619{X0: str(2300), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3909 f func(*crt.TLS, *crt.XOSVERSIONINFOW) int32 3910 }{crt.XGetVersionExW})), X2: nil}, T7870619{X0: str(2316), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3911 f func(*crt.TLS, unsafe.Pointer, uint32, uint32) unsafe.Pointer 3912 }{crt.XHeapAlloc})), X2: nil}, T7870619{X0: str(2328), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3913 f func(*crt.TLS, uint32, uint32, uint32) unsafe.Pointer 3914 }{crt.XHeapCreate})), X2: nil}, T7870619{X0: str(2340), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3915 f func(*crt.TLS, unsafe.Pointer) int32 3916 }{crt.XHeapDestroy})), X2: nil}, T7870619{X0: str(2352), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3917 f func(*crt.TLS, unsafe.Pointer, uint32, unsafe.Pointer) int32 3918 }{crt.XHeapFree})), X2: nil}, T7870619{X0: str(2364), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3919 f func(*crt.TLS, unsafe.Pointer, uint32, unsafe.Pointer, uint32) unsafe.Pointer 3920 }{crt.XHeapReAlloc})), X2: nil}, T7870619{X0: str(2376), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3921 f func(*crt.TLS, unsafe.Pointer, uint32, unsafe.Pointer) uint32 3922 }{crt.XHeapSize})), X2: nil}, T7870619{X0: str(2388), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3923 f func(*crt.TLS, unsafe.Pointer, uint32, unsafe.Pointer) int32 3924 }{crt.XHeapValidate})), X2: nil}, T7870619{X0: str(2404), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3925 f func(*crt.TLS, unsafe.Pointer, uint32) uint32 3926 }{crt.XHeapCompact})), X2: nil}, T7870619{X0: str(2416), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3927 f func(*crt.TLS, *int8) *crt.XHMODULE 3928 }{crt.XLoadLibraryA})), X2: nil}, T7870619{X0: str(2432), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3929 f func(*crt.TLS, *uint16) *crt.XHMODULE 3930 }{crt.XLoadLibraryW})), X2: nil}, T7870619{X0: str(2448), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3931 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 3932 }{crt.XLocalFree})), X2: nil}, T7870619{X0: str(2460), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3933 f func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) int32 3934 }{crt.XLockFile})), X2: nil}, T7870619{X0: str(2472), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3935 f func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32, *crt.XOVERLAPPED) int32 3936 }{crt.XLockFileEx})), X2: nil}, T7870619{X0: str(2484), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3937 f func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) unsafe.Pointer 3938 }{crt.XMapViewOfFile})), X2: nil}, T7870619{X0: str(2500), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3939 f func(*crt.TLS, uint32, uint32, *int8, int32, *uint16, int32) int32 3940 }{crt.XMultiByteToWideChar})), X2: nil}, T7870619{X0: str(2520), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3941 f func(*crt.TLS, *crt.XLARGE_INTEGER) int32 3942 }{crt.XQueryPerformanceCounter})), X2: nil}, T7870619{X0: str(2544), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3943 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, *uint32, *crt.XOVERLAPPED) int32 3944 }{crt.XReadFile})), X2: nil}, T7870619{X0: str(2556), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3945 f func(*crt.TLS, unsafe.Pointer) int32 3946 }{crt.XSetEndOfFile})), X2: nil}, T7870619{X0: str(2572), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3947 f func(*crt.TLS, unsafe.Pointer, int32, *int32, uint32) uint32 3948 }{crt.XSetFilePointer})), X2: nil}, T7870619{X0: str(2588), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, uint32) }{crt.XSleep})), X2: nil}, T7870619{X0: str(2596), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3949 f func(*crt.TLS, *crt.XSYSTEMTIME, *crt.XFILETIME) int32 3950 }{crt.XSystemTimeToFileTime})), X2: nil}, T7870619{X0: str(2620), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3951 f func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) int32 3952 }{crt.XUnlockFile})), X2: nil}, T7870619{X0: str(2632), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3953 f func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, *crt.XOVERLAPPED) int32 3954 }{crt.XUnlockFileEx})), X2: nil}, T7870619{X0: str(2648), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3955 f func(*crt.TLS, unsafe.Pointer) int32 3956 }{crt.XUnmapViewOfFile})), X2: nil}, T7870619{X0: str(2664), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3957 f func(*crt.TLS, uint32, uint32, *uint16, int32, *int8, int32, *int8, *int32) int32 3958 }{crt.XWideCharToMultiByte})), X2: nil}, T7870619{X0: str(2684), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3959 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, *uint32, *crt.XOVERLAPPED) int32 3960 }{crt.XWriteFile})), X2: nil}, T7870619{X0: str(2696), X1: nil, X2: nil}, T7870619{X0: str(2712), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3961 f func(*crt.TLS, unsafe.Pointer, uint32) uint32 3962 }{crt.XWaitForSingleObject})), X2: nil}, T7870619{X0: str(2732), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3963 f func(*crt.TLS, unsafe.Pointer, uint32, int32) uint32 3964 }{crt.XWaitForSingleObjectEx})), X2: nil}, T7870619{X0: str(2756), X1: nil, X2: nil}, T7870619{X0: str(2776), X1: nil, X2: nil}, T7870619{X0: str(2808), X1: nil, X2: nil}, T7870619{X0: str(2832), X1: nil, X2: nil}, T7870619{X0: str(2844), X1: nil, X2: nil}, T7870619{X0: str(2864), X1: nil, X2: nil}, T7870619{X0: str(2880), X1: nil, X2: nil}, T7870619{X0: str(2900), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *int8) }{crt.XOutputDebugStringA})), X2: nil}, T7870619{X0: str(2920), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS, *uint16) }{crt.XOutputDebugStringW})), X2: nil}, T7870619{X0: str(2940), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) unsafe.Pointer }{crt.XGetProcessHeap})), X2: nil}, T7870619{X0: str(2956), X1: nil, X2: nil}, T7870619{X0: str(2984), X1: nil, X2: nil}, T7870619{X0: str(3012), X1: nil, X2: nil}, T7870619{X0: str(3024), X1: nil, X2: nil}, T7870619{X0: str(3048), X1: *(*func(*crt.TLS))(unsafe.Pointer(&struct { 3965 f func(*crt.TLS, unsafe.Pointer, uint32) int32 3966 }{crt.XFlushViewOfFile})), X2: nil}} 3967 } 3968 3969 func _winMutexEnd(tls *crt.TLS) (r0 int32) { // sqlite3.c:23934:1 3970 var _2_i int32 // sqlite3.c:23939:11 3971 _ = _2_i 3972 if crt.X_InterlockedCompareExchange(tls, &_winMutex_lock, i32(0), i32(1)) != i32(1) { 3973 goto _0 3974 } 3975 3976 if _winMutex_isInit != i32(1) { 3977 goto _1 3978 } 3979 3980 _2_i = i32(0) 3981 _2: 3982 if _2_i >= i32(12) { 3983 goto _5 3984 } 3985 3986 crt.XDeleteCriticalSection(tls, (*crt.XCRITICAL_SECTION)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_mutex)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_winMutex_staticMutexes))+40*uintptr(_2_i)))))+uintptr(0 /* X0 */)))) 3987 _2_i += 1 3988 goto _2 3989 3990 _5: 3991 _winMutex_isInit = i32(0) 3992 bug20530(_winMutex_isInit) 3993 _1: 3994 _0: 3995 r0 = i32(0) 3996 return 3997 3998 } 3999 4000 func _winMutexAlloc(tls *crt.TLS, _iType int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:23997:1 4001 var _p *Xsqlite3_mutex // sqlite3.c:23998:17 4002 _ = _p 4003 switch _iType { 4004 case i32(0): 4005 goto _1 4006 case i32(1): 4007 goto _2 4008 default: 4009 goto _3 4010 } 4011 4012 _1: 4013 _2: 4014 _p = (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(40))))) 4015 if _p == nil { 4016 goto _4 4017 } 4018 4019 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X1 */))) = _iType 4020 crt.XInitializeCriticalSection(tls, (*crt.XCRITICAL_SECTION)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) 4021 _4: 4022 goto _5 4023 4024 _3: 4025 if (_iType-i32(2)) >= i32(0) && (_iType-i32(2)) < i32(12) { 4026 goto _7 4027 } 4028 4029 _sqlite3MisuseError(tls, i32(24022)) 4030 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 4031 return 4032 4033 _7: 4034 _p = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_winMutex_staticMutexes)) + 40*uintptr(_iType-i32(2)))) 4035 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X1 */))) = _iType 4036 goto _5 4037 4038 _5: 4039 r0 = _p 4040 return 4041 4042 } 4043 4044 func _sqlite3MallocZero(tls *crt.TLS, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24766:1 4045 var _p unsafe.Pointer // sqlite3.c:24767:8 4046 _ = _p 4047 _p = _sqlite3Malloc(tls, _n) 4048 if _p == nil { 4049 goto _0 4050 } 4051 4052 crt.Xmemset(tls, _p, i32(0), uint32(_n)) 4053 _0: 4054 r0 = _p 4055 return 4056 4057 } 4058 4059 func _winMutexFree(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:24045:1 4060 func() int32 { 4061 if _p != nil { 4062 return i32(0) 4063 } 4064 return func() int32 { 4065 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24046), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexFreeØ00__func__Ø000))), unsafe.Pointer(str(3064))) 4066 crt.X__builtin_abort(tls) 4067 return i32(0) 4068 }() 4069 }() 4070 func() int32 { 4071 if ((_p.X2) == i32(0)) && ((_p.X3) == uint32(i32(0))) { 4072 return i32(0) 4073 } 4074 return func() int32 { 4075 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24047), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexFreeØ00__func__Ø000))), unsafe.Pointer(str(3068))) 4076 crt.X__builtin_abort(tls) 4077 return i32(0) 4078 }() 4079 }() 4080 if (_p.X1) != i32(0) && (_p.X1) != i32(1) { 4081 goto _6 4082 } 4083 4084 crt.XDeleteCriticalSection(tls, (*crt.XCRITICAL_SECTION)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) 4085 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 4086 goto _7 4087 4088 _6: 4089 _sqlite3MisuseError(tls, i32(24053)) 4090 _7: 4091 return 4092 4093 } 4094 4095 var _winMutexFreeØ00__func__Ø000 [13]int8 // - 4096 4097 func init() { 4098 crt.Xstrncpy(nil, &_winMutexFreeØ00__func__Ø000[0], str(3096), 13) 4099 } 4100 4101 func _winMutexEnter(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:24069:1 4102 var _tid uint32 // sqlite3.c:24071:9 4103 _ = _tid 4104 _tid = crt.XGetCurrentThreadId(tls) 4105 func() int32 { 4106 if _p != nil { 4107 return i32(0) 4108 } 4109 return func() int32 { 4110 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24074), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(3064))) 4111 crt.X__builtin_abort(tls) 4112 return i32(0) 4113 }() 4114 }() 4115 func() int32 { 4116 if ((_p.X1) == i32(1)) || _winMutexNotheld2(tls, _p, _tid) != 0 { 4117 return i32(0) 4118 } 4119 return func() int32 { 4120 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24075), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(3112))) 4121 crt.X__builtin_abort(tls) 4122 return i32(0) 4123 }() 4124 }() 4125 func() int32 { 4126 if _winMutex_isInit == i32(1) { 4127 return i32(0) 4128 } 4129 return func() int32 { 4130 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24079), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(3172))) 4131 crt.X__builtin_abort(tls) 4132 return i32(0) 4133 }() 4134 }() 4135 crt.XEnterCriticalSection(tls, (*crt.XCRITICAL_SECTION)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) 4136 func() int32 { 4137 if ((_p.X2) > i32(0)) || ((_p.X3) == uint32(i32(0))) { 4138 return i32(0) 4139 } 4140 return func() int32 { 4141 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24082), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(3192))) 4142 crt.X__builtin_abort(tls) 4143 return i32(0) 4144 }() 4145 }() 4146 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X3 */))) = _tid 4147 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X2 */))) += 1 4148 if (_p.X4) == 0 { 4149 goto _10 4150 } 4151 4152 _10: 4153 return 4154 4155 } 4156 4157 var _winMutexEnterØ00__func__Ø000 [14]int8 // - 4158 4159 func init() { 4160 crt.Xstrncpy(nil, &_winMutexEnterØ00__func__Ø000[0], str(3220), 14) 4161 } 4162 4163 func _winMutexNotheld2(tls *crt.TLS, _p *Xsqlite3_mutex, _tid uint32) (r0 int32) { // sqlite3.c:23855:1 4164 r0 = bool2int(((_p.X2) == i32(0)) || ((_p.X3) != _tid)) 4165 return 4166 4167 } 4168 4169 func _winMutexTry(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:24092:1 4170 var _tid uint32 // sqlite3.c:24094:9 4171 _ = _tid 4172 var _rc int32 // sqlite3.c:24096:7 4173 _ = _rc 4174 _tid = crt.XGetCurrentThreadId(tls) 4175 _rc = i32(5) 4176 func() int32 { 4177 if _p != nil { 4178 return i32(0) 4179 } 4180 return func() int32 { 4181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24097), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexTryØ00__func__Ø000))), unsafe.Pointer(str(3064))) 4182 crt.X__builtin_abort(tls) 4183 return i32(0) 4184 }() 4185 }() 4186 func() int32 { 4187 if ((_p.X1) == i32(1)) || _winMutexNotheld2(tls, _p, _tid) != 0 { 4188 return i32(0) 4189 } 4190 return func() int32 { 4191 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24098), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexTryØ00__func__Ø000))), unsafe.Pointer(str(3112))) 4192 crt.X__builtin_abort(tls) 4193 return i32(0) 4194 }() 4195 }() 4196 4197 if (_p.X4) == 0 { 4198 goto _5 4199 } 4200 4201 _5: 4202 r0 = _rc 4203 return 4204 4205 } 4206 4207 var _winMutexTryØ00__func__Ø000 [12]int8 // - 4208 4209 func init() { 4210 crt.Xstrncpy(nil, &_winMutexTryØ00__func__Ø000[0], str(3236), 12) 4211 } 4212 4213 func _winMutexLeave(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:24142:1 4214 var _tid uint32 // sqlite3.c:24144:9 4215 _ = _tid 4216 _tid = crt.XGetCurrentThreadId(tls) 4217 func() int32 { 4218 if _p != nil { 4219 return i32(0) 4220 } 4221 return func() int32 { 4222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24146), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3064))) 4223 crt.X__builtin_abort(tls) 4224 return i32(0) 4225 }() 4226 }() 4227 func() int32 { 4228 if (_p.X2) > i32(0) { 4229 return i32(0) 4230 } 4231 return func() int32 { 4232 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24148), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3248))) 4233 crt.X__builtin_abort(tls) 4234 return i32(0) 4235 }() 4236 }() 4237 func() int32 { 4238 if (_p.X3) == _tid { 4239 return i32(0) 4240 } 4241 return func() int32 { 4242 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24149), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3260))) 4243 crt.X__builtin_abort(tls) 4244 return i32(0) 4245 }() 4246 }() 4247 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X2 */))) -= 1 4248 if (_p.X2) != i32(0) { 4249 goto _6 4250 } 4251 4252 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X3 */))) = uint32(i32(0)) 4253 _6: 4254 func() int32 { 4255 if ((_p.X2) == i32(0)) || ((_p.X1) == i32(1)) { 4256 return i32(0) 4257 } 4258 return func() int32 { 4259 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24152), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3276))) 4260 crt.X__builtin_abort(tls) 4261 return i32(0) 4262 }() 4263 }() 4264 func() int32 { 4265 if _winMutex_isInit == i32(1) { 4266 return i32(0) 4267 } 4268 return func() int32 { 4269 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24154), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3172))) 4270 crt.X__builtin_abort(tls) 4271 return i32(0) 4272 }() 4273 }() 4274 crt.XLeaveCriticalSection(tls, (*crt.XCRITICAL_SECTION)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) 4275 if (_p.X4) == 0 { 4276 goto _12 4277 } 4278 4279 _12: 4280 return 4281 4282 } 4283 4284 var _winMutexLeaveØ00__func__Ø000 [14]int8 // - 4285 4286 func init() { 4287 crt.Xstrncpy(nil, &_winMutexLeaveØ00__func__Ø000[0], str(3320), 14) 4288 } 4289 4290 func _winMutexHeld(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23851:1 4291 r0 = bool2int(((_p.X2) != i32(0)) && ((_p.X3) == crt.XGetCurrentThreadId(tls))) 4292 return 4293 4294 } 4295 4296 func _winMutexNotheld(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23859:1 4297 var _tid uint32 // sqlite3.c:23860:9 4298 _ = _tid 4299 _tid = crt.XGetCurrentThreadId(tls) 4300 r0 = _winMutexNotheld2(tls, _p, _tid) 4301 return 4302 4303 } 4304 4305 func _sqlite3NoopMutex(tls *crt.TLS) (r0 *Xsqlite3_mutex_methods) { // sqlite3.c:23075:1 4306 r0 = &_sqlite3NoopMutexØ00sMutexØ001 4307 return 4308 4309 } 4310 4311 var _sqlite3NoopMutexØ00sMutexØ001 Xsqlite3_mutex_methods // sqlite3.c:23076:38 4312 4313 func init() { 4314 _sqlite3NoopMutexØ00sMutexØ001 = Xsqlite3_mutex_methods{X0: _debugMutexInit, X1: _debugMutexEnd, X2: *(*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 4315 f func(*crt.TLS, int32) *Xsqlite3_mutex 4316 }{_debugMutexAlloc})), X3: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 4317 f func(*crt.TLS, *Xsqlite3_mutex) 4318 }{_debugMutexFree})), X4: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 4319 f func(*crt.TLS, *Xsqlite3_mutex) 4320 }{_debugMutexEnter})), X5: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 4321 f func(*crt.TLS, *Xsqlite3_mutex) int32 4322 }{_debugMutexTry})), X6: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 4323 f func(*crt.TLS, *Xsqlite3_mutex) 4324 }{_debugMutexLeave})), X7: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 4325 f func(*crt.TLS, *Xsqlite3_mutex) int32 4326 }{_debugMutexHeld})), X8: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 4327 f func(*crt.TLS, *Xsqlite3_mutex) int32 4328 }{_debugMutexNotheld}))} 4329 } 4330 4331 func _debugMutexInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:22988:1 4332 r0 = i32(0) 4333 return 4334 4335 } 4336 4337 func _debugMutexEnd(tls *crt.TLS) (r0 int32) { // sqlite3.c:22989:1 4338 r0 = i32(0) 4339 return 4340 4341 } 4342 4343 func _debugMutexAlloc(tls *crt.TLS, _id int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:22996:1 4344 var _pNew *Xsqlite3_debug_mutex // sqlite3.c:22998:23 4345 _ = _pNew 4346 _pNew = nil 4347 switch _id { 4348 case i32(0): 4349 goto _1 4350 case i32(1): 4351 goto _2 4352 default: 4353 goto _3 4354 } 4355 4356 _1: 4357 _2: 4358 _pNew = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(u32(8))))) 4359 if _pNew == nil { 4360 goto _4 4361 } 4362 4363 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _id 4364 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = i32(0) 4365 _4: 4366 goto _5 4367 4368 _3: 4369 if (_id-i32(2)) >= i32(0) && (_id-i32(2)) < i32(12) { 4370 goto _7 4371 } 4372 4373 _sqlite3MisuseError(tls, i32(23012)) 4374 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 4375 return 4376 4377 _7: 4378 _pNew = (*Xsqlite3_debug_mutex)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_debugMutexAllocØ00aStaticØ001)) + 8*uintptr(_id-i32(2)))) 4379 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _id 4380 goto _5 4381 4382 _5: 4383 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_pNew)) 4384 return 4385 4386 } 4387 4388 var _debugMutexAllocØ00aStaticØ001 [12]Xsqlite3_debug_mutex // sqlite3.c:22997:30 4389 4390 func _debugMutexFree(tls *crt.TLS, _pX *Xsqlite3_mutex) { // sqlite3.c:23027:1 4391 var _p *Xsqlite3_debug_mutex // sqlite3.c:23028:23 4392 _ = _p 4393 _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) 4394 func() int32 { 4395 if (_p.X1) == i32(0) { 4396 return i32(0) 4397 } 4398 return func() int32 { 4399 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23029), unsafe.Pointer((*int8)(unsafe.Pointer(&_debugMutexFreeØ00__func__Ø000))), unsafe.Pointer(str(3336))) 4400 crt.X__builtin_abort(tls) 4401 return i32(0) 4402 }() 4403 }() 4404 if (_p.X0) != i32(1) && (_p.X0) != i32(0) { 4405 goto _3 4406 } 4407 4408 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 4409 goto _4 4410 4411 _3: 4412 _sqlite3MisuseError(tls, i32(23034)) 4413 _4: 4414 return 4415 4416 } 4417 4418 var _debugMutexFreeØ00__func__Ø000 [15]int8 // - 4419 4420 func init() { 4421 crt.Xstrncpy(nil, &_debugMutexFreeØ00__func__Ø000[0], str(3348), 15) 4422 } 4423 4424 func _debugMutexEnter(tls *crt.TLS, _pX *Xsqlite3_mutex) { // sqlite3.c:23050:1 4425 var _p *Xsqlite3_debug_mutex // sqlite3.c:23051:23 4426 _ = _p 4427 _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) 4428 func() int32 { 4429 if ((_p.X0) == i32(1)) || _debugMutexNotheld(tls, _pX) != 0 { 4430 return i32(0) 4431 } 4432 return func() int32 { 4433 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23052), unsafe.Pointer((*int8)(unsafe.Pointer(&_debugMutexEnterØ00__func__Ø000))), unsafe.Pointer(str(3364))) 4434 crt.X__builtin_abort(tls) 4435 return i32(0) 4436 }() 4437 }() 4438 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 4439 return 4440 4441 } 4442 4443 func _debugMutexNotheld(tls *crt.TLS, _pX *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22980:1 4444 var _p *Xsqlite3_debug_mutex // sqlite3.c:22981:23 4445 _ = _p 4446 _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) 4447 r0 = bool2int((_p == (*Xsqlite3_debug_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X1) == i32(0))) 4448 return 4449 4450 } 4451 4452 var _debugMutexEnterØ00__func__Ø000 [16]int8 // - 4453 4454 func init() { 4455 crt.Xstrncpy(nil, &_debugMutexEnterØ00__func__Ø000[0], str(3420), 16) 4456 } 4457 4458 func _debugMutexTry(tls *crt.TLS, _pX *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:23055:1 4459 var _p *Xsqlite3_debug_mutex // sqlite3.c:23056:23 4460 _ = _p 4461 _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) 4462 func() int32 { 4463 if ((_p.X0) == i32(1)) || _debugMutexNotheld(tls, _pX) != 0 { 4464 return i32(0) 4465 } 4466 return func() int32 { 4467 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23057), unsafe.Pointer((*int8)(unsafe.Pointer(&_debugMutexTryØ00__func__Ø000))), unsafe.Pointer(str(3364))) 4468 crt.X__builtin_abort(tls) 4469 return i32(0) 4470 }() 4471 }() 4472 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 4473 r0 = i32(0) 4474 return 4475 4476 } 4477 4478 var _debugMutexTryØ00__func__Ø000 [14]int8 // - 4479 4480 func init() { 4481 crt.Xstrncpy(nil, &_debugMutexTryØ00__func__Ø000[0], str(3436), 14) 4482 } 4483 4484 func _debugMutexLeave(tls *crt.TLS, _pX *Xsqlite3_mutex) { // sqlite3.c:23068:1 4485 var _p *Xsqlite3_debug_mutex // sqlite3.c:23069:23 4486 _ = _p 4487 _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) 4488 func() int32 { 4489 if _debugMutexHeld(tls, _pX) != 0 { 4490 return i32(0) 4491 } 4492 return func() int32 { 4493 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23070), unsafe.Pointer((*int8)(unsafe.Pointer(&_debugMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3452))) 4494 crt.X__builtin_abort(tls) 4495 return i32(0) 4496 }() 4497 }() 4498 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) -= 1 4499 func() int32 { 4500 if ((_p.X0) == i32(1)) || _debugMutexNotheld(tls, _pX) != 0 { 4501 return i32(0) 4502 } 4503 return func() int32 { 4504 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(23072), unsafe.Pointer((*int8)(unsafe.Pointer(&_debugMutexLeaveØ00__func__Ø000))), unsafe.Pointer(str(3364))) 4505 crt.X__builtin_abort(tls) 4506 return i32(0) 4507 }() 4508 }() 4509 return 4510 4511 } 4512 4513 func _debugMutexHeld(tls *crt.TLS, _pX *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22976:1 4514 var _p *Xsqlite3_debug_mutex // sqlite3.c:22977:23 4515 _ = _p 4516 _p = (*Xsqlite3_debug_mutex)(unsafe.Pointer(_pX)) 4517 r0 = bool2int((_p == (*Xsqlite3_debug_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X1) > i32(0))) 4518 return 4519 4520 } 4521 4522 var _debugMutexLeaveØ00__func__Ø000 [16]int8 // - 4523 4524 func init() { 4525 crt.Xstrncpy(nil, &_debugMutexLeaveØ00__func__Ø000[0], str(3472), 16) 4526 } 4527 4528 func _sqlite3MemoryBarrier(tls *crt.TLS) { // sqlite3.c:23870:1 4529 return 4530 4531 } 4532 4533 var _sqlite3MutexInitØ00__func__Ø000 [17]int8 // - 4534 4535 func init() { 4536 crt.Xstrncpy(nil, &_sqlite3MutexInitØ00__func__Ø000[0], str(3488), 17) 4537 } 4538 4539 var _mutexIsInit int32 // sqlite3.c:22739:23 4540 4541 func _sqlite3MutexAlloc(tls *crt.TLS, _id int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:22813:1 4542 if (_sqlite3Config.X1) != 0 { 4543 goto _0 4544 } 4545 4546 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 4547 return 4548 4549 _0: 4550 func() int32 { 4551 if _mutexIsInit != 0 { 4552 return i32(0) 4553 } 4554 return func() int32 { 4555 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22817), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MutexAllocØ00__func__Ø000))), unsafe.Pointer(str(3508))) 4556 crt.X__builtin_abort(tls) 4557 return i32(0) 4558 }() 4559 }() 4560 func() int32 { 4561 if (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { 4562 f func(*crt.TLS, int32) unsafe.Pointer 4563 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X2)}))) != nil { 4564 return i32(0) 4565 } 4566 return func() int32 { 4567 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22818), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MutexAllocØ00__func__Ø000))), unsafe.Pointer(str(3536))) 4568 crt.X__builtin_abort(tls) 4569 return i32(0) 4570 }() 4571 }() 4572 r0 = (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { 4573 f func(*crt.TLS, int32) unsafe.Pointer 4574 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X2)})))(tls, _id) 4575 return 4576 4577 } 4578 4579 var _sqlite3MutexAllocØ00__func__Ø000 [18]int8 // - 4580 4581 func init() { 4582 crt.Xstrncpy(nil, &_sqlite3MutexAllocØ00__func__Ø000[0], str(3576), 18) 4583 } 4584 4585 func _sqlite3MallocInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:24315:1 4586 var _rc int32 // sqlite3.c:24316:7 4587 _ = _rc 4588 var _2_i int32 // sqlite3.c:24324:9 4589 _ = _2_i 4590 var _2_n int32 // sqlite3.c:24324:12 4591 _ = _2_n 4592 var _2_sz int32 // sqlite3.c:24324:15 4593 _ = _2_sz 4594 var _2_pSlot *Xsqlite3_file // sqlite3.c:24325:21 4595 _ = _2_pSlot 4596 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 4597 f func(*crt.TLS, int32) unsafe.Pointer 4598 }{((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X0)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 4599 f func(*crt.TLS, int32) unsafe.Pointer 4600 }{nil})) { 4601 goto _0 4602 } 4603 4604 _sqlite3MemSetDefault(tls) 4605 _0: 4606 crt.Xmemset(tls, (unsafe.Pointer)(&_mem0), i32(0), u32(28)) 4607 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(0 /* X0 */))))) = _sqlite3MutexAlloc(tls, i32(3)) 4608 if (_sqlite3Config.X19) == nil || (_sqlite3Config.X20) < i32(100) || (_sqlite3Config.X21) <= i32(0) { 4609 goto _3 4610 } 4611 4612 _2_sz = (_sqlite3Config.X20) & i32(-8) 4613 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(196 /* X20 */))) = _2_sz 4614 _2_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_sqlite3Config.X19)) 4615 _2_n = _sqlite3Config.X21 4616 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(16 /* X3 */))))) = _2_pSlot 4617 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(20 /* X4 */))) = uint32(_2_n) 4618 _2_i = i32(0) 4619 _4: 4620 if _2_i >= (_2_n - i32(1)) { 4621 goto _7 4622 } 4623 4624 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_2_sz))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_2_pSlot)))))))) 4625 _2_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_2_pSlot.X0)) 4626 _2_i += 1 4627 goto _4 4628 4629 _7: 4630 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) 4631 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(12 /* X2 */))) = (unsafe.Pointer)((*Xsqlite3_file)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + 4*uintptr(i32(1))))) 4632 goto _8 4633 4634 _3: 4635 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(12 /* X2 */))) = (unsafe.Pointer)(uintptr(i32(0))) 4636 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(192 /* X19 */))) = (unsafe.Pointer)(uintptr(i32(0))) 4637 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(196 /* X20 */))) = i32(0) 4638 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(200 /* X21 */))) = i32(0) 4639 _8: 4640 if unsafe.Pointer(_sqlite3Config.X22) != (unsafe.Pointer)(uintptr(i32(0))) && (_sqlite3Config.X23) >= i32(512) && (_sqlite3Config.X24) > i32(0) { 4641 goto _11 4642 } 4643 4644 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(204 /* X22 */))) = (unsafe.Pointer)(uintptr(i32(0))) 4645 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(208 /* X23 */))) = i32(0) 4646 _11: 4647 _rc = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X5)(tls, (*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config))+uintptr(40 /* X10 */))).X7) 4648 if _rc == i32(0) { 4649 goto _12 4650 } 4651 4652 crt.Xmemset(tls, (unsafe.Pointer)(&_mem0), i32(0), u32(28)) 4653 _12: 4654 r0 = _rc 4655 return 4656 4657 } 4658 4659 func _sqlite3MemSetDefault(tls *crt.TLS) { // sqlite3.c:20898:1 4660 Xsqlite3_config(tls, i32(4), unsafe.Pointer(&_sqlite3MemSetDefaultØ00defaultMethodsØ001)) 4661 return 4662 4663 } 4664 4665 var _sqlite3MemSetDefaultØ00defaultMethodsØ001 Xsqlite3_mem_methods // sqlite3.c:20899:36 4666 4667 func init() { 4668 _sqlite3MemSetDefaultØ00defaultMethodsØ001 = Xsqlite3_mem_methods{X0: _sqlite3MemMalloc, X1: _sqlite3MemFree, X2: _sqlite3MemRealloc, X3: _sqlite3MemSize, X4: _sqlite3MemRoundup, X5: _sqlite3MemInit, X6: _sqlite3MemShutdown, X7: nil} 4669 } 4670 4671 func _sqlite3MemMalloc(tls *crt.TLS, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:20749:1 4672 var _p unsafe.Pointer // sqlite3.c:20751:8 4673 _ = _p 4674 _p = crt.Xmalloc(tls, uint32(_nByte)) 4675 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 4676 goto _0 4677 } 4678 4679 Xsqlite3_log(tls, i32(7), str(3596), _nByte) 4680 _0: 4681 r0 = _p 4682 return 4683 4684 } 4685 4686 func _sqlite3MemFree(tls *crt.TLS, _pPrior unsafe.Pointer) { // sqlite3.c:20783:1 4687 crt.Xfree(tls, _pPrior) 4688 return 4689 4690 } 4691 4692 func _sqlite3MemRealloc(tls *crt.TLS, _pPrior unsafe.Pointer, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:20821:1 4693 var _p unsafe.Pointer // sqlite3.c:20823:8 4694 _ = _p 4695 _p = crt.Xrealloc(tls, _pPrior, uint32(_nByte)) 4696 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 4697 goto _0 4698 } 4699 4700 Xsqlite3_log(tls, i32(7), str(3636), crt.Xmalloc_usable_size(tls, _pPrior), _nByte) 4701 _0: 4702 r0 = _p 4703 return 4704 4705 } 4706 4707 func _sqlite3MemSize(tls *crt.TLS, _pPrior unsafe.Pointer) (r0 int32) { // sqlite3.c:20798:1 4708 func() int32 { 4709 if _pPrior != (unsafe.Pointer)(uintptr(i32(0))) { 4710 return i32(0) 4711 } 4712 return func() int32 { 4713 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(20800), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MemSizeØ00__func__Ø000))), unsafe.Pointer(str(3672))) 4714 crt.X__builtin_abort(tls) 4715 return i32(0) 4716 }() 4717 }() 4718 r0 = int32(crt.Xmalloc_usable_size(tls, _pPrior)) 4719 return 4720 4721 } 4722 4723 var _sqlite3MemSizeØ00__func__Ø000 [15]int8 // - 4724 4725 func init() { 4726 crt.Xstrncpy(nil, &_sqlite3MemSizeØ00__func__Ø000[0], str(3684), 15) 4727 } 4728 4729 func _sqlite3MemRoundup(tls *crt.TLS, _n int32) (r0 int32) { // sqlite3.c:20853:1 4730 r0 = (_n + i32(7)) & i32(-8) 4731 return 4732 4733 } 4734 4735 func _sqlite3MemInit(tls *crt.TLS, _NotUsed unsafe.Pointer) (r0 int32) { // sqlite3.c:20860:1 4736 4737 r0 = i32(0) 4738 return 4739 4740 } 4741 4742 func _sqlite3MemShutdown(tls *crt.TLS, _NotUsed unsafe.Pointer) { // sqlite3.c:20887:1 4743 4744 return 4745 4746 } 4747 4748 func _sqlite3NomemError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143241:1 4749 r0 = _reportError(tls, i32(7), _lineno, str(3700)) 4750 return 4751 4752 } 4753 4754 var _sqlite3BuiltinFunctions XFuncDefHash // sqlite3.c:17377:28 4755 4756 func _sqlite3RegisterBuiltinFunctions(tls *crt.TLS) { // sqlite3.c:107035:1 4757 _sqlite3AlterFunctions(tls) 4758 _sqlite3RegisterDateTimeFunctions(tls) 4759 _sqlite3InsertBuiltinFuncs(tls, (*XFuncDef)(unsafe.Pointer(&_sqlite3RegisterBuiltinFunctionsØ00aBuiltinFuncØ001)), i32(60)) 4760 return 4761 4762 } 4763 4764 func _sqlite3AlterFunctions(tls *crt.TLS) { // sqlite3.c:96107:1 4765 _sqlite3InsertBuiltinFuncs(tls, (*XFuncDef)(unsafe.Pointer(&_sqlite3AlterFunctionsØ00aAlterTableFuncsØ001)), i32(3)) 4766 return 4767 4768 } 4769 4770 func _sqlite3InsertBuiltinFuncs(tls *crt.TLS, _aDef *XFuncDef, _nDef int32) { // sqlite3.c:104202:1 4771 var _i int32 // sqlite3.c:104206:7 4772 _ = _i 4773 var _1_pOther *XFuncDef // sqlite3.c:104208:13 4774 _ = _1_pOther 4775 var _1_zName *int8 // sqlite3.c:104209:16 4776 _ = _1_zName 4777 var _1_nName int32 // sqlite3.c:104210:9 4778 _ = _1_nName 4779 var _1_h int32 // sqlite3.c:104211:9 4780 _ = _1_h 4781 _i = i32(0) 4782 _0: 4783 if _i >= _nDef { 4784 goto _3 4785 } 4786 4787 _1_zName = (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef)) + 28*uintptr(_i))).X6 4788 _1_nName = _sqlite3Strlen30(tls, _1_zName) 4789 _1_h = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zName)) + 1*uintptr(i32(0))))))))) + _1_nName) % i32(23) 4790 _1_pOther = _functionSearch(tls, _1_h, _1_zName) 4791 if _1_pOther == nil { 4792 goto _4 4793 } 4794 4795 func() int32 { 4796 if (_1_pOther != (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+28*uintptr(_i)))) && ((*XFuncDef)(unsafe.Pointer(_1_pOther.X3)) != (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+28*uintptr(_i)))) { 4797 return i32(0) 4798 } 4799 return func() int32 { 4800 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104214), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertBuiltinFuncsØ00__func__Ø000))), unsafe.Pointer(str(3704))) 4801 crt.X__builtin_abort(tls) 4802 return i32(0) 4803 }() 4804 }() 4805 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+28*uintptr(_i))))) + uintptr(8 /* X3 */))))) = (*XFuncDef)(unsafe.Pointer(_1_pOther.X3)) 4806 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOther)) + uintptr(8 /* X3 */))))) = (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef)) + 28*uintptr(_i))) 4807 goto _8 4808 4809 _4: 4810 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+28*uintptr(_i))))) + uintptr(8 /* X3 */))))) = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) 4811 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef))+28*uintptr(_i))))) + uintptr(24 /* X7 */))))))) = *(**XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[23]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3BuiltinFunctions))+uintptr(0 /* X0 */))))) + 4*uintptr(_1_h))) 4812 *(**XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[23]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3BuiltinFunctions))+uintptr(0 /* X0 */))))) + 4*uintptr(_1_h))) = (*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDef)) + 28*uintptr(_i))) 4813 _8: 4814 _i += 1 4815 goto _0 4816 4817 _3: 4818 return 4819 4820 } 4821 4822 func _sqlite3Strlen30(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:27721:1 4823 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 4824 goto _0 4825 } 4826 4827 r0 = i32(0) 4828 return 4829 4830 _0: 4831 r0 = i32(1073741823) & int32(crt.Xstrlen(tls, _z)) 4832 return 4833 4834 } 4835 4836 var _sqlite3UpperToLower [256]uint8 // sqlite3.c:17155:36 4837 4838 func init() { 4839 _sqlite3UpperToLower = [256]uint8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255} 4840 } 4841 4842 func _functionSearch(tls *crt.TLS, _h int32, _zFunc *int8) (r0 *XFuncDef) { // sqlite3.c:104186:1 4843 var _p *XFuncDef // sqlite3.c:104190:11 4844 _ = _p 4845 _p = *(**XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[23]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3BuiltinFunctions))+uintptr(0 /* X0 */))))) + 4*uintptr(_h))) 4846 _0: 4847 if _p == nil { 4848 goto _3 4849 } 4850 4851 if _sqlite3StrICmp(tls, _p.X6, _zFunc) != i32(0) { 4852 goto _4 4853 } 4854 4855 r0 = _p 4856 return 4857 4858 _4: 4859 _p = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))))))) 4860 goto _0 4861 4862 _3: 4863 r0 = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) 4864 return 4865 4866 } 4867 4868 func _sqlite3StrICmp(tls *crt.TLS, _zLeft *int8, _zRight *int8) (r0 int32) { // sqlite3.c:27911:1 4869 var _a *uint8 // sqlite3.c:27912:17 4870 _ = _a 4871 var _b *uint8 // sqlite3.c:27912:21 4872 _ = _b 4873 var _c int32 // sqlite3.c:27913:7 4874 _ = _c 4875 _a = (*uint8)(unsafe.Pointer(_zLeft)) 4876 _b = (*uint8)(unsafe.Pointer(_zRight)) 4877 _0: 4878 _c = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_a)))) - int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_b)))) 4879 if _c == 0 && int32(*_a) != i32(0) { 4880 goto _4 4881 } 4882 4883 goto _2 4884 4885 _4: 4886 *(*uintptr)(unsafe.Pointer(&_a)) += uintptr(1) 4887 *(*uintptr)(unsafe.Pointer(&_b)) += uintptr(1) 4888 goto _0 4889 4890 _2: 4891 r0 = _c 4892 return 4893 4894 } 4895 4896 var _sqlite3InsertBuiltinFuncsØ00__func__Ø000 [26]int8 // - 4897 4898 func init() { 4899 crt.Xstrncpy(nil, &_sqlite3InsertBuiltinFuncsØ00__func__Ø000[0], str(3748), 26) 4900 } 4901 4902 var _sqlite3AlterFunctionsØ00aAlterTableFuncsØ001 [3]XFuncDef // sqlite3.c:96108:18 4903 4904 func init() { 4905 _sqlite3AlterFunctionsØ00aAlterTableFuncsØ001 = [3]XFuncDef{XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 4906 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 4907 }{_renameTableFunc})), X5: nil, X6: str(3776), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 4908 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 4909 }{_renameTriggerFunc})), X5: nil, X6: str(3796), X7: T7789635{}}, XFuncDef{X0: i8(3), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 4910 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 4911 }{_renameParentFunc})), X5: nil, X6: str(3820), X7: T7789635{}}} 4912 } 4913 4914 func _renameTableFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:95913:1 4915 var _zSql *uint8 // sqlite3.c:95918:23 4916 _ = _zSql 4917 var _zTableName *uint8 // sqlite3.c:95919:23 4918 _ = _zTableName 4919 var _token int32 // sqlite3.c:95921:7 4920 _ = _token 4921 var _tname XToken // sqlite3.c:95922:9 4922 _ = _tname 4923 var _zCsr *uint8 // sqlite3.c:95923:23 4924 _ = _zCsr 4925 var _len int32 // sqlite3.c:95924:7 4926 _ = _len 4927 var _zRet *int8 // sqlite3.c:95925:8 4928 _ = _zRet 4929 var _db *Xsqlite3 // sqlite3.c:95927:11 4930 _ = _db 4931 _zSql = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 4932 _zTableName = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 4933 _zCsr = _zSql 4934 _len = i32(0) 4935 _db = Xsqlite3_context_db_handle(tls, _context) 4936 4937 if _zSql == nil { 4938 goto _0 4939 } 4940 4941 _1: 4942 if (*_zCsr) != 0 { 4943 goto _2 4944 } 4945 4946 return 4947 4948 _2: 4949 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(_zCsr)) 4950 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(4 /* X1 */))) = uint32(_len) 4951 _3: 4952 { 4953 p := &_zCsr 4954 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_len))) 4955 sink6921 = *p 4956 } 4957 _len = _sqlite3GetToken(tls, _zCsr, &_token) 4958 if _token == i32(162) { 4959 goto _3 4960 } 4961 4962 func() int32 { 4963 if _len > i32(0) { 4964 return i32(0) 4965 } 4966 return func() int32 { 4967 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95953), unsafe.Pointer((*int8)(unsafe.Pointer(&_renameTableFuncØ00__func__Ø000))), unsafe.Pointer(str(3844))) 4968 crt.X__builtin_abort(tls) 4969 return i32(0) 4970 }() 4971 }() 4972 if (_token != i32(22)) && (_token != i32(125)) { 4973 goto _1 4974 } 4975 4976 _zRet = _sqlite3MPrintf(tls, _db, str(3852), int32((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_tname.X0))))-uintptr(unsafe.Pointer(_zSql)))/1), unsafe.Pointer(_zSql), unsafe.Pointer(_zTableName), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_tname.X0))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_tname.X1))))))))) 4977 Xsqlite3_result_text(tls, _context, _zRet, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 4978 f func(*crt.TLS, unsafe.Pointer) int32 4979 }{_sqlite3MallocSize}))) 4980 _0: 4981 return 4982 4983 } 4984 4985 func Xsqlite3_value_text(tls *crt.TLS, _pVal *XMem) (r0 *uint8) { // sqlite3.c:76206:12 4986 r0 = (*uint8)(unsafe.Pointer(_sqlite3ValueText(tls, _pVal, uint8(i32(1))))) 4987 return 4988 4989 } 4990 4991 func _sqlite3ValueText(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 unsafe.Pointer) { // sqlite3.c:70666:1 4992 if _pVal != nil { 4993 goto _0 4994 } 4995 4996 r0 = (unsafe.Pointer)(uintptr(i32(0))) 4997 return 4998 4999 _0: 5000 func() int32 { 5001 if ((*Xsqlite3)(unsafe.Pointer(_pVal.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pVal.X9)).X3))) != 0 { 5002 return i32(0) 5003 } 5004 return func() int32 { 5005 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70668), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ValueTextØ00__func__Ø000))), unsafe.Pointer(str(3864))) 5006 crt.X__builtin_abort(tls) 5007 return i32(0) 5008 }() 5009 }() 5010 func() int32 { 5011 if (int32(_enc) & i32(3)) == (int32(_enc) & i32(-9)) { 5012 return i32(0) 5013 } 5014 return func() int32 { 5015 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70669), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ValueTextØ00__func__Ø000))), unsafe.Pointer(str(3916))) 5016 crt.X__builtin_abort(tls) 5017 return i32(0) 5018 }() 5019 }() 5020 func() int32 { 5021 if (int32(_pVal.X1) & i32(32)) == i32(0) { 5022 return i32(0) 5023 } 5024 return func() int32 { 5025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70670), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ValueTextØ00__func__Ø000))), unsafe.Pointer(str(3956))) 5026 crt.X__builtin_abort(tls) 5027 return i32(0) 5028 }() 5029 }() 5030 if (int32(_pVal.X1)&i32(514)) != i32(514) || int32(_pVal.X2) != int32(_enc) { 5031 goto _9 5032 } 5033 5034 r0 = (unsafe.Pointer)(_pVal.X5) 5035 return 5036 5037 _9: 5038 if (int32(_pVal.X1) & i32(1)) == 0 { 5039 goto _10 5040 } 5041 5042 r0 = (unsafe.Pointer)(uintptr(i32(0))) 5043 return 5044 5045 _10: 5046 r0 = _valueToText(tls, _pVal, _enc) 5047 return 5048 5049 } 5050 5051 var _sqlite3ValueTextØ00__func__Ø000 [17]int8 // - 5052 5053 func init() { 5054 crt.Xstrncpy(nil, &_sqlite3ValueTextØ00__func__Ø000[0], str(3988), 17) 5055 } 5056 5057 func _valueToText(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 unsafe.Pointer) { // sqlite3.c:70624:1 5058 func() int32 { 5059 if _pVal != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 5060 return i32(0) 5061 } 5062 return func() int32 { 5063 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70625), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(4008))) 5064 crt.X__builtin_abort(tls) 5065 return i32(0) 5066 }() 5067 }() 5068 func() int32 { 5069 if ((*Xsqlite3)(unsafe.Pointer(_pVal.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pVal.X9)).X3))) != 0 { 5070 return i32(0) 5071 } 5072 return func() int32 { 5073 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70626), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(3864))) 5074 crt.X__builtin_abort(tls) 5075 return i32(0) 5076 }() 5077 }() 5078 func() int32 { 5079 if (int32(_enc) & i32(3)) == (int32(_enc) & i32(-9)) { 5080 return i32(0) 5081 } 5082 return func() int32 { 5083 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70627), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(3916))) 5084 crt.X__builtin_abort(tls) 5085 return i32(0) 5086 }() 5087 }() 5088 func() int32 { 5089 if (int32(_pVal.X1) & i32(32)) == i32(0) { 5090 return i32(0) 5091 } 5092 return func() int32 { 5093 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70628), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(3956))) 5094 crt.X__builtin_abort(tls) 5095 return i32(0) 5096 }() 5097 }() 5098 func() int32 { 5099 if (int32(_pVal.X1) & i32(1)) == i32(0) { 5100 return i32(0) 5101 } 5102 return func() int32 { 5103 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70629), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(4016))) 5104 crt.X__builtin_abort(tls) 5105 return i32(0) 5106 }() 5107 }() 5108 if (int32(_pVal.X1) & i32(18)) == 0 { 5109 goto _11 5110 } 5111 5112 if func() int32 { 5113 if (int32(_pVal.X1) & i32(16384)) != 0 { 5114 return _sqlite3VdbeMemExpandBlob(tls, _pVal) 5115 } 5116 return i32(0) 5117 }() == 0 { 5118 goto _14 5119 } 5120 5121 r0 = (unsafe.Pointer)(uintptr(i32(0))) 5122 return 5123 5124 _14: 5125 { 5126 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(8 /* X1 */))) 5127 *p = uint16(int32(*p) | i32(2)) 5128 sink6908 = *p 5129 } 5130 if int32(_pVal.X2) == (int32(_enc) & i32(-9)) { 5131 goto _15 5132 } 5133 5134 _sqlite3VdbeChangeEncoding(tls, _pVal, int32(_enc)&i32(-9)) 5135 _15: 5136 if (int32(_enc)&i32(8)) == i32(0) || i32(1) != (i32(1)&int32(uintptr(unsafe.Pointer(_pVal.X5)))) { 5137 goto _17 5138 } 5139 5140 func() int32 { 5141 if (int32(_pVal.X1) & i32(6144)) != i32(0) { 5142 return i32(0) 5143 } 5144 return func() int32 { 5145 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70637), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(4048))) 5146 crt.X__builtin_abort(tls) 5147 return i32(0) 5148 }() 5149 }() 5150 if _sqlite3VdbeMemMakeWriteable(tls, _pVal) == i32(0) { 5151 goto _20 5152 } 5153 5154 r0 = (unsafe.Pointer)(uintptr(i32(0))) 5155 return 5156 5157 _20: 5158 _17: 5159 _sqlite3VdbeMemNulTerminate(tls, _pVal) 5160 goto _21 5161 5162 _11: 5163 _sqlite3VdbeMemStringify(tls, _pVal, _enc, uint8(i32(0))) 5164 func() int32 { 5165 if i32(0) == (i32(1) & int32(uintptr(unsafe.Pointer(_pVal.X5)))) { 5166 return i32(0) 5167 } 5168 return func() int32 { 5169 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70645), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(4092))) 5170 crt.X__builtin_abort(tls) 5171 return i32(0) 5172 }() 5173 }() 5174 _21: 5175 func() int32 { 5176 if ((int32(_pVal.X2) == (int32(_enc) & i32(-9))) || ((*Xsqlite3)(unsafe.Pointer(_pVal.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))))) || (((*Xsqlite3)(unsafe.Pointer(_pVal.X9)).X17) != 0) { 5177 return i32(0) 5178 } 5179 return func() int32 { 5180 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70647), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueToTextØ00__func__Ø000))), unsafe.Pointer(str(4128))) 5181 crt.X__builtin_abort(tls) 5182 return i32(0) 5183 }() 5184 }() 5185 if int32(_pVal.X2) != (int32(_enc) & i32(-9)) { 5186 goto _28 5187 } 5188 5189 r0 = (unsafe.Pointer)(_pVal.X5) 5190 return 5191 5192 _28: 5193 r0 = (unsafe.Pointer)(uintptr(i32(0))) 5194 return 5195 5196 } 5197 5198 var _valueToTextØ00__func__Ø000 [12]int8 // - 5199 5200 func init() { 5201 crt.Xstrncpy(nil, &_valueToTextØ00__func__Ø000[0], str(4212), 12) 5202 } 5203 5204 func _sqlite3VdbeMemExpandBlob(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69836:1 5205 var _nByte int32 // sqlite3.c:69837:7 5206 _ = _nByte 5207 func() int32 { 5208 if (int32(_pMem.X1) & i32(16384)) != 0 { 5209 return i32(0) 5210 } 5211 return func() int32 { 5212 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69838), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemExpandBlobØ00__func__Ø000))), unsafe.Pointer(str(4224))) 5213 crt.X__builtin_abort(tls) 5214 return i32(0) 5215 }() 5216 }() 5217 func() int32 { 5218 if (int32(_pMem.X1) & i32(16)) != 0 { 5219 return i32(0) 5220 } 5221 return func() int32 { 5222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69839), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemExpandBlobØ00__func__Ø000))), unsafe.Pointer(str(4248))) 5223 crt.X__builtin_abort(tls) 5224 return i32(0) 5225 }() 5226 }() 5227 func() int32 { 5228 if (int32(_pMem.X1) & i32(32)) == i32(0) { 5229 return i32(0) 5230 } 5231 return func() int32 { 5232 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69840), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemExpandBlobØ00__func__Ø000))), unsafe.Pointer(str(4272))) 5233 crt.X__builtin_abort(tls) 5234 return i32(0) 5235 }() 5236 }() 5237 func() int32 { 5238 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 5239 return i32(0) 5240 } 5241 return func() int32 { 5242 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69841), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemExpandBlobØ00__func__Ø000))), unsafe.Pointer(str(4300))) 5243 crt.X__builtin_abort(tls) 5244 return i32(0) 5245 }() 5246 }() 5247 _nByte = (_pMem.X4) + (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 5248 if _nByte > i32(0) { 5249 goto _9 5250 } 5251 5252 _nByte = i32(1) 5253 _9: 5254 if _sqlite3VdbeMemGrow(tls, _pMem, _nByte, i32(1)) == 0 { 5255 goto _10 5256 } 5257 5258 r0 = _sqlite3NomemError(tls, i32(69849)) 5259 return 5260 5261 _10: 5262 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5))+1*uintptr(_pMem.X4)))), i32(0), uint32(*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) 5263 { 5264 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) 5265 *p = (*p) + (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 5266 sink961 = *p 5267 } 5268 { 5269 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 5270 *p = uint16(int32(*p) & i32(-16897)) 5271 sink6908 = *p 5272 } 5273 r0 = i32(0) 5274 return 5275 5276 } 5277 5278 var _sqlite3VdbeMemExpandBlobØ00__func__Ø000 [25]int8 // - 5279 5280 func init() { 5281 crt.Xstrncpy(nil, &_sqlite3VdbeMemExpandBlobØ00__func__Ø000[0], str(4352), 25) 5282 } 5283 5284 func _sqlite3VdbeMemGrow(tls *crt.TLS, _pMem *XMem, _n int32, _bPreserve int32) (r0 int32) { // sqlite3.c:69734:1 5285 func() int32 { 5286 if _sqlite3VdbeCheckMemInvariants(tls, _pMem) != 0 { 5287 return i32(0) 5288 } 5289 return func() int32 { 5290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69735), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemGrowØ00__func__Ø000))), unsafe.Pointer(str(4380))) 5291 crt.X__builtin_abort(tls) 5292 return i32(0) 5293 }() 5294 }() 5295 func() int32 { 5296 if (int32(_pMem.X1) & i32(32)) == i32(0) { 5297 return i32(0) 5298 } 5299 return func() int32 { 5300 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69736), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemGrowØ00__func__Ø000))), unsafe.Pointer(str(4272))) 5301 crt.X__builtin_abort(tls) 5302 return i32(0) 5303 }() 5304 }() 5305 func() int32 { 5306 if (_bPreserve == i32(0)) || (int32(_pMem.X1)&i32(18)) != 0 { 5307 return i32(0) 5308 } 5309 return func() int32 { 5310 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69741), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemGrowØ00__func__Ø000))), unsafe.Pointer(str(4416))) 5311 crt.X__builtin_abort(tls) 5312 return i32(0) 5313 }() 5314 }() 5315 func() int32 { 5316 if ((_pMem.X7) == i32(0)) || ((_pMem.X7) == _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6))) { 5317 return i32(0) 5318 } 5319 return func() int32 { 5320 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69744), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemGrowØ00__func__Ø000))), unsafe.Pointer(str(4464))) 5321 crt.X__builtin_abort(tls) 5322 return i32(0) 5323 }() 5324 }() 5325 if (_pMem.X7) >= _n { 5326 goto _10 5327 } 5328 5329 if _n >= i32(32) { 5330 goto _11 5331 } 5332 5333 _n = i32(32) 5334 _11: 5335 if _bPreserve == 0 || (_pMem.X7) <= i32(0) || (_pMem.X5) != (_pMem.X6) { 5336 goto _14 5337 } 5338 5339 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(20 /* X6 */))), (*int8)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X5), uint64(_n))))) 5340 _bPreserve = i32(0) 5341 goto _15 5342 5343 _14: 5344 if (_pMem.X7) <= i32(0) { 5345 goto _16 5346 } 5347 5348 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) 5349 _16: 5350 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(20 /* X6 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), uint64(_n)))) 5351 _15: 5352 if (_pMem.X6) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 5353 goto _17 5354 } 5355 5356 _sqlite3VdbeMemSetNull(tls, _pMem) 5357 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 5358 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = i32(0) 5359 r0 = _sqlite3NomemError(tls, i32(69759)) 5360 return 5361 5362 _17: 5363 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) 5364 _10: 5365 if _bPreserve == 0 || (_pMem.X5) == nil || (_pMem.X5) == (_pMem.X6) { 5366 goto _21 5367 } 5368 5369 crt.Xmemcpy(tls, (unsafe.Pointer)(_pMem.X6), (unsafe.Pointer)(_pMem.X5), uint32(_pMem.X4)) 5370 _21: 5371 if (int32(_pMem.X1) & i32(1024)) == i32(0) { 5372 goto _22 5373 } 5374 5375 func() int32 { 5376 if (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 5377 f func(*crt.TLS, unsafe.Pointer) 5378 }{(_pMem.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 5379 f func(*crt.TLS, unsafe.Pointer) 5380 }{nil}))) && (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 5381 f func(*crt.TLS, unsafe.Pointer) 5382 }{(_pMem.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 5383 f func(*crt.TLS, unsafe.Pointer) 5384 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 5385 f func(*crt.TLS, unsafe.Pointer) int32 5386 }{_sqlite3MallocSize})))}))) { 5387 return i32(0) 5388 } 5389 return func() int32 { 5390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69769), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemGrowØ00__func__Ø000))), unsafe.Pointer(str(4548))) 5391 crt.X__builtin_abort(tls) 5392 return i32(0) 5393 }() 5394 }() 5395 (_pMem.X10)(tls, (unsafe.Pointer)(_pMem.X5)) 5396 _22: 5397 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _pMem.X6 5398 { 5399 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 5400 *p = uint16(int32(*p) & i32(-7169)) 5401 sink6908 = *p 5402 } 5403 r0 = i32(0) 5404 return 5405 5406 } 5407 5408 func _sqlite3VdbeCheckMemInvariants(tls *crt.TLS, _p *XMem) (r0 int32) { // sqlite3.c:69646:1 5409 func() int32 { 5410 if ((int32(_p.X1) & i32(1024)) == i32(0)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 5411 f func(*crt.TLS, unsafe.Pointer) 5412 }{(_p.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 5413 f func(*crt.TLS, unsafe.Pointer) 5414 }{nil}))) { 5415 return i32(0) 5416 } 5417 return func() int32 { 5418 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69650), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000))), unsafe.Pointer(str(4592))) 5419 crt.X__builtin_abort(tls) 5420 return i32(0) 5421 }() 5422 }() 5423 func() int32 { 5424 if ((int32(_p.X1) & i32(1024)) == i32(0)) || ((_p.X7) == i32(0)) { 5425 return i32(0) 5426 } 5427 return func() int32 { 5428 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69656), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000))), unsafe.Pointer(str(4632))) 5429 crt.X__builtin_abort(tls) 5430 return i32(0) 5431 }() 5432 }() 5433 func() int32 { 5434 if (int32(_p.X1) & i32(12)) != i32(12) { 5435 return i32(0) 5436 } 5437 return func() int32 { 5438 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69659), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000))), unsafe.Pointer(str(4676))) 5439 crt.X__builtin_abort(tls) 5440 return i32(0) 5441 }() 5442 }() 5443 func() int32 { 5444 if ((_p.X7) == i32(0)) || ((_p.X7) == _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_p.X9)), (unsafe.Pointer)(_p.X6))) { 5445 return i32(0) 5446 } 5447 return func() int32 { 5448 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69662), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000))), unsafe.Pointer(str(4728))) 5449 crt.X__builtin_abort(tls) 5450 return i32(0) 5451 }() 5452 }() 5453 if (int32(_p.X1)&i32(18)) == 0 || (_p.X4) <= i32(0) { 5454 goto _12 5455 } 5456 5457 func() int32 { 5458 if (((func() int32 { 5459 if ((_p.X7) > i32(0)) && ((_p.X5) == (_p.X6)) { 5460 return i32(1) 5461 } 5462 return i32(0) 5463 }() + func() int32 { 5464 if (int32(_p.X1) & i32(1024)) != i32(0) { 5465 return i32(1) 5466 } 5467 return i32(0) 5468 }()) + func() int32 { 5469 if (int32(_p.X1) & i32(4096)) != i32(0) { 5470 return i32(1) 5471 } 5472 return i32(0) 5473 }()) + func() int32 { 5474 if (int32(_p.X1) & i32(2048)) != i32(0) { 5475 return i32(1) 5476 } 5477 return i32(0) 5478 }()) == i32(1) { 5479 return i32(0) 5480 } 5481 return func() int32 { 5482 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69674), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000))), unsafe.Pointer(str(4800))) 5483 crt.X__builtin_abort(tls) 5484 return i32(0) 5485 }() 5486 }() 5487 _12: 5488 r0 = i32(1) 5489 return 5490 5491 } 5492 5493 var _sqlite3VdbeCheckMemInvariantsØ00__func__Ø000 [30]int8 // - 5494 5495 func init() { 5496 crt.Xstrncpy(nil, &_sqlite3VdbeCheckMemInvariantsØ00__func__Ø000[0], str(4960), 30) 5497 } 5498 5499 var _sqlite3VdbeMemGrowØ00__func__Ø000 [19]int8 // - 5500 5501 func init() { 5502 crt.Xstrncpy(nil, &_sqlite3VdbeMemGrowØ00__func__Ø000[0], str(4992), 19) 5503 } 5504 5505 func _sqlite3DbReallocOrFree(tls *crt.TLS, _db *Xsqlite3, _p unsafe.Pointer, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24908:1 5506 var _pNew unsafe.Pointer // sqlite3.c:24909:8 5507 _ = _pNew 5508 _pNew = _sqlite3DbRealloc(tls, _db, _p, _n) 5509 if _pNew != nil { 5510 goto _0 5511 } 5512 5513 _sqlite3DbFree(tls, _db, _p) 5514 _0: 5515 r0 = _pNew 5516 return 5517 5518 } 5519 5520 func _sqlite3DbMallocRaw(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24822:1 5521 var _p unsafe.Pointer // sqlite3.c:24823:8 5522 _ = _p 5523 if _db == nil { 5524 goto _0 5525 } 5526 5527 r0 = _sqlite3DbMallocRawNN(tls, _db, _n) 5528 return 5529 5530 _0: 5531 _p = _sqlite3Malloc(tls, _n) 5532 r0 = _p 5533 return 5534 5535 } 5536 5537 func _sqlite3VdbeMemSetNull(tls *crt.TLS, _pMem *XMem) { // sqlite3.c:70269:1 5538 if (int32(_pMem.X1) & i32(9312)) == i32(0) { 5539 goto _0 5540 } 5541 5542 _vdbeMemClearExternAndSetNull(tls, _pMem) 5543 goto _1 5544 5545 _0: 5546 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 5547 _1: 5548 return 5549 5550 } 5551 5552 func _vdbeMemClearExternAndSetNull(tls *crt.TLS, _p *XMem) { // sqlite3.c:69978:1 5553 var _4_pFrame *XVdbeFrame // sqlite3.c:69993:15 5554 _ = _4_pFrame 5555 func() int32 { 5556 if ((*Xsqlite3)(unsafe.Pointer(_p.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X9)).X3))) != 0 { 5557 return i32(0) 5558 } 5559 return func() int32 { 5560 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69979), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMemClearExternAndSetNullØ00__func__Ø000))), unsafe.Pointer(str(5012))) 5561 crt.X__builtin_abort(tls) 5562 return i32(0) 5563 }() 5564 }() 5565 func() int32 { 5566 if (int32(_p.X1) & i32(9312)) != i32(0) { 5567 return i32(0) 5568 } 5569 return func() int32 { 5570 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69980), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMemClearExternAndSetNullØ00__func__Ø000))), unsafe.Pointer(str(5060))) 5571 crt.X__builtin_abort(tls) 5572 return i32(0) 5573 }() 5574 }() 5575 if (int32(_p.X1) & i32(8192)) == 0 { 5576 goto _5 5577 } 5578 5579 _sqlite3VdbeMemFinalize(tls, _p, (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))))) 5580 func() int32 { 5581 if (int32(_p.X1) & i32(8192)) == i32(0) { 5582 return i32(0) 5583 } 5584 return func() int32 { 5585 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69983), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMemClearExternAndSetNullØ00__func__Ø000))), unsafe.Pointer(str(5080))) 5586 crt.X__builtin_abort(tls) 5587 return i32(0) 5588 }() 5589 }() 5590 _5: 5591 if (int32(_p.X1) & i32(1024)) == 0 { 5592 goto _8 5593 } 5594 5595 func() int32 { 5596 if (int32(_p.X1) & i32(32)) == i32(0) { 5597 return i32(0) 5598 } 5599 return func() int32 { 5600 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69987), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMemClearExternAndSetNullØ00__func__Ø000))), unsafe.Pointer(str(5104))) 5601 crt.X__builtin_abort(tls) 5602 return i32(0) 5603 }() 5604 }() 5605 func() int32 { 5606 if (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 5607 f func(*crt.TLS, unsafe.Pointer) 5608 }{(_p.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 5609 f func(*crt.TLS, unsafe.Pointer) 5610 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 5611 f func(*crt.TLS, unsafe.Pointer) int32 5612 }{_sqlite3MallocSize})))}))) && (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 5613 f func(*crt.TLS, unsafe.Pointer) 5614 }{(_p.X10)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 5615 f func(*crt.TLS, unsafe.Pointer) 5616 }{nil}))) { 5617 return i32(0) 5618 } 5619 return func() int32 { 5620 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69988), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMemClearExternAndSetNullØ00__func__Ø000))), unsafe.Pointer(str(5132))) 5621 crt.X__builtin_abort(tls) 5622 return i32(0) 5623 }() 5624 }() 5625 (_p.X10)(tls, (unsafe.Pointer)(_p.X5)) 5626 goto _14 5627 5628 _8: 5629 if (int32(_p.X1) & i32(32)) == 0 { 5630 goto _15 5631 } 5632 5633 _sqlite3RowSetClear(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))))) 5634 goto _16 5635 5636 _15: 5637 if (int32(_p.X1) & i32(64)) == 0 { 5638 goto _17 5639 } 5640 5641 _4_pFrame = (*XVdbeFrame)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))))) 5642 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pFrame)) + uintptr(4 /* X1 */))))) = (*XVdbeFrame)(unsafe.Pointer((*XVdbe)(unsafe.Pointer(_4_pFrame.X0)).X39)) 5643 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_4_pFrame.X0) + uintptr(184 /* X39 */))))) = _4_pFrame 5644 _17: 5645 _16: 5646 _14: 5647 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 5648 return 5649 5650 } 5651 5652 var _vdbeMemClearExternAndSetNullØ00__func__Ø000 [29]int8 // - 5653 5654 func init() { 5655 crt.Xstrncpy(nil, &_vdbeMemClearExternAndSetNullØ00__func__Ø000[0], str(5172), 29) 5656 } 5657 5658 func _sqlite3VdbeMemFinalize(tls *crt.TLS, _pMem *XMem, _pFunc *XFuncDef) (r0 int32) { // sqlite3.c:69946:1 5659 var _rc int32 // sqlite3.c:69947:7 5660 _ = _rc 5661 var _1_ctx Xsqlite3_context // sqlite3.c:69949:21 5662 _ = _1_ctx 5663 var _1_t XMem // sqlite3.c:69950:9 5664 _ = _1_t 5665 _rc = i32(0) 5666 if func() int32 { 5667 if (_pFunc != nil) && ((*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { 5668 f func(*crt.TLS, unsafe.Pointer) 5669 }{(_pFunc.X5)}))) != nil) { 5670 return i32(1) 5671 } 5672 return func() int32 { 5673 func() int32 { 5674 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69948), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFinalizeØ00__func__Ø000))), unsafe.Pointer(str(5204))) 5675 crt.X__builtin_abort(tls) 5676 return i32(0) 5677 }() 5678 return i32(0) 5679 }() 5680 }() == 0 { 5681 goto _3 5682 } 5683 5684 func() int32 { 5685 if ((int32(_pMem.X1) & i32(1)) != i32(0)) || (_pFunc == (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))))) { 5686 return i32(0) 5687 } 5688 return func() int32 { 5689 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69951), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFinalizeØ00__func__Ø000))), unsafe.Pointer(str(5208))) 5690 crt.X__builtin_abort(tls) 5691 return i32(0) 5692 }() 5693 }() 5694 func() int32 { 5695 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 5696 return i32(0) 5697 } 5698 return func() int32 { 5699 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69952), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFinalizeØ00__func__Ø000))), unsafe.Pointer(str(4300))) 5700 crt.X__builtin_abort(tls) 5701 return i32(0) 5702 }() 5703 }() 5704 crt.Xmemset(tls, (unsafe.Pointer)(&_1_ctx), i32(0), u32(32)) 5705 crt.Xmemset(tls, (unsafe.Pointer)(&_1_t), i32(0), u32(48)) 5706 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_t)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 5707 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_t)) + uintptr(32 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pMem.X9)) 5708 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_ctx)) + uintptr(0 /* X0 */))))) = &_1_t 5709 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_ctx)) + uintptr(8 /* X2 */))))) = _pMem 5710 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_ctx)) + uintptr(4 /* X1 */))))) = _pFunc 5711 (*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { 5712 f func(*crt.TLS, unsafe.Pointer) 5713 }{(_pFunc.X5)})))(tls, &_1_ctx) 5714 func() int32 { 5715 if (int32(_pMem.X1) & i32(1024)) == i32(0) { 5716 return i32(0) 5717 } 5718 return func() int32 { 5719 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69961), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFinalizeØ00__func__Ø000))), unsafe.Pointer(str(5260))) 5720 crt.X__builtin_abort(tls) 5721 return i32(0) 5722 }() 5723 }() 5724 if (_pMem.X7) <= i32(0) { 5725 goto _12 5726 } 5727 5728 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) 5729 _12: 5730 crt.Xmemcpy(tls, (unsafe.Pointer)(_pMem), (unsafe.Pointer)(&_1_t), u32(48)) 5731 _rc = _1_ctx.X5 5732 _3: 5733 r0 = _rc 5734 return 5735 5736 } 5737 5738 var _sqlite3VdbeMemFinalizeØ00__func__Ø000 [23]int8 // - 5739 5740 func init() { 5741 crt.Xstrncpy(nil, &_sqlite3VdbeMemFinalizeØ00__func__Ø000[0], str(5288), 23) 5742 } 5743 5744 func _sqlite3RowSetClear(tls *crt.TLS, _p *XRowSet) { // sqlite3.c:46379:1 5745 var _pChunk *T7901247 // sqlite3.c:46380:22 5746 _ = _pChunk 5747 var _pNextChunk *T7901247 // sqlite3.c:46380:31 5748 _ = _pNextChunk 5749 _pChunk = (*T7901247)(unsafe.Pointer(_p.X0)) 5750 _0: 5751 if _pChunk == nil { 5752 goto _3 5753 } 5754 5755 _pNextChunk = (*T7901247)(unsafe.Pointer(_pChunk.X0)) 5756 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X1)), (unsafe.Pointer)(_pChunk)) 5757 _pChunk = _pNextChunk 5758 goto _0 5759 5760 _3: 5761 *(**T7901247)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*T7901247)(unsafe.Pointer(uintptr(i32(0)))) 5762 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = uint16(i32(0)) 5763 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 5764 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 5765 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 5766 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(26 /* X7 */))) = uint16(i32(1)) 5767 return 5768 5769 } 5770 5771 func _sqlite3VdbeChangeEncoding(tls *crt.TLS, _pMem *XMem, _desiredEnc int32) (r0 int32) { // sqlite3.c:69699:1 5772 var _rc int32 // sqlite3.c:69701:7 5773 _ = _rc 5774 func() int32 { 5775 if (int32(_pMem.X1) & i32(32)) == i32(0) { 5776 return i32(0) 5777 } 5778 return func() int32 { 5779 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69703), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeEncodingØ00__func__Ø000))), unsafe.Pointer(str(4272))) 5780 crt.X__builtin_abort(tls) 5781 return i32(0) 5782 }() 5783 }() 5784 func() int32 { 5785 if ((_desiredEnc == i32(1)) || (_desiredEnc == i32(2))) || (_desiredEnc == i32(3)) { 5786 return i32(0) 5787 } 5788 return func() int32 { 5789 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69704), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeEncodingØ00__func__Ø000))), unsafe.Pointer(str(5312))) 5790 crt.X__builtin_abort(tls) 5791 return i32(0) 5792 }() 5793 }() 5794 if (int32(_pMem.X1)&i32(2)) != 0 && int32(_pMem.X2) != _desiredEnc { 5795 goto _7 5796 } 5797 5798 r0 = i32(0) 5799 return 5800 5801 _7: 5802 func() int32 { 5803 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 5804 return i32(0) 5805 } 5806 return func() int32 { 5807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69709), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeEncodingØ00__func__Ø000))), unsafe.Pointer(str(4300))) 5808 crt.X__builtin_abort(tls) 5809 return i32(0) 5810 }() 5811 }() 5812 _rc = _sqlite3VdbeMemTranslate(tls, _pMem, uint8(_desiredEnc)) 5813 func() int32 { 5814 if (_rc == i32(0)) || (_rc == i32(7)) { 5815 return i32(0) 5816 } 5817 return func() int32 { 5818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69718), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeEncodingØ00__func__Ø000))), unsafe.Pointer(str(5396))) 5819 crt.X__builtin_abort(tls) 5820 return i32(0) 5821 }() 5822 }() 5823 func() int32 { 5824 if (_rc == i32(0)) || (int32(_pMem.X2) != _desiredEnc) { 5825 return i32(0) 5826 } 5827 return func() int32 { 5828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69719), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeEncodingØ00__func__Ø000))), unsafe.Pointer(str(5432))) 5829 crt.X__builtin_abort(tls) 5830 return i32(0) 5831 }() 5832 }() 5833 func() int32 { 5834 if (_rc == i32(7)) || (int32(_pMem.X2) == _desiredEnc) { 5835 return i32(0) 5836 } 5837 return func() int32 { 5838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69720), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeEncodingØ00__func__Ø000))), unsafe.Pointer(str(5472))) 5839 crt.X__builtin_abort(tls) 5840 return i32(0) 5841 }() 5842 }() 5843 r0 = _rc 5844 return 5845 5846 } 5847 5848 var _sqlite3VdbeChangeEncodingØ00__func__Ø000 [26]int8 // - 5849 5850 func init() { 5851 crt.Xstrncpy(nil, &_sqlite3VdbeChangeEncodingØ00__func__Ø000[0], str(5516), 26) 5852 } 5853 5854 func _sqlite3VdbeMemTranslate(tls *crt.TLS, _pMem *XMem, _desiredEnc uint8) (r0 int32) { // sqlite3.c:27283:1 5855 var _len int32 // sqlite3.c:27284:7 5856 _ = _len 5857 var _zOut *uint8 // sqlite3.c:27285:17 5858 _ = _zOut 5859 var _zIn *uint8 // sqlite3.c:27286:17 5860 _ = _zIn 5861 var _zTerm *uint8 // sqlite3.c:27287:17 5862 _ = _zTerm 5863 var _z *uint8 // sqlite3.c:27288:17 5864 _ = _z 5865 var _c uint32 // sqlite3.c:27289:16 5866 _ = _c 5867 var _1_temp uint8 // sqlite3.c:27310:8 5868 _ = _1_temp 5869 var _1_rc int32 // sqlite3.c:27311:9 5870 _ = _1_rc 5871 var _28_c2 int32 // sqlite3.c:27383:9 5872 _ = _28_c2 5873 var _37_c2 int32 // sqlite3.c:27389:9 5874 _ = _37_c2 5875 func() int32 { 5876 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 5877 return i32(0) 5878 } 5879 return func() int32 { 5880 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27291), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(4300))) 5881 crt.X__builtin_abort(tls) 5882 return i32(0) 5883 }() 5884 }() 5885 func() int32 { 5886 if (int32(_pMem.X1) & i32(2)) != 0 { 5887 return i32(0) 5888 } 5889 return func() int32 { 5890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27292), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5544))) 5891 crt.X__builtin_abort(tls) 5892 return i32(0) 5893 }() 5894 }() 5895 func() int32 { 5896 if int32(_pMem.X2) != int32(_desiredEnc) { 5897 return i32(0) 5898 } 5899 return func() int32 { 5900 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27293), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5564))) 5901 crt.X__builtin_abort(tls) 5902 return i32(0) 5903 }() 5904 }() 5905 func() int32 { 5906 if int32(_pMem.X2) != i32(0) { 5907 return i32(0) 5908 } 5909 return func() int32 { 5910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27294), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5588))) 5911 crt.X__builtin_abort(tls) 5912 return i32(0) 5913 }() 5914 }() 5915 func() int32 { 5916 if (_pMem.X4) >= i32(0) { 5917 return i32(0) 5918 } 5919 return func() int32 { 5920 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27295), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5604))) 5921 crt.X__builtin_abort(tls) 5922 return i32(0) 5923 }() 5924 }() 5925 if int32(_pMem.X2) == i32(1) || int32(_desiredEnc) == i32(1) { 5926 goto _12 5927 } 5928 5929 _1_rc = _sqlite3VdbeMemMakeWriteable(tls, _pMem) 5930 if _1_rc == i32(0) { 5931 goto _13 5932 } 5933 5934 func() int32 { 5935 if _1_rc == i32(7) { 5936 return i32(0) 5937 } 5938 return func() int32 { 5939 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27314), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5616))) 5940 crt.X__builtin_abort(tls) 5941 return i32(0) 5942 }() 5943 }() 5944 r0 = _sqlite3NomemError(tls, i32(27315)) 5945 return 5946 5947 _13: 5948 _zIn = (*uint8)(unsafe.Pointer(_pMem.X5)) 5949 _zTerm = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr((_pMem.X4)&i32(-2)))) 5950 _16: 5951 if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 5952 goto _17 5953 } 5954 5955 _1_temp = *_zIn 5956 *_zIn = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zIn)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(1)))))))) 5957 *(*uintptr)(unsafe.Pointer(&_zIn)) += uintptr(1) 5958 *postInc6921(&_zIn, 1) = _1_temp 5959 goto _16 5960 5961 _17: 5962 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _desiredEnc 5963 goto _translate_out 5964 5965 _12: 5966 if int32(_desiredEnc) != i32(1) { 5967 goto _18 5968 } 5969 5970 { 5971 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) 5972 *p = (*p) & i32(-2) 5973 sink961 = *p 5974 } 5975 _len = ((_pMem.X4) * i32(2)) + i32(1) 5976 goto _19 5977 5978 _18: 5979 _len = ((_pMem.X4) * i32(2)) + i32(2) 5980 _19: 5981 _zIn = (*uint8)(unsafe.Pointer(_pMem.X5)) 5982 _zTerm = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(_pMem.X4))) 5983 _zOut = (*uint8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), uint64(_len)))) 5984 if _zOut != nil { 5985 goto _20 5986 } 5987 5988 r0 = _sqlite3NomemError(tls, i32(27357)) 5989 return 5990 5991 _20: 5992 _z = _zOut 5993 if int32(_pMem.X2) != i32(1) { 5994 goto _21 5995 } 5996 5997 if int32(_desiredEnc) != i32(2) { 5998 goto _22 5999 } 6000 6001 _23: 6002 if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 6003 goto _24 6004 } 6005 6006 _c = uint32(*postInc6921(&_zIn, 1)) 6007 if _c < uint32(i32(192)) { 6008 goto _25 6009 } 6010 6011 _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Utf8Trans1)) + 1*uintptr(_c-uint32(i32(192)))))) 6012 _26: 6013 if _zIn == _zTerm || (int32(*_zIn)&i32(192)) != i32(128) { 6014 goto _27 6015 } 6016 6017 _c = (_c << uint(i32(6))) + uint32(i32(63)&int32(*postInc6921(&_zIn, 1))) 6018 goto _26 6019 6020 _27: 6021 if _c >= uint32(i32(128)) && (_c&u32(4294965248)) != uint32(i32(55296)) && (_c&u32(4294967294)) != uint32(i32(65534)) { 6022 goto _31 6023 } 6024 6025 _c = uint32(i32(65533)) 6026 _31: 6027 _25: 6028 if _c > uint32(i32(65535)) { 6029 goto _32 6030 } 6031 6032 *postInc6921(&_z, 1) = uint8(_c & uint32(i32(255))) 6033 *postInc6921(&_z, 1) = uint8((_c >> uint(i32(8))) & uint32(i32(255))) 6034 goto _33 6035 6036 _32: 6037 *postInc6921(&_z, 1) = uint8(((_c >> uint(i32(10))) & uint32(i32(63))) + (((_c - uint32(i32(65536))) >> uint(i32(10))) & uint32(i32(192)))) 6038 *postInc6921(&_z, 1) = uint8(uint32(i32(216)) + (((_c - uint32(i32(65536))) >> uint(i32(18))) & uint32(i32(3)))) 6039 *postInc6921(&_z, 1) = uint8(_c & uint32(i32(255))) 6040 *postInc6921(&_z, 1) = uint8(uint32(i32(220)) + ((_c >> uint(i32(8))) & uint32(i32(3)))) 6041 _33: 6042 goto _23 6043 6044 _24: 6045 goto _34 6046 6047 _22: 6048 func() int32 { 6049 if int32(_desiredEnc) == i32(3) { 6050 return i32(0) 6051 } 6052 return func() int32 { 6053 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5636))) 6054 crt.X__builtin_abort(tls) 6055 return i32(0) 6056 }() 6057 }() 6058 _37: 6059 if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 6060 goto _38 6061 } 6062 6063 _c = uint32(*postInc6921(&_zIn, 1)) 6064 if _c < uint32(i32(192)) { 6065 goto _39 6066 } 6067 6068 _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Utf8Trans1)) + 1*uintptr(_c-uint32(i32(192)))))) 6069 _40: 6070 if _zIn == _zTerm || (int32(*_zIn)&i32(192)) != i32(128) { 6071 goto _41 6072 } 6073 6074 _c = (_c << uint(i32(6))) + uint32(i32(63)&int32(*postInc6921(&_zIn, 1))) 6075 goto _40 6076 6077 _41: 6078 if _c >= uint32(i32(128)) && (_c&u32(4294965248)) != uint32(i32(55296)) && (_c&u32(4294967294)) != uint32(i32(65534)) { 6079 goto _45 6080 } 6081 6082 _c = uint32(i32(65533)) 6083 _45: 6084 _39: 6085 if _c > uint32(i32(65535)) { 6086 goto _46 6087 } 6088 6089 *postInc6921(&_z, 1) = uint8((_c >> uint(i32(8))) & uint32(i32(255))) 6090 *postInc6921(&_z, 1) = uint8(_c & uint32(i32(255))) 6091 goto _47 6092 6093 _46: 6094 *postInc6921(&_z, 1) = uint8(uint32(i32(216)) + (((_c - uint32(i32(65536))) >> uint(i32(18))) & uint32(i32(3)))) 6095 *postInc6921(&_z, 1) = uint8(((_c >> uint(i32(10))) & uint32(i32(63))) + (((_c - uint32(i32(65536))) >> uint(i32(10))) & uint32(i32(192)))) 6096 *postInc6921(&_z, 1) = uint8(uint32(i32(220)) + ((_c >> uint(i32(8))) & uint32(i32(3)))) 6097 *postInc6921(&_z, 1) = uint8(_c & uint32(i32(255))) 6098 _47: 6099 goto _37 6100 6101 _38: 6102 _34: 6103 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32((uintptr(unsafe.Pointer(_z)) - uintptr(unsafe.Pointer(_zOut))) / 1) 6104 *postInc6921(&_z, 1) = uint8(i32(0)) 6105 goto _48 6106 6107 _21: 6108 func() int32 { 6109 if int32(_desiredEnc) == i32(1) { 6110 return i32(0) 6111 } 6112 return func() int32 { 6113 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27379), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5664))) 6114 crt.X__builtin_abort(tls) 6115 return i32(0) 6116 }() 6117 }() 6118 if int32(_pMem.X2) != i32(2) { 6119 goto _51 6120 } 6121 6122 _52: 6123 if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 6124 goto _53 6125 } 6126 6127 _c = uint32(*postInc6921(&_zIn, 1)) 6128 { 6129 p := &_c 6130 *p = (*p) + uint32(int32(*postInc6921(&_zIn, 1))<<uint(i32(8))) 6131 sink985 = *p 6132 } 6133 if _c < uint32(i32(55296)) || _c >= uint32(i32(57344)) || uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 6134 goto _56 6135 } 6136 6137 _28_c2 = int32(*postInc6921(&_zIn, 1)) 6138 { 6139 p := &_28_c2 6140 *p = (*p) + (int32(*postInc6921(&_zIn, 1)) << uint(i32(8))) 6141 sink961 = *p 6142 } 6143 _c = (uint32(_28_c2&i32(1023)) + ((_c & uint32(i32(63))) << uint(i32(10)))) + (((_c & uint32(i32(960))) + uint32(i32(64))) << uint(i32(10))) 6144 _56: 6145 if _c >= uint32(i32(128)) { 6146 goto _57 6147 } 6148 6149 *postInc6921(&_z, 1) = uint8(_c & uint32(i32(255))) 6150 goto _58 6151 6152 _57: 6153 if _c >= uint32(i32(2048)) { 6154 goto _59 6155 } 6156 6157 *postInc6921(&_z, 1) = uint8(i32(192) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(31))))) 6158 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) 6159 goto _60 6160 6161 _59: 6162 if _c >= uint32(i32(65536)) { 6163 goto _61 6164 } 6165 6166 *postInc6921(&_z, 1) = uint8(i32(224) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(15))))) 6167 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) 6168 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) 6169 goto _62 6170 6171 _61: 6172 *postInc6921(&_z, 1) = uint8(i32(240) + int32(uint8((_c>>uint(i32(18)))&uint32(i32(7))))) 6173 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(63))))) 6174 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) 6175 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) 6176 _62: 6177 _60: 6178 _58: 6179 goto _52 6180 6181 _53: 6182 goto _63 6183 6184 _51: 6185 _64: 6186 if uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 6187 goto _65 6188 } 6189 6190 _c = uint32(int32(*postInc6921(&_zIn, 1)) << uint(i32(8))) 6191 { 6192 p := &_c 6193 *p = (*p) + uint32(*postInc6921(&_zIn, 1)) 6194 sink985 = *p 6195 } 6196 if _c < uint32(i32(55296)) || _c >= uint32(i32(57344)) || uintptr(unsafe.Pointer(_zIn)) >= uintptr(unsafe.Pointer(_zTerm)) { 6197 goto _68 6198 } 6199 6200 _37_c2 = int32(*postInc6921(&_zIn, 1)) << uint(i32(8)) 6201 { 6202 p := &_37_c2 6203 *p = (*p) + int32(*postInc6921(&_zIn, 1)) 6204 sink961 = *p 6205 } 6206 _c = (uint32(_37_c2&i32(1023)) + ((_c & uint32(i32(63))) << uint(i32(10)))) + (((_c & uint32(i32(960))) + uint32(i32(64))) << uint(i32(10))) 6207 _68: 6208 if _c >= uint32(i32(128)) { 6209 goto _69 6210 } 6211 6212 *postInc6921(&_z, 1) = uint8(_c & uint32(i32(255))) 6213 goto _70 6214 6215 _69: 6216 if _c >= uint32(i32(2048)) { 6217 goto _71 6218 } 6219 6220 *postInc6921(&_z, 1) = uint8(i32(192) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(31))))) 6221 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) 6222 goto _72 6223 6224 _71: 6225 if _c >= uint32(i32(65536)) { 6226 goto _73 6227 } 6228 6229 *postInc6921(&_z, 1) = uint8(i32(224) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(15))))) 6230 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) 6231 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) 6232 goto _74 6233 6234 _73: 6235 *postInc6921(&_z, 1) = uint8(i32(240) + int32(uint8((_c>>uint(i32(18)))&uint32(i32(7))))) 6236 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(12)))&uint32(i32(63))))) 6237 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8((_c>>uint(i32(6)))&uint32(i32(63))))) 6238 *postInc6921(&_z, 1) = uint8(i32(128) + int32(uint8(_c&uint32(i32(63))))) 6239 _74: 6240 _72: 6241 _70: 6242 goto _64 6243 6244 _65: 6245 _63: 6246 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32((uintptr(unsafe.Pointer(_z)) - uintptr(unsafe.Pointer(_zOut))) / 1) 6247 _48: 6248 *_z = uint8(i32(0)) 6249 func() int32 { 6250 if ((_pMem.X4) + func() int32 { 6251 if int32(_desiredEnc) == i32(1) { 6252 return i32(1) 6253 } 6254 return i32(2) 6255 }()) <= _len { 6256 return i32(0) 6257 } 6258 return func() int32 { 6259 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27396), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTranslateØ00__func__Ø000))), unsafe.Pointer(str(5688))) 6260 crt.X__builtin_abort(tls) 6261 return i32(0) 6262 }() 6263 }() 6264 _c = uint32(_pMem.X1) 6265 _sqlite3VdbeMemRelease(tls, _pMem) 6266 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(uint32(i32(514)) | (_c & uint32(i32(32799)))) 6267 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _desiredEnc 6268 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(_zOut)) 6269 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(20 /* X6 */))) = _pMem.X5 6270 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X5)) 6271 _translate_out: 6272 r0 = i32(0) 6273 return 6274 6275 } 6276 6277 var _sqlite3VdbeMemTranslateØ00__func__Ø000 [24]int8 // - 6278 6279 func init() { 6280 crt.Xstrncpy(nil, &_sqlite3VdbeMemTranslateØ00__func__Ø000[0], str(5736), 24) 6281 } 6282 6283 func _sqlite3VdbeMemMakeWriteable(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69809:1 6284 func() int32 { 6285 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 6286 return i32(0) 6287 } 6288 return func() int32 { 6289 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69810), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemMakeWriteableØ00__func__Ø000))), unsafe.Pointer(str(4300))) 6290 crt.X__builtin_abort(tls) 6291 return i32(0) 6292 }() 6293 }() 6294 func() int32 { 6295 if (int32(_pMem.X1) & i32(32)) == i32(0) { 6296 return i32(0) 6297 } 6298 return func() int32 { 6299 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemMakeWriteableØ00__func__Ø000))), unsafe.Pointer(str(4272))) 6300 crt.X__builtin_abort(tls) 6301 return i32(0) 6302 }() 6303 }() 6304 if (int32(_pMem.X1) & i32(18)) == i32(0) { 6305 goto _5 6306 } 6307 6308 if func() int32 { 6309 if (int32(_pMem.X1) & i32(16384)) != 0 { 6310 return _sqlite3VdbeMemExpandBlob(tls, _pMem) 6311 } 6312 return i32(0) 6313 }() == 0 { 6314 goto _8 6315 } 6316 6317 r0 = i32(7) 6318 return 6319 6320 _8: 6321 if (_pMem.X7) != i32(0) && (_pMem.X5) == (_pMem.X6) { 6322 goto _10 6323 } 6324 6325 if _sqlite3VdbeMemGrow(tls, _pMem, (_pMem.X4)+i32(2), i32(1)) == 0 { 6326 goto _11 6327 } 6328 6329 r0 = _sqlite3NomemError(tls, i32(69816)) 6330 return 6331 6332 _11: 6333 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_pMem.X4))) = int8(i32(0)) 6334 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr((_pMem.X4)+i32(1)))) = int8(i32(0)) 6335 { 6336 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 6337 *p = uint16(int32(*p) | i32(512)) 6338 sink6908 = *p 6339 } 6340 _10: 6341 _5: 6342 { 6343 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 6344 *p = uint16(int32(*p) & i32(-4097)) 6345 sink6908 = *p 6346 } 6347 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(40 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 6348 r0 = i32(0) 6349 return 6350 6351 } 6352 6353 var _sqlite3VdbeMemMakeWriteableØ00__func__Ø000 [28]int8 // - 6354 6355 func init() { 6356 crt.Xstrncpy(nil, &_sqlite3VdbeMemMakeWriteableØ00__func__Ø000[0], str(5760), 28) 6357 } 6358 6359 var _sqlite3Utf8Trans1 [64]uint8 // sqlite3.c:27133:28 6360 6361 func init() { 6362 _sqlite3Utf8Trans1 = [64]uint8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 0, 1, 0, 0} 6363 } 6364 6365 func _sqlite3VdbeMemRelease(tls *crt.TLS, _p *XMem) { // sqlite3.c:70029:1 6366 func() int32 { 6367 if _sqlite3VdbeCheckMemInvariants(tls, _p) != 0 { 6368 return i32(0) 6369 } 6370 return func() int32 { 6371 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70030), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemReleaseØ00__func__Ø000))), unsafe.Pointer(str(5788))) 6372 crt.X__builtin_abort(tls) 6373 return i32(0) 6374 }() 6375 }() 6376 if (int32(_p.X1)&i32(9312)) == i32(0) && (_p.X7) == 0 { 6377 goto _3 6378 } 6379 6380 _vdbeMemClear(tls, _p) 6381 _3: 6382 return 6383 6384 } 6385 6386 var _sqlite3VdbeMemReleaseØ00__func__Ø000 [22]int8 // - 6387 6388 func init() { 6389 crt.Xstrncpy(nil, &_sqlite3VdbeMemReleaseØ00__func__Ø000[0], str(5824), 22) 6390 } 6391 6392 func _vdbeMemClear(tls *crt.TLS, _p *XMem) { // sqlite3.c:70008:1 6393 if (int32(_p.X1) & i32(9312)) == i32(0) { 6394 goto _0 6395 } 6396 6397 _vdbeMemClearExternAndSetNull(tls, _p) 6398 _0: 6399 if (_p.X7) == 0 { 6400 goto _1 6401 } 6402 6403 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X9)), (unsafe.Pointer)(_p.X6)) 6404 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))) = i32(0) 6405 _1: 6406 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 6407 return 6408 6409 } 6410 6411 func _sqlite3VdbeMemNulTerminate(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69876:1 6412 func() int32 { 6413 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 6414 return i32(0) 6415 } 6416 return func() int32 { 6417 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69877), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemNulTerminateØ00__func__Ø000))), unsafe.Pointer(str(4300))) 6418 crt.X__builtin_abort(tls) 6419 return i32(0) 6420 }() 6421 }() 6422 if (int32(_pMem.X1) & i32(514)) == i32(2) { 6423 goto _3 6424 } 6425 6426 r0 = i32(0) 6427 return 6428 6429 _3: 6430 r0 = _vdbeMemAddTerminator(tls, _pMem) 6431 return 6432 6433 } 6434 6435 var _sqlite3VdbeMemNulTerminateØ00__func__Ø000 [27]int8 // - 6436 6437 func init() { 6438 crt.Xstrncpy(nil, &_sqlite3VdbeMemNulTerminateØ00__func__Ø000[0], str(5848), 27) 6439 } 6440 6441 func _vdbeMemAddTerminator(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:69863:1 6442 if _sqlite3VdbeMemGrow(tls, _pMem, (_pMem.X4)+i32(2), i32(1)) == 0 { 6443 goto _0 6444 } 6445 6446 r0 = _sqlite3NomemError(tls, i32(69865)) 6447 return 6448 6449 _0: 6450 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_pMem.X4))) = int8(i32(0)) 6451 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr((_pMem.X4)+i32(1)))) = int8(i32(0)) 6452 { 6453 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 6454 *p = uint16(int32(*p) | i32(512)) 6455 sink6908 = *p 6456 } 6457 r0 = i32(0) 6458 return 6459 6460 } 6461 6462 func _sqlite3VdbeMemStringify(tls *crt.TLS, _pMem *XMem, _enc uint8, _bForce uint8) (r0 int32) { // sqlite3.c:69901:1 6463 var _fg int32 // sqlite3.c:69902:7 6464 _ = _fg 6465 var _nByte int32 // sqlite3.c:69903:13 6466 _ = _nByte 6467 _fg = int32(_pMem.X1) 6468 _nByte = i32(32) 6469 func() int32 { 6470 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 6471 return i32(0) 6472 } 6473 return func() int32 { 6474 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69905), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(4300))) 6475 crt.X__builtin_abort(tls) 6476 return i32(0) 6477 }() 6478 }() 6479 func() int32 { 6480 if (_fg & i32(16384)) == 0 { 6481 return i32(0) 6482 } 6483 return func() int32 { 6484 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69906), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(5876))) 6485 crt.X__builtin_abort(tls) 6486 return i32(0) 6487 }() 6488 }() 6489 func() int32 { 6490 if (_fg & i32(18)) == 0 { 6491 return i32(0) 6492 } 6493 return func() int32 { 6494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69907), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(5892))) 6495 crt.X__builtin_abort(tls) 6496 return i32(0) 6497 }() 6498 }() 6499 func() int32 { 6500 if (_fg & i32(12)) != 0 { 6501 return i32(0) 6502 } 6503 return func() int32 { 6504 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69908), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(5920))) 6505 crt.X__builtin_abort(tls) 6506 return i32(0) 6507 }() 6508 }() 6509 func() int32 { 6510 if (int32(_pMem.X1) & i32(32)) == i32(0) { 6511 return i32(0) 6512 } 6513 return func() int32 { 6514 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69909), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(4272))) 6515 crt.X__builtin_abort(tls) 6516 return i32(0) 6517 }() 6518 }() 6519 func() int32 { 6520 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 6521 return i32(0) 6522 } 6523 return func() int32 { 6524 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69910), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(5944))) 6525 crt.X__builtin_abort(tls) 6526 return i32(0) 6527 }() 6528 }() 6529 if _sqlite3VdbeMemClearAndResize(tls, _pMem, _nByte) == 0 { 6530 goto _13 6531 } 6532 6533 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(0)) 6534 r0 = _sqlite3NomemError(tls, i32(69915)) 6535 return 6536 6537 _13: 6538 if (_fg & i32(4)) == 0 { 6539 goto _14 6540 } 6541 6542 Xsqlite3_snprintf(tls, _nByte, _pMem.X5, str(5972), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 6543 goto _15 6544 6545 _14: 6546 func() int32 { 6547 if (_fg & i32(8)) != 0 { 6548 return i32(0) 6549 } 6550 return func() int32 { 6551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69927), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemStringifyØ00__func__Ø000))), unsafe.Pointer(str(5980))) 6552 crt.X__builtin_abort(tls) 6553 return i32(0) 6554 }() 6555 }() 6556 Xsqlite3_snprintf(tls, _nByte, _pMem.X5, str(5996), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 6557 _15: 6558 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pMem.X5) 6559 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 6560 { 6561 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 6562 *p = uint16(int32(*p) | i32(514)) 6563 sink6908 = *p 6564 } 6565 if _bForce == 0 { 6566 goto _18 6567 } 6568 6569 { 6570 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 6571 *p = uint16(int32(*p) & i32(-13)) 6572 sink6908 = *p 6573 } 6574 _18: 6575 _sqlite3VdbeChangeEncoding(tls, _pMem, int32(_enc)) 6576 r0 = i32(0) 6577 return 6578 6579 } 6580 6581 var _sqlite3VdbeMemStringifyØ00__func__Ø000 [24]int8 // - 6582 6583 func init() { 6584 crt.Xstrncpy(nil, &_sqlite3VdbeMemStringifyØ00__func__Ø000[0], str(6004), 24) 6585 } 6586 6587 func _sqlite3VdbeMemClearAndResize(tls *crt.TLS, _pMem *XMem, _szNew int32) (r0 int32) { // sqlite3.c:69791:1 6588 func() int32 { 6589 if _szNew > i32(0) { 6590 return i32(0) 6591 } 6592 return func() int32 { 6593 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69792), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemClearAndResizeØ00__func__Ø000))), unsafe.Pointer(str(6028))) 6594 crt.X__builtin_abort(tls) 6595 return i32(0) 6596 }() 6597 }() 6598 func() int32 { 6599 if ((int32(_pMem.X1) & i32(1024)) == i32(0)) || ((_pMem.X7) == i32(0)) { 6600 return i32(0) 6601 } 6602 return func() int32 { 6603 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69793), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemClearAndResizeØ00__func__Ø000))), unsafe.Pointer(str(6036))) 6604 crt.X__builtin_abort(tls) 6605 return i32(0) 6606 }() 6607 }() 6608 if (_pMem.X7) >= _szNew { 6609 goto _5 6610 } 6611 6612 r0 = _sqlite3VdbeMemGrow(tls, _pMem, _szNew, i32(0)) 6613 return 6614 6615 _5: 6616 func() int32 { 6617 if (int32(_pMem.X1) & i32(1024)) == i32(0) { 6618 return i32(0) 6619 } 6620 return func() int32 { 6621 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69797), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemClearAndResizeØ00__func__Ø000))), unsafe.Pointer(str(5260))) 6622 crt.X__builtin_abort(tls) 6623 return i32(0) 6624 }() 6625 }() 6626 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _pMem.X6 6627 { 6628 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 6629 *p = uint16(int32(*p) & i32(13)) 6630 sink6908 = *p 6631 } 6632 r0 = i32(0) 6633 return 6634 6635 } 6636 6637 var _sqlite3VdbeMemClearAndResizeØ00__func__Ø000 [29]int8 // - 6638 6639 func init() { 6640 crt.Xstrncpy(nil, &_sqlite3VdbeMemClearAndResizeØ00__func__Ø000[0], str(6084), 29) 6641 } 6642 6643 func Xsqlite3_snprintf(tls *crt.TLS, _n int32, _zBuf *int8, _zFormat *int8, args ...interface{}) (r0 *int8) { // sqlite3.c:26065:12 6644 var _z *int8 // sqlite3.c:26066:8 6645 _ = _z 6646 var _ap []interface{} // sqlite3.c:26067:11 6647 _ = _ap 6648 _ap = args 6649 _z = Xsqlite3_vsnprintf(tls, _n, _zBuf, _zFormat, _ap) 6650 _ap = nil 6651 r0 = _z 6652 return 6653 6654 } 6655 6656 func Xsqlite3_vsnprintf(tls *crt.TLS, _n int32, _zBuf *int8, _zFormat *int8, _ap []interface{}) (r0 *int8) { // sqlite3.c:26050:12 6657 var _acc XStrAccum // sqlite3.c:26051:12 6658 _ = _acc 6659 if _n > i32(0) { 6660 goto _0 6661 } 6662 6663 r0 = _zBuf 6664 return 6665 6666 _0: 6667 if _zBuf != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _zFormat != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 6668 goto _2 6669 } 6670 6671 _sqlite3MisuseError(tls, i32(26055)) 6672 if _zBuf == nil { 6673 goto _3 6674 } 6675 6676 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(0)))) = int8(i32(0)) 6677 _3: 6678 r0 = _zBuf 6679 return 6680 6681 _2: 6682 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _zBuf, _n, i32(0)) 6683 _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) 6684 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_acc.X3))) = int8(i32(0)) 6685 r0 = _zBuf 6686 return 6687 6688 } 6689 6690 func Xsqlite3_context_db_handle(tls *crt.TLS, _p *Xsqlite3_context) (r0 *Xsqlite3) { // sqlite3.c:76721:12 6691 func() int32 { 6692 if (_p != nil) && ((*XMem)(unsafe.Pointer(_p.X0)) != nil) { 6693 return i32(0) 6694 } 6695 return func() int32 { 6696 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76722), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_context_db_handleØ00__func__Ø000))), unsafe.Pointer(str(6116))) 6697 crt.X__builtin_abort(tls) 6698 return i32(0) 6699 }() 6700 }() 6701 r0 = (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_p.X0)).X9)) 6702 return 6703 6704 } 6705 6706 var _sqlite3_context_db_handleØ00__func__Ø000 [26]int8 // - 6707 6708 func init() { 6709 crt.Xstrncpy(nil, &_sqlite3_context_db_handleØ00__func__Ø000[0], str(6132), 26) 6710 } 6711 6712 func _sqlite3GetToken(tls *crt.TLS, _z *uint8, _tokenType *int32) (r0 int32) { // sqlite3.c:139096:1 6713 var _i int32 // sqlite3.c:139097:7 6714 _ = _i 6715 var _c int32 // sqlite3.c:139097:10 6716 _ = _c 6717 var _35_delim int32 // sqlite3.c:139216:11 6718 _ = _35_delim 6719 var _58_n int32 // sqlite3.c:139298:11 6720 _ = _58_n 6721 switch int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiClass)) + 1*uintptr(*_z)))) { 6722 case i32(0): 6723 goto _26 6724 case i32(1): 6725 goto _25 6726 case i32(2): 6727 goto _27 6728 case i32(3): 6729 goto _20 6730 case i32(4): 6731 goto _23 6732 case i32(5): 6733 goto _24 6734 case i32(6): 6735 goto _22 6736 case i32(7): 6737 goto _1 6738 case i32(8): 6739 goto _18 6740 case i32(9): 6741 goto _21 6742 case i32(10): 6743 goto _14 6744 case i32(11): 6745 goto _2 6746 case i32(12): 6747 goto _11 6748 case i32(13): 6749 goto _12 6750 case i32(14): 6751 goto _10 6752 case i32(15): 6753 goto _13 6754 case i32(16): 6755 goto _8 6756 case i32(17): 6757 goto _3 6758 case i32(18): 6759 goto _4 6760 case i32(19): 6761 goto _5 6762 case i32(20): 6763 goto _6 6764 case i32(21): 6765 goto _7 6766 case i32(22): 6767 goto _9 6768 case i32(23): 6769 goto _15 6770 case i32(24): 6771 goto _16 6772 case i32(25): 6773 goto _17 6774 case i32(26): 6775 goto _19 6776 default: 6777 goto _28 6778 } 6779 6780 _1: 6781 _i = i32(1) 6782 _29: 6783 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(1)) == 0 { 6784 goto _32 6785 } 6786 6787 _i += 1 6788 goto _29 6789 6790 _32: 6791 *_tokenType = i32(162) 6792 r0 = _i 6793 return 6794 6795 _2: 6796 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(45) { 6797 goto _33 6798 } 6799 6800 _i = i32(2) 6801 _34: 6802 if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) || _c == i32(10) { 6803 goto _38 6804 } 6805 6806 _i += 1 6807 goto _34 6808 6809 _38: 6810 *_tokenType = i32(162) 6811 r0 = _i 6812 return 6813 6814 _33: 6815 *_tokenType = i32(48) 6816 r0 = i32(1) 6817 return 6818 6819 _3: 6820 *_tokenType = i32(22) 6821 r0 = i32(1) 6822 return 6823 6824 _4: 6825 *_tokenType = i32(23) 6826 r0 = i32(1) 6827 return 6828 6829 _5: 6830 *_tokenType = i32(1) 6831 r0 = i32(1) 6832 return 6833 6834 _6: 6835 *_tokenType = i32(47) 6836 r0 = i32(1) 6837 return 6838 6839 _7: 6840 *_tokenType = i32(49) 6841 r0 = i32(1) 6842 return 6843 6844 _8: 6845 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(42) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(2))))) != i32(0) { 6846 goto _40 6847 } 6848 6849 *_tokenType = i32(50) 6850 r0 = i32(1) 6851 return 6852 6853 _40: 6854 *func() *int32 { _i = i32(3); return &_c }() = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(2))))) 6855 _41: 6856 if _c == i32(42) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == i32(47) || store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { 6857 goto _46 6858 } 6859 6860 _i += 1 6861 goto _41 6862 6863 _46: 6864 if _c == 0 { 6865 goto _47 6866 } 6867 6868 _i += 1 6869 _47: 6870 *_tokenType = i32(162) 6871 r0 = _i 6872 return 6873 6874 _9: 6875 *_tokenType = i32(51) 6876 r0 = i32(1) 6877 return 6878 6879 _10: 6880 *_tokenType = i32(37) 6881 r0 = i32(1) + bool2int(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(61)) 6882 return 6883 6884 _11: 6885 if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1)))))) != i32(61) { 6886 goto _48 6887 } 6888 6889 *_tokenType = i32(39) 6890 r0 = i32(2) 6891 return 6892 6893 _48: 6894 if _c != i32(62) { 6895 goto _50 6896 } 6897 6898 *_tokenType = i32(36) 6899 r0 = i32(2) 6900 return 6901 6902 _50: 6903 if _c != i32(60) { 6904 goto _52 6905 } 6906 6907 *_tokenType = i32(45) 6908 r0 = i32(2) 6909 return 6910 6911 _52: 6912 *_tokenType = i32(40) 6913 r0 = i32(1) 6914 return 6915 6916 _12: 6917 if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1)))))) != i32(61) { 6918 goto _54 6919 } 6920 6921 *_tokenType = i32(41) 6922 r0 = i32(2) 6923 return 6924 6925 _54: 6926 if _c != i32(62) { 6927 goto _56 6928 } 6929 6930 *_tokenType = i32(46) 6931 r0 = i32(2) 6932 return 6933 6934 _56: 6935 *_tokenType = i32(38) 6936 r0 = i32(1) 6937 return 6938 6939 _13: 6940 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(61) { 6941 goto _58 6942 } 6943 6944 *_tokenType = i32(163) 6945 r0 = i32(1) 6946 return 6947 6948 _58: 6949 *_tokenType = i32(36) 6950 r0 = i32(2) 6951 return 6952 6953 _14: 6954 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) == i32(124) { 6955 goto _60 6956 } 6957 6958 *_tokenType = i32(44) 6959 r0 = i32(1) 6960 return 6961 6962 _60: 6963 *_tokenType = i32(52) 6964 r0 = i32(2) 6965 return 6966 6967 _15: 6968 *_tokenType = i32(26) 6969 r0 = i32(1) 6970 return 6971 6972 _16: 6973 *_tokenType = i32(43) 6974 r0 = i32(1) 6975 return 6976 6977 _17: 6978 *_tokenType = i32(54) 6979 r0 = i32(1) 6980 return 6981 6982 _18: 6983 _35_delim = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) 6984 _i = i32(1) 6985 _62: 6986 if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { 6987 goto _65 6988 } 6989 6990 if _c != _35_delim { 6991 goto _66 6992 } 6993 6994 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != _35_delim { 6995 goto _67 6996 } 6997 6998 _i += 1 6999 goto _68 7000 7001 _67: 7002 goto _65 7003 7004 _68: 7005 _66: 7006 _i += 1 7007 goto _62 7008 7009 _65: 7010 if _c != i32(39) { 7011 goto _69 7012 } 7013 7014 *_tokenType = i32(97) 7015 r0 = _i + i32(1) 7016 return 7017 7018 _69: 7019 if _c == i32(0) { 7020 goto _71 7021 } 7022 7023 *_tokenType = i32(55) 7024 r0 = _i + i32(1) 7025 return 7026 7027 _71: 7028 *_tokenType = i32(163) 7029 r0 = _i 7030 return 7031 7032 _19: 7033 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1)))))))) & i32(4)) != 0 { 7034 goto _73 7035 } 7036 7037 *_tokenType = i32(122) 7038 r0 = i32(1) 7039 return 7040 7041 _73: 7042 _20: 7043 *_tokenType = i32(134) 7044 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(48) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(120) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(88) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(2))))))))&i32(8)) == 0 { 7045 goto _77 7046 } 7047 7048 _i = i32(3) 7049 _78: 7050 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(8)) == 0 { 7051 goto _81 7052 } 7053 7054 _i += 1 7055 goto _78 7056 7057 _81: 7058 r0 = _i 7059 return 7060 7061 _77: 7062 _i = i32(0) 7063 _82: 7064 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { 7065 goto _85 7066 } 7067 7068 _i += 1 7069 goto _82 7070 7071 _85: 7072 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != i32(46) { 7073 goto _86 7074 } 7075 7076 _i += 1 7077 _87: 7078 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { 7079 goto _88 7080 } 7081 7082 _i += 1 7083 goto _87 7084 7085 _88: 7086 *_tokenType = i32(132) 7087 _86: 7088 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != i32(101) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != i32(69) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))))))&i32(4)) == 0 && (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != i32(43) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != i32(45) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(2))))))))&i32(4)) == 0) { 7089 goto _94 7090 } 7091 7092 { 7093 p := &_i 7094 *p = (*p) + i32(2) 7095 sink961 = *p 7096 } 7097 _95: 7098 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { 7099 goto _96 7100 } 7101 7102 _i += 1 7103 goto _95 7104 7105 _96: 7106 *_tokenType = i32(132) 7107 _94: 7108 _97: 7109 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(70)) == i32(0) { 7110 goto _98 7111 } 7112 7113 *_tokenType = i32(163) 7114 _i += 1 7115 goto _97 7116 7117 _98: 7118 r0 = _i 7119 return 7120 7121 _21: 7122 *func() *int32 { _i = i32(1); return &_c }() = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) 7123 _99: 7124 if _c == i32(93) || store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { 7125 goto _103 7126 } 7127 7128 _i += 1 7129 goto _99 7130 7131 _103: 7132 *_tokenType = func() int32 { 7133 if _c == i32(93) { 7134 return i32(55) 7135 } 7136 return i32(163) 7137 }() 7138 r0 = _i 7139 return 7140 7141 _22: 7142 *_tokenType = i32(135) 7143 _i = i32(1) 7144 _106: 7145 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(4)) == 0 { 7146 goto _109 7147 } 7148 7149 _i += 1 7150 goto _106 7151 7152 _109: 7153 r0 = _i 7154 return 7155 7156 _23: 7157 _24: 7158 _58_n = i32(0) 7159 *_tokenType = i32(135) 7160 _i = i32(1) 7161 _110: 7162 if store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) == i32(0) { 7163 goto _113 7164 } 7165 7166 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_c))))) & i32(70)) == i32(0) { 7167 goto _114 7168 } 7169 7170 _58_n += 1 7171 goto _115 7172 7173 _114: 7174 if _c != i32(40) || _58_n <= i32(0) { 7175 goto _117 7176 } 7177 7178 _118: 7179 _i += 1 7180 if ((store961(&_c, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))) != i32(0)) && ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_c))))) & i32(1)) == 0)) && (_c != i32(41)) { 7181 goto _118 7182 } 7183 7184 if _c != i32(41) { 7185 goto _121 7186 } 7187 7188 _i += 1 7189 goto _122 7190 7191 _121: 7192 *_tokenType = i32(163) 7193 _122: 7194 goto _113 7195 7196 _117: 7197 if _c != i32(58) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != i32(58) { 7198 goto _125 7199 } 7200 7201 _i += 1 7202 goto _126 7203 7204 _125: 7205 goto _113 7206 7207 _126: 7208 _115: 7209 _i += 1 7210 goto _110 7211 7212 _113: 7213 if _58_n != i32(0) { 7214 goto _127 7215 } 7216 7217 *_tokenType = i32(163) 7218 _127: 7219 r0 = _i 7220 return 7221 7222 _25: 7223 _i = i32(1) 7224 _128: 7225 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiClass)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) > i32(1) { 7226 goto _131 7227 } 7228 7229 _i += 1 7230 goto _128 7231 7232 _131: 7233 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(70)) == i32(0) { 7234 goto _132 7235 } 7236 7237 _i += 1 7238 goto _133 7239 7240 _132: 7241 *_tokenType = i32(55) 7242 r0 = _keywordCode(tls, (*int8)(unsafe.Pointer(_z)), _i, _tokenType) 7243 return 7244 7245 _26: 7246 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(39) { 7247 goto _134 7248 } 7249 7250 *_tokenType = i32(133) 7251 _i = i32(2) 7252 _135: 7253 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(8)) == 0 { 7254 goto _138 7255 } 7256 7257 _i += 1 7258 goto _135 7259 7260 _138: 7261 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == i32(39) && (_i%i32(2)) == 0 { 7262 goto _140 7263 } 7264 7265 *_tokenType = i32(163) 7266 _141: 7267 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == 0 || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == i32(39) { 7268 goto _142 7269 } 7270 7271 _i += 1 7272 goto _141 7273 7274 _142: 7275 _140: 7276 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == 0 { 7277 goto _144 7278 } 7279 7280 _i += 1 7281 _144: 7282 r0 = _i 7283 return 7284 7285 _134: 7286 _27: 7287 _i = i32(1) 7288 goto _133 7289 7290 _28: 7291 *_tokenType = i32(163) 7292 r0 = i32(1) 7293 return 7294 7295 _133: 7296 _145: 7297 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))))))) & i32(70)) == i32(0) { 7298 goto _146 7299 } 7300 7301 _i += 1 7302 goto _145 7303 7304 _146: 7305 *_tokenType = i32(55) 7306 r0 = _i 7307 return 7308 7309 } 7310 7311 var _aiClass [256]uint8 // sqlite3.c:138669:28 7312 7313 func init() { 7314 _aiClass = [256]uint8{27, 27, 27, 27, 27, 27, 27, 27, 27, 7, 7, 27, 7, 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 7, 15, 8, 5, 4, 22, 24, 8, 17, 18, 21, 20, 23, 11, 26, 16, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 19, 12, 14, 13, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 9, 27, 27, 27, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 27, 10, 27, 25, 27, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2} 7315 } 7316 7317 var _sqlite3CtypeMap [256]uint8 // sqlite3.c:17222:36 7318 7319 func init() { 7320 _sqlite3CtypeMap = [256]uint8{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 128, 0, 64, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 128, 0, 0, 0, 64, 128, 42, 42, 42, 42, 42, 42, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64} 7321 } 7322 7323 func _keywordCode(tls *crt.TLS, _z *int8, _n int32, _pType *int32) (r0 int32) { // sqlite3.c:138772:1 7324 var _i int32 // sqlite3.c:138892:7 7325 _ = _i 7326 var _j int32 // sqlite3.c:138892:10 7327 _ = _j 7328 var _zKW *int8 // sqlite3.c:138893:14 7329 _ = _zKW 7330 if _n < i32(2) { 7331 goto _0 7332 } 7333 7334 _i = (((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))))))) * i32(4)) ^ (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1))))))))) * i32(3))) ^ _n) % i32(127) 7335 _i = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aHashØ002)) + 1*uintptr(_i)))) - i32(1) 7336 _1: 7337 if _i < i32(0) { 7338 goto _4 7339 } 7340 7341 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aLenØ004)) + 1*uintptr(_i)))) == _n { 7342 goto _5 7343 } 7344 7345 goto _2 7346 7347 _5: 7348 _j = i32(0) 7349 _zKW = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00zTextØ001)) + 1*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aOffsetØ005)) + 2*uintptr(_i)))))) 7350 _6: 7351 if _j >= _n || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_j))))&i32(-33)) != int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zKW)) + 1*uintptr(_j)))) { 7352 goto _7 7353 } 7354 7355 _j += 1 7356 goto _6 7357 7358 _7: 7359 if _j >= _n { 7360 goto _9 7361 } 7362 7363 goto _2 7364 7365 _9: 7366 *_pType = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aCodeØ006)) + 1*uintptr(_i)))) 7367 goto _4 7368 7369 _2: 7370 _i = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_keywordCodeØ00aNextØ003)) + 1*uintptr(_i)))) - i32(1) 7371 goto _1 7372 7373 _4: 7374 _0: 7375 r0 = _n 7376 return 7377 7378 } 7379 7380 var _keywordCodeØ00aHashØ002 [127]uint8 // sqlite3.c:138817:30 7381 7382 func init() { 7383 _keywordCodeØ00aHashØ002 = [127]uint8{76, 105, 117, 74, 0, 45, 0, 0, 82, 0, 77, 0, 0, 42, 12, 78, 15, 0, 116, 85, 54, 112, 0, 19, 0, 0, 121, 0, 119, 115, 0, 22, 93, 0, 9, 0, 0, 70, 71, 0, 69, 6, 0, 48, 90, 102, 0, 118, 101, 0, 0, 44, 0, 103, 24, 0, 17, 0, 122, 53, 23, 0, 5, 110, 25, 96, 0, 0, 124, 106, 60, 123, 57, 28, 55, 0, 91, 0, 100, 26, 0, 99, 0, 0, 0, 95, 92, 97, 88, 109, 14, 39, 108, 0, 81, 0, 18, 89, 111, 32, 0, 120, 80, 113, 62, 46, 84, 0, 0, 94, 40, 59, 114, 0, 36, 0, 0, 29, 0, 86, 63, 64, 0, 20, 61, 0, 56} 7384 } 7385 7386 var _keywordCodeØ00aLenØ004 [124]uint8 // sqlite3.c:138841:30 7387 7388 func init() { 7389 _keywordCodeØ00aLenØ004 = [124]uint8{7, 7, 5, 4, 6, 4, 5, 3, 6, 7, 3, 6, 6, 7, 7, 3, 8, 2, 6, 5, 4, 4, 3, 10, 4, 6, 11, 6, 2, 7, 5, 5, 9, 6, 9, 9, 7, 10, 10, 4, 6, 2, 3, 9, 4, 2, 6, 5, 7, 4, 5, 7, 6, 6, 5, 6, 5, 5, 9, 7, 7, 3, 2, 4, 4, 7, 3, 6, 4, 7, 6, 12, 6, 9, 4, 6, 5, 4, 7, 6, 5, 6, 7, 5, 4, 5, 6, 5, 7, 3, 7, 13, 2, 2, 4, 6, 6, 8, 5, 17, 12, 7, 8, 8, 2, 4, 4, 4, 4, 4, 2, 2, 6, 5, 8, 5, 8, 3, 5, 5, 6, 4, 9, 3} 7390 } 7391 7392 var _keywordCodeØ00zTextØ001 [553]int8 // sqlite3.c:138784:21 7393 7394 func init() { 7395 _keywordCodeØ00zTextØ001 = [553]int8{82, 69, 73, 78, 68, 69, 88, 69, 68, 69, 83, 67, 65, 80, 69, 65, 67, 72, 69, 67, 75, 69, 89, 66, 69, 70, 79, 82, 69, 73, 71, 78, 79, 82, 69, 71, 69, 88, 80, 76, 65, 73, 78, 83, 84, 69, 65, 68, 68, 65, 84, 65, 66, 65, 83, 69, 76, 69, 67, 84, 65, 66, 76, 69, 70, 84, 72, 69, 78, 68, 69, 70, 69, 82, 82, 65, 66, 76, 69, 76, 83, 69, 88, 67, 69, 80, 84, 82, 65, 78, 83, 65, 67, 84, 73, 79, 78, 65, 84, 85, 82, 65, 76, 84, 69, 82, 65, 73, 83, 69, 88, 67, 76, 85, 83, 73, 86, 69, 88, 73, 83, 84, 83, 65, 86, 69, 80, 79, 73, 78, 84, 69, 82, 83, 69, 67, 84, 82, 73, 71, 71, 69, 82, 69, 70, 69, 82, 69, 78, 67, 69, 83, 67, 79, 78, 83, 84, 82, 65, 73, 78, 84, 79, 70, 70, 83, 69, 84, 69, 77, 80, 79, 82, 65, 82, 89, 85, 78, 73, 81, 85, 69, 82, 89, 87, 73, 84, 72, 79, 85, 84, 69, 82, 69, 76, 69, 65, 83, 69, 65, 84, 84, 65, 67, 72, 65, 86, 73, 78, 71, 82, 79, 85, 80, 68, 65, 84, 69, 66, 69, 71, 73, 78, 78, 69, 82, 69, 67, 85, 82, 83, 73, 86, 69, 66, 69, 84, 87, 69, 69, 78, 79, 84, 78, 85, 76, 76, 73, 75, 69, 67, 65, 83, 67, 65, 68, 69, 76, 69, 84, 69, 67, 65, 83, 69, 67, 79, 76, 76, 65, 84, 69, 67, 82, 69, 65, 84, 69, 67, 85, 82, 82, 69, 78, 84, 95, 68, 65, 84, 69, 68, 69, 84, 65, 67, 72, 73, 77, 77, 69, 68, 73, 65, 84, 69, 74, 79, 73, 78, 83, 69, 82, 84, 77, 65, 84, 67, 72, 80, 76, 65, 78, 65, 76, 89, 90, 69, 80, 82, 65, 71, 77, 65, 66, 79, 82, 84, 86, 65, 76, 85, 69, 83, 86, 73, 82, 84, 85, 65, 76, 73, 77, 73, 84, 87, 72, 69, 78, 87, 72, 69, 82, 69, 78, 65, 77, 69, 65, 70, 84, 69, 82, 69, 80, 76, 65, 67, 69, 65, 78, 68, 69, 70, 65, 85, 76, 84, 65, 85, 84, 79, 73, 78, 67, 82, 69, 77, 69, 78, 84, 67, 65, 83, 84, 67, 79, 76, 85, 77, 78, 67, 79, 77, 77, 73, 84, 67, 79, 78, 70, 76, 73, 67, 84, 67, 82, 79, 83, 83, 67, 85, 82, 82, 69, 78, 84, 95, 84, 73, 77, 69, 83, 84, 65, 77, 80, 82, 73, 77, 65, 82, 89, 68, 69, 70, 69, 82, 82, 69, 68, 73, 83, 84, 73, 78, 67, 84, 68, 82, 79, 80, 70, 65, 73, 76, 70, 82, 79, 77, 70, 85, 76, 76, 71, 76, 79, 66, 89, 73, 70, 73, 83, 78, 85, 76, 76, 79, 82, 68, 69, 82, 69, 83, 84, 82, 73, 67, 84, 82, 73, 71, 72, 84, 82, 79, 76, 76, 66, 65, 67, 75, 82, 79, 87, 85, 78, 73, 79, 78, 85, 83, 73, 78, 71, 86, 65, 67, 85, 85, 77, 86, 73, 69, 87, 73, 78, 73, 84, 73, 65, 76, 76, 89} 7396 } 7397 7398 var _keywordCodeØ00aOffsetØ005 [124]uint16 // sqlite3.c:138853:35 7399 7400 func init() { 7401 _keywordCodeØ00aOffsetØ005 = [124]uint16{u16(0), u16(2), u16(2), u16(8), u16(9), u16(14), u16(16), u16(20), u16(23), u16(25), u16(25), u16(29), u16(33), u16(36), u16(41), u16(46), u16(48), u16(53), u16(54), u16(59), u16(62), u16(65), u16(67), u16(69), u16(78), u16(81), u16(86), u16(91), u16(95), u16(96), u16(101), u16(105), u16(109), u16(117), u16(122), u16(128), u16(136), u16(142), u16(152), u16(159), u16(162), u16(162), u16(165), u16(167), u16(167), u16(171), u16(176), u16(179), u16(184), u16(184), u16(188), u16(192), u16(199), u16(204), u16(209), u16(212), u16(218), u16(221), u16(225), u16(234), u16(240), u16(240), u16(240), u16(243), u16(246), u16(250), u16(251), u16(255), u16(261), u16(265), u16(272), u16(278), u16(290), u16(296), u16(305), u16(307), u16(313), u16(318), u16(320), u16(327), u16(332), u16(337), u16(343), u16(349), u16(354), u16(358), u16(361), u16(367), u16(371), u16(378), u16(380), u16(387), u16(389), u16(391), u16(400), u16(404), u16(410), u16(416), u16(424), u16(429), u16(429), u16(445), u16(452), u16(459), u16(460), u16(467), u16(471), u16(475), u16(479), u16(483), u16(486), u16(488), u16(490), u16(496), u16(500), u16(508), u16(513), u16(521), u16(524), u16(529), u16(534), u16(540), u16(544), u16(549)} 7402 } 7403 7404 var _keywordCodeØ00aCodeØ006 [124]uint8 // sqlite3.c:138865:30 7405 7406 func init() { 7407 _keywordCodeØ00aCodeØ006 = [124]uint8{93, 56, 140, 70, 42, 72, 104, 79, 63, 113, 74, 75, 31, 2, 77, 142, 69, 24, 119, 16, 98, 138, 11, 112, 139, 117, 6, 58, 107, 98, 141, 83, 9, 20, 13, 118, 88, 105, 99, 131, 81, 80, 111, 21, 21, 27, 103, 3, 25, 92, 98, 14, 62, 128, 127, 110, 5, 98, 84, 32, 35, 19, 78, 101, 31, 65, 61, 109, 136, 53, 17, 95, 71, 8, 124, 108, 30, 4, 60, 82, 57, 120, 91, 129, 137, 130, 94, 59, 85, 28, 100, 106, 15, 33, 66, 67, 10, 68, 98, 95, 95, 102, 7, 121, 29, 114, 73, 123, 98, 31, 64, 18, 34, 126, 86, 98, 12, 87, 115, 125, 89, 90, 76, 116} 7408 } 7409 7410 var _keywordCodeØ00aNextØ003 [124]uint8 // sqlite3.c:138829:30 7411 7412 func init() { 7413 _keywordCodeØ00aNextØ003 = [124]uint8{0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 21, 0, 0, 0, 0, 0, 50, 0, 43, 3, 47, 0, 0, 0, 0, 30, 0, 58, 0, 38, 0, 0, 0, 1, 66, 0, 0, 67, 0, 41, 0, 0, 0, 0, 0, 0, 49, 65, 0, 0, 0, 0, 31, 52, 16, 34, 10, 0, 0, 0, 0, 0, 0, 0, 11, 72, 79, 0, 8, 0, 104, 98, 0, 107, 0, 87, 0, 75, 51, 0, 27, 37, 73, 83, 0, 35, 68, 0, 0} 7414 } 7415 7416 var _renameTableFuncØ00__func__Ø000 [16]int8 // - 7417 7418 func init() { 7419 crt.Xstrncpy(nil, &_renameTableFuncØ00__func__Ø000[0], str(6160), 16) 7420 } 7421 7422 func _sqlite3MPrintf(tls *crt.TLS, _db *Xsqlite3, _zFormat *int8, args ...interface{}) (r0 *int8) { // sqlite3.c:25988:1 7423 var _ap []interface{} // sqlite3.c:25989:11 7424 _ = _ap 7425 var _z *int8 // sqlite3.c:25990:8 7426 _ = _z 7427 _ap = args 7428 _z = _sqlite3VMPrintf(tls, _db, _zFormat, _ap) 7429 _ap = nil 7430 r0 = _z 7431 return 7432 7433 } 7434 7435 func _sqlite3VMPrintf(tls *crt.TLS, _db *Xsqlite3, _zFormat *int8, _ap []interface{}) (r0 *int8) { // sqlite3.c:25968:1 7436 var _z *int8 // sqlite3.c:25969:8 7437 _ = _z 7438 var _zBase [70]int8 // sqlite3.c:25970:8 7439 _ = _zBase 7440 var _acc XStrAccum // sqlite3.c:25971:12 7441 _ = _acc 7442 func() int32 { 7443 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 7444 return i32(0) 7445 } 7446 return func() int32 { 7447 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25972), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VMPrintfØ00__func__Ø000))), unsafe.Pointer(str(1184))) 7448 crt.X__builtin_abort(tls) 7449 return i32(0) 7450 }() 7451 }() 7452 _sqlite3StrAccumInit(tls, &_acc, _db, (*int8)(unsafe.Pointer(&_zBase)), int32(u32(70)), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) 7453 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_acc)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 7454 _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) 7455 _z = _sqlite3StrAccumFinish(tls, &_acc) 7456 if int32(_acc.X6) != i32(1) { 7457 goto _2 7458 } 7459 7460 _sqlite3OomFault(tls, _db) 7461 _2: 7462 r0 = _z 7463 return 7464 7465 } 7466 7467 var _sqlite3VMPrintfØ00__func__Ø000 [16]int8 // - 7468 7469 func init() { 7470 crt.Xstrncpy(nil, &_sqlite3VMPrintfØ00__func__Ø000[0], str(6176), 16) 7471 } 7472 7473 func _sqlite3StrAccumFinish(tls *crt.TLS, _p *XStrAccum) (r0 *int8) { // sqlite3.c:25917:1 7474 if (_p.X2) == nil { 7475 goto _0 7476 } 7477 7478 func() int32 { 7479 if ((_p.X2) == (_p.X1)) == ((int32(_p.X7) & i32(4)) == i32(0)) { 7480 return i32(0) 7481 } 7482 return func() int32 { 7483 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25919), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StrAccumFinishØ00__func__Ø000))), unsafe.Pointer(str(6192))) 7484 crt.X__builtin_abort(tls) 7485 return i32(0) 7486 }() 7487 }() 7488 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 1*uintptr(_p.X3))) = int8(i32(0)) 7489 if (_p.X5) <= uint32(i32(0)) || (int32(_p.X7)&i32(4)) != i32(0) { 7490 goto _4 7491 } 7492 7493 r0 = _strAccumFinishRealloc(tls, _p) 7494 return 7495 7496 _4: 7497 _0: 7498 r0 = _p.X2 7499 return 7500 7501 } 7502 7503 var _sqlite3StrAccumFinishØ00__func__Ø000 [22]int8 // - 7504 7505 func init() { 7506 crt.Xstrncpy(nil, &_sqlite3StrAccumFinishØ00__func__Ø000[0], str(6232), 22) 7507 } 7508 7509 func _strAccumFinishRealloc(tls *crt.TLS, _p *XStrAccum) (r0 *int8) { // sqlite3.c:25906:1 7510 func() int32 { 7511 if ((_p.X5) > uint32(i32(0))) && ((int32(_p.X7) & i32(4)) == i32(0)) { 7512 return i32(0) 7513 } 7514 return func() int32 { 7515 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25907), unsafe.Pointer((*int8)(unsafe.Pointer(&_strAccumFinishReallocØ00__func__Ø000))), unsafe.Pointer(str(6256))) 7516 crt.X__builtin_abort(tls) 7517 return i32(0) 7518 }() 7519 }() 7520 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), uint64((_p.X3)+uint32(i32(1)))))) 7521 if (_p.X2) == nil { 7522 goto _3 7523 } 7524 7525 crt.Xmemcpy(tls, (unsafe.Pointer)(_p.X2), (unsafe.Pointer)(_p.X1), (_p.X3)+uint32(i32(1))) 7526 { 7527 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(25 /* X7 */))) 7528 *p = uint8(int32(*p) | i32(4)) 7529 sink6915 = *p 7530 } 7531 goto _4 7532 7533 _3: 7534 _setStrAccumError(tls, _p, uint8(i32(1))) 7535 _4: 7536 r0 = _p.X2 7537 return 7538 7539 } 7540 7541 var _strAccumFinishReallocØ00__func__Ø000 [22]int8 // - 7542 7543 func init() { 7544 crt.Xstrncpy(nil, &_strAccumFinishReallocØ00__func__Ø000[0], str(6288), 22) 7545 } 7546 7547 func Xsqlite3_result_text(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76390:12 7548 func() int32 { 7549 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 7550 return i32(0) 7551 } 7552 return func() int32 { 7553 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76396), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_textØ00__func__Ø000))), unsafe.Pointer(str(6312))) 7554 crt.X__builtin_abort(tls) 7555 return i32(0) 7556 }() 7557 }() 7558 _setResultStrOrError(tls, _pCtx, _z, _n, uint8(i32(1)), _xDel) 7559 return 7560 7561 } 7562 7563 var _sqlite3_result_textØ00__func__Ø000 [20]int8 // - 7564 7565 func init() { 7566 crt.Xstrncpy(nil, &_sqlite3_result_textØ00__func__Ø000[0], str(6356), 20) 7567 } 7568 7569 func _setResultStrOrError(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32, _enc uint8, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76303:1 7570 if _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _z, _n, _enc, _xDel) != i32(18) { 7571 goto _0 7572 } 7573 7574 Xsqlite3_result_error_toobig(tls, _pCtx) 7575 _0: 7576 return 7577 7578 } 7579 7580 func _sqlite3VdbeMemSetStr(tls *crt.TLS, _pMem *XMem, _z *int8, _n int32, _enc uint8, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:70469:1 7581 var _nByte int32 // sqlite3.c:70476:7 7582 _ = _nByte 7583 var _iLimit int32 // sqlite3.c:70477:7 7584 _ = _iLimit 7585 var _flags uint16 // sqlite3.c:70478:7 7586 _ = _flags 7587 var _8_nAlloc int32 // sqlite3.c:70511:9 7588 _ = _8_nAlloc 7589 _nByte = _n 7590 _flags = u16(0) 7591 func() int32 { 7592 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 7593 return i32(0) 7594 } 7595 return func() int32 { 7596 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70480), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetStrØ00__func__Ø000))), unsafe.Pointer(str(4300))) 7597 crt.X__builtin_abort(tls) 7598 return i32(0) 7599 }() 7600 }() 7601 func() int32 { 7602 if (int32(_pMem.X1) & i32(32)) == i32(0) { 7603 return i32(0) 7604 } 7605 return func() int32 { 7606 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70481), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetStrØ00__func__Ø000))), unsafe.Pointer(str(6376))) 7607 crt.X__builtin_abort(tls) 7608 return i32(0) 7609 }() 7610 }() 7611 if _z != nil { 7612 goto _5 7613 } 7614 7615 _sqlite3VdbeMemSetNull(tls, _pMem) 7616 r0 = i32(0) 7617 return 7618 7619 _5: 7620 if (*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == nil { 7621 goto _6 7622 } 7623 7624 _iLimit = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pMem.X9)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0)))) 7625 goto _7 7626 7627 _6: 7628 _iLimit = i32(1000000000) 7629 _7: 7630 _flags = uint16(func() int32 { 7631 if int32(_enc) == i32(0) { 7632 return i32(16) 7633 } 7634 return i32(2) 7635 }()) 7636 if _nByte >= i32(0) { 7637 goto _10 7638 } 7639 7640 func() int32 { 7641 if int32(_enc) != i32(0) { 7642 return i32(0) 7643 } 7644 return func() int32 { 7645 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70496), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetStrØ00__func__Ø000))), unsafe.Pointer(str(6408))) 7646 crt.X__builtin_abort(tls) 7647 return i32(0) 7648 }() 7649 }() 7650 if int32(_enc) != i32(1) { 7651 goto _13 7652 } 7653 7654 _nByte = _sqlite3Strlen30(tls, _z) 7655 if _nByte <= _iLimit { 7656 goto _14 7657 } 7658 7659 _nByte = _iLimit + i32(1) 7660 _14: 7661 goto _15 7662 7663 _13: 7664 _nByte = i32(0) 7665 _16: 7666 if _nByte > _iLimit || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_nByte))))|int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_nByte+i32(1)))))) == 0 { 7667 goto _20 7668 } 7669 7670 { 7671 p := &_nByte 7672 *p = (*p) + i32(2) 7673 sink961 = *p 7674 } 7675 goto _16 7676 7677 _20: 7678 _15: 7679 { 7680 p := &_flags 7681 *p = uint16(int32(*p) | i32(512)) 7682 sink6908 = *p 7683 } 7684 _10: 7685 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 7686 f func(*crt.TLS, unsafe.Pointer) 7687 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 7688 f func(*crt.TLS, unsafe.Pointer) 7689 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295})))})) { 7690 goto _21 7691 } 7692 7693 _8_nAlloc = _nByte 7694 if (int32(_flags) & i32(512)) == 0 { 7695 goto _22 7696 } 7697 7698 { 7699 p := &_8_nAlloc 7700 *p = (*p) + func() int32 { 7701 if int32(_enc) == i32(1) { 7702 return i32(1) 7703 } 7704 return i32(2) 7705 }() 7706 sink961 = *p 7707 } 7708 _22: 7709 if _nByte <= _iLimit { 7710 goto _25 7711 } 7712 7713 r0 = i32(18) 7714 return 7715 7716 _25: 7717 if _sqlite3VdbeMemClearAndResize(tls, _pMem, func() int32 { 7718 if _8_nAlloc > i32(32) { 7719 return _8_nAlloc 7720 } 7721 return i32(32) 7722 }()) == 0 { 7723 goto _28 7724 } 7725 7726 r0 = _sqlite3NomemError(tls, i32(70522)) 7727 return 7728 7729 _28: 7730 crt.Xmemcpy(tls, (unsafe.Pointer)(_pMem.X5), (unsafe.Pointer)(_z), uint32(_8_nAlloc)) 7731 goto _29 7732 7733 _21: 7734 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 7735 f func(*crt.TLS, unsafe.Pointer) 7736 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 7737 f func(*crt.TLS, unsafe.Pointer) 7738 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 7739 f func(*crt.TLS, unsafe.Pointer) int32 7740 }{_sqlite3MallocSize})))})) { 7741 goto _30 7742 } 7743 7744 _sqlite3VdbeMemRelease(tls, _pMem) 7745 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(20 /* X6 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(16 /* X5 */))), _z) 7746 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_pMem.X9)), (unsafe.Pointer)(_pMem.X6)) 7747 goto _31 7748 7749 _30: 7750 _sqlite3VdbeMemRelease(tls, _pMem) 7751 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _z 7752 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(36 /* X10 */))) = _xDel 7753 { 7754 p := &_flags 7755 *p = uint16(int32(*p) | func() int32 { 7756 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 7757 f func(*crt.TLS, unsafe.Pointer) 7758 }{_xDel})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 7759 f func(*crt.TLS, unsafe.Pointer) 7760 }{nil})) { 7761 return i32(2048) 7762 } 7763 return i32(1024) 7764 }()) 7765 sink6908 = *p 7766 } 7767 _31: 7768 _29: 7769 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _nByte 7770 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = _flags 7771 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(func() int32 { 7772 if int32(_enc) == i32(0) { 7773 return i32(1) 7774 } 7775 return int32(_enc) 7776 }()) 7777 if int32(_pMem.X2) == i32(1) || _sqlite3VdbeMemHandleBom(tls, _pMem) == 0 { 7778 goto _37 7779 } 7780 7781 r0 = _sqlite3NomemError(tls, i32(70542)) 7782 return 7783 7784 _37: 7785 if _nByte <= _iLimit { 7786 goto _38 7787 } 7788 7789 r0 = i32(18) 7790 return 7791 7792 _38: 7793 r0 = i32(0) 7794 return 7795 7796 } 7797 7798 var _sqlite3VdbeMemSetStrØ00__func__Ø000 [21]int8 // - 7799 7800 func init() { 7801 crt.Xstrncpy(nil, &_sqlite3VdbeMemSetStrØ00__func__Ø000[0], str(6416), 21) 7802 } 7803 7804 func _sqlite3VdbeMemHandleBom(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:27426:1 7805 var _rc int32 // sqlite3.c:27427:7 7806 _ = _rc 7807 var _bom uint8 // sqlite3.c:27428:6 7808 _ = _bom 7809 var _1_b1 uint8 // sqlite3.c:27432:8 7810 _ = _1_b1 7811 var _1_b2 uint8 // sqlite3.c:27433:8 7812 _ = _1_b2 7813 _rc = i32(0) 7814 _bom = u8(0) 7815 func() int32 { 7816 if (_pMem.X4) >= i32(0) { 7817 return i32(0) 7818 } 7819 return func() int32 { 7820 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27430), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemHandleBomØ00__func__Ø000))), unsafe.Pointer(str(5604))) 7821 crt.X__builtin_abort(tls) 7822 return i32(0) 7823 }() 7824 }() 7825 if (_pMem.X4) <= i32(1) { 7826 goto _2 7827 } 7828 7829 _1_b1 = *(*uint8)(unsafe.Pointer(_pMem.X5)) 7830 _1_b2 = *(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_pMem.X5)))) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(1)))))))) 7831 if int32(_1_b1) != i32(254) || int32(_1_b2) != i32(255) { 7832 goto _4 7833 } 7834 7835 _bom = uint8(i32(3)) 7836 _4: 7837 if int32(_1_b1) != i32(255) || int32(_1_b2) != i32(254) { 7838 goto _6 7839 } 7840 7841 _bom = uint8(i32(2)) 7842 _6: 7843 _2: 7844 if _bom == 0 { 7845 goto _7 7846 } 7847 7848 _rc = _sqlite3VdbeMemMakeWriteable(tls, _pMem) 7849 if _rc != i32(0) { 7850 goto _8 7851 } 7852 7853 { 7854 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) 7855 *p = (*p) - i32(2) 7856 sink961 = *p 7857 } 7858 crt.Xmemmove(tls, (unsafe.Pointer)(_pMem.X5), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5))+1*uintptr(i32(2))))), uint32(_pMem.X4)) 7859 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_pMem.X4))) = int8(i32(0)) 7860 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr((_pMem.X4)+i32(1)))) = int8(i32(0)) 7861 { 7862 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 7863 *p = uint16(int32(*p) | i32(512)) 7864 sink6908 = *p 7865 } 7866 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _bom 7867 _8: 7868 _7: 7869 r0 = _rc 7870 return 7871 7872 } 7873 7874 var _sqlite3VdbeMemHandleBomØ00__func__Ø000 [24]int8 // - 7875 7876 func init() { 7877 crt.Xstrncpy(nil, &_sqlite3VdbeMemHandleBomØ00__func__Ø000[0], str(6440), 24) 7878 } 7879 7880 func Xsqlite3_result_error_toobig(tls *crt.TLS, _pCtx *Xsqlite3_context) { // sqlite3.c:76474:12 7881 func() int32 { 7882 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 7883 return i32(0) 7884 } 7885 return func() int32 { 7886 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76475), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_error_toobigØ00__func__Ø000))), unsafe.Pointer(str(6312))) 7887 crt.X__builtin_abort(tls) 7888 return i32(0) 7889 }() 7890 }() 7891 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(20 /* X5 */))) = i32(18) 7892 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 7893 _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), str(6464), i32(-1), uint8(i32(1)), nil) 7894 return 7895 7896 } 7897 7898 var _sqlite3_result_error_toobigØ00__func__Ø000 [28]int8 // - 7899 7900 func init() { 7901 crt.Xstrncpy(nil, &_sqlite3_result_error_toobigØ00__func__Ø000[0], str(6488), 28) 7902 } 7903 7904 func _renameTriggerFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:96035:1 7905 var _zSql *uint8 // sqlite3.c:96040:23 7906 _ = _zSql 7907 var _zTableName *uint8 // sqlite3.c:96041:23 7908 _ = _zTableName 7909 var _token int32 // sqlite3.c:96043:7 7910 _ = _token 7911 var _tname XToken // sqlite3.c:96044:9 7912 _ = _tname 7913 var _dist int32 // sqlite3.c:96045:7 7914 _ = _dist 7915 var _zCsr *uint8 // sqlite3.c:96046:23 7916 _ = _zCsr 7917 var _len int32 // sqlite3.c:96047:7 7918 _ = _len 7919 var _zRet *int8 // sqlite3.c:96048:8 7920 _ = _zRet 7921 var _db *Xsqlite3 // sqlite3.c:96049:11 7922 _ = _db 7923 _zSql = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 7924 _zTableName = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 7925 _dist = i32(3) 7926 _zCsr = _zSql 7927 _len = i32(0) 7928 _db = Xsqlite3_context_db_handle(tls, _context) 7929 7930 if _zSql == nil { 7931 goto _0 7932 } 7933 7934 _1: 7935 if (*_zCsr) != 0 { 7936 goto _2 7937 } 7938 7939 return 7940 7941 _2: 7942 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(_zCsr)) 7943 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tname)) + uintptr(4 /* X1 */))) = uint32(_len) 7944 _3: 7945 { 7946 p := &_zCsr 7947 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_len))) 7948 sink6921 = *p 7949 } 7950 _len = _sqlite3GetToken(tls, _zCsr, &_token) 7951 if _token == i32(162) { 7952 goto _3 7953 } 7954 7955 func() int32 { 7956 if _len > i32(0) { 7957 return i32(0) 7958 } 7959 return func() int32 { 7960 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96077), unsafe.Pointer((*int8)(unsafe.Pointer(&_renameTriggerFuncØ00__func__Ø000))), unsafe.Pointer(str(3844))) 7961 crt.X__builtin_abort(tls) 7962 return i32(0) 7963 }() 7964 }() 7965 _dist += 1 7966 if _token != i32(122) && _token != i32(107) { 7967 goto _7 7968 } 7969 7970 _dist = i32(0) 7971 _7: 7972 if (_dist != i32(2)) || (((_token != i32(137)) && (_token != i32(74))) && (_token != i32(5))) { 7973 goto _1 7974 } 7975 7976 _zRet = _sqlite3MPrintf(tls, _db, str(3852), int32((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_tname.X0))))-uintptr(unsafe.Pointer(_zSql)))/1), unsafe.Pointer(_zSql), unsafe.Pointer(_zTableName), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_tname.X0))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_tname.X1))))))))) 7977 Xsqlite3_result_text(tls, _context, _zRet, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 7978 f func(*crt.TLS, unsafe.Pointer) int32 7979 }{_sqlite3MallocSize}))) 7980 _0: 7981 return 7982 7983 } 7984 7985 var _renameTriggerFuncØ00__func__Ø000 [18]int8 // - 7986 7987 func init() { 7988 crt.Xstrncpy(nil, &_renameTriggerFuncØ00__func__Ø000[0], str(6516), 18) 7989 } 7990 7991 func _renameParentFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:95978:1 7992 var _db *Xsqlite3 // sqlite3.c:95983:11 7993 _ = _db 7994 var _zOutput *int8 // sqlite3.c:95984:8 7995 _ = _zOutput 7996 var _zResult *int8 // sqlite3.c:95985:8 7997 _ = _zResult 7998 var _zInput *uint8 // sqlite3.c:95986:23 7999 _ = _zInput 8000 var _zOld *uint8 // sqlite3.c:95987:23 8001 _ = _zOld 8002 var _zNew *uint8 // sqlite3.c:95988:23 8003 _ = _zNew 8004 var _z *uint8 // sqlite3.c:95990:23 8005 _ = _z 8006 var _n int32 // sqlite3.c:95991:7 8007 _ = _n 8008 var _token int32 // sqlite3.c:95992:7 8009 _ = _token 8010 var _2_zParent *int8 // sqlite3.c:95999:12 8011 _ = _2_zParent 8012 var _4_zOut *int8 // sqlite3.c:96010:14 8013 _ = _4_zOut 8014 _db = Xsqlite3_context_db_handle(tls, _context) 8015 _zOutput = nil 8016 _zInput = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 8017 _zOld = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 8018 _zNew = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) 8019 8020 if _zInput != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && _zOld != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 8021 goto _1 8022 } 8023 8024 return 8025 8026 _1: 8027 _z = _zInput 8028 _2: 8029 if (*_z) == 0 { 8030 goto _5 8031 } 8032 8033 _n = _sqlite3GetToken(tls, _z, &_token) 8034 if _token != i32(105) { 8035 goto _6 8036 } 8037 8038 _7: 8039 { 8040 p := &_z 8041 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 8042 sink6921 = *p 8043 } 8044 _n = _sqlite3GetToken(tls, _z, &_token) 8045 if _token == i32(162) { 8046 goto _7 8047 } 8048 8049 if _token != i32(163) { 8050 goto _8 8051 } 8052 8053 goto _5 8054 8055 _8: 8056 _2_zParent = _sqlite3DbStrNDup(tls, _db, (*int8)(unsafe.Pointer(_z)), uint64(_n)) 8057 if _2_zParent != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 8058 goto _9 8059 } 8060 8061 goto _5 8062 8063 _9: 8064 _sqlite3Dequote(tls, _2_zParent) 8065 if i32(0) != _sqlite3StrICmp(tls, (*int8)(unsafe.Pointer(_zOld)), _2_zParent) { 8066 goto _10 8067 } 8068 8069 _4_zOut = _sqlite3MPrintf(tls, _db, str(6536), unsafe.Pointer(func() *int8 { 8070 if _zOutput != nil { 8071 return _zOutput 8072 } 8073 return str(196) 8074 }()), int32((uintptr(unsafe.Pointer(_z))-uintptr(unsafe.Pointer(_zInput)))/1), unsafe.Pointer(_zInput), unsafe.Pointer((*int8)(unsafe.Pointer(_zNew)))) 8075 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zOutput)) 8076 _zOutput = _4_zOut 8077 _zInput = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n))) 8078 _10: 8079 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_zParent)) 8080 _6: 8081 _z = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_n))))))) 8082 goto _2 8083 8084 _5: 8085 Xsqlite3_result_text(tls, func() *Xsqlite3_context { 8086 _zResult = _sqlite3MPrintf(tls, _db, str(6548), unsafe.Pointer(func() *int8 { 8087 if _zOutput != nil { 8088 return _zOutput 8089 } 8090 return str(196) 8091 }()), unsafe.Pointer(_zInput)) 8092 return _context 8093 }(), _zResult, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 8094 f func(*crt.TLS, unsafe.Pointer) int32 8095 }{_sqlite3MallocSize}))) 8096 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zOutput)) 8097 return 8098 8099 } 8100 8101 func _sqlite3DbStrNDup(tls *crt.TLS, _db *Xsqlite3, _z *int8, _n uint64) (r0 *int8) { // sqlite3.c:24937:1 8102 var _zNew *int8 // sqlite3.c:24938:8 8103 _ = _zNew 8104 func() int32 { 8105 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 8106 return i32(0) 8107 } 8108 return func() int32 { 8109 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24939), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbStrNDupØ00__func__Ø000))), unsafe.Pointer(str(1184))) 8110 crt.X__builtin_abort(tls) 8111 return i32(0) 8112 }() 8113 }() 8114 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 8115 goto _2 8116 } 8117 8118 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 8119 return 8120 8121 _2: 8122 func() int32 { 8123 if (_n & uint64(i32(2147483647))) == _n { 8124 return i32(0) 8125 } 8126 return func() int32 { 8127 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24943), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DbStrNDupØ00__func__Ø000))), unsafe.Pointer(str(6556))) 8128 crt.X__builtin_abort(tls) 8129 return i32(0) 8130 }() 8131 }() 8132 _zNew = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, _n+uint64(i32(1))))) 8133 if _zNew == nil { 8134 goto _5 8135 } 8136 8137 crt.Xmemcpy(tls, (unsafe.Pointer)(_zNew), (unsafe.Pointer)(_z), uint32(_n)) 8138 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNew)) + 1*uintptr(_n))) = int8(i32(0)) 8139 _5: 8140 r0 = _zNew 8141 return 8142 8143 } 8144 8145 var _sqlite3DbStrNDupØ00__func__Ø000 [17]int8 // - 8146 8147 func init() { 8148 crt.Xstrncpy(nil, &_sqlite3DbStrNDupØ00__func__Ø000[0], str(6576), 17) 8149 } 8150 8151 func _sqlite3Dequote(tls *crt.TLS, _z *int8) { // sqlite3.c:27859:1 8152 var _quote int8 // sqlite3.c:27860:8 8153 _ = _quote 8154 var _i int32 // sqlite3.c:27861:7 8155 _ = _i 8156 var _j int32 // sqlite3.c:27861:10 8157 _ = _j 8158 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 8159 goto _0 8160 } 8161 8162 return 8163 8164 _0: 8165 _quote = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0)))) 8166 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_quote))))) & i32(128)) != 0 { 8167 goto _1 8168 } 8169 8170 return 8171 8172 _1: 8173 if int32(_quote) != i32(91) { 8174 goto _2 8175 } 8176 8177 _quote = int8(i32(93)) 8178 _2: 8179 *func() *int32 { _i = i32(1); return &_j }() = i32(0) 8180 _3: 8181 func() int32 { 8182 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != 0 { 8183 return i32(0) 8184 } 8185 return func() int32 { 8186 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27867), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DequoteØ00__func__Ø000))), unsafe.Pointer(str(6596))) 8187 crt.X__builtin_abort(tls) 8188 return i32(0) 8189 }() 8190 }() 8191 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) != int32(_quote) { 8192 goto _8 8193 } 8194 8195 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1))))) != int32(_quote) { 8196 goto _9 8197 } 8198 8199 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_j, int32(1))))) = _quote 8200 _i += 1 8201 goto _10 8202 8203 _9: 8204 goto _5 8205 8206 _10: 8207 goto _11 8208 8209 _8: 8210 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_j, int32(1))))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))) 8211 _11: 8212 _i += 1 8213 goto _3 8214 8215 _5: 8216 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_j))) = int8(i32(0)) 8217 return 8218 8219 } 8220 8221 var _sqlite3DequoteØ00__func__Ø000 [15]int8 // - 8222 8223 func init() { 8224 crt.Xstrncpy(nil, &_sqlite3DequoteØ00__func__Ø000[0], str(6604), 15) 8225 } 8226 8227 func _sqlite3RegisterDateTimeFunctions(tls *crt.TLS) { // sqlite3.c:20030:1 8228 _sqlite3InsertBuiltinFuncs(tls, (*XFuncDef)(unsafe.Pointer(&_sqlite3RegisterDateTimeFunctionsØ00aDateTimeFuncsØ001)), i32(8)) 8229 return 8230 8231 } 8232 8233 var _sqlite3RegisterDateTimeFunctionsØ00aDateTimeFuncsØ001 [8]XFuncDef // sqlite3.c:20031:18 8234 8235 func init() { 8236 _sqlite3RegisterDateTimeFunctionsØ00aDateTimeFuncsØ001 = [8]XFuncDef{XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8237 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8238 }{_juliandayFunc})), X5: nil, X6: str(6620), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8239 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8240 }{_dateFunc})), X5: nil, X6: str(6632), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8241 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8242 }{_timeFunc})), X5: nil, X6: str(6640), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8243 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8244 }{_datetimeFunc})), X5: nil, X6: str(6648), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8245 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8246 }{_strftimeFunc})), X5: nil, X6: str(6660), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8247 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8248 }{_ctimeFunc})), X5: nil, X6: str(6672), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8249 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8250 }{_ctimestampFunc})), X5: nil, X6: str(6688), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 8251 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 8252 }{_cdateFunc})), X5: nil, X6: str(6708), X7: T7789635{}}} 8253 } 8254 8255 func _juliandayFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19715:1 8256 var _x XDateTime // sqlite3.c:19720:12 8257 _ = _x 8258 if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { 8259 goto _0 8260 } 8261 8262 _computeJD(tls, &_x) 8263 Xsqlite3_result_double(tls, _context, float64(_x.X0)/(8.64e+07)) 8264 _0: 8265 return 8266 8267 } 8268 8269 func _isDate(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem, _p *XDateTime) (r0 int32) { // sqlite3.c:19672:1 8270 var _i int32 // sqlite3.c:19678:7 8271 _ = _i 8272 var _n int32 // sqlite3.c:19678:10 8273 _ = _n 8274 var _z *uint8 // sqlite3.c:19679:23 8275 _ = _z 8276 var _eType int32 // sqlite3.c:19680:7 8277 _ = _eType 8278 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(48)) 8279 if _argc != i32(0) { 8280 goto _0 8281 } 8282 8283 r0 = _setDateTimeToCurrent(tls, _context, _p) 8284 return 8285 8286 _0: 8287 if store961(&_eType, Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))))) != i32(2) && _eType != i32(1) { 8288 goto _2 8289 } 8290 8291 _setRawDateNumber(tls, _p, Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))))) 8292 goto _3 8293 8294 _2: 8295 _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 8296 if _z != nil && _parseDateOrTime(tls, _context, (*int8)(unsafe.Pointer(_z)), _p) == 0 { 8297 goto _5 8298 } 8299 8300 r0 = i32(1) 8301 return 8302 8303 _5: 8304 _3: 8305 _i = i32(1) 8306 _6: 8307 if _i >= _argc { 8308 goto _9 8309 } 8310 8311 _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))) 8312 _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))) 8313 if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && _parseModifier(tls, _context, (*int8)(unsafe.Pointer(_z)), _n, _p) == 0 { 8314 goto _11 8315 } 8316 8317 r0 = i32(1) 8318 return 8319 8320 _11: 8321 _i += 1 8322 goto _6 8323 8324 _9: 8325 _computeJD(tls, _p) 8326 if (_p.X14) == 0 && _validJulianDay(tls, _p.X0) != 0 { 8327 goto _13 8328 } 8329 8330 r0 = i32(1) 8331 return 8332 8333 _13: 8334 r0 = i32(0) 8335 return 8336 8337 } 8338 8339 func _setDateTimeToCurrent(tls *crt.TLS, _context *Xsqlite3_context, _p *XDateTime) (r0 int32) { // sqlite3.c:19139:1 8340 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _sqlite3StmtCurrentTime(tls, _context) 8341 if (_p.X0) <= int64(i32(0)) { 8342 goto _0 8343 } 8344 8345 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) 8346 r0 = i32(0) 8347 return 8348 8349 _0: 8350 r0 = i32(1) 8351 return 8352 8353 } 8354 8355 func _sqlite3StmtCurrentTime(tls *crt.TLS, _p *Xsqlite3_context) (r0 int64) { // sqlite3.c:76733:1 8356 var _rc int32 // sqlite3.c:76734:7 8357 _ = _rc 8358 var _piTime *int64 // sqlite3.c:76736:17 8359 _ = _piTime 8360 _piTime = (*int64)(unsafe.Pointer(uintptr(_p.X3) + uintptr(52 /* X13 */))) 8361 func() int32 { 8362 if (*XVdbe)(unsafe.Pointer(_p.X3)) != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 8363 return i32(0) 8364 } 8365 return func() int32 { 8366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76737), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StmtCurrentTimeØ00__func__Ø000))), unsafe.Pointer(str(6724))) 8367 crt.X__builtin_abort(tls) 8368 return i32(0) 8369 }() 8370 }() 8371 if (*_piTime) != int64(i32(0)) { 8372 goto _2 8373 } 8374 8375 _rc = _sqlite3OsCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_p.X0)).X9)).X0)), _piTime) 8376 if _rc == 0 { 8377 goto _3 8378 } 8379 8380 *_piTime = int64(i32(0)) 8381 _3: 8382 _2: 8383 r0 = *_piTime 8384 return 8385 8386 } 8387 8388 var _sqlite3StmtCurrentTimeØ00__func__Ø000 [23]int8 // - 8389 8390 func init() { 8391 crt.Xstrncpy(nil, &_sqlite3StmtCurrentTimeØ00__func__Ø000[0], str(6736), 23) 8392 } 8393 8394 func _sqlite3OsCurrentTimeInt64(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pTimeOut *int64) (r0 int32) { // sqlite3.c:20315:1 8395 var _rc int32 // sqlite3.c:20316:7 8396 _ = _rc 8397 var _2_r float64 // sqlite3.c:20326:12 8398 _ = _2_r 8399 if (_pVfs.X0) < i32(2) || (*(*func(*crt.TLS, *Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&struct { 8400 f func(*crt.TLS, unsafe.Pointer, *int64) int32 8401 }{(_pVfs.X18)}))) == nil { 8402 goto _1 8403 } 8404 8405 _rc = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&struct { 8406 f func(*crt.TLS, unsafe.Pointer, *int64) int32 8407 }{(_pVfs.X18)})))(tls, _pVfs, _pTimeOut) 8408 goto _2 8409 8410 _1: 8411 _rc = (*(*func(*crt.TLS, *Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&struct { 8412 f func(*crt.TLS, unsafe.Pointer, *float64) int32 8413 }{(_pVfs.X16)})))(tls, _pVfs, &_2_r) 8414 *_pTimeOut = int64(_2_r * (8.64e+07)) 8415 _2: 8416 r0 = _rc 8417 return 8418 8419 } 8420 8421 func Xsqlite3_value_type(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76224:12 8422 r0 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_value_typeØ00aTypeØ001)) + 1*uintptr(int32(_pVal.X1)&i32(31))))) 8423 return 8424 8425 } 8426 8427 var _sqlite3_value_typeØ00aTypeØ001 [32]uint8 // sqlite3.c:76225:19 8428 8429 func init() { 8430 _sqlite3_value_typeØ00aTypeØ001 = [32]uint8{4, 5, 3, 5, 1, 5, 1, 5, 2, 5, 2, 5, 1, 5, 1, 5, 4, 5, 3, 5, 1, 5, 1, 5, 2, 5, 2, 5, 1, 5, 1, 5} 8431 } 8432 8433 func _setRawDateNumber(tls *crt.TLS, _p *XDateTime, _r float64) { // sqlite3.c:19155:1 8434 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = _r 8435 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(1)) 8436 if _r < float64(0) || _r >= (5.3734845e+06) { 8437 goto _1 8438 } 8439 8440 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int64((_r * (8.64e+07)) + (0.5)) 8441 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) 8442 _1: 8443 return 8444 8445 } 8446 8447 func Xsqlite3_value_double(tls *crt.TLS, _pVal *XMem) (r0 float64) { // sqlite3.c:76193:12 8448 r0 = _sqlite3VdbeRealValue(tls, _pVal) 8449 return 8450 8451 } 8452 8453 func _sqlite3VdbeRealValue(tls *crt.TLS, _pMem *XMem) (r0 float64) { // sqlite3.c:70102:1 8454 var _3_val float64 // sqlite3.c:70111:12 8455 _ = _3_val 8456 func() int32 { 8457 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 8458 return i32(0) 8459 } 8460 return func() int32 { 8461 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70103), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRealValueØ00__func__Ø000))), unsafe.Pointer(str(4300))) 8462 crt.X__builtin_abort(tls) 8463 return i32(0) 8464 }() 8465 }() 8466 func() int32 { 8467 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 8468 return i32(0) 8469 } 8470 return func() int32 { 8471 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70104), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRealValueØ00__func__Ø000))), unsafe.Pointer(str(5944))) 8472 crt.X__builtin_abort(tls) 8473 return i32(0) 8474 }() 8475 }() 8476 if (int32(_pMem.X1) & i32(8)) == 0 { 8477 goto _5 8478 } 8479 8480 r0 = *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) 8481 return 8482 8483 _5: 8484 if (int32(_pMem.X1) & i32(4)) == 0 { 8485 goto _7 8486 } 8487 8488 r0 = float64(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 8489 return 8490 8491 _7: 8492 if (int32(_pMem.X1) & i32(18)) == 0 { 8493 goto _9 8494 } 8495 8496 _3_val = 0 8497 _sqlite3AtoF(tls, _pMem.X5, &_3_val, _pMem.X4, _pMem.X2) 8498 r0 = _3_val 8499 return 8500 8501 _9: 8502 r0 = float64(0) 8503 return 8504 8505 } 8506 8507 var _sqlite3VdbeRealValueØ00__func__Ø000 [21]int8 // - 8508 8509 func init() { 8510 crt.Xstrncpy(nil, &_sqlite3VdbeRealValueØ00__func__Ø000[0], str(6760), 21) 8511 } 8512 8513 func _sqlite3AtoF(tls *crt.TLS, _z *int8, _pResult *float64, _length int32, _enc uint8) (r0 int32) { // sqlite3.c:27959:1 8514 var _incr int32 // sqlite3.c:27961:7 8515 _ = _incr 8516 var _zEnd *int8 // sqlite3.c:27962:14 8517 _ = _zEnd 8518 var _sign int32 // sqlite3.c:27964:7 8519 _ = _sign 8520 var _s int64 // sqlite3.c:27965:7 8521 _ = _s 8522 var _d int32 // sqlite3.c:27966:7 8523 _ = _d 8524 var _esign int32 // sqlite3.c:27967:7 8525 _ = _esign 8526 var _e int32 // sqlite3.c:27968:7 8527 _ = _e 8528 var _eValid int32 // sqlite3.c:27969:7 8529 _ = _eValid 8530 var _result float64 // sqlite3.c:27970:10 8531 _ = _result 8532 var _nDigits int32 // sqlite3.c:27971:7 8533 _ = _nDigits 8534 var _nonNum int32 // sqlite3.c:27972:7 8535 _ = _nonNum 8536 var _2_i int32 // sqlite3.c:27980:9 8537 _ = _2_i 8538 var _22_scale float64 // sqlite3.c:28092:23 8539 _ = _22_scale 8540 _zEnd = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_length))))))) 8541 _sign = i32(1) 8542 _s = i64(0) 8543 _d = i32(0) 8544 _esign = i32(1) 8545 _e = i32(0) 8546 _eValid = i32(1) 8547 _nDigits = i32(0) 8548 _nonNum = i32(0) 8549 func() int32 { 8550 if ((int32(_enc) == i32(1)) || (int32(_enc) == i32(2))) || (int32(_enc) == i32(3)) { 8551 return i32(0) 8552 } 8553 return func() int32 { 8554 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27974), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AtoFØ00__func__Ø000))), unsafe.Pointer(str(6784))) 8555 crt.X__builtin_abort(tls) 8556 return i32(0) 8557 }() 8558 }() 8559 *_pResult = float64(0) 8560 if int32(_enc) != i32(1) { 8561 goto _4 8562 } 8563 8564 _incr = i32(1) 8565 goto _5 8566 8567 _4: 8568 _incr = i32(2) 8569 i32(0) 8570 _2_i = i32(3) - int32(_enc) 8571 _6: 8572 if _2_i >= _length || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_2_i)))) != i32(0) { 8573 goto _10 8574 } 8575 8576 { 8577 p := &_2_i 8578 *p = (*p) + i32(2) 8579 sink961 = *p 8580 } 8581 goto _6 8582 8583 _10: 8584 _nonNum = bool2int(_2_i < _length) 8585 _zEnd = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_2_i^i32(1)))) 8586 { 8587 p := &_z 8588 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(int32(_enc)&i32(1)))) 8589 sink1025 = *p 8590 } 8591 _5: 8592 _11: 8593 if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(1)) == 0 { 8594 goto _12 8595 } 8596 8597 { 8598 p := &_z 8599 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8600 sink1025 = *p 8601 } 8602 goto _11 8603 8604 _12: 8605 if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { 8606 goto _14 8607 } 8608 8609 r0 = i32(0) 8610 return 8611 8612 _14: 8613 if int32(*_z) != i32(45) { 8614 goto _15 8615 } 8616 8617 _sign = i32(-1) 8618 { 8619 p := &_z 8620 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8621 sink1025 = *p 8622 } 8623 goto _16 8624 8625 _15: 8626 if int32(*_z) != i32(43) { 8627 goto _17 8628 } 8629 8630 { 8631 p := &_z 8632 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8633 sink1025 = *p 8634 } 8635 _17: 8636 _16: 8637 _18: 8638 if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 || _s >= i64(922337203685477579) { 8639 goto _19 8640 } 8641 8642 _s = (_s * int64(i32(10))) + int64(int32(*_z)-i32(48)) 8643 *func() *int32 { 8644 { 8645 p := &_z 8646 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8647 sink1025 = *p 8648 } 8649 return &_nDigits 8650 }() += 1 8651 goto _18 8652 8653 _19: 8654 _22: 8655 if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 { 8656 goto _23 8657 } 8658 8659 *func() *int32 { 8660 *func() *int32 { 8661 { 8662 p := &_z 8663 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8664 sink1025 = *p 8665 } 8666 return &_nDigits 8667 }() += 1 8668 return &_d 8669 }() += 1 8670 goto _22 8671 8672 _23: 8673 if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { 8674 goto _25 8675 } 8676 8677 goto _do_atof_calc 8678 8679 _25: 8680 if int32(*_z) != i32(46) { 8681 goto _26 8682 } 8683 8684 { 8685 p := &_z 8686 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8687 sink1025 = *p 8688 } 8689 _27: 8690 if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 { 8691 goto _28 8692 } 8693 8694 if _s >= i64(922337203685477579) { 8695 goto _30 8696 } 8697 8698 _s = (_s * int64(i32(10))) + int64(int32(*_z)-i32(48)) 8699 _d -= 1 8700 _30: 8701 *func() *int32 { 8702 { 8703 p := &_z 8704 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8705 sink1025 = *p 8706 } 8707 return &_nDigits 8708 }() += 1 8709 goto _27 8710 8711 _28: 8712 _26: 8713 if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { 8714 goto _31 8715 } 8716 8717 goto _do_atof_calc 8718 8719 _31: 8720 if int32(*_z) != i32(101) && int32(*_z) != i32(69) { 8721 goto _33 8722 } 8723 8724 { 8725 p := &_z 8726 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8727 sink1025 = *p 8728 } 8729 _eValid = i32(0) 8730 if uintptr(unsafe.Pointer(_z)) < uintptr(unsafe.Pointer(_zEnd)) { 8731 goto _34 8732 } 8733 8734 goto _do_atof_calc 8735 8736 _34: 8737 if int32(*_z) != i32(45) { 8738 goto _35 8739 } 8740 8741 _esign = i32(-1) 8742 { 8743 p := &_z 8744 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8745 sink1025 = *p 8746 } 8747 goto _36 8748 8749 _35: 8750 if int32(*_z) != i32(43) { 8751 goto _37 8752 } 8753 8754 { 8755 p := &_z 8756 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8757 sink1025 = *p 8758 } 8759 _37: 8760 _36: 8761 _38: 8762 if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(4)) == 0 { 8763 goto _39 8764 } 8765 8766 _e = func() int32 { 8767 if _e < i32(10000) { 8768 return ((_e * i32(10)) + (int32(*_z) - i32(48))) 8769 } 8770 return i32(10000) 8771 }() 8772 { 8773 p := &_z 8774 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8775 sink1025 = *p 8776 } 8777 _eValid = i32(1) 8778 goto _38 8779 8780 _39: 8781 _33: 8782 _43: 8783 if uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z)))))&i32(1)) == 0 { 8784 goto _44 8785 } 8786 8787 { 8788 p := &_z 8789 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 8790 sink1025 = *p 8791 } 8792 goto _43 8793 8794 _44: 8795 _do_atof_calc: 8796 _e = (_e * _esign) + _d 8797 if _e >= i32(0) { 8798 goto _46 8799 } 8800 8801 _esign = i32(-1) 8802 { 8803 p := &_e 8804 *p = (*p) * i32(-1) 8805 sink961 = *p 8806 } 8807 goto _47 8808 8809 _46: 8810 _esign = i32(1) 8811 _47: 8812 if _s != int64(i32(0)) { 8813 goto _48 8814 } 8815 8816 _result = func() float64 { 8817 if _sign < i32(0) { 8818 return (-0) 8819 } 8820 return float64(0) 8821 }() 8822 goto _51 8823 8824 _48: 8825 _52: 8826 if _e <= i32(0) { 8827 goto _53 8828 } 8829 8830 if _esign <= i32(0) { 8831 goto _54 8832 } 8833 8834 if _s < i64(922337203685477580) { 8835 goto _55 8836 } 8837 8838 goto _53 8839 8840 _55: 8841 { 8842 p := &_s 8843 *p = (*p) * int64(i32(10)) 8844 sink967 = *p 8845 } 8846 goto _56 8847 8848 _54: 8849 if (_s % int64(i32(10))) == int64(i32(0)) { 8850 goto _57 8851 } 8852 8853 goto _53 8854 8855 _57: 8856 { 8857 p := &_s 8858 *p = (*p) / int64(i32(10)) 8859 sink967 = *p 8860 } 8861 _56: 8862 _e -= 1 8863 goto _52 8864 8865 _53: 8866 _s = func() int64 { 8867 if _sign < i32(0) { 8868 return (-_s) 8869 } 8870 return _s 8871 }() 8872 if _e != i32(0) { 8873 goto _60 8874 } 8875 8876 _result = float64(_s) 8877 goto _61 8878 8879 _60: 8880 _22_scale = 1 8881 if _e <= i32(307) { 8882 goto _62 8883 } 8884 8885 if _e >= i32(342) { 8886 goto _63 8887 } 8888 8889 _64: 8890 if (_e % i32(308)) == 0 { 8891 goto _65 8892 } 8893 8894 { 8895 p := &_22_scale 8896 *p = (*p) * float64(10) 8897 sink6895 = *p 8898 } 8899 { 8900 p := &_e 8901 *p = (*p) - i32(1) 8902 sink961 = *p 8903 } 8904 goto _64 8905 8906 _65: 8907 if _esign >= i32(0) { 8908 goto _66 8909 } 8910 8911 _result = float64(_s) / _22_scale 8912 { 8913 p := &_result 8914 *p = (*p) / float64(1e+308) 8915 sink6895 = *p 8916 } 8917 goto _67 8918 8919 _66: 8920 _result = float64(_s) * _22_scale 8921 { 8922 p := &_result 8923 *p = (*p) * float64(1e+308) 8924 sink6895 = *p 8925 } 8926 _67: 8927 goto _68 8928 8929 _63: 8930 func() int32 { 8931 if _e >= i32(342) { 8932 return i32(0) 8933 } 8934 return func() int32 { 8935 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28104), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AtoFØ00__func__Ø000))), unsafe.Pointer(str(6848))) 8936 crt.X__builtin_abort(tls) 8937 return i32(0) 8938 }() 8939 }() 8940 if _esign >= i32(0) { 8941 goto _71 8942 } 8943 8944 _result = float64(0) * float64(_s) 8945 goto _72 8946 8947 _71: 8948 _result = inf * float64(_s) 8949 _72: 8950 _68: 8951 goto _73 8952 8953 _62: 8954 _74: 8955 if (_e % i32(22)) == 0 { 8956 goto _75 8957 } 8958 8959 { 8960 p := &_22_scale 8961 *p = (*p) * float64(10) 8962 sink6895 = *p 8963 } 8964 { 8965 p := &_e 8966 *p = (*p) - i32(1) 8967 sink961 = *p 8968 } 8969 goto _74 8970 8971 _75: 8972 _76: 8973 if _e <= i32(0) { 8974 goto _77 8975 } 8976 8977 { 8978 p := &_22_scale 8979 *p = (*p) * float64(1e+22) 8980 sink6895 = *p 8981 } 8982 { 8983 p := &_e 8984 *p = (*p) - i32(22) 8985 sink961 = *p 8986 } 8987 goto _76 8988 8989 _77: 8990 if _esign >= i32(0) { 8991 goto _78 8992 } 8993 8994 _result = float64(_s) / _22_scale 8995 goto _79 8996 8997 _78: 8998 _result = float64(_s) * _22_scale 8999 _79: 9000 _73: 9001 _61: 9002 _51: 9003 *_pResult = _result 9004 r0 = bool2int((((_z == _zEnd) && (_nDigits > i32(0))) && _eValid != 0) && (_nonNum == i32(0))) 9005 return 9006 9007 } 9008 9009 var _sqlite3AtoFØ00__func__Ø000 [12]int8 // - 9010 9011 func init() { 9012 crt.Xstrncpy(nil, &_sqlite3AtoFØ00__func__Ø000[0], str(6856), 12) 9013 } 9014 9015 func _parseDateOrTime(tls *crt.TLS, _context *Xsqlite3_context, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:19180:1 9016 var _r float64 // sqlite3.c:19185:10 9017 _ = _r 9018 if _parseYyyyMmDd(tls, _zDate, _p) != i32(0) { 9019 goto _0 9020 } 9021 9022 r0 = i32(0) 9023 return 9024 9025 _0: 9026 if _parseHhMmSs(tls, _zDate, _p) != i32(0) { 9027 goto _2 9028 } 9029 9030 r0 = i32(0) 9031 return 9032 9033 _2: 9034 if _sqlite3StrICmp(tls, _zDate, str(6868)) != i32(0) { 9035 goto _4 9036 } 9037 9038 r0 = _setDateTimeToCurrent(tls, _context, _p) 9039 return 9040 9041 _4: 9042 if _sqlite3AtoF(tls, _zDate, &_r, _sqlite3Strlen30(tls, _zDate), uint8(i32(1))) == 0 { 9043 goto _6 9044 } 9045 9046 _setRawDateNumber(tls, _p, _r) 9047 r0 = i32(0) 9048 return 9049 9050 _6: 9051 r0 = i32(1) 9052 return 9053 9054 } 9055 9056 func _parseYyyyMmDd(tls *crt.TLS, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:19102:1 9057 var _Y int32 // sqlite3.c:19103:7 9058 _ = _Y 9059 var _M int32 // sqlite3.c:19103:10 9060 _ = _M 9061 var _D int32 // sqlite3.c:19103:13 9062 _ = _D 9063 var _neg int32 // sqlite3.c:19103:16 9064 _ = _neg 9065 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDate)) + 1*uintptr(i32(0))))) != i32(45) { 9066 goto _0 9067 } 9068 9069 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9070 _neg = i32(1) 9071 goto _1 9072 9073 _0: 9074 _neg = i32(0) 9075 _1: 9076 if _getDigits(tls, _zDate, str(6872), unsafe.Pointer(&_Y), unsafe.Pointer(&_M), unsafe.Pointer(&_D)) == i32(3) { 9077 goto _2 9078 } 9079 9080 r0 = i32(1) 9081 return 9082 9083 _2: 9084 { 9085 p := &_zDate 9086 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(10)))) 9087 sink1025 = *p 9088 } 9089 _3: 9090 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate)))))&i32(1)) == 0 && i32(84) != int32(*(*uint8)(unsafe.Pointer(_zDate))) { 9091 goto _4 9092 } 9093 9094 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9095 goto _3 9096 9097 _4: 9098 if _parseHhMmSs(tls, _zDate, _p) != i32(0) { 9099 goto _6 9100 } 9101 9102 goto _7 9103 9104 _6: 9105 if int32(*_zDate) != i32(0) { 9106 goto _8 9107 } 9108 9109 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(0)) 9110 goto _9 9111 9112 _8: 9113 r0 = i32(1) 9114 return 9115 9116 _9: 9117 _7: 9118 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) 9119 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(1)) 9120 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = func() int32 { 9121 if _neg != 0 { 9122 return (-_Y) 9123 } 9124 return _Y 9125 }() 9126 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = _M 9127 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = _D 9128 if (_p.X12) == 0 { 9129 goto _12 9130 } 9131 9132 _computeJD(tls, _p) 9133 _12: 9134 r0 = i32(0) 9135 return 9136 9137 } 9138 9139 func _getDigits(tls *crt.TLS, _zDate *int8, _zFormat *int8, args ...interface{}) (r0 int32) { // sqlite3.c:18911:1 9140 var _ap []interface{} // sqlite3.c:18915:11 9141 _ = _ap 9142 var _cnt int32 // sqlite3.c:18916:7 9143 _ = _cnt 9144 var _nextC int8 // sqlite3.c:18917:8 9145 _ = _nextC 9146 var _1_N int8 // sqlite3.c:18920:10 9147 _ = _1_N 9148 var _1_min int8 // sqlite3.c:18921:10 9149 _ = _1_min 9150 var _1_val int32 // sqlite3.c:18922:9 9151 _ = _1_val 9152 var _1_max uint16 // sqlite3.c:18923:9 9153 _ = _1_max 9154 _cnt = i32(0) 9155 _ap = args 9156 _0: 9157 _1_N = int8(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(0))))) - i32(48)) 9158 _1_min = int8(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(1))))) - i32(48)) 9159 _1_val = i32(0) 9160 func() int32 { 9161 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(2))))) >= i32(97)) && (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(2))))) <= i32(102)) { 9162 return i32(0) 9163 } 9164 return func() int32 { 9165 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18925), unsafe.Pointer((*int8)(unsafe.Pointer(&_getDigitsØ00__func__Ø000))), unsafe.Pointer(str(6884))) 9166 crt.X__builtin_abort(tls) 9167 return i32(0) 9168 }() 9169 }() 9170 _1_max = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getDigitsØ00aMxØ001)) + 2*uintptr(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(2)))))-i32(97)))) 9171 _nextC = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFormat)) + 1*uintptr(i32(3)))) 9172 _1_val = i32(0) 9173 _4: 9174 if postInc973(&_1_N, int8(-1)) == 0 { 9175 goto _5 9176 } 9177 9178 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(4)) != 0 { 9179 goto _6 9180 } 9181 9182 goto _end_getDigits 9183 9184 _6: 9185 _1_val = ((_1_val * i32(10)) + int32(*_zDate)) - i32(48) 9186 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9187 goto _4 9188 9189 _5: 9190 if _1_val >= int32(_1_min) && _1_val <= int32(_1_max) && (int32(_nextC) == i32(0) || int32(_nextC) == int32(*_zDate)) { 9191 goto _10 9192 } 9193 9194 goto _end_getDigits 9195 9196 _10: 9197 *(*int32)(crt.VAPointer(&_ap)) = _1_val 9198 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9199 _cnt += 1 9200 { 9201 p := &_zFormat 9202 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(4)))) 9203 sink1025 = *p 9204 } 9205 if _nextC != 0 { 9206 goto _0 9207 } 9208 9209 _end_getDigits: 9210 _ap = nil 9211 r0 = _cnt 9212 return 9213 9214 } 9215 9216 var _getDigitsØ00__func__Ø000 [10]int8 // - 9217 9218 func init() { 9219 crt.Xstrncpy(nil, &_getDigitsØ00__func__Ø000[0], str(6920), 10) 9220 } 9221 9222 var _getDigitsØ00aMxØ001 [6]uint16 // sqlite3.c:18914:20 9223 9224 func init() { 9225 _getDigitsØ00aMxØ001 = [6]uint16{u16(12), u16(14), u16(24), u16(31), u16(59), u16(9999)} 9226 } 9227 9228 func _parseHhMmSs(tls *crt.TLS, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:19001:1 9229 var _h int32 // sqlite3.c:19002:7 9230 _ = _h 9231 var _m int32 // sqlite3.c:19002:10 9232 _ = _m 9233 var _s int32 // sqlite3.c:19002:13 9234 _ = _s 9235 var _ms float64 // sqlite3.c:19003:10 9236 _ = _ms 9237 var _4_rScale float64 // sqlite3.c:19015:14 9238 _ = _4_rScale 9239 _ms = 0 9240 if _getDigits(tls, _zDate, str(6932), unsafe.Pointer(&_h), unsafe.Pointer(&_m)) == i32(2) { 9241 goto _0 9242 } 9243 9244 r0 = i32(1) 9245 return 9246 9247 _0: 9248 { 9249 p := &_zDate 9250 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(5)))) 9251 sink1025 = *p 9252 } 9253 if int32(*_zDate) != i32(58) { 9254 goto _1 9255 } 9256 9257 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9258 if _getDigits(tls, _zDate, str(6940), unsafe.Pointer(&_s)) == i32(1) { 9259 goto _2 9260 } 9261 9262 r0 = i32(1) 9263 return 9264 9265 _2: 9266 { 9267 p := &_zDate 9268 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 9269 sink1025 = *p 9270 } 9271 if int32(*_zDate) != i32(46) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDate)) + 1*uintptr(i32(1)))))))))&i32(4)) == 0 { 9272 goto _4 9273 } 9274 9275 _4_rScale = 1 9276 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9277 _5: 9278 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(4)) == 0 { 9279 goto _6 9280 } 9281 9282 _ms = ((_ms * float64(10)) + float64(*_zDate)) - float64(i32(48)) 9283 { 9284 p := &_4_rScale 9285 *p = (*p) * float64(10) 9286 sink6895 = *p 9287 } 9288 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9289 goto _5 9290 9291 _6: 9292 { 9293 p := &_ms 9294 *p = (*p) / _4_rScale 9295 sink6895 = *p 9296 } 9297 _4: 9298 goto _7 9299 9300 _1: 9301 _s = i32(0) 9302 _7: 9303 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) 9304 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) 9305 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(1)) 9306 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X4 */))) = _h 9307 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))) = _m 9308 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = float64(_s) + _ms 9309 if _parseTimezone(tls, _zDate, _p) == 0 { 9310 goto _8 9311 } 9312 9313 r0 = i32(1) 9314 return 9315 9316 _8: 9317 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(func() int32 { 9318 if (_p.X6) != i32(0) { 9319 return i32(1) 9320 } 9321 return i32(0) 9322 }()) 9323 r0 = i32(0) 9324 return 9325 9326 } 9327 9328 func _parseTimezone(tls *crt.TLS, _zDate *int8, _p *XDateTime) (r0 int32) { // sqlite3.c:18965:1 9329 var _sgn int32 // sqlite3.c:18966:7 9330 _ = _sgn 9331 var _nHr int32 // sqlite3.c:18967:7 9332 _ = _nHr 9333 var _nMn int32 // sqlite3.c:18967:12 9334 _ = _nMn 9335 var _c int32 // sqlite3.c:18968:7 9336 _ = _c 9337 _sgn = i32(0) 9338 _0: 9339 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(1)) == 0 { 9340 goto _1 9341 } 9342 9343 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9344 goto _0 9345 9346 _1: 9347 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X6 */))) = i32(0) 9348 _c = int32(*_zDate) 9349 if _c != i32(45) { 9350 goto _2 9351 } 9352 9353 _sgn = i32(-1) 9354 goto _3 9355 9356 _2: 9357 if _c != i32(43) { 9358 goto _4 9359 } 9360 9361 _sgn = i32(1) 9362 goto _5 9363 9364 _4: 9365 if _c != i32(90) && _c != i32(122) { 9366 goto _7 9367 } 9368 9369 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9370 goto _zulu_time 9371 9372 _7: 9373 r0 = bool2int(_c != i32(0)) 9374 return 9375 9376 _5: 9377 _3: 9378 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9379 if _getDigits(tls, _zDate, str(6944), unsafe.Pointer(&_nHr), unsafe.Pointer(&_nMn)) == i32(2) { 9380 goto _9 9381 } 9382 9383 r0 = i32(1) 9384 return 9385 9386 _9: 9387 { 9388 p := &_zDate 9389 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(5)))) 9390 sink1025 = *p 9391 } 9392 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X6 */))) = _sgn * (_nMn + (_nHr * i32(60))) 9393 _zulu_time: 9394 _10: 9395 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zDate))))) & i32(1)) == 0 { 9396 goto _11 9397 } 9398 9399 *(*uintptr)(unsafe.Pointer(&_zDate)) += uintptr(1) 9400 goto _10 9401 9402 _11: 9403 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X13 */))) = int8(i32(1)) 9404 r0 = bool2int(int32(*_zDate) != i32(0)) 9405 return 9406 9407 } 9408 9409 func _computeJD(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19052:1 9410 var _Y int32 // sqlite3.c:19053:7 9411 _ = _Y 9412 var _M int32 // sqlite3.c:19053:10 9413 _ = _M 9414 var _D int32 // sqlite3.c:19053:13 9415 _ = _D 9416 var _A int32 // sqlite3.c:19053:16 9417 _ = _A 9418 var _B int32 // sqlite3.c:19053:19 9419 _ = _B 9420 var _X1 int32 // sqlite3.c:19053:22 9421 _ = _X1 9422 var _X2 int32 // sqlite3.c:19053:26 9423 _ = _X2 9424 if (_p.X8) == 0 { 9425 goto _0 9426 } 9427 9428 return 9429 9430 _0: 9431 if (_p.X10) == 0 { 9432 goto _1 9433 } 9434 9435 _Y = _p.X1 9436 _M = _p.X2 9437 _D = _p.X3 9438 goto _2 9439 9440 _1: 9441 _Y = i32(2000) 9442 _M = i32(1) 9443 _D = i32(1) 9444 _2: 9445 if _Y >= i32(-4713) && _Y <= i32(9999) && (_p.X9) == 0 { 9446 goto _5 9447 } 9448 9449 _datetimeError(tls, _p) 9450 return 9451 9452 _5: 9453 if _M > i32(2) { 9454 goto _6 9455 } 9456 9457 _Y -= 1 9458 { 9459 p := &_M 9460 *p = (*p) + i32(12) 9461 sink961 = *p 9462 } 9463 _6: 9464 _A = _Y / i32(100) 9465 _B = (i32(2) - _A) + (_A / i32(4)) 9466 _X1 = (i32(36525) * (_Y + i32(4716))) / i32(100) 9467 _X2 = (i32(306001) * (_M + i32(1))) / i32(10000) 9468 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int64((float64(((_X1+_X2)+_D)+_B) - (1524.5)) * float64(i32(86400000))) 9469 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) 9470 if (_p.X11) == 0 { 9471 goto _7 9472 } 9473 9474 { 9475 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9476 *p = (*p) + (int64(((_p.X4)*i32(3600000))+((_p.X5)*i32(60000))) + int64((_p.X7)*float64(i32(1000)))) 9477 sink967 = *p 9478 } 9479 if (_p.X12) == 0 { 9480 goto _8 9481 } 9482 9483 { 9484 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9485 *p = (*p) - int64((_p.X6)*i32(60000)) 9486 sink967 = *p 9487 } 9488 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(0)) 9489 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(0)) 9490 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) 9491 _8: 9492 _7: 9493 return 9494 9495 } 9496 9497 func _datetimeError(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19041:1 9498 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(48)) 9499 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(46 /* X14 */))) = int8(i32(1)) 9500 return 9501 9502 } 9503 9504 func Xsqlite3_value_bytes(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76187:12 9505 r0 = _sqlite3ValueBytes(tls, _pVal, uint8(i32(1))) 9506 return 9507 9508 } 9509 9510 func _sqlite3ValueBytes(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 int32) { // sqlite3.c:71311:1 9511 var _p *XMem // sqlite3.c:71312:7 9512 _ = _p 9513 _p = _pVal 9514 func() int32 { 9515 if ((int32(_p.X1) & i32(1)) == i32(0)) || ((int32(_p.X1) & i32(18)) == i32(0)) { 9516 return i32(0) 9517 } 9518 return func() int32 { 9519 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71313), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ValueBytesØ00__func__Ø000))), unsafe.Pointer(str(6952))) 9520 crt.X__builtin_abort(tls) 9521 return i32(0) 9522 }() 9523 }() 9524 if (int32(_p.X1)&i32(2)) == i32(0) || int32(_pVal.X2) != int32(_enc) { 9525 goto _4 9526 } 9527 9528 r0 = _p.X4 9529 return 9530 9531 _4: 9532 if (int32(_p.X1) & i32(16)) == i32(0) { 9533 goto _5 9534 } 9535 9536 if (int32(_p.X1) & i32(16384)) == 0 { 9537 goto _6 9538 } 9539 9540 r0 = (_p.X4) + (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) 9541 return 9542 9543 _6: 9544 r0 = _p.X4 9545 return 9546 9547 _5: 9548 if (int32(_p.X1) & i32(1)) == 0 { 9549 goto _8 9550 } 9551 9552 r0 = i32(0) 9553 return 9554 9555 _8: 9556 r0 = _valueBytes(tls, _pVal, _enc) 9557 return 9558 9559 } 9560 9561 var _sqlite3ValueBytesØ00__func__Ø000 [18]int8 // - 9562 9563 func init() { 9564 crt.Xstrncpy(nil, &_sqlite3ValueBytesØ00__func__Ø000[0], str(7016), 18) 9565 } 9566 9567 func _valueBytes(tls *crt.TLS, _pVal *XMem, _enc uint8) (r0 int32) { // sqlite3.c:71308:1 9568 r0 = func() int32 { 9569 if _valueToText(tls, _pVal, _enc) != (unsafe.Pointer)(uintptr(i32(0))) { 9570 return (_pVal.X4) 9571 } 9572 return i32(0) 9573 }() 9574 return 9575 9576 } 9577 9578 func _parseModifier(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32, _p *XDateTime) (r0 int32) { // sqlite3.c:19455:1 9579 var _rc int32 // sqlite3.c:19461:7 9580 _ = _rc 9581 var _r float64 // sqlite3.c:19462:10 9582 _ = _r 9583 var _8_c1 int64 // sqlite3.c:19499:25 9584 _ = _8_c1 9585 var _12_Z int64 // sqlite3.c:19526:23 9586 _ = _12_Z 9587 var _17_rRounder float64 // sqlite3.c:19580:14 9588 _ = _17_rRounder 9589 var _17_i int32 // sqlite3.c:19581:11 9590 _ = _17_i 9591 var _20_z2 *int8 // sqlite3.c:19593:20 9592 _ = _20_z2 9593 var _20_tx XDateTime // sqlite3.c:19594:18 9594 _ = _20_tx 9595 var _20_day int64 // sqlite3.c:19595:23 9596 _ = _20_day 9597 var _24_x int32 // sqlite3.c:19628:19 9598 _ = _24_x 9599 var _25_y int32 // sqlite3.c:19639:19 9600 _ = _25_y 9601 _rc = i32(1) 9602 switch int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))))))) { 9603 case i32(43): 9604 goto _5 9605 case i32(45): 9606 goto _6 9607 case i32(48): 9608 goto _7 9609 case i32(49): 9610 goto _8 9611 case i32(50): 9612 goto _9 9613 case i32(51): 9614 goto _10 9615 case i32(52): 9616 goto _11 9617 case i32(53): 9618 goto _12 9619 case i32(54): 9620 goto _13 9621 case i32(55): 9622 goto _14 9623 case i32(56): 9624 goto _15 9625 case i32(57): 9626 goto _16 9627 case i32(108): 9628 goto _1 9629 case i32(115): 9630 goto _4 9631 case i32(117): 9632 goto _2 9633 case i32(119): 9634 goto _3 9635 default: 9636 goto _17 9637 } 9638 9639 _1: 9640 if Xsqlite3_stricmp(tls, _z, str(7036)) != i32(0) { 9641 goto _18 9642 } 9643 9644 _computeJD(tls, _p) 9645 { 9646 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9647 *p = (*p) + _localtimeOffset(tls, _p, _pCtx, &_rc) 9648 sink967 = *p 9649 } 9650 _clearYMD_HMS_TZ(tls, _p) 9651 _18: 9652 goto _19 9653 9654 _2: 9655 if Xsqlite3_stricmp(tls, _z, str(7048)) != i32(0) || (_p.X9) == 0 { 9656 goto _21 9657 } 9658 9659 _r = ((_p.X7) * float64(1000)) + (2.1086676e+14) 9660 if _r < float64(0) || _r >= (4.642690608e+14) { 9661 goto _23 9662 } 9663 9664 _clearYMD_HMS_TZ(tls, _p) 9665 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int64(_r) 9666 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(1)) 9667 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) 9668 _rc = i32(0) 9669 _23: 9670 goto _24 9671 9672 _21: 9673 if Xsqlite3_stricmp(tls, _z, str(7060)) != i32(0) { 9674 goto _25 9675 } 9676 9677 if int32(_p.X13) != i32(0) { 9678 goto _26 9679 } 9680 9681 _computeJD(tls, _p) 9682 _8_c1 = _localtimeOffset(tls, _p, _pCtx, &_rc) 9683 if _rc != i32(0) { 9684 goto _27 9685 } 9686 9687 { 9688 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9689 *p = (*p) - _8_c1 9690 sink967 = *p 9691 } 9692 _clearYMD_HMS_TZ(tls, _p) 9693 { 9694 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9695 *p = (*p) + (_8_c1 - _localtimeOffset(tls, _p, _pCtx, &_rc)) 9696 sink967 = *p 9697 } 9698 _27: 9699 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(45 /* X13 */))) = int8(i32(1)) 9700 goto _28 9701 9702 _26: 9703 _rc = i32(0) 9704 _28: 9705 _25: 9706 _24: 9707 goto _19 9708 9709 _3: 9710 if Xsqlite3_strnicmp(tls, _z, str(7064), i32(8)) != i32(0) || _sqlite3AtoF(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(i32(8)))), &_r, _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(i32(8))))), uint8(i32(1))) == 0 || float64(store961(&_n, int32(_r))) != _r || _n < i32(0) || _r >= float64(i32(7)) { 9711 goto _33 9712 } 9713 9714 _computeYMD_HMS(tls, _p) 9715 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) 9716 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) 9717 _computeJD(tls, _p) 9718 _12_Z = (((_p.X0) + int64(i32(129600000))) / int64(i32(86400000))) % int64(i32(7)) 9719 if _12_Z <= int64(_n) { 9720 goto _34 9721 } 9722 9723 { 9724 p := &_12_Z 9725 *p = (*p) - int64(i32(7)) 9726 sink967 = *p 9727 } 9728 _34: 9729 { 9730 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9731 *p = (*p) + ((int64(_n) - _12_Z) * int64(i32(86400000))) 9732 sink967 = *p 9733 } 9734 _clearYMD_HMS_TZ(tls, _p) 9735 _rc = i32(0) 9736 _33: 9737 goto _19 9738 9739 _4: 9740 if Xsqlite3_strnicmp(tls, _z, str(7076), i32(9)) == i32(0) { 9741 goto _35 9742 } 9743 9744 goto _19 9745 9746 _35: 9747 if (_p.X8) != 0 || (_p.X10) != 0 || (_p.X11) != 0 { 9748 goto _38 9749 } 9750 9751 goto _19 9752 9753 _38: 9754 { 9755 p := &_z 9756 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(9)))) 9757 sink1025 = *p 9758 } 9759 _computeYMD(tls, _p) 9760 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(1)) 9761 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X4 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X5 */))), i32(0)) 9762 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = float64(0) 9763 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) 9764 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) 9765 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) 9766 if Xsqlite3_stricmp(tls, _z, str(7088)) != i32(0) { 9767 goto _39 9768 } 9769 9770 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(1) 9771 _rc = i32(0) 9772 goto _40 9773 9774 _39: 9775 if Xsqlite3_stricmp(tls, _z, str(7096)) != i32(0) { 9776 goto _41 9777 } 9778 9779 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = i32(1) 9780 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(1) 9781 _rc = i32(0) 9782 goto _42 9783 9784 _41: 9785 if Xsqlite3_stricmp(tls, _z, str(7104)) != i32(0) { 9786 goto _43 9787 } 9788 9789 _rc = i32(0) 9790 _43: 9791 _42: 9792 _40: 9793 goto _19 9794 9795 _5: 9796 _6: 9797 _7: 9798 _8: 9799 _9: 9800 _10: 9801 _11: 9802 _12: 9803 _13: 9804 _14: 9805 _15: 9806 _16: 9807 _n = i32(1) 9808 _44: 9809 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n)))) == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n)))) == i32(58) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n))))))))&i32(1)) != 0 { 9810 goto _49 9811 } 9812 9813 _n += 1 9814 goto _44 9815 9816 _49: 9817 if _sqlite3AtoF(tls, _z, &_r, _n, uint8(i32(1))) != 0 { 9818 goto _50 9819 } 9820 9821 _rc = i32(1) 9822 goto _19 9823 9824 _50: 9825 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n)))) != i32(58) { 9826 goto _51 9827 } 9828 9829 _20_z2 = _z 9830 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_20_z2))))) & i32(4)) != 0 { 9831 goto _52 9832 } 9833 9834 *(*uintptr)(unsafe.Pointer(&_20_z2)) += uintptr(1) 9835 _52: 9836 crt.Xmemset(tls, (unsafe.Pointer)(&_20_tx), i32(0), u32(48)) 9837 if _parseHhMmSs(tls, _20_z2, &_20_tx) == 0 { 9838 goto _53 9839 } 9840 9841 goto _19 9842 9843 _53: 9844 _computeJD(tls, &_20_tx) 9845 { 9846 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_20_tx)) + uintptr(0 /* X0 */))) 9847 *p = (*p) - int64(i32(43200000)) 9848 sink967 = *p 9849 } 9850 _20_day = (_20_tx.X0) / int64(i32(86400000)) 9851 { 9852 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_20_tx)) + uintptr(0 /* X0 */))) 9853 *p = (*p) - (_20_day * int64(i32(86400000))) 9854 sink967 = *p 9855 } 9856 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(45) { 9857 goto _54 9858 } 9859 9860 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_20_tx)) + uintptr(0 /* X0 */))) = -(_20_tx.X0) 9861 _54: 9862 _computeJD(tls, _p) 9863 _clearYMD_HMS_TZ(tls, _p) 9864 { 9865 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9866 *p = (*p) + (_20_tx.X0) 9867 sink967 = *p 9868 } 9869 _rc = i32(0) 9870 goto _19 9871 9872 _51: 9873 { 9874 p := &_z 9875 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 9876 sink1025 = *p 9877 } 9878 _55: 9879 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z))))) & i32(1)) == 0 { 9880 goto _56 9881 } 9882 9883 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 9884 goto _55 9885 9886 _56: 9887 _n = _sqlite3Strlen30(tls, _z) 9888 if _n <= i32(10) && _n >= i32(3) { 9889 goto _58 9890 } 9891 9892 goto _19 9893 9894 _58: 9895 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1))))))))) != i32(115) { 9896 goto _59 9897 } 9898 9899 _n -= 1 9900 _59: 9901 _computeJD(tls, _p) 9902 _rc = i32(1) 9903 _17_rRounder = func() float64 { 9904 if _r < float64(i32(0)) { 9905 return (-0.5) 9906 } 9907 return (0.5) 9908 }() 9909 _17_i = i32(0) 9910 _62: 9911 if _17_i >= i32(6) { 9912 goto _65 9913 } 9914 9915 if int32((*T7778277)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+24*uintptr(_17_i))).X1) != _n || Xsqlite3_strnicmp(tls, (*T7778277)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+24*uintptr(_17_i))).X2, _z, _n) != i32(0) || _r <= (-((*T7778277)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType)) + 24*uintptr(_17_i))).X3)) || _r >= ((*T7778277)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+24*uintptr(_17_i))).X3) { 9916 goto _69 9917 } 9918 9919 switch int32((*T7778277)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType)) + 24*uintptr(_17_i))).X0) { 9920 case i32(1): 9921 goto _71 9922 case i32(2): 9923 goto _72 9924 default: 9925 goto _73 9926 } 9927 9928 _71: 9929 _computeYMD_HMS(tls, _p) 9930 { 9931 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) 9932 *p = (*p) + int32(_r) 9933 sink961 = *p 9934 } 9935 _24_x = func() int32 { 9936 if (_p.X2) > i32(0) { 9937 return (((_p.X2) - i32(1)) / i32(12)) 9938 } 9939 return (((_p.X2) - i32(12)) / i32(12)) 9940 }() 9941 { 9942 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) 9943 *p = (*p) + _24_x 9944 sink961 = *p 9945 } 9946 { 9947 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) 9948 *p = (*p) - (_24_x * i32(12)) 9949 sink961 = *p 9950 } 9951 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) 9952 { 9953 p := &_r 9954 *p = (*p) - float64(int32(_r)) 9955 sink6895 = *p 9956 } 9957 goto _73 9958 9959 _72: 9960 _25_y = int32(_r) 9961 _computeYMD_HMS(tls, _p) 9962 { 9963 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) 9964 *p = (*p) + _25_y 9965 sink961 = *p 9966 } 9967 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))) = int8(i32(0)) 9968 { 9969 p := &_r 9970 *p = (*p) - float64(int32(_r)) 9971 sink6895 = *p 9972 } 9973 goto _73 9974 9975 _73: 9976 _computeJD(tls, _p) 9977 { 9978 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 9979 *p = (*p) + int64((_r*((*T7778277)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aXformType))+24*uintptr(_17_i))).X4))+_17_rRounder) 9980 sink967 = *p 9981 } 9982 _rc = i32(0) 9983 goto _65 9984 9985 _69: 9986 _17_i += 1 9987 goto _62 9988 9989 _65: 9990 _clearYMD_HMS_TZ(tls, _p) 9991 goto _19 9992 9993 _17: 9994 goto _19 9995 9996 _19: 9997 r0 = _rc 9998 return 9999 10000 } 10001 10002 func Xsqlite3_stricmp(tls *crt.TLS, _zLeft *int8, _zRight *int8) (r0 int32) { // sqlite3.c:27903:12 10003 if _zLeft != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 10004 goto _0 10005 } 10006 10007 r0 = func() int32 { 10008 if _zRight != nil { 10009 return i32(-1) 10010 } 10011 return i32(0) 10012 }() 10013 return 10014 10015 _0: 10016 if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 10017 goto _4 10018 } 10019 10020 r0 = i32(1) 10021 return 10022 10023 _4: 10024 r0 = _sqlite3StrICmp(tls, _zLeft, _zRight) 10025 return 10026 10027 } 10028 10029 func _localtimeOffset(tls *crt.TLS, _p *XDateTime, _pCtx *Xsqlite3_context, _pRc *int32) (r0 int64) { // sqlite3.c:19351:1 10030 var _x XDateTime // sqlite3.c:19356:12 10031 _ = _x 10032 var _y XDateTime // sqlite3.c:19356:15 10033 _ = _y 10034 var _t int32 // sqlite3.c:19357:10 10035 _ = _t 10036 var _sLocal crt.Xtm // sqlite3.c:19358:13 10037 _ = _sLocal 10038 var _2_s int32 // sqlite3.c:19378:9 10039 _ = _2_s 10040 crt.Xmemset(tls, (unsafe.Pointer)(&_sLocal), i32(0), u32(36)) 10041 _x = *_p 10042 _computeYMD_HMS(tls, &_x) 10043 if (_x.X1) >= i32(1971) && (_x.X1) < i32(2038) { 10044 goto _1 10045 } 10046 10047 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X1 */))) = i32(2000) 10048 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(12 /* X2 */))) = i32(1) 10049 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(16 /* X3 */))) = i32(1) 10050 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(20 /* X4 */))) = i32(0) 10051 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(24 /* X5 */))) = i32(0) 10052 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(32 /* X7 */))) = float64(0) 10053 goto _2 10054 10055 _1: 10056 _2_s = int32((_x.X7) + (0.5)) 10057 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(32 /* X7 */))) = float64(_2_s) 10058 _2: 10059 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(28 /* X6 */))) = i32(0) 10060 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(40 /* X8 */))) = int8(i32(0)) 10061 _computeJD(tls, &_x) 10062 _t = int32(((_x.X0) / int64(i32(1000))) - i64(210866760000)) 10063 if _osLocaltime(tls, &_t, &_sLocal) == 0 { 10064 goto _3 10065 } 10066 10067 Xsqlite3_result_error(tls, _pCtx, str(7108), i32(-1)) 10068 *_pRc = i32(1) 10069 r0 = int64(i32(0)) 10070 return 10071 10072 _3: 10073 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(8 /* X1 */))) = (_sLocal.X5) + i32(1900) 10074 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(12 /* X2 */))) = (_sLocal.X4) + i32(1) 10075 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(16 /* X3 */))) = _sLocal.X3 10076 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(20 /* X4 */))) = _sLocal.X2 10077 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(24 /* X5 */))) = _sLocal.X1 10078 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(32 /* X7 */))) = float64(_sLocal.X0) 10079 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(42 /* X10 */))) = int8(i32(1)) 10080 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(43 /* X11 */))) = int8(i32(1)) 10081 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(40 /* X8 */))) = int8(i32(0)) 10082 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(41 /* X9 */))) = int8(i32(0)) 10083 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(44 /* X12 */))) = int8(i32(0)) 10084 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_y)) + uintptr(46 /* X14 */))) = int8(i32(0)) 10085 _computeJD(tls, &_y) 10086 *_pRc = i32(0) 10087 r0 = (_y.X0) - (_x.X0) 10088 return 10089 10090 } 10091 10092 func _computeYMD_HMS(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19266:1 10093 _computeYMD(tls, _p) 10094 _computeHMS(tls, _p) 10095 return 10096 10097 } 10098 10099 func _computeYMD(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19220:1 10100 var _Z int32 // sqlite3.c:19221:7 10101 _ = _Z 10102 var _A int32 // sqlite3.c:19221:10 10103 _ = _A 10104 var _B int32 // sqlite3.c:19221:13 10105 _ = _B 10106 var _C int32 // sqlite3.c:19221:16 10107 _ = _C 10108 var _D int32 // sqlite3.c:19221:19 10109 _ = _D 10110 var _E int32 // sqlite3.c:19221:22 10111 _ = _E 10112 var _X1 int32 // sqlite3.c:19221:25 10113 _ = _X1 10114 if (_p.X10) == 0 { 10115 goto _0 10116 } 10117 10118 return 10119 10120 _0: 10121 if (_p.X8) != 0 { 10122 goto _1 10123 } 10124 10125 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = i32(2000) 10126 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = i32(1) 10127 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = i32(1) 10128 goto _2 10129 10130 _1: 10131 func() int32 { 10132 if _validJulianDay(tls, _p.X0) != 0 { 10133 return i32(0) 10134 } 10135 return func() int32 { 10136 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(19228), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeYMDØ00__func__Ø000))), unsafe.Pointer(str(7132))) 10137 crt.X__builtin_abort(tls) 10138 return i32(0) 10139 }() 10140 }() 10141 _Z = int32(((_p.X0) + int64(i32(43200000))) / int64(i32(86400000))) 10142 _A = int32((float64(_Z) - (1.86721625e+06)) / (36524.25)) 10143 _A = ((_Z + i32(1)) + _A) - (_A / i32(4)) 10144 _B = _A + i32(1524) 10145 _C = int32((float64(_B) - (122.1)) / (365.25)) 10146 _D = (i32(36525) * (_C & i32(32767))) / i32(100) 10147 _E = int32(float64(_B-_D) / (30.6001)) 10148 _X1 = int32((30.6001) * float64(_E)) 10149 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X3 */))) = (_B - _D) - _X1 10150 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))) = func() int32 { 10151 if _E < i32(14) { 10152 return (_E - i32(1)) 10153 } 10154 return (_E - i32(13)) 10155 }() 10156 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = func() int32 { 10157 if (_p.X2) > i32(2) { 10158 return (_C - i32(4716)) 10159 } 10160 return (_C - i32(4715)) 10161 }() 10162 _2: 10163 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(1)) 10164 return 10165 10166 } 10167 10168 func _validJulianDay(tls *crt.TLS, _iJD int64) (r0 int32) { // sqlite3.c:19213:1 10169 r0 = bool2int((_iJD >= int64(i32(0))) && (_iJD <= i64(464269060799999))) 10170 return 10171 10172 } 10173 10174 var _computeYMDØ00__func__Ø000 [11]int8 // - 10175 10176 func init() { 10177 crt.Xstrncpy(nil, &_computeYMDØ00__func__Ø000[0], str(7156), 11) 10178 } 10179 10180 func _computeHMS(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19247:1 10181 var _s int32 // sqlite3.c:19248:7 10182 _ = _s 10183 if (_p.X11) == 0 { 10184 goto _0 10185 } 10186 10187 return 10188 10189 _0: 10190 _computeJD(tls, _p) 10191 _s = int32(((_p.X0) + int64(i32(43200000))) % int64(i32(86400000))) 10192 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) = float64(_s) / float64(1000) 10193 _s = int32(_p.X7) 10194 { 10195 p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) 10196 *p = (*p) - float64(_s) 10197 sink6895 = *p 10198 } 10199 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X4 */))) = _s / i32(3600) 10200 { 10201 p := &_s 10202 *p = (*p) - ((_p.X4) * i32(3600)) 10203 sink961 = *p 10204 } 10205 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X5 */))) = _s / i32(60) 10206 { 10207 p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X7 */))) 10208 *p = (*p) + float64(_s-((_p.X5)*i32(60))) 10209 sink6895 = *p 10210 } 10211 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(41 /* X9 */))) = int8(i32(0)) 10212 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(1)) 10213 return 10214 10215 } 10216 10217 func _osLocaltime(tls *crt.TLS, _t *int32, _pTm *crt.Xtm) (r0 int32) { // sqlite3.c:19312:1 10218 var _rc int32 // sqlite3.c:19313:7 10219 _ = _rc 10220 var _pX *crt.Xtm // sqlite3.c:19315:13 10221 _ = _pX 10222 var _mutex *Xsqlite3_mutex // sqlite3.c:19317:17 10223 _ = _mutex 10224 _mutex = _sqlite3MutexAlloc(tls, i32(2)) 10225 Xsqlite3_mutex_enter(tls, _mutex) 10226 _pX = crt.Xlocaltime(tls, _t) 10227 if (_sqlite3Config.X38) == 0 { 10228 goto _0 10229 } 10230 10231 _pX = (*crt.Xtm)(unsafe.Pointer(uintptr(i32(0)))) 10232 _0: 10233 if _pX == nil { 10234 goto _1 10235 } 10236 10237 *_pTm = *_pX 10238 _1: 10239 Xsqlite3_mutex_leave(tls, _mutex) 10240 _rc = bool2int(_pX == (*crt.Xtm)(unsafe.Pointer(uintptr(i32(0))))) 10241 r0 = _rc 10242 return 10243 10244 } 10245 10246 func Xsqlite3_result_error(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n int32) { // sqlite3.c:76358:12 10247 func() int32 { 10248 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 10249 return i32(0) 10250 } 10251 return func() int32 { 10252 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76359), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_errorØ00__func__Ø000))), unsafe.Pointer(str(6312))) 10253 crt.X__builtin_abort(tls) 10254 return i32(0) 10255 }() 10256 }() 10257 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(20 /* X5 */))) = i32(1) 10258 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 10259 _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _z, _n, uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 10260 return 10261 10262 } 10263 10264 var _sqlite3_result_errorØ00__func__Ø000 [21]int8 // - 10265 10266 func init() { 10267 crt.Xstrncpy(nil, &_sqlite3_result_errorØ00__func__Ø000[0], str(7168), 21) 10268 } 10269 10270 func _clearYMD_HMS_TZ(tls *crt.TLS, _p *XDateTime) { // sqlite3.c:19274:1 10271 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X10 */))) = int8(i32(0)) 10272 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(43 /* X11 */))) = int8(i32(0)) 10273 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X12 */))) = int8(i32(0)) 10274 return 10275 10276 } 10277 10278 func Xsqlite3_strnicmp(tls *crt.TLS, _zLeft *int8, _zRight *int8, _N int32) (r0 int32) { // sqlite3.c:27924:12 10279 var _a *uint8 // sqlite3.c:27925:26 10280 _ = _a 10281 var _b *uint8 // sqlite3.c:27925:30 10282 _ = _b 10283 if _zLeft != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 10284 goto _0 10285 } 10286 10287 r0 = func() int32 { 10288 if _zRight != nil { 10289 return i32(-1) 10290 } 10291 return i32(0) 10292 }() 10293 return 10294 10295 _0: 10296 if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 10297 goto _4 10298 } 10299 10300 r0 = i32(1) 10301 return 10302 10303 _4: 10304 _a = (*uint8)(unsafe.Pointer(_zLeft)) 10305 _b = (*uint8)(unsafe.Pointer(_zRight)) 10306 _5: 10307 if postInc961(&_N, int32(-1)) <= i32(0) || int32(*_a) == i32(0) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_a)))) != int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_b)))) { 10308 goto _6 10309 } 10310 10311 *(*uintptr)(unsafe.Pointer(&_a)) += uintptr(1) 10312 *(*uintptr)(unsafe.Pointer(&_b)) += uintptr(1) 10313 goto _5 10314 10315 _6: 10316 r0 = func() int32 { 10317 if _N < i32(0) { 10318 return i32(0) 10319 } 10320 return (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_a)))) - int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_b))))) 10321 }() 10322 return 10323 10324 } 10325 10326 var _aXformType [6]struct { 10327 X0 uint8 10328 X1 uint8 10329 X2 *int8 10330 X3 float64 10331 X4 float64 10332 } // sqlite3.c:19422:3 10333 10334 func init() { 10335 _aXformType = [6]struct { 10336 X0 uint8 10337 X1 uint8 10338 X2 *int8 10339 X3 float64 10340 X4 float64 10341 }{T7778277{X0: u8(0), X1: u8(6), X2: str(7192), X3: 4.642690608e+11, X4: 1000}, T7778277{X0: u8(0), X1: u8(6), X2: str(7200), X3: 7.73781768e+09, X4: 60000}, T7778277{X0: u8(0), X1: u8(4), X2: str(7208), X3: 1.28963628e+08, X4: 3.6e+06}, T7778277{X0: u8(0), X1: u8(3), X2: str(7104), X3: 5.373485e+06, X4: 8.64e+07}, T7778277{X0: u8(1), X1: u8(5), X2: str(7088), X3: 176546, X4: 2.592e+09}, T7778277{X0: u8(2), X1: u8(4), X2: str(7096), X3: 14713, X4: 3.1536e+10}} 10342 } 10343 10344 func Xsqlite3_result_double(tls *crt.TLS, _pCtx *Xsqlite3_context, _rVal float64) { // sqlite3.c:76354:12 10345 func() int32 { 10346 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 10347 return i32(0) 10348 } 10349 return func() int32 { 10350 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76355), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_doubleØ00__func__Ø000))), unsafe.Pointer(str(6312))) 10351 crt.X__builtin_abort(tls) 10352 return i32(0) 10353 }() 10354 }() 10355 _sqlite3VdbeMemSetDouble(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _rVal) 10356 return 10357 10358 } 10359 10360 var _sqlite3_result_doubleØ00__func__Ø000 [22]int8 // - 10361 10362 func init() { 10363 crt.Xstrncpy(nil, &_sqlite3_result_doubleØ00__func__Ø000[0], str(7216), 22) 10364 } 10365 10366 func _sqlite3VdbeMemSetDouble(tls *crt.TLS, _pMem *XMem, _val float64) { // sqlite3.c:70323:1 10367 _sqlite3VdbeMemSetNull(tls, _pMem) 10368 if _sqlite3IsNaN(tls, _val) != 0 { 10369 goto _0 10370 } 10371 10372 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _val 10373 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(8)) 10374 _0: 10375 return 10376 10377 } 10378 10379 func _sqlite3IsNaN(tls *crt.TLS, _x float64) (r0 int32) { // sqlite3.c:27673:1 10380 var _rc int32 // sqlite3.c:27674:7 10381 _ = _rc 10382 var _y float64 // sqlite3.c:27702:19 10383 _ = _y 10384 var _z float64 // sqlite3.c:27703:19 10385 _ = _z 10386 _y = _x 10387 _z = _y 10388 _rc = bool2int(_y != _z) 10389 r0 = _rc 10390 return 10391 10392 } 10393 10394 func _dateFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19771:1 10395 var _x XDateTime // sqlite3.c:19776:12 10396 _ = _x 10397 var _1_zBuf [100]int8 // sqlite3.c:19778:10 10398 _ = _1_zBuf 10399 if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { 10400 goto _0 10401 } 10402 10403 _computeYMD(tls, &_x) 10404 Xsqlite3_snprintf(tls, int32(u32(100)), (*int8)(unsafe.Pointer(&_1_zBuf)), str(7240), _x.X1, _x.X2, _x.X3) 10405 Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_1_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 10406 _0: 10407 return 10408 10409 } 10410 10411 func _timeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19752:1 10412 var _x XDateTime // sqlite3.c:19757:12 10413 _ = _x 10414 var _1_zBuf [100]int8 // sqlite3.c:19759:10 10415 _ = _1_zBuf 10416 if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { 10417 goto _0 10418 } 10419 10420 _computeHMS(tls, &_x) 10421 Xsqlite3_snprintf(tls, int32(u32(100)), (*int8)(unsafe.Pointer(&_1_zBuf)), str(7256), _x.X4, _x.X5, int32(_x.X7)) 10422 Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_1_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 10423 _0: 10424 return 10425 10426 } 10427 10428 func _datetimeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19732:1 10429 var _x XDateTime // sqlite3.c:19737:12 10430 _ = _x 10431 var _1_zBuf [100]int8 // sqlite3.c:19739:10 10432 _ = _1_zBuf 10433 if _isDate(tls, _context, _argc, _argv, &_x) != i32(0) { 10434 goto _0 10435 } 10436 10437 _computeYMD_HMS(tls, &_x) 10438 Xsqlite3_snprintf(tls, int32(u32(100)), (*int8)(unsafe.Pointer(&_1_zBuf)), str(7272), _x.X1, _x.X2, _x.X3, _x.X4, _x.X5, int32(_x.X7)) 10439 Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_1_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 10440 _0: 10441 return 10442 10443 } 10444 10445 func _strftimeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:19804:1 10446 var _x XDateTime // sqlite3.c:19809:12 10447 _ = _x 10448 var _n uint64 // sqlite3.c:19810:7 10449 _ = _n 10450 var _i uint32 // sqlite3.c:19811:10 10451 _ = _i 10452 var _j uint32 // sqlite3.c:19811:12 10453 _ = _j 10454 var _z *int8 // sqlite3.c:19812:8 10455 _ = _z 10456 var _db *Xsqlite3 // sqlite3.c:19813:11 10457 _ = _db 10458 var _zFmt *int8 // sqlite3.c:19814:14 10459 _ = _zFmt 10460 var _zBuf [100]int8 // sqlite3.c:19815:8 10461 _ = _zBuf 10462 var _12_s float64 // sqlite3.c:19879:18 10463 _ = _12_s 10464 var _13_nDay int32 // sqlite3.c:19888:15 10465 _ = _13_nDay 10466 var _13_y XDateTime // sqlite3.c:19889:20 10467 _ = _13_y 10468 var _14_wd int32 // sqlite3.c:19896:17 10469 _ = _14_wd 10470 if _argc != i32(0) { 10471 goto _0 10472 } 10473 10474 return 10475 10476 _0: 10477 _zFmt = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 10478 if _zFmt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _isDate(tls, _context, _argc-i32(1), (**XMem)(unsafe.Pointer(uintptr(unsafe.Pointer(_argv))+uintptr(unsafe.Pointer((**XMem)(unsafe.Pointer(uintptr(unsafe.Pointer((**XMem)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((**XMem)(unsafe.Pointer(uintptr(4))))))))))), &_x) == 0 { 10479 goto _2 10480 } 10481 10482 return 10483 10484 _2: 10485 _db = Xsqlite3_context_db_handle(tls, _context) 10486 *func() *uint64 { _i = uint32(i32(0)); return &_n }() = uint64(i32(1)) 10487 _3: 10488 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) == 0 { 10489 goto _6 10490 } 10491 10492 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) != i32(37) { 10493 goto _7 10494 } 10495 10496 switch int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i+uint32(i32(1)))))) { 10497 case i32(37): 10498 goto _16 10499 case i32(72): 10500 goto _10 10501 case i32(74): 10502 goto _21 10503 case i32(77): 10504 goto _12 10505 case i32(83): 10506 goto _13 10507 case i32(87): 10508 goto _14 10509 case i32(89): 10510 goto _19 10511 case i32(100): 10512 goto _9 10513 case i32(102): 10514 goto _17 10515 case i32(106): 10516 goto _18 10517 case i32(109): 10518 goto _11 10519 case i32(115): 10520 goto _20 10521 case i32(119): 10522 goto _15 10523 default: 10524 goto _22 10525 } 10526 10527 _9: 10528 _10: 10529 _11: 10530 _12: 10531 _13: 10532 _14: 10533 _n += 1 10534 _15: 10535 _16: 10536 goto _23 10537 10538 _17: 10539 { 10540 p := &_n 10541 *p = (*p) + uint64(i32(8)) 10542 sink992 = *p 10543 } 10544 goto _23 10545 10546 _18: 10547 { 10548 p := &_n 10549 *p = (*p) + uint64(i32(3)) 10550 sink992 = *p 10551 } 10552 goto _23 10553 10554 _19: 10555 { 10556 p := &_n 10557 *p = (*p) + uint64(i32(8)) 10558 sink992 = *p 10559 } 10560 goto _23 10561 10562 _20: 10563 _21: 10564 { 10565 p := &_n 10566 *p = (*p) + uint64(i32(50)) 10567 sink992 = *p 10568 } 10569 goto _23 10570 10571 _22: 10572 return 10573 10574 _23: 10575 _i += 1 10576 _7: 10577 *func() *uint64 { _i += 1; return &_n }() += 1 10578 goto _3 10579 10580 _6: 10581 if _n >= uint64(u32(100)) { 10582 goto _24 10583 } 10584 10585 _z = (*int8)(unsafe.Pointer(&_zBuf)) 10586 goto _25 10587 10588 _24: 10589 if _n <= uint64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 10590 goto _26 10591 } 10592 10593 Xsqlite3_result_error_toobig(tls, _context) 10594 return 10595 10596 _26: 10597 _z = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(int32(_n))))) 10598 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 10599 goto _28 10600 } 10601 10602 Xsqlite3_result_error_nomem(tls, _context) 10603 return 10604 10605 _28: 10606 _25: 10607 _computeJD(tls, &_x) 10608 _computeYMD_HMS(tls, &_x) 10609 _i = store985(&_j, uint32(i32(0))) 10610 _29: 10611 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) == 0 { 10612 goto _32 10613 } 10614 10615 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) == i32(37) { 10616 goto _33 10617 } 10618 10619 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc985(&_j, uint32(1))))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i))) 10620 goto _34 10621 10622 _33: 10623 _i += 1 10624 switch int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) { 10625 case i32(72): 10626 goto _38 10627 case i32(74): 10628 goto _41 10629 case i32(77): 10630 goto _43 10631 case i32(83): 10632 goto _45 10633 case i32(87): 10634 goto _39 10635 case i32(89): 10636 goto _47 10637 case i32(100): 10638 goto _36 10639 case i32(102): 10640 goto _37 10641 case i32(106): 10642 goto _40 10643 case i32(109): 10644 goto _42 10645 case i32(115): 10646 goto _44 10647 case i32(119): 10648 goto _46 10649 default: 10650 goto _48 10651 } 10652 10653 _36: 10654 Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7304), _x.X3) 10655 { 10656 p := &_j 10657 *p = (*p) + uint32(i32(2)) 10658 sink985 = *p 10659 } 10660 goto _49 10661 10662 _37: 10663 _12_s = _x.X7 10664 if _12_s <= (59.999) { 10665 goto _50 10666 } 10667 10668 _12_s = 59.999 10669 _50: 10670 Xsqlite3_snprintf(tls, i32(7), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7312), _12_s) 10671 { 10672 p := &_j 10673 *p = (*p) + uint32(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) 10674 sink985 = *p 10675 } 10676 goto _49 10677 10678 _38: 10679 Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7304), _x.X4) 10680 { 10681 p := &_j 10682 *p = (*p) + uint32(i32(2)) 10683 sink985 = *p 10684 } 10685 goto _49 10686 10687 _39: 10688 _40: 10689 _13_y = _x 10690 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_13_y)) + uintptr(40 /* X8 */))) = int8(i32(0)) 10691 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_13_y)) + uintptr(12 /* X2 */))) = i32(1) 10692 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_13_y)) + uintptr(16 /* X3 */))) = i32(1) 10693 _computeJD(tls, &_13_y) 10694 _13_nDay = int32((((_x.X0) - (_13_y.X0)) + int64(i32(43200000))) / int64(i32(86400000))) 10695 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFmt)) + 1*uintptr(_i)))) != i32(87) { 10696 goto _51 10697 } 10698 10699 _14_wd = int32((((_x.X0) + int64(i32(43200000))) / int64(i32(86400000))) % int64(i32(7))) 10700 Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7304), ((_13_nDay+i32(7))-_14_wd)/i32(7)) 10701 { 10702 p := &_j 10703 *p = (*p) + uint32(i32(2)) 10704 sink985 = *p 10705 } 10706 goto _52 10707 10708 _51: 10709 Xsqlite3_snprintf(tls, i32(4), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7320), _13_nDay+i32(1)) 10710 { 10711 p := &_j 10712 *p = (*p) + uint32(i32(3)) 10713 sink985 = *p 10714 } 10715 _52: 10716 goto _49 10717 10718 _41: 10719 Xsqlite3_snprintf(tls, i32(20), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7328), float64(_x.X0)/(8.64e+07)) 10720 { 10721 p := &_j 10722 *p = (*p) + uint32(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) 10723 sink985 = *p 10724 } 10725 goto _49 10726 10727 _42: 10728 Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7304), _x.X2) 10729 { 10730 p := &_j 10731 *p = (*p) + uint32(i32(2)) 10732 sink985 = *p 10733 } 10734 goto _49 10735 10736 _43: 10737 Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7304), _x.X5) 10738 { 10739 p := &_j 10740 *p = (*p) + uint32(i32(2)) 10741 sink985 = *p 10742 } 10743 goto _49 10744 10745 _44: 10746 Xsqlite3_snprintf(tls, i32(30), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(5972), ((_x.X0)/int64(i32(1000)))-i64(210866760000)) 10747 { 10748 p := &_j 10749 *p = (*p) + uint32(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) 10750 sink985 = *p 10751 } 10752 goto _49 10753 10754 _45: 10755 Xsqlite3_snprintf(tls, i32(3), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7304), int32(_x.X7)) 10756 { 10757 p := &_j 10758 *p = (*p) + uint32(i32(2)) 10759 sink985 = *p 10760 } 10761 goto _49 10762 10763 _46: 10764 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc985(&_j, uint32(1))))) = int8(int32(int8((((_x.X0)+int64(i32(129600000)))/int64(i32(86400000)))%int64(i32(7)))) + i32(48)) 10765 goto _49 10766 10767 _47: 10768 Xsqlite3_snprintf(tls, i32(5), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))), str(7336), _x.X1) 10769 { 10770 p := &_j 10771 *p = (*p) + uint32(_sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_j))))) 10772 sink985 = *p 10773 } 10774 goto _49 10775 10776 _48: 10777 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc985(&_j, uint32(1))))) = int8(i32(37)) 10778 goto _49 10779 10780 _49: 10781 _34: 10782 _i += 1 10783 goto _29 10784 10785 _32: 10786 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_j))) = int8(i32(0)) 10787 Xsqlite3_result_text(tls, _context, _z, i32(-1), func() func(*crt.TLS, unsafe.Pointer) { 10788 if _z == (*int8)(unsafe.Pointer(&_zBuf)) { 10789 return (*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 10790 } 10791 return (*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10792 f func(*crt.TLS, unsafe.Pointer) int32 10793 }{_sqlite3MallocSize}))) 10794 }()) 10795 return 10796 10797 } 10798 10799 func Xsqlite3_result_error_nomem(tls *crt.TLS, _pCtx *Xsqlite3_context) { // sqlite3.c:76483:12 10800 func() int32 { 10801 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 10802 return i32(0) 10803 } 10804 return func() int32 { 10805 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76484), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_error_nomemØ00__func__Ø000))), unsafe.Pointer(str(6312))) 10806 crt.X__builtin_abort(tls) 10807 return i32(0) 10808 }() 10809 }() 10810 _sqlite3VdbeMemSetNull(tls, (*XMem)(unsafe.Pointer(_pCtx.X0))) 10811 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(20 /* X5 */))) = _sqlite3NomemError(tls, i32(76486)) 10812 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 10813 _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9))) 10814 return 10815 10816 } 10817 10818 var _sqlite3_result_error_nomemØ00__func__Ø000 [27]int8 // - 10819 10820 func init() { 10821 crt.Xstrncpy(nil, &_sqlite3_result_error_nomemØ00__func__Ø000[0], str(7344), 27) 10822 } 10823 10824 func _ctimeFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:19942:1 10825 func() **XMem { ; return _NotUsed2 }() 10826 _timeFunc(tls, _context, i32(0), (**XMem)(unsafe.Pointer(uintptr(i32(0))))) 10827 return 10828 10829 } 10830 10831 func _ctimestampFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:19970:1 10832 func() **XMem { ; return _NotUsed2 }() 10833 _datetimeFunc(tls, _context, i32(0), (**XMem)(unsafe.Pointer(uintptr(i32(0))))) 10834 return 10835 10836 } 10837 10838 func _cdateFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:19956:1 10839 func() **XMem { ; return _NotUsed2 }() 10840 _dateFunc(tls, _context, i32(0), (**XMem)(unsafe.Pointer(uintptr(i32(0))))) 10841 return 10842 10843 } 10844 10845 var _sqlite3RegisterBuiltinFunctionsØ00aBuiltinFuncØ001 [60]XFuncDef // sqlite3.c:107046:18 10846 10847 func init() { 10848 _sqlite3RegisterBuiltinFunctionsØ00aBuiltinFuncØ001 = [60]XFuncDef{XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10849 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10850 }{_loadExt})), X5: nil, X6: str(7372), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10851 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10852 }{_loadExt})), X5: nil, X6: str(7372), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10853 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10854 }{_compileoptionusedFunc})), X5: nil, X6: str(7388), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10855 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10856 }{_compileoptiongetFunc})), X5: nil, X6: str(7416), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(3073), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10857 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10858 }{_versionFunc})), X5: nil, X6: str(7444), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(3073), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10859 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10860 }{_versionFunc})), X5: nil, X6: str(7456), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(3073), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10861 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10862 }{_versionFunc})), X5: nil, X6: str(7468), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(18433), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10863 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10864 }{_versionFunc})), X5: nil, X6: str(7476), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: (unsafe.Pointer)(uintptr(1)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10865 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10866 }{_trimFunc})), X5: nil, X6: str(7488), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: (unsafe.Pointer)(uintptr(1)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10867 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10868 }{_trimFunc})), X5: nil, X6: str(7488), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: (unsafe.Pointer)(uintptr(2)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10869 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10870 }{_trimFunc})), X5: nil, X6: str(7496), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: (unsafe.Pointer)(uintptr(2)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10871 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10872 }{_trimFunc})), X5: nil, X6: str(7496), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: (unsafe.Pointer)(uintptr(3)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10873 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10874 }{_trimFunc})), X5: nil, X6: str(7504), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: (unsafe.Pointer)(uintptr(3)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10875 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10876 }{_trimFunc})), X5: nil, X6: str(7504), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(2081), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10877 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10878 }{_minmaxFunc})), X5: nil, X6: str(7512), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(2081), X2: nil, X3: nil, X4: nil, X5: nil, X6: str(7512), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(4129), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10879 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10880 }{_minmaxStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10881 f func(*crt.TLS, *Xsqlite3_context) 10882 }{_minMaxFinalize})), X6: str(7512), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(2081), X2: (unsafe.Pointer)(uintptr(1)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10883 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10884 }{_minmaxFunc})), X5: nil, X6: str(7516), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(2081), X2: (unsafe.Pointer)(uintptr(1)), X3: nil, X4: nil, X5: nil, X6: str(7516), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(4129), X2: (unsafe.Pointer)(uintptr(1)), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10885 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10886 }{_minmaxStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10887 f func(*crt.TLS, *Xsqlite3_context) 10888 }{_minMaxFinalize})), X6: str(7516), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2177), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10889 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10890 }{_typeofFunc})), X5: nil, X6: str(7520), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2113), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10891 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10892 }{_lengthFunc})), X5: nil, X6: str(7528), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10893 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10894 }{_instrFunc})), X5: nil, X6: str(7536), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10895 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10896 }{_printfFunc})), X5: nil, X6: str(7544), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10897 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10898 }{_unicodeFunc})), X5: nil, X6: str(7552), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10899 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10900 }{_charFunc})), X5: nil, X6: str(7560), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10901 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10902 }{_absFunc})), X5: nil, X6: str(7568), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10903 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10904 }{_roundFunc})), X5: nil, X6: str(7572), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10905 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10906 }{_roundFunc})), X5: nil, X6: str(7572), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10907 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10908 }{_upperFunc})), X5: nil, X6: str(7580), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10909 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10910 }{_lowerFunc})), X5: nil, X6: str(7588), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10911 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10912 }{_hexFunc})), X5: nil, X6: str(7596), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2561), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10913 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10914 }{_versionFunc})), X5: nil, X6: str(7600), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10915 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10916 }{_randomFunc})), X5: nil, X6: str(7608), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10917 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10918 }{_randomBlob})), X5: nil, X6: str(7616), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2081), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10919 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10920 }{_nullifFunc})), X5: nil, X6: str(7628), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10921 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10922 }{_versionFunc})), X5: nil, X6: str(7636), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(8193), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10923 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10924 }{_sourceidFunc})), X5: nil, X6: str(7652), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10925 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10926 }{_errlogFunc})), X5: nil, X6: str(7672), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10927 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10928 }{_quoteFunc})), X5: nil, X6: str(7684), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10929 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10930 }{_last_insert_rowid})), X5: nil, X6: str(7692), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10931 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10932 }{_changes})), X5: nil, X6: str(7712), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10933 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10934 }{_total_changes})), X5: nil, X6: str(7720), X7: T7789635{}}, XFuncDef{X0: i8(3), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10935 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10936 }{_replaceFunc})), X5: nil, X6: str(7736), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10937 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10938 }{_zeroblobFunc})), X5: nil, X6: str(7744), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10939 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10940 }{_substrFunc})), X5: nil, X6: str(7756), X7: T7789635{}}, XFuncDef{X0: i8(3), X1: u16(2049), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10941 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10942 }{_substrFunc})), X5: nil, X6: str(7756), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10943 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10944 }{_sumStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10945 f func(*crt.TLS, *Xsqlite3_context) 10946 }{_sumFinalize})), X6: str(7764), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10947 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10948 }{_sumStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10949 f func(*crt.TLS, *Xsqlite3_context) 10950 }{_totalFinalize})), X6: str(7768), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10951 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10952 }{_sumStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10953 f func(*crt.TLS, *Xsqlite3_context) 10954 }{_avgFinalize})), X6: str(7776), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(257), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10955 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10956 }{_countStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10957 f func(*crt.TLS, *Xsqlite3_context) 10958 }{_countFinalize})), X6: str(7780), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10959 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10960 }{_countStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10961 f func(*crt.TLS, *Xsqlite3_context) 10962 }{_countFinalize})), X6: str(7780), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10963 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10964 }{_groupConcatStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10965 f func(*crt.TLS, *Xsqlite3_context) 10966 }{_groupConcatFinalize})), X6: str(7788), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10967 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10968 }{_groupConcatStep})), X5: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 10969 f func(*crt.TLS, *Xsqlite3_context) 10970 }{_groupConcatFinalize})), X6: str(7788), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2061), X2: unsafe.Pointer(&_globInfo), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10971 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10972 }{_likeFunc})), X5: nil, X6: str(7804), X7: T7789635{}}, XFuncDef{X0: i8(2), X1: u16(2053), X2: unsafe.Pointer(&_likeInfoNorm), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10973 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10974 }{_likeFunc})), X5: nil, X6: str(7812), X7: T7789635{}}, XFuncDef{X0: i8(3), X1: u16(2053), X2: unsafe.Pointer(&_likeInfoNorm), X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10975 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10976 }{_likeFunc})), X5: nil, X6: str(7812), X7: T7789635{}}, XFuncDef{X0: i8(1), X1: u16(2049), X2: nil, X3: nil, X4: nil, X5: nil, X6: str(7820), X7: T7789635{}}, XFuncDef{X0: i8(0), X1: u16(2049), X2: nil, X3: nil, X4: nil, X5: nil, X6: str(7820), X7: T7789635{}}, XFuncDef{X0: i8(-1), X1: u16(2561), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 10977 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 10978 }{_versionFunc})), X5: nil, X6: str(7820), X7: T7789635{}}} 10979 } 10980 10981 func _loadExt(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106711:1 10982 var _zFile *int8 // sqlite3.c:106712:14 10983 _ = _zFile 10984 var _zProc *int8 // sqlite3.c:106713:14 10985 _ = _zProc 10986 var _db *Xsqlite3 // sqlite3.c:106714:11 10987 _ = _db 10988 var _zErrMsg *int8 // sqlite3.c:106715:8 10989 _ = _zErrMsg 10990 _zFile = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 10991 _db = Xsqlite3_context_db_handle(tls, _context) 10992 _zErrMsg = nil 10993 if ((_db.X6) & i32(8388608)) != i32(0) { 10994 goto _0 10995 } 10996 10997 Xsqlite3_result_error(tls, _context, str(7832), i32(-1)) 10998 return 10999 11000 _0: 11001 if _argc != i32(2) { 11002 goto _1 11003 } 11004 11005 _zProc = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))))) 11006 goto _2 11007 11008 _1: 11009 _zProc = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 11010 _2: 11011 if _zFile == nil || Xsqlite3_load_extension(tls, _db, _zFile, _zProc, &_zErrMsg) == 0 { 11012 goto _4 11013 } 11014 11015 Xsqlite3_result_error(tls, _context, _zErrMsg, i32(-1)) 11016 Xsqlite3_free(tls, (unsafe.Pointer)(_zErrMsg)) 11017 _4: 11018 return 11019 11020 } 11021 11022 func Xsqlite3_load_extension(tls *crt.TLS, _db *Xsqlite3, _zFile *int8, _zProc *int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:112129:12 11023 var _rc int32 // sqlite3.c:112135:7 11024 _ = _rc 11025 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 11026 _rc = _sqlite3LoadExtension(tls, _db, _zFile, _zProc, _pzErrMsg) 11027 _rc = _sqlite3ApiExit(tls, _db, _rc) 11028 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 11029 r0 = _rc 11030 return 11031 11032 } 11033 11034 func _sqlite3LoadExtension(tls *crt.TLS, _db *Xsqlite3, _zFile *int8, _zProc *int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:111988:1 11035 var _pVfs *Xsqlite3_vfs // sqlite3.c:111994:15 11036 _ = _pVfs 11037 var _handle unsafe.Pointer // sqlite3.c:111995:8 11038 _ = _handle 11039 var _xInit func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 // sqlite3.c:111996:25 11040 _ = _xInit 11041 var _zErrmsg *int8 // sqlite3.c:111997:8 11042 _ = _zErrmsg 11043 var _zEntry *int8 // sqlite3.c:111998:14 11044 _ = _zEntry 11045 var _zAltEntry *int8 // sqlite3.c:111999:8 11046 _ = _zAltEntry 11047 var _aHandle *unsafe.Pointer // sqlite3.c:112000:8 11048 _ = _aHandle 11049 var _nMsg uint64 // sqlite3.c:112001:7 11050 _ = _nMsg 11051 var _ii int32 // sqlite3.c:112002:7 11052 _ = _ii 11053 var _rc int32 // sqlite3.c:112003:7 11054 _ = _rc 11055 var _3_zAltFile *int8 // sqlite3.c:112038:10 11056 _ = _3_zAltFile 11057 var _7_iFile int32 // sqlite3.c:112069:9 11058 _ = _7_iFile 11059 var _7_iEntry int32 // sqlite3.c:112069:16 11060 _ = _7_iEntry 11061 var _7_c int32 // sqlite3.c:112069:24 11062 _ = _7_c 11063 var _7_ncFile int32 // sqlite3.c:112070:9 11064 _ = _7_ncFile 11065 _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)) 11066 _zErrmsg = nil 11067 _zAltEntry = nil 11068 _nMsg = uint64(i32(300) + _sqlite3Strlen30(tls, _zFile)) 11069 if _pzErrMsg == nil { 11070 goto _0 11071 } 11072 11073 *_pzErrMsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 11074 _0: 11075 if ((_db.X6) & i32(4194304)) != i32(0) { 11076 goto _1 11077 } 11078 11079 if _pzErrMsg == nil { 11080 goto _2 11081 } 11082 11083 *_pzErrMsg = Xsqlite3_mprintf(tls, str(7832)) 11084 _2: 11085 r0 = i32(1) 11086 return 11087 11088 _1: 11089 _zEntry = func() *int8 { 11090 if _zProc != nil { 11091 return _zProc 11092 } 11093 return str(7848) 11094 }() 11095 _handle = _sqlite3OsDlOpen(tls, _pVfs, _zFile) 11096 _ii = i32(0) 11097 _5: 11098 if _ii >= i32(1) || unsafe.Pointer(_handle) != (unsafe.Pointer)(uintptr(i32(0))) { 11099 goto _9 11100 } 11101 11102 _3_zAltFile = Xsqlite3_mprintf(tls, str(7872), unsafe.Pointer(_zFile), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LoadExtensionØ00azEndingsØ001)) + 4*uintptr(_ii))))) 11103 if _3_zAltFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 11104 goto _10 11105 } 11106 11107 r0 = _sqlite3NomemError(tls, i32(112039)) 11108 return 11109 11110 _10: 11111 _handle = _sqlite3OsDlOpen(tls, _pVfs, _3_zAltFile) 11112 Xsqlite3_free(tls, (unsafe.Pointer)(_3_zAltFile)) 11113 _ii += 1 11114 goto _5 11115 11116 _9: 11117 if unsafe.Pointer(_handle) != (unsafe.Pointer)(uintptr(i32(0))) { 11118 goto _11 11119 } 11120 11121 if _pzErrMsg == nil { 11122 goto _12 11123 } 11124 11125 *_pzErrMsg = store1025(&_zErrmsg, (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, _nMsg)))) 11126 if _zErrmsg == nil { 11127 goto _13 11128 } 11129 11130 Xsqlite3_snprintf(tls, int32(_nMsg), _zErrmsg, str(7880), unsafe.Pointer(_zFile)) 11131 _sqlite3OsDlError(tls, _pVfs, int32(_nMsg-uint64(i32(1))), _zErrmsg) 11132 _13: 11133 _12: 11134 r0 = i32(1) 11135 return 11136 11137 _11: 11138 _xInit = *(*func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_sqlite3OsDlSym(tls, _pVfs, _handle, _zEntry)})) 11139 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11140 f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 11141 }{_xInit})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11142 f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 11143 }{nil})) || _zProc != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 11144 goto _15 11145 } 11146 11147 _7_ncFile = _sqlite3Strlen30(tls, _zFile) 11148 _zAltEntry = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_7_ncFile+i32(30))))) 11149 if _zAltEntry != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 11150 goto _16 11151 } 11152 11153 _sqlite3OsDlClose(tls, _pVfs, _handle) 11154 r0 = _sqlite3NomemError(tls, i32(112074)) 11155 return 11156 11157 _16: 11158 crt.Xmemcpy(tls, (unsafe.Pointer)(_zAltEntry), (unsafe.Pointer)(str(7916)), uint32(i32(8))) 11159 _7_iFile = _7_ncFile - i32(1) 11160 _17: 11161 if _7_iFile < i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_7_iFile)))) == i32(47) { 11162 goto _21 11163 } 11164 11165 _7_iFile -= 1 11166 goto _17 11167 11168 _21: 11169 _7_iFile += 1 11170 if Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zFile))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_7_iFile))))))), str(7928), i32(3)) != i32(0) { 11171 goto _22 11172 } 11173 11174 { 11175 p := &_7_iFile 11176 *p = (*p) + i32(3) 11177 sink961 = *p 11178 } 11179 _22: 11180 _7_iEntry = i32(8) 11181 _23: 11182 if store961(&_7_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_7_iFile))))) == i32(0) || _7_c == i32(46) { 11183 goto _27 11184 } 11185 11186 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_7_c))))) & i32(2)) == 0 { 11187 goto _28 11188 } 11189 11190 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAltEntry)) + 1*uintptr(postInc961(&_7_iEntry, int32(1))))) = int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint32(_7_c))))) 11191 _28: 11192 _7_iFile += 1 11193 goto _23 11194 11195 _27: 11196 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zAltEntry))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_7_iEntry)))))))), (unsafe.Pointer)(str(7932)), uint32(i32(6))) 11197 _zEntry = _zAltEntry 11198 _xInit = *(*func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_sqlite3OsDlSym(tls, _pVfs, _handle, _zEntry)})) 11199 _15: 11200 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11201 f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 11202 }{_xInit})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11203 f func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 11204 }{nil})) { 11205 goto _29 11206 } 11207 11208 if _pzErrMsg == nil { 11209 goto _30 11210 } 11211 11212 { 11213 p := &_nMsg 11214 *p = (*p) + uint64(_sqlite3Strlen30(tls, _zEntry)) 11215 sink992 = *p 11216 } 11217 *_pzErrMsg = store1025(&_zErrmsg, (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, _nMsg)))) 11218 if _zErrmsg == nil { 11219 goto _31 11220 } 11221 11222 Xsqlite3_snprintf(tls, int32(_nMsg), _zErrmsg, str(7940), unsafe.Pointer(_zEntry), unsafe.Pointer(_zFile)) 11223 _sqlite3OsDlError(tls, _pVfs, int32(_nMsg-uint64(i32(1))), _zErrmsg) 11224 _31: 11225 _30: 11226 _sqlite3OsDlClose(tls, _pVfs, _handle) 11227 Xsqlite3_free(tls, (unsafe.Pointer)(_zAltEntry)) 11228 r0 = i32(1) 11229 return 11230 11231 _29: 11232 Xsqlite3_free(tls, (unsafe.Pointer)(_zAltEntry)) 11233 _rc = _xInit(tls, _db, &_zErrmsg, &_sqlite3Apis) 11234 if _rc == 0 { 11235 goto _32 11236 } 11237 11238 if _rc != i32(256) { 11239 goto _33 11240 } 11241 11242 r0 = i32(0) 11243 return 11244 11245 _33: 11246 if _pzErrMsg == nil { 11247 goto _34 11248 } 11249 11250 *_pzErrMsg = Xsqlite3_mprintf(tls, str(7984), unsafe.Pointer(_zErrmsg)) 11251 _34: 11252 Xsqlite3_free(tls, (unsafe.Pointer)(_zErrmsg)) 11253 _sqlite3OsDlClose(tls, _pVfs, _handle) 11254 r0 = i32(1) 11255 return 11256 11257 _32: 11258 _aHandle = (*unsafe.Pointer)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(4)*uint32((_db.X39)+i32(1)))))) 11259 if _aHandle != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 11260 goto _35 11261 } 11262 11263 r0 = _sqlite3NomemError(tls, i32(112118)) 11264 return 11265 11266 _35: 11267 if (_db.X39) <= i32(0) { 11268 goto _36 11269 } 11270 11271 crt.Xmemcpy(tls, (unsafe.Pointer)(_aHandle), (unsafe.Pointer)(_db.X40), u32(4)*uint32(_db.X39)) 11272 _36: 11273 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_db.X40)) 11274 *(**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(176 /* X40 */))) = _aHandle 11275 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X40)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(172 /* X39 */))), int32(1))))) = _handle 11276 r0 = i32(0) 11277 return 11278 11279 } 11280 11281 func Xsqlite3_mprintf(tls *crt.TLS, _zFormat *int8, args ...interface{}) (r0 *int8) { // sqlite3.c:26025:12 11282 var _ap []interface{} // sqlite3.c:26026:11 11283 _ = _ap 11284 var _z *int8 // sqlite3.c:26027:8 11285 _ = _z 11286 if Xsqlite3_initialize(tls) == 0 { 11287 goto _0 11288 } 11289 11290 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 11291 return 11292 11293 _0: 11294 _ap = args 11295 _z = Xsqlite3_vmprintf(tls, _zFormat, _ap) 11296 _ap = nil 11297 r0 = _z 11298 return 11299 11300 } 11301 11302 func Xsqlite3_vmprintf(tls *crt.TLS, _zFormat *int8, _ap []interface{}) (r0 *int8) { // sqlite3.c:26001:12 11303 var _z *int8 // sqlite3.c:26002:8 11304 _ = _z 11305 var _zBase [70]int8 // sqlite3.c:26003:8 11306 _ = _zBase 11307 var _acc XStrAccum // sqlite3.c:26004:12 11308 _ = _acc 11309 if _zFormat != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 11310 goto _0 11311 } 11312 11313 _sqlite3MisuseError(tls, i32(26008)) 11314 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 11315 return 11316 11317 _0: 11318 if Xsqlite3_initialize(tls) == 0 { 11319 goto _1 11320 } 11321 11322 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 11323 return 11324 11325 _1: 11326 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBase)), int32(u32(70)), i32(1000000000)) 11327 _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) 11328 _z = _sqlite3StrAccumFinish(tls, &_acc) 11329 r0 = _z 11330 return 11331 11332 } 11333 11334 func _sqlite3OsDlOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8) (r0 unsafe.Pointer) { // sqlite3.c:20293:1 11335 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 11336 f func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer 11337 }{(_pVfs.X10)})))(tls, _pVfs, _zPath) 11338 return 11339 11340 } 11341 11342 var _sqlite3LoadExtensionØ00azEndingsØ001 [1]*int8 // sqlite3.c:112006:21 11343 11344 func init() { 11345 _sqlite3LoadExtensionØ00azEndingsØ001 = [1]*int8{str(8016)} 11346 } 11347 11348 func Xsqlite3_malloc64(tls *crt.TLS, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24487:12 11349 if Xsqlite3_initialize(tls) == 0 { 11350 goto _0 11351 } 11352 11353 r0 = (unsafe.Pointer)(uintptr(i32(0))) 11354 return 11355 11356 _0: 11357 r0 = _sqlite3Malloc(tls, _n) 11358 return 11359 11360 } 11361 11362 func _sqlite3OsDlError(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nByte int32, _zBufOut *int8) { // sqlite3.c:20296:1 11363 (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&struct { 11364 f func(*crt.TLS, unsafe.Pointer, int32, *int8) 11365 }{(_pVfs.X11)})))(tls, _pVfs, _nByte, _zBufOut) 11366 return 11367 11368 } 11369 11370 func _sqlite3OsDlSym(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pHdle unsafe.Pointer, _zSym *int8) (r0 func(*crt.TLS)) { // sqlite3.c:20299:1 11371 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 11372 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS) 11373 }{(_pVfs.X12)})))(tls, _pVfs, _pHdle, _zSym) 11374 return 11375 11376 } 11377 11378 func _sqlite3OsDlClose(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pHandle unsafe.Pointer) { // sqlite3.c:20302:1 11379 (*(*func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&struct { 11380 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 11381 }{(_pVfs.X13)})))(tls, _pVfs, _pHandle) 11382 return 11383 11384 } 11385 11386 var _sqlite3Apis Xsqlite3_api_routines // sqlite3.c:111678:35 11387 11388 func init() { 11389 _sqlite3Apis = Xsqlite3_api_routines{X0: *(*func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 11390 f func(*crt.TLS, *Xsqlite3_context, int32) unsafe.Pointer 11391 }{Xsqlite3_aggregate_context})), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11392 f func(*crt.TLS, *Xsqlite3_context) int32 11393 }{Xsqlite3_aggregate_count})), X2: Xsqlite3_bind_blob, X3: Xsqlite3_bind_double, X4: Xsqlite3_bind_int, X5: Xsqlite3_bind_int64, X6: Xsqlite3_bind_null, X7: Xsqlite3_bind_parameter_count, X8: Xsqlite3_bind_parameter_index, X9: Xsqlite3_bind_parameter_name, X10: Xsqlite3_bind_text, X11: Xsqlite3_bind_text16, X12: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11394 f func(*crt.TLS, unsafe.Pointer, int32, *XMem) int32 11395 }{Xsqlite3_bind_value})), X13: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11396 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32 11397 }{Xsqlite3_busy_handler})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 11398 f func(*crt.TLS, *Xsqlite3, int32) int32 11399 }{Xsqlite3_busy_timeout})), X15: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11400 f func(*crt.TLS, *Xsqlite3) int32 11401 }{Xsqlite3_changes})), X16: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11402 f func(*crt.TLS, *Xsqlite3) int32 11403 }{Xsqlite3_close})), X17: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32)(unsafe.Pointer(&struct { 11404 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8)) int32 11405 }{Xsqlite3_collation_needed})), X18: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32)(unsafe.Pointer(&struct { 11406 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer)) int32 11407 }{Xsqlite3_collation_needed16})), X19: Xsqlite3_column_blob, X20: Xsqlite3_column_bytes, X21: Xsqlite3_column_bytes16, X22: Xsqlite3_column_count, X23: nil, X24: nil, X25: Xsqlite3_column_decltype, X26: Xsqlite3_column_decltype16, X27: Xsqlite3_column_double, X28: Xsqlite3_column_int, X29: Xsqlite3_column_int64, X30: Xsqlite3_column_name, X31: Xsqlite3_column_name16, X32: nil, X33: nil, X34: nil, X35: nil, X36: Xsqlite3_column_text, X37: Xsqlite3_column_text16, X38: Xsqlite3_column_type, X39: *(*func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 11408 f func(*crt.TLS, unsafe.Pointer, int32) *XMem 11409 }{Xsqlite3_column_value})), X40: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11410 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer 11411 }{Xsqlite3_commit_hook})), X41: Xsqlite3_complete, X42: Xsqlite3_complete16, X43: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32)(unsafe.Pointer(&struct { 11412 f func(*crt.TLS, *Xsqlite3, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 11413 }{Xsqlite3_create_collation})), X44: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32)(unsafe.Pointer(&struct { 11414 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 11415 }{Xsqlite3_create_collation16})), X45: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32)(unsafe.Pointer(&struct { 11416 f func(*crt.TLS, *Xsqlite3, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, *Xsqlite3_context, int32, **XMem), func(*crt.TLS, *Xsqlite3_context, int32, **XMem), func(*crt.TLS, *Xsqlite3_context)) int32 11417 }{Xsqlite3_create_function})), X46: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32)(unsafe.Pointer(&struct { 11418 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, int32, unsafe.Pointer, func(*crt.TLS, *Xsqlite3_context, int32, **XMem), func(*crt.TLS, *Xsqlite3_context, int32, **XMem), func(*crt.TLS, *Xsqlite3_context)) int32 11419 }{Xsqlite3_create_function16})), X47: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11420 f func(*crt.TLS, *Xsqlite3, *int8, *Xsqlite3_module, unsafe.Pointer) int32 11421 }{Xsqlite3_create_module})), X48: Xsqlite3_data_count, X49: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11422 f func(*crt.TLS, unsafe.Pointer) *Xsqlite3 11423 }{Xsqlite3_db_handle})), X50: *(*func(*crt.TLS, unsafe.Pointer, *int8) int32)(unsafe.Pointer(&struct { 11424 f func(*crt.TLS, *Xsqlite3, *int8) int32 11425 }{Xsqlite3_declare_vtab})), X51: Xsqlite3_enable_shared_cache, X52: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11426 f func(*crt.TLS, *Xsqlite3) int32 11427 }{Xsqlite3_errcode})), X53: *(*func(*crt.TLS, unsafe.Pointer) *int8)(unsafe.Pointer(&struct { 11428 f func(*crt.TLS, *Xsqlite3) *int8 11429 }{Xsqlite3_errmsg})), X54: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11430 f func(*crt.TLS, *Xsqlite3) unsafe.Pointer 11431 }{Xsqlite3_errmsg16})), X55: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32)(unsafe.Pointer(&struct { 11432 f func(*crt.TLS, *Xsqlite3, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32 11433 }{Xsqlite3_exec})), X56: Xsqlite3_expired, X57: Xsqlite3_finalize, X58: Xsqlite3_free, X59: Xsqlite3_free_table, X60: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11434 f func(*crt.TLS, *Xsqlite3) int32 11435 }{Xsqlite3_get_autocommit})), X61: *(*func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 11436 f func(*crt.TLS, *Xsqlite3_context, int32) unsafe.Pointer 11437 }{Xsqlite3_get_auxdata})), X62: *(*func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32)(unsafe.Pointer(&struct { 11438 f func(*crt.TLS, *Xsqlite3, *int8, ***int8, *int32, *int32, **int8) int32 11439 }{Xsqlite3_get_table})), X63: nil, X64: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f func(*crt.TLS, *Xsqlite3) }{Xsqlite3_interrupt})), X65: *(*func(*crt.TLS, unsafe.Pointer) int64)(unsafe.Pointer(&struct { 11440 f func(*crt.TLS, *Xsqlite3) int64 11441 }{Xsqlite3_last_insert_rowid})), X66: Xsqlite3_libversion, X67: Xsqlite3_libversion_number, X68: Xsqlite3_malloc, X69: Xsqlite3_mprintf, X70: *(*func(*crt.TLS, *int8, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11442 f func(*crt.TLS, *int8, **Xsqlite3) int32 11443 }{Xsqlite3_open})), X71: *(*func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11444 f func(*crt.TLS, unsafe.Pointer, **Xsqlite3) int32 11445 }{Xsqlite3_open16})), X72: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32)(unsafe.Pointer(&struct { 11446 f func(*crt.TLS, *Xsqlite3, *int8, int32, *unsafe.Pointer, **int8) int32 11447 }{Xsqlite3_prepare})), X73: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11448 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 11449 }{Xsqlite3_prepare16})), X74: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11450 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer 11451 }{Xsqlite3_profile})), X75: *(*func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer))(unsafe.Pointer(&struct { 11452 f func(*crt.TLS, *Xsqlite3, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) 11453 }{Xsqlite3_progress_handler})), X76: Xsqlite3_realloc, X77: Xsqlite3_reset, X78: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11454 f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 11455 }{Xsqlite3_result_blob})), X79: *(*func(*crt.TLS, unsafe.Pointer, float64))(unsafe.Pointer(&struct { 11456 f func(*crt.TLS, *Xsqlite3_context, float64) 11457 }{Xsqlite3_result_double})), X80: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32))(unsafe.Pointer(&struct { 11458 f func(*crt.TLS, *Xsqlite3_context, *int8, int32) 11459 }{Xsqlite3_result_error})), X81: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&struct { 11460 f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32) 11461 }{Xsqlite3_result_error16})), X82: *(*func(*crt.TLS, unsafe.Pointer, int32))(unsafe.Pointer(&struct { 11462 f func(*crt.TLS, *Xsqlite3_context, int32) 11463 }{Xsqlite3_result_int})), X83: *(*func(*crt.TLS, unsafe.Pointer, int64))(unsafe.Pointer(&struct { 11464 f func(*crt.TLS, *Xsqlite3_context, int64) 11465 }{Xsqlite3_result_int64})), X84: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 11466 f func(*crt.TLS, *Xsqlite3_context) 11467 }{Xsqlite3_result_null})), X85: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11468 f func(*crt.TLS, *Xsqlite3_context, *int8, int32, func(*crt.TLS, unsafe.Pointer)) 11469 }{Xsqlite3_result_text})), X86: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11470 f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 11471 }{Xsqlite3_result_text16})), X87: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11472 f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 11473 }{Xsqlite3_result_text16be})), X88: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11474 f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 11475 }{Xsqlite3_result_text16le})), X89: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { 11476 f func(*crt.TLS, *Xsqlite3_context, *XMem) 11477 }{Xsqlite3_result_value})), X90: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11478 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer 11479 }{Xsqlite3_rollback_hook})), X91: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11480 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32 11481 }{Xsqlite3_set_authorizer})), X92: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11482 f func(*crt.TLS, *Xsqlite3_context, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) 11483 }{Xsqlite3_set_auxdata})), X93: Xsqlite3_snprintf, X94: Xsqlite3_step, X95: *(*func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32)(unsafe.Pointer(&struct { 11484 f func(*crt.TLS, *Xsqlite3, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32 11485 }{Xsqlite3_table_column_metadata})), X96: Xsqlite3_thread_cleanup, X97: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11486 f func(*crt.TLS, *Xsqlite3) int32 11487 }{Xsqlite3_total_changes})), X98: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11488 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer 11489 }{Xsqlite3_trace})), X99: Xsqlite3_transfer_bindings, X100: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11490 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer 11491 }{Xsqlite3_update_hook})), X101: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11492 f func(*crt.TLS, *Xsqlite3_context) unsafe.Pointer 11493 }{Xsqlite3_user_data})), X102: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11494 f func(*crt.TLS, *XMem) unsafe.Pointer 11495 }{Xsqlite3_value_blob})), X103: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) int32 }{Xsqlite3_value_bytes})), X104: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) int32 }{Xsqlite3_value_bytes16})), X105: *(*func(*crt.TLS, unsafe.Pointer) float64)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) float64 }{Xsqlite3_value_double})), X106: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) int32 }{Xsqlite3_value_int})), X107: *(*func(*crt.TLS, unsafe.Pointer) int64)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) int64 }{Xsqlite3_value_int64})), X108: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) int32 }{Xsqlite3_value_numeric_type})), X109: *(*func(*crt.TLS, unsafe.Pointer) *uint8)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) *uint8 }{Xsqlite3_value_text})), X110: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11496 f func(*crt.TLS, *XMem) unsafe.Pointer 11497 }{Xsqlite3_value_text16})), X111: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11498 f func(*crt.TLS, *XMem) unsafe.Pointer 11499 }{Xsqlite3_value_text16be})), X112: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11500 f func(*crt.TLS, *XMem) unsafe.Pointer 11501 }{Xsqlite3_value_text16le})), X113: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) int32 }{Xsqlite3_value_type})), X114: *(*func(*crt.TLS, *int8, unsafe.Pointer) *int8)(unsafe.Pointer(&struct { 11502 f func(*crt.TLS, *int8, []interface{}) *int8 11503 }{Xsqlite3_vmprintf})), X115: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { 11504 f func(*crt.TLS, *Xsqlite3, *int8, int32) int32 11505 }{Xsqlite3_overload_function})), X116: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32)(unsafe.Pointer(&struct { 11506 f func(*crt.TLS, *Xsqlite3, *int8, int32, *unsafe.Pointer, **int8) int32 11507 }{Xsqlite3_prepare_v2})), X117: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11508 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 11509 }{Xsqlite3_prepare16_v2})), X118: Xsqlite3_clear_bindings, X119: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32)(unsafe.Pointer(&struct { 11510 f func(*crt.TLS, *Xsqlite3, *int8, *Xsqlite3_module, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32 11511 }{Xsqlite3_create_module_v2})), X120: Xsqlite3_bind_zeroblob, X121: Xsqlite3_blob_bytes, X122: Xsqlite3_blob_close, X123: *(*func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11512 f func(*crt.TLS, *Xsqlite3, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32 11513 }{Xsqlite3_blob_open})), X124: Xsqlite3_blob_read, X125: Xsqlite3_blob_write, X126: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, func(*crt.TLS, unsafe.Pointer)) int32)(unsafe.Pointer(&struct { 11514 f func(*crt.TLS, *Xsqlite3, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, func(*crt.TLS, unsafe.Pointer)) int32 11515 }{Xsqlite3_create_collation_v2})), X127: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11516 f func(*crt.TLS, *Xsqlite3, *int8, int32, unsafe.Pointer) int32 11517 }{Xsqlite3_file_control})), X128: Xsqlite3_memory_highwater, X129: Xsqlite3_memory_used, X130: *(*func(*crt.TLS, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 11518 f func(*crt.TLS, int32) *Xsqlite3_mutex 11519 }{Xsqlite3_mutex_alloc})), X131: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 11520 f func(*crt.TLS, *Xsqlite3_mutex) 11521 }{Xsqlite3_mutex_enter})), X132: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 11522 f func(*crt.TLS, *Xsqlite3_mutex) 11523 }{Xsqlite3_mutex_free})), X133: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 11524 f func(*crt.TLS, *Xsqlite3_mutex) 11525 }{Xsqlite3_mutex_leave})), X134: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11526 f func(*crt.TLS, *Xsqlite3_mutex) int32 11527 }{Xsqlite3_mutex_try})), X135: *(*func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 11528 f func(*crt.TLS, *int8, **Xsqlite3, int32, *int8) int32 11529 }{Xsqlite3_open_v2})), X136: Xsqlite3_release_memory, X137: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 11530 f func(*crt.TLS, *Xsqlite3_context) 11531 }{Xsqlite3_result_error_nomem})), X138: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 11532 f func(*crt.TLS, *Xsqlite3_context) 11533 }{Xsqlite3_result_error_toobig})), X139: Xsqlite3_sleep, X140: Xsqlite3_soft_heap_limit, X141: *(*func(*crt.TLS, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 11534 f func(*crt.TLS, *int8) *Xsqlite3_vfs 11535 }{Xsqlite3_vfs_find})), X142: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 11536 f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 11537 }{Xsqlite3_vfs_register})), X143: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11538 f func(*crt.TLS, *Xsqlite3_vfs) int32 11539 }{Xsqlite3_vfs_unregister})), X144: Xsqlite3_threadsafe, X145: *(*func(*crt.TLS, unsafe.Pointer, int32))(unsafe.Pointer(&struct { 11540 f func(*crt.TLS, *Xsqlite3_context, int32) 11541 }{Xsqlite3_result_zeroblob})), X146: *(*func(*crt.TLS, unsafe.Pointer, int32))(unsafe.Pointer(&struct { 11542 f func(*crt.TLS, *Xsqlite3_context, int32) 11543 }{Xsqlite3_result_error_code})), X147: Xsqlite3_test_control, X148: Xsqlite3_randomness, X149: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11544 f func(*crt.TLS, *Xsqlite3_context) *Xsqlite3 11545 }{Xsqlite3_context_db_handle})), X150: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 11546 f func(*crt.TLS, *Xsqlite3, int32) int32 11547 }{Xsqlite3_extended_result_codes})), X151: *(*func(*crt.TLS, unsafe.Pointer, int32, int32) int32)(unsafe.Pointer(&struct { 11548 f func(*crt.TLS, *Xsqlite3, int32, int32) int32 11549 }{Xsqlite3_limit})), X152: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11550 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer) unsafe.Pointer 11551 }{Xsqlite3_next_stmt})), X153: Xsqlite3_sql, X154: Xsqlite3_status, X155: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11552 f func(*crt.TLS, *Xsqlite3_backup) int32 11553 }{Xsqlite3_backup_finish})), X156: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 11554 f func(*crt.TLS, *Xsqlite3, *int8, *Xsqlite3, *int8) *Xsqlite3_backup 11555 }{Xsqlite3_backup_init})), X157: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11556 f func(*crt.TLS, *Xsqlite3_backup) int32 11557 }{Xsqlite3_backup_pagecount})), X158: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11558 f func(*crt.TLS, *Xsqlite3_backup) int32 11559 }{Xsqlite3_backup_remaining})), X159: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 11560 f func(*crt.TLS, *Xsqlite3_backup, int32) int32 11561 }{Xsqlite3_backup_step})), X160: Xsqlite3_compileoption_get, X161: Xsqlite3_compileoption_used, X162: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32)(unsafe.Pointer(&struct { 11562 f func(*crt.TLS, *Xsqlite3, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, *Xsqlite3_context, int32, **XMem), func(*crt.TLS, *Xsqlite3_context, int32, **XMem), func(*crt.TLS, *Xsqlite3_context), func(*crt.TLS, unsafe.Pointer)) int32 11563 }{Xsqlite3_create_function_v2})), X163: *(*func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32)(unsafe.Pointer(&struct { 11564 f func(*crt.TLS, *Xsqlite3, int32, ...interface{}) int32 11565 }{Xsqlite3_db_config})), X164: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11566 f func(*crt.TLS, *Xsqlite3) *Xsqlite3_mutex 11567 }{Xsqlite3_db_mutex})), X165: *(*func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32)(unsafe.Pointer(&struct { 11568 f func(*crt.TLS, *Xsqlite3, int32, *int32, *int32, int32) int32 11569 }{Xsqlite3_db_status})), X166: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11570 f func(*crt.TLS, *Xsqlite3) int32 11571 }{Xsqlite3_extended_errcode})), X167: Xsqlite3_log, X168: Xsqlite3_soft_heap_limit64, X169: Xsqlite3_sourceid, X170: Xsqlite3_stmt_status, X171: Xsqlite3_strnicmp, X172: nil, X173: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 11572 f func(*crt.TLS, *Xsqlite3, int32) int32 11573 }{Xsqlite3_wal_autocheckpoint})), X174: *(*func(*crt.TLS, unsafe.Pointer, *int8) int32)(unsafe.Pointer(&struct { 11574 f func(*crt.TLS, *Xsqlite3, *int8) int32 11575 }{Xsqlite3_wal_checkpoint})), X175: *(*func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct { 11576 f func(*crt.TLS, *Xsqlite3, func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer 11577 }{Xsqlite3_wal_hook})), X176: Xsqlite3_blob_reopen, X177: *(*func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32)(unsafe.Pointer(&struct { 11578 f func(*crt.TLS, *Xsqlite3, int32, ...interface{}) int32 11579 }{Xsqlite3_vtab_config})), X178: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11580 f func(*crt.TLS, *Xsqlite3) int32 11581 }{Xsqlite3_vtab_on_conflict})), X179: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11582 f func(*crt.TLS, *Xsqlite3) int32 11583 }{Xsqlite3_close_v2})), X180: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { 11584 f func(*crt.TLS, *Xsqlite3, *int8) *int8 11585 }{Xsqlite3_db_filename})), X181: *(*func(*crt.TLS, unsafe.Pointer, *int8) int32)(unsafe.Pointer(&struct { 11586 f func(*crt.TLS, *Xsqlite3, *int8) int32 11587 }{Xsqlite3_db_readonly})), X182: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11588 f func(*crt.TLS, *Xsqlite3) int32 11589 }{Xsqlite3_db_release_memory})), X183: Xsqlite3_errstr, X184: Xsqlite3_stmt_busy, X185: Xsqlite3_stmt_readonly, X186: Xsqlite3_stricmp, X187: Xsqlite3_uri_boolean, X188: Xsqlite3_uri_int64, X189: Xsqlite3_uri_parameter, X190: *(*func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8)(unsafe.Pointer(&struct { 11590 f func(*crt.TLS, int32, *int8, *int8, []interface{}) *int8 11591 }{Xsqlite3_vsnprintf})), X191: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32)(unsafe.Pointer(&struct { 11592 f func(*crt.TLS, *Xsqlite3, *int8, int32, *int32, *int32) int32 11593 }{Xsqlite3_wal_checkpoint_v2})), X192: Xsqlite3_auto_extension, X193: Xsqlite3_bind_blob64, X194: Xsqlite3_bind_text64, X195: Xsqlite3_cancel_auto_extension, X196: *(*func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32)(unsafe.Pointer(&struct { 11594 f func(*crt.TLS, *Xsqlite3, *int8, *int8, **int8) int32 11595 }{Xsqlite3_load_extension})), X197: Xsqlite3_malloc64, X198: Xsqlite3_msize, X199: Xsqlite3_realloc64, X200: Xsqlite3_reset_auto_extension, X201: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)))(unsafe.Pointer(&struct { 11596 f func(*crt.TLS, *Xsqlite3_context, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) 11597 }{Xsqlite3_result_blob64})), X202: *(*func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8))(unsafe.Pointer(&struct { 11598 f func(*crt.TLS, *Xsqlite3_context, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) 11599 }{Xsqlite3_result_text64})), X203: Xsqlite3_strglob, X204: *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) *XMem }{Xsqlite3_value_dup})), X205: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) }{Xsqlite3_value_free})), X206: *(*func(*crt.TLS, unsafe.Pointer, uint64) int32)(unsafe.Pointer(&struct { 11600 f func(*crt.TLS, *Xsqlite3_context, uint64) int32 11601 }{Xsqlite3_result_zeroblob64})), X207: Xsqlite3_bind_zeroblob64, X208: *(*func(*crt.TLS, unsafe.Pointer) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) uint32 }{Xsqlite3_value_subtype})), X209: *(*func(*crt.TLS, unsafe.Pointer, uint32))(unsafe.Pointer(&struct { 11602 f func(*crt.TLS, *Xsqlite3_context, uint32) 11603 }{Xsqlite3_result_subtype})), X210: Xsqlite3_status64, X211: Xsqlite3_strlike, X212: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11604 f func(*crt.TLS, *Xsqlite3) int32 11605 }{Xsqlite3_db_cacheflush})), X213: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11606 f func(*crt.TLS, *Xsqlite3) int32 11607 }{Xsqlite3_system_errno})), X214: *(*func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 11608 f func(*crt.TLS, *Xsqlite3, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32 11609 }{Xsqlite3_trace_v2})), X215: Xsqlite3_expanded_sql, X216: *(*func(*crt.TLS, unsafe.Pointer, int64))(unsafe.Pointer(&struct { 11610 f func(*crt.TLS, *Xsqlite3, int64) 11611 }{Xsqlite3_set_last_insert_rowid}))} 11612 } 11613 11614 func Xsqlite3_aggregate_context(tls *crt.TLS, _p *Xsqlite3_context, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:76797:12 11615 func() int32 { 11616 if ((_p != nil) && ((*XFuncDef)(unsafe.Pointer(_p.X1)) != nil)) && ((*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { 11617 f func(*crt.TLS, unsafe.Pointer) 11618 }{((*XFuncDef)(unsafe.Pointer(_p.X1)).X5)}))) != nil) { 11619 return i32(0) 11620 } 11621 return func() int32 { 11622 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76798), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_aggregate_contextØ00__func__Ø000))), unsafe.Pointer(str(8020))) 11623 crt.X__builtin_abort(tls) 11624 return i32(0) 11625 }() 11626 }() 11627 func() int32 { 11628 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_p.X0)).X9)).X3))) != 0 { 11629 return i32(0) 11630 } 11631 return func() int32 { 11632 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_aggregate_contextØ00__func__Ø000))), unsafe.Pointer(str(8060))) 11633 crt.X__builtin_abort(tls) 11634 return i32(0) 11635 }() 11636 }() 11637 if (int32((*XMem)(unsafe.Pointer(_p.X2)).X1) & i32(8192)) != i32(0) { 11638 goto _6 11639 } 11640 11641 r0 = _createAggContext(tls, _p, _nByte) 11642 return 11643 11644 _6: 11645 r0 = (unsafe.Pointer)((*XMem)(unsafe.Pointer(_p.X2)).X5) 11646 return 11647 11648 } 11649 11650 var _sqlite3_aggregate_contextØ00__func__Ø000 [26]int8 // - 11651 11652 func init() { 11653 crt.Xstrncpy(nil, &_sqlite3_aggregate_contextØ00__func__Ø000[0], str(8100), 26) 11654 } 11655 11656 func _createAggContext(tls *crt.TLS, _p *Xsqlite3_context, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:76775:1 11657 var _pMem *XMem // sqlite3.c:76776:7 11658 _ = _pMem 11659 _pMem = (*XMem)(unsafe.Pointer(_p.X2)) 11660 func() int32 { 11661 if (int32(_pMem.X1) & i32(8192)) == i32(0) { 11662 return i32(0) 11663 } 11664 return func() int32 { 11665 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76777), unsafe.Pointer((*int8)(unsafe.Pointer(&_createAggContextØ00__func__Ø000))), unsafe.Pointer(str(8128))) 11666 crt.X__builtin_abort(tls) 11667 return i32(0) 11668 }() 11669 }() 11670 if _nByte > i32(0) { 11671 goto _2 11672 } 11673 11674 _sqlite3VdbeMemSetNull(tls, _pMem) 11675 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 11676 goto _3 11677 11678 _2: 11679 _sqlite3VdbeMemClearAndResize(tls, _pMem, _nByte) 11680 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(8192)) 11681 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) = (*XFuncDef)(unsafe.Pointer(_p.X1)) 11682 if (_pMem.X5) == nil { 11683 goto _4 11684 } 11685 11686 crt.Xmemset(tls, (unsafe.Pointer)(_pMem.X5), i32(0), uint32(_nByte)) 11687 _4: 11688 _3: 11689 r0 = (unsafe.Pointer)(_pMem.X5) 11690 return 11691 11692 } 11693 11694 var _createAggContextØ00__func__Ø000 [17]int8 // - 11695 11696 func init() { 11697 crt.Xstrncpy(nil, &_createAggContextØ00__func__Ø000[0], str(8156), 17) 11698 } 11699 11700 func Xsqlite3_aggregate_count(tls *crt.TLS, _p *Xsqlite3_context) (r0 int32) { // sqlite3.c:76888:12 11701 func() int32 { 11702 if (((_p != nil) && ((*XMem)(unsafe.Pointer(_p.X2)) != nil)) && ((*XFuncDef)(unsafe.Pointer(_p.X1)) != nil)) && ((*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { 11703 f func(*crt.TLS, unsafe.Pointer) 11704 }{((*XFuncDef)(unsafe.Pointer(_p.X1)).X5)}))) != nil) { 11705 return i32(0) 11706 } 11707 return func() int32 { 11708 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76889), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_aggregate_countØ00__func__Ø000))), unsafe.Pointer(str(8176))) 11709 crt.X__builtin_abort(tls) 11710 return i32(0) 11711 }() 11712 }() 11713 r0 = (*XMem)(unsafe.Pointer(_p.X2)).X4 11714 return 11715 11716 } 11717 11718 var _sqlite3_aggregate_countØ00__func__Ø000 [24]int8 // - 11719 11720 func init() { 11721 crt.Xstrncpy(nil, &_sqlite3_aggregate_countØ00__func__Ø000[0], str(8224), 24) 11722 } 11723 11724 func Xsqlite3_bind_blob(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _zData unsafe.Pointer, _nData int32, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:77310:12 11725 if _nData >= i32(0) { 11726 goto _0 11727 } 11728 11729 r0 = _sqlite3MisuseError(tls, i32(77318)) 11730 return 11731 11732 _0: 11733 r0 = _bindText(tls, _pStmt, _i, _zData, _nData, _xDel, uint8(i32(0))) 11734 return 11735 11736 } 11737 11738 func _bindText(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _zData unsafe.Pointer, _nData int32, _xDel func(*crt.TLS, unsafe.Pointer), _encoding uint8) (r0 int32) { // sqlite3.c:77276:1 11739 var _p *XVdbe // sqlite3.c:77284:8 11740 _ = _p 11741 var _pVar *XMem // sqlite3.c:77285:7 11742 _ = _pVar 11743 var _rc int32 // sqlite3.c:77286:7 11744 _ = _rc 11745 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 11746 _rc = _vdbeUnbind(tls, _p, _i) 11747 if _rc != i32(0) { 11748 goto _0 11749 } 11750 11751 if _zData == (unsafe.Pointer)(uintptr(i32(0))) { 11752 goto _1 11753 } 11754 11755 _pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 48*uintptr(_i-i32(1)))) 11756 _rc = _sqlite3VdbeMemSetStr(tls, _pVar, (*int8)(unsafe.Pointer(_zData)), _nData, _encoding, _xDel) 11757 if _rc != i32(0) || int32(_encoding) == i32(0) { 11758 goto _3 11759 } 11760 11761 _rc = _sqlite3VdbeChangeEncoding(tls, _pVar, int32((*Xsqlite3)(unsafe.Pointer(_p.X0)).X14)) 11762 _3: 11763 _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) 11764 _rc = _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) 11765 _1: 11766 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 11767 goto _4 11768 11769 _0: 11770 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11771 f func(*crt.TLS, unsafe.Pointer) 11772 }{_xDel})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11773 f func(*crt.TLS, unsafe.Pointer) 11774 }{nil})) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11775 f func(*crt.TLS, unsafe.Pointer) 11776 }{_xDel})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 11777 f func(*crt.TLS, unsafe.Pointer) 11778 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295})))})) { 11779 goto _6 11780 } 11781 11782 _xDel(tls, _zData) 11783 _6: 11784 _4: 11785 r0 = _rc 11786 return 11787 11788 } 11789 11790 func _vdbeUnbind(tls *crt.TLS, _p *XVdbe, _i int32) (r0 int32) { // sqlite3.c:77233:1 11791 var _pVar *XMem // sqlite3.c:77234:7 11792 _ = _pVar 11793 if _vdbeSafetyNotNull(tls, _p) == 0 { 11794 goto _0 11795 } 11796 11797 r0 = _sqlite3MisuseError(tls, i32(77236)) 11798 return 11799 11800 _0: 11801 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 11802 if (_p.X5) == uint32(i32(770837923)) && (_p.X9) < i32(0) { 11803 goto _2 11804 } 11805 11806 _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), i32(21)) 11807 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 11808 Xsqlite3_log(tls, i32(21), str(8248), unsafe.Pointer(_p.X36)) 11809 r0 = _sqlite3MisuseError(tls, i32(77244)) 11810 return 11811 11812 _2: 11813 if _i >= i32(1) && _i <= int32(_p.X4) { 11814 goto _4 11815 } 11816 11817 _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), i32(25)) 11818 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 11819 r0 = i32(25) 11820 return 11821 11822 _4: 11823 _i -= 1 11824 _pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 48*uintptr(_i))) 11825 _sqlite3VdbeMemRelease(tls, _pVar) 11826 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 11827 _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), i32(0)) 11828 func() int32 { 11829 if (((uint32((_p.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_p.X41) == uint32(i32(0))) { 11830 return i32(0) 11831 } 11832 return func() int32 { 11833 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77266), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeUnbindØ00__func__Ø000))), unsafe.Pointer(str(8288))) 11834 crt.X__builtin_abort(tls) 11835 return i32(0) 11836 }() 11837 }() 11838 if (_p.X41) == uint32(i32(0)) || ((_p.X41)&func() uint32 { 11839 if _i >= i32(31) { 11840 return u32(2147483648) 11841 } 11842 return (u32(1) << uint(_i)) 11843 }()) == uint32(i32(0)) { 11844 goto _11 11845 } 11846 11847 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 11848 _11: 11849 r0 = i32(0) 11850 return 11851 11852 } 11853 11854 func _vdbeSafetyNotNull(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:76051:1 11855 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 11856 goto _0 11857 } 11858 11859 Xsqlite3_log(tls, i32(21), str(8320)) 11860 r0 = i32(1) 11861 return 11862 11863 _0: 11864 r0 = _vdbeSafety(tls, _p) 11865 return 11866 11867 } 11868 11869 func _vdbeSafety(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:76043:1 11870 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 11871 goto _0 11872 } 11873 11874 Xsqlite3_log(tls, i32(21), str(8360)) 11875 r0 = i32(1) 11876 return 11877 11878 _0: 11879 r0 = i32(0) 11880 return 11881 11882 } 11883 11884 func _sqlite3Error(tls *crt.TLS, _db *Xsqlite3, _err_code int32) { // sqlite3.c:27753:1 11885 func() int32 { 11886 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 11887 return i32(0) 11888 } 11889 return func() int32 { 11890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27754), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ErrorØ00__func__Ø000))), unsafe.Pointer(str(1184))) 11891 crt.X__builtin_abort(tls) 11892 return i32(0) 11893 }() 11894 }() 11895 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = _err_code 11896 if _err_code == 0 && (*XMem)(unsafe.Pointer(_db.X56)) == nil { 11897 goto _3 11898 } 11899 11900 _sqlite3ErrorFinish(tls, _db, _err_code) 11901 _3: 11902 return 11903 11904 } 11905 11906 var _sqlite3ErrorØ00__func__Ø000 [13]int8 // - 11907 11908 func init() { 11909 crt.Xstrncpy(nil, &_sqlite3ErrorØ00__func__Ø000[0], str(8408), 13) 11910 } 11911 11912 func _sqlite3ErrorFinish(tls *crt.TLS, _db *Xsqlite3, _err_code int32) { // sqlite3.c:27743:1 11913 if (*XMem)(unsafe.Pointer(_db.X56)) == nil { 11914 goto _0 11915 } 11916 11917 _sqlite3ValueSetNull(tls, (*XMem)(unsafe.Pointer(_db.X56))) 11918 _0: 11919 _sqlite3SystemError(tls, _db, _err_code) 11920 return 11921 11922 } 11923 11924 func _sqlite3ValueSetNull(tls *crt.TLS, _p *XMem) { // sqlite3.c:70276:1 11925 _sqlite3VdbeMemSetNull(tls, _p) 11926 return 11927 11928 } 11929 11930 func _sqlite3SystemError(tls *crt.TLS, _db *Xsqlite3, _rc int32) { // sqlite3.c:27763:1 11931 if _rc != i32(3082) { 11932 goto _0 11933 } 11934 11935 return 11936 11937 _0: 11938 { 11939 p := &_rc 11940 *p = (*p) & i32(255) 11941 sink961 = *p 11942 } 11943 if _rc != i32(14) && _rc != i32(10) { 11944 goto _2 11945 } 11946 11947 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(56 /* X12 */))) = _sqlite3OsGetLastError(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0))) 11948 _2: 11949 return 11950 11951 } 11952 11953 func _sqlite3OsGetLastError(tls *crt.TLS, _pVfs *Xsqlite3_vfs) (r0 int32) { // sqlite3.c:20312:1 11954 r0 = func() int32 { 11955 if (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&struct { 11956 f func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 11957 }{(_pVfs.X17)}))) != nil { 11958 return (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&struct { 11959 f func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 11960 }{(_pVfs.X17)})))(tls, _pVfs, i32(0), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 11961 } 11962 return i32(0) 11963 }() 11964 return 11965 11966 } 11967 11968 var _vdbeUnbindØ00__func__Ø000 [11]int8 // - 11969 11970 func init() { 11971 crt.Xstrncpy(nil, &_vdbeUnbindØ00__func__Ø000[0], str(8424), 11) 11972 } 11973 11974 func _sqlite3ApiExit(tls *crt.TLS, _db *Xsqlite3, _rc int32) (r0 int32) { // sqlite3.c:25013:1 11975 func() int32 { 11976 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 11977 return i32(0) 11978 } 11979 return func() int32 { 11980 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25018), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ApiExitØ00__func__Ø000))), unsafe.Pointer(str(1184))) 11981 crt.X__builtin_abort(tls) 11982 return i32(0) 11983 }() 11984 }() 11985 func() int32 { 11986 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 11987 return i32(0) 11988 } 11989 return func() int32 { 11990 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25019), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ApiExitØ00__func__Ø000))), unsafe.Pointer(str(832))) 11991 crt.X__builtin_abort(tls) 11992 return i32(0) 11993 }() 11994 }() 11995 if (_db.X17) == 0 && _rc != i32(3082) { 11996 goto _5 11997 } 11998 11999 r0 = _apiOomError(tls, _db) 12000 return 12001 12002 _5: 12003 r0 = _rc & (_db.X11) 12004 return 12005 12006 } 12007 12008 var _sqlite3ApiExitØ00__func__Ø000 [15]int8 // - 12009 12010 func init() { 12011 crt.Xstrncpy(nil, &_sqlite3ApiExitØ00__func__Ø000[0], str(8436), 15) 12012 } 12013 12014 func _apiOomError(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:24995:1 12015 _sqlite3OomClear(tls, _db) 12016 _sqlite3Error(tls, _db, i32(7)) 12017 r0 = _sqlite3NomemError(tls, i32(24998)) 12018 return 12019 12020 } 12021 12022 func _sqlite3OomClear(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:24983:1 12023 if (_db.X17) == 0 || (_db.X37) != i32(0) { 12024 goto _1 12025 } 12026 12027 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(65 /* X17 */))) = uint8(i32(0)) 12028 *(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */))))) = i32(0) 12029 func() int32 { 12030 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X0) > uint32(i32(0)) { 12031 return i32(0) 12032 } 12033 return func() int32 { 12034 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24987), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OomClearØ00__func__Ø000))), unsafe.Pointer(str(8452))) 12035 crt.X__builtin_abort(tls) 12036 return i32(0) 12037 }() 12038 }() 12039 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) -= 1 12040 _1: 12041 return 12042 12043 } 12044 12045 var _sqlite3OomClearØ00__func__Ø000 [16]int8 // - 12046 12047 func init() { 12048 crt.Xstrncpy(nil, &_sqlite3OomClearØ00__func__Ø000[0], str(8480), 16) 12049 } 12050 12051 func Xsqlite3_bind_double(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _rValue float64) (r0 int32) { // sqlite3.c:77336:12 12052 var _rc int32 // sqlite3.c:77337:7 12053 _ = _rc 12054 var _p *XVdbe // sqlite3.c:77338:8 12055 _ = _p 12056 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 12057 _rc = _vdbeUnbind(tls, _p, _i) 12058 if _rc != i32(0) { 12059 goto _0 12060 } 12061 12062 _sqlite3VdbeMemSetDouble(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+48*uintptr(_i-i32(1)))), _rValue) 12063 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 12064 _0: 12065 r0 = _rc 12066 return 12067 12068 } 12069 12070 func Xsqlite3_bind_int(tls *crt.TLS, _p unsafe.Pointer, _i int32, _iValue int32) (r0 int32) { // sqlite3.c:77346:12 12071 r0 = Xsqlite3_bind_int64(tls, _p, _i, int64(_iValue)) 12072 return 12073 12074 } 12075 12076 func Xsqlite3_bind_int64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _iValue int64) (r0 int32) { // sqlite3.c:77349:12 12077 var _rc int32 // sqlite3.c:77350:7 12078 _ = _rc 12079 var _p *XVdbe // sqlite3.c:77351:8 12080 _ = _p 12081 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 12082 _rc = _vdbeUnbind(tls, _p, _i) 12083 if _rc != i32(0) { 12084 goto _0 12085 } 12086 12087 _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+48*uintptr(_i-i32(1)))), _iValue) 12088 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 12089 _0: 12090 r0 = _rc 12091 return 12092 12093 } 12094 12095 func _sqlite3VdbeMemSetInt64(tls *crt.TLS, _pMem *XMem, _val int64) { // sqlite3.c:70309:1 12096 if (int32(_pMem.X1) & i32(9312)) == i32(0) { 12097 goto _0 12098 } 12099 12100 _vdbeReleaseAndSetInt64(tls, _pMem, _val) 12101 goto _1 12102 12103 _0: 12104 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _val 12105 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 12106 _1: 12107 return 12108 12109 } 12110 12111 func _vdbeReleaseAndSetInt64(tls *crt.TLS, _pMem *XMem, _val int64) { // sqlite3.c:70299:1 12112 _sqlite3VdbeMemSetNull(tls, _pMem) 12113 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _val 12114 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 12115 return 12116 12117 } 12118 12119 func Xsqlite3_bind_null(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77359:12 12120 var _rc int32 // sqlite3.c:77360:7 12121 _ = _rc 12122 var _p *XVdbe // sqlite3.c:77361:8 12123 _ = _p 12124 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 12125 _rc = _vdbeUnbind(tls, _p, _i) 12126 if _rc != i32(0) { 12127 goto _0 12128 } 12129 12130 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 12131 _0: 12132 r0 = _rc 12133 return 12134 12135 } 12136 12137 func Xsqlite3_bind_parameter_count(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77464:12 12138 var _p *XVdbe // sqlite3.c:77465:8 12139 _ = _p 12140 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 12141 r0 = func() int32 { 12142 if _p != nil { 12143 return int32(_p.X4) 12144 } 12145 return i32(0) 12146 }() 12147 return 12148 12149 } 12150 12151 func Xsqlite3_bind_parameter_index(tls *crt.TLS, _pStmt unsafe.Pointer, _zName *int8) (r0 int32) { // sqlite3.c:77490:12 12152 r0 = _sqlite3VdbeParameterIndex(tls, (*XVdbe)(unsafe.Pointer(_pStmt)), _zName, _sqlite3Strlen30(tls, _zName)) 12153 return 12154 12155 } 12156 12157 func _sqlite3VdbeParameterIndex(tls *crt.TLS, _p *XVdbe, _zName *int8, _nName int32) (r0 int32) { // sqlite3.c:77486:1 12158 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 12159 goto _1 12160 } 12161 12162 r0 = i32(0) 12163 return 12164 12165 _1: 12166 r0 = _sqlite3VListNameToNum(tls, _p.X25, _zName, _nName) 12167 return 12168 12169 } 12170 12171 func _sqlite3VListNameToNum(tls *crt.TLS, _pIn *int32, _zName *int8, _nName int32) (r0 int32) { // sqlite3.c:29169:1 12172 var _i int32 // sqlite3.c:29170:7 12173 _ = _i 12174 var _mx int32 // sqlite3.c:29170:10 12175 _ = _mx 12176 var _1_z *int8 // sqlite3.c:29175:16 12177 _ = _1_z 12178 if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 12179 goto _0 12180 } 12181 12182 r0 = i32(0) 12183 return 12184 12185 _0: 12186 _mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) 12187 _i = i32(2) 12188 _1: 12189 _1_z = (*int8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(2)))))) 12190 if crt.Xstrncmp(tls, _1_z, _zName, uint32(_nName)) != i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_z)) + 1*uintptr(_nName)))) != i32(0) { 12191 goto _3 12192 } 12193 12194 r0 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i))) 12195 return 12196 12197 _3: 12198 { 12199 p := &_i 12200 *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(1))))) 12201 sink961 = *p 12202 } 12203 if _i < _mx { 12204 goto _1 12205 } 12206 12207 r0 = i32(0) 12208 return 12209 12210 } 12211 12212 func Xsqlite3_bind_parameter_name(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *int8) { // sqlite3.c:77475:12 12213 var _p *XVdbe // sqlite3.c:77476:8 12214 _ = _p 12215 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 12216 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 12217 goto _0 12218 } 12219 12220 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 12221 return 12222 12223 _0: 12224 r0 = _sqlite3VListNumToName(tls, _p.X25, _i) 12225 return 12226 12227 } 12228 12229 func _sqlite3VListNumToName(tls *crt.TLS, _pIn *int32, _iVal int32) (r0 *int8) { // sqlite3.c:29153:1 12230 var _i int32 // sqlite3.c:29154:7 12231 _ = _i 12232 var _mx int32 // sqlite3.c:29154:10 12233 _ = _mx 12234 if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 12235 goto _0 12236 } 12237 12238 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 12239 return 12240 12241 _0: 12242 _mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) 12243 _i = i32(2) 12244 _1: 12245 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i)))) != _iVal { 12246 goto _2 12247 } 12248 12249 r0 = (*int8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(2)))))) 12250 return 12251 12252 _2: 12253 { 12254 p := &_i 12255 *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(1))))) 12256 sink961 = *p 12257 } 12258 if _i < _mx { 12259 goto _1 12260 } 12261 12262 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 12263 return 12264 12265 } 12266 12267 func Xsqlite3_bind_text(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _zData *int8, _nData int32, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:77368:12 12268 r0 = _bindText(tls, _pStmt, _i, (unsafe.Pointer)(_zData), _nData, _xDel, uint8(i32(1))) 12269 return 12270 12271 } 12272 12273 func Xsqlite3_bind_text16(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _zData unsafe.Pointer, _nData int32, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:77394:12 12274 r0 = _bindText(tls, _pStmt, _i, _zData, _nData, _xDel, uint8(i32(2))) 12275 return 12276 12277 } 12278 12279 func Xsqlite3_bind_value(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _pValue *XMem) (r0 int32) { // sqlite3.c:77404:12 12280 var _rc int32 // sqlite3.c:77405:7 12281 _ = _rc 12282 switch Xsqlite3_value_type(tls, _pValue) { 12283 case i32(1): 12284 goto _1 12285 case i32(2): 12286 goto _2 12287 case i32(3): 12288 goto _4 12289 case i32(4): 12290 goto _3 12291 default: 12292 goto _5 12293 } 12294 12295 _1: 12296 _rc = Xsqlite3_bind_int64(tls, _pStmt, _i, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pValue)) + uintptr(0 /* X0 */)))))) 12297 goto _6 12298 12299 _2: 12300 _rc = Xsqlite3_bind_double(tls, _pStmt, _i, *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pValue)) + uintptr(0 /* X0 */)))))) 12301 goto _6 12302 12303 _3: 12304 if (int32(_pValue.X1) & i32(16384)) == 0 { 12305 goto _7 12306 } 12307 12308 _rc = Xsqlite3_bind_zeroblob(tls, _pStmt, _i, *(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pValue)) + uintptr(0 /* X0 */)))))) 12309 goto _8 12310 12311 _7: 12312 _rc = Xsqlite3_bind_blob(tls, _pStmt, _i, (unsafe.Pointer)(_pValue.X5), _pValue.X4, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 12313 _8: 12314 goto _6 12315 12316 _4: 12317 _rc = _bindText(tls, _pStmt, _i, (unsafe.Pointer)(_pValue.X5), _pValue.X4, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295})), _pValue.X2) 12318 goto _6 12319 12320 _5: 12321 _rc = Xsqlite3_bind_null(tls, _pStmt, _i) 12322 goto _6 12323 12324 _6: 12325 r0 = _rc 12326 return 12327 12328 } 12329 12330 func Xsqlite3_bind_zeroblob(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _n int32) (r0 int32) { // sqlite3.c:77435:12 12331 var _rc int32 // sqlite3.c:77436:7 12332 _ = _rc 12333 var _p *XVdbe // sqlite3.c:77437:8 12334 _ = _p 12335 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 12336 _rc = _vdbeUnbind(tls, _p, _i) 12337 if _rc != i32(0) { 12338 goto _0 12339 } 12340 12341 _sqlite3VdbeMemSetZeroBlob(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+48*uintptr(_i-i32(1)))), _n) 12342 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 12343 _0: 12344 r0 = _rc 12345 return 12346 12347 } 12348 12349 func _sqlite3VdbeMemSetZeroBlob(tls *crt.TLS, _pMem *XMem, _n int32) { // sqlite3.c:70284:1 12350 _sqlite3VdbeMemRelease(tls, _pMem) 12351 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(16400)) 12352 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = i32(0) 12353 if _n >= i32(0) { 12354 goto _0 12355 } 12356 12357 _n = i32(0) 12358 _0: 12359 *(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _n 12360 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 12361 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 12362 return 12363 12364 } 12365 12366 func Xsqlite3_busy_handler(tls *crt.TLS, _db *Xsqlite3, _xBusy func(*crt.TLS, unsafe.Pointer, int32) int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:141417:12 12367 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 12368 goto _0 12369 } 12370 12371 r0 = _sqlite3MisuseError(tls, i32(141423)) 12372 return 12373 12374 _0: 12375 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 12376 *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(376 /* X71 */))))) + uintptr(0 /* X0 */))) = _xBusy 12377 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(376 /* X71 */))))) + uintptr(4 /* X1 */))) = _pArg 12378 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(376 /* X71 */))))) + uintptr(8 /* X2 */))) = i32(0) 12379 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(424 /* X74 */))) = i32(0) 12380 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 12381 r0 = i32(0) 12382 return 12383 12384 } 12385 12386 func _sqlite3SafetyCheckOk(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:28854:1 12387 var _magic uint32 // sqlite3.c:28855:7 12388 _ = _magic 12389 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 12390 goto _0 12391 } 12392 12393 _logBadConnection(tls, str(200)) 12394 r0 = i32(0) 12395 return 12396 12397 _0: 12398 _magic = _db.X28 12399 if _magic == u32(2687084183) { 12400 goto _1 12401 } 12402 12403 if _sqlite3SafetyCheckSickOrOk(tls, _db) == 0 { 12404 goto _2 12405 } 12406 12407 _logBadConnection(tls, str(8496)) 12408 _2: 12409 r0 = i32(0) 12410 return 12411 12412 _1: 12413 r0 = i32(1) 12414 return 12415 12416 } 12417 12418 func _logBadConnection(tls *crt.TLS, _zType *int8) { // sqlite3.c:28833:1 12419 Xsqlite3_log(tls, i32(21), str(8508), unsafe.Pointer(_zType)) 12420 return 12421 12422 } 12423 12424 func _sqlite3SafetyCheckSickOrOk(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:28871:1 12425 var _magic uint32 // sqlite3.c:28872:7 12426 _ = _magic 12427 _magic = _db.X28 12428 if _magic == uint32(i32(1266094736)) || _magic == u32(2687084183) || _magic == u32(4030429446) { 12429 goto _2 12430 } 12431 12432 _logBadConnection(tls, str(8556)) 12433 r0 = i32(0) 12434 return 12435 12436 _2: 12437 r0 = i32(1) 12438 return 12439 12440 } 12441 12442 func Xsqlite3_busy_timeout(tls *crt.TLS, _db *Xsqlite3, _ms int32) (r0 int32) { // sqlite3.c:141471:12 12443 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 12444 goto _0 12445 } 12446 12447 r0 = _sqlite3MisuseError(tls, i32(141473)) 12448 return 12449 12450 _0: 12451 if _ms <= i32(0) { 12452 goto _1 12453 } 12454 12455 Xsqlite3_busy_handler(tls, _db, _sqliteDefaultBusyCallback, (unsafe.Pointer)(_db)) 12456 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(424 /* X74 */))) = _ms 12457 goto _2 12458 12459 _1: 12460 Xsqlite3_busy_handler(tls, _db, nil, (unsafe.Pointer)(uintptr(i32(0)))) 12461 _2: 12462 r0 = i32(0) 12463 return 12464 12465 } 12466 12467 func _sqliteDefaultBusyCallback(tls *crt.TLS, _ptr unsafe.Pointer, _count int32) (r0 int32) { // sqlite3.c:141355:1 12468 var _db *Xsqlite3 // sqlite3.c:141365:11 12469 _ = _db 12470 var _timeout int32 // sqlite3.c:141366:7 12471 _ = _timeout 12472 var _delay int32 // sqlite3.c:141367:7 12473 _ = _delay 12474 var _prior int32 // sqlite3.c:141367:14 12475 _ = _prior 12476 _db = (*Xsqlite3)(unsafe.Pointer(_ptr)) 12477 _timeout = _db.X74 12478 func() int32 { 12479 if _count >= i32(0) { 12480 return i32(0) 12481 } 12482 return func() int32 { 12483 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqliteDefaultBusyCallbackØ00__func__Ø000))), unsafe.Pointer(str(8564))) 12484 crt.X__builtin_abort(tls) 12485 return i32(0) 12486 }() 12487 }() 12488 if _count >= i32(12) { 12489 goto _2 12490 } 12491 12492 _delay = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00delaysØ001)) + 1*uintptr(_count)))) 12493 _prior = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00totalsØ002)) + 1*uintptr(_count)))) 12494 goto _3 12495 12496 _2: 12497 _delay = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00delaysØ001)) + 1*uintptr(i32(11))))) 12498 _prior = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqliteDefaultBusyCallbackØ00totalsØ002)) + 1*uintptr(i32(11))))) + (_delay * (_count - i32(11))) 12499 _3: 12500 if (_prior + _delay) <= _timeout { 12501 goto _4 12502 } 12503 12504 _delay = _timeout - _prior 12505 if _delay > i32(0) { 12506 goto _5 12507 } 12508 12509 r0 = i32(0) 12510 return 12511 12512 _5: 12513 _4: 12514 _sqlite3OsSleep(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), _delay*i32(1000)) 12515 r0 = i32(1) 12516 return 12517 12518 } 12519 12520 var _sqliteDefaultBusyCallbackØ00__func__Ø000 [26]int8 // - 12521 12522 func init() { 12523 crt.Xstrncpy(nil, &_sqliteDefaultBusyCallbackØ00__func__Ø000[0], str(8576), 26) 12524 } 12525 12526 var _sqliteDefaultBusyCallbackØ00delaysØ001 [12]uint8 // sqlite3.c:141360:19 12527 12528 func init() { 12529 _sqliteDefaultBusyCallbackØ00delaysØ001 = [12]uint8{1, 2, 5, 10, 15, 20, 25, 25, 25, 50, 50, 100} 12530 } 12531 12532 var _sqliteDefaultBusyCallbackØ00totalsØ002 [12]uint8 // sqlite3.c:141362:19 12533 12534 func init() { 12535 _sqliteDefaultBusyCallbackØ00totalsØ002 = [12]uint8{0, 1, 3, 8, 18, 33, 53, 78, 103, 128, 178, 228} 12536 } 12537 12538 func _sqlite3OsSleep(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nMicro int32) (r0 int32) { // sqlite3.c:20309:1 12539 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&struct { 12540 f func(*crt.TLS, unsafe.Pointer, int32) int32 12541 }{(_pVfs.X15)})))(tls, _pVfs, _nMicro) 12542 return 12543 12544 } 12545 12546 func Xsqlite3_changes(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140845:12 12547 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 12548 goto _0 12549 } 12550 12551 _sqlite3MisuseError(tls, i32(140848)) 12552 r0 = i32(0) 12553 return 12554 12555 _0: 12556 r0 = _db.X29 12557 return 12558 12559 } 12560 12561 func Xsqlite3_close(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:141009:12 12562 r0 = _sqlite3Close(tls, _db, i32(0)) 12563 return 12564 12565 } 12566 12567 func _sqlite3Close(tls *crt.TLS, _db *Xsqlite3, _forceZombie int32) (r0 int32) { // sqlite3.c:140950:1 12568 if _db != nil { 12569 goto _0 12570 } 12571 12572 r0 = i32(0) 12573 return 12574 12575 _0: 12576 if _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { 12577 goto _1 12578 } 12579 12580 r0 = _sqlite3MisuseError(tls, i32(140957)) 12581 return 12582 12583 _1: 12584 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 12585 if (int32(_db.X24) & i32(8)) == 0 { 12586 goto _2 12587 } 12588 12589 (_db.X41)(tls, uint32(i32(8)), _db.X42, (unsafe.Pointer)(_db), (unsafe.Pointer)(uintptr(i32(0)))) 12590 _2: 12591 _disconnectAllVtab(tls, _db) 12592 _sqlite3VtabRollback(tls, _db) 12593 if _forceZombie != 0 || _connectionIsBusy(tls, _db) == 0 { 12594 goto _4 12595 } 12596 12597 _sqlite3ErrorWithMsg(tls, _db, i32(5), str(8604)) 12598 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 12599 r0 = i32(5) 12600 return 12601 12602 _4: 12603 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(80 /* X28 */))) = uint32(i32(1691352191)) 12604 _sqlite3LeaveMutexAndCloseZombie(tls, _db) 12605 r0 = i32(0) 12606 return 12607 12608 } 12609 12610 func _disconnectAllVtab(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:140905:1 12611 var _i int32 // sqlite3.c:140907:7 12612 _ = _i 12613 var _p *XHashElem // sqlite3.c:140908:12 12614 _ = _p 12615 var _1_pSchema *XSchema // sqlite3.c:140911:12 12616 _ = _1_pSchema 12617 var _3_pTab *XTable // sqlite3.c:140914:15 12618 _ = _3_pTab 12619 var _4_pMod *XModule // sqlite3.c:140920:12 12620 _ = _4_pMod 12621 _sqlite3BtreeEnterAll(tls, _db) 12622 _i = i32(0) 12623 _0: 12624 if _i >= (_db.X5) { 12625 goto _3 12626 } 12627 12628 _1_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X4)) 12629 if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X4)) == nil { 12630 goto _4 12631 } 12632 12633 _p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSchema)) + uintptr(8 /* X2 */))).X2)) 12634 _5: 12635 if _p == nil { 12636 goto _8 12637 } 12638 12639 _3_pTab = (*XTable)(unsafe.Pointer(_p.X2)) 12640 if (_3_pTab.X16) == 0 { 12641 goto _9 12642 } 12643 12644 _sqlite3VtabDisconnect(tls, _db, _3_pTab) 12645 _9: 12646 _p = (*XHashElem)(unsafe.Pointer(_p.X0)) 12647 goto _5 12648 12649 _8: 12650 _4: 12651 _i += 1 12652 goto _0 12653 12654 _3: 12655 _p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(316 /* X65 */))).X2)) 12656 _10: 12657 if _p == nil { 12658 goto _13 12659 } 12660 12661 _4_pMod = (*XModule)(unsafe.Pointer(_p.X2)) 12662 if (*XTable)(unsafe.Pointer(_4_pMod.X4)) == nil { 12663 goto _14 12664 } 12665 12666 _sqlite3VtabDisconnect(tls, _db, (*XTable)(unsafe.Pointer(_4_pMod.X4))) 12667 _14: 12668 _p = (*XHashElem)(unsafe.Pointer(_p.X0)) 12669 goto _10 12670 12671 _13: 12672 _sqlite3VtabUnlockList(tls, _db) 12673 _sqlite3BtreeLeaveAll(tls, _db) 12674 return 12675 12676 } 12677 12678 func _sqlite3BtreeEnterAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58847:1 12679 if int32(_db.X25) != i32(0) { 12680 goto _0 12681 } 12682 12683 _btreeEnterAll(tls, _db) 12684 _0: 12685 return 12686 12687 } 12688 12689 func _btreeEnterAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58833:1 12690 var _i int32 // sqlite3.c:58834:7 12691 _ = _i 12692 var _skipOk int32 // sqlite3.c:58835:7 12693 _ = _skipOk 12694 var _p *XBtree // sqlite3.c:58836:9 12695 _ = _p 12696 _skipOk = i32(1) 12697 func() int32 { 12698 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 12699 return i32(0) 12700 } 12701 return func() int32 { 12702 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58837), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeEnterAllØ00__func__Ø000))), unsafe.Pointer(str(832))) 12703 crt.X__builtin_abort(tls) 12704 return i32(0) 12705 }() 12706 }() 12707 _i = i32(0) 12708 _2: 12709 if _i >= (_db.X5) { 12710 goto _5 12711 } 12712 12713 _p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 12714 if _p == nil || (_p.X3) == 0 { 12715 goto _7 12716 } 12717 12718 _sqlite3BtreeEnter(tls, _p) 12719 _skipOk = i32(0) 12720 _7: 12721 _i += 1 12722 goto _2 12723 12724 _5: 12725 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(73 /* X25 */))) = uint8(_skipOk) 12726 return 12727 12728 } 12729 12730 var _btreeEnterAllØ00__func__Ø000 [14]int8 // - 12731 12732 func init() { 12733 crt.Xstrncpy(nil, &_btreeEnterAllØ00__func__Ø000[0], str(8672), 14) 12734 } 12735 12736 func _sqlite3BtreeEnter(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58718:1 12737 func() int32 { 12738 if ((*XBtree)(unsafe.Pointer(_p.X9)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X9)).X1)))) > uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1))))) { 12739 return i32(0) 12740 } 12741 return func() int32 { 12742 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58723), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8688))) 12743 crt.X__builtin_abort(tls) 12744 return i32(0) 12745 }() 12746 }() 12747 func() int32 { 12748 if ((*XBtree)(unsafe.Pointer(_p.X10)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X10)).X1)))) < uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1))))) { 12749 return i32(0) 12750 } 12751 return func() int32 { 12752 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8724))) 12753 crt.X__builtin_abort(tls) 12754 return i32(0) 12755 }() 12756 }() 12757 func() int32 { 12758 if ((*XBtree)(unsafe.Pointer(_p.X9)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || ((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X9)).X0)) == (*Xsqlite3)(unsafe.Pointer(_p.X0))) { 12759 return i32(0) 12760 } 12761 return func() int32 { 12762 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58725), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8760))) 12763 crt.X__builtin_abort(tls) 12764 return i32(0) 12765 }() 12766 }() 12767 func() int32 { 12768 if ((*XBtree)(unsafe.Pointer(_p.X10)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || ((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X10)).X0)) == (*Xsqlite3)(unsafe.Pointer(_p.X0))) { 12769 return i32(0) 12770 } 12771 return func() int32 { 12772 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58726), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8796))) 12773 crt.X__builtin_abort(tls) 12774 return i32(0) 12775 }() 12776 }() 12777 func() int32 { 12778 if ((_p.X3) != 0) || (((*XBtree)(unsafe.Pointer(_p.X9)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) && ((*XBtree)(unsafe.Pointer(_p.X10)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0)))))) { 12779 return i32(0) 12780 } 12781 return func() int32 { 12782 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58727), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8832))) 12783 crt.X__builtin_abort(tls) 12784 return i32(0) 12785 }() 12786 }() 12787 func() int32 { 12788 if ((_p.X4) == 0) || ((_p.X6) > i32(0)) { 12789 return i32(0) 12790 } 12791 return func() int32 { 12792 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58730), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8876))) 12793 crt.X__builtin_abort(tls) 12794 return i32(0) 12795 }() 12796 }() 12797 func() int32 { 12798 if ((_p.X3) != 0) || ((_p.X6) == i32(0)) { 12799 return i32(0) 12800 } 12801 return func() int32 { 12802 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58731), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8908))) 12803 crt.X__builtin_abort(tls) 12804 return i32(0) 12805 }() 12806 }() 12807 func() int32 { 12808 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 12809 return i32(0) 12810 } 12811 return func() int32 { 12812 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58734), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8940))) 12813 crt.X__builtin_abort(tls) 12814 return i32(0) 12815 }() 12816 }() 12817 func() int32 { 12818 if ((int32(_p.X4) == i32(0)) && ((_p.X3) != 0)) || ((*Xsqlite3)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X1)) == (*Xsqlite3)(unsafe.Pointer(_p.X0))) { 12819 return i32(0) 12820 } 12821 return func() int32 { 12822 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58738), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeEnterØ00__func__Ø000))), unsafe.Pointer(str(8976))) 12823 crt.X__builtin_abort(tls) 12824 return i32(0) 12825 }() 12826 }() 12827 if (_p.X3) != 0 { 12828 goto _28 12829 } 12830 12831 return 12832 12833 _28: 12834 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X6 */))) += 1 12835 if (_p.X4) == 0 { 12836 goto _29 12837 } 12838 12839 return 12840 12841 _29: 12842 _btreeLockCarefully(tls, _p) 12843 return 12844 12845 } 12846 12847 var _sqlite3BtreeEnterØ00__func__Ø000 [18]int8 // - 12848 12849 func init() { 12850 crt.Xstrncpy(nil, &_sqlite3BtreeEnterØ00__func__Ø000[0], str(9028), 18) 12851 } 12852 12853 func _btreeLockCarefully(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58752:1 12854 var _pLater *XBtree // sqlite3.c:58753:9 12855 _ = _pLater 12856 if Xsqlite3_mutex_try(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != i32(0) { 12857 goto _0 12858 } 12859 12860 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X1) + uintptr(4 /* X1 */))))) = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 12861 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X4 */))) = uint8(i32(1)) 12862 return 12863 12864 _0: 12865 _pLater = (*XBtree)(unsafe.Pointer(_p.X9)) 12866 _1: 12867 if _pLater == nil { 12868 goto _4 12869 } 12870 12871 func() int32 { 12872 if (_pLater.X3) != 0 { 12873 return i32(0) 12874 } 12875 return func() int32 { 12876 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58771), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeLockCarefullyØ00__func__Ø000))), unsafe.Pointer(str(9048))) 12877 crt.X__builtin_abort(tls) 12878 return i32(0) 12879 }() 12880 }() 12881 func() int32 { 12882 if ((*XBtree)(unsafe.Pointer(_pLater.X9)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pLater.X9)).X1)))) > uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pLater.X1))))) { 12883 return i32(0) 12884 } 12885 return func() int32 { 12886 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58772), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeLockCarefullyØ00__func__Ø000))), unsafe.Pointer(str(9068))) 12887 crt.X__builtin_abort(tls) 12888 return i32(0) 12889 }() 12890 }() 12891 func() int32 { 12892 if ((_pLater.X4) == 0) || ((_pLater.X6) > i32(0)) { 12893 return i32(0) 12894 } 12895 return func() int32 { 12896 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58773), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeLockCarefullyØ00__func__Ø000))), unsafe.Pointer(str(9120))) 12897 crt.X__builtin_abort(tls) 12898 return i32(0) 12899 }() 12900 }() 12901 if (_pLater.X4) == 0 { 12902 goto _13 12903 } 12904 12905 _unlockBtreeMutex(tls, _pLater) 12906 _13: 12907 _pLater = (*XBtree)(unsafe.Pointer(_pLater.X9)) 12908 goto _1 12909 12910 _4: 12911 _lockBtreeMutex(tls, _p) 12912 _pLater = (*XBtree)(unsafe.Pointer(_p.X9)) 12913 _14: 12914 if _pLater == nil { 12915 goto _17 12916 } 12917 12918 if (_pLater.X6) == 0 { 12919 goto _18 12920 } 12921 12922 _lockBtreeMutex(tls, _pLater) 12923 _18: 12924 _pLater = (*XBtree)(unsafe.Pointer(_pLater.X9)) 12925 goto _14 12926 12927 _17: 12928 return 12929 12930 } 12931 12932 func Xsqlite3_mutex_try(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22847:12 12933 var _rc int32 // sqlite3.c:22848:7 12934 _ = _rc 12935 _rc = i32(0) 12936 if _p == nil { 12937 goto _0 12938 } 12939 12940 func() int32 { 12941 if (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 12942 f func(*crt.TLS, unsafe.Pointer) int32 12943 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X5)}))) != nil { 12944 return i32(0) 12945 } 12946 return func() int32 { 12947 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22850), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_tryØ00__func__Ø000))), unsafe.Pointer(str(9160))) 12948 crt.X__builtin_abort(tls) 12949 return i32(0) 12950 }() 12951 }() 12952 r0 = (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 12953 f func(*crt.TLS, unsafe.Pointer) int32 12954 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X5)})))(tls, _p) 12955 return 12956 12957 _0: 12958 r0 = _rc 12959 return 12960 12961 } 12962 12963 var _sqlite3_mutex_tryØ00__func__Ø000 [18]int8 // - 12964 12965 func init() { 12966 crt.Xstrncpy(nil, &_sqlite3_mutex_tryØ00__func__Ø000[0], str(9196), 18) 12967 } 12968 12969 var _btreeLockCarefullyØ00__func__Ø000 [19]int8 // - 12970 12971 func init() { 12972 crt.Xstrncpy(nil, &_btreeLockCarefullyØ00__func__Ø000[0], str(9216), 19) 12973 } 12974 12975 func _unlockBtreeMutex(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58688:1 12976 var _pBt *XBtShared // sqlite3.c:58689:12 12977 _ = _pBt 12978 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 12979 func() int32 { 12980 if int32(_p.X4) == i32(1) { 12981 return i32(0) 12982 } 12983 return func() int32 { 12984 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58690), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(9236))) 12985 crt.X__builtin_abort(tls) 12986 return i32(0) 12987 }() 12988 }() 12989 func() int32 { 12990 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 12991 return i32(0) 12992 } 12993 return func() int32 { 12994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58691), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(9252))) 12995 crt.X__builtin_abort(tls) 12996 return i32(0) 12997 }() 12998 }() 12999 func() int32 { 13000 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 13001 return i32(0) 13002 } 13003 return func() int32 { 13004 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58692), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(8940))) 13005 crt.X__builtin_abort(tls) 13006 return i32(0) 13007 }() 13008 }() 13009 func() int32 { 13010 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == (*Xsqlite3)(unsafe.Pointer(_pBt.X1)) { 13011 return i32(0) 13012 } 13013 return func() int32 { 13014 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58693), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(9284))) 13015 crt.X__builtin_abort(tls) 13016 return i32(0) 13017 }() 13018 }() 13019 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) 13020 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X4 */))) = uint8(i32(0)) 13021 return 13022 13023 } 13024 13025 var _unlockBtreeMutexØ00__func__Ø000 [17]int8 // - 13026 13027 func init() { 13028 crt.Xstrncpy(nil, &_unlockBtreeMutexØ00__func__Ø000[0], str(9300), 17) 13029 } 13030 13031 func _lockBtreeMutex(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58674:1 13032 func() int32 { 13033 if int32(_p.X4) == i32(0) { 13034 return i32(0) 13035 } 13036 return func() int32 { 13037 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58675), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(9320))) 13038 crt.X__builtin_abort(tls) 13039 return i32(0) 13040 }() 13041 }() 13042 func() int32 { 13043 if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != 0 { 13044 return i32(0) 13045 } 13046 return func() int32 { 13047 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58676), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(9336))) 13048 crt.X__builtin_abort(tls) 13049 return i32(0) 13050 }() 13051 }() 13052 func() int32 { 13053 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 13054 return i32(0) 13055 } 13056 return func() int32 { 13057 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58677), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeMutexØ00__func__Ø000))), unsafe.Pointer(str(8940))) 13058 crt.X__builtin_abort(tls) 13059 return i32(0) 13060 }() 13061 }() 13062 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) 13063 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X1) + uintptr(4 /* X1 */))))) = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 13064 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X4 */))) = uint8(i32(1)) 13065 return 13066 13067 } 13068 13069 var _lockBtreeMutexØ00__func__Ø000 [15]int8 // - 13070 13071 func init() { 13072 crt.Xstrncpy(nil, &_lockBtreeMutexØ00__func__Ø000[0], str(9376), 15) 13073 } 13074 13075 func Xsqlite3_mutex_notheld(tls *crt.TLS, _p *Xsqlite3_mutex) (r0 int32) { // sqlite3.c:22878:12 13076 func() int32 { 13077 if (_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || ((*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 13078 f func(*crt.TLS, unsafe.Pointer) int32 13079 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X8)}))) != nil) { 13080 return i32(0) 13081 } 13082 return func() int32 { 13083 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22879), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_notheldØ00__func__Ø000))), unsafe.Pointer(str(9392))) 13084 crt.X__builtin_abort(tls) 13085 return i32(0) 13086 }() 13087 }() 13088 r0 = bool2int((_p == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || (*(*func(*crt.TLS, *Xsqlite3_mutex) int32)(unsafe.Pointer(&struct { 13089 f func(*crt.TLS, unsafe.Pointer) int32 13090 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X8)})))(tls, _p) != 0) 13091 return 13092 13093 } 13094 13095 var _sqlite3_mutex_notheldØ00__func__Ø000 [22]int8 // - 13096 13097 func init() { 13098 crt.Xstrncpy(nil, &_sqlite3_mutex_notheldØ00__func__Ø000[0], str(9440), 22) 13099 } 13100 13101 func _sqlite3VtabDisconnect(tls *crt.TLS, _db *Xsqlite3, _p *XTable) { // sqlite3.c:124742:1 13102 var _ppVTab **XVTable // sqlite3.c:124743:10 13103 _ = _ppVTab 13104 var _2_pVTab *XVTable // sqlite3.c:124751:14 13105 _ = _2_pVTab 13106 func() int32 { 13107 if (_p.X16) != 0 { 13108 return i32(0) 13109 } 13110 return func() int32 { 13111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124745), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabDisconnectØ00__func__Ø000))), unsafe.Pointer(str(9464))) 13112 crt.X__builtin_abort(tls) 13113 return i32(0) 13114 }() 13115 }() 13116 func() int32 { 13117 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 13118 return i32(0) 13119 } 13120 return func() int32 { 13121 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124746), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabDisconnectØ00__func__Ø000))), unsafe.Pointer(str(9480))) 13122 crt.X__builtin_abort(tls) 13123 return i32(0) 13124 }() 13125 }() 13126 func() int32 { 13127 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 13128 return i32(0) 13129 } 13130 return func() int32 { 13131 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124747), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabDisconnectØ00__func__Ø000))), unsafe.Pointer(str(832))) 13132 crt.X__builtin_abort(tls) 13133 return i32(0) 13134 }() 13135 }() 13136 _ppVTab = (**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X18 */))))) 13137 _6: 13138 if (*_ppVTab) == nil { 13139 goto _9 13140 } 13141 13142 if (*Xsqlite3)(unsafe.Pointer((*_ppVTab).X0)) != _db { 13143 goto _10 13144 } 13145 13146 _2_pVTab = *_ppVTab 13147 *_ppVTab = (*XVTable)(unsafe.Pointer(_2_pVTab.X6)) 13148 _sqlite3VtabUnlock(tls, _2_pVTab) 13149 goto _9 13150 13151 _10: 13152 _ppVTab = (**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_ppVTab)) + uintptr(24 /* X6 */))))) 13153 goto _6 13154 13155 _9: 13156 return 13157 13158 } 13159 13160 var _sqlite3VtabDisconnectØ00__func__Ø000 [22]int8 // - 13161 13162 func init() { 13163 crt.Xstrncpy(nil, &_sqlite3VtabDisconnectØ00__func__Ø000[0], str(9512), 22) 13164 } 13165 13166 func _sqlite3BtreeHoldsAllMutexes(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:58870:1 13167 var _i int32 // sqlite3.c:58871:7 13168 _ = _i 13169 var _2_p *XBtree // sqlite3.c:58876:11 13170 _ = _2_p 13171 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 13172 goto _0 13173 } 13174 13175 r0 = i32(0) 13176 return 13177 13178 _0: 13179 _i = i32(0) 13180 _1: 13181 if _i >= (_db.X5) { 13182 goto _4 13183 } 13184 13185 _2_p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 13186 if _2_p == nil || (_2_p.X3) == 0 || (_2_p.X6) != i32(0) && Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_2_p.X1)).X21))) != 0 { 13187 goto _8 13188 } 13189 13190 r0 = i32(0) 13191 return 13192 13193 _8: 13194 _i += 1 13195 goto _1 13196 13197 _4: 13198 r0 = i32(1) 13199 return 13200 13201 } 13202 13203 func _sqlite3VtabUnlock(tls *crt.TLS, _pVTab *XVTable) { // sqlite3.c:124678:1 13204 var _db *Xsqlite3 // sqlite3.c:124679:11 13205 _ = _db 13206 var _1_p *Xsqlite3_vtab // sqlite3.c:124687:18 13207 _ = _1_p 13208 _db = (*Xsqlite3)(unsafe.Pointer(_pVTab.X0)) 13209 func() int32 { 13210 if _db != nil { 13211 return i32(0) 13212 } 13213 return func() int32 { 13214 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124681), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabUnlockØ00__func__Ø000))), unsafe.Pointer(str(9536))) 13215 crt.X__builtin_abort(tls) 13216 return i32(0) 13217 }() 13218 }() 13219 func() int32 { 13220 if (_pVTab.X3) > i32(0) { 13221 return i32(0) 13222 } 13223 return func() int32 { 13224 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124682), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabUnlockØ00__func__Ø000))), unsafe.Pointer(str(9540))) 13225 crt.X__builtin_abort(tls) 13226 return i32(0) 13227 }() 13228 }() 13229 func() int32 { 13230 if ((_db.X28) == u32(2687084183)) || ((_db.X28) == uint32(i32(1691352191))) { 13231 return i32(0) 13232 } 13233 return func() int32 { 13234 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124683), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabUnlockØ00__func__Ø000))), unsafe.Pointer(str(9556))) 13235 crt.X__builtin_abort(tls) 13236 return i32(0) 13237 }() 13238 }() 13239 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTab)) + uintptr(12 /* X3 */))) -= 1 13240 if (_pVTab.X3) != i32(0) { 13241 goto _7 13242 } 13243 13244 _1_p = (*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)) 13245 if _1_p == nil { 13246 goto _8 13247 } 13248 13249 (*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { 13250 f func(*crt.TLS, unsafe.Pointer) int32 13251 }{((*Xsqlite3_module)(unsafe.Pointer(_1_p.X0)).X4)})))(tls, _1_p) 13252 _8: 13253 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pVTab)) 13254 _7: 13255 return 13256 13257 } 13258 13259 var _sqlite3VtabUnlockØ00__func__Ø000 [18]int8 // - 13260 13261 func init() { 13262 crt.Xstrncpy(nil, &_sqlite3VtabUnlockØ00__func__Ø000[0], str(9620), 18) 13263 } 13264 13265 func _sqlite3VtabUnlockList(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:124780:1 13266 var _p *XVTable // sqlite3.c:124781:10 13267 _ = _p 13268 var _2_pNext *XVTable // sqlite3.c:124790:14 13269 _ = _2_pNext 13270 _p = (*XVTable)(unsafe.Pointer(_db.X68)) 13271 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(340 /* X68 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) 13272 func() int32 { 13273 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 13274 return i32(0) 13275 } 13276 return func() int32 { 13277 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124784), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabUnlockListØ00__func__Ø000))), unsafe.Pointer(str(9480))) 13278 crt.X__builtin_abort(tls) 13279 return i32(0) 13280 }() 13281 }() 13282 func() int32 { 13283 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 13284 return i32(0) 13285 } 13286 return func() int32 { 13287 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124785), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabUnlockListØ00__func__Ø000))), unsafe.Pointer(str(832))) 13288 crt.X__builtin_abort(tls) 13289 return i32(0) 13290 }() 13291 }() 13292 if _p == nil { 13293 goto _4 13294 } 13295 13296 _sqlite3ExpirePreparedStatements(tls, _db) 13297 _5: 13298 _2_pNext = (*XVTable)(unsafe.Pointer(_p.X6)) 13299 _sqlite3VtabUnlock(tls, _p) 13300 _p = _2_pNext 13301 if _p != nil { 13302 goto _5 13303 } 13304 13305 _4: 13306 return 13307 13308 } 13309 13310 var _sqlite3VtabUnlockListØ00__func__Ø000 [22]int8 // - 13311 13312 func init() { 13313 crt.Xstrncpy(nil, &_sqlite3VtabUnlockListØ00__func__Ø000[0], str(9640), 22) 13314 } 13315 13316 func _sqlite3ExpirePreparedStatements(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:75845:1 13317 var _p *XVdbe // sqlite3.c:75846:8 13318 _ = _p 13319 _p = (*XVdbe)(unsafe.Pointer(_db.X1)) 13320 _0: 13321 if _p == nil { 13322 goto _3 13323 } 13324 13325 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 13326 _p = (*XVdbe)(unsafe.Pointer(_p.X2)) 13327 goto _0 13328 13329 _3: 13330 return 13331 13332 } 13333 13334 func _sqlite3BtreeLeaveAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58859:1 13335 if int32(_db.X25) != i32(0) { 13336 goto _0 13337 } 13338 13339 _btreeLeaveAll(tls, _db) 13340 _0: 13341 return 13342 13343 } 13344 13345 func _btreeLeaveAll(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:58850:1 13346 var _i int32 // sqlite3.c:58851:7 13347 _ = _i 13348 var _p *XBtree // sqlite3.c:58852:9 13349 _ = _p 13350 func() int32 { 13351 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 13352 return i32(0) 13353 } 13354 return func() int32 { 13355 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58853), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeLeaveAllØ00__func__Ø000))), unsafe.Pointer(str(832))) 13356 crt.X__builtin_abort(tls) 13357 return i32(0) 13358 }() 13359 }() 13360 _i = i32(0) 13361 _2: 13362 if _i >= (_db.X5) { 13363 goto _5 13364 } 13365 13366 _p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 13367 if _p == nil { 13368 goto _6 13369 } 13370 13371 _sqlite3BtreeLeave(tls, _p) 13372 _6: 13373 _i += 1 13374 goto _2 13375 13376 _5: 13377 return 13378 13379 } 13380 13381 var _btreeLeaveAllØ00__func__Ø000 [14]int8 // - 13382 13383 func init() { 13384 crt.Xstrncpy(nil, &_btreeLeaveAllØ00__func__Ø000[0], str(9664), 14) 13385 } 13386 13387 func _sqlite3BtreeLeave(tls *crt.TLS, _p *XBtree) { // sqlite3.c:58790:1 13388 func() int32 { 13389 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 13390 return i32(0) 13391 } 13392 return func() int32 { 13393 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58791), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLeaveØ00__func__Ø000))), unsafe.Pointer(str(8940))) 13394 crt.X__builtin_abort(tls) 13395 return i32(0) 13396 }() 13397 }() 13398 if (_p.X3) == 0 { 13399 goto _2 13400 } 13401 13402 func() int32 { 13403 if (_p.X6) > i32(0) { 13404 return i32(0) 13405 } 13406 return func() int32 { 13407 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58793), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLeaveØ00__func__Ø000))), unsafe.Pointer(str(9680))) 13408 crt.X__builtin_abort(tls) 13409 return i32(0) 13410 }() 13411 }() 13412 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X6 */))) -= 1 13413 if (_p.X6) != i32(0) { 13414 goto _5 13415 } 13416 13417 _unlockBtreeMutex(tls, _p) 13418 _5: 13419 _2: 13420 return 13421 13422 } 13423 13424 var _sqlite3BtreeLeaveØ00__func__Ø000 [18]int8 // - 13425 13426 func init() { 13427 crt.Xstrncpy(nil, &_sqlite3BtreeLeaveØ00__func__Ø000[0], str(9696), 18) 13428 } 13429 13430 func _sqlite3VtabRollback(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125432:1 13431 _callFinaliser(tls, _db, int32(u32(68))) 13432 r0 = i32(0) 13433 return 13434 13435 } 13436 13437 func _callFinaliser(tls *crt.TLS, _db *Xsqlite3, _offset int32) { // sqlite3.c:125382:1 13438 var _i int32 // sqlite3.c:125383:7 13439 _ = _i 13440 var _1_aVTrans **XVTable // sqlite3.c:125385:12 13441 _ = _1_aVTrans 13442 var _2_pVTab *XVTable // sqlite3.c:125388:14 13443 _ = _2_pVTab 13444 var _2_p *Xsqlite3_vtab // sqlite3.c:125389:20 13445 _ = _2_p 13446 var _3_x func(*crt.TLS, *Xsqlite3_vtab) int32 // sqlite3.c:125391:13 13447 _ = _3_x 13448 if (**XVTable)(unsafe.Pointer(_db.X67)) == nil { 13449 goto _0 13450 } 13451 13452 _1_aVTrans = (**XVTable)(unsafe.Pointer(_db.X67)) 13453 *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X67 */))))) = (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) 13454 _i = i32(0) 13455 _1: 13456 if _i >= (_db.X64) { 13457 goto _4 13458 } 13459 13460 _2_pVTab = *(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aVTrans)) + 4*uintptr(_i))) 13461 _2_p = (*Xsqlite3_vtab)(unsafe.Pointer(_2_pVTab.X2)) 13462 if _2_p == nil { 13463 goto _5 13464 } 13465 13466 _3_x = *(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*Xsqlite3_module)(unsafe.Pointer(_2_p.X0)))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_offset))))))))) 13467 if _3_x == nil { 13468 goto _6 13469 } 13470 13471 _3_x(tls, _2_p) 13472 _6: 13473 _5: 13474 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pVTab)) + uintptr(20 /* X5 */))) = i32(0) 13475 _sqlite3VtabUnlock(tls, _2_pVTab) 13476 _i += 1 13477 goto _1 13478 13479 _4: 13480 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_aVTrans)) 13481 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(312 /* X64 */))) = i32(0) 13482 _0: 13483 return 13484 13485 } 13486 13487 func _connectionIsBusy(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140936:1 13488 var _j int32 // sqlite3.c:140937:7 13489 _ = _j 13490 var _1_pBt *XBtree // sqlite3.c:140941:11 13491 _ = _1_pBt 13492 func() int32 { 13493 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 13494 return i32(0) 13495 } 13496 return func() int32 { 13497 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(140938), unsafe.Pointer((*int8)(unsafe.Pointer(&_connectionIsBusyØ00__func__Ø000))), unsafe.Pointer(str(832))) 13498 crt.X__builtin_abort(tls) 13499 return i32(0) 13500 }() 13501 }() 13502 if (*XVdbe)(unsafe.Pointer(_db.X1)) == nil { 13503 goto _2 13504 } 13505 13506 r0 = i32(1) 13507 return 13508 13509 _2: 13510 _j = i32(0) 13511 _3: 13512 if _j >= (_db.X5) { 13513 goto _6 13514 } 13515 13516 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_j))).X1)) 13517 if _1_pBt == nil || _sqlite3BtreeIsInBackup(tls, _1_pBt) == 0 { 13518 goto _8 13519 } 13520 13521 r0 = i32(1) 13522 return 13523 13524 _8: 13525 _j += 1 13526 goto _3 13527 13528 _6: 13529 r0 = i32(0) 13530 return 13531 13532 } 13533 13534 var _connectionIsBusyØ00__func__Ø000 [17]int8 // - 13535 13536 func init() { 13537 crt.Xstrncpy(nil, &_connectionIsBusyØ00__func__Ø000[0], str(9716), 17) 13538 } 13539 13540 func _sqlite3BtreeIsInBackup(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68596:1 13541 func() int32 { 13542 if _p != nil { 13543 return i32(0) 13544 } 13545 return func() int32 { 13546 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68597), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIsInBackupØ00__func__Ø000))), unsafe.Pointer(str(3064))) 13547 crt.X__builtin_abort(tls) 13548 return i32(0) 13549 }() 13550 }() 13551 func() int32 { 13552 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 13553 return i32(0) 13554 } 13555 return func() int32 { 13556 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68598), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIsInBackupØ00__func__Ø000))), unsafe.Pointer(str(8940))) 13557 crt.X__builtin_abort(tls) 13558 return i32(0) 13559 }() 13560 }() 13561 r0 = bool2int((_p.X7) != i32(0)) 13562 return 13563 13564 } 13565 13566 var _sqlite3BtreeIsInBackupØ00__func__Ø000 [23]int8 // - 13567 13568 func init() { 13569 crt.Xstrncpy(nil, &_sqlite3BtreeIsInBackupØ00__func__Ø000[0], str(9736), 23) 13570 } 13571 13572 func _sqlite3ErrorWithMsg(tls *crt.TLS, _db *Xsqlite3, _err_code int32, _zFormat *int8, args ...interface{}) { // sqlite3.c:27792:1 13573 var _2_z *int8 // sqlite3.c:27799:10 13574 _ = _2_z 13575 var _2_ap []interface{} // sqlite3.c:27800:13 13576 _ = _2_ap 13577 func() int32 { 13578 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 13579 return i32(0) 13580 } 13581 return func() int32 { 13582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27793), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ErrorWithMsgØ00__func__Ø000))), unsafe.Pointer(str(1184))) 13583 crt.X__builtin_abort(tls) 13584 return i32(0) 13585 }() 13586 }() 13587 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = _err_code 13588 _sqlite3SystemError(tls, _db, _err_code) 13589 if _zFormat != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 13590 goto _2 13591 } 13592 13593 _sqlite3Error(tls, _db, _err_code) 13594 goto _3 13595 13596 _2: 13597 if (*XMem)(unsafe.Pointer(_db.X56)) == nil && store7779437((**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(240 /* X56 */))))), _sqlite3ValueNew(tls, _db)) == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 13598 goto _5 13599 } 13600 13601 _2_ap = args 13602 _2_z = _sqlite3VMPrintf(tls, _db, _zFormat, _2_ap) 13603 _2_ap = nil 13604 _sqlite3ValueSetStr(tls, (*XMem)(unsafe.Pointer(_db.X56)), i32(-1), (unsafe.Pointer)(_2_z), uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 13605 f func(*crt.TLS, unsafe.Pointer) int32 13606 }{_sqlite3MallocSize}))) 13607 _5: 13608 _3: 13609 return 13610 13611 } 13612 13613 var _sqlite3ErrorWithMsgØ00__func__Ø000 [20]int8 // - 13614 13615 func init() { 13616 crt.Xstrncpy(nil, &_sqlite3ErrorWithMsgØ00__func__Ø000[0], str(9760), 20) 13617 } 13618 13619 func _sqlite3ValueNew(tls *crt.TLS, _db *Xsqlite3) (r0 *XMem) { // sqlite3.c:70683:1 13620 var _p *XMem // sqlite3.c:70684:7 13621 _ = _p 13622 _p = (*XMem)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(48))))) 13623 if _p == nil { 13624 goto _0 13625 } 13626 13627 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 13628 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X9 */))))) = _db 13629 _0: 13630 r0 = _p 13631 return 13632 13633 } 13634 13635 func _sqlite3DbMallocZero(tls *crt.TLS, _db *Xsqlite3, _n uint64) (r0 unsafe.Pointer) { // sqlite3.c:24778:1 13636 var _p unsafe.Pointer // sqlite3.c:24779:8 13637 _ = _p 13638 _p = _sqlite3DbMallocRaw(tls, _db, _n) 13639 if _p == nil { 13640 goto _0 13641 } 13642 13643 crt.Xmemset(tls, _p, i32(0), uint32(_n)) 13644 _0: 13645 r0 = _p 13646 return 13647 13648 } 13649 13650 func _sqlite3ValueSetStr(tls *crt.TLS, _v *XMem, _n int32, _z unsafe.Pointer, _enc uint8, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:71284:1 13651 if _v == nil { 13652 goto _0 13653 } 13654 13655 _sqlite3VdbeMemSetStr(tls, _v, (*int8)(unsafe.Pointer(_z)), _n, _enc, _xDel) 13656 _0: 13657 return 13658 13659 } 13660 13661 func _sqlite3LeaveMutexAndCloseZombie(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:141021:1 13662 var _i *XHashElem // sqlite3.c:141022:12 13663 _ = _i 13664 var _j int32 // sqlite3.c:141023:7 13665 _ = _j 13666 var _2_pDb *XDb // sqlite3.c:141051:15 13667 _ = _2_pDb 13668 var _6_pNext *XFuncDef // sqlite3.c:141077:13 13669 _ = _6_pNext 13670 var _6_p *XFuncDef // sqlite3.c:141077:21 13671 _ = _6_p 13672 var _8_pColl *XCollSeq // sqlite3.c:141088:13 13673 _ = _8_pColl 13674 var _11_pMod *XModule // sqlite3.c:141100:12 13675 _ = _11_pMod 13676 if (_db.X28) == uint32(i32(1691352191)) && _connectionIsBusy(tls, _db) == 0 { 13677 goto _1 13678 } 13679 13680 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 13681 return 13682 13683 _1: 13684 _sqlite3RollbackAll(tls, _db, i32(0)) 13685 _sqlite3CloseSavepoints(tls, _db) 13686 _j = i32(0) 13687 _2: 13688 if _j >= (_db.X5) { 13689 goto _5 13690 } 13691 13692 _2_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_j))) 13693 if (*XBtree)(unsafe.Pointer(_2_pDb.X1)) == nil { 13694 goto _6 13695 } 13696 13697 _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_2_pDb.X1))) 13698 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pDb)) + uintptr(4 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 13699 if _j == i32(1) { 13700 goto _7 13701 } 13702 13703 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pDb)) + uintptr(12 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) 13704 _7: 13705 _6: 13706 _j += 1 13707 goto _2 13708 13709 _5: 13710 if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4)) == nil { 13711 goto _8 13712 } 13713 13714 _sqlite3SchemaClear(tls, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4) 13715 _8: 13716 _sqlite3VtabUnlockList(tls, _db) 13717 _sqlite3CollapseDatabaseArray(tls, _db) 13718 func() int32 { 13719 if (_db.X5) <= i32(2) { 13720 return i32(0) 13721 } 13722 return func() int32 { 13723 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141068), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000))), unsafe.Pointer(str(9780))) 13724 crt.X__builtin_abort(tls) 13725 return i32(0) 13726 }() 13727 }() 13728 func() int32 { 13729 if (*XDb)(unsafe.Pointer(_db.X4)) == (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(388 /* X72 */))))) { 13730 return i32(0) 13731 } 13732 return func() int32 { 13733 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141069), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000))), unsafe.Pointer(str(9792))) 13734 crt.X__builtin_abort(tls) 13735 return i32(0) 13736 }() 13737 }() 13738 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(344 /* X69 */))).X2)) 13739 _13: 13740 if _i == nil { 13741 goto _16 13742 } 13743 13744 _6_p = (*XFuncDef)(unsafe.Pointer(_i.X2)) 13745 _17: 13746 _functionDestroy(tls, _db, _6_p) 13747 _6_pNext = (*XFuncDef)(unsafe.Pointer(_6_p.X3)) 13748 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_6_p)) 13749 _6_p = _6_pNext 13750 if _6_p != nil { 13751 goto _17 13752 } 13753 13754 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 13755 goto _13 13756 13757 _16: 13758 _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X69 */)))) 13759 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(360 /* X70 */))).X2)) 13760 _18: 13761 if _i == nil { 13762 goto _21 13763 } 13764 13765 _8_pColl = (*XCollSeq)(unsafe.Pointer(_i.X2)) 13766 _j = i32(0) 13767 _22: 13768 if _j >= i32(3) { 13769 goto _25 13770 } 13771 13772 if ((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pColl)) + 20*uintptr(_j))).X4) == nil { 13773 goto _26 13774 } 13775 13776 ((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pColl)) + 20*uintptr(_j))).X4)(tls, (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pColl))+20*uintptr(_j))).X2) 13777 _26: 13778 _j += 1 13779 goto _22 13780 13781 _25: 13782 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_8_pColl)) 13783 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 13784 goto _18 13785 13786 _21: 13787 _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(360 /* X70 */)))) 13788 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(316 /* X65 */))).X2)) 13789 _27: 13790 if _i == nil { 13791 goto _30 13792 } 13793 13794 _11_pMod = (*XModule)(unsafe.Pointer(_i.X2)) 13795 if (_11_pMod.X3) == nil { 13796 goto _31 13797 } 13798 13799 (_11_pMod.X3)(tls, _11_pMod.X2) 13800 _31: 13801 _sqlite3VtabEponymousTableClear(tls, _db, _11_pMod) 13802 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_11_pMod)) 13803 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 13804 goto _27 13805 13806 _30: 13807 _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */)))) 13808 _sqlite3Error(tls, _db, i32(0)) 13809 _sqlite3ValueFree(tls, (*XMem)(unsafe.Pointer(_db.X56))) 13810 _sqlite3CloseExtensions(tls, _db) 13811 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(80 /* X28 */))) = u32(3040180528) 13812 _sqlite3DbFree(tls, _db, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4) 13813 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 13814 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(80 /* X28 */))) = u32(2671521075) 13815 Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 13816 func() int32 { 13817 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3) == i32(0) { 13818 return i32(0) 13819 } 13820 return func() int32 { 13821 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141130), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000))), unsafe.Pointer(str(9816))) 13822 crt.X__builtin_abort(tls) 13823 return i32(0) 13824 }() 13825 }() 13826 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X2) == 0 { 13827 goto _34 13828 } 13829 13830 Xsqlite3_free(tls, (*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X7) 13831 _34: 13832 Xsqlite3_free(tls, (unsafe.Pointer)(_db)) 13833 return 13834 13835 } 13836 13837 func _sqlite3RollbackAll(tls *crt.TLS, _db *Xsqlite3, _tripCode int32) { // sqlite3.c:141144:1 13838 var _i int32 // sqlite3.c:141145:7 13839 _ = _i 13840 var _inTrans int32 // sqlite3.c:141146:7 13841 _ = _inTrans 13842 var _schemaChange int32 // sqlite3.c:141147:7 13843 _ = _schemaChange 13844 var _1_p *XBtree // sqlite3.c:141161:11 13845 _ = _1_p 13846 _inTrans = i32(0) 13847 func() int32 { 13848 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 13849 return i32(0) 13850 } 13851 return func() int32 { 13852 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141148), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RollbackAllØ00__func__Ø000))), unsafe.Pointer(str(832))) 13853 crt.X__builtin_abort(tls) 13854 return i32(0) 13855 }() 13856 }() 13857 _sqlite3BeginBenignMalloc(tls) 13858 _sqlite3BtreeEnterAll(tls, _db) 13859 _schemaChange = bool2int((((_db.X6) & i32(2)) != i32(0)) && (int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == i32(0))) 13860 _i = i32(0) 13861 _3: 13862 if _i >= (_db.X5) { 13863 goto _6 13864 } 13865 13866 _1_p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 13867 if _1_p == nil { 13868 goto _7 13869 } 13870 13871 if _sqlite3BtreeIsInTrans(tls, _1_p) == 0 { 13872 goto _8 13873 } 13874 13875 _inTrans = i32(1) 13876 _8: 13877 _sqlite3BtreeRollback(tls, _1_p, _tripCode, bool2int(_schemaChange == 0)) 13878 _7: 13879 _i += 1 13880 goto _3 13881 13882 _6: 13883 _sqlite3VtabRollback(tls, _db) 13884 _sqlite3EndBenignMalloc(tls) 13885 if ((_db.X6)&i32(2)) == i32(0) || int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != i32(0) { 13886 goto _10 13887 } 13888 13889 _sqlite3ExpirePreparedStatements(tls, _db) 13890 _sqlite3ResetAllSchemasOfConnection(tls, _db) 13891 _10: 13892 _sqlite3BtreeLeaveAll(tls, _db) 13893 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(436 /* X77 */))) = int64(i32(0)) 13894 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(444 /* X78 */))) = int64(i32(0)) 13895 { 13896 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 13897 *p = (*p) & i32(-33554433) 13898 sink961 = *p 13899 } 13900 if (_db.X48) == nil || _inTrans == 0 && (_db.X15) != 0 { 13901 goto _13 13902 } 13903 13904 (_db.X48)(tls, _db.X47) 13905 _13: 13906 return 13907 13908 } 13909 13910 var _sqlite3RollbackAllØ00__func__Ø000 [19]int8 // - 13911 13912 func init() { 13913 crt.Xstrncpy(nil, &_sqlite3RollbackAllØ00__func__Ø000[0], str(9840), 19) 13914 } 13915 13916 func _sqlite3BeginBenignMalloc(tls *crt.TLS) { // sqlite3.c:20543:1 13917 if (_sqlite3Hooks.X0) == nil { 13918 goto _0 13919 } 13920 13921 (_sqlite3Hooks.X0)(tls) 13922 _0: 13923 return 13924 13925 } 13926 13927 var _sqlite3Hooks T7815909 // sqlite3.c:20507:3 13928 13929 func _sqlite3BtreeIsInTrans(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68557:1 13930 func() int32 { 13931 if (_p == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 13932 return i32(0) 13933 } 13934 return func() int32 { 13935 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68558), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIsInTransØ00__func__Ø000))), unsafe.Pointer(str(9860))) 13936 crt.X__builtin_abort(tls) 13937 return i32(0) 13938 }() 13939 }() 13940 r0 = bool2int((_p != nil) && (int32(_p.X2) == i32(2))) 13941 return 13942 13943 } 13944 13945 var _sqlite3BtreeIsInTransØ00__func__Ø000 [22]int8 // - 13946 13947 func init() { 13948 crt.Xstrncpy(nil, &_sqlite3BtreeIsInTransØ00__func__Ø000[0], str(9904), 22) 13949 } 13950 13951 func _sqlite3BtreeRollback(tls *crt.TLS, _p *XBtree, _tripCode int32, _writeOnly int32) (r0 int32) { // sqlite3.c:62955:1 13952 var _rc int32 // sqlite3.c:62956:7 13953 _ = _rc 13954 var _pBt *XBtShared // sqlite3.c:62957:12 13955 _ = _pBt 13956 var _pPage1 *XMemPage // sqlite3.c:62958:11 13957 _ = _pPage1 13958 var _3_rc2 int32 // sqlite3.c:62970:9 13959 _ = _3_rc2 13960 var _4_rc2 int32 // sqlite3.c:62977:9 13961 _ = _4_rc2 13962 var _6_nPage int32 // sqlite3.c:62989:11 13963 _ = _6_nPage 13964 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 13965 func() int32 { 13966 if (_writeOnly == i32(1)) || (_writeOnly == i32(0)) { 13967 return i32(0) 13968 } 13969 return func() int32 { 13970 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62960), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(9928))) 13971 crt.X__builtin_abort(tls) 13972 return i32(0) 13973 }() 13974 }() 13975 func() int32 { 13976 if (_tripCode == i32(516)) || (_tripCode == i32(0)) { 13977 return i32(0) 13978 } 13979 return func() int32 { 13980 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62961), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(9960))) 13981 crt.X__builtin_abort(tls) 13982 return i32(0) 13983 }() 13984 }() 13985 _sqlite3BtreeEnter(tls, _p) 13986 if _tripCode != i32(0) { 13987 goto _6 13988 } 13989 13990 _rc = store961(&_tripCode, _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))))) 13991 if _rc == 0 { 13992 goto _7 13993 } 13994 13995 _writeOnly = i32(0) 13996 _7: 13997 goto _8 13998 13999 _6: 14000 _rc = i32(0) 14001 _8: 14002 if _tripCode == 0 { 14003 goto _9 14004 } 14005 14006 _3_rc2 = _sqlite3BtreeTripAllCursors(tls, _p, _tripCode, _writeOnly) 14007 func() int32 { 14008 if (_rc == i32(0)) || ((_writeOnly == i32(0)) && (_3_rc2 == i32(0))) { 14009 return i32(0) 14010 } 14011 return func() int32 { 14012 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62971), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(10016))) 14013 crt.X__builtin_abort(tls) 14014 return i32(0) 14015 }() 14016 }() 14017 if _3_rc2 == i32(0) { 14018 goto _14 14019 } 14020 14021 _rc = _3_rc2 14022 _14: 14023 _9: 14024 func() int32 { 14025 if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { 14026 return i32(0) 14027 } 14028 return func() int32 { 14029 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62974), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(10068))) 14030 crt.X__builtin_abort(tls) 14031 return i32(0) 14032 }() 14033 }() 14034 func() int32 { 14035 if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { 14036 return i32(0) 14037 } 14038 return func() int32 { 14039 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62974), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(10132))) 14040 crt.X__builtin_abort(tls) 14041 return i32(0) 14042 }() 14043 }() 14044 if int32(_p.X2) != i32(2) { 14045 goto _20 14046 } 14047 14048 func() int32 { 14049 if i32(2) == int32(_pBt.X8) { 14050 return i32(0) 14051 } 14052 return func() int32 { 14053 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62979), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(10168))) 14054 crt.X__builtin_abort(tls) 14055 return i32(0) 14056 }() 14057 }() 14058 _4_rc2 = _sqlite3PagerRollback(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) 14059 if _4_rc2 == i32(0) { 14060 goto _23 14061 } 14062 14063 _rc = _4_rc2 14064 _23: 14065 if _btreeGetPage(tls, _pBt, uint32(i32(1)), &_pPage1, i32(0)) != i32(0) { 14066 goto _24 14067 } 14068 14069 _6_nPage = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(28))))))+uintptr(unsafe.Pointer(_pPage1.X19)))))) 14070 if _6_nPage != i32(0) { 14071 goto _25 14072 } 14073 14074 _sqlite3PagerPagecount(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), &_6_nPage) 14075 _25: 14076 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) = uint32(_6_nPage) 14077 _releasePage(tls, _pPage1) 14078 _24: 14079 func() int32 { 14080 if _countValidCursors(tls, _pBt, i32(1)) == i32(0) { 14081 return i32(0) 14082 } 14083 return func() int32 { 14084 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62996), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRollbackØ00__func__Ø000))), unsafe.Pointer(str(10200))) 14085 crt.X__builtin_abort(tls) 14086 return i32(0) 14087 }() 14088 }() 14089 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(20 /* X8 */))) = uint8(i32(1)) 14090 _btreeClearHasContent(tls, _pBt) 14091 _20: 14092 _btreeEndTransaction(tls, _p) 14093 _sqlite3BtreeLeave(tls, _p) 14094 r0 = _rc 14095 return 14096 14097 } 14098 14099 var _sqlite3BtreeRollbackØ00__func__Ø000 [21]int8 // - 14100 14101 func init() { 14102 crt.Xstrncpy(nil, &_sqlite3BtreeRollbackØ00__func__Ø000[0], str(10232), 21) 14103 } 14104 14105 func _saveAllCursors(tls *crt.TLS, _pBt *XBtShared, _iRoot uint32, _pExcept *XBtCursor) (r0 int32) { // sqlite3.c:59661:1 14106 var _p *XBtCursor // sqlite3.c:59662:12 14107 _ = _p 14108 func() int32 { 14109 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 14110 return i32(0) 14111 } 14112 return func() int32 { 14113 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59663), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveAllCursorsØ00__func__Ø000))), unsafe.Pointer(str(9252))) 14114 crt.X__builtin_abort(tls) 14115 return i32(0) 14116 }() 14117 }() 14118 func() int32 { 14119 if (_pExcept == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || ((*XBtShared)(unsafe.Pointer(_pExcept.X1)) == _pBt) { 14120 return i32(0) 14121 } 14122 return func() int32 { 14123 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59664), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveAllCursorsØ00__func__Ø000))), unsafe.Pointer(str(10256))) 14124 crt.X__builtin_abort(tls) 14125 return i32(0) 14126 }() 14127 }() 14128 _p = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) 14129 _5: 14130 if _p == nil { 14131 goto _8 14132 } 14133 14134 if _p == _pExcept || uint32(i32(0)) != _iRoot && (_p.X7) != _iRoot { 14135 goto _11 14136 } 14137 14138 goto _8 14139 14140 _11: 14141 _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) 14142 goto _5 14143 14144 _8: 14145 if _p == nil { 14146 goto _12 14147 } 14148 14149 r0 = _saveCursorsOnList(tls, _p, _iRoot, _pExcept) 14150 return 14151 14152 _12: 14153 if _pExcept == nil { 14154 goto _13 14155 } 14156 14157 { 14158 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExcept)) + uintptr(60 /* X10 */))) 14159 *p = uint8(int32(*p) & i32(-33)) 14160 sink6915 = *p 14161 } 14162 _13: 14163 r0 = i32(0) 14164 return 14165 14166 } 14167 14168 var _saveAllCursorsØ00__func__Ø000 [15]int8 // - 14169 14170 func init() { 14171 crt.Xstrncpy(nil, &_saveAllCursorsØ00__func__Ø000[0], str(10288), 15) 14172 } 14173 14174 func _saveCursorsOnList(tls *crt.TLS, _p *XBtCursor, _iRoot uint32, _pExcept *XBtCursor) (r0 int32) { // sqlite3.c:59678:1 14175 var _3_rc int32 // sqlite3.c:59686:13 14176 _ = _3_rc 14177 _0: 14178 if _p == _pExcept || uint32(i32(0)) != _iRoot && (_p.X7) != _iRoot { 14179 goto _3 14180 } 14181 14182 if int32(_p.X12) != i32(1) && int32(_p.X12) != i32(2) { 14183 goto _5 14184 } 14185 14186 _3_rc = _saveCursorPosition(tls, _p) 14187 if i32(0) == _3_rc { 14188 goto _6 14189 } 14190 14191 r0 = _3_rc 14192 return 14193 14194 _6: 14195 goto _7 14196 14197 _5: 14198 _btreeReleaseAllCursorPages(tls, _p) 14199 _7: 14200 _3: 14201 _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) 14202 if _p != nil { 14203 goto _0 14204 } 14205 14206 r0 = i32(0) 14207 return 14208 14209 } 14210 14211 func _saveCursorPosition(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59614:1 14212 var _rc int32 // sqlite3.c:59615:7 14213 _ = _rc 14214 func() int32 { 14215 if (i32(1) == int32(_pCur.X12)) || (i32(2) == int32(_pCur.X12)) { 14216 return i32(0) 14217 } 14218 return func() int32 { 14219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59617), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorPositionØ00__func__Ø000))), unsafe.Pointer(str(10304))) 14220 crt.X__builtin_abort(tls) 14221 return i32(0) 14222 }() 14223 }() 14224 func() int32 { 14225 if unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) == (_pCur.X6) { 14226 return i32(0) 14227 } 14228 return func() int32 { 14229 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59618), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorPositionØ00__func__Ø000))), unsafe.Pointer(str(10364))) 14230 crt.X__builtin_abort(tls) 14231 return i32(0) 14232 }() 14233 }() 14234 func() int32 { 14235 if _cursorHoldsMutex(tls, _pCur) != 0 { 14236 return i32(0) 14237 } 14238 return func() int32 { 14239 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59619), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorPositionØ00__func__Ø000))), unsafe.Pointer(str(10380))) 14240 crt.X__builtin_abort(tls) 14241 return i32(0) 14242 }() 14243 }() 14244 if int32(_pCur.X12) != i32(2) { 14245 goto _7 14246 } 14247 14248 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(1)) 14249 goto _8 14250 14251 _7: 14252 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(0) 14253 _8: 14254 _rc = _saveCursorKey(tls, _pCur) 14255 if _rc != i32(0) { 14256 goto _9 14257 } 14258 14259 _btreeReleaseAllCursorPages(tls, _pCur) 14260 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(3)) 14261 _9: 14262 { 14263 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 14264 *p = uint8(int32(*p) & i32(-15)) 14265 sink6915 = *p 14266 } 14267 r0 = _rc 14268 return 14269 14270 } 14271 14272 var _saveCursorPositionØ00__func__Ø000 [19]int8 // - 14273 14274 func init() { 14275 crt.Xstrncpy(nil, &_saveCursorPositionØ00__func__Ø000[0], str(10404), 19) 14276 } 14277 14278 func _cursorHoldsMutex(tls *crt.TLS, _p *XBtCursor) (r0 int32) { // sqlite3.c:59408:1 14279 r0 = Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) 14280 return 14281 14282 } 14283 14284 func _saveCursorKey(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59578:1 14285 var _rc int32 // sqlite3.c:59579:7 14286 _ = _rc 14287 var _2_pKey unsafe.Pointer // sqlite3.c:59589:10 14288 _ = _2_pKey 14289 _rc = i32(0) 14290 func() int32 { 14291 if i32(1) == int32(_pCur.X12) { 14292 return i32(0) 14293 } 14294 return func() int32 { 14295 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59580), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorKeyØ00__func__Ø000))), unsafe.Pointer(str(10424))) 14296 crt.X__builtin_abort(tls) 14297 return i32(0) 14298 }() 14299 }() 14300 func() int32 { 14301 if unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) == (_pCur.X6) { 14302 return i32(0) 14303 } 14304 return func() int32 { 14305 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59581), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorKeyØ00__func__Ø000))), unsafe.Pointer(str(10364))) 14306 crt.X__builtin_abort(tls) 14307 return i32(0) 14308 }() 14309 }() 14310 func() int32 { 14311 if _cursorHoldsMutex(tls, _pCur) != 0 { 14312 return i32(0) 14313 } 14314 return func() int32 { 14315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59582), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorKeyØ00__func__Ø000))), unsafe.Pointer(str(10380))) 14316 crt.X__builtin_abort(tls) 14317 return i32(0) 14318 }() 14319 }() 14320 if (_pCur.X15) == 0 { 14321 goto _6 14322 } 14323 14324 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(36 /* X5 */))) = _sqlite3BtreeIntegerKey(tls, _pCur) 14325 goto _7 14326 14327 _6: 14328 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(36 /* X5 */))) = int64(_sqlite3BtreePayloadSize(tls, _pCur)) 14329 _2_pKey = _sqlite3Malloc(tls, uint64(_pCur.X5)) 14330 if _2_pKey == nil { 14331 goto _8 14332 } 14333 14334 _rc = _sqlite3BtreePayload(tls, _pCur, uint32(i32(0)), uint32(int32(_pCur.X5)), _2_pKey) 14335 if _rc != i32(0) { 14336 goto _9 14337 } 14338 14339 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(44 /* X6 */))) = _2_pKey 14340 goto _10 14341 14342 _9: 14343 Xsqlite3_free(tls, _2_pKey) 14344 _10: 14345 goto _11 14346 14347 _8: 14348 _rc = _sqlite3NomemError(tls, i32(59600)) 14349 _11: 14350 _7: 14351 func() int32 { 14352 if ((_pCur.X15) == 0) || ((_pCur.X6) == nil) { 14353 return i32(0) 14354 } 14355 return func() int32 { 14356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59603), unsafe.Pointer((*int8)(unsafe.Pointer(&_saveCursorKeyØ00__func__Ø000))), unsafe.Pointer(str(10452))) 14357 crt.X__builtin_abort(tls) 14358 return i32(0) 14359 }() 14360 }() 14361 r0 = _rc 14362 return 14363 14364 } 14365 14366 var _saveCursorKeyØ00__func__Ø000 [14]int8 // - 14367 14368 func init() { 14369 crt.Xstrncpy(nil, &_saveCursorKeyØ00__func__Ø000[0], str(10484), 14) 14370 } 14371 14372 func _sqlite3BtreeIntegerKey(tls *crt.TLS, _pCur *XBtCursor) (r0 int64) { // sqlite3.c:63314:1 14373 func() int32 { 14374 if _cursorHoldsMutex(tls, _pCur) != 0 { 14375 return i32(0) 14376 } 14377 return func() int32 { 14378 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63315), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIntegerKeyØ00__func__Ø000))), unsafe.Pointer(str(10380))) 14379 crt.X__builtin_abort(tls) 14380 return i32(0) 14381 }() 14382 }() 14383 func() int32 { 14384 if int32(_pCur.X12) == i32(1) { 14385 return i32(0) 14386 } 14387 return func() int32 { 14388 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63316), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIntegerKeyØ00__func__Ø000))), unsafe.Pointer(str(10500))) 14389 crt.X__builtin_abort(tls) 14390 return i32(0) 14391 }() 14392 }() 14393 func() int32 { 14394 if (_pCur.X15) != 0 { 14395 return i32(0) 14396 } 14397 return func() int32 { 14398 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63317), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIntegerKeyØ00__func__Ø000))), unsafe.Pointer(str(10528))) 14399 crt.X__builtin_abort(tls) 14400 return i32(0) 14401 }() 14402 }() 14403 _getCellInfo(tls, _pCur) 14404 r0 = (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X0 14405 return 14406 14407 } 14408 14409 var _sqlite3BtreeIntegerKeyØ00__func__Ø000 [23]int8 // - 14410 14411 func init() { 14412 crt.Xstrncpy(nil, &_sqlite3BtreeIntegerKeyØ00__func__Ø000[0], str(10544), 23) 14413 } 14414 14415 func _getCellInfo(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:63283:1 14416 var _1_iPage int32 // sqlite3.c:63285:9 14417 _ = _1_iPage 14418 if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X4) != i32(0) { 14419 goto _0 14420 } 14421 14422 _1_iPage = int32(_pCur.X14) 14423 { 14424 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 14425 *p = uint8(int32(*p) | i32(2)) 14426 sink6915 = *p 14427 } 14428 _btreeParseCell(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_1_iPage))), int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_1_iPage)))), (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */)))) 14429 goto _1 14430 14431 _0: 14432 _assertCellInfo(tls, _pCur) 14433 _1: 14434 return 14435 14436 } 14437 14438 func _btreeParseCell(tls *crt.TLS, _pPage *XMemPage, _iCell int32, _pInfo *XCellInfo) { // sqlite3.c:60159:1 14439 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 14440 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 14441 }{(_pPage.X25)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_iCell))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_iCell))))) + 1*uintptr(i32(1))))))))))))), _pInfo) 14442 return 14443 14444 } 14445 14446 func _assertCellInfo(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:63273:3 14447 var _info XCellInfo // sqlite3.c:63274:14 14448 _ = _info 14449 var _iPage int32 // sqlite3.c:63275:9 14450 _ = _iPage 14451 _iPage = int32(_pCur.X14) 14452 crt.Xmemset(tls, (unsafe.Pointer)(&_info), i32(0), u32(20)) 14453 _btreeParseCell(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_iPage))), int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_iPage)))), &_info) 14454 func() int32 { 14455 if ((_sqlite3Config.X6) == i32(0)) || (crt.Xmemcmp(tls, (unsafe.Pointer)(&_info), (unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */)))), u32(20)) == i32(0)) { 14456 return i32(0) 14457 } 14458 return func() int32 { 14459 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63278), unsafe.Pointer((*int8)(unsafe.Pointer(&_assertCellInfoØ00__func__Ø000))), unsafe.Pointer(str(10568))) 14460 crt.X__builtin_abort(tls) 14461 return i32(0) 14462 }() 14463 }() 14464 return 14465 14466 } 14467 14468 var _assertCellInfoØ00__func__Ø000 [15]int8 // - 14469 14470 func init() { 14471 crt.Xstrncpy(nil, &_assertCellInfoØ00__func__Ø000[0], str(10628), 15) 14472 } 14473 14474 func _sqlite3BtreePayloadSize(tls *crt.TLS, _pCur *XBtCursor) (r0 uint32) { // sqlite3.c:63331:1 14475 func() int32 { 14476 if _cursorHoldsMutex(tls, _pCur) != 0 { 14477 return i32(0) 14478 } 14479 return func() int32 { 14480 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63332), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadSizeØ00__func__Ø000))), unsafe.Pointer(str(10380))) 14481 crt.X__builtin_abort(tls) 14482 return i32(0) 14483 }() 14484 }() 14485 func() int32 { 14486 if int32(_pCur.X12) == i32(1) { 14487 return i32(0) 14488 } 14489 return func() int32 { 14490 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63333), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadSizeØ00__func__Ø000))), unsafe.Pointer(str(10500))) 14491 crt.X__builtin_abort(tls) 14492 return i32(0) 14493 }() 14494 }() 14495 _getCellInfo(tls, _pCur) 14496 r0 = (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X2 14497 return 14498 14499 } 14500 14501 var _sqlite3BtreePayloadSizeØ00__func__Ø000 [24]int8 // - 14502 14503 func init() { 14504 crt.Xstrncpy(nil, &_sqlite3BtreePayloadSizeØ00__func__Ø000[0], str(10644), 24) 14505 } 14506 14507 func _sqlite3BtreePayload(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf unsafe.Pointer) (r0 int32) { // sqlite3.c:63677:1 14508 func() int32 { 14509 if _cursorHoldsMutex(tls, _pCur) != 0 { 14510 return i32(0) 14511 } 14512 return func() int32 { 14513 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63678), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadØ00__func__Ø000))), unsafe.Pointer(str(10380))) 14514 crt.X__builtin_abort(tls) 14515 return i32(0) 14516 }() 14517 }() 14518 func() int32 { 14519 if int32(_pCur.X12) == i32(1) { 14520 return i32(0) 14521 } 14522 return func() int32 { 14523 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63679), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadØ00__func__Ø000))), unsafe.Pointer(str(10500))) 14524 crt.X__builtin_abort(tls) 14525 return i32(0) 14526 }() 14527 }() 14528 func() int32 { 14529 if (int32(_pCur.X14) >= i32(0)) && ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))) != nil) { 14530 return i32(0) 14531 } 14532 return func() int32 { 14533 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63680), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadØ00__func__Ø000))), unsafe.Pointer(str(10668))) 14534 crt.X__builtin_abort(tls) 14535 return i32(0) 14536 }() 14537 }() 14538 func() int32 { 14539 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) { 14540 return i32(0) 14541 } 14542 return func() int32 { 14543 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63681), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadØ00__func__Ø000))), unsafe.Pointer(str(10712))) 14544 crt.X__builtin_abort(tls) 14545 return i32(0) 14546 }() 14547 }() 14548 r0 = _accessPayload(tls, _pCur, _offset, _amt, (*uint8)(unsafe.Pointer(_pBuf)), i32(0)) 14549 return 14550 14551 } 14552 14553 var _sqlite3BtreePayloadØ00__func__Ø000 [20]int8 // - 14554 14555 func init() { 14556 crt.Xstrncpy(nil, &_sqlite3BtreePayloadØ00__func__Ø000[0], str(10772), 20) 14557 } 14558 14559 func _accessPayload(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf *uint8, _eOp int32) (r0 int32) { // sqlite3.c:63475:1 14560 var _aPayload *uint8 // sqlite3.c:63482:17 14561 _ = _aPayload 14562 var _rc int32 // sqlite3.c:63483:7 14563 _ = _rc 14564 var _iIdx int32 // sqlite3.c:63484:7 14565 _ = _iIdx 14566 var _pPage *XMemPage // sqlite3.c:63485:11 14567 _ = _pPage 14568 var _pBt *XBtShared // sqlite3.c:63486:12 14569 _ = _pBt 14570 var _2_a int32 // sqlite3.c:63513:9 14571 _ = _2_a 14572 var _5_ovflSize uint32 // sqlite3.c:63527:15 14573 _ = _5_ovflSize 14574 var _5_nextPage uint32 // sqlite3.c:63528:10 14575 _ = _5_nextPage 14576 var _6_nOvfl int32 // sqlite3.c:63540:11 14577 _ = _6_nOvfl 14578 var _7_aNew *uint32 // sqlite3.c:63542:14 14579 _ = _7_aNew 14580 var _16_a int32 // sqlite3.c:63596:13 14581 _ = _16_a 14582 var _18_pDbPage *XPgHdr // sqlite3.c:63633:18 14583 _ = _18_pDbPage 14584 _rc = i32(0) 14585 _iIdx = i32(0) 14586 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 14587 _pBt = (*XBtShared)(unsafe.Pointer(_pCur.X1)) 14588 func() int32 { 14589 if _pPage != nil { 14590 return i32(0) 14591 } 14592 return func() int32 { 14593 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63491), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10792))) 14594 crt.X__builtin_abort(tls) 14595 return i32(0) 14596 }() 14597 }() 14598 func() int32 { 14599 if (_eOp == i32(0)) || (_eOp == i32(1)) { 14600 return i32(0) 14601 } 14602 return func() int32 { 14603 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63492), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10800))) 14604 crt.X__builtin_abort(tls) 14605 return i32(0) 14606 }() 14607 }() 14608 func() int32 { 14609 if int32(_pCur.X12) == i32(1) { 14610 return i32(0) 14611 } 14612 return func() int32 { 14613 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63493), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10500))) 14614 crt.X__builtin_abort(tls) 14615 return i32(0) 14616 }() 14617 }() 14618 func() int32 { 14619 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32(_pPage.X14) { 14620 return i32(0) 14621 } 14622 return func() int32 { 14623 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63494), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10820))) 14624 crt.X__builtin_abort(tls) 14625 return i32(0) 14626 }() 14627 }() 14628 func() int32 { 14629 if _cursorHoldsMutex(tls, _pCur) != 0 { 14630 return i32(0) 14631 } 14632 return func() int32 { 14633 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63495), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10380))) 14634 crt.X__builtin_abort(tls) 14635 return i32(0) 14636 }() 14637 }() 14638 _getCellInfo(tls, _pCur) 14639 _aPayload = (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X1 14640 func() int32 { 14641 if (_offset + _amt) <= ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X2) { 14642 return i32(0) 14643 } 14644 return func() int32 { 14645 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63499), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10860))) 14646 crt.X__builtin_abort(tls) 14647 return i32(0) 14648 }() 14649 }() 14650 func() int32 { 14651 if uintptr(unsafe.Pointer(_aPayload)) > uintptr(unsafe.Pointer(_pPage.X19)) { 14652 return i32(0) 14653 } 14654 return func() int32 { 14655 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63501), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10896))) 14656 crt.X__builtin_abort(tls) 14657 return i32(0) 14658 }() 14659 }() 14660 if uint32(int32((uintptr(unsafe.Pointer(_aPayload))-uintptr(unsafe.Pointer(_pPage.X19)))/1)) <= ((_pBt.X16) - uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3)) { 14661 goto _15 14662 } 14663 14664 r0 = _sqlite3CorruptError(tls, i32(63508)) 14665 return 14666 14667 _15: 14668 if _offset >= uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3) { 14669 goto _16 14670 } 14671 14672 _2_a = int32(_amt) 14673 if (uint32(_2_a) + _offset) <= uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3) { 14674 goto _17 14675 } 14676 14677 _2_a = int32(uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3) - _offset) 14678 _17: 14679 _rc = _copyPayload(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPayload))+1*uintptr(_offset)))), (unsafe.Pointer)(_pBuf), _2_a, _eOp, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 14680 _offset = uint32(i32(0)) 14681 { 14682 p := &_pBuf 14683 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_2_a))) 14684 sink6921 = *p 14685 } 14686 { 14687 p := &_amt 14688 *p = (*p) - uint32(_2_a) 14689 sink985 = *p 14690 } 14691 goto _18 14692 14693 _16: 14694 { 14695 p := &_offset 14696 *p = (*p) - uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3) 14697 sink985 = *p 14698 } 14699 _18: 14700 if _rc != i32(0) || _amt <= uint32(i32(0)) { 14701 goto _20 14702 } 14703 14704 _5_ovflSize = (_pBt.X16) - uint32(i32(4)) 14705 _5_nextPage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPayload))+1*uintptr((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3)))) 14706 if (int32(_pCur.X10) & i32(4)) != i32(0) { 14707 goto _21 14708 } 14709 14710 _6_nOvfl = int32((((((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X2) - uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3)) + _5_ovflSize) - uint32(i32(1))) / _5_ovflSize) 14711 if _6_nOvfl <= (_pCur.X8) { 14712 goto _22 14713 } 14714 14715 _7_aNew = (*uint32)(unsafe.Pointer(_sqlite3Realloc(tls, (unsafe.Pointer)(_pCur.X3), uint64(uint32(_6_nOvfl*i32(2))*u32(4))))) 14716 if _7_aNew != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 14717 goto _23 14718 } 14719 14720 r0 = _sqlite3NomemError(tls, i32(63546)) 14721 return 14722 14723 _23: 14724 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(52 /* X8 */))) = _6_nOvfl * i32(2) 14725 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(12 /* X3 */))) = _7_aNew 14726 _22: 14727 crt.Xmemset(tls, (unsafe.Pointer)(_pCur.X3), i32(0), uint32(_6_nOvfl)*u32(4)) 14728 { 14729 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 14730 *p = uint8(int32(*p) | i32(4)) 14731 sink6915 = *p 14732 } 14733 goto _25 14734 14735 _21: 14736 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_offset/_5_ovflSize)))) == 0 { 14737 goto _26 14738 } 14739 14740 _iIdx = int32(_offset / _5_ovflSize) 14741 _5_nextPage = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx))) 14742 _offset = _offset % _5_ovflSize 14743 _26: 14744 _25: 14745 func() int32 { 14746 if (_rc == i32(0)) && (_amt > uint32(i32(0))) { 14747 return i32(0) 14748 } 14749 return func() int32 { 14750 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63566), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10920))) 14751 crt.X__builtin_abort(tls) 14752 return i32(0) 14753 }() 14754 }() 14755 _30: 14756 if _5_nextPage == 0 { 14757 goto _31 14758 } 14759 14760 func() int32 { 14761 if (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx)))) == uint32(i32(0))) || ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx)))) == _5_nextPage)) || ((_sqlite3Config.X6) == i32(0)) { 14762 return i32(0) 14763 } 14764 return func() int32 { 14765 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63569), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(10944))) 14766 crt.X__builtin_abort(tls) 14767 return i32(0) 14768 }() 14769 }() 14770 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx))) = _5_nextPage 14771 if _offset < _5_ovflSize { 14772 goto _36 14773 } 14774 14775 func() int32 { 14776 if (int32(_pCur.X10) & i32(4)) != 0 { 14777 return i32(0) 14778 } 14779 return func() int32 { 14780 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63581), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(11020))) 14781 crt.X__builtin_abort(tls) 14782 return i32(0) 14783 }() 14784 }() 14785 func() int32 { 14786 if (*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)) == (*Xsqlite3)(unsafe.Pointer(_pBt.X1)) { 14787 return i32(0) 14788 } 14789 return func() int32 { 14790 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63582), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadØ00__func__Ø000))), unsafe.Pointer(str(11052))) 14791 crt.X__builtin_abort(tls) 14792 return i32(0) 14793 }() 14794 }() 14795 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx+i32(1))))) == 0 { 14796 goto _41 14797 } 14798 14799 _5_nextPage = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur.X3)) + 4*uintptr(_iIdx+i32(1)))) 14800 goto _42 14801 14802 _41: 14803 _rc = _getOverflowPage(tls, _pBt, _5_nextPage, (**XMemPage)(unsafe.Pointer(uintptr(i32(0)))), &_5_nextPage) 14804 _42: 14805 { 14806 p := &_offset 14807 *p = (*p) - _5_ovflSize 14808 sink985 = *p 14809 } 14810 goto _43 14811 14812 _36: 14813 _16_a = int32(_amt) 14814 if (uint32(_16_a) + _offset) <= _5_ovflSize { 14815 goto _44 14816 } 14817 14818 _16_a = int32(_5_ovflSize - _offset) 14819 _44: 14820 _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _5_nextPage, &_18_pDbPage, func() int32 { 14821 if _eOp == i32(0) { 14822 return i32(2) 14823 } 14824 return i32(0) 14825 }()) 14826 if _rc != i32(0) { 14827 goto _47 14828 } 14829 14830 _aPayload = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _18_pDbPage))) 14831 _5_nextPage = _sqlite3Get4byte(tls, _aPayload) 14832 _rc = _copyPayload(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPayload))+1*uintptr(_offset+uint32(i32(4)))))), (unsafe.Pointer)(_pBuf), _16_a, _eOp, _18_pDbPage) 14833 _sqlite3PagerUnref(tls, _18_pDbPage) 14834 _offset = uint32(i32(0)) 14835 _47: 14836 { 14837 p := &_amt 14838 *p = (*p) - uint32(_16_a) 14839 sink985 = *p 14840 } 14841 if _amt != uint32(i32(0)) { 14842 goto _48 14843 } 14844 14845 r0 = _rc 14846 return 14847 14848 _48: 14849 { 14850 p := &_pBuf 14851 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_16_a))) 14852 sink6921 = *p 14853 } 14854 _43: 14855 if _rc == 0 { 14856 goto _49 14857 } 14858 14859 goto _31 14860 14861 _49: 14862 _iIdx += 1 14863 goto _30 14864 14865 _31: 14866 _20: 14867 if _rc != i32(0) || _amt <= uint32(i32(0)) { 14868 goto _51 14869 } 14870 14871 r0 = _sqlite3CorruptError(tls, i32(63655)) 14872 return 14873 14874 _51: 14875 r0 = _rc 14876 return 14877 14878 } 14879 14880 var _accessPayloadØ00__func__Ø000 [14]int8 // - 14881 14882 func init() { 14883 crt.Xstrncpy(nil, &_accessPayloadØ00__func__Ø000[0], str(11080), 14) 14884 } 14885 14886 func _sqlite3CorruptError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143228:1 14887 r0 = _reportError(tls, i32(11), _lineno, str(11096)) 14888 return 14889 14890 } 14891 14892 func _copyPayload(tls *crt.TLS, _pPayload unsafe.Pointer, _pBuf unsafe.Pointer, _nByte int32, _eOp int32, _pDbPage *XPgHdr) (r0 int32) { // sqlite3.c:63425:1 14893 var _1_rc int32 // sqlite3.c:63434:9 14894 _ = _1_rc 14895 if _eOp == 0 { 14896 goto _0 14897 } 14898 14899 _1_rc = _sqlite3PagerWrite(tls, _pDbPage) 14900 if _1_rc == i32(0) { 14901 goto _1 14902 } 14903 14904 r0 = _1_rc 14905 return 14906 14907 _1: 14908 crt.Xmemcpy(tls, _pPayload, _pBuf, uint32(_nByte)) 14909 goto _2 14910 14911 _0: 14912 crt.Xmemcpy(tls, _pBuf, _pPayload, uint32(_nByte)) 14913 _2: 14914 r0 = i32(0) 14915 return 14916 14917 } 14918 14919 func _sqlite3PagerWrite(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52911:1 14920 var _pPager *XPager // sqlite3.c:52912:9 14921 _ = _pPager 14922 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 14923 func() int32 { 14924 if (int32(_pPg.X6) & i32(32)) == i32(0) { 14925 return i32(0) 14926 } 14927 return func() int32 { 14928 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52913), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerWriteØ00__func__Ø000))), unsafe.Pointer(str(11116))) 14929 crt.X__builtin_abort(tls) 14930 return i32(0) 14931 }() 14932 }() 14933 func() int32 { 14934 if int32(_pPager.X14) >= i32(2) { 14935 return i32(0) 14936 } 14937 return func() int32 { 14938 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52914), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerWriteØ00__func__Ø000))), unsafe.Pointer(str(11148))) 14939 crt.X__builtin_abort(tls) 14940 return i32(0) 14941 }() 14942 }() 14943 func() int32 { 14944 if _assert_pager_state(tls, _pPager) != 0 { 14945 return i32(0) 14946 } 14947 return func() int32 { 14948 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52915), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerWriteØ00__func__Ø000))), unsafe.Pointer(str(11184))) 14949 crt.X__builtin_abort(tls) 14950 return i32(0) 14951 }() 14952 }() 14953 if (int32(_pPg.X6)&i32(4)) == i32(0) || (_pPager.X22) < (_pPg.X5) { 14954 goto _7 14955 } 14956 14957 if (_pPager.X38) == 0 { 14958 goto _8 14959 } 14960 14961 r0 = _subjournalPageIfRequired(tls, _pPg) 14962 return 14963 14964 _8: 14965 r0 = i32(0) 14966 return 14967 14968 _7: 14969 if (_pPager.X26) == 0 { 14970 goto _10 14971 } 14972 14973 r0 = _pPager.X26 14974 return 14975 14976 _10: 14977 if (_pPager.X47) <= uint32(_pPager.X48) { 14978 goto _12 14979 } 14980 14981 func() int32 { 14982 if int32(_pPager.X10) == i32(0) { 14983 return i32(0) 14984 } 14985 return func() int32 { 14986 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52922), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerWriteØ00__func__Ø000))), unsafe.Pointer(str(11212))) 14987 crt.X__builtin_abort(tls) 14988 return i32(0) 14989 }() 14990 }() 14991 r0 = _pagerWriteLargeSector(tls, _pPg) 14992 return 14993 14994 _12: 14995 r0 = _pager_write(tls, _pPg) 14996 return 14997 14998 } 14999 15000 var _sqlite3PagerWriteØ00__func__Ø000 [18]int8 // - 15001 15002 func init() { 15003 crt.Xstrncpy(nil, &_sqlite3PagerWriteØ00__func__Ø000[0], str(11232), 18) 15004 } 15005 15006 func _assert_pager_state(tls *crt.TLS, _p *XPager) (r0 int32) { // sqlite3.c:47721:1 15007 var _pPager *XPager // sqlite3.c:47722:9 15008 _ = _pPager 15009 _pPager = _p 15010 func() int32 { 15011 if ((((((int32(_p.X14) == i32(0)) || (int32(_p.X14) == i32(1))) || (int32(_p.X14) == i32(2))) || (int32(_p.X14) == i32(3))) || (int32(_p.X14) == i32(4))) || (int32(_p.X14) == i32(5))) || (int32(_p.X14) == i32(6)) { 15012 return i32(0) 15013 } 15014 return func() int32 { 15015 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47725), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11252))) 15016 crt.X__builtin_abort(tls) 15017 return i32(0) 15018 }() 15019 }() 15020 func() int32 { 15021 if (int32(_p.X10) == i32(0)) || (int32(_p.X15) == i32(4)) { 15022 return i32(0) 15023 } 15024 return func() int32 { 15025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47738), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11468))) 15026 crt.X__builtin_abort(tls) 15027 return i32(0) 15028 }() 15029 }() 15030 func() int32 { 15031 if (int32(_p.X10) == i32(0)) || ((_pPager.X16) != 0) { 15032 return i32(0) 15033 } 15034 return func() int32 { 15035 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47739), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11512))) 15036 crt.X__builtin_abort(tls) 15037 return i32(0) 15038 }() 15039 }() 15040 func() int32 { 15041 if (int32(_p.X2) == i32(2)) || ((_p.X3) != 0) { 15042 return i32(0) 15043 } 15044 return func() int32 { 15045 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47744), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11556))) 15046 crt.X__builtin_abort(tls) 15047 return i32(0) 15048 }() 15049 }() 15050 func() int32 { 15051 if (int32(_p.X2) != i32(2)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_p.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 15052 return i32(0) 15053 } 15054 return func() int32 { 15055 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47745), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11612))) 15056 crt.X__builtin_abort(tls) 15057 return i32(0) 15058 }() 15059 }() 15060 if (_pPager.X13) == 0 { 15061 goto _20 15062 } 15063 15064 func() int32 { 15065 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_p.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 15066 return i32(0) 15067 } 15068 return func() int32 { 15069 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47756), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11672))) 15070 crt.X__builtin_abort(tls) 15071 return i32(0) 15072 }() 15073 }() 15074 func() int32 { 15075 if (_p.X4) != 0 { 15076 return i32(0) 15077 } 15078 return func() int32 { 15079 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47757), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11688))) 15080 crt.X__builtin_abort(tls) 15081 return i32(0) 15082 }() 15083 }() 15084 func() int32 { 15085 if (int32(_p.X2) == i32(2)) || (int32(_p.X2) == i32(4)) { 15086 return i32(0) 15087 } 15088 return func() int32 { 15089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47758), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11700))) 15090 crt.X__builtin_abort(tls) 15091 return i32(0) 15092 }() 15093 }() 15094 func() int32 { 15095 if (int32(_p.X14) != i32(6)) && (int32(_p.X14) != i32(0)) { 15096 return i32(0) 15097 } 15098 return func() int32 { 15099 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47761), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11784))) 15100 crt.X__builtin_abort(tls) 15101 return i32(0) 15102 }() 15103 }() 15104 func() int32 { 15105 if bool2int((*XWal)(unsafe.Pointer(_p.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0) { 15106 return i32(0) 15107 } 15108 return func() int32 { 15109 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47762), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11832))) 15110 crt.X__builtin_abort(tls) 15111 return i32(0) 15112 }() 15113 }() 15114 _20: 15115 func() int32 { 15116 if (int32(_pPager.X16) == i32(0)) || (int32(_pPager.X15) >= i32(2)) { 15117 return i32(0) 15118 } 15119 return func() int32 { 15120 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47768), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11852))) 15121 crt.X__builtin_abort(tls) 15122 return i32(0) 15123 }() 15124 }() 15125 func() int32 { 15126 if int32(_p.X15) != i32(3) { 15127 return i32(0) 15128 } 15129 return func() int32 { 15130 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47769), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11912))) 15131 crt.X__builtin_abort(tls) 15132 return i32(0) 15133 }() 15134 }() 15135 switch int32(_p.X14) { 15136 case i32(0): 15137 goto _39 15138 case i32(1): 15139 goto _40 15140 case i32(2): 15141 goto _41 15142 case i32(3): 15143 goto _42 15144 case i32(4): 15145 goto _43 15146 case i32(5): 15147 goto _44 15148 case i32(6): 15149 goto _45 15150 default: 15151 goto _46 15152 } 15153 15154 _39: 15155 func() int32 { 15156 if (_pPager.X13) == 0 { 15157 return i32(0) 15158 } 15159 return func() int32 { 15160 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47773), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11936))) 15161 crt.X__builtin_abort(tls) 15162 return i32(0) 15163 }() 15164 }() 15165 func() int32 { 15166 if (_pPager.X26) == i32(0) { 15167 return i32(0) 15168 } 15169 return func() int32 { 15170 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47774), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11944))) 15171 crt.X__builtin_abort(tls) 15172 return i32(0) 15173 }() 15174 }() 15175 func() int32 { 15176 if (_sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) == i32(0)) || ((_pPager.X10) != 0) { 15177 return i32(0) 15178 } 15179 return func() int32 { 15180 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47775), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11972))) 15181 crt.X__builtin_abort(tls) 15182 return i32(0) 15183 }() 15184 }() 15185 goto _46 15186 15187 _40: 15188 func() int32 { 15189 if (_pPager.X26) == i32(0) { 15190 return i32(0) 15191 } 15192 return func() int32 { 15193 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47779), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11944))) 15194 crt.X__builtin_abort(tls) 15195 return i32(0) 15196 }() 15197 }() 15198 func() int32 { 15199 if int32(_p.X15) != i32(5) { 15200 return i32(0) 15201 } 15202 return func() int32 { 15203 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47780), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12036))) 15204 crt.X__builtin_abort(tls) 15205 return i32(0) 15206 }() 15207 }() 15208 func() int32 { 15209 if int32(_p.X15) >= i32(1) { 15210 return i32(0) 15211 } 15212 return func() int32 { 15213 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47781), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12060))) 15214 crt.X__builtin_abort(tls) 15215 return i32(0) 15216 }() 15217 }() 15218 goto _46 15219 15220 _41: 15221 func() int32 { 15222 if int32(_p.X15) != i32(5) { 15223 return i32(0) 15224 } 15225 return func() int32 { 15226 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47785), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12036))) 15227 crt.X__builtin_abort(tls) 15228 return i32(0) 15229 }() 15230 }() 15231 func() int32 { 15232 if (_pPager.X26) == i32(0) { 15233 return i32(0) 15234 } 15235 return func() int32 { 15236 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47786), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11944))) 15237 crt.X__builtin_abort(tls) 15238 return i32(0) 15239 }() 15240 }() 15241 if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 15242 goto _64 15243 } 15244 15245 func() int32 { 15246 if int32(_p.X15) >= i32(2) { 15247 return i32(0) 15248 } 15249 return func() int32 { 15250 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47788), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12084))) 15251 crt.X__builtin_abort(tls) 15252 return i32(0) 15253 }() 15254 }() 15255 _64: 15256 func() int32 { 15257 if (_pPager.X22) == (_pPager.X23) { 15258 return i32(0) 15259 } 15260 return func() int32 { 15261 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47790), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12108))) 15262 crt.X__builtin_abort(tls) 15263 return i32(0) 15264 }() 15265 }() 15266 func() int32 { 15267 if (_pPager.X23) == (_pPager.X24) { 15268 return i32(0) 15269 } 15270 return func() int32 { 15271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47791), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12144))) 15272 crt.X__builtin_abort(tls) 15273 return i32(0) 15274 }() 15275 }() 15276 func() int32 { 15277 if (_pPager.X23) == (_pPager.X25) { 15278 return i32(0) 15279 } 15280 return func() int32 { 15281 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47792), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12184))) 15282 crt.X__builtin_abort(tls) 15283 return i32(0) 15284 }() 15285 }() 15286 func() int32 { 15287 if int32(_pPager.X17) == i32(0) { 15288 return i32(0) 15289 } 15290 return func() int32 { 15291 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47793), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12224))) 15292 crt.X__builtin_abort(tls) 15293 return i32(0) 15294 }() 15295 }() 15296 goto _46 15297 15298 _42: 15299 func() int32 { 15300 if int32(_p.X15) != i32(5) { 15301 return i32(0) 15302 } 15303 return func() int32 { 15304 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47797), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12036))) 15305 crt.X__builtin_abort(tls) 15306 return i32(0) 15307 }() 15308 }() 15309 func() int32 { 15310 if (_pPager.X26) == i32(0) { 15311 return i32(0) 15312 } 15313 return func() int32 { 15314 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47798), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11944))) 15315 crt.X__builtin_abort(tls) 15316 return i32(0) 15317 }() 15318 }() 15319 if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 15320 goto _79 15321 } 15322 15323 func() int32 { 15324 if int32(_p.X15) >= i32(2) { 15325 return i32(0) 15326 } 15327 return func() int32 { 15328 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47805), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12084))) 15329 crt.X__builtin_abort(tls) 15330 return i32(0) 15331 }() 15332 }() 15333 func() int32 { 15334 if (((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_p.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_p.X2) == i32(2))) || (int32(_p.X2) == i32(5)) { 15335 return i32(0) 15336 } 15337 return func() int32 { 15338 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47806), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12248))) 15339 crt.X__builtin_abort(tls) 15340 return i32(0) 15341 }() 15342 }() 15343 _79: 15344 func() int32 { 15345 if (_pPager.X23) == (_pPager.X24) { 15346 return i32(0) 15347 } 15348 return func() int32 { 15349 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47811), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12144))) 15350 crt.X__builtin_abort(tls) 15351 return i32(0) 15352 }() 15353 }() 15354 func() int32 { 15355 if (_pPager.X23) == (_pPager.X25) { 15356 return i32(0) 15357 } 15358 return func() int32 { 15359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47812), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12184))) 15360 crt.X__builtin_abort(tls) 15361 return i32(0) 15362 }() 15363 }() 15364 goto _46 15365 15366 _43: 15367 func() int32 { 15368 if int32(_p.X15) == i32(4) { 15369 return i32(0) 15370 } 15371 return func() int32 { 15372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47816), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12348))) 15373 crt.X__builtin_abort(tls) 15374 return i32(0) 15375 }() 15376 }() 15377 func() int32 { 15378 if (_pPager.X26) == i32(0) { 15379 return i32(0) 15380 } 15381 return func() int32 { 15382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47817), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11944))) 15383 crt.X__builtin_abort(tls) 15384 return i32(0) 15385 }() 15386 }() 15387 func() int32 { 15388 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 15389 return i32(0) 15390 } 15391 return func() int32 { 15392 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47818), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12376))) 15393 crt.X__builtin_abort(tls) 15394 return i32(0) 15395 }() 15396 }() 15397 func() int32 { 15398 if int32(_p.X15) >= i32(4) { 15399 return i32(0) 15400 } 15401 return func() int32 { 15402 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47819), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12400))) 15403 crt.X__builtin_abort(tls) 15404 return i32(0) 15405 }() 15406 }() 15407 func() int32 { 15408 if (((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_p.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_p.X2) == i32(2))) || (int32(_p.X2) == i32(5)) { 15409 return i32(0) 15410 } 15411 return func() int32 { 15412 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47820), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12248))) 15413 crt.X__builtin_abort(tls) 15414 return i32(0) 15415 }() 15416 }() 15417 func() int32 { 15418 if (_pPager.X23) <= (_pPager.X25) { 15419 return i32(0) 15420 } 15421 return func() int32 { 15422 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47824), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12428))) 15423 crt.X__builtin_abort(tls) 15424 return i32(0) 15425 }() 15426 }() 15427 goto _46 15428 15429 _44: 15430 func() int32 { 15431 if int32(_p.X15) == i32(4) { 15432 return i32(0) 15433 } 15434 return func() int32 { 15435 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47828), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12348))) 15436 crt.X__builtin_abort(tls) 15437 return i32(0) 15438 }() 15439 }() 15440 func() int32 { 15441 if (_pPager.X26) == i32(0) { 15442 return i32(0) 15443 } 15444 return func() int32 { 15445 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47829), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(11944))) 15446 crt.X__builtin_abort(tls) 15447 return i32(0) 15448 }() 15449 }() 15450 func() int32 { 15451 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 15452 return i32(0) 15453 } 15454 return func() int32 { 15455 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47830), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12376))) 15456 crt.X__builtin_abort(tls) 15457 return i32(0) 15458 }() 15459 }() 15460 func() int32 { 15461 if (((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_p.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_p.X2) == i32(2))) || (int32(_p.X2) == i32(5)) { 15462 return i32(0) 15463 } 15464 return func() int32 { 15465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47831), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12248))) 15466 crt.X__builtin_abort(tls) 15467 return i32(0) 15468 }() 15469 }() 15470 goto _46 15471 15472 _45: 15473 func() int32 { 15474 if (_pPager.X26) != i32(0) { 15475 return i32(0) 15476 } 15477 return func() int32 { 15478 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47842), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12468))) 15479 crt.X__builtin_abort(tls) 15480 return i32(0) 15481 }() 15482 }() 15483 func() int32 { 15484 if (_sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) > i32(0)) || ((_pPager.X10) != 0) { 15485 return i32(0) 15486 } 15487 return func() int32 { 15488 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(47843), unsafe.Pointer((*int8)(unsafe.Pointer(&_assert_pager_stateØ00__func__Ø000))), unsafe.Pointer(str(12496))) 15489 crt.X__builtin_abort(tls) 15490 return i32(0) 15491 }() 15492 }() 15493 goto _46 15494 15495 _46: 15496 r0 = i32(1) 15497 return 15498 15499 } 15500 15501 var _assert_pager_stateØ00__func__Ø000 [19]int8 // - 15502 15503 func init() { 15504 crt.Xstrncpy(nil, &_assert_pager_stateØ00__func__Ø000[0], str(12560), 19) 15505 } 15506 15507 func _sqlite3PcacheRefCount(tls *crt.TLS, _pCache *XPCache) (r0 int32) { // sqlite3.c:44862:1 15508 r0 = _pCache.X3 15509 return 15510 15511 } 15512 15513 func _subjournalPageIfRequired(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:51344:1 15514 if _subjRequiresPage(tls, _pPg) == 0 { 15515 goto _0 15516 } 15517 15518 r0 = _subjournalPage(tls, _pPg) 15519 return 15520 15521 _0: 15522 r0 = i32(0) 15523 return 15524 15525 } 15526 15527 func _subjRequiresPage(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:47938:1 15528 var _pPager *XPager // sqlite3.c:47939:9 15529 _ = _pPager 15530 var _p *XPagerSavepoint // sqlite3.c:47940:18 15531 _ = _p 15532 var _pgno uint32 // sqlite3.c:47941:8 15533 _ = _pgno 15534 var _i int32 // sqlite3.c:47942:7 15535 _ = _i 15536 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 15537 _pgno = _pPg.X5 15538 _i = i32(0) 15539 _0: 15540 if _i >= (_pPager.X38) { 15541 goto _3 15542 } 15543 15544 _p = (*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 44*uintptr(_i))) 15545 if (_p.X3) < _pgno || i32(0) != _sqlite3BitvecTestNotNull(tls, (*XBitvec)(unsafe.Pointer(_p.X2)), _pgno) { 15546 goto _5 15547 } 15548 15549 r0 = i32(1) 15550 return 15551 15552 _5: 15553 _i += 1 15554 goto _0 15555 15556 _3: 15557 r0 = i32(0) 15558 return 15559 15560 } 15561 15562 func _sqlite3BitvecTestNotNull(tls *crt.TLS, _p *XBitvec, _i uint32) (r0 int32) { // sqlite3.c:43794:1 15563 var _1_bin uint32 // sqlite3.c:43799:9 15564 _ = _1_bin 15565 var _4_h uint32 // sqlite3.c:43809:9 15566 _ = _4_h 15567 func() int32 { 15568 if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 15569 return i32(0) 15570 } 15571 return func() int32 { 15572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43795), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BitvecTestNotNullØ00__func__Ø000))), unsafe.Pointer(str(824))) 15573 crt.X__builtin_abort(tls) 15574 return i32(0) 15575 }() 15576 }() 15577 _i -= 1 15578 if _i < (_p.X0) { 15579 goto _2 15580 } 15581 15582 r0 = i32(0) 15583 return 15584 15585 _2: 15586 _3: 15587 if (_p.X2) == 0 { 15588 goto _4 15589 } 15590 15591 _1_bin = _i / (_p.X2) 15592 _i = _i % (_p.X2) 15593 _p = *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_bin))) 15594 if _p != nil { 15595 goto _5 15596 } 15597 15598 r0 = i32(0) 15599 return 15600 15601 _5: 15602 goto _3 15603 15604 _4: 15605 if (_p.X0) > u32(4000) { 15606 goto _6 15607 } 15608 15609 r0 = bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[500]uint8)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 1*uintptr(_i/uint32(i32(8)))))) & (i32(1) << uint(int32(_i&uint32(i32(7)))))) != i32(0)) 15610 return 15611 15612 _6: 15613 _4_h = (postInc985(&_i, uint32(1)) * uint32(i32(1))) % u32(125) 15614 _8: 15615 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_4_h)))) == 0 { 15616 goto _9 15617 } 15618 15619 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_4_h)))) != _i { 15620 goto _10 15621 } 15622 15623 r0 = i32(1) 15624 return 15625 15626 _10: 15627 _4_h = (_4_h + uint32(i32(1))) % u32(125) 15628 goto _8 15629 15630 _9: 15631 r0 = i32(0) 15632 return 15633 15634 } 15635 15636 var _sqlite3BitvecTestNotNullØ00__func__Ø000 [25]int8 // - 15637 15638 func init() { 15639 crt.Xstrncpy(nil, &_sqlite3BitvecTestNotNullØ00__func__Ø000[0], str(12580), 25) 15640 } 15641 15642 func _subjournalPage(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:51307:1 15643 var _rc int32 // sqlite3.c:51308:7 15644 _ = _rc 15645 var _pPager *XPager // sqlite3.c:51309:9 15646 _ = _pPager 15647 var _2_pData unsafe.Pointer // sqlite3.c:51325:12 15648 _ = _2_pData 15649 var _2_offset int64 // sqlite3.c:51326:11 15650 _ = _2_offset 15651 var _2_pData2 *int8 // sqlite3.c:51327:12 15652 _ = _2_pData2 15653 _rc = i32(0) 15654 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 15655 if int32(_pPager.X2) == i32(2) { 15656 goto _0 15657 } 15658 15659 func() int32 { 15660 if (_pPager.X3) != 0 { 15661 return i32(0) 15662 } 15663 return func() int32 { 15664 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51313), unsafe.Pointer((*int8)(unsafe.Pointer(&_subjournalPageØ00__func__Ø000))), unsafe.Pointer(str(12608))) 15665 crt.X__builtin_abort(tls) 15666 return i32(0) 15667 }() 15668 }() 15669 func() int32 { 15670 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) { 15671 return i32(0) 15672 } 15673 return func() int32 { 15674 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51314), unsafe.Pointer((*int8)(unsafe.Pointer(&_subjournalPageØ00__func__Ø000))), unsafe.Pointer(str(12628))) 15675 crt.X__builtin_abort(tls) 15676 return i32(0) 15677 }() 15678 }() 15679 func() int32 { 15680 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X29) == uint32(i32(0))) { 15681 return i32(0) 15682 } 15683 return func() int32 { 15684 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51315), unsafe.Pointer((*int8)(unsafe.Pointer(&_subjournalPageØ00__func__Ø000))), unsafe.Pointer(str(12672))) 15685 crt.X__builtin_abort(tls) 15686 return i32(0) 15687 }() 15688 }() 15689 func() int32 { 15690 if (((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) || _pageInJournal(tls, _pPager, _pPg) != 0) || ((_pPg.X5) > (_pPager.X23)) { 15691 return i32(0) 15692 } 15693 return func() int32 { 15694 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51316), unsafe.Pointer((*int8)(unsafe.Pointer(&_subjournalPageØ00__func__Ø000))), unsafe.Pointer(str(12716))) 15695 crt.X__builtin_abort(tls) 15696 return i32(0) 15697 }() 15698 }() 15699 _rc = _openSubJournal(tls, _pPager) 15700 if _rc != i32(0) { 15701 goto _13 15702 } 15703 15704 _2_pData = _pPg.X1 15705 _2_offset = int64(_pPager.X29) * int64(i32(4)+(_pPager.X48)) 15706 _2_pData2 = (*int8)(unsafe.Pointer(_2_pData)) 15707 _rc = _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), _2_offset, _pPg.X5) 15708 if _rc != i32(0) { 15709 goto _14 15710 } 15711 15712 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), (unsafe.Pointer)(_2_pData2), _pPager.X48, _2_offset+int64(i32(4))) 15713 _14: 15714 _13: 15715 _0: 15716 if _rc != i32(0) { 15717 goto _15 15718 } 15719 15720 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(56 /* X29 */))) += 1 15721 func() int32 { 15722 if (_pPager.X38) > i32(0) { 15723 return i32(0) 15724 } 15725 return func() int32 { 15726 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51339), unsafe.Pointer((*int8)(unsafe.Pointer(&_subjournalPageØ00__func__Ø000))), unsafe.Pointer(str(12800))) 15727 crt.X__builtin_abort(tls) 15728 return i32(0) 15729 }() 15730 }() 15731 _rc = _addToSavepointBitvecs(tls, _pPager, _pPg.X5) 15732 _15: 15733 r0 = _rc 15734 return 15735 15736 } 15737 15738 var _subjournalPageØ00__func__Ø000 [15]int8 // - 15739 15740 func init() { 15741 crt.Xstrncpy(nil, &_subjournalPageØ00__func__Ø000[0], str(12824), 15) 15742 } 15743 15744 func _pageInJournal(tls *crt.TLS, _pPager *XPager, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:47956:1 15745 r0 = _sqlite3BitvecTest(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pPg.X5) 15746 return 15747 15748 } 15749 15750 func _sqlite3BitvecTest(tls *crt.TLS, _p *XBitvec, _i uint32) (r0 int32) { // sqlite3.c:43817:1 15751 r0 = bool2int((_p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0))))) && _sqlite3BitvecTestNotNull(tls, _p, _i) != 0) 15752 return 15753 15754 } 15755 15756 func _openSubJournal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51281:1 15757 var _rc int32 // sqlite3.c:51282:7 15758 _ = _rc 15759 var _1_flags int32 // sqlite3.c:51284:15 15760 _ = _1_flags 15761 var _1_nStmtSpill int32 // sqlite3.c:51287:9 15762 _ = _1_nStmtSpill 15763 _rc = i32(0) 15764 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 15765 goto _0 15766 } 15767 15768 _1_flags = i32(8222) 15769 _1_nStmtSpill = _sqlite3Config.X9 15770 if int32(_pPager.X2) != i32(4) && (_pPager.X19) == 0 { 15771 goto _2 15772 } 15773 15774 _1_nStmtSpill = i32(-1) 15775 _2: 15776 _rc = _sqlite3JournalOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), _1_flags, _1_nStmtSpill) 15777 _0: 15778 r0 = _rc 15779 return 15780 15781 } 15782 15783 func _sqlite3JournalOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zName *int8, _pJfd *Xsqlite3_file, _flags int32, _nSpill int32) (r0 int32) { // sqlite3.c:88948:1 15784 var _p *XMemJournal // sqlite3.c:88955:14 15785 _ = _p 15786 _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) 15787 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(56)) 15788 if _nSpill != i32(0) { 15789 goto _0 15790 } 15791 15792 r0 = _sqlite3OsOpen(tls, _pVfs, _zName, _pJfd, _flags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 15793 return 15794 15795 _0: 15796 if _nSpill <= i32(0) { 15797 goto _1 15798 } 15799 15800 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _nSpill 15801 goto _2 15802 15803 _1: 15804 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = int32(u32(1020)) 15805 func() int32 { 15806 if uint32(i32(1024)) == (u32(12) + uint32((_p.X1)-i32(8))) { 15807 return i32(0) 15808 } 15809 return func() int32 { 15810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88970), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3JournalOpenØ00__func__Ø000))), unsafe.Pointer(str(12840))) 15811 crt.X__builtin_abort(tls) 15812 return i32(0) 15813 }() 15814 }() 15815 _2: 15816 *(**Xsqlite3_io_methods)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = &_MemJournalMethods 15817 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _nSpill 15818 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X7 */))) = _flags 15819 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X9 */))) = _zName 15820 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X8 */))))) = _pVfs 15821 r0 = i32(0) 15822 return 15823 15824 } 15825 15826 func _sqlite3OsOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _pFile *Xsqlite3_file, _flags int32, _pFlagsOut *int32) (r0 int32) { // sqlite3.c:20251:1 15827 var _rc int32 // sqlite3.c:20258:7 15828 _ = _rc 15829 _rc = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&struct { 15830 f func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32 15831 }{(_pVfs.X6)})))(tls, _pVfs, _zPath, _pFile, _flags&i32(556927), _pFlagsOut) 15832 func() int32 { 15833 if (_rc == i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_pFile.X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 15834 return i32(0) 15835 } 15836 return func() int32 { 15837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(20265), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OsOpenØ00__func__Ø000))), unsafe.Pointer(str(12900))) 15838 crt.X__builtin_abort(tls) 15839 return i32(0) 15840 }() 15841 }() 15842 r0 = _rc 15843 return 15844 15845 } 15846 15847 var _sqlite3OsOpenØ00__func__Ø000 [14]int8 // - 15848 15849 func init() { 15850 crt.Xstrncpy(nil, &_sqlite3OsOpenØ00__func__Ø000[0], str(12936), 14) 15851 } 15852 15853 var _sqlite3JournalOpenØ00__func__Ø000 [19]int8 // - 15854 15855 func init() { 15856 crt.Xstrncpy(nil, &_sqlite3JournalOpenØ00__func__Ø000[0], str(12952), 19) 15857 } 15858 15859 var _MemJournalMethods Xsqlite3_io_methods // sqlite3.c:88914:40 15860 15861 func init() { 15862 _MemJournalMethods = Xsqlite3_io_methods{X0: i32(1), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 15863 f func(*crt.TLS, *Xsqlite3_file) int32 15864 }{_memjrnlClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 15865 f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 15866 }{_memjrnlRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 15867 f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 15868 }{_memjrnlWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { 15869 f func(*crt.TLS, *Xsqlite3_file, int64) int32 15870 }{_memjrnlTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 15871 f func(*crt.TLS, *Xsqlite3_file, int32) int32 15872 }{_memjrnlSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 15873 f func(*crt.TLS, *Xsqlite3_file, *int64) int32 15874 }{_memjrnlFileSize})), X7: nil, X8: nil, X9: nil, X10: nil, X11: nil, X12: nil, X13: nil, X14: nil, X15: nil, X16: nil, X17: nil, X18: nil} 15875 } 15876 15877 func _memjrnlClose(tls *crt.TLS, _pJfd *Xsqlite3_file) (r0 int32) { // sqlite3.c:88885:1 15878 var _p *XMemJournal // sqlite3.c:88886:14 15879 _ = _p 15880 _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) 15881 _memjrnlFreeChunks(tls, _p) 15882 r0 = i32(0) 15883 return 15884 15885 } 15886 15887 func _memjrnlFreeChunks(tls *crt.TLS, _p *XMemJournal) { // sqlite3.c:88739:1 15888 var _pIter *XFileChunk // sqlite3.c:88740:13 15889 _ = _pIter 15890 var _pNext *XFileChunk // sqlite3.c:88741:13 15891 _ = _pNext 15892 _pIter = (*XFileChunk)(unsafe.Pointer(_p.X4)) 15893 _0: 15894 if _pIter == nil { 15895 goto _3 15896 } 15897 15898 _pNext = (*XFileChunk)(unsafe.Pointer(_pIter.X0)) 15899 Xsqlite3_free(tls, (unsafe.Pointer)(_pIter)) 15900 _pIter = _pNext 15901 goto _0 15902 15903 _3: 15904 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) 15905 return 15906 15907 } 15908 15909 func _memjrnlRead(tls *crt.TLS, _pJfd *Xsqlite3_file, _zBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { // sqlite3.c:88688:1 15910 var _p *XMemJournal // sqlite3.c:88694:14 15911 _ = _p 15912 var _zOut *uint8 // sqlite3.c:88695:6 15913 _ = _zOut 15914 var _nRead int32 // sqlite3.c:88696:7 15915 _ = _nRead 15916 var _iChunkOffset int32 // sqlite3.c:88697:7 15917 _ = _iChunkOffset 15918 var _pChunk *XFileChunk // sqlite3.c:88698:13 15919 _ = _pChunk 15920 var _1_iOff int64 // sqlite3.c:88709:19 15921 _ = _1_iOff 15922 var _4_iSpace int32 // sqlite3.c:88723:9 15923 _ = _4_iSpace 15924 var _4_nCopy int32 // sqlite3.c:88724:9 15925 _ = _4_nCopy 15926 _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) 15927 _zOut = (*uint8)(unsafe.Pointer(_zBuf)) 15928 _nRead = _iAmt 15929 func() int32 { 15930 if (int64(_iAmt) + _iOfst) <= ((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))).X0) { 15931 return i32(0) 15932 } 15933 return func() int32 { 15934 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88706), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlReadØ00__func__Ø000))), unsafe.Pointer(str(12972))) 15935 crt.X__builtin_abort(tls) 15936 return i32(0) 15937 }() 15938 }() 15939 func() int32 { 15940 if (((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))).X0) == int64(i32(0))) || ((*XFileChunk)(unsafe.Pointer((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))).X1)) != (*XFileChunk)(unsafe.Pointer(uintptr(i32(0))))) { 15941 return i32(0) 15942 } 15943 return func() int32 { 15944 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88707), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlReadØ00__func__Ø000))), unsafe.Pointer(str(13008))) 15945 crt.X__builtin_abort(tls) 15946 return i32(0) 15947 }() 15948 }() 15949 if ((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))).X0) == _iOfst && _iOfst != int64(i32(0)) { 15950 goto _6 15951 } 15952 15953 _1_iOff = i64(0) 15954 _pChunk = (*XFileChunk)(unsafe.Pointer(_p.X4)) 15955 _7: 15956 if func() int32 { 15957 if _pChunk != nil { 15958 return i32(1) 15959 } 15960 return func() int32 { 15961 func() int32 { 15962 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88711), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlReadØ00__func__Ø000))), unsafe.Pointer(str(5204))) 15963 crt.X__builtin_abort(tls) 15964 return i32(0) 15965 }() 15966 return i32(0) 15967 }() 15968 }() == 0 || (_1_iOff+int64(_p.X1)) > _iOfst { 15969 goto _13 15970 } 15971 15972 { 15973 p := &_1_iOff 15974 *p = (*p) + int64(_p.X1) 15975 sink967 = *p 15976 } 15977 _pChunk = (*XFileChunk)(unsafe.Pointer(_pChunk.X0)) 15978 goto _7 15979 15980 _13: 15981 goto _14 15982 15983 _6: 15984 _pChunk = (*XFileChunk)(unsafe.Pointer((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X6 */))).X1)) 15985 func() int32 { 15986 if _pChunk != (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) { 15987 return i32(0) 15988 } 15989 return func() int32 { 15990 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88718), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlReadØ00__func__Ø000))), unsafe.Pointer(str(13060))) 15991 crt.X__builtin_abort(tls) 15992 return i32(0) 15993 }() 15994 }() 15995 _14: 15996 _iChunkOffset = int32(_iOfst % int64(_p.X1)) 15997 _17: 15998 _4_iSpace = (_p.X1) - _iChunkOffset 15999 _4_nCopy = func() int32 { 16000 if _nRead < ((_p.X1) - _iChunkOffset) { 16001 return _nRead 16002 } 16003 return ((_p.X1) - _iChunkOffset) 16004 }() 16005 crt.Xmemcpy(tls, (unsafe.Pointer)(_zOut), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*[8]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChunk))+uintptr(4 /* X1 */)))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_iChunkOffset)))))))), uint32(_4_nCopy)) 16006 { 16007 p := &_zOut 16008 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_4_nCopy))) 16009 sink6921 = *p 16010 } 16011 { 16012 p := &_nRead 16013 *p = (*p) - _4_iSpace 16014 sink961 = *p 16015 } 16016 _iChunkOffset = i32(0) 16017 if ((_nRead >= i32(0)) && (store8290745(&_pChunk, (*XFileChunk)(unsafe.Pointer(_pChunk.X0))) != (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))))) && (_nRead > i32(0)) { 16018 goto _17 16019 } 16020 16021 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))))) + uintptr(0 /* X0 */))) = func() int64 { 16022 if _pChunk != nil { 16023 return (_iOfst + int64(_iAmt)) 16024 } 16025 return int64(i32(0)) 16026 }() 16027 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))))) + uintptr(8 /* X1 */))))) = _pChunk 16028 r0 = i32(0) 16029 return 16030 16031 } 16032 16033 var _memjrnlReadØ00__func__Ø000 [12]int8 // - 16034 16035 func init() { 16036 crt.Xstrncpy(nil, &_memjrnlReadØ00__func__Ø000[0], str(13072), 12) 16037 } 16038 16039 func _memjrnlWrite(tls *crt.TLS, _pJfd *Xsqlite3_file, _zBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) { // sqlite3.c:88791:1 16040 var _p *XMemJournal // sqlite3.c:88797:14 16041 _ = _p 16042 var _nWrite int32 // sqlite3.c:88798:7 16043 _ = _nWrite 16044 var _zWrite *uint8 // sqlite3.c:88799:6 16045 _ = _zWrite 16046 var _1_rc int32 // sqlite3.c:88804:9 16047 _ = _1_rc 16048 var _5_pChunk *XFileChunk // sqlite3.c:88829:19 16049 _ = _5_pChunk 16050 var _5_iChunkOffset int32 // sqlite3.c:88830:13 16051 _ = _5_iChunkOffset 16052 var _5_iSpace int32 // sqlite3.c:88831:13 16053 _ = _5_iSpace 16054 var _6_pNew *XFileChunk // sqlite3.c:88835:21 16055 _ = _6_pNew 16056 _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) 16057 _nWrite = _iAmt 16058 _zWrite = (*uint8)(unsafe.Pointer(_zBuf)) 16059 if (_p.X2) <= i32(0) || (int64(_iAmt)+_iOfst) <= int64(_p.X2) { 16060 goto _1 16061 } 16062 16063 _1_rc = _memjrnlCreateFile(tls, _p) 16064 if _1_rc != i32(0) { 16065 goto _2 16066 } 16067 16068 _1_rc = _sqlite3OsWrite(tls, _pJfd, _zBuf, _iAmt, _iOfst) 16069 _2: 16070 r0 = _1_rc 16071 return 16072 16073 _1: 16074 func() int32 { 16075 if (_iOfst == ((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))).X0)) || (_iOfst == int64(i32(0))) { 16076 return i32(0) 16077 } 16078 return func() int32 { 16079 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88818), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlWriteØ00__func__Ø000))), unsafe.Pointer(str(13084))) 16080 crt.X__builtin_abort(tls) 16081 return i32(0) 16082 }() 16083 }() 16084 func() int32 { 16085 if (_iOfst > int64(i32(0))) || ((*XFileChunk)(unsafe.Pointer(_p.X4)) == (*XFileChunk)(unsafe.Pointer(uintptr(i32(0))))) { 16086 return i32(0) 16087 } 16088 return func() int32 { 16089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88825), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlWriteØ00__func__Ø000))), unsafe.Pointer(str(13124))) 16090 crt.X__builtin_abort(tls) 16091 return i32(0) 16092 }() 16093 }() 16094 _10: 16095 if _nWrite <= i32(0) { 16096 goto _11 16097 } 16098 16099 _5_pChunk = (*XFileChunk)(unsafe.Pointer((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))).X1)) 16100 _5_iChunkOffset = int32(((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))).X0) % int64(_p.X1)) 16101 _5_iSpace = func() int32 { 16102 if _nWrite < ((_p.X1) - _5_iChunkOffset) { 16103 return _nWrite 16104 } 16105 return ((_p.X1) - _5_iChunkOffset) 16106 }() 16107 if _5_iChunkOffset != i32(0) { 16108 goto _14 16109 } 16110 16111 _6_pNew = (*XFileChunk)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u32(12)+uint32((_p.X1)-i32(8)))))) 16112 if _6_pNew != nil { 16113 goto _15 16114 } 16115 16116 r0 = _sqlite3IoerrnomemError(tls, i32(88837)) 16117 return 16118 16119 _15: 16120 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(0 /* X0 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) 16121 if _5_pChunk == nil { 16122 goto _16 16123 } 16124 16125 func() int32 { 16126 if (*XFileChunk)(unsafe.Pointer(_p.X4)) != nil { 16127 return i32(0) 16128 } 16129 return func() int32 { 16130 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88841), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlWriteØ00__func__Ø000))), unsafe.Pointer(str(13148))) 16131 crt.X__builtin_abort(tls) 16132 return i32(0) 16133 }() 16134 }() 16135 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pChunk)) + uintptr(0 /* X0 */))))) = _6_pNew 16136 goto _19 16137 16138 _16: 16139 func() int32 { 16140 if (*XFileChunk)(unsafe.Pointer(_p.X4)) == nil { 16141 return i32(0) 16142 } 16143 return func() int32 { 16144 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88844), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlWriteØ00__func__Ø000))), unsafe.Pointer(str(13160))) 16145 crt.X__builtin_abort(tls) 16146 return i32(0) 16147 }() 16148 }() 16149 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = _6_pNew 16150 _19: 16151 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))))) + uintptr(8 /* X1 */))))) = _6_pNew 16152 _14: 16153 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*[8]uint8)(unsafe.Pointer(uintptr((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X1)+uintptr(4 /* X1 */)))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_5_iChunkOffset)))))))), (unsafe.Pointer)(_zWrite), uint32(_5_iSpace)) 16154 { 16155 p := &_zWrite 16156 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_5_iSpace))) 16157 sink6921 = *p 16158 } 16159 { 16160 p := &_nWrite 16161 *p = (*p) - _5_iSpace 16162 sink961 = *p 16163 } 16164 { 16165 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))))) + uintptr(0 /* X0 */))) 16166 *p = (*p) + int64(_5_iSpace) 16167 sink967 = *p 16168 } 16169 goto _10 16170 16171 _11: 16172 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = int32(int64(_iAmt) + _iOfst) 16173 r0 = i32(0) 16174 return 16175 16176 } 16177 16178 func _memjrnlCreateFile(tls *crt.TLS, _p *XMemJournal) (r0 int32) { // sqlite3.c:88752:1 16179 var _rc int32 // sqlite3.c:88753:7 16180 _ = _rc 16181 var _pReal *Xsqlite3_file // sqlite3.c:88754:16 16182 _ = _pReal 16183 var _copy XMemJournal // sqlite3.c:88755:14 16184 _ = _copy 16185 var _1_nChunk int32 // sqlite3.c:88760:9 16186 _ = _1_nChunk 16187 var _1_iOff int64 // sqlite3.c:88761:9 16188 _ = _1_iOff 16189 var _1_pIter *XFileChunk // sqlite3.c:88762:15 16190 _ = _1_pIter 16191 _pReal = (*Xsqlite3_file)(unsafe.Pointer(_p)) 16192 _copy = *_p 16193 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(56)) 16194 _rc = _sqlite3OsOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_copy.X8)), _copy.X9, _pReal, _copy.X7, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 16195 if _rc != i32(0) { 16196 goto _0 16197 } 16198 16199 _1_nChunk = _copy.X1 16200 _1_iOff = i64(0) 16201 _1_pIter = (*XFileChunk)(unsafe.Pointer(_copy.X4)) 16202 _1: 16203 if _1_pIter == nil { 16204 goto _4 16205 } 16206 16207 if (_1_iOff + int64(_1_nChunk)) <= ((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_copy)) + uintptr(20 /* X5 */))).X0) { 16208 goto _5 16209 } 16210 16211 _1_nChunk = int32(((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_copy)) + uintptr(20 /* X5 */))).X0) - _1_iOff) 16212 _5: 16213 _rc = _sqlite3OsWrite(tls, _pReal, (unsafe.Pointer)((*[8]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIter))+uintptr(4 /* X1 */)))), _1_nChunk, _1_iOff) 16214 if _rc == 0 { 16215 goto _6 16216 } 16217 16218 goto _4 16219 16220 _6: 16221 { 16222 p := &_1_iOff 16223 *p = (*p) + int64(_1_nChunk) 16224 sink967 = *p 16225 } 16226 _1_pIter = (*XFileChunk)(unsafe.Pointer(_1_pIter.X0)) 16227 goto _1 16228 16229 _4: 16230 if _rc != i32(0) { 16231 goto _7 16232 } 16233 16234 _memjrnlFreeChunks(tls, &_copy) 16235 _7: 16236 _0: 16237 if _rc == i32(0) { 16238 goto _8 16239 } 16240 16241 _sqlite3OsClose(tls, _pReal) 16242 *_p = _copy 16243 _8: 16244 r0 = _rc 16245 return 16246 16247 } 16248 16249 func _sqlite3OsWrite(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:20143:1 16250 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 16251 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 16252 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X3)})))(tls, _id, _pBuf, _amt, _offset) 16253 return 16254 16255 } 16256 16257 func _sqlite3OsClose(tls *crt.TLS, _pId *Xsqlite3_file) { // sqlite3.c:20133:1 16258 if (*Xsqlite3_io_methods)(unsafe.Pointer(_pId.X0)) == nil { 16259 goto _0 16260 } 16261 16262 (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 16263 f func(*crt.TLS, unsafe.Pointer) int32 16264 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_pId.X0)).X1)})))(tls, _pId) 16265 *(**Xsqlite3_io_methods)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pId)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) 16266 _0: 16267 return 16268 16269 } 16270 16271 var _memjrnlWriteØ00__func__Ø000 [13]int8 // - 16272 16273 func init() { 16274 crt.Xstrncpy(nil, &_memjrnlWriteØ00__func__Ø000[0], str(13172), 13) 16275 } 16276 16277 func Xsqlite3_malloc(tls *crt.TLS, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:24481:12 16278 if Xsqlite3_initialize(tls) == 0 { 16279 goto _0 16280 } 16281 16282 r0 = (unsafe.Pointer)(uintptr(i32(0))) 16283 return 16284 16285 _0: 16286 r0 = func() unsafe.Pointer { 16287 if _n <= i32(0) { 16288 return unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) 16289 } 16290 return _sqlite3Malloc(tls, uint64(_n)) 16291 }() 16292 return 16293 16294 } 16295 16296 func _sqlite3IoerrnomemError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143245:1 16297 r0 = _reportError(tls, i32(3082), _lineno, str(13188)) 16298 return 16299 16300 } 16301 16302 func _memjrnlTruncate(tls *crt.TLS, _pJfd *Xsqlite3_file, _size int64) (r0 int32) { // sqlite3.c:88869:1 16303 var _p *XMemJournal // sqlite3.c:88870:14 16304 _ = _p 16305 _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) 16306 if func() int32 { 16307 if _size == int64(i32(0)) { 16308 return i32(1) 16309 } 16310 return func() int32 { 16311 func() int32 { 16312 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88871), unsafe.Pointer((*int8)(unsafe.Pointer(&_memjrnlTruncateØ00__func__Ø000))), unsafe.Pointer(str(5204))) 16313 crt.X__builtin_abort(tls) 16314 return i32(0) 16315 }() 16316 return i32(0) 16317 }() 16318 }() == 0 { 16319 goto _2 16320 } 16321 16322 _memjrnlFreeChunks(tls, _p) 16323 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = i32(0) 16324 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))))) + uintptr(8 /* X1 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) 16325 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))))) + uintptr(0 /* X0 */))) = int64(i32(0)) 16326 *(**XFileChunk)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))))) + uintptr(8 /* X1 */))))) = (*XFileChunk)(unsafe.Pointer(uintptr(i32(0)))) 16327 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X6 */))))) + uintptr(0 /* X0 */))) = int64(i32(0)) 16328 _2: 16329 r0 = i32(0) 16330 return 16331 16332 } 16333 16334 var _memjrnlTruncateØ00__func__Ø000 [16]int8 // - 16335 16336 func init() { 16337 crt.Xstrncpy(nil, &_memjrnlTruncateØ00__func__Ø000[0], str(13204), 16) 16338 } 16339 16340 func _memjrnlSync(tls *crt.TLS, _pJfd *Xsqlite3_file, _flags int32) (r0 int32) { // sqlite3.c:88897:1 16341 func() int32 { ; return _flags }() 16342 r0 = i32(0) 16343 return 16344 16345 } 16346 16347 func _memjrnlFileSize(tls *crt.TLS, _pJfd *Xsqlite3_file, _pSize *int64) (r0 int32) { // sqlite3.c:88905:1 16348 var _p *XMemJournal // sqlite3.c:88906:14 16349 _ = _p 16350 _p = (*XMemJournal)(unsafe.Pointer(_pJfd)) 16351 *_pSize = (*T8290474)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))).X0 16352 r0 = i32(0) 16353 return 16354 16355 } 16356 16357 func _write32bits(tls *crt.TLS, _fd *Xsqlite3_file, _offset int64, _val uint32) (r0 int32) { // sqlite3.c:47987:1 16358 var _ac [4]int8 // sqlite3.c:47988:8 16359 _ = _ac 16360 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(&_ac)))), _val) 16361 r0 = _sqlite3OsWrite(tls, _fd, (unsafe.Pointer)(&_ac), i32(4), _offset) 16362 return 16363 16364 } 16365 16366 func _sqlite3Put4byte(tls *crt.TLS, _p *uint8, _v uint32) { // sqlite3.c:28770:1 16367 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0)))) = uint8(_v >> uint(i32(24))) 16368 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(1)))) = uint8(_v >> uint(i32(16))) 16369 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(2)))) = uint8(_v >> uint(i32(8))) 16370 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(3)))) = uint8(_v) 16371 return 16372 16373 } 16374 16375 func _addToSavepointBitvecs(tls *crt.TLS, _pPager *XPager, _pgno uint32) (r0 int32) { // sqlite3.c:48640:1 16376 var _ii int32 // sqlite3.c:48641:7 16377 _ = _ii 16378 var _rc int32 // sqlite3.c:48642:7 16379 _ = _rc 16380 var _1_p *XPagerSavepoint // sqlite3.c:48645:20 16381 _ = _1_p 16382 _rc = i32(0) 16383 _ii = i32(0) 16384 _0: 16385 if _ii >= (_pPager.X38) { 16386 goto _3 16387 } 16388 16389 _1_p = (*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 44*uintptr(_ii))) 16390 if _pgno > (_1_p.X3) { 16391 goto _4 16392 } 16393 16394 { 16395 p := &_rc 16396 *p = (*p) | _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_1_p.X2)), _pgno) 16397 sink961 = *p 16398 } 16399 func() int32 { 16400 if (_rc == i32(0)) || (_rc == i32(7)) { 16401 return i32(0) 16402 } 16403 return func() int32 { 16404 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48649), unsafe.Pointer((*int8)(unsafe.Pointer(&_addToSavepointBitvecsØ00__func__Ø000))), unsafe.Pointer(str(5396))) 16405 crt.X__builtin_abort(tls) 16406 return i32(0) 16407 }() 16408 }() 16409 _4: 16410 _ii += 1 16411 goto _0 16412 16413 _3: 16414 r0 = _rc 16415 return 16416 16417 } 16418 16419 func _sqlite3BitvecSet(tls *crt.TLS, _p *XBitvec, _i uint32) (r0 int32) { // sqlite3.c:43833:1 16420 var _h uint32 // sqlite3.c:43834:7 16421 _ = _h 16422 var _1_bin uint32 // sqlite3.c:43840:9 16423 _ = _1_bin 16424 var _8_j uint32 // sqlite3.c:43875:18 16425 _ = _8_j 16426 var _8_rc int32 // sqlite3.c:43876:9 16427 _ = _8_rc 16428 var _8_aiValues *uint32 // sqlite3.c:43877:9 16429 _ = _8_aiValues 16430 if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 16431 goto _0 16432 } 16433 16434 r0 = i32(0) 16435 return 16436 16437 _0: 16438 func() int32 { 16439 if _i > uint32(i32(0)) { 16440 return i32(0) 16441 } 16442 return func() int32 { 16443 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43836), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BitvecSetØ00__func__Ø000))), unsafe.Pointer(str(13220))) 16444 crt.X__builtin_abort(tls) 16445 return i32(0) 16446 }() 16447 }() 16448 func() int32 { 16449 if _i <= (_p.X0) { 16450 return i32(0) 16451 } 16452 return func() int32 { 16453 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43837), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BitvecSetØ00__func__Ø000))), unsafe.Pointer(str(13224))) 16454 crt.X__builtin_abort(tls) 16455 return i32(0) 16456 }() 16457 }() 16458 _i -= 1 16459 _5: 16460 if (_p.X0) <= u32(4000) || (_p.X2) == 0 { 16461 goto _6 16462 } 16463 16464 _1_bin = _i / (_p.X2) 16465 _i = _i % (_p.X2) 16466 if (*(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_bin)))) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 16467 goto _8 16468 } 16469 16470 *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_bin))) = _sqlite3BitvecCreate(tls, _p.X2) 16471 if (*(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_bin)))) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 16472 goto _9 16473 } 16474 16475 r0 = _sqlite3NomemError(tls, i32(43844)) 16476 return 16477 16478 _9: 16479 _8: 16480 _p = *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_bin))) 16481 goto _5 16482 16483 _6: 16484 if (_p.X0) > u32(4000) { 16485 goto _10 16486 } 16487 16488 { 16489 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[500]uint8)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 1*uintptr(_i/uint32(i32(8))))) 16490 *p = uint8(int32(*p) | (i32(1) << uint(int32(_i&uint32(i32(7)))))) 16491 sink6915 = *p 16492 } 16493 r0 = i32(0) 16494 return 16495 16496 _10: 16497 _h = (postInc985(&_i, uint32(1)) * uint32(i32(1))) % u32(125) 16498 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_h)))) != 0 { 16499 goto _11 16500 } 16501 16502 if (_p.X1) >= u32(124) { 16503 goto _12 16504 } 16505 16506 goto _bitvec_set_end 16507 16508 _12: 16509 goto _bitvec_set_rehash 16510 16511 _11: 16512 _14: 16513 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_h)))) != _i { 16514 goto _15 16515 } 16516 16517 r0 = i32(0) 16518 return 16519 16520 _15: 16521 _h += 1 16522 if _h < u32(125) { 16523 goto _16 16524 } 16525 16526 _h = uint32(i32(0)) 16527 _16: 16528 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_h)))) != 0 { 16529 goto _14 16530 } 16531 16532 _bitvec_set_rehash: 16533 if (_p.X1) < u32(62) { 16534 goto _17 16535 } 16536 16537 _8_aiValues = (*uint32)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(u32(500))))) 16538 if _8_aiValues != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 16539 goto _18 16540 } 16541 16542 r0 = _sqlite3NomemError(tls, i32(43879)) 16543 return 16544 16545 _18: 16546 crt.Xmemcpy(tls, (unsafe.Pointer)(_8_aiValues), (unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */)))))), u32(500)) 16547 crt.Xmemset(tls, (unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */)))))), i32(0), u32(500)) 16548 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = (((_p.X0) + u32(125)) - uint32(i32(1))) / u32(125) 16549 _8_rc = _sqlite3BitvecSet(tls, _p, _i) 16550 _8_j = uint32(i32(0)) 16551 _20: 16552 if _8_j >= u32(125) { 16553 goto _23 16554 } 16555 16556 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aiValues)) + 4*uintptr(_8_j)))) == 0 { 16557 goto _24 16558 } 16559 16560 { 16561 p := &_8_rc 16562 *p = (*p) | _sqlite3BitvecSet(tls, _p, *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aiValues)) + 4*uintptr(_8_j)))) 16563 sink961 = *p 16564 } 16565 _24: 16566 _8_j += 1 16567 goto _20 16568 16569 _23: 16570 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_8_aiValues)) 16571 r0 = _8_rc 16572 return 16573 16574 _17: 16575 _bitvec_set_end: 16576 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 16577 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_h))) = _i 16578 r0 = i32(0) 16579 return 16580 16581 } 16582 16583 var _sqlite3BitvecSetØ00__func__Ø000 [17]int8 // - 16584 16585 func init() { 16586 crt.Xstrncpy(nil, &_sqlite3BitvecSetØ00__func__Ø000[0], str(13236), 17) 16587 } 16588 16589 func _sqlite3BitvecCreate(tls *crt.TLS, _iSize uint32) (r0 *XBitvec) { // sqlite3.c:43779:1 16590 var _p *XBitvec // sqlite3.c:43780:10 16591 _ = _p 16592 i32(0) 16593 _p = (*XBitvec)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(512))))) 16594 if _p == nil { 16595 goto _0 16596 } 16597 16598 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _iSize 16599 _0: 16600 r0 = _p 16601 return 16602 16603 } 16604 16605 var _addToSavepointBitvecsØ00__func__Ø000 [22]int8 // - 16606 16607 func init() { 16608 crt.Xstrncpy(nil, &_addToSavepointBitvecsØ00__func__Ø000[0], str(13256), 22) 16609 } 16610 16611 func _pagerWriteLargeSector(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52817:1 16612 var _rc int32 // sqlite3.c:52818:7 16613 _ = _rc 16614 var _nPageCount uint32 // sqlite3.c:52819:8 16615 _ = _nPageCount 16616 var _pg1 uint32 // sqlite3.c:52820:8 16617 _ = _pg1 16618 var _nPage int32 // sqlite3.c:52821:7 16619 _ = _nPage 16620 var _ii int32 // sqlite3.c:52822:7 16621 _ = _ii 16622 var _needSync int32 // sqlite3.c:52823:7 16623 _ = _needSync 16624 var _pPager *XPager // sqlite3.c:52824:9 16625 _ = _pPager 16626 var _nPagePerSector uint32 // sqlite3.c:52825:8 16627 _ = _nPagePerSector 16628 var _4_pg uint32 // sqlite3.c:52854:10 16629 _ = _4_pg 16630 var _4_pPage *XPgHdr // sqlite3.c:52855:11 16631 _ = _4_pPage 16632 var _12_pPage *XPgHdr // sqlite3.c:52884:13 16633 _ = _12_pPage 16634 _rc = i32(0) 16635 _nPage = i32(0) 16636 _needSync = i32(0) 16637 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 16638 _nPagePerSector = (_pPager.X47) / uint32(_pPager.X48) 16639 func() int32 { 16640 if (_pPager.X13) == 0 { 16641 return i32(0) 16642 } 16643 return func() int32 { 16644 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52831), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(11936))) 16645 crt.X__builtin_abort(tls) 16646 return i32(0) 16647 }() 16648 }() 16649 func() int32 { 16650 if (int32(_pPager.X18) & i32(4)) == i32(0) { 16651 return i32(0) 16652 } 16653 return func() int32 { 16654 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52832), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(13280))) 16655 crt.X__builtin_abort(tls) 16656 return i32(0) 16657 }() 16658 }() 16659 { 16660 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X18 */))) 16661 *p = uint8(int32(*p) | i32(4)) 16662 sink6915 = *p 16663 } 16664 _pg1 = (((_pPg.X5) - uint32(i32(1))) & (^(_nPagePerSector - uint32(i32(1))))) + uint32(i32(1)) 16665 _nPageCount = _pPager.X22 16666 if (_pPg.X5) <= _nPageCount { 16667 goto _4 16668 } 16669 16670 _nPage = int32(((_pPg.X5) - _pg1) + uint32(i32(1))) 16671 goto _5 16672 16673 _4: 16674 if ((_pg1 + _nPagePerSector) - uint32(i32(1))) <= _nPageCount { 16675 goto _6 16676 } 16677 16678 _nPage = int32((_nPageCount + uint32(i32(1))) - _pg1) 16679 goto _7 16680 16681 _6: 16682 _nPage = int32(_nPagePerSector) 16683 _7: 16684 _5: 16685 func() int32 { 16686 if _nPage > i32(0) { 16687 return i32(0) 16688 } 16689 return func() int32 { 16690 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52849), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(13324))) 16691 crt.X__builtin_abort(tls) 16692 return i32(0) 16693 }() 16694 }() 16695 func() int32 { 16696 if _pg1 <= (_pPg.X5) { 16697 return i32(0) 16698 } 16699 return func() int32 { 16700 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52850), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(13332))) 16701 crt.X__builtin_abort(tls) 16702 return i32(0) 16703 }() 16704 }() 16705 func() int32 { 16706 if (_pg1 + uint32(_nPage)) > (_pPg.X5) { 16707 return i32(0) 16708 } 16709 return func() int32 { 16710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52851), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(13348))) 16711 crt.X__builtin_abort(tls) 16712 return i32(0) 16713 }() 16714 }() 16715 _ii = i32(0) 16716 _14: 16717 if _ii >= _nPage || _rc != i32(0) { 16718 goto _18 16719 } 16720 16721 _4_pg = _pg1 + uint32(_ii) 16722 if _4_pg != (_pPg.X5) && _sqlite3BitvecTest(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _4_pg) != 0 { 16723 goto _20 16724 } 16725 16726 if _4_pg == uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { 16727 goto _21 16728 } 16729 16730 _rc = _sqlite3PagerGet(tls, _pPager, _4_pg, &_4_pPage, i32(0)) 16731 if _rc != i32(0) { 16732 goto _22 16733 } 16734 16735 _rc = _pager_write(tls, _4_pPage) 16736 if (int32(_4_pPage.X6) & i32(8)) == 0 { 16737 goto _23 16738 } 16739 16740 _needSync = i32(1) 16741 _23: 16742 _sqlite3PagerUnrefNotNull(tls, _4_pPage) 16743 _22: 16744 _21: 16745 goto _24 16746 16747 _20: 16748 if store7885869(&_4_pPage, _sqlite3PagerLookup(tls, _pPager, _4_pg)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 16749 goto _25 16750 } 16751 16752 if (int32(_4_pPage.X6) & i32(8)) == 0 { 16753 goto _26 16754 } 16755 16756 _needSync = i32(1) 16757 _26: 16758 _sqlite3PagerUnrefNotNull(tls, _4_pPage) 16759 _25: 16760 _24: 16761 _ii += 1 16762 goto _14 16763 16764 _18: 16765 if _rc != i32(0) || _needSync == 0 { 16766 goto _28 16767 } 16768 16769 func() int32 { 16770 if (_pPager.X13) == 0 { 16771 return i32(0) 16772 } 16773 return func() int32 { 16774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52882), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(11936))) 16775 crt.X__builtin_abort(tls) 16776 return i32(0) 16777 }() 16778 }() 16779 _ii = i32(0) 16780 _31: 16781 if _ii >= _nPage { 16782 goto _34 16783 } 16784 16785 _12_pPage = _sqlite3PagerLookup(tls, _pPager, _pg1+uint32(_ii)) 16786 if _12_pPage == nil { 16787 goto _35 16788 } 16789 16790 { 16791 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage)) + uintptr(24 /* X6 */))) 16792 *p = uint16(int32(*p) | i32(8)) 16793 sink6908 = *p 16794 } 16795 _sqlite3PagerUnrefNotNull(tls, _12_pPage) 16796 _35: 16797 _ii += 1 16798 goto _31 16799 16800 _34: 16801 _28: 16802 func() int32 { 16803 if (int32(_pPager.X18) & i32(4)) != i32(0) { 16804 return i32(0) 16805 } 16806 return func() int32 { 16807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52892), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWriteLargeSectorØ00__func__Ø000))), unsafe.Pointer(str(13372))) 16808 crt.X__builtin_abort(tls) 16809 return i32(0) 16810 }() 16811 }() 16812 { 16813 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X18 */))) 16814 *p = uint8(int32(*p) & i32(-5)) 16815 sink6915 = *p 16816 } 16817 r0 = _rc 16818 return 16819 16820 } 16821 16822 var _pagerWriteLargeSectorØ00__func__Ø000 [22]int8 // - 16823 16824 func init() { 16825 crt.Xstrncpy(nil, &_pagerWriteLargeSectorØ00__func__Ø000[0], str(13416), 22) 16826 } 16827 16828 var _sqlite3PendingByte int32 // sqlite3.c:17407:20 16829 16830 func init() { 16831 _sqlite3PendingByte = i32(1073741824) 16832 } 16833 16834 func _sqlite3PagerGet(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52434:1 16835 r0 = (*(*func(*crt.TLS, *XPager, uint32, **XPgHdr, int32) int32)(unsafe.Pointer(&struct { 16836 f func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32 16837 }{(_pPager.X57)})))(tls, _pPager, _pgno, _ppPage, _flags) 16838 return 16839 16840 } 16841 16842 func _pager_write(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52725:1 16843 var _pPager *XPager // sqlite3.c:52726:9 16844 _ = _pPager 16845 var _rc int32 // sqlite3.c:52727:7 16846 _ = _rc 16847 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 16848 _rc = i32(0) 16849 func() int32 { 16850 if ((int32(_pPager.X14) == i32(2)) || (int32(_pPager.X14) == i32(3))) || (int32(_pPager.X14) == i32(4)) { 16851 return i32(0) 16852 } 16853 return func() int32 { 16854 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52733), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(13440))) 16855 crt.X__builtin_abort(tls) 16856 return i32(0) 16857 }() 16858 }() 16859 func() int32 { 16860 if _assert_pager_state(tls, _pPager) != 0 { 16861 return i32(0) 16862 } 16863 return func() int32 { 16864 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52737), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(11184))) 16865 crt.X__builtin_abort(tls) 16866 return i32(0) 16867 }() 16868 }() 16869 func() int32 { 16870 if (_pPager.X26) == i32(0) { 16871 return i32(0) 16872 } 16873 return func() int32 { 16874 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52738), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(13556))) 16875 crt.X__builtin_abort(tls) 16876 return i32(0) 16877 }() 16878 }() 16879 func() int32 { 16880 if int32(_pPager.X12) == i32(0) { 16881 return i32(0) 16882 } 16883 return func() int32 { 16884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52739), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(13576))) 16885 crt.X__builtin_abort(tls) 16886 return i32(0) 16887 }() 16888 }() 16889 if int32(_pPager.X14) != i32(2) { 16890 goto _10 16891 } 16892 16893 _rc = _pager_open_journal(tls, _pPager) 16894 if _rc == i32(0) { 16895 goto _11 16896 } 16897 16898 r0 = _rc 16899 return 16900 16901 _11: 16902 _10: 16903 func() int32 { 16904 if int32(_pPager.X14) >= i32(3) { 16905 return i32(0) 16906 } 16907 return func() int32 { 16908 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52755), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(13596))) 16909 crt.X__builtin_abort(tls) 16910 return i32(0) 16911 }() 16912 }() 16913 func() int32 { 16914 if _assert_pager_state(tls, _pPager) != 0 { 16915 return i32(0) 16916 } 16917 return func() int32 { 16918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52756), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(11184))) 16919 crt.X__builtin_abort(tls) 16920 return i32(0) 16921 }() 16922 }() 16923 _sqlite3PcacheMakeDirty(tls, _pPg) 16924 func() int32 { 16925 if ((*XBitvec)(unsafe.Pointer(_pPager.X30)) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0))))) == ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 16926 return i32(0) 16927 } 16928 return func() int32 { 16929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52765), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(13636))) 16930 crt.X__builtin_abort(tls) 16931 return i32(0) 16932 }() 16933 }() 16934 if (*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3BitvecTestNotNull(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pPg.X5) != i32(0) { 16935 goto _19 16936 } 16937 16938 func() int32 { 16939 if bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0) { 16940 return i32(0) 16941 } 16942 return func() int32 { 16943 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52769), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_writeØ00__func__Ø000))), unsafe.Pointer(str(13684))) 16944 crt.X__builtin_abort(tls) 16945 return i32(0) 16946 }() 16947 }() 16948 if (_pPg.X5) > (_pPager.X23) { 16949 goto _22 16950 } 16951 16952 _rc = _pagerAddPageToRollbackJournal(tls, _pPg) 16953 if _rc == i32(0) { 16954 goto _23 16955 } 16956 16957 r0 = _rc 16958 return 16959 16960 _23: 16961 goto _24 16962 16963 _22: 16964 if int32(_pPager.X14) == i32(4) { 16965 goto _25 16966 } 16967 16968 { 16969 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 16970 *p = uint16(int32(*p) | i32(8)) 16971 sink6908 = *p 16972 } 16973 _25: 16974 _24: 16975 _19: 16976 { 16977 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 16978 *p = uint16(int32(*p) | i32(4)) 16979 sink6908 = *p 16980 } 16981 if (_pPager.X38) <= i32(0) { 16982 goto _26 16983 } 16984 16985 _rc = _subjournalPageIfRequired(tls, _pPg) 16986 _26: 16987 if (_pPager.X22) >= (_pPg.X5) { 16988 goto _27 16989 } 16990 16991 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X22 */))) = _pPg.X5 16992 _27: 16993 r0 = _rc 16994 return 16995 16996 } 16997 16998 var _pager_writeØ00__func__Ø000 [12]int8 // - 16999 17000 func init() { 17001 crt.Xstrncpy(nil, &_pager_writeØ00__func__Ø000[0], str(13708), 12) 17002 } 17003 17004 func _pager_open_journal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:52510:1 17005 var _rc int32 // sqlite3.c:52511:7 17006 _ = _rc 17007 var _pVfs *Xsqlite3_vfs // sqlite3.c:52512:15 17008 _ = _pVfs 17009 var _5_flags int32 // sqlite3.c:52534:13 17010 _ = _5_flags 17011 var _5_nSpill int32 // sqlite3.c:52535:13 17012 _ = _5_nSpill 17013 _rc = i32(0) 17014 _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) 17015 func() int32 { 17016 if int32(_pPager.X14) == i32(2) { 17017 return i32(0) 17018 } 17019 return func() int32 { 17020 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52514), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_open_journalØ00__func__Ø000))), unsafe.Pointer(str(13720))) 17021 crt.X__builtin_abort(tls) 17022 return i32(0) 17023 }() 17024 }() 17025 func() int32 { 17026 if _assert_pager_state(tls, _pPager) != 0 { 17027 return i32(0) 17028 } 17029 return func() int32 { 17030 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52515), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_open_journalØ00__func__Ø000))), unsafe.Pointer(str(11184))) 17031 crt.X__builtin_abort(tls) 17032 return i32(0) 17033 }() 17034 }() 17035 func() int32 { 17036 if (*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 17037 return i32(0) 17038 } 17039 return func() int32 { 17040 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52516), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_open_journalØ00__func__Ø000))), unsafe.Pointer(str(13756))) 17041 crt.X__builtin_abort(tls) 17042 return i32(0) 17043 }() 17044 }() 17045 if func() int32 { 17046 if (_pPager.X26) != 0 { 17047 return func() int32 { 17048 func() int32 { 17049 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52521), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_open_journalØ00__func__Ø000))), unsafe.Pointer(str(5204))) 17050 crt.X__builtin_abort(tls) 17051 return i32(0) 17052 }() 17053 return i32(1) 17054 }() 17055 } 17056 return i32(0) 17057 }() == 0 { 17058 goto _8 17059 } 17060 17061 r0 = _pPager.X26 17062 return 17063 17064 _8: 17065 if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X2) == i32(2) { 17066 goto _10 17067 } 17068 17069 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X30 */))))) = _sqlite3BitvecCreate(tls, _pPager.X22) 17070 if (*XBitvec)(unsafe.Pointer(_pPager.X30)) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 17071 goto _11 17072 } 17073 17074 r0 = _sqlite3NomemError(tls, i32(52526)) 17075 return 17076 17077 _11: 17078 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 17079 goto _12 17080 } 17081 17082 if int32(_pPager.X2) != i32(4) { 17083 goto _13 17084 } 17085 17086 _sqlite3MemJournalOpen(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 17087 goto _14 17088 17089 _13: 17090 _5_flags = i32(6) 17091 if (_pPager.X10) == 0 { 17092 goto _15 17093 } 17094 17095 { 17096 p := &_5_flags 17097 *p = (*p) | i32(4104) 17098 sink961 = *p 17099 } 17100 _5_nSpill = _sqlite3Config.X9 17101 goto _16 17102 17103 _15: 17104 { 17105 p := &_5_flags 17106 *p = (*p) | i32(2048) 17107 sink961 = *p 17108 } 17109 _5_nSpill = i32(0) 17110 _16: 17111 _rc = _databaseIsUnmoved(tls, _pPager) 17112 if _rc != i32(0) { 17113 goto _17 17114 } 17115 17116 _rc = _sqlite3JournalOpen(tls, _pVfs, _pPager.X52, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _5_flags, _5_nSpill) 17117 _17: 17118 _14: 17119 func() int32 { 17120 if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 17121 return i32(0) 17122 } 17123 return func() int32 { 17124 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52554), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_open_journalØ00__func__Ø000))), unsafe.Pointer(str(13780))) 17125 crt.X__builtin_abort(tls) 17126 return i32(0) 17127 }() 17128 }() 17129 _12: 17130 if _rc != i32(0) { 17131 goto _21 17132 } 17133 17134 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X27 */))) = i32(0) 17135 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 17136 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(20 /* X17 */))) = uint8(i32(0)) 17137 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(84 /* X35 */))) = int64(i32(0)) 17138 _rc = _writeJournalHdr(tls, _pPager) 17139 _21: 17140 _10: 17141 if _rc == i32(0) { 17142 goto _22 17143 } 17144 17145 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30))) 17146 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X30 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) 17147 goto _23 17148 17149 _22: 17150 func() int32 { 17151 if int32(_pPager.X14) == i32(2) { 17152 return i32(0) 17153 } 17154 return func() int32 { 17155 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52575), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_open_journalØ00__func__Ø000))), unsafe.Pointer(str(13720))) 17156 crt.X__builtin_abort(tls) 17157 return i32(0) 17158 }() 17159 }() 17160 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(3)) 17161 _23: 17162 r0 = _rc 17163 return 17164 17165 } 17166 17167 var _pager_open_journalØ00__func__Ø000 [19]int8 // - 17168 17169 func init() { 17170 crt.Xstrncpy(nil, &_pager_open_journalØ00__func__Ø000[0], str(13820), 19) 17171 } 17172 17173 func _sqlite3MemJournalOpen(tls *crt.TLS, _pJfd *Xsqlite3_file) { // sqlite3.c:88984:1 17174 _sqlite3JournalOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _pJfd, i32(0), i32(-1)) 17175 return 17176 17177 } 17178 17179 func _databaseIsUnmoved(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51783:1 17180 var _bHasMoved int32 // sqlite3.c:51784:7 17181 _ = _bHasMoved 17182 var _rc int32 // sqlite3.c:51785:7 17183 _ = _rc 17184 _bHasMoved = i32(0) 17185 if (_pPager.X10) == 0 { 17186 goto _0 17187 } 17188 17189 r0 = i32(0) 17190 return 17191 17192 _0: 17193 if (_pPager.X22) != uint32(i32(0)) { 17194 goto _1 17195 } 17196 17197 r0 = i32(0) 17198 return 17199 17200 _1: 17201 func() int32 { 17202 if ((_pPager.X51) != nil) && ((*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X51)) + 1*uintptr(i32(0))))) != 0) { 17203 return i32(0) 17204 } 17205 return func() int32 { 17206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51789), unsafe.Pointer((*int8)(unsafe.Pointer(&_databaseIsUnmovedØ00__func__Ø000))), unsafe.Pointer(str(13840))) 17207 crt.X__builtin_abort(tls) 17208 return i32(0) 17209 }() 17210 }() 17211 _rc = _sqlite3OsFileControl(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(20), (unsafe.Pointer)(&_bHasMoved)) 17212 if _rc != i32(12) { 17213 goto _5 17214 } 17215 17216 _rc = i32(0) 17217 goto _6 17218 17219 _5: 17220 if _rc != i32(0) || _bHasMoved == 0 { 17221 goto _8 17222 } 17223 17224 _rc = i32(1032) 17225 _8: 17226 _6: 17227 r0 = _rc 17228 return 17229 17230 } 17231 17232 var _databaseIsUnmovedØ00__func__Ø000 [18]int8 // - 17233 17234 func init() { 17235 crt.Xstrncpy(nil, &_databaseIsUnmovedØ00__func__Ø000[0], str(13884), 18) 17236 } 17237 17238 func _sqlite3OsFileControl(tls *crt.TLS, _id *Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:20178:1 17239 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 17240 f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 17241 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X10)})))(tls, _id, _op, _pArg) 17242 return 17243 17244 } 17245 17246 func _writeJournalHdr(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:48291:1 17247 var _rc int32 // sqlite3.c:48292:7 17248 _ = _rc 17249 var _zHeader *int8 // sqlite3.c:48293:8 17250 _ = _zHeader 17251 var _nHeader uint32 // sqlite3.c:48294:7 17252 _ = _nHeader 17253 var _nWrite uint32 // sqlite3.c:48295:7 17254 _ = _nWrite 17255 var _ii int32 // sqlite3.c:48296:7 17256 _ = _ii 17257 _rc = i32(0) 17258 _zHeader = _pPager.X58 17259 _nHeader = uint32(_pPager.X48) 17260 func() int32 { 17261 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 17262 return i32(0) 17263 } 17264 return func() int32 { 17265 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48298), unsafe.Pointer((*int8)(unsafe.Pointer(&_writeJournalHdrØ00__func__Ø000))), unsafe.Pointer(str(13904))) 17266 crt.X__builtin_abort(tls) 17267 return i32(0) 17268 }() 17269 }() 17270 if _nHeader <= (_pPager.X47) { 17271 goto _2 17272 } 17273 17274 _nHeader = _pPager.X47 17275 _2: 17276 _ii = i32(0) 17277 _3: 17278 if _ii >= (_pPager.X38) { 17279 goto _6 17280 } 17281 17282 if ((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 44*uintptr(_ii))).X1) != int64(i32(0)) { 17283 goto _7 17284 } 17285 17286 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37)+44*uintptr(_ii))))) + uintptr(8 /* X1 */))) = _pPager.X34 17287 _7: 17288 _ii += 1 17289 goto _3 17290 17291 _6: 17292 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(84 /* X35 */))) = store967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(76 /* X34 */))), _journalHdrOffset(tls, _pPager)) 17293 func() int32 { 17294 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X4) != 0) { 17295 return i32(0) 17296 } 17297 return func() int32 { 17298 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48336), unsafe.Pointer((*int8)(unsafe.Pointer(&_writeJournalHdrØ00__func__Ø000))), unsafe.Pointer(str(13924))) 17299 crt.X__builtin_abort(tls) 17300 return i32(0) 17301 }() 17302 }() 17303 if (_pPager.X4) == 0 && int32(_pPager.X2) != i32(4) && (_sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)))&i32(512)) == 0 { 17304 goto _13 17305 } 17306 17307 crt.Xmemcpy(tls, (unsafe.Pointer)(_zHeader), (unsafe.Pointer)(&_aJournalMagic), u32(8)) 17308 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u32(8)))))), u32(4294967295)) 17309 goto _14 17310 17311 _13: 17312 crt.Xmemset(tls, (unsafe.Pointer)(_zHeader), i32(0), u32(12)) 17313 _14: 17314 Xsqlite3_randomness(tls, int32(u32(4)), (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(52 /* X28 */))))) 17315 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u32(12)))))), _pPager.X28) 17316 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u32(16)))))), _pPager.X23) 17317 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u32(20)))))), _pPager.X47) 17318 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u32(24)))))), uint32(_pPager.X48)) 17319 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHeader))+1*uintptr(u32(28))))), i32(0), _nHeader-u32(28)) 17320 _nWrite = uint32(i32(0)) 17321 _15: 17322 if _rc != i32(0) || _nWrite >= (_pPager.X47) { 17323 goto _19 17324 } 17325 17326 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(_zHeader), int32(_nHeader), _pPager.X34) 17327 func() int32 { 17328 if (_pPager.X35) <= (_pPager.X34) { 17329 return i32(0) 17330 } 17331 return func() int32 { 17332 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48385), unsafe.Pointer((*int8)(unsafe.Pointer(&_writeJournalHdrØ00__func__Ø000))), unsafe.Pointer(str(13964))) 17333 crt.X__builtin_abort(tls) 17334 return i32(0) 17335 }() 17336 }() 17337 { 17338 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) 17339 *p = (*p) + int64(_nHeader) 17340 sink967 = *p 17341 } 17342 { 17343 p := &_nWrite 17344 *p = (*p) + _nHeader 17345 sink985 = *p 17346 } 17347 goto _15 17348 17349 _19: 17350 r0 = _rc 17351 return 17352 17353 } 17354 17355 var _writeJournalHdrØ00__func__Ø000 [16]int8 // - 17356 17357 func init() { 17358 crt.Xstrncpy(nil, &_writeJournalHdrØ00__func__Ø000[0], str(14008), 16) 17359 } 17360 17361 func _journalHdrOffset(tls *crt.TLS, _pPager *XPager) (r0 int64) { // sqlite3.c:48208:1 17362 var _offset int64 // sqlite3.c:48209:7 17363 _ = _offset 17364 var _c int64 // sqlite3.c:48210:7 17365 _ = _c 17366 _offset = i64(0) 17367 _c = _pPager.X34 17368 if _c == 0 { 17369 goto _0 17370 } 17371 17372 _offset = (((_c - int64(i32(1))) / int64(_pPager.X47)) + int64(i32(1))) * int64(_pPager.X47) 17373 _0: 17374 func() int32 { 17375 if (_offset % int64(_pPager.X47)) == int64(i32(0)) { 17376 return i32(0) 17377 } 17378 return func() int32 { 17379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48214), unsafe.Pointer((*int8)(unsafe.Pointer(&_journalHdrOffsetØ00__func__Ø000))), unsafe.Pointer(str(14024))) 17380 crt.X__builtin_abort(tls) 17381 return i32(0) 17382 }() 17383 }() 17384 func() int32 { 17385 if _offset >= _c { 17386 return i32(0) 17387 } 17388 return func() int32 { 17389 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48215), unsafe.Pointer((*int8)(unsafe.Pointer(&_journalHdrOffsetØ00__func__Ø000))), unsafe.Pointer(str(14060))) 17390 crt.X__builtin_abort(tls) 17391 return i32(0) 17392 }() 17393 }() 17394 func() int32 { 17395 if (_offset - _c) < int64(_pPager.X47) { 17396 return i32(0) 17397 } 17398 return func() int32 { 17399 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48216), unsafe.Pointer((*int8)(unsafe.Pointer(&_journalHdrOffsetØ00__func__Ø000))), unsafe.Pointer(str(14072))) 17400 crt.X__builtin_abort(tls) 17401 return i32(0) 17402 }() 17403 }() 17404 r0 = _offset 17405 return 17406 17407 } 17408 17409 var _journalHdrOffsetØ00__func__Ø000 [17]int8 // - 17410 17411 func init() { 17412 crt.Xstrncpy(nil, &_journalHdrOffsetØ00__func__Ø000[0], str(14108), 17) 17413 } 17414 17415 func _sqlite3OsDeviceCharacteristics(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:20204:1 17416 r0 = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 17417 f func(*crt.TLS, unsafe.Pointer) int32 17418 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X12)})))(tls, _id) 17419 return 17420 17421 } 17422 17423 var _aJournalMagic [8]uint8 // sqlite3.c:47632:28 17424 17425 func init() { 17426 _aJournalMagic = [8]uint8{217, 213, 5, 249, 32, 161, 99, 215} 17427 } 17428 17429 func Xsqlite3_randomness(tls *crt.TLS, _N int32, _pBuf unsafe.Pointer) { // sqlite3.c:26700:12 17430 var _t uint8 // sqlite3.c:26701:17 17431 _ = _t 17432 var _zBuf *uint8 // sqlite3.c:26702:17 17433 _ = _zBuf 17434 var _mutex *Xsqlite3_mutex // sqlite3.c:26718:17 17435 _ = _mutex 17436 var _2_i int32 // sqlite3.c:26746:9 17437 _ = _2_i 17438 var _2_k [256]int8 // sqlite3.c:26747:10 17439 _ = _2_k 17440 _zBuf = (*uint8)(unsafe.Pointer(_pBuf)) 17441 if Xsqlite3_initialize(tls) == 0 { 17442 goto _0 17443 } 17444 17445 return 17446 17447 _0: 17448 _mutex = _sqlite3MutexAlloc(tls, i32(5)) 17449 Xsqlite3_mutex_enter(tls, _mutex) 17450 if _N > i32(0) && unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { 17451 goto _2 17452 } 17453 17454 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 17455 Xsqlite3_mutex_leave(tls, _mutex) 17456 return 17457 17458 _2: 17459 if (_sqlite3Prng.X0) != 0 { 17460 goto _3 17461 } 17462 17463 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 17464 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(1 /* X1 */))) = uint8(i32(0)) 17465 _sqlite3OsRandomness(tls, Xsqlite3_vfs_find(tls, (*int8)(unsafe.Pointer(uintptr(i32(0))))), i32(256), (*int8)(unsafe.Pointer(&_2_k))) 17466 _2_i = i32(0) 17467 _4: 17468 if _2_i >= i32(256) { 17469 goto _7 17470 } 17471 17472 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i))) = uint8(_2_i) 17473 _2_i += 1 17474 goto _4 17475 17476 _7: 17477 _2_i = i32(0) 17478 _8: 17479 if _2_i >= i32(256) { 17480 goto _11 17481 } 17482 17483 { 17484 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(2 /* X2 */))) 17485 *p = uint8(int32(*p) + (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i)))) + int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_2_k)) + 1*uintptr(_2_i)))))) 17486 sink6915 = *p 17487 } 17488 _t = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X2))) 17489 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X2))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i))) 17490 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_2_i))) = _t 17491 _2_i += 1 17492 goto _8 17493 17494 _11: 17495 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(0 /* X0 */))) = uint8(i32(1)) 17496 _3: 17497 func() int32 { 17498 if _N > i32(0) { 17499 return i32(0) 17500 } 17501 return func() int32 { 17502 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26763), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_randomnessØ00__func__Ø000))), unsafe.Pointer(str(14128))) 17503 crt.X__builtin_abort(tls) 17504 return i32(0) 17505 }() 17506 }() 17507 _14: 17508 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(1 /* X1 */))) += 1 17509 _t = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X1))) 17510 { 17511 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng)) + uintptr(2 /* X2 */))) 17512 *p = uint8(int32(*p) + int32(_t)) 17513 sink6915 = *p 17514 } 17515 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X1))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X2))) 17516 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X2))) = _t 17517 { 17518 p := &_t 17519 *p = uint8(int32(*p) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_sqlite3Prng.X1))))) 17520 sink6915 = *p 17521 } 17522 *postInc6921(&_zBuf, 1) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[256]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Prng))+uintptr(3 /* X3 */))))) + 1*uintptr(_t))) 17523 if preInc961(&_N, -1) != 0 { 17524 goto _14 17525 } 17526 17527 Xsqlite3_mutex_leave(tls, _mutex) 17528 return 17529 17530 } 17531 17532 var _sqlite3Prng T7853307 // sqlite3.c:26695:3 17533 17534 func _sqlite3OsRandomness(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nByte int32, _zBufOut *int8) (r0 int32) { // sqlite3.c:20306:1 17535 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&struct { 17536 f func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 17537 }{(_pVfs.X14)})))(tls, _pVfs, _nByte, _zBufOut) 17538 return 17539 17540 } 17541 17542 func Xsqlite3_vfs_find(tls *crt.TLS, _zVfs *int8) (r0 *Xsqlite3_vfs) { // sqlite3.c:20384:12 17543 var _pVfs *Xsqlite3_vfs // sqlite3.c:20385:15 17544 _ = _pVfs 17545 var _mutex *Xsqlite3_mutex // sqlite3.c:20387:17 17546 _ = _mutex 17547 var _rc int32 // sqlite3.c:20390:7 17548 _ = _rc 17549 _pVfs = nil 17550 _rc = Xsqlite3_initialize(tls) 17551 if _rc == 0 { 17552 goto _0 17553 } 17554 17555 r0 = (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) 17556 return 17557 17558 _0: 17559 _mutex = _sqlite3MutexAlloc(tls, i32(2)) 17560 Xsqlite3_mutex_enter(tls, _mutex) 17561 _pVfs = _vfsList 17562 _1: 17563 if _pVfs == nil { 17564 goto _4 17565 } 17566 17567 if _zVfs != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 17568 goto _5 17569 } 17570 17571 goto _4 17572 17573 _5: 17574 if crt.Xstrcmp(tls, _zVfs, _pVfs.X4) != i32(0) { 17575 goto _6 17576 } 17577 17578 goto _4 17579 17580 _6: 17581 _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pVfs.X3)) 17582 goto _1 17583 17584 _4: 17585 Xsqlite3_mutex_leave(tls, _mutex) 17586 r0 = _pVfs 17587 return 17588 17589 } 17590 17591 var _vfsList *Xsqlite3_vfs // sqlite3.c:20377:20 17592 17593 var _sqlite3_randomnessØ00__func__Ø000 [19]int8 // - 17594 17595 func init() { 17596 crt.Xstrncpy(nil, &_sqlite3_randomnessØ00__func__Ø000[0], str(14132), 19) 17597 } 17598 17599 func _sqlite3BitvecDestroy(tls *crt.TLS, _p *XBitvec) { // sqlite3.c:43941:1 17600 var _1_i uint32 // sqlite3.c:43944:18 17601 _ = _1_i 17602 if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 17603 goto _0 17604 } 17605 17606 return 17607 17608 _0: 17609 if (_p.X2) == 0 { 17610 goto _1 17611 } 17612 17613 _1_i = uint32(i32(0)) 17614 _2: 17615 if _1_i >= u32(125) { 17616 goto _5 17617 } 17618 17619 _sqlite3BitvecDestroy(tls, *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_i)))) 17620 _1_i += 1 17621 goto _2 17622 17623 _5: 17624 _1: 17625 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 17626 return 17627 17628 } 17629 17630 func _sqlite3PcacheMakeDirty(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44633:1 17631 func() int32 { 17632 if int32(_p.X7) > i32(0) { 17633 return i32(0) 17634 } 17635 return func() int32 { 17636 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44634), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeDirtyØ00__func__Ø000))), unsafe.Pointer(str(3248))) 17637 crt.X__builtin_abort(tls) 17638 return i32(0) 17639 }() 17640 }() 17641 func() int32 { 17642 if _sqlite3PcachePageSanity(tls, _p) != 0 { 17643 return i32(0) 17644 } 17645 return func() int32 { 17646 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44635), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeDirtyØ00__func__Ø000))), unsafe.Pointer(str(14152))) 17647 crt.X__builtin_abort(tls) 17648 return i32(0) 17649 }() 17650 }() 17651 if (int32(_p.X6) & i32(17)) == 0 { 17652 goto _4 17653 } 17654 17655 { 17656 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 17657 *p = uint16(int32(*p) & i32(-17)) 17658 sink6908 = *p 17659 } 17660 if (int32(_p.X6) & i32(1)) == 0 { 17661 goto _5 17662 } 17663 17664 { 17665 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 17666 *p = uint16(int32(*p) ^ i32(3)) 17667 sink6908 = *p 17668 } 17669 func() int32 { 17670 if (int32(_p.X6) & i32(3)) == i32(2) { 17671 return i32(0) 17672 } 17673 return func() int32 { 17674 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44641), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeDirtyØ00__func__Ø000))), unsafe.Pointer(str(14180))) 17675 crt.X__builtin_abort(tls) 17676 return i32(0) 17677 }() 17678 }() 17679 _pcacheManageDirtyList(tls, _p, uint8(i32(2))) 17680 _5: 17681 func() int32 { 17682 if _sqlite3PcachePageSanity(tls, _p) != 0 { 17683 return i32(0) 17684 } 17685 return func() int32 { 17686 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44644), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeDirtyØ00__func__Ø000))), unsafe.Pointer(str(14152))) 17687 crt.X__builtin_abort(tls) 17688 return i32(0) 17689 }() 17690 }() 17691 _4: 17692 return 17693 17694 } 17695 17696 var _sqlite3PcacheMakeDirtyØ00__func__Ø000 [23]int8 // - 17697 17698 func init() { 17699 crt.Xstrncpy(nil, &_sqlite3PcacheMakeDirtyØ00__func__Ø000[0], str(14232), 23) 17700 } 17701 17702 func _sqlite3PcachePageSanity(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:44186:1 17703 var _pCache *XPCache // sqlite3.c:44187:10 17704 _ = _pCache 17705 func() int32 { 17706 if _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 17707 return i32(0) 17708 } 17709 return func() int32 { 17710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44188), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14256))) 17711 crt.X__builtin_abort(tls) 17712 return i32(0) 17713 }() 17714 }() 17715 func() int32 { 17716 if ((_pPg.X5) > uint32(i32(0))) || ((*XPager)(unsafe.Pointer(_pPg.X4)) == (*XPager)(unsafe.Pointer(uintptr(i32(0))))) { 17717 return i32(0) 17718 } 17719 return func() int32 { 17720 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44189), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14264))) 17721 crt.X__builtin_abort(tls) 17722 return i32(0) 17723 }() 17724 }() 17725 _pCache = (*XPCache)(unsafe.Pointer(_pPg.X8)) 17726 func() int32 { 17727 if _pCache != (*XPCache)(unsafe.Pointer(uintptr(i32(0)))) { 17728 return i32(0) 17729 } 17730 return func() int32 { 17731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44191), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14296))) 17732 crt.X__builtin_abort(tls) 17733 return i32(0) 17734 }() 17735 }() 17736 if (int32(_pPg.X6) & i32(1)) == 0 { 17737 goto _7 17738 } 17739 17740 func() int32 { 17741 if (int32(_pPg.X6) & i32(2)) == i32(0) { 17742 return i32(0) 17743 } 17744 return func() int32 { 17745 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44193), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14308))) 17746 crt.X__builtin_abort(tls) 17747 return i32(0) 17748 }() 17749 }() 17750 func() int32 { 17751 if (*XPgHdr)(unsafe.Pointer(_pCache.X0)) != _pPg { 17752 return i32(0) 17753 } 17754 return func() int32 { 17755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44194), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14340))) 17756 crt.X__builtin_abort(tls) 17757 return i32(0) 17758 }() 17759 }() 17760 func() int32 { 17761 if (*XPgHdr)(unsafe.Pointer(_pCache.X1)) != _pPg { 17762 return i32(0) 17763 } 17764 return func() int32 { 17765 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44195), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14360))) 17766 crt.X__builtin_abort(tls) 17767 return i32(0) 17768 }() 17769 }() 17770 _7: 17771 if (int32(_pPg.X6) & i32(4)) == 0 { 17772 goto _14 17773 } 17774 17775 func() int32 { 17776 if (int32(_pPg.X6) & i32(2)) != 0 { 17777 return i32(0) 17778 } 17779 return func() int32 { 17780 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44199), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePageSanityØ00__func__Ø000))), unsafe.Pointer(str(14384))) 17781 crt.X__builtin_abort(tls) 17782 return i32(0) 17783 }() 17784 }() 17785 _14: 17786 r0 = i32(1) 17787 return 17788 17789 } 17790 17791 var _sqlite3PcachePageSanityØ00__func__Ø000 [24]int8 // - 17792 17793 func init() { 17794 crt.Xstrncpy(nil, &_sqlite3PcachePageSanityØ00__func__Ø000[0], str(14412), 24) 17795 } 17796 17797 func _pcacheManageDirtyList(tls *crt.TLS, _pPage *XPgHdr, _addRemove uint8) { // sqlite3.c:44236:1 17798 var _p *XPCache // sqlite3.c:44237:10 17799 _ = _p 17800 _p = (*XPCache)(unsafe.Pointer(_pPage.X8)) 17801 if (int32(_addRemove) & i32(1)) == 0 { 17802 goto _0 17803 } 17804 17805 func() int32 { 17806 if ((*XPgHdr)(unsafe.Pointer(_pPage.X9)) != nil) || (_pPage == (*XPgHdr)(unsafe.Pointer(_p.X1))) { 17807 return i32(0) 17808 } 17809 return func() int32 { 17810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44243), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14436))) 17811 crt.X__builtin_abort(tls) 17812 return i32(0) 17813 }() 17814 }() 17815 func() int32 { 17816 if ((*XPgHdr)(unsafe.Pointer(_pPage.X10)) != nil) || (_pPage == (*XPgHdr)(unsafe.Pointer(_p.X0))) { 17817 return i32(0) 17818 } 17819 return func() int32 { 17820 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44244), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14480))) 17821 crt.X__builtin_abort(tls) 17822 return i32(0) 17823 }() 17824 }() 17825 if (*XPgHdr)(unsafe.Pointer(_p.X2)) != _pPage { 17826 goto _7 17827 } 17828 17829 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X10)) 17830 _7: 17831 if (*XPgHdr)(unsafe.Pointer(_pPage.X9)) == nil { 17832 goto _8 17833 } 17834 17835 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X9) + uintptr(36 /* X10 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X10)) 17836 goto _9 17837 17838 _8: 17839 func() int32 { 17840 if _pPage == (*XPgHdr)(unsafe.Pointer(_p.X1)) { 17841 return i32(0) 17842 } 17843 return func() int32 { 17844 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44254), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14520))) 17845 crt.X__builtin_abort(tls) 17846 return i32(0) 17847 }() 17848 }() 17849 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X10)) 17850 _9: 17851 if (*XPgHdr)(unsafe.Pointer(_pPage.X10)) == nil { 17852 goto _12 17853 } 17854 17855 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X10) + uintptr(32 /* X9 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X9)) 17856 goto _13 17857 17858 _12: 17859 func() int32 { 17860 if _pPage == (*XPgHdr)(unsafe.Pointer(_p.X0)) { 17861 return i32(0) 17862 } 17863 return func() int32 { 17864 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44264), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14544))) 17865 crt.X__builtin_abort(tls) 17866 return i32(0) 17867 }() 17868 }() 17869 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*XPgHdr)(unsafe.Pointer(_pPage.X9)) 17870 func() int32 { 17871 if ((_p.X8) != 0) || (int32(_p.X9) == i32(2)) { 17872 return i32(0) 17873 } 17874 return func() int32 { 17875 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44266), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14564))) 17876 crt.X__builtin_abort(tls) 17877 return i32(0) 17878 }() 17879 }() 17880 if (*XPgHdr)(unsafe.Pointer(_p.X0)) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 17881 goto _19 17882 } 17883 17884 func() int32 { 17885 if (int32(_p.X8) == i32(0)) || (int32(_p.X9) == i32(1)) { 17886 return i32(0) 17887 } 17888 return func() int32 { 17889 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44268), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14596))) 17890 crt.X__builtin_abort(tls) 17891 return i32(0) 17892 }() 17893 }() 17894 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(33 /* X9 */))) = uint8(i32(2)) 17895 _19: 17896 _13: 17897 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(32 /* X9 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 17898 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(36 /* X10 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 17899 _0: 17900 if (int32(_addRemove) & i32(2)) == 0 { 17901 goto _23 17902 } 17903 17904 func() int32 { 17905 if (((*XPgHdr)(unsafe.Pointer(_pPage.X9)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XPgHdr)(unsafe.Pointer(_pPage.X10)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))))) && ((*XPgHdr)(unsafe.Pointer(_p.X0)) != _pPage) { 17906 return i32(0) 17907 } 17908 return func() int32 { 17909 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44276), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14632))) 17910 crt.X__builtin_abort(tls) 17911 return i32(0) 17912 }() 17913 }() 17914 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(32 /* X9 */))))) = (*XPgHdr)(unsafe.Pointer(_p.X0)) 17915 if (*XPgHdr)(unsafe.Pointer(_pPage.X9)) == nil { 17916 goto _28 17917 } 17918 17919 func() int32 { 17920 if (*XPgHdr)(unsafe.Pointer((*XPgHdr)(unsafe.Pointer(_pPage.X9)).X10)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 17921 return i32(0) 17922 } 17923 return func() int32 { 17924 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44280), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14700))) 17925 crt.X__builtin_abort(tls) 17926 return i32(0) 17927 }() 17928 }() 17929 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X9) + uintptr(36 /* X10 */))))) = _pPage 17930 goto _31 17931 17932 _28: 17933 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = _pPage 17934 if (_p.X8) == 0 { 17935 goto _32 17936 } 17937 17938 func() int32 { 17939 if int32(_p.X9) == i32(2) { 17940 return i32(0) 17941 } 17942 return func() int32 { 17943 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44285), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheManageDirtyListØ00__func__Ø000))), unsafe.Pointer(str(14736))) 17944 crt.X__builtin_abort(tls) 17945 return i32(0) 17946 }() 17947 }() 17948 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(33 /* X9 */))) = uint8(i32(1)) 17949 _32: 17950 _31: 17951 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pPage 17952 if (*XPgHdr)(unsafe.Pointer(_p.X2)) != nil || i32(0) != (int32(_pPage.X6)&i32(8)) { 17953 goto _36 17954 } 17955 17956 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = _pPage 17957 _36: 17958 _23: 17959 return 17960 17961 } 17962 17963 var _pcacheManageDirtyListØ00__func__Ø000 [22]int8 // - 17964 17965 func init() { 17966 crt.Xstrncpy(nil, &_pcacheManageDirtyListØ00__func__Ø000[0], str(14752), 22) 17967 } 17968 17969 func _pagerAddPageToRollbackJournal(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52668:1 17970 var _pPager *XPager // sqlite3.c:52669:9 17971 _ = _pPager 17972 var _rc int32 // sqlite3.c:52670:7 17973 _ = _rc 17974 var _cksum uint32 // sqlite3.c:52671:7 17975 _ = _cksum 17976 var _pData2 *int8 // sqlite3.c:52672:8 17977 _ = _pData2 17978 var _iOff int64 // sqlite3.c:52673:7 17979 _ = _iOff 17980 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 17981 _iOff = _pPager.X34 17982 func() int32 { 17983 if (_pPg.X5) != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { 17984 return i32(0) 17985 } 17986 return func() int32 { 17987 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52678), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAddPageToRollbackJournalØ00__func__Ø000))), unsafe.Pointer(str(14776))) 17988 crt.X__builtin_abort(tls) 17989 return i32(0) 17990 }() 17991 }() 17992 func() int32 { 17993 if (_pPager.X35) <= (_pPager.X34) { 17994 return i32(0) 17995 } 17996 return func() int32 { 17997 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52680), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAddPageToRollbackJournalØ00__func__Ø000))), unsafe.Pointer(str(14812))) 17998 crt.X__builtin_abort(tls) 17999 return i32(0) 18000 }() 18001 }() 18002 _pData2 = (*int8)(unsafe.Pointer(_pPg.X1)) 18003 _cksum = _pager_cksum(tls, _pPager, (*uint8)(unsafe.Pointer(_pData2))) 18004 { 18005 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 18006 *p = uint16(int32(*p) | i32(8)) 18007 sink6908 = *p 18008 } 18009 _rc = _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iOff, _pPg.X5) 18010 if _rc == i32(0) { 18011 goto _4 18012 } 18013 18014 r0 = _rc 18015 return 18016 18017 _4: 18018 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(_pData2), _pPager.X48, _iOff+int64(i32(4))) 18019 if _rc == i32(0) { 18020 goto _5 18021 } 18022 18023 r0 = _rc 18024 return 18025 18026 _5: 18027 _rc = _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (_iOff+int64(_pPager.X48))+int64(i32(4)), _cksum) 18028 if _rc == i32(0) { 18029 goto _6 18030 } 18031 18032 r0 = _rc 18033 return 18034 18035 _6: 18036 { 18037 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) 18038 *p = (*p) + int64(i32(8)+(_pPager.X48)) 18039 sink967 = *p 18040 } 18041 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X27 */))) += 1 18042 func() int32 { 18043 if (*XBitvec)(unsafe.Pointer(_pPager.X30)) != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 18044 return i32(0) 18045 } 18046 return func() int32 { 18047 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52709), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAddPageToRollbackJournalØ00__func__Ø000))), unsafe.Pointer(str(14852))) 18048 crt.X__builtin_abort(tls) 18049 return i32(0) 18050 }() 18051 }() 18052 _rc = _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pPg.X5) 18053 func() int32 { 18054 if (_rc == i32(0)) || (_rc == i32(7)) { 18055 return i32(0) 18056 } 18057 return func() int32 { 18058 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52712), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAddPageToRollbackJournalØ00__func__Ø000))), unsafe.Pointer(str(5396))) 18059 crt.X__builtin_abort(tls) 18060 return i32(0) 18061 }() 18062 }() 18063 { 18064 p := &_rc 18065 *p = (*p) | _addToSavepointBitvecs(tls, _pPager, _pPg.X5) 18066 sink961 = *p 18067 } 18068 func() int32 { 18069 if (_rc == i32(0)) || (_rc == i32(7)) { 18070 return i32(0) 18071 } 18072 return func() int32 { 18073 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52714), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAddPageToRollbackJournalØ00__func__Ø000))), unsafe.Pointer(str(5396))) 18074 crt.X__builtin_abort(tls) 18075 return i32(0) 18076 }() 18077 }() 18078 r0 = _rc 18079 return 18080 18081 } 18082 18083 var _pagerAddPageToRollbackJournalØ00__func__Ø000 [30]int8 // - 18084 18085 func init() { 18086 crt.Xstrncpy(nil, &_pagerAddPageToRollbackJournalØ00__func__Ø000[0], str(14876), 30) 18087 } 18088 18089 func _pager_cksum(tls *crt.TLS, _pPager *XPager, _aData *uint8) (r0 uint32) { // sqlite3.c:49044:1 18090 var _cksum uint32 // sqlite3.c:49045:7 18091 _ = _cksum 18092 var _i int32 // sqlite3.c:49046:7 18093 _ = _i 18094 _cksum = _pPager.X28 18095 _i = (_pPager.X48) - i32(200) 18096 _0: 18097 if _i <= i32(0) { 18098 goto _1 18099 } 18100 18101 { 18102 p := &_cksum 18103 *p = (*p) + uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_i)))) 18104 sink985 = *p 18105 } 18106 { 18107 p := &_i 18108 *p = (*p) - i32(200) 18109 sink961 = *p 18110 } 18111 goto _0 18112 18113 _1: 18114 r0 = _cksum 18115 return 18116 18117 } 18118 18119 func _sqlite3PagerUnrefNotNull(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:52473:1 18120 var _pPager *XPager // sqlite3.c:52474:9 18121 _ = _pPager 18122 func() int32 { 18123 if _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 18124 return i32(0) 18125 } 18126 return func() int32 { 18127 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52475), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerUnrefNotNullØ00__func__Ø000))), unsafe.Pointer(str(14256))) 18128 crt.X__builtin_abort(tls) 18129 return i32(0) 18130 }() 18131 }() 18132 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 18133 if (int32(_pPg.X6) & i32(32)) == 0 { 18134 goto _2 18135 } 18136 18137 _pagerReleaseMapPage(tls, _pPg) 18138 goto _3 18139 18140 _2: 18141 _sqlite3PcacheRelease(tls, _pPg) 18142 _3: 18143 _pagerUnlockIfUnused(tls, _pPager) 18144 return 18145 18146 } 18147 18148 var _sqlite3PagerUnrefNotNullØ00__func__Ø000 [25]int8 // - 18149 18150 func init() { 18151 crt.Xstrncpy(nil, &_sqlite3PagerUnrefNotNullØ00__func__Ø000[0], str(14908), 25) 18152 } 18153 18154 func _pagerReleaseMapPage(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:50901:1 18155 var _pPager *XPager // sqlite3.c:50902:9 18156 _ = _pPager 18157 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 18158 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(124 /* X41 */))) -= 1 18159 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(12 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(_pPager.X43)) 18160 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(136 /* X43 */))))) = _pPg 18161 func() int32 { 18162 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)).X0) >= i32(3) { 18163 return i32(0) 18164 } 18165 return func() int32 { 18166 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50907), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerReleaseMapPageØ00__func__Ø000))), unsafe.Pointer(str(14936))) 18167 crt.X__builtin_abort(tls) 18168 return i32(0) 18169 }() 18170 }() 18171 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64((_pPg.X5)-uint32(i32(1)))*int64(_pPager.X48), _pPg.X1) 18172 return 18173 18174 } 18175 18176 var _pagerReleaseMapPageØ00__func__Ø000 [20]int8 // - 18177 18178 func init() { 18179 crt.Xstrncpy(nil, &_pagerReleaseMapPageØ00__func__Ø000[0], str(14972), 20) 18180 } 18181 18182 func _sqlite3OsUnfetch(tls *crt.TLS, _id *Xsqlite3_file, _iOff int64, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:20233:1 18183 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 18184 f func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32 18185 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X18)})))(tls, _id, _iOff, _p) 18186 return 18187 18188 } 18189 18190 func _sqlite3PcacheRelease(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44588:1 18191 func() int32 { 18192 if int32(_p.X7) > i32(0) { 18193 return i32(0) 18194 } 18195 return func() int32 { 18196 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44589), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheReleaseØ00__func__Ø000))), unsafe.Pointer(str(3248))) 18197 crt.X__builtin_abort(tls) 18198 return i32(0) 18199 }() 18200 }() 18201 *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(12 /* X3 */))) -= 1 18202 if int32(preInc955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(26 /* X7 */))), -1)) != i32(0) { 18203 goto _2 18204 } 18205 18206 if (int32(_p.X6) & i32(1)) == 0 { 18207 goto _3 18208 } 18209 18210 _pcacheUnpin(tls, _p) 18211 goto _4 18212 18213 _3: 18214 if (*XPgHdr)(unsafe.Pointer(_p.X10)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 18215 goto _5 18216 } 18217 18218 _pcacheManageDirtyList(tls, _p, uint8(i32(3))) 18219 _5: 18220 _4: 18221 _2: 18222 return 18223 18224 } 18225 18226 var _sqlite3PcacheReleaseØ00__func__Ø000 [21]int8 // - 18227 18228 func init() { 18229 crt.Xstrncpy(nil, &_sqlite3PcacheReleaseØ00__func__Ø000[0], str(14992), 21) 18230 } 18231 18232 func _pcacheUnpin(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44309:1 18233 if ((*XPCache)(unsafe.Pointer(_p.X8)).X8) == 0 { 18234 goto _0 18235 } 18236 18237 (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, int32))(unsafe.Pointer(&struct { 18238 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) 18239 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X8)})))(tls, (*XPCache)(unsafe.Pointer(_p.X8)).X12, (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)), i32(0)) 18240 _0: 18241 return 18242 18243 } 18244 18245 func _pagerUnlockIfUnused(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:52176:1 18246 if (_pPager.X41) != i32(0) || _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) != i32(0) { 18247 goto _1 18248 } 18249 18250 _pagerUnlockAndRollback(tls, _pPager) 18251 _1: 18252 return 18253 18254 } 18255 18256 func _pagerUnlockAndRollback(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:49010:1 18257 if int32(_pPager.X14) == i32(6) || int32(_pPager.X14) == i32(0) { 18258 goto _1 18259 } 18260 18261 func() int32 { 18262 if _assert_pager_state(tls, _pPager) != 0 { 18263 return i32(0) 18264 } 18265 return func() int32 { 18266 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49012), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUnlockAndRollbackØ00__func__Ø000))), unsafe.Pointer(str(11184))) 18267 crt.X__builtin_abort(tls) 18268 return i32(0) 18269 }() 18270 }() 18271 if int32(_pPager.X14) < i32(2) { 18272 goto _4 18273 } 18274 18275 _sqlite3BeginBenignMalloc(tls) 18276 _sqlite3PagerRollback(tls, _pPager) 18277 _sqlite3EndBenignMalloc(tls) 18278 goto _5 18279 18280 _4: 18281 if (_pPager.X1) != 0 { 18282 goto _6 18283 } 18284 18285 func() int32 { 18286 if int32(_pPager.X14) == i32(1) { 18287 return i32(0) 18288 } 18289 return func() int32 { 18290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49018), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUnlockAndRollbackØ00__func__Ø000))), unsafe.Pointer(str(15016))) 18291 crt.X__builtin_abort(tls) 18292 return i32(0) 18293 }() 18294 }() 18295 _pager_end_transaction(tls, _pPager, i32(0), i32(0)) 18296 _6: 18297 _5: 18298 _1: 18299 _pager_unlock(tls, _pPager) 18300 return 18301 18302 } 18303 18304 var _pagerUnlockAndRollbackØ00__func__Ø000 [23]int8 // - 18305 18306 func init() { 18307 crt.Xstrncpy(nil, &_pagerUnlockAndRollbackØ00__func__Ø000[0], str(15048), 23) 18308 } 18309 18310 func _sqlite3PagerRollback(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53388:1 18311 var _rc int32 // sqlite3.c:53389:7 18312 _ = _rc 18313 var _1_rc2 int32 // sqlite3.c:53401:9 18314 _ = _1_rc2 18315 var _2_eState int32 // sqlite3.c:53406:9 18316 _ = _2_eState 18317 _rc = i32(0) 18318 func() int32 { 18319 if _assert_pager_state(tls, _pPager) != 0 { 18320 return i32(0) 18321 } 18322 return func() int32 { 18323 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53396), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerRollbackØ00__func__Ø000))), unsafe.Pointer(str(11184))) 18324 crt.X__builtin_abort(tls) 18325 return i32(0) 18326 }() 18327 }() 18328 if int32(_pPager.X14) != i32(6) { 18329 goto _2 18330 } 18331 18332 r0 = _pPager.X26 18333 return 18334 18335 _2: 18336 if int32(_pPager.X14) > i32(1) { 18337 goto _3 18338 } 18339 18340 r0 = i32(0) 18341 return 18342 18343 _3: 18344 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 18345 goto _4 18346 } 18347 18348 _rc = _sqlite3PagerSavepoint(tls, _pPager, i32(2), i32(-1)) 18349 _1_rc2 = _pager_end_transaction(tls, _pPager, int32(_pPager.X17), i32(0)) 18350 if _rc != i32(0) { 18351 goto _5 18352 } 18353 18354 _rc = _1_rc2 18355 _5: 18356 goto _6 18357 18358 _4: 18359 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) && int32(_pPager.X14) != i32(2) { 18360 goto _8 18361 } 18362 18363 _2_eState = int32(_pPager.X14) 18364 _rc = _pager_end_transaction(tls, _pPager, i32(0), i32(0)) 18365 if (_pPager.X13) != 0 || _2_eState <= i32(2) { 18366 goto _10 18367 } 18368 18369 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(44 /* X26 */))) = i32(4) 18370 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(6)) 18371 _setGetterMethod(tls, _pPager) 18372 r0 = _rc 18373 return 18374 18375 _10: 18376 goto _11 18377 18378 _8: 18379 _rc = _pager_playback(tls, _pPager, i32(0)) 18380 _11: 18381 _6: 18382 func() int32 { 18383 if (int32(_pPager.X14) == i32(1)) || (_rc != i32(0)) { 18384 return i32(0) 18385 } 18386 return func() int32 { 18387 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerRollbackØ00__func__Ø000))), unsafe.Pointer(str(15072))) 18388 crt.X__builtin_abort(tls) 18389 return i32(0) 18390 }() 18391 }() 18392 func() int32 { 18393 if (((((_rc == i32(0)) || (_rc == i32(13))) || (_rc == i32(11))) || (_rc == i32(7))) || ((_rc & i32(255)) == i32(10))) || (_rc == i32(14)) { 18394 return i32(0) 18395 } 18396 return func() int32 { 18397 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53423), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerRollbackØ00__func__Ø000))), unsafe.Pointer(str(15120))) 18398 crt.X__builtin_abort(tls) 18399 return i32(0) 18400 }() 18401 }() 18402 r0 = _pager_error(tls, _pPager, _rc) 18403 return 18404 18405 } 18406 18407 var _sqlite3PagerRollbackØ00__func__Ø000 [21]int8 // - 18408 18409 func init() { 18410 crt.Xstrncpy(nil, &_sqlite3PagerRollbackØ00__func__Ø000[0], str(15248), 21) 18411 } 18412 18413 func _sqlite3PagerSavepoint(tls *crt.TLS, _pPager *XPager, _op int32, _iSavepoint int32) (r0 int32) { // sqlite3.c:53619:1 18414 var _rc int32 // sqlite3.c:53620:7 18415 _ = _rc 18416 var _1_ii int32 // sqlite3.c:53630:9 18417 _ = _1_ii 18418 var _1_nNew int32 // sqlite3.c:53631:9 18419 _ = _1_nNew 18420 var _6_pSavepoint *XPagerSavepoint // sqlite3.c:53661:22 18421 _ = _6_pSavepoint 18422 _rc = _pPager.X26 18423 func() int32 { 18424 if (_op == i32(1)) || (_op == i32(2)) { 18425 return i32(0) 18426 } 18427 return func() int32 { 18428 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53626), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSavepointØ00__func__Ø000))), unsafe.Pointer(str(15272))) 18429 crt.X__builtin_abort(tls) 18430 return i32(0) 18431 }() 18432 }() 18433 func() int32 { 18434 if (_iSavepoint >= i32(0)) || (_op == i32(2)) { 18435 return i32(0) 18436 } 18437 return func() int32 { 18438 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53627), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSavepointØ00__func__Ø000))), unsafe.Pointer(str(15320))) 18439 crt.X__builtin_abort(tls) 18440 return i32(0) 18441 }() 18442 }() 18443 if _rc != i32(0) || _iSavepoint >= (_pPager.X38) { 18444 goto _7 18445 } 18446 18447 _1_nNew = _iSavepoint + func() int32 { 18448 if _op == i32(1) { 18449 return i32(0) 18450 } 18451 return i32(1) 18452 }() 18453 _1_ii = _1_nNew 18454 _10: 18455 if _1_ii >= (_pPager.X38) { 18456 goto _13 18457 } 18458 18459 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37)+44*uintptr(_1_ii))).X2))) 18460 _1_ii += 1 18461 goto _10 18462 18463 _13: 18464 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(100 /* X38 */))) = _1_nNew 18465 if _op != i32(1) { 18466 goto _14 18467 } 18468 18469 if _1_nNew != i32(0) || (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 18470 goto _16 18471 } 18472 18473 if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33))) == 0 { 18474 goto _17 18475 } 18476 18477 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)), int64(i32(0))) 18478 func() int32 { 18479 if _rc == i32(0) { 18480 return i32(0) 18481 } 18482 return func() int32 { 18483 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53650), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSavepointØ00__func__Ø000))), unsafe.Pointer(str(15360))) 18484 crt.X__builtin_abort(tls) 18485 return i32(0) 18486 }() 18487 }() 18488 _17: 18489 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(56 /* X29 */))) = uint32(i32(0)) 18490 _16: 18491 goto _20 18492 18493 _14: 18494 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) && (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 18495 goto _22 18496 } 18497 18498 _6_pSavepoint = func() *XPagerSavepoint { 18499 if _1_nNew == i32(0) { 18500 return (*XPagerSavepoint)(unsafe.Pointer(uintptr(i32(0)))) 18501 } 18502 return (*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37) + 44*uintptr(_1_nNew-i32(1)))) 18503 }() 18504 _rc = _pagerPlaybackSavepoint(tls, _pPager, _6_pSavepoint) 18505 func() int32 { 18506 if _rc != i32(101) { 18507 return i32(0) 18508 } 18509 return func() int32 { 18510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53663), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSavepointØ00__func__Ø000))), unsafe.Pointer(str(15376))) 18511 crt.X__builtin_abort(tls) 18512 return i32(0) 18513 }() 18514 }() 18515 _22: 18516 _20: 18517 _7: 18518 r0 = _rc 18519 return 18520 18521 } 18522 18523 var _sqlite3PagerSavepointØ00__func__Ø000 [22]int8 // - 18524 18525 func init() { 18526 crt.Xstrncpy(nil, &_sqlite3PagerSavepointØ00__func__Ø000[0], str(15392), 22) 18527 } 18528 18529 func _sqlite3JournalIsInMemory(tls *crt.TLS, _p *Xsqlite3_file) (r0 int32) { // sqlite3.c:89009:1 18530 r0 = bool2int((*Xsqlite3_io_methods)(unsafe.Pointer(_p.X0)) == &_MemJournalMethods) 18531 return 18532 18533 } 18534 18535 func _sqlite3OsTruncate(tls *crt.TLS, _id *Xsqlite3_file, _size int64) (r0 int32) { // sqlite3.c:20147:1 18536 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int64) int32)(unsafe.Pointer(&struct { 18537 f func(*crt.TLS, unsafe.Pointer, int64) int32 18538 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X4)})))(tls, _id, _size) 18539 return 18540 18541 } 18542 18543 func _pagerPlaybackSavepoint(tls *crt.TLS, _pPager *XPager, _pSavepoint *XPagerSavepoint) (r0 int32) { // sqlite3.c:50215:1 18544 var _szJ int64 // sqlite3.c:50216:7 18545 _ = _szJ 18546 var _iHdrOff int64 // sqlite3.c:50217:7 18547 _ = _iHdrOff 18548 var _rc int32 // sqlite3.c:50218:7 18549 _ = _rc 18550 var _pDone *XBitvec // sqlite3.c:50219:10 18551 _ = _pDone 18552 var _7_ii uint32 // sqlite3.c:50274:9 18553 _ = _7_ii 18554 var _7_nJRec uint32 // sqlite3.c:50275:9 18555 _ = _7_nJRec 18556 var _7_dummy uint32 // sqlite3.c:50276:9 18557 _ = _7_dummy 18558 var _10_ii uint32 // sqlite3.c:50302:9 18559 _ = _10_ii 18560 var _10_offset int64 // sqlite3.c:50303:9 18561 _ = _10_offset 18562 _rc = i32(0) 18563 _pDone = nil 18564 func() int32 { 18565 if int32(_pPager.X14) != i32(6) { 18566 return i32(0) 18567 } 18568 return func() int32 { 18569 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50221), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15416))) 18570 crt.X__builtin_abort(tls) 18571 return i32(0) 18572 }() 18573 }() 18574 func() int32 { 18575 if int32(_pPager.X14) >= i32(2) { 18576 return i32(0) 18577 } 18578 return func() int32 { 18579 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50222), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(11148))) 18580 crt.X__builtin_abort(tls) 18581 return i32(0) 18582 }() 18583 }() 18584 if _pSavepoint == nil { 18585 goto _4 18586 } 18587 18588 _pDone = _sqlite3BitvecCreate(tls, _pSavepoint.X3) 18589 if _pDone != nil { 18590 goto _5 18591 } 18592 18593 r0 = _sqlite3NomemError(tls, i32(50228)) 18594 return 18595 18596 _5: 18597 _4: 18598 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X22 */))) = func() uint32 { 18599 if _pSavepoint != nil { 18600 return (_pSavepoint.X3) 18601 } 18602 return (_pPager.X23) 18603 }() 18604 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = _pPager.X10 18605 if _pSavepoint != nil || (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 18606 goto _9 18607 } 18608 18609 r0 = _pagerRollbackWal(tls, _pPager) 18610 return 18611 18612 _9: 18613 _szJ = _pPager.X34 18614 func() int32 { 18615 if (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) || (_szJ == int64(i32(0))) { 18616 return i32(0) 18617 } 18618 return func() int32 { 18619 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50248), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15444))) 18620 crt.X__builtin_abort(tls) 18621 return i32(0) 18622 }() 18623 }() 18624 if _pSavepoint == nil || (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 18625 goto _14 18626 } 18627 18628 _iHdrOff = func() int64 { 18629 if (_pSavepoint.X1) != 0 { 18630 return (_pSavepoint.X1) 18631 } 18632 return _szJ 18633 }() 18634 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = _pSavepoint.X0 18635 _17: 18636 if _rc != i32(0) || (_pPager.X34) >= _iHdrOff { 18637 goto _18 18638 } 18639 18640 _rc = _pager_playback_one_page(tls, _pPager, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(76 /* X34 */))), _pDone, i32(1), i32(1)) 18641 goto _17 18642 18643 _18: 18644 func() int32 { 18645 if _rc != i32(101) { 18646 return i32(0) 18647 } 18648 return func() int32 { 18649 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50263), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15376))) 18650 crt.X__builtin_abort(tls) 18651 return i32(0) 18652 }() 18653 }() 18654 goto _22 18655 18656 _14: 18657 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 18658 _22: 18659 _23: 18660 if _rc != i32(0) || (_pPager.X34) >= _szJ { 18661 goto _24 18662 } 18663 18664 _7_nJRec = uint32(i32(0)) 18665 _rc = _readJournalHdr(tls, _pPager, i32(0), _szJ, &_7_nJRec, &_7_dummy) 18666 func() int32 { 18667 if _rc != i32(101) { 18668 return i32(0) 18669 } 18670 return func() int32 { 18671 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50278), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15376))) 18672 crt.X__builtin_abort(tls) 18673 return i32(0) 18674 }() 18675 }() 18676 if _7_nJRec != uint32(i32(0)) || ((_pPager.X35)+int64(_pPager.X47)) != (_pPager.X34) { 18677 goto _29 18678 } 18679 18680 _7_nJRec = uint32((_szJ - (_pPager.X34)) / int64((_pPager.X48)+i32(8))) 18681 _29: 18682 _7_ii = uint32(i32(0)) 18683 _30: 18684 if _rc != i32(0) || _7_ii >= _7_nJRec || (_pPager.X34) >= _szJ { 18685 goto _35 18686 } 18687 18688 _rc = _pager_playback_one_page(tls, _pPager, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(76 /* X34 */))), _pDone, i32(1), i32(1)) 18689 _7_ii += 1 18690 goto _30 18691 18692 _35: 18693 func() int32 { 18694 if _rc != i32(101) { 18695 return i32(0) 18696 } 18697 return func() int32 { 18698 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50293), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15376))) 18699 crt.X__builtin_abort(tls) 18700 return i32(0) 18701 }() 18702 }() 18703 goto _23 18704 18705 _24: 18706 func() int32 { 18707 if (_rc != i32(0)) || ((_pPager.X34) >= _szJ) { 18708 return i32(0) 18709 } 18710 return func() int32 { 18711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50295), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15480))) 18712 crt.X__builtin_abort(tls) 18713 return i32(0) 18714 }() 18715 }() 18716 if _pSavepoint == nil { 18717 goto _41 18718 } 18719 18720 _10_offset = int64(_pSavepoint.X4) * int64(i32(4)+(_pPager.X48)) 18721 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 18722 goto _42 18723 } 18724 18725 _rc = _sqlite3WalSavepointUndo(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), (*uint32)(unsafe.Pointer((*[4]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSavepoint))+uintptr(28 /* X5 */)))))) 18726 _42: 18727 _10_ii = _pSavepoint.X4 18728 _43: 18729 if _rc != i32(0) || _10_ii >= (_pPager.X29) { 18730 goto _47 18731 } 18732 18733 func() int32 { 18734 if _10_offset == (int64(_10_ii) * int64(i32(4)+(_pPager.X48))) { 18735 return i32(0) 18736 } 18737 return func() int32 { 18738 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50309), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15524))) 18739 crt.X__builtin_abort(tls) 18740 return i32(0) 18741 }() 18742 }() 18743 _rc = _pager_playback_one_page(tls, _pPager, &_10_offset, _pDone, i32(0), i32(1)) 18744 _10_ii += 1 18745 goto _43 18746 18747 _47: 18748 func() int32 { 18749 if _rc != i32(101) { 18750 return i32(0) 18751 } 18752 return func() int32 { 18753 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50312), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPlaybackSavepointØ00__func__Ø000))), unsafe.Pointer(str(15376))) 18754 crt.X__builtin_abort(tls) 18755 return i32(0) 18756 }() 18757 }() 18758 _41: 18759 _sqlite3BitvecDestroy(tls, _pDone) 18760 if _rc != i32(0) { 18761 goto _52 18762 } 18763 18764 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = _szJ 18765 _52: 18766 r0 = _rc 18767 return 18768 18769 } 18770 18771 var _pagerPlaybackSavepointØ00__func__Ø000 [23]int8 // - 18772 18773 func init() { 18774 crt.Xstrncpy(nil, &_pagerPlaybackSavepointØ00__func__Ø000[0], str(15564), 23) 18775 } 18776 18777 func _pagerRollbackWal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:49954:1 18778 var _rc int32 // sqlite3.c:49955:7 18779 _ = _rc 18780 var _pList *XPgHdr // sqlite3.c:49956:9 18781 _ = _pList 18782 var _1_pNext *XPgHdr // sqlite3.c:49969:11 18783 _ = _1_pNext 18784 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X22 */))) = _pPager.X23 18785 _rc = _sqlite3WalUndo(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pagerUndoCallback, (unsafe.Pointer)(_pPager)) 18786 _pList = _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 18787 _0: 18788 if _pList == nil || _rc != i32(0) { 18789 goto _1 18790 } 18791 18792 _1_pNext = (*XPgHdr)(unsafe.Pointer(_pList.X3)) 18793 _rc = _pagerUndoCallback(tls, (unsafe.Pointer)(_pPager), _pList.X5) 18794 _pList = _1_pNext 18795 goto _0 18796 18797 _1: 18798 r0 = _rc 18799 return 18800 18801 } 18802 18803 func _sqlite3WalUndo(tls *crt.TLS, _pWal *XWal, _xUndo func(*crt.TLS, unsafe.Pointer, uint32) int32, _pUndoCtx unsafe.Pointer) (r0 int32) { // sqlite3.c:57183:1 18804 var _rc int32 // sqlite3.c:57184:7 18805 _ = _rc 18806 var _1_iMax uint32 // sqlite3.c:57186:10 18807 _ = _1_iMax 18808 var _1_iFrame uint32 // sqlite3.c:57187:10 18809 _ = _1_iFrame 18810 _rc = i32(0) 18811 if func() int32 { 18812 if (_pWal.X12) != 0 { 18813 return i32(1) 18814 } 18815 return func() int32 { 18816 func() int32 { 18817 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57185), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalUndoØ00__func__Ø000))), unsafe.Pointer(str(5204))) 18818 crt.X__builtin_abort(tls) 18819 return i32(0) 18820 }() 18821 return i32(0) 18822 }() 18823 }() == 0 { 18824 goto _2 18825 } 18826 18827 _1_iMax = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 18828 crt.Xmemcpy(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), u32(48)) 18829 _1_iFrame = ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) + uint32(i32(1)) 18830 _3: 18831 if func() int32 { 18832 if _rc == i32(0) { 18833 return i32(1) 18834 } 18835 return func() int32 { 18836 func() int32 { 18837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57195), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalUndoØ00__func__Ø000))), unsafe.Pointer(str(5204))) 18838 crt.X__builtin_abort(tls) 18839 return i32(0) 18840 }() 18841 return i32(0) 18842 }() 18843 }() == 0 || _1_iFrame > _1_iMax { 18844 goto _9 18845 } 18846 18847 func() int32 { 18848 if _walFramePgno(tls, _pWal, _1_iFrame) != uint32(i32(1)) { 18849 return i32(0) 18850 } 18851 return func() int32 { 18852 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57209), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalUndoØ00__func__Ø000))), unsafe.Pointer(str(15588))) 18853 crt.X__builtin_abort(tls) 18854 return i32(0) 18855 }() 18856 }() 18857 _rc = _xUndo(tls, _pUndoCtx, _walFramePgno(tls, _pWal, _1_iFrame)) 18858 _1_iFrame += 1 18859 goto _3 18860 18861 _9: 18862 if _1_iMax == ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 18863 goto _12 18864 } 18865 18866 _walCleanupHash(tls, _pWal) 18867 _12: 18868 _2: 18869 r0 = _rc 18870 return 18871 18872 } 18873 18874 var _sqlite3WalUndoØ00__func__Ø000 [15]int8 // - 18875 18876 func init() { 18877 crt.Xstrncpy(nil, &_sqlite3WalUndoØ00__func__Ø000[0], str(15620), 15) 18878 } 18879 18880 func _walIndexHdr(tls *crt.TLS, _pWal *XWal) (r0 *XWalIndexHdr) { // sqlite3.c:54989:1 18881 func() int32 { 18882 if ((_pWal.X5) > i32(0)) && ((*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0))))) != nil) { 18883 return i32(0) 18884 } 18885 return func() int32 { 18886 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54990), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexHdrØ00__func__Ø000))), unsafe.Pointer(str(15636))) 18887 crt.X__builtin_abort(tls) 18888 return i32(0) 18889 }() 18890 }() 18891 r0 = (*XWalIndexHdr)(unsafe.Pointer(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0)))))) 18892 return 18893 18894 } 18895 18896 var _walIndexHdrØ00__func__Ø000 [12]int8 // - 18897 18898 func init() { 18899 crt.Xstrncpy(nil, &_walIndexHdrØ00__func__Ø000[0], str(15676), 12) 18900 } 18901 18902 func _walFramePgno(tls *crt.TLS, _pWal *XWal, _iFrame uint32) (r0 uint32) { // sqlite3.c:55314:1 18903 var _iHash int32 // sqlite3.c:55315:7 18904 _ = _iHash 18905 _iHash = _walFramePage(tls, _iFrame) 18906 if _iHash != i32(0) { 18907 goto _0 18908 } 18909 18910 r0 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0)))))) + 4*uintptr((u32(34)+_iFrame)-uint32(i32(1))))) 18911 return 18912 18913 _0: 18914 r0 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_iHash))))) + 4*uintptr(((_iFrame-uint32(i32(1)))-u32(4062))%uint32(i32(4096))))) 18915 return 18916 18917 } 18918 18919 func _walFramePage(tls *crt.TLS, _iFrame uint32) (r0 int32) { // sqlite3.c:55300:1 18920 var _iHash int32 // sqlite3.c:55301:7 18921 _ = _iHash 18922 _iHash = int32((((_iFrame + uint32(i32(4096))) - u32(4062)) - uint32(i32(1))) / uint32(i32(4096))) 18923 func() int32 { 18924 if (((((_iHash == i32(0)) || (_iFrame > u32(4062))) && ((_iHash >= i32(1)) || (_iFrame <= u32(4062)))) && ((_iHash <= i32(1)) || (_iFrame > u32(8158)))) && ((_iHash >= i32(2)) || (_iFrame <= u32(8158)))) && ((_iHash <= i32(2)) || (_iFrame > u32(12254))) { 18925 return i32(0) 18926 } 18927 return func() int32 { 18928 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55302), unsafe.Pointer((*int8)(unsafe.Pointer(&_walFramePageØ00__func__Ø000))), unsafe.Pointer(str(15688))) 18929 crt.X__builtin_abort(tls) 18930 return i32(0) 18931 }() 18932 }() 18933 r0 = _iHash 18934 return 18935 18936 } 18937 18938 var _walFramePageØ00__func__Ø000 [13]int8 // - 18939 18940 func init() { 18941 crt.Xstrncpy(nil, &_walFramePageØ00__func__Ø000[0], str(15964), 13) 18942 } 18943 18944 func _walCleanupHash(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:55334:1 18945 var _aHash *uint16 // sqlite3.c:55335:20 18946 _ = _aHash 18947 var _aPgno *uint32 // sqlite3.c:55336:16 18948 _ = _aPgno 18949 var _iZero uint32 // sqlite3.c:55337:7 18950 _ = _iZero 18951 var _iLimit int32 // sqlite3.c:55338:7 18952 _ = _iLimit 18953 var _nByte int32 // sqlite3.c:55339:7 18954 _ = _nByte 18955 var _i int32 // sqlite3.c:55340:7 18956 _ = _i 18957 _aHash = nil 18958 _aPgno = nil 18959 _iZero = u32(0) 18960 _iLimit = i32(0) 18961 func() int32 { 18962 if (_pWal.X12) != 0 { 18963 return i32(0) 18964 } 18965 return func() int32 { 18966 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55342), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCleanupHashØ00__func__Ø000))), unsafe.Pointer(str(15980))) 18967 crt.X__builtin_abort(tls) 18968 return i32(0) 18969 }() 18970 }() 18971 if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) != uint32(i32(0)) { 18972 goto _2 18973 } 18974 18975 return 18976 18977 _2: 18978 func() int32 { 18979 if (_pWal.X5) > _walFramePage(tls, (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X6) { 18980 return i32(0) 18981 } 18982 return func() int32 { 18983 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55353), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCleanupHashØ00__func__Ø000))), unsafe.Pointer(str(15996))) 18984 crt.X__builtin_abort(tls) 18985 return i32(0) 18986 }() 18987 }() 18988 func() int32 { 18989 if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_walFramePage(tls, (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X6))))) != nil { 18990 return i32(0) 18991 } 18992 return func() int32 { 18993 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55354), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCleanupHashØ00__func__Ø000))), unsafe.Pointer(str(16044))) 18994 crt.X__builtin_abort(tls) 18995 return i32(0) 18996 }() 18997 }() 18998 _walHashGet(tls, _pWal, _walFramePage(tls, (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X6), &_aHash, &_aPgno, &_iZero) 18999 _iLimit = int32(((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) - _iZero) 19000 func() int32 { 19001 if _iLimit > i32(0) { 19002 return i32(0) 19003 } 19004 return func() int32 { 19005 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55361), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCleanupHashØ00__func__Ø000))), unsafe.Pointer(str(16092))) 19006 crt.X__builtin_abort(tls) 19007 return i32(0) 19008 }() 19009 }() 19010 _i = i32(0) 19011 _9: 19012 if _i >= i32(8192) { 19013 goto _12 19014 } 19015 19016 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_i)))) <= _iLimit { 19017 goto _13 19018 } 19019 19020 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_i))) = uint16(i32(0)) 19021 _13: 19022 _i += 1 19023 goto _9 19024 19025 _12: 19026 _nByte = int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_aHash)))) - uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno))+4*uintptr(_iLimit+i32(1))))))))) / 1) 19027 crt.Xmemset(tls, (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno))+4*uintptr(_iLimit+i32(1))))), i32(0), uint32(_nByte)) 19028 return 19029 19030 } 19031 19032 var _walCleanupHashØ00__func__Ø000 [15]int8 // - 19033 19034 func init() { 19035 crt.Xstrncpy(nil, &_walCleanupHashØ00__func__Ø000[0], str(16104), 15) 19036 } 19037 19038 func _walHashGet(tls *crt.TLS, _pWal *XWal, _iHash int32, _paHash **uint16, _paPgno **uint32, _piZero *uint32) (r0 int32) { // sqlite3.c:55262:1 19039 var _rc int32 // sqlite3.c:55269:7 19040 _ = _rc 19041 var _aPgno *uint32 // sqlite3.c:55270:16 19042 _ = _aPgno 19043 var _1_iZero uint32 // sqlite3.c:55276:9 19044 _ = _1_iZero 19045 var _1_aHash *uint16 // sqlite3.c:55277:22 19046 _ = _1_aHash 19047 _rc = _walIndexPage(tls, _pWal, _iHash, &_aPgno) 19048 func() int32 { 19049 if (_rc == i32(0)) || (_iHash > i32(0)) { 19050 return i32(0) 19051 } 19052 return func() int32 { 19053 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55273), unsafe.Pointer((*int8)(unsafe.Pointer(&_walHashGetØ00__func__Ø000))), unsafe.Pointer(str(16120))) 19054 crt.X__builtin_abort(tls) 19055 return i32(0) 19056 }() 19057 }() 19058 if _rc != i32(0) { 19059 goto _3 19060 } 19061 19062 _1_aHash = (*uint16)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(i32(4096)))))) 19063 if _iHash != i32(0) { 19064 goto _4 19065 } 19066 19067 _aPgno = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(u32(34)))) 19068 _1_iZero = uint32(i32(0)) 19069 goto _5 19070 19071 _4: 19072 _1_iZero = u32(4062) + uint32((_iHash-i32(1))*i32(4096)) 19073 _5: 19074 *_paPgno = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(i32(-1)))) 19075 *_paHash = _1_aHash 19076 *_piZero = _1_iZero 19077 _3: 19078 r0 = _rc 19079 return 19080 19081 } 19082 19083 func _walIndexPage(tls *crt.TLS, _pWal *XWal, _iPage int32, _ppPage **uint32) (r0 int32) { // sqlite3.c:54939:1 19084 var _rc int32 // sqlite3.c:54940:7 19085 _ = _rc 19086 var _1_nByte int32 // sqlite3.c:54944:9 19087 _ = _1_nByte 19088 var _1_apNew **uint32 // sqlite3.c:54945:18 19089 _ = _1_apNew 19090 _rc = i32(0) 19091 if (_pWal.X5) > _iPage { 19092 goto _0 19093 } 19094 19095 _1_nByte = int32(u32(4) * uint32(_iPage+i32(1))) 19096 _1_apNew = (**uint32)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_pWal.X7), uint64(_1_nByte)))) 19097 if _1_apNew != nil { 19098 goto _1 19099 } 19100 19101 *_ppPage = (*uint32)(unsafe.Pointer(uintptr(i32(0)))) 19102 r0 = _sqlite3NomemError(tls, i32(54949)) 19103 return 19104 19105 _1: 19106 crt.Xmemset(tls, (unsafe.Pointer)((**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_apNew))+4*uintptr(_pWal.X5)))), i32(0), u32(4)*uint32((_iPage+i32(1))-(_pWal.X5))) 19107 *(***uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(32 /* X7 */))) = _1_apNew 19108 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(24 /* X5 */))) = _iPage + i32(1) 19109 _0: 19110 if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_iPage)))) != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 19111 goto _2 19112 } 19113 19114 if int32(_pWal.X11) != i32(2) { 19115 goto _3 19116 } 19117 19118 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_iPage))) = (*uint32)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(32768))))) 19119 if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_iPage)))) != nil { 19120 goto _4 19121 } 19122 19123 _rc = _sqlite3NomemError(tls, i32(54961)) 19124 _4: 19125 goto _5 19126 19127 _3: 19128 _rc = _sqlite3OsShmMap(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _iPage, int32(u32(32768)), int32(_pWal.X12), (*unsafe.Pointer)(unsafe.Pointer((**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7))+4*uintptr(_iPage)))))) 19129 if _rc != i32(8) { 19130 goto _6 19131 } 19132 19133 { 19134 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(46 /* X14 */))) 19135 *p = uint8(int32(*p) | i32(2)) 19136 sink6915 = *p 19137 } 19138 _rc = i32(0) 19139 _6: 19140 _5: 19141 _2: 19142 *_ppPage = *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_iPage))) 19143 func() int32 { 19144 if ((_iPage == i32(0)) || ((*_ppPage) != nil)) || (_rc != i32(0)) { 19145 return i32(0) 19146 } 19147 return func() int32 { 19148 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54974), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexPageØ00__func__Ø000))), unsafe.Pointer(str(16148))) 19149 crt.X__builtin_abort(tls) 19150 return i32(0) 19151 }() 19152 }() 19153 r0 = _rc 19154 return 19155 19156 } 19157 19158 func _sqlite3OsShmMap(tls *crt.TLS, _id *Xsqlite3_file, _iPage int32, _pgsz int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:20216:1 19159 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 19160 f func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32 19161 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X13)})))(tls, _id, _iPage, _pgsz, _bExtend, _pp) 19162 return 19163 19164 } 19165 19166 var _walIndexPageØ00__func__Ø000 [13]int8 // - 19167 19168 func init() { 19169 crt.Xstrncpy(nil, &_walIndexPageØ00__func__Ø000[0], str(16188), 13) 19170 } 19171 19172 var _walHashGetØ00__func__Ø000 [11]int8 // - 19173 19174 func init() { 19175 crt.Xstrncpy(nil, &_walHashGetØ00__func__Ø000[0], str(16204), 11) 19176 } 19177 19178 func _pagerUndoCallback(tls *crt.TLS, _pCtx unsafe.Pointer, _iPg uint32) (r0 int32) { // sqlite3.c:49915:1 19179 var _rc int32 // sqlite3.c:49916:7 19180 _ = _rc 19181 var _pPager *XPager // sqlite3.c:49917:9 19182 _ = _pPager 19183 var _pPg *XPgHdr // sqlite3.c:49918:9 19184 _ = _pPg 19185 var _3_iFrame uint32 // sqlite3.c:49926:11 19186 _ = _3_iFrame 19187 _rc = i32(0) 19188 _pPager = (*XPager)(unsafe.Pointer(_pCtx)) 19189 func() int32 { 19190 if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 19191 return i32(0) 19192 } 19193 return func() int32 { 19194 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49920), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUndoCallbackØ00__func__Ø000))), unsafe.Pointer(str(16216))) 19195 crt.X__builtin_abort(tls) 19196 return i32(0) 19197 }() 19198 }() 19199 _pPg = _sqlite3PagerLookup(tls, _pPager, _iPg) 19200 if _pPg == nil { 19201 goto _2 19202 } 19203 19204 if _sqlite3PcachePageRefcount(tls, _pPg) != i32(1) { 19205 goto _3 19206 } 19207 19208 _sqlite3PcacheDrop(tls, _pPg) 19209 goto _4 19210 19211 _3: 19212 _3_iFrame = u32(0) 19213 _rc = _sqlite3WalFindFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pPg.X5, &_3_iFrame) 19214 if _rc != i32(0) { 19215 goto _5 19216 } 19217 19218 _rc = _readDbPage(tls, _pPg, _3_iFrame) 19219 _5: 19220 if _rc != i32(0) { 19221 goto _6 19222 } 19223 19224 (*(*func(*crt.TLS, *XPgHdr))(unsafe.Pointer(&struct { 19225 f func(*crt.TLS, unsafe.Pointer) 19226 }{(_pPager.X56)})))(tls, _pPg) 19227 _6: 19228 _sqlite3PagerUnrefNotNull(tls, _pPg) 19229 _4: 19230 _2: 19231 _sqlite3BackupRestart(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36))) 19232 r0 = _rc 19233 return 19234 19235 } 19236 19237 var _pagerUndoCallbackØ00__func__Ø000 [18]int8 // - 19238 19239 func init() { 19240 crt.Xstrncpy(nil, &_pagerUndoCallbackØ00__func__Ø000[0], str(16236), 18) 19241 } 19242 19243 func _sqlite3PagerLookup(tls *crt.TLS, _pPager *XPager, _pgno uint32) (r0 *XPgHdr) { // sqlite3.c:52454:1 19244 var _pPage *Xsqlite3_pcache_page // sqlite3.c:52455:23 19245 _ = _pPage 19246 func() int32 { 19247 if _pPager != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { 19248 return i32(0) 19249 } 19250 return func() int32 { 19251 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52456), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerLookupØ00__func__Ø000))), unsafe.Pointer(str(16256))) 19252 crt.X__builtin_abort(tls) 19253 return i32(0) 19254 }() 19255 }() 19256 func() int32 { 19257 if _pgno != uint32(i32(0)) { 19258 return i32(0) 19259 } 19260 return func() int32 { 19261 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52457), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerLookupØ00__func__Ø000))), unsafe.Pointer(str(16268))) 19262 crt.X__builtin_abort(tls) 19263 return i32(0) 19264 }() 19265 }() 19266 func() int32 { 19267 if (*XPCache)(unsafe.Pointer(_pPager.X59)) != (*XPCache)(unsafe.Pointer(uintptr(i32(0)))) { 19268 return i32(0) 19269 } 19270 return func() int32 { 19271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52458), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerLookupØ00__func__Ø000))), unsafe.Pointer(str(16276))) 19272 crt.X__builtin_abort(tls) 19273 return i32(0) 19274 }() 19275 }() 19276 _pPage = _sqlite3PcacheFetch(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, i32(0)) 19277 func() int32 { 19278 if (_pPage == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X21) != 0) { 19279 return i32(0) 19280 } 19281 return func() int32 { 19282 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52460), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerLookupØ00__func__Ø000))), unsafe.Pointer(str(16296))) 19283 crt.X__builtin_abort(tls) 19284 return i32(0) 19285 }() 19286 }() 19287 if _pPage != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 19288 goto _9 19289 } 19290 19291 r0 = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 19292 return 19293 19294 _9: 19295 r0 = _sqlite3PcacheFetchFinish(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, _pPage) 19296 return 19297 19298 } 19299 19300 var _sqlite3PagerLookupØ00__func__Ø000 [19]int8 // - 19301 19302 func init() { 19303 crt.Xstrncpy(nil, &_sqlite3PagerLookupØ00__func__Ø000[0], str(16336), 19) 19304 } 19305 19306 func _sqlite3PcacheFetch(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _createFlag int32) (r0 *Xsqlite3_pcache_page) { // sqlite3.c:44442:1 19307 var _eCreate int32 // sqlite3.c:44447:7 19308 _ = _eCreate 19309 var _pRes *Xsqlite3_pcache_page // sqlite3.c:44448:23 19310 _ = _pRes 19311 func() int32 { 19312 if _pCache != (*XPCache)(unsafe.Pointer(uintptr(i32(0)))) { 19313 return i32(0) 19314 } 19315 return func() int32 { 19316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44450), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(14296))) 19317 crt.X__builtin_abort(tls) 19318 return i32(0) 19319 }() 19320 }() 19321 func() int32 { 19322 if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 19323 return i32(0) 19324 } 19325 return func() int32 { 19326 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44451), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(16356))) 19327 crt.X__builtin_abort(tls) 19328 return i32(0) 19329 }() 19330 }() 19331 func() int32 { 19332 if (_createFlag == i32(3)) || (_createFlag == i32(0)) { 19333 return i32(0) 19334 } 19335 return func() int32 { 19336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44452), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(16376))) 19337 crt.X__builtin_abort(tls) 19338 return i32(0) 19339 }() 19340 }() 19341 func() int32 { 19342 if int32(_pCache.X9) == func() int32 { 19343 if ((_pCache.X8) != 0) && ((*XPgHdr)(unsafe.Pointer(_pCache.X0)) != nil) { 19344 return i32(1) 19345 } 19346 return i32(2) 19347 }() { 19348 return i32(0) 19349 } 19350 return func() int32 { 19351 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44453), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(16408))) 19352 crt.X__builtin_abort(tls) 19353 return i32(0) 19354 }() 19355 }() 19356 _eCreate = _createFlag & int32(_pCache.X9) 19357 func() int32 { 19358 if ((_eCreate == i32(0)) || (_eCreate == i32(1))) || (_eCreate == i32(2)) { 19359 return i32(0) 19360 } 19361 return func() int32 { 19362 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44463), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(16476))) 19363 crt.X__builtin_abort(tls) 19364 return i32(0) 19365 }() 19366 }() 19367 func() int32 { 19368 if (_createFlag == i32(0)) || (int32(_pCache.X9) == _eCreate) { 19369 return i32(0) 19370 } 19371 return func() int32 { 19372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44464), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(16516))) 19373 crt.X__builtin_abort(tls) 19374 return i32(0) 19375 }() 19376 }() 19377 func() int32 { 19378 if (_createFlag == i32(0)) || (_eCreate == (i32(1) + bool2int(((_pCache.X8) == 0) || ((*XPgHdr)(unsafe.Pointer(_pCache.X0)) == nil)))) { 19379 return i32(0) 19380 } 19381 return func() int32 { 19382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44465), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchØ00__func__Ø000))), unsafe.Pointer(str(16560))) 19383 crt.X__builtin_abort(tls) 19384 return i32(0) 19385 }() 19386 }() 19387 _pRes = (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page)(unsafe.Pointer(&struct { 19388 f func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer 19389 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X7)})))(tls, _pCache.X12, _pgno, _eCreate) 19390 r0 = _pRes 19391 return 19392 19393 } 19394 19395 var _sqlite3PcacheFetchØ00__func__Ø000 [19]int8 // - 19396 19397 func init() { 19398 crt.Xstrncpy(nil, &_sqlite3PcacheFetchØ00__func__Ø000[0], str(16628), 19) 19399 } 19400 19401 func _sqlite3PcacheFetchFinish(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _pPage *Xsqlite3_pcache_page) (r0 *XPgHdr) { // sqlite3.c:44565:1 19402 var _pPgHdr *XPgHdr // sqlite3.c:44570:9 19403 _ = _pPgHdr 19404 func() int32 { 19405 if _pPage != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 19406 return i32(0) 19407 } 19408 return func() int32 { 19409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44572), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchFinishØ00__func__Ø000))), unsafe.Pointer(str(16648))) 19410 crt.X__builtin_abort(tls) 19411 return i32(0) 19412 }() 19413 }() 19414 _pPgHdr = (*XPgHdr)(unsafe.Pointer(_pPage.X1)) 19415 if (*Xsqlite3_pcache_page)(unsafe.Pointer(_pPgHdr.X0)) != nil { 19416 goto _2 19417 } 19418 19419 r0 = _pcacheFetchFinishWithInit(tls, _pCache, _pgno, _pPage) 19420 return 19421 19422 _2: 19423 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(12 /* X3 */))) += 1 19424 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(26 /* X7 */))) += 1 19425 func() int32 { 19426 if _sqlite3PcachePageSanity(tls, _pPgHdr) != 0 { 19427 return i32(0) 19428 } 19429 return func() int32 { 19430 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44580), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheFetchFinishØ00__func__Ø000))), unsafe.Pointer(str(16660))) 19431 crt.X__builtin_abort(tls) 19432 return i32(0) 19433 }() 19434 }() 19435 r0 = _pPgHdr 19436 return 19437 19438 } 19439 19440 var _sqlite3PcacheFetchFinishØ00__func__Ø000 [25]int8 // - 19441 19442 func init() { 19443 crt.Xstrncpy(nil, &_sqlite3PcacheFetchFinishØ00__func__Ø000[0], str(16692), 25) 19444 } 19445 19446 func _pcacheFetchFinishWithInit(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _pPage *Xsqlite3_pcache_page) (r0 *XPgHdr) { // sqlite3.c:44539:1 19447 var _pPgHdr *XPgHdr // sqlite3.c:44544:9 19448 _ = _pPgHdr 19449 func() int32 { 19450 if _pPage != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 19451 return i32(0) 19452 } 19453 return func() int32 { 19454 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44545), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheFetchFinishWithInitØ00__func__Ø000))), unsafe.Pointer(str(16648))) 19455 crt.X__builtin_abort(tls) 19456 return i32(0) 19457 }() 19458 }() 19459 _pPgHdr = (*XPgHdr)(unsafe.Pointer(_pPage.X1)) 19460 func() int32 { 19461 if (*Xsqlite3_pcache_page)(unsafe.Pointer(_pPgHdr.X0)) == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 19462 return i32(0) 19463 } 19464 return func() int32 { 19465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44547), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheFetchFinishWithInitØ00__func__Ø000))), unsafe.Pointer(str(16720))) 19466 crt.X__builtin_abort(tls) 19467 return i32(0) 19468 }() 19469 }() 19470 crt.Xmemset(tls, (unsafe.Pointer)((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr))+uintptr(12 /* X3 */)))), i32(0), u32(28)) 19471 *(**Xsqlite3_pcache_page)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(0 /* X0 */))))) = _pPage 19472 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(4 /* X1 */))) = _pPage.X0 19473 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(8 /* X2 */))) = (unsafe.Pointer)((*XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + 40*uintptr(i32(1))))) 19474 crt.Xmemset(tls, _pPgHdr.X2, i32(0), uint32(i32(8))) 19475 *(**XPCache)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(28 /* X8 */))))) = _pCache 19476 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(20 /* X5 */))) = _pgno 19477 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPgHdr)) + uintptr(24 /* X6 */))) = uint16(i32(1)) 19478 r0 = _sqlite3PcacheFetchFinish(tls, _pCache, _pgno, _pPage) 19479 return 19480 19481 } 19482 19483 var _pcacheFetchFinishWithInitØ00__func__Ø000 [26]int8 // - 19484 19485 func init() { 19486 crt.Xstrncpy(nil, &_pcacheFetchFinishWithInitØ00__func__Ø000[0], str(16740), 26) 19487 } 19488 19489 func _sqlite3PcachePageRefcount(tls *crt.TLS, _p *XPgHdr) (r0 int32) { // sqlite3.c:44869:1 19490 r0 = int32(_p.X7) 19491 return 19492 19493 } 19494 19495 func _sqlite3PcacheDrop(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44619:1 19496 func() int32 { 19497 if int32(_p.X7) == i32(1) { 19498 return i32(0) 19499 } 19500 return func() int32 { 19501 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44620), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheDropØ00__func__Ø000))), unsafe.Pointer(str(16768))) 19502 crt.X__builtin_abort(tls) 19503 return i32(0) 19504 }() 19505 }() 19506 func() int32 { 19507 if _sqlite3PcachePageSanity(tls, _p) != 0 { 19508 return i32(0) 19509 } 19510 return func() int32 { 19511 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44621), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheDropØ00__func__Ø000))), unsafe.Pointer(str(14152))) 19512 crt.X__builtin_abort(tls) 19513 return i32(0) 19514 }() 19515 }() 19516 if (int32(_p.X6) & i32(2)) == 0 { 19517 goto _4 19518 } 19519 19520 _pcacheManageDirtyList(tls, _p, uint8(i32(1))) 19521 _4: 19522 *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(12 /* X3 */))) -= 1 19523 (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, int32))(unsafe.Pointer(&struct { 19524 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) 19525 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X8)})))(tls, (*XPCache)(unsafe.Pointer(_p.X8)).X12, (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)), i32(1)) 19526 return 19527 19528 } 19529 19530 var _sqlite3PcacheDropØ00__func__Ø000 [18]int8 // - 19531 19532 func init() { 19533 crt.Xstrncpy(nil, &_sqlite3PcacheDropØ00__func__Ø000[0], str(16780), 18) 19534 } 19535 19536 func _sqlite3WalFindFrame(tls *crt.TLS, _pWal *XWal, _pgno uint32, _piRead *uint32) (r0 int32) { // sqlite3.c:56980:1 19537 var _iRead uint32 // sqlite3.c:56985:7 19538 _ = _iRead 19539 var _iLast uint32 // sqlite3.c:56986:7 19540 _ = _iLast 19541 var _iHash int32 // sqlite3.c:56987:7 19542 _ = _iHash 19543 var _iMinHash int32 // sqlite3.c:56988:7 19544 _ = _iMinHash 19545 var _2_aHash *uint16 // sqlite3.c:57031:22 19546 _ = _2_aHash 19547 var _2_aPgno *uint32 // sqlite3.c:57032:18 19548 _ = _2_aPgno 19549 var _2_iZero uint32 // sqlite3.c:57033:9 19550 _ = _2_iZero 19551 var _2_iKey int32 // sqlite3.c:57034:9 19552 _ = _2_iKey 19553 var _2_nCollide int32 // sqlite3.c:57035:9 19554 _ = _2_nCollide 19555 var _2_rc int32 // sqlite3.c:57036:9 19556 _ = _2_rc 19557 var _4_iFrame uint32 // sqlite3.c:57044:11 19558 _ = _4_iFrame 19559 _iRead = u32(0) 19560 _iLast = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 19561 func() int32 { 19562 if (int32(_pWal.X9) >= i32(0)) || ((_pWal.X23) != 0) { 19563 return i32(0) 19564 } 19565 return func() int32 { 19566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56991), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFindFrameØ00__func__Ø000))), unsafe.Pointer(str(16800))) 19567 crt.X__builtin_abort(tls) 19568 return i32(0) 19569 }() 19570 }() 19571 if _iLast != uint32(i32(0)) && int32(_pWal.X9) != i32(0) { 19572 goto _4 19573 } 19574 19575 *_piRead = uint32(i32(0)) 19576 r0 = i32(0) 19577 return 19578 19579 _4: 19580 _iMinHash = _walFramePage(tls, _pWal.X19) 19581 _iHash = _walFramePage(tls, _iLast) 19582 _5: 19583 if _iHash < _iMinHash || _iRead != uint32(i32(0)) { 19584 goto _9 19585 } 19586 19587 _2_rc = _walHashGet(tls, _pWal, _iHash, &_2_aHash, &_2_aPgno, &_2_iZero) 19588 if _2_rc == i32(0) { 19589 goto _10 19590 } 19591 19592 r0 = _2_rc 19593 return 19594 19595 _10: 19596 _2_nCollide = i32(8192) 19597 _2_iKey = _walHash(tls, _pgno) 19598 _11: 19599 if (*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aHash)) + 2*uintptr(_2_iKey)))) == 0 { 19600 goto _14 19601 } 19602 19603 _4_iFrame = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aHash)) + 2*uintptr(_2_iKey)))) + _2_iZero 19604 if _4_iFrame > _iLast || _4_iFrame < (_pWal.X19) || (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aPgno)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aHash)) + 2*uintptr(_2_iKey))))))) != _pgno { 19605 goto _17 19606 } 19607 19608 func() int32 { 19609 if (_4_iFrame > _iRead) || ((_sqlite3Config.X6) == i32(0)) { 19610 return i32(0) 19611 } 19612 return func() int32 { 19613 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57046), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFindFrameØ00__func__Ø000))), unsafe.Pointer(str(16840))) 19614 crt.X__builtin_abort(tls) 19615 return i32(0) 19616 }() 19617 }() 19618 _iRead = _4_iFrame 19619 _17: 19620 if postInc961(&_2_nCollide, int32(-1)) != i32(0) { 19621 goto _21 19622 } 19623 19624 r0 = _sqlite3CorruptError(tls, i32(57050)) 19625 return 19626 19627 _21: 19628 _2_iKey = _walNextHash(tls, _2_iKey) 19629 goto _11 19630 19631 _14: 19632 _iHash -= 1 19633 goto _5 19634 19635 _9: 19636 *_piRead = _iRead 19637 r0 = i32(0) 19638 return 19639 19640 } 19641 19642 var _sqlite3WalFindFrameØ00__func__Ø000 [20]int8 // - 19643 19644 func init() { 19645 crt.Xstrncpy(nil, &_sqlite3WalFindFrameØ00__func__Ø000[0], str(16868), 20) 19646 } 19647 19648 func _walHash(tls *crt.TLS, _iPage uint32) (r0 int32) { // sqlite3.c:55239:1 19649 func() int32 { 19650 if _iPage > uint32(i32(0)) { 19651 return i32(0) 19652 } 19653 return func() int32 { 19654 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55240), unsafe.Pointer((*int8)(unsafe.Pointer(&_walHashØ00__func__Ø000))), unsafe.Pointer(str(16888))) 19655 crt.X__builtin_abort(tls) 19656 return i32(0) 19657 }() 19658 }() 19659 i32(0) 19660 r0 = int32((_iPage * uint32(i32(383))) & uint32(i32(8191))) 19661 return 19662 19663 } 19664 19665 var _walHashØ00__func__Ø000 [8]int8 // - 19666 19667 func init() { 19668 crt.Xstrncpy(nil, &_walHashØ00__func__Ø000[0], str(16896), 8) 19669 } 19670 19671 func _walNextHash(tls *crt.TLS, _iPriorHash int32) (r0 int32) { // sqlite3.c:55244:1 19672 r0 = (_iPriorHash + i32(1)) & i32(8191) 19673 return 19674 19675 } 19676 19677 func _readDbPage(tls *crt.TLS, _pPg *XPgHdr, _iFrame uint32) (r0 int32) { // sqlite3.c:49826:1 19678 var _pPager *XPager // sqlite3.c:49827:9 19679 _ = _pPager 19680 var _pgno uint32 // sqlite3.c:49828:8 19681 _ = _pgno 19682 var _rc int32 // sqlite3.c:49829:7 19683 _ = _rc 19684 var _pgsz int32 // sqlite3.c:49830:7 19685 _ = _pgsz 19686 var _2_iOffset int64 // sqlite3.c:49842:9 19687 _ = _2_iOffset 19688 var _6_dbFileVers *uint8 // sqlite3.c:49865:10 19689 _ = _6_dbFileVers 19690 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 19691 _pgno = _pPg.X5 19692 _rc = i32(0) 19693 _pgsz = _pPager.X48 19694 func() int32 { 19695 if (int32(_pPager.X14) >= i32(1)) && ((_pPager.X13) == 0) { 19696 return i32(0) 19697 } 19698 return func() int32 { 19699 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49832), unsafe.Pointer((*int8)(unsafe.Pointer(&_readDbPageØ00__func__Ø000))), unsafe.Pointer(str(16904))) 19700 crt.X__builtin_abort(tls) 19701 return i32(0) 19702 }() 19703 }() 19704 func() int32 { 19705 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 19706 return i32(0) 19707 } 19708 return func() int32 { 19709 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49833), unsafe.Pointer((*int8)(unsafe.Pointer(&_readDbPageØ00__func__Ø000))), unsafe.Pointer(str(16944))) 19710 crt.X__builtin_abort(tls) 19711 return i32(0) 19712 }() 19713 }() 19714 if _iFrame == 0 { 19715 goto _5 19716 } 19717 19718 _rc = _sqlite3WalReadFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _iFrame, _pgsz, (*uint8)(unsafe.Pointer(_pPg.X1))) 19719 goto _6 19720 19721 _5: 19722 _2_iOffset = int64(_pgno-uint32(i32(1))) * int64(_pPager.X48) 19723 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _pPg.X1, _pgsz, _2_iOffset) 19724 if _rc != i32(522) { 19725 goto _7 19726 } 19727 19728 _rc = i32(0) 19729 _7: 19730 _6: 19731 if _pgno != uint32(i32(1)) { 19732 goto _8 19733 } 19734 19735 if _rc == 0 { 19736 goto _9 19737 } 19738 19739 crt.Xmemset(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(108 /* X40 */)))), i32(255), u32(16)) 19740 goto _10 19741 19742 _9: 19743 _6_dbFileVers = (*uint8)(unsafe.Pointer(uintptr(_pPg.X1) + 1*uintptr(i32(24)))) 19744 crt.Xmemcpy(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(108 /* X40 */)))), (unsafe.Pointer)(_6_dbFileVers), u32(16)) 19745 _10: 19746 _8: 19747 r0 = _rc 19748 return 19749 19750 } 19751 19752 var _readDbPageØ00__func__Ø000 [11]int8 // - 19753 19754 func init() { 19755 crt.Xstrncpy(nil, &_readDbPageØ00__func__Ø000[0], str(16964), 11) 19756 } 19757 19758 func _sqlite3WalReadFrame(tls *crt.TLS, _pWal *XWal, _iRead uint32, _nOut int32, _pOut *uint8) (r0 int32) { // sqlite3.c:57082:1 19759 var _sz int32 // sqlite3.c:57088:7 19760 _ = _sz 19761 var _iOffset int64 // sqlite3.c:57089:7 19762 _ = _iOffset 19763 _sz = int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X5) 19764 _sz = (_sz & i32(65024)) + ((_sz & i32(1)) << uint(i32(16))) 19765 _iOffset = (int64(i32(32)) + (int64(_iRead-uint32(i32(1))) * int64(_sz+i32(24)))) + int64(i32(24)) 19766 r0 = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_pOut), func() int32 { 19767 if _nOut > _sz { 19768 return _sz 19769 } 19770 return _nOut 19771 }(), _iOffset) 19772 return 19773 19774 } 19775 19776 func _sqlite3OsRead(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:20139:1 19777 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 19778 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 19779 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X2)})))(tls, _id, _pBuf, _amt, _offset) 19780 return 19781 19782 } 19783 19784 func _sqlite3BackupRestart(tls *crt.TLS, _pBackup *Xsqlite3_backup) { // sqlite3.c:69545:1 19785 var _p *Xsqlite3_backup // sqlite3.c:69546:18 19786 _ = _p 19787 _p = _pBackup 19788 _0: 19789 if _p == nil { 19790 goto _3 19791 } 19792 19793 func() int32 { 19794 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X21))) != 0 { 19795 return i32(0) 19796 } 19797 return func() int32 { 19798 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69548), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BackupRestartØ00__func__Ø000))), unsafe.Pointer(str(16976))) 19799 crt.X__builtin_abort(tls) 19800 return i32(0) 19801 }() 19802 }() 19803 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(i32(1)) 19804 _p = (*Xsqlite3_backup)(unsafe.Pointer(_p.X11)) 19805 goto _0 19806 19807 _3: 19808 return 19809 19810 } 19811 19812 var _sqlite3BackupRestartØ00__func__Ø000 [21]int8 // - 19813 19814 func init() { 19815 crt.Xstrncpy(nil, &_sqlite3BackupRestartØ00__func__Ø000[0], str(17016), 21) 19816 } 19817 19818 func _sqlite3PcacheDirtyList(tls *crt.TLS, _pCache *XPCache) (r0 *XPgHdr) { // sqlite3.c:44848:1 19819 var _p *XPgHdr // sqlite3.c:44849:9 19820 _ = _p 19821 _p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) 19822 _0: 19823 if _p == nil { 19824 goto _3 19825 } 19826 19827 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(_p.X9)) 19828 _p = (*XPgHdr)(unsafe.Pointer(_p.X9)) 19829 goto _0 19830 19831 _3: 19832 r0 = _pcacheSortDirtyList(tls, (*XPgHdr)(unsafe.Pointer(_pCache.X0))) 19833 return 19834 19835 } 19836 19837 func _pcacheSortDirtyList(tls *crt.TLS, _pIn *XPgHdr) (r0 *XPgHdr) { // sqlite3.c:44813:1 19838 var _a [32]*XPgHdr // sqlite3.c:44814:9 19839 _ = _a 19840 var _p *XPgHdr // sqlite3.c:44814:28 19841 _ = _p 19842 var _i int32 // sqlite3.c:44815:7 19843 _ = _i 19844 crt.Xmemset(tls, (unsafe.Pointer)(&_a), i32(0), u32(128)) 19845 _0: 19846 if _pIn == nil { 19847 goto _1 19848 } 19849 19850 _p = _pIn 19851 _pIn = (*XPgHdr)(unsafe.Pointer(_p.X3)) 19852 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 19853 _i = i32(0) 19854 _2: 19855 if func() int32 { 19856 if _i < i32(31) { 19857 return i32(1) 19858 } 19859 return func() int32 { 19860 func() int32 { 19861 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44821), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheSortDirtyListØ00__func__Ø000))), unsafe.Pointer(str(5204))) 19862 crt.X__builtin_abort(tls) 19863 return i32(0) 19864 }() 19865 return i32(0) 19866 }() 19867 }() == 0 { 19868 goto _7 19869 } 19870 19871 if (*(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i)))) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 19872 goto _8 19873 } 19874 19875 *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i))) = _p 19876 goto _7 19877 19878 _8: 19879 _p = _pcacheMergeDirtyList(tls, *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i))), _p) 19880 *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 19881 _i += 1 19882 goto _2 19883 19884 _7: 19885 if func() int32 { 19886 if _i == i32(31) { 19887 return func() int32 { 19888 func() int32 { 19889 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44830), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheSortDirtyListØ00__func__Ø000))), unsafe.Pointer(str(5204))) 19890 crt.X__builtin_abort(tls) 19891 return i32(0) 19892 }() 19893 return i32(1) 19894 }() 19895 } 19896 return i32(0) 19897 }() == 0 { 19898 goto _12 19899 } 19900 19901 *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i))) = _pcacheMergeDirtyList(tls, *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i))), _p) 19902 _12: 19903 goto _0 19904 19905 _1: 19906 _p = *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(i32(0)))) 19907 _i = i32(1) 19908 _13: 19909 if _i >= i32(32) { 19910 goto _16 19911 } 19912 19913 if (*(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i)))) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 19914 goto _17 19915 } 19916 19917 goto _14 19918 19919 _17: 19920 _p = func() *XPgHdr { 19921 if _p != nil { 19922 return _pcacheMergeDirtyList(tls, _p, *(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i)))) 19923 } 19924 return (*(**XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_a)) + 4*uintptr(_i)))) 19925 }() 19926 _14: 19927 _i += 1 19928 goto _13 19929 19930 _16: 19931 r0 = _p 19932 return 19933 19934 } 19935 19936 var _pcacheSortDirtyListØ00__func__Ø000 [20]int8 // - 19937 19938 func init() { 19939 crt.Xstrncpy(nil, &_pcacheSortDirtyListØ00__func__Ø000[0], str(17040), 20) 19940 } 19941 19942 func _pcacheMergeDirtyList(tls *crt.TLS, _pA *XPgHdr, _pB *XPgHdr) (r0 *XPgHdr) { // sqlite3.c:44776:1 19943 var _result XPgHdr // sqlite3.c:44777:9 19944 _ = _result 19945 var _pTail *XPgHdr // sqlite3.c:44777:17 19946 _ = _pTail 19947 _pTail = &_result 19948 func() int32 { 19949 if (_pA != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) && (_pB != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { 19950 return i32(0) 19951 } 19952 return func() int32 { 19953 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44779), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcacheMergeDirtyListØ00__func__Ø000))), unsafe.Pointer(str(17060))) 19954 crt.X__builtin_abort(tls) 19955 return i32(0) 19956 }() 19957 }() 19958 _3: 19959 if (_pA.X5) >= (_pB.X5) { 19960 goto _6 19961 } 19962 19963 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(12 /* X3 */))))) = _pA 19964 _pTail = _pA 19965 _pA = (*XPgHdr)(unsafe.Pointer(_pA.X3)) 19966 if _pA != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 19967 goto _7 19968 } 19969 19970 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(12 /* X3 */))))) = _pB 19971 goto _5 19972 19973 _7: 19974 goto _8 19975 19976 _6: 19977 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(12 /* X3 */))))) = _pB 19978 _pTail = _pB 19979 _pB = (*XPgHdr)(unsafe.Pointer(_pB.X3)) 19980 if _pB != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 19981 goto _9 19982 } 19983 19984 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(12 /* X3 */))))) = _pA 19985 goto _5 19986 19987 _9: 19988 _8: 19989 goto _3 19990 19991 _5: 19992 r0 = (*XPgHdr)(unsafe.Pointer(_result.X3)) 19993 return 19994 19995 } 19996 19997 var _pcacheMergeDirtyListØ00__func__Ø000 [21]int8 // - 19998 19999 func init() { 20000 crt.Xstrncpy(nil, &_pcacheMergeDirtyListØ00__func__Ø000[0], str(17076), 21) 20001 } 20002 20003 func _pager_playback_one_page(tls *crt.TLS, _pPager *XPager, _pOffset *int64, _pDone *XBitvec, _isMainJrnl int32, _isSavepnt int32) (r0 int32) { // sqlite3.c:49120:1 20004 var _rc int32 // sqlite3.c:49127:7 20005 _ = _rc 20006 var _pPg *XPgHdr // sqlite3.c:49128:9 20007 _ = _pPg 20008 var _pgno uint32 // sqlite3.c:49129:8 20009 _ = _pgno 20010 var _cksum uint32 // sqlite3.c:49130:7 20011 _ = _cksum 20012 var _aData *int8 // sqlite3.c:49131:8 20013 _ = _aData 20014 var _jfd *Xsqlite3_file // sqlite3.c:49132:16 20015 _ = _jfd 20016 var _isSynced int32 // sqlite3.c:49133:7 20017 _ = _isSynced 20018 var _11_ofst int64 // sqlite3.c:49254:9 20019 _ = _11_ofst 20020 var _15_pData unsafe.Pointer // sqlite3.c:49299:10 20021 _ = _15_pData 20022 func() int32 { 20023 if (_isMainJrnl & i32(-2)) == i32(0) { 20024 return i32(0) 20025 } 20026 return func() int32 { 20027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49135), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17100))) 20028 crt.X__builtin_abort(tls) 20029 return i32(0) 20030 }() 20031 }() 20032 func() int32 { 20033 if (_isSavepnt & i32(-2)) == i32(0) { 20034 return i32(0) 20035 } 20036 return func() int32 { 20037 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49136), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17120))) 20038 crt.X__builtin_abort(tls) 20039 return i32(0) 20040 }() 20041 }() 20042 func() int32 { 20043 if _isMainJrnl != 0 || (_pDone != nil) { 20044 return i32(0) 20045 } 20046 return func() int32 { 20047 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49137), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17140))) 20048 crt.X__builtin_abort(tls) 20049 return i32(0) 20050 }() 20051 }() 20052 func() int32 { 20053 if _isSavepnt != 0 || (_pDone == (*XBitvec)(unsafe.Pointer(uintptr(i32(0))))) { 20054 return i32(0) 20055 } 20056 return func() int32 { 20057 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49138), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17160))) 20058 crt.X__builtin_abort(tls) 20059 return i32(0) 20060 }() 20061 }() 20062 _aData = _pPager.X58 20063 func() int32 { 20064 if _aData != nil { 20065 return i32(0) 20066 } 20067 return func() int32 { 20068 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49141), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17184))) 20069 crt.X__builtin_abort(tls) 20070 return i32(0) 20071 }() 20072 }() 20073 func() int32 { 20074 if (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) || ((_isMainJrnl == 0) && _isSavepnt != 0) { 20075 return i32(0) 20076 } 20077 return func() int32 { 20078 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49142), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17192))) 20079 crt.X__builtin_abort(tls) 20080 return i32(0) 20081 }() 20082 }() 20083 func() int32 { 20084 if (int32(_pPager.X14) >= i32(3)) || ((int32(_pPager.X14) == i32(0)) && (int32(_pPager.X15) == i32(4))) { 20085 return i32(0) 20086 } 20087 return func() int32 { 20088 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49150), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17248))) 20089 crt.X__builtin_abort(tls) 20090 return i32(0) 20091 }() 20092 }() 20093 func() int32 { 20094 if (int32(_pPager.X14) >= i32(3)) || _isMainJrnl != 0 { 20095 return i32(0) 20096 } 20097 return func() int32 { 20098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49153), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17352))) 20099 crt.X__builtin_abort(tls) 20100 return i32(0) 20101 }() 20102 }() 20103 _jfd = func() *Xsqlite3_file { 20104 if _isMainJrnl != 0 { 20105 return (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)) 20106 } 20107 return (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)) 20108 }() 20109 _rc = _read32bits(tls, _jfd, *_pOffset, &_pgno) 20110 if _rc == i32(0) { 20111 goto _25 20112 } 20113 20114 r0 = _rc 20115 return 20116 20117 _25: 20118 _rc = _sqlite3OsRead(tls, _jfd, (unsafe.Pointer)(_aData), _pPager.X48, (*_pOffset)+int64(i32(4))) 20119 if _rc == i32(0) { 20120 goto _26 20121 } 20122 20123 r0 = _rc 20124 return 20125 20126 _26: 20127 { 20128 p := _pOffset 20129 *p = (*p) + int64(((_pPager.X48)+i32(4))+(_isMainJrnl*i32(4))) 20130 sink967 = *p 20131 } 20132 if _pgno != uint32(i32(0)) && _pgno != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { 20133 goto _28 20134 } 20135 20136 func() int32 { 20137 if _isSavepnt == 0 { 20138 return i32(0) 20139 } 20140 return func() int32 { 20141 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49171), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17404))) 20142 crt.X__builtin_abort(tls) 20143 return i32(0) 20144 }() 20145 }() 20146 r0 = i32(101) 20147 return 20148 20149 _28: 20150 if _pgno <= (_pPager.X22) && _sqlite3BitvecTest(tls, _pDone, _pgno) == 0 { 20151 goto _32 20152 } 20153 20154 r0 = i32(0) 20155 return 20156 20157 _32: 20158 if _isMainJrnl == 0 { 20159 goto _33 20160 } 20161 20162 _rc = _read32bits(tls, _jfd, (*_pOffset)-int64(i32(4)), &_cksum) 20163 if _rc == 0 { 20164 goto _34 20165 } 20166 20167 r0 = _rc 20168 return 20169 20170 _34: 20171 if _isSavepnt != 0 || _pager_cksum(tls, _pPager, (*uint8)(unsafe.Pointer(_aData))) == _cksum { 20172 goto _36 20173 } 20174 20175 r0 = i32(101) 20176 return 20177 20178 _36: 20179 _33: 20180 if _pDone == nil || store961(&_rc, _sqlite3BitvecSet(tls, _pDone, _pgno)) == i32(0) { 20181 goto _38 20182 } 20183 20184 r0 = _rc 20185 return 20186 20187 _38: 20188 if _pgno != uint32(i32(1)) || int32(_pPager.X45) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(i32(20))))) { 20189 goto _40 20190 } 20191 20192 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(142 /* X45 */))) = int16(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(i32(20))))) 20193 _40: 20194 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 20195 goto _41 20196 } 20197 20198 _pPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 20199 goto _42 20200 20201 _41: 20202 _pPg = _sqlite3PagerLookup(tls, _pPager, _pgno) 20203 _42: 20204 func() int32 { 20205 if (_pPg != nil) || ((_pPager.X13) == 0) { 20206 return i32(0) 20207 } 20208 return func() int32 { 20209 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49239), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17416))) 20210 crt.X__builtin_abort(tls) 20211 return i32(0) 20212 }() 20213 }() 20214 func() int32 { 20215 if ((int32(_pPager.X14) != i32(0)) || (_pPg == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))))) || ((_pPager.X10) != 0) { 20216 return i32(0) 20217 } 20218 return func() int32 { 20219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49240), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17432))) 20220 crt.X__builtin_abort(tls) 20221 return i32(0) 20222 }() 20223 }() 20224 if _isMainJrnl == 0 { 20225 goto _50 20226 } 20227 20228 _isSynced = bool2int(((_pPager.X4) != 0) || ((*_pOffset) <= (_pPager.X35))) 20229 goto _52 20230 20231 _50: 20232 _isSynced = bool2int((_pPg == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) || (i32(0) == (int32(_pPg.X6) & i32(8)))) 20233 _52: 20234 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X14) < i32(4) && int32(_pPager.X14) != i32(0) || _isSynced == 0 { 20235 goto _57 20236 } 20237 20238 _11_ofst = int64(_pgno-uint32(i32(1))) * int64(_pPager.X48) 20239 func() int32 { 20240 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 20241 return i32(0) 20242 } 20243 return func() int32 { 20244 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49256), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(12376))) 20245 crt.X__builtin_abort(tls) 20246 return i32(0) 20247 }() 20248 }() 20249 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_aData), _pPager.X48, _11_ofst) 20250 if _pgno <= (_pPager.X24) { 20251 goto _60 20252 } 20253 20254 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(36 /* X24 */))) = _pgno 20255 _60: 20256 if (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)) == nil { 20257 goto _61 20258 } 20259 20260 _sqlite3BackupUpdate(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)), _pgno, (*uint8)(unsafe.Pointer(_aData))) 20261 _aData = _aData 20262 _61: 20263 goto _62 20264 20265 _57: 20266 if _isMainJrnl != 0 || _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 20267 goto _64 20268 } 20269 20270 func() int32 { 20271 if _isSavepnt != 0 { 20272 return i32(0) 20273 } 20274 return func() int32 { 20275 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49283), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17492))) 20276 crt.X__builtin_abort(tls) 20277 return i32(0) 20278 }() 20279 }() 20280 func() int32 { 20281 if (int32(_pPager.X18) & i32(2)) == i32(0) { 20282 return i32(0) 20283 } 20284 return func() int32 { 20285 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49284), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17504))) 20286 crt.X__builtin_abort(tls) 20287 return i32(0) 20288 }() 20289 }() 20290 { 20291 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X18 */))) 20292 *p = uint8(int32(*p) | i32(2)) 20293 sink6915 = *p 20294 } 20295 _rc = _sqlite3PagerGet(tls, _pPager, _pgno, &_pPg, i32(1)) 20296 func() int32 { 20297 if (int32(_pPager.X18) & i32(2)) != i32(0) { 20298 return i32(0) 20299 } 20300 return func() int32 { 20301 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49287), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playback_one_pageØ00__func__Ø000))), unsafe.Pointer(str(17552))) 20302 crt.X__builtin_abort(tls) 20303 return i32(0) 20304 }() 20305 }() 20306 { 20307 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X18 */))) 20308 *p = uint8(int32(*p) & i32(-3)) 20309 sink6915 = *p 20310 } 20311 if _rc == i32(0) { 20312 goto _71 20313 } 20314 20315 r0 = _rc 20316 return 20317 20318 _71: 20319 _sqlite3PcacheMakeDirty(tls, _pPg) 20320 _64: 20321 _62: 20322 if _pPg == nil { 20323 goto _72 20324 } 20325 20326 _15_pData = _pPg.X1 20327 crt.Xmemcpy(tls, _15_pData, (unsafe.Pointer)(_aData), uint32(_pPager.X48)) 20328 (*(*func(*crt.TLS, *XPgHdr))(unsafe.Pointer(&struct { 20329 f func(*crt.TLS, unsafe.Pointer) 20330 }{(_pPager.X56)})))(tls, _pPg) 20331 if _pgno != uint32(i32(1)) { 20332 goto _73 20333 } 20334 20335 crt.Xmemcpy(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(108 /* X40 */)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_15_pData)+1*uintptr(i32(24))))), u32(16)) 20336 _73: 20337 _sqlite3PcacheRelease(tls, _pPg) 20338 _72: 20339 r0 = _rc 20340 return 20341 20342 } 20343 20344 var _pager_playback_one_pageØ00__func__Ø000 [24]int8 // - 20345 20346 func init() { 20347 crt.Xstrncpy(nil, &_pager_playback_one_pageØ00__func__Ø000[0], str(17600), 24) 20348 } 20349 20350 func _read32bits(tls *crt.TLS, _fd *Xsqlite3_file, _offset int64, _pRes *uint32) (r0 int32) { // sqlite3.c:47968:1 20351 var _ac [4]uint8 // sqlite3.c:47969:17 20352 _ = _ac 20353 var _rc int32 // sqlite3.c:47970:7 20354 _ = _rc 20355 _rc = _sqlite3OsRead(tls, _fd, (unsafe.Pointer)(&_ac), int32(u32(4)), _offset) 20356 if _rc != i32(0) { 20357 goto _0 20358 } 20359 20360 *_pRes = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(&_ac))) 20361 _0: 20362 r0 = _rc 20363 return 20364 20365 } 20366 20367 func _sqlite3Get4byte(tls *crt.TLS, _p *uint8) (r0 uint32) { // sqlite3.c:28752:1 20368 r0 = (((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(3))))) 20369 return 20370 20371 } 20372 20373 func _sqlite3BackupUpdate(tls *crt.TLS, _pBackup *Xsqlite3_backup, _iPage uint32, _aData *uint8) { // sqlite3.c:69530:1 20374 if _pBackup == nil { 20375 goto _0 20376 } 20377 20378 _backupUpdate(tls, _pBackup, _iPage, _aData) 20379 _0: 20380 return 20381 20382 } 20383 20384 func _backupUpdate(tls *crt.TLS, _p *Xsqlite3_backup, _iPage uint32, _aData *uint8) { // sqlite3.c:69505:1 20385 var _2_rc int32 // sqlite3.c:69518:11 20386 _ = _2_rc 20387 func() int32 { 20388 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { 20389 return i32(0) 20390 } 20391 return func() int32 { 20392 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69510), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupUpdateØ00__func__Ø000))), unsafe.Pointer(str(824))) 20393 crt.X__builtin_abort(tls) 20394 return i32(0) 20395 }() 20396 }() 20397 _2: 20398 func() int32 { 20399 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X21))) != 0 { 20400 return i32(0) 20401 } 20402 return func() int32 { 20403 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69512), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupUpdateØ00__func__Ø000))), unsafe.Pointer(str(16976))) 20404 crt.X__builtin_abort(tls) 20405 return i32(0) 20406 }() 20407 }() 20408 if _isFatalError(tls, _p.X7) != 0 || _iPage >= (_p.X4) { 20409 goto _6 20410 } 20411 20412 func() int32 { 20413 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != nil { 20414 return i32(0) 20415 } 20416 return func() int32 { 20417 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69519), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupUpdateØ00__func__Ø000))), unsafe.Pointer(str(17624))) 20418 crt.X__builtin_abort(tls) 20419 return i32(0) 20420 }() 20421 }() 20422 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 20423 _2_rc = _backupOnePage(tls, _p, _iPage, _aData, i32(1)) 20424 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 20425 func() int32 { 20426 if (_2_rc != i32(5)) && (_2_rc != i32(6)) { 20427 return i32(0) 20428 } 20429 return func() int32 { 20430 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69523), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupUpdateØ00__func__Ø000))), unsafe.Pointer(str(17636))) 20431 crt.X__builtin_abort(tls) 20432 return i32(0) 20433 }() 20434 }() 20435 if _2_rc == i32(0) { 20436 goto _12 20437 } 20438 20439 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = _2_rc 20440 _12: 20441 _6: 20442 if store7912657(&_p, (*Xsqlite3_backup)(unsafe.Pointer(_p.X11))) != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { 20443 goto _2 20444 } 20445 20446 return 20447 20448 } 20449 20450 var _backupUpdateØ00__func__Ø000 [13]int8 // - 20451 20452 func init() { 20453 crt.Xstrncpy(nil, &_backupUpdateØ00__func__Ø000[0], str(17676), 13) 20454 } 20455 20456 func _isFatalError(tls *crt.TLS, _rc int32) (r0 int32) { // sqlite3.c:69033:1 20457 r0 = bool2int(((_rc != i32(0)) && (_rc != i32(5))) && func() int32 { 20458 if _rc != i32(6) { 20459 return i32(1) 20460 } 20461 return func() int32 { 20462 func() int32 { 20463 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69034), unsafe.Pointer((*int8)(unsafe.Pointer(&_isFatalErrorØ00__func__Ø000))), unsafe.Pointer(str(5204))) 20464 crt.X__builtin_abort(tls) 20465 return i32(0) 20466 }() 20467 return i32(0) 20468 }() 20469 }() != 0) 20470 return 20471 20472 } 20473 20474 var _isFatalErrorØ00__func__Ø000 [13]int8 // - 20475 20476 func init() { 20477 crt.Xstrncpy(nil, &_isFatalErrorØ00__func__Ø000[0], str(17692), 13) 20478 } 20479 20480 func _backupOnePage(tls *crt.TLS, _p *Xsqlite3_backup, _iSrcPg uint32, _zSrcData *uint8, _bUpdate int32) (r0 int32) { // sqlite3.c:69042:1 20481 var _pDestPager *XPager // sqlite3.c:69048:9 20482 _ = _pDestPager 20483 var _nSrcPgsz int32 // sqlite3.c:69049:13 20484 _ = _nSrcPgsz 20485 var _nDestPgsz int32 // sqlite3.c:69050:7 20486 _ = _nDestPgsz 20487 var _nCopy int32 // sqlite3.c:69051:13 20488 _ = _nCopy 20489 var _iEnd int64 // sqlite3.c:69052:13 20490 _ = _iEnd 20491 var _rc int32 // sqlite3.c:69060:7 20492 _ = _rc 20493 var _iOff int64 // sqlite3.c:69061:7 20494 _ = _iOff 20495 var _2_pDestPg *XPgHdr // sqlite3.c:69101:12 20496 _ = _2_pDestPg 20497 var _2_iDest uint32 // sqlite3.c:69102:10 20498 _ = _2_iDest 20499 var _3_zIn *uint8 // sqlite3.c:69107:16 20500 _ = _3_zIn 20501 var _3_zDestData *uint8 // sqlite3.c:69108:10 20502 _ = _3_zDestData 20503 var _3_zOut *uint8 // sqlite3.c:69109:10 20504 _ = _3_zOut 20505 _pDestPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X1))) 20506 _nSrcPgsz = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 20507 _nDestPgsz = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1))) 20508 _nCopy = func() int32 { 20509 if _nSrcPgsz < _nDestPgsz { 20510 return _nSrcPgsz 20511 } 20512 return _nDestPgsz 20513 }() 20514 _iEnd = int64(_iSrcPg) * int64(_nSrcPgsz) 20515 _rc = i32(0) 20516 func() int32 { 20517 if _sqlite3BtreeGetReserveNoMutex(tls, (*XBtree)(unsafe.Pointer(_p.X6))) >= i32(0) { 20518 return i32(0) 20519 } 20520 return func() int32 { 20521 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69063), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupOnePageØ00__func__Ø000))), unsafe.Pointer(str(17708))) 20522 crt.X__builtin_abort(tls) 20523 return i32(0) 20524 }() 20525 }() 20526 func() int32 { 20527 if (_p.X3) != 0 { 20528 return i32(0) 20529 } 20530 return func() int32 { 20531 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69064), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupOnePageØ00__func__Ø000))), unsafe.Pointer(str(17752))) 20532 crt.X__builtin_abort(tls) 20533 return i32(0) 20534 }() 20535 }() 20536 func() int32 { 20537 if _isFatalError(tls, _p.X7) == 0 { 20538 return i32(0) 20539 } 20540 return func() int32 { 20541 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69065), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupOnePageØ00__func__Ø000))), unsafe.Pointer(str(17768))) 20542 crt.X__builtin_abort(tls) 20543 return i32(0) 20544 }() 20545 }() 20546 func() int32 { 20547 if _iSrcPg != ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X15)) + uint32(i32(1))) { 20548 return i32(0) 20549 } 20550 return func() int32 { 20551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69066), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupOnePageØ00__func__Ø000))), unsafe.Pointer(str(17792))) 20552 crt.X__builtin_abort(tls) 20553 return i32(0) 20554 }() 20555 }() 20556 func() int32 { 20557 if _zSrcData != nil { 20558 return i32(0) 20559 } 20560 return func() int32 { 20561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69067), unsafe.Pointer((*int8)(unsafe.Pointer(&_backupOnePageØ00__func__Ø000))), unsafe.Pointer(str(17832))) 20562 crt.X__builtin_abort(tls) 20563 return i32(0) 20564 }() 20565 }() 20566 if _nSrcPgsz == _nDestPgsz || _sqlite3PagerIsMemdb(tls, _pDestPager) == 0 { 20567 goto _13 20568 } 20569 20570 _rc = i32(8) 20571 _13: 20572 _iOff = _iEnd - int64(_nSrcPgsz) 20573 _14: 20574 if _rc != i32(0) || _iOff >= _iEnd { 20575 goto _18 20576 } 20577 20578 _2_pDestPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 20579 _2_iDest = uint32(_iOff/int64(_nDestPgsz)) + uint32(i32(1)) 20580 if _2_iDest != ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15)) + uint32(i32(1))) { 20581 goto _19 20582 } 20583 20584 goto _15 20585 20586 _19: 20587 if i32(0) != store961(&_rc, _sqlite3PagerGet(tls, _pDestPager, _2_iDest, &_2_pDestPg, i32(0))) || i32(0) != store961(&_rc, _sqlite3PagerWrite(tls, _2_pDestPg)) { 20588 goto _21 20589 } 20590 20591 _3_zIn = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSrcData)) + 1*uintptr(_iOff%int64(_nSrcPgsz)))) 20592 _3_zDestData = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _2_pDestPg))) 20593 _3_zOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_zDestData)) + 1*uintptr(_iOff%int64(_nDestPgsz)))) 20594 crt.Xmemcpy(tls, (unsafe.Pointer)(_3_zOut), (unsafe.Pointer)(_3_zIn), uint32(_nCopy)) 20595 *(*uint8)(unsafe.Pointer(uintptr(_sqlite3PagerGetExtra(tls, _2_pDestPg)) + 1*uintptr(i32(0)))) = uint8(i32(0)) 20596 if _iOff != int64(i32(0)) || _bUpdate != i32(0) { 20597 goto _23 20598 } 20599 20600 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_zOut))+1*uintptr(i32(28)))), _sqlite3BtreeLastPage(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) 20601 _23: 20602 _21: 20603 _sqlite3PagerUnref(tls, _2_pDestPg) 20604 _15: 20605 { 20606 p := &_iOff 20607 *p = (*p) + int64(_nDestPgsz) 20608 sink967 = *p 20609 } 20610 goto _14 20611 20612 _18: 20613 r0 = _rc 20614 return 20615 20616 } 20617 20618 func _sqlite3BtreePager(tls *crt.TLS, _p *XBtree) (r0 *XPager) { // sqlite3.c:67908:1 20619 r0 = (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)) 20620 return 20621 20622 } 20623 20624 func _sqlite3BtreeGetPageSize(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61702:1 20625 r0 = int32((*XBtShared)(unsafe.Pointer(_p.X1)).X15) 20626 return 20627 20628 } 20629 20630 func _sqlite3BtreeGetReserveNoMutex(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61717:1 20631 var _n int32 // sqlite3.c:61718:7 20632 _ = _n 20633 func() int32 { 20634 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != 0 { 20635 return i32(0) 20636 } 20637 return func() int32 { 20638 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61719), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetReserveNoMutexØ00__func__Ø000))), unsafe.Pointer(str(17844))) 20639 crt.X__builtin_abort(tls) 20640 return i32(0) 20641 }() 20642 }() 20643 _n = int32(((*XBtShared)(unsafe.Pointer(_p.X1)).X15) - ((*XBtShared)(unsafe.Pointer(_p.X1)).X16)) 20644 r0 = _n 20645 return 20646 20647 } 20648 20649 var _sqlite3BtreeGetReserveNoMutexØ00__func__Ø000 [30]int8 // - 20650 20651 func init() { 20652 crt.Xstrncpy(nil, &_sqlite3BtreeGetReserveNoMutexØ00__func__Ø000[0], str(17880), 30) 20653 } 20654 20655 var _backupOnePageØ00__func__Ø000 [14]int8 // - 20656 20657 func init() { 20658 crt.Xstrncpy(nil, &_backupOnePageØ00__func__Ø000[0], str(17912), 14) 20659 } 20660 20661 func _sqlite3PagerIsMemdb(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53518:1 20662 r0 = int32(_pPager.X10) 20663 return 20664 20665 } 20666 20667 func _sqlite3PagerGetData(tls *crt.TLS, _pPg *XPgHdr) (r0 unsafe.Pointer) { // sqlite3.c:53947:1 20668 func() int32 { 20669 if (int32(_pPg.X7) > i32(0)) || (((*XPager)(unsafe.Pointer(_pPg.X4)).X13) != 0) { 20670 return i32(0) 20671 } 20672 return func() int32 { 20673 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53948), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerGetDataØ00__func__Ø000))), unsafe.Pointer(str(17928))) 20674 crt.X__builtin_abort(tls) 20675 return i32(0) 20676 }() 20677 }() 20678 r0 = _pPg.X1 20679 return 20680 20681 } 20682 20683 var _sqlite3PagerGetDataØ00__func__Ø000 [20]int8 // - 20684 20685 func init() { 20686 crt.Xstrncpy(nil, &_sqlite3PagerGetDataØ00__func__Ø000[0], str(17964), 20) 20687 } 20688 20689 func _sqlite3PagerGetExtra(tls *crt.TLS, _pPg *XPgHdr) (r0 unsafe.Pointer) { // sqlite3.c:53956:1 20690 r0 = _pPg.X2 20691 return 20692 20693 } 20694 20695 func _sqlite3BtreeLastPage(tls *crt.TLS, _p *XBtree) (r0 uint32) { // sqlite3.c:60976:1 20696 func() int32 { 20697 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 20698 return i32(0) 20699 } 20700 return func() int32 { 20701 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60977), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastPageØ00__func__Ø000))), unsafe.Pointer(str(17984))) 20702 crt.X__builtin_abort(tls) 20703 return i32(0) 20704 }() 20705 }() 20706 func() int32 { 20707 if (((*XBtShared)(unsafe.Pointer(_p.X1)).X18) & uint32(i32(134217728))) == uint32(i32(0)) { 20708 return i32(0) 20709 } 20710 return func() int32 { 20711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60978), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastPageØ00__func__Ø000))), unsafe.Pointer(str(18012))) 20712 crt.X__builtin_abort(tls) 20713 return i32(0) 20714 }() 20715 }() 20716 r0 = _btreePagecount(tls, (*XBtShared)(unsafe.Pointer(_p.X1))) 20717 return 20718 20719 } 20720 20721 func _sqlite3BtreeHoldsMutex(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:58808:1 20722 func() int32 { 20723 if ((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(0))) || ((_p.X6) > i32(0)) { 20724 return i32(0) 20725 } 20726 return func() int32 { 20727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58809), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeHoldsMutexØ00__func__Ø000))), unsafe.Pointer(str(18044))) 20728 crt.X__builtin_abort(tls) 20729 return i32(0) 20730 }() 20731 }() 20732 func() int32 { 20733 if ((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(0))) || ((*Xsqlite3)(unsafe.Pointer(_p.X0)) == (*Xsqlite3)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X1))) { 20734 return i32(0) 20735 } 20736 return func() int32 { 20737 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58810), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeHoldsMutexØ00__func__Ø000))), unsafe.Pointer(str(18096))) 20738 crt.X__builtin_abort(tls) 20739 return i32(0) 20740 }() 20741 }() 20742 func() int32 { 20743 if ((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(0))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X21))) != 0 { 20744 return i32(0) 20745 } 20746 return func() int32 { 20747 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeHoldsMutexØ00__func__Ø000))), unsafe.Pointer(str(18148))) 20748 crt.X__builtin_abort(tls) 20749 return i32(0) 20750 }() 20751 }() 20752 func() int32 { 20753 if ((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(0))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 20754 return i32(0) 20755 } 20756 return func() int32 { 20757 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeHoldsMutexØ00__func__Ø000))), unsafe.Pointer(str(18216))) 20758 crt.X__builtin_abort(tls) 20759 return i32(0) 20760 }() 20761 }() 20762 r0 = bool2int((int32(_p.X3) == i32(0)) || ((_p.X4) != 0)) 20763 return 20764 20765 } 20766 20767 var _sqlite3BtreeHoldsMutexØ00__func__Ø000 [23]int8 // - 20768 20769 func init() { 20770 crt.Xstrncpy(nil, &_sqlite3BtreeHoldsMutexØ00__func__Ø000[0], str(18284), 23) 20771 } 20772 20773 var _sqlite3BtreeLastPageØ00__func__Ø000 [21]int8 // - 20774 20775 func init() { 20776 crt.Xstrncpy(nil, &_sqlite3BtreeLastPageØ00__func__Ø000[0], str(18308), 21) 20777 } 20778 20779 func _btreePagecount(tls *crt.TLS, _pBt *XBtShared) (r0 uint32) { // sqlite3.c:60973:1 20780 r0 = _pBt.X18 20781 return 20782 20783 } 20784 20785 func _sqlite3PagerUnref(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:52484:1 20786 if _pPg == nil { 20787 goto _0 20788 } 20789 20790 _sqlite3PagerUnrefNotNull(tls, _pPg) 20791 _0: 20792 return 20793 20794 } 20795 20796 func _readJournalHdr(tls *crt.TLS, _pPager *XPager, _isHot int32, _journalSize int64, _pNRec *uint32, _pDbSize *uint32) (r0 int32) { // sqlite3.c:48409:1 20797 var _rc int32 // sqlite3.c:48416:7 20798 _ = _rc 20799 var _aMagic [8]uint8 // sqlite3.c:48417:17 20800 _ = _aMagic 20801 var _iHdrOff int64 // sqlite3.c:48418:7 20802 _ = _iHdrOff 20803 var _6_iPageSize uint32 // sqlite3.c:48459:9 20804 _ = _6_iPageSize 20805 var _6_iSectorSize uint32 // sqlite3.c:48460:9 20806 _ = _6_iSectorSize 20807 func() int32 { 20808 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 20809 return i32(0) 20810 } 20811 return func() int32 { 20812 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48420), unsafe.Pointer((*int8)(unsafe.Pointer(&_readJournalHdrØ00__func__Ø000))), unsafe.Pointer(str(13904))) 20813 crt.X__builtin_abort(tls) 20814 return i32(0) 20815 }() 20816 }() 20817 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = _journalHdrOffset(tls, _pPager) 20818 if ((_pPager.X34) + int64(_pPager.X47)) <= _journalSize { 20819 goto _2 20820 } 20821 20822 r0 = i32(101) 20823 return 20824 20825 _2: 20826 _iHdrOff = _pPager.X34 20827 if _isHot == 0 && _iHdrOff == (_pPager.X35) { 20828 goto _4 20829 } 20830 20831 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_aMagic), int32(u32(8)), _iHdrOff) 20832 if _rc == 0 { 20833 goto _5 20834 } 20835 20836 r0 = _rc 20837 return 20838 20839 _5: 20840 if crt.Xmemcmp(tls, (unsafe.Pointer)(&_aMagic), (unsafe.Pointer)(&_aJournalMagic), u32(8)) == i32(0) { 20841 goto _6 20842 } 20843 20844 r0 = i32(101) 20845 return 20846 20847 _6: 20848 _4: 20849 if i32(0) == store961(&_rc, _read32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff+int64(i32(8)), _pNRec)) && i32(0) == store961(&_rc, _read32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff+int64(i32(12)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(52 /* X28 */))))) && i32(0) == store961(&_rc, _read32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff+int64(i32(16)), _pDbSize)) { 20850 goto _9 20851 } 20852 20853 r0 = _rc 20854 return 20855 20856 _9: 20857 if (_pPager.X34) != int64(i32(0)) { 20858 goto _10 20859 } 20860 20861 if i32(0) == store961(&_rc, _read32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff+int64(i32(20)), &_6_iSectorSize)) && i32(0) == store961(&_rc, _read32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff+int64(i32(24)), &_6_iPageSize)) { 20862 goto _12 20863 } 20864 20865 r0 = _rc 20866 return 20867 20868 _12: 20869 if _6_iPageSize != uint32(i32(0)) { 20870 goto _13 20871 } 20872 20873 _6_iPageSize = uint32(_pPager.X48) 20874 _13: 20875 if _6_iPageSize >= uint32(i32(512)) && _6_iSectorSize >= uint32(i32(32)) && _6_iPageSize <= uint32(i32(65536)) && _6_iSectorSize <= uint32(i32(65536)) && ((_6_iPageSize-uint32(i32(1)))&_6_iPageSize) == uint32(i32(0)) && ((_6_iSectorSize-uint32(i32(1)))&_6_iSectorSize) == uint32(i32(0)) { 20876 goto _19 20877 } 20878 20879 r0 = i32(101) 20880 return 20881 20882 _19: 20883 _rc = _sqlite3PagerSetPagesize(tls, _pPager, &_6_iPageSize, i32(-1)) 20884 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(148 /* X47 */))) = _6_iSectorSize 20885 _10: 20886 { 20887 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) 20888 *p = (*p) + int64(_pPager.X47) 20889 sink967 = *p 20890 } 20891 r0 = _rc 20892 return 20893 20894 } 20895 20896 var _readJournalHdrØ00__func__Ø000 [15]int8 // - 20897 20898 func init() { 20899 crt.Xstrncpy(nil, &_readJournalHdrØ00__func__Ø000[0], str(18332), 15) 20900 } 20901 20902 func _sqlite3PagerSetPagesize(tls *crt.TLS, _pPager *XPager, _pPageSize *uint32, _nReserve int32) (r0 int32) { // sqlite3.c:50570:1 20903 var _rc int32 // sqlite3.c:50571:7 20904 _ = _rc 20905 var _pageSize uint32 // sqlite3.c:50583:7 20906 _ = _pageSize 20907 var _1_pNew *int8 // sqlite3.c:50589:10 20908 _ = _1_pNew 20909 var _1_nByte int64 // sqlite3.c:50590:9 20910 _ = _1_nByte 20911 _rc = i32(0) 20912 _pageSize = *_pPageSize 20913 func() int32 { 20914 if (_pageSize == uint32(i32(0))) || ((_pageSize >= uint32(i32(512))) && (_pageSize <= uint32(i32(65536)))) { 20915 return i32(0) 20916 } 20917 return func() int32 { 20918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50584), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetPagesizeØ00__func__Ø000))), unsafe.Pointer(str(18348))) 20919 crt.X__builtin_abort(tls) 20920 return i32(0) 20921 }() 20922 }() 20923 if int32(_pPager.X13) != i32(0) && (_pPager.X22) != uint32(i32(0)) || _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) != i32(0) || _pageSize == 0 || _pageSize == uint32(_pPager.X48) { 20924 goto _8 20925 } 20926 20927 _1_pNew = nil 20928 _1_nByte = i64(0) 20929 if int32(_pPager.X14) <= i32(0) || (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 20930 goto _10 20931 } 20932 20933 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_1_nByte) 20934 _10: 20935 if _rc != i32(0) { 20936 goto _11 20937 } 20938 20939 _1_pNew = (*int8)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32(_pageSize)))) 20940 if _1_pNew != nil { 20941 goto _12 20942 } 20943 20944 _rc = _sqlite3NomemError(tls, i32(50597)) 20945 _12: 20946 _11: 20947 if _rc != i32(0) { 20948 goto _13 20949 } 20950 20951 _pager_reset(tls, _pPager) 20952 _rc = _sqlite3PcacheSetPageSize(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), int32(_pageSize)) 20953 _13: 20954 if _rc != i32(0) { 20955 goto _14 20956 } 20957 20958 _sqlite3PageFree(tls, (unsafe.Pointer)(_pPager.X58)) 20959 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(204 /* X58 */))) = _1_pNew 20960 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X22 */))) = uint32(((_1_nByte + int64(_pageSize)) - int64(i32(1))) / int64(_pageSize)) 20961 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(152 /* X48 */))) = int32(_pageSize) 20962 goto _15 20963 20964 _14: 20965 _sqlite3PageFree(tls, (unsafe.Pointer)(_1_pNew)) 20966 _15: 20967 _8: 20968 *_pPageSize = uint32(_pPager.X48) 20969 if _rc != i32(0) { 20970 goto _16 20971 } 20972 20973 if _nReserve >= i32(0) { 20974 goto _17 20975 } 20976 20977 _nReserve = int32(_pPager.X45) 20978 _17: 20979 func() int32 { 20980 if (_nReserve >= i32(0)) && (_nReserve < i32(1000)) { 20981 return i32(0) 20982 } 20983 return func() int32 { 20984 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50617), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetPagesizeØ00__func__Ø000))), unsafe.Pointer(str(18416))) 20985 crt.X__builtin_abort(tls) 20986 return i32(0) 20987 }() 20988 }() 20989 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(142 /* X45 */))) = int16(_nReserve) 20990 _pagerFixMaplimit(tls, _pPager) 20991 _16: 20992 r0 = _rc 20993 return 20994 20995 } 20996 20997 var _sqlite3PagerSetPagesizeØ00__func__Ø000 [24]int8 // - 20998 20999 func init() { 21000 crt.Xstrncpy(nil, &_sqlite3PagerSetPagesizeØ00__func__Ø000[0], str(18448), 24) 21001 } 21002 21003 func _sqlite3OsFileSize(tls *crt.TLS, _id *Xsqlite3_file, _pSize *int64) (r0 int32) { // sqlite3.c:20154:1 21004 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, *int64) int32)(unsafe.Pointer(&struct { 21005 f func(*crt.TLS, unsafe.Pointer, *int64) int32 21006 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X6)})))(tls, _id, _pSize) 21007 return 21008 21009 } 21010 21011 func _sqlite3PageMalloc(tls *crt.TLS, _sz int32) (r0 unsafe.Pointer) { // sqlite3.c:45434:1 21012 r0 = _pcache1Alloc(tls, _sz) 21013 return 21014 21015 } 21016 21017 func _pcache1Alloc(tls *crt.TLS, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:45272:1 21018 var _p unsafe.Pointer // sqlite3.c:45273:8 21019 _ = _p 21020 var _4_sz int32 // sqlite3.c:45295:11 21021 _ = _4_sz 21022 _p = nil 21023 func() int32 { 21024 if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(0 /* X0 */))).X0))) != 0 { 21025 return i32(0) 21026 } 21027 return func() int32 { 21028 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45274), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1AllocØ00__func__Ø000))), unsafe.Pointer(str(18472))) 21029 crt.X__builtin_abort(tls) 21030 return i32(0) 21031 }() 21032 }() 21033 if _nByte > (_pcache1_g.X4) { 21034 goto _2 21035 } 21036 21037 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21038 _p = _pcache1_g.X10 21039 if _p == nil { 21040 goto _3 21041 } 21042 21043 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(88 /* X10 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pcache1_g.X10)).X0)) 21044 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(92 /* X11 */))) -= 1 21045 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(96 /* X12 */))) = bool2int((_pcache1_g.X11) < (_pcache1_g.X6)) 21046 func() int32 { 21047 if (_pcache1_g.X11) >= i32(0) { 21048 return i32(0) 21049 } 21050 return func() int32 { 21051 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45282), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1AllocØ00__func__Ø000))), unsafe.Pointer(str(18516))) 21052 crt.X__builtin_abort(tls) 21053 return i32(0) 21054 }() 21055 }() 21056 _sqlite3StatusHighwater(tls, i32(7), _nByte) 21057 _sqlite3StatusUp(tls, i32(1), i32(1)) 21058 _3: 21059 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21060 _2: 21061 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 21062 goto _6 21063 } 21064 21065 _p = _sqlite3Malloc(tls, uint64(_nByte)) 21066 if _p == nil { 21067 goto _7 21068 } 21069 21070 _4_sz = _sqlite3MallocSize(tls, _p) 21071 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21072 _sqlite3StatusHighwater(tls, i32(7), _nByte) 21073 _sqlite3StatusUp(tls, i32(2), _4_sz) 21074 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21075 _7: 21076 _6: 21077 r0 = _p 21078 return 21079 21080 } 21081 21082 var _pcache1AllocØ00__func__Ø000 [13]int8 // - 21083 21084 func init() { 21085 crt.Xstrncpy(nil, &_pcache1AllocØ00__func__Ø000[0], str(18540), 13) 21086 } 21087 21088 func _pager_reset(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:48602:1 21089 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X39 */))) += 1 21090 _sqlite3BackupRestart(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36))) 21091 _sqlite3PcacheClear(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 21092 return 21093 21094 } 21095 21096 func _sqlite3PcacheClear(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44768:1 21097 _sqlite3PcacheTruncate(tls, _pCache, uint32(i32(0))) 21098 return 21099 21100 } 21101 21102 func _sqlite3PcacheTruncate(tls *crt.TLS, _pCache *XPCache, _pgno uint32) { // sqlite3.c:44726:1 21103 var _1_p *XPgHdr // sqlite3.c:44728:11 21104 _ = _1_p 21105 var _1_pNext *XPgHdr // sqlite3.c:44729:11 21106 _ = _1_pNext 21107 var _4_pPage1 *Xsqlite3_pcache_page // sqlite3.c:44744:27 21108 _ = _4_pPage1 21109 if (_pCache.X12) == nil { 21110 goto _0 21111 } 21112 21113 _1_p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) 21114 _1: 21115 if _1_p == nil { 21116 goto _4 21117 } 21118 21119 _1_pNext = (*XPgHdr)(unsafe.Pointer(_1_p.X9)) 21120 func() int32 { 21121 if (_1_p.X5) > uint32(i32(0)) { 21122 return i32(0) 21123 } 21124 return func() int32 { 21125 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44737), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheTruncateØ00__func__Ø000))), unsafe.Pointer(str(18556))) 21126 crt.X__builtin_abort(tls) 21127 return i32(0) 21128 }() 21129 }() 21130 if (_1_p.X5) <= _pgno { 21131 goto _7 21132 } 21133 21134 func() int32 { 21135 if (int32(_1_p.X6) & i32(2)) != 0 { 21136 return i32(0) 21137 } 21138 return func() int32 { 21139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44739), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheTruncateØ00__func__Ø000))), unsafe.Pointer(str(18568))) 21140 crt.X__builtin_abort(tls) 21141 return i32(0) 21142 }() 21143 }() 21144 _sqlite3PcacheMakeClean(tls, _1_p) 21145 _7: 21146 _1_p = _1_pNext 21147 goto _1 21148 21149 _4: 21150 if _pgno != uint32(i32(0)) || (_pCache.X3) == 0 { 21151 goto _11 21152 } 21153 21154 _4_pPage1 = (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page)(unsafe.Pointer(&struct { 21155 f func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer 21156 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X7)})))(tls, _pCache.X12, uint32(i32(1)), i32(0)) 21157 if func() int32 { 21158 if _4_pPage1 != nil { 21159 return i32(1) 21160 } 21161 return func() int32 { 21162 func() int32 { 21163 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44746), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheTruncateØ00__func__Ø000))), unsafe.Pointer(str(5204))) 21164 crt.X__builtin_abort(tls) 21165 return i32(0) 21166 }() 21167 return i32(0) 21168 }() 21169 }() == 0 { 21170 goto _14 21171 } 21172 21173 crt.Xmemset(tls, _4_pPage1.X0, i32(0), uint32(_pCache.X6)) 21174 _pgno = uint32(i32(1)) 21175 _14: 21176 _11: 21177 ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X10)(tls, _pCache.X12, _pgno+uint32(i32(1))) 21178 _0: 21179 return 21180 21181 } 21182 21183 var _sqlite3PcacheTruncateØ00__func__Ø000 [22]int8 // - 21184 21185 func init() { 21186 crt.Xstrncpy(nil, &_sqlite3PcacheTruncateØ00__func__Ø000[0], str(18592), 22) 21187 } 21188 21189 func _sqlite3PcacheMakeClean(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44652:1 21190 func() int32 { 21191 if _sqlite3PcachePageSanity(tls, _p) != 0 { 21192 return i32(0) 21193 } 21194 return func() int32 { 21195 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44653), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeCleanØ00__func__Ø000))), unsafe.Pointer(str(14152))) 21196 crt.X__builtin_abort(tls) 21197 return i32(0) 21198 }() 21199 }() 21200 if func() int32 { 21201 if (int32(_p.X6) & i32(2)) != i32(0) { 21202 return i32(1) 21203 } 21204 return func() int32 { 21205 func() int32 { 21206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44654), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeCleanØ00__func__Ø000))), unsafe.Pointer(str(5204))) 21207 crt.X__builtin_abort(tls) 21208 return i32(0) 21209 }() 21210 return i32(0) 21211 }() 21212 }() == 0 { 21213 goto _4 21214 } 21215 21216 func() int32 { 21217 if (int32(_p.X6) & i32(1)) == i32(0) { 21218 return i32(0) 21219 } 21220 return func() int32 { 21221 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44655), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeCleanØ00__func__Ø000))), unsafe.Pointer(str(18616))) 21222 crt.X__builtin_abort(tls) 21223 return i32(0) 21224 }() 21225 }() 21226 _pcacheManageDirtyList(tls, _p, uint8(i32(1))) 21227 { 21228 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 21229 *p = uint16(int32(*p) & i32(-15)) 21230 sink6908 = *p 21231 } 21232 { 21233 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 21234 *p = uint16(int32(*p) | i32(1)) 21235 sink6908 = *p 21236 } 21237 func() int32 { 21238 if _sqlite3PcachePageSanity(tls, _p) != 0 { 21239 return i32(0) 21240 } 21241 return func() int32 { 21242 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44660), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMakeCleanØ00__func__Ø000))), unsafe.Pointer(str(14152))) 21243 crt.X__builtin_abort(tls) 21244 return i32(0) 21245 }() 21246 }() 21247 if int32(_p.X7) != i32(0) { 21248 goto _9 21249 } 21250 21251 _pcacheUnpin(tls, _p) 21252 _9: 21253 _4: 21254 return 21255 21256 } 21257 21258 var _sqlite3PcacheMakeCleanØ00__func__Ø000 [23]int8 // - 21259 21260 func init() { 21261 crt.Xstrncpy(nil, &_sqlite3PcacheMakeCleanØ00__func__Ø000[0], str(18644), 23) 21262 } 21263 21264 func _sqlite3PcacheSetPageSize(tls *crt.TLS, _pCache *XPCache, _szPage int32) (r0 int32) { // sqlite3.c:44398:1 21265 var _1_pNew unsafe.Pointer // sqlite3.c:44401:20 21266 _ = _1_pNew 21267 func() int32 { 21268 if ((_pCache.X3) == i32(0)) && ((*XPgHdr)(unsafe.Pointer(_pCache.X0)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { 21269 return i32(0) 21270 } 21271 return func() int32 { 21272 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44399), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheSetPageSizeØ00__func__Ø000))), unsafe.Pointer(str(18668))) 21273 crt.X__builtin_abort(tls) 21274 return i32(0) 21275 }() 21276 }() 21277 if (_pCache.X6) == 0 { 21278 goto _3 21279 } 21280 21281 _1_pNew = ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X4)(tls, _szPage, int32(uint32(_pCache.X7)+u32(40)), int32(_pCache.X8)) 21282 if unsafe.Pointer(_1_pNew) != (unsafe.Pointer)(uintptr(i32(0))) { 21283 goto _4 21284 } 21285 21286 r0 = _sqlite3NomemError(tls, i32(44406)) 21287 return 21288 21289 _4: 21290 ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X5)(tls, _1_pNew, _numberOfCachePages(tls, _pCache)) 21291 if (_pCache.X12) == nil { 21292 goto _5 21293 } 21294 21295 ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X11)(tls, _pCache.X12) 21296 _5: 21297 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(44 /* X12 */))) = _1_pNew 21298 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(24 /* X6 */))) = _szPage 21299 _3: 21300 r0 = i32(0) 21301 return 21302 21303 } 21304 21305 var _sqlite3PcacheSetPageSizeØ00__func__Ø000 [25]int8 // - 21306 21307 func init() { 21308 crt.Xstrncpy(nil, &_sqlite3PcacheSetPageSizeØ00__func__Ø000[0], str(18708), 25) 21309 } 21310 21311 func _numberOfCachePages(tls *crt.TLS, _p *XPCache) (r0 int32) { // sqlite3.c:44321:1 21312 if (_p.X4) < i32(0) { 21313 goto _0 21314 } 21315 21316 r0 = _p.X4 21317 return 21318 21319 _0: 21320 r0 = int32((int64(i32(-1024)) * int64(_p.X4)) / int64((_p.X6)+(_p.X7))) 21321 return 21322 21323 } 21324 21325 func _sqlite3PageFree(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:45441:1 21326 _pcache1Free(tls, _p) 21327 return 21328 21329 } 21330 21331 func _pcache1Free(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:45310:1 21332 var _1_pSlot *Xsqlite3_file // sqlite3.c:45313:16 21333 _ = _1_pSlot 21334 var _3_nFreed int32 // sqlite3.c:45328:11 21335 _ = _3_nFreed 21336 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 21337 goto _0 21338 } 21339 21340 return 21341 21342 _0: 21343 if uint32(uintptr(unsafe.Pointer(_p))) < uint32(uintptr(unsafe.Pointer(_pcache1_g.X7))) || uint32(uintptr(unsafe.Pointer(_p))) >= uint32(uintptr(unsafe.Pointer(_pcache1_g.X8))) { 21344 goto _2 21345 } 21346 21347 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21348 _sqlite3StatusDown(tls, i32(1), i32(1)) 21349 _1_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_p)) 21350 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pcache1_g.X10)) 21351 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(88 /* X10 */))))) = _1_pSlot 21352 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(92 /* X11 */))) += 1 21353 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(96 /* X12 */))) = bool2int((_pcache1_g.X11) < (_pcache1_g.X6)) 21354 func() int32 { 21355 if (_pcache1_g.X11) <= (_pcache1_g.X5) { 21356 return i32(0) 21357 } 21358 return func() int32 { 21359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45321), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FreeØ00__func__Ø000))), unsafe.Pointer(str(18736))) 21360 crt.X__builtin_abort(tls) 21361 return i32(0) 21362 }() 21363 }() 21364 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21365 goto _5 21366 21367 _2: 21368 i32(0) 21369 _3_nFreed = i32(0) 21370 _3_nFreed = _sqlite3MallocSize(tls, _p) 21371 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21372 _sqlite3StatusDown(tls, i32(2), _3_nFreed) 21373 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pcache1_g.X9))) 21374 Xsqlite3_free(tls, _p) 21375 _5: 21376 return 21377 21378 } 21379 21380 var _pcache1FreeØ00__func__Ø000 [12]int8 // - 21381 21382 func init() { 21383 crt.Xstrncpy(nil, &_pcache1FreeØ00__func__Ø000[0], str(18772), 12) 21384 } 21385 21386 func _pagerFixMaplimit(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50342:1 21387 var _fd *Xsqlite3_file // sqlite3.c:50344:16 21388 _ = _fd 21389 var _1_sz int64 // sqlite3.c:50346:19 21390 _ = _1_sz 21391 _fd = (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)) 21392 if (*Xsqlite3_io_methods)(unsafe.Pointer(_fd.X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_fd.X0)).X0) < i32(3) { 21393 goto _1 21394 } 21395 21396 _1_sz = _pPager.X42 21397 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(23 /* X20 */))) = uint8(bool2int(_1_sz > int64(i32(0)))) 21398 _setGetterMethod(tls, _pPager) 21399 _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(18), (unsafe.Pointer)(&_1_sz)) 21400 _1: 21401 return 21402 21403 } 21404 21405 func _setGetterMethod(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:47913:1 21406 if (_pPager.X26) == 0 { 21407 goto _0 21408 } 21409 21410 *(*func(*crt.TLS, *XPager, uint32, **XPgHdr, int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(200 /* X57 */))))) = _getPageError 21411 goto _1 21412 21413 _0: 21414 if (_pPager.X20) == 0 { 21415 goto _2 21416 } 21417 21418 *(*func(*crt.TLS, *XPager, uint32, **XPgHdr, int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(200 /* X57 */))))) = _getPageMMap 21419 goto _3 21420 21421 _2: 21422 *(*func(*crt.TLS, *XPager, uint32, **XPgHdr, int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(200 /* X57 */))))) = _getPageNormal 21423 _3: 21424 _1: 21425 return 21426 21427 } 21428 21429 func _getPageError(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52418:1 21430 21431 func() int32 { 21432 if (_pPager.X26) != i32(0) { 21433 return i32(0) 21434 } 21435 return func() int32 { 21436 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52426), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageErrorØ00__func__Ø000))), unsafe.Pointer(str(12468))) 21437 crt.X__builtin_abort(tls) 21438 return i32(0) 21439 }() 21440 }() 21441 *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 21442 r0 = _pPager.X26 21443 return 21444 21445 } 21446 21447 var _getPageErrorØ00__func__Ø000 [13]int8 // - 21448 21449 func init() { 21450 crt.Xstrncpy(nil, &_getPageErrorØ00__func__Ø000[0], str(18784), 13) 21451 } 21452 21453 func _getPageMMap(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52346:1 21454 var _rc int32 // sqlite3.c:52352:7 21455 _ = _rc 21456 var _pPg *XPgHdr // sqlite3.c:52353:9 21457 _ = _pPg 21458 var _iFrame uint32 // sqlite3.c:52354:7 21459 _ = _iFrame 21460 var _bMmapOk int32 // sqlite3.c:52360:13 21461 _ = _bMmapOk 21462 var _4_pData unsafe.Pointer // sqlite3.c:52389:10 21463 _ = _4_pData 21464 _rc = i32(0) 21465 _pPg = nil 21466 _iFrame = u32(0) 21467 _bMmapOk = bool2int((_pgno > uint32(i32(1))) && ((int32(_pPager.X14) == i32(1)) || (_flags&i32(2)) != 0)) 21468 func() int32 { 21469 if (_pPager.X20) != 0 { 21470 return i32(0) 21471 } 21472 return func() int32 { 21473 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52364), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageMMapØ00__func__Ø000))), unsafe.Pointer(str(18800))) 21474 crt.X__builtin_abort(tls) 21475 return i32(0) 21476 }() 21477 }() 21478 if _pgno > uint32(i32(1)) || _pgno != uint32(i32(0)) { 21479 goto _5 21480 } 21481 21482 r0 = _sqlite3CorruptError(tls, i32(52374)) 21483 return 21484 21485 _5: 21486 func() int32 { 21487 if int32(_pPager.X14) >= i32(1) { 21488 return i32(0) 21489 } 21490 return func() int32 { 21491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52376), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageMMapØ00__func__Ø000))), unsafe.Pointer(str(18820))) 21492 crt.X__builtin_abort(tls) 21493 return i32(0) 21494 }() 21495 }() 21496 func() int32 { 21497 if _assert_pager_state(tls, _pPager) != 0 { 21498 return i32(0) 21499 } 21500 return func() int32 { 21501 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52377), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageMMapØ00__func__Ø000))), unsafe.Pointer(str(11184))) 21502 crt.X__builtin_abort(tls) 21503 return i32(0) 21504 }() 21505 }() 21506 func() int32 { 21507 if int32(_pPager.X21) == i32(1) { 21508 return i32(0) 21509 } 21510 return func() int32 { 21511 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52378), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageMMapØ00__func__Ø000))), unsafe.Pointer(str(18852))) 21512 crt.X__builtin_abort(tls) 21513 return i32(0) 21514 }() 21515 }() 21516 func() int32 { 21517 if (_pPager.X26) == i32(0) { 21518 return i32(0) 21519 } 21520 return func() int32 { 21521 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52379), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageMMapØ00__func__Ø000))), unsafe.Pointer(str(11944))) 21522 crt.X__builtin_abort(tls) 21523 return i32(0) 21524 }() 21525 }() 21526 if _bMmapOk == 0 || (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 21527 goto _15 21528 } 21529 21530 _rc = _sqlite3WalFindFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pgno, &_iFrame) 21531 if _rc == i32(0) { 21532 goto _16 21533 } 21534 21535 *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 21536 r0 = _rc 21537 return 21538 21539 _16: 21540 _15: 21541 if _bMmapOk == 0 || _iFrame != uint32(i32(0)) { 21542 goto _18 21543 } 21544 21545 _4_pData = nil 21546 _rc = _sqlite3OsFetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(_pgno-uint32(i32(1)))*int64(_pPager.X48), _pPager.X48, &_4_pData) 21547 if _rc != i32(0) || _4_pData == nil { 21548 goto _20 21549 } 21550 21551 if int32(_pPager.X14) <= i32(1) && (_pPager.X10) == 0 { 21552 goto _22 21553 } 21554 21555 _pPg = _sqlite3PagerLookup(tls, _pPager, _pgno) 21556 _22: 21557 if _pPg != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 21558 goto _23 21559 } 21560 21561 _rc = _pagerAcquireMapPage(tls, _pPager, _pgno, _4_pData, &_pPg) 21562 goto _24 21563 21564 _23: 21565 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(_pgno-uint32(i32(1)))*int64(_pPager.X48), _4_pData) 21566 _24: 21567 if _pPg == nil { 21568 goto _25 21569 } 21570 21571 func() int32 { 21572 if _rc == i32(0) { 21573 return i32(0) 21574 } 21575 return func() int32 { 21576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52403), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageMMapØ00__func__Ø000))), unsafe.Pointer(str(15360))) 21577 crt.X__builtin_abort(tls) 21578 return i32(0) 21579 }() 21580 }() 21581 *_ppPage = _pPg 21582 r0 = i32(0) 21583 return 21584 21585 _25: 21586 _20: 21587 if _rc == i32(0) { 21588 goto _28 21589 } 21590 21591 *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 21592 r0 = _rc 21593 return 21594 21595 _28: 21596 _18: 21597 r0 = _getPageNormal(tls, _pPager, _pgno, _ppPage, _flags) 21598 return 21599 21600 } 21601 21602 var _getPageMMapØ00__func__Ø000 [12]int8 // - 21603 21604 func init() { 21605 crt.Xstrncpy(nil, &_getPageMMapØ00__func__Ø000[0], str(18884), 12) 21606 } 21607 21608 func _sqlite3OsFetch(tls *crt.TLS, _id *Xsqlite3_file, _iOff int64, _iAmt int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:20229:1 21609 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 21610 f func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32 21611 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X17)})))(tls, _id, _iOff, _iAmt, _pp) 21612 return 21613 21614 } 21615 21616 func _pagerAcquireMapPage(tls *crt.TLS, _pPager *XPager, _pgno uint32, _pData unsafe.Pointer, _ppPage **XPgHdr) (r0 int32) { // sqlite3.c:50857:1 21617 var _p *XPgHdr // sqlite3.c:50863:9 21618 _ = _p 21619 if (*XPgHdr)(unsafe.Pointer(_pPager.X43)) == nil { 21620 goto _0 21621 } 21622 21623 *_ppPage = store7885869(&_p, (*XPgHdr)(unsafe.Pointer(_pPager.X43))) 21624 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(136 /* X43 */))))) = (*XPgHdr)(unsafe.Pointer(_p.X3)) 21625 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 21626 func() int32 { 21627 if int32(_pPager.X44) >= i32(8) { 21628 return i32(0) 21629 } 21630 return func() int32 { 21631 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50869), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAcquireMapPageØ00__func__Ø000))), unsafe.Pointer(str(18896))) 21632 crt.X__builtin_abort(tls) 21633 return i32(0) 21634 }() 21635 }() 21636 crt.Xmemset(tls, _p.X2, i32(0), uint32(i32(8))) 21637 goto _3 21638 21639 _0: 21640 *_ppPage = store7885869(&_p, (*XPgHdr)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(40)+uint32(_pPager.X44)))))) 21641 if _p != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 21642 goto _4 21643 } 21644 21645 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(_pgno-uint32(i32(1)))*int64(_pPager.X48), _pData) 21646 r0 = _sqlite3NomemError(tls, i32(50875)) 21647 return 21648 21649 _4: 21650 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = (unsafe.Pointer)((*XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 40*uintptr(i32(1))))) 21651 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = uint16(i32(32)) 21652 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(26 /* X7 */))) = int16(i32(1)) 21653 *(**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = _pPager 21654 _3: 21655 func() int32 { 21656 if unsafe.Pointer(_p.X2) == (unsafe.Pointer)((*XPgHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+40*uintptr(i32(1))))) { 21657 return i32(0) 21658 } 21659 return func() int32 { 21660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50883), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAcquireMapPageØ00__func__Ø000))), unsafe.Pointer(str(18916))) 21661 crt.X__builtin_abort(tls) 21662 return i32(0) 21663 }() 21664 }() 21665 func() int32 { 21666 if (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)) == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 21667 return i32(0) 21668 } 21669 return func() int32 { 21670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50884), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAcquireMapPageØ00__func__Ø000))), unsafe.Pointer(str(18944))) 21671 crt.X__builtin_abort(tls) 21672 return i32(0) 21673 }() 21674 }() 21675 func() int32 { 21676 if int32(_p.X6) == i32(32) { 21677 return i32(0) 21678 } 21679 return func() int32 { 21680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50885), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAcquireMapPageØ00__func__Ø000))), unsafe.Pointer(str(18956))) 21681 crt.X__builtin_abort(tls) 21682 return i32(0) 21683 }() 21684 }() 21685 func() int32 { 21686 if (*XPager)(unsafe.Pointer(_p.X4)) == _pPager { 21687 return i32(0) 21688 } 21689 return func() int32 { 21690 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50886), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAcquireMapPageØ00__func__Ø000))), unsafe.Pointer(str(18980))) 21691 crt.X__builtin_abort(tls) 21692 return i32(0) 21693 }() 21694 }() 21695 func() int32 { 21696 if int32(_p.X7) == i32(1) { 21697 return i32(0) 21698 } 21699 return func() int32 { 21700 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50887), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerAcquireMapPageØ00__func__Ø000))), unsafe.Pointer(str(16768))) 21701 crt.X__builtin_abort(tls) 21702 return i32(0) 21703 }() 21704 }() 21705 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = _pgno 21706 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _pData 21707 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(124 /* X41 */))) += 1 21708 r0 = i32(0) 21709 return 21710 21711 } 21712 21713 var _pagerAcquireMapPageØ00__func__Ø000 [20]int8 // - 21714 21715 func init() { 21716 crt.Xstrncpy(nil, &_pagerAcquireMapPageØ00__func__Ø000[0], str(19000), 20) 21717 } 21718 21719 func _getPageNormal(tls *crt.TLS, _pPager *XPager, _pgno uint32, _ppPage **XPgHdr, _flags int32) (r0 int32) { // sqlite3.c:52239:1 21720 var _rc int32 // sqlite3.c:52245:7 21721 _ = _rc 21722 var _pPg *XPgHdr // sqlite3.c:52246:9 21723 _ = _pPg 21724 var _noContent uint8 // sqlite3.c:52247:6 21725 _ = _noContent 21726 var _pBase *Xsqlite3_pcache_page // sqlite3.c:52248:23 21727 _ = _pBase 21728 var _10_iFrame uint32 // sqlite3.c:52318:11 21729 _ = _10_iFrame 21730 _rc = i32(0) 21731 func() int32 { 21732 if (_pPager.X26) == i32(0) { 21733 return i32(0) 21734 } 21735 return func() int32 { 21736 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52250), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(11944))) 21737 crt.X__builtin_abort(tls) 21738 return i32(0) 21739 }() 21740 }() 21741 func() int32 { 21742 if int32(_pPager.X14) >= i32(1) { 21743 return i32(0) 21744 } 21745 return func() int32 { 21746 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52251), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(18820))) 21747 crt.X__builtin_abort(tls) 21748 return i32(0) 21749 }() 21750 }() 21751 func() int32 { 21752 if _assert_pager_state(tls, _pPager) != 0 { 21753 return i32(0) 21754 } 21755 return func() int32 { 21756 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52252), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(11184))) 21757 crt.X__builtin_abort(tls) 21758 return i32(0) 21759 }() 21760 }() 21761 func() int32 { 21762 if int32(_pPager.X21) == i32(1) { 21763 return i32(0) 21764 } 21765 return func() int32 { 21766 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52253), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(18852))) 21767 crt.X__builtin_abort(tls) 21768 return i32(0) 21769 }() 21770 }() 21771 if _pgno != uint32(i32(0)) { 21772 goto _8 21773 } 21774 21775 r0 = _sqlite3CorruptError(tls, i32(52255)) 21776 return 21777 21778 _8: 21779 _pBase = _sqlite3PcacheFetch(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, i32(3)) 21780 if _pBase != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 21781 goto _9 21782 } 21783 21784 _pPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 21785 _rc = _sqlite3PcacheFetchStress(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, &_pBase) 21786 if _rc == i32(0) { 21787 goto _10 21788 } 21789 21790 goto _pager_acquire_err 21791 21792 _10: 21793 if _pBase != (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 21794 goto _11 21795 } 21796 21797 _rc = _sqlite3NomemError(tls, i32(52262)) 21798 goto _pager_acquire_err 21799 21800 _11: 21801 _9: 21802 _pPg = store7885869(_ppPage, _sqlite3PcacheFetchFinish(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pgno, _pBase)) 21803 func() int32 { 21804 if _pPg == (*_ppPage) { 21805 return i32(0) 21806 } 21807 return func() int32 { 21808 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52267), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19020))) 21809 crt.X__builtin_abort(tls) 21810 return i32(0) 21811 }() 21812 }() 21813 func() int32 { 21814 if (_pPg.X5) == _pgno { 21815 return i32(0) 21816 } 21817 return func() int32 { 21818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52268), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19036))) 21819 crt.X__builtin_abort(tls) 21820 return i32(0) 21821 }() 21822 }() 21823 func() int32 { 21824 if ((*XPager)(unsafe.Pointer(_pPg.X4)) == _pPager) || ((*XPager)(unsafe.Pointer(_pPg.X4)) == (*XPager)(unsafe.Pointer(uintptr(i32(0))))) { 21825 return i32(0) 21826 } 21827 return func() int32 { 21828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52269), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19052))) 21829 crt.X__builtin_abort(tls) 21830 return i32(0) 21831 }() 21832 }() 21833 _noContent = uint8(bool2int((_flags & i32(1)) != i32(0))) 21834 if (*XPager)(unsafe.Pointer(_pPg.X4)) == nil || _noContent != 0 { 21835 goto _20 21836 } 21837 21838 func() int32 { 21839 if (_pgno <= uint32(i32(2147483647))) && (_pgno != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1))) { 21840 return i32(0) 21841 } 21842 return func() int32 { 21843 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52275), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19092))) 21844 crt.X__builtin_abort(tls) 21845 return i32(0) 21846 }() 21847 }() 21848 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(184 /* X55 */))))) + 4*uintptr(i32(0)))) += 1 21849 r0 = i32(0) 21850 return 21851 21852 _20: 21853 if _pgno <= uint32(i32(2147483647)) && _pgno != uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)) { 21854 goto _26 21855 } 21856 21857 _rc = _sqlite3CorruptError(tls, i32(52287)) 21858 goto _pager_acquire_err 21859 21860 _26: 21861 *(**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(16 /* X4 */))))) = _pPager 21862 func() int32 { 21863 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X13) == 0) { 21864 return i32(0) 21865 } 21866 return func() int32 { 21867 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52293), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19144))) 21868 crt.X__builtin_abort(tls) 21869 return i32(0) 21870 }() 21871 }() 21872 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) && (_pPager.X22) >= _pgno && _noContent == 0 { 21873 goto _32 21874 } 21875 21876 if _pgno <= (_pPager.X49) { 21877 goto _33 21878 } 21879 21880 _rc = i32(13) 21881 goto _pager_acquire_err 21882 21883 _33: 21884 if _noContent == 0 { 21885 goto _34 21886 } 21887 21888 _sqlite3BeginBenignMalloc(tls) 21889 if _pgno > (_pPager.X23) { 21890 goto _35 21891 } 21892 21893 _rc = _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _pgno) 21894 _35: 21895 _rc = _addToSavepointBitvecs(tls, _pPager, _pgno) 21896 _sqlite3EndBenignMalloc(tls) 21897 _34: 21898 crt.Xmemset(tls, _pPg.X1, i32(0), uint32(_pPager.X48)) 21899 goto _36 21900 21901 _32: 21902 _10_iFrame = u32(0) 21903 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 21904 goto _37 21905 } 21906 21907 _rc = _sqlite3WalFindFrame(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pgno, &_10_iFrame) 21908 if _rc == i32(0) { 21909 goto _38 21910 } 21911 21912 goto _pager_acquire_err 21913 21914 _38: 21915 _37: 21916 func() int32 { 21917 if (*XPager)(unsafe.Pointer(_pPg.X4)) == _pPager { 21918 return i32(0) 21919 } 21920 return func() int32 { 21921 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52323), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19176))) 21922 crt.X__builtin_abort(tls) 21923 return i32(0) 21924 }() 21925 }() 21926 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(184 /* X55 */))))) + 4*uintptr(i32(1)))) += 1 21927 _rc = _readDbPage(tls, _pPg, _10_iFrame) 21928 if _rc == i32(0) { 21929 goto _41 21930 } 21931 21932 goto _pager_acquire_err 21933 21934 _41: 21935 _36: 21936 r0 = i32(0) 21937 return 21938 21939 _pager_acquire_err: 21940 func() int32 { 21941 if _rc != i32(0) { 21942 return i32(0) 21943 } 21944 return func() int32 { 21945 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52335), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageNormalØ00__func__Ø000))), unsafe.Pointer(str(19196))) 21946 crt.X__builtin_abort(tls) 21947 return i32(0) 21948 }() 21949 }() 21950 if _pPg == nil { 21951 goto _44 21952 } 21953 21954 _sqlite3PcacheDrop(tls, _pPg) 21955 _44: 21956 _pagerUnlockIfUnused(tls, _pPager) 21957 *_ppPage = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 21958 r0 = _rc 21959 return 21960 21961 } 21962 21963 var _getPageNormalØ00__func__Ø000 [14]int8 // - 21964 21965 func init() { 21966 crt.Xstrncpy(nil, &_getPageNormalØ00__func__Ø000[0], str(19212), 14) 21967 } 21968 21969 func _sqlite3PcacheFetchStress(tls *crt.TLS, _pCache *XPCache, _pgno uint32, _ppPage **Xsqlite3_pcache_page) (r0 int32) { // sqlite3.c:44483:1 21970 var _pPg *XPgHdr // sqlite3.c:44488:9 21971 _ = _pPg 21972 var _3_rc int32 // sqlite3.c:44510:11 21973 _ = _3_rc 21974 if int32(_pCache.X9) != i32(2) { 21975 goto _0 21976 } 21977 21978 r0 = i32(0) 21979 return 21980 21981 _0: 21982 if _sqlite3PcachePagecount(tls, _pCache) <= (_pCache.X5) { 21983 goto _1 21984 } 21985 21986 _pPg = (*XPgHdr)(unsafe.Pointer(_pCache.X2)) 21987 _2: 21988 if _pPg == nil || (_pPg.X7) == 0 && (int32(_pPg.X6)&i32(8)) == 0 { 21989 goto _7 21990 } 21991 21992 _pPg = (*XPgHdr)(unsafe.Pointer(_pPg.X10)) 21993 goto _2 21994 21995 _7: 21996 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(8 /* X2 */))))) = _pPg 21997 if _pPg != nil { 21998 goto _8 21999 } 22000 22001 _pPg = (*XPgHdr)(unsafe.Pointer(_pCache.X1)) 22002 _9: 22003 if _pPg == nil || (_pPg.X7) == 0 { 22004 goto _13 22005 } 22006 22007 _pPg = (*XPgHdr)(unsafe.Pointer(_pPg.X10)) 22008 goto _9 22009 22010 _13: 22011 _8: 22012 if _pPg == nil { 22013 goto _14 22014 } 22015 22016 _3_rc = (*(*func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32)(unsafe.Pointer(&struct { 22017 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 22018 }{(_pCache.X10)})))(tls, _pCache.X11, _pPg) 22019 if _3_rc == i32(0) || _3_rc == i32(5) { 22020 goto _16 22021 } 22022 22023 r0 = _3_rc 22024 return 22025 22026 _16: 22027 _14: 22028 _1: 22029 *_ppPage = (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page)(unsafe.Pointer(&struct { 22030 f func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer 22031 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X7)})))(tls, _pCache.X12, _pgno, i32(2)) 22032 r0 = func() int32 { 22033 if (*_ppPage) == (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(i32(0)))) { 22034 return _sqlite3NomemError(tls, i32(44527)) 22035 } 22036 return i32(0) 22037 }() 22038 return 22039 22040 } 22041 22042 func _sqlite3PcachePagecount(tls *crt.TLS, _pCache *XPCache) (r0 int32) { // sqlite3.c:44876:1 22043 func() int32 { 22044 if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 22045 return i32(0) 22046 } 22047 return func() int32 { 22048 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44877), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcachePagecountØ00__func__Ø000))), unsafe.Pointer(str(16356))) 22049 crt.X__builtin_abort(tls) 22050 return i32(0) 22051 }() 22052 }() 22053 r0 = ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X6)(tls, _pCache.X12) 22054 return 22055 22056 } 22057 22058 var _sqlite3PcachePagecountØ00__func__Ø000 [23]int8 // - 22059 22060 func init() { 22061 crt.Xstrncpy(nil, &_sqlite3PcachePagecountØ00__func__Ø000[0], str(19228), 23) 22062 } 22063 22064 func _sqlite3EndBenignMalloc(tls *crt.TLS) { // sqlite3.c:20549:1 22065 if (_sqlite3Hooks.X1) == nil { 22066 goto _0 22067 } 22068 22069 (_sqlite3Hooks.X1)(tls) 22070 _0: 22071 return 22072 22073 } 22074 22075 func _sqlite3OsFileControlHint(tls *crt.TLS, _id *Xsqlite3_file, _op int32, _pArg unsafe.Pointer) { // sqlite3.c:20196:1 22076 (*(*func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 22077 f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 22078 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X10)})))(tls, _id, _op, _pArg) 22079 return 22080 22081 } 22082 22083 func _sqlite3WalSavepointUndo(tls *crt.TLS, _pWal *XWal, _aWalData *uint32) (r0 int32) { // sqlite3.c:57237:1 22084 var _rc int32 // sqlite3.c:57238:7 22085 _ = _rc 22086 _rc = i32(0) 22087 func() int32 { 22088 if (_pWal.X12) != 0 { 22089 return i32(0) 22090 } 22091 return func() int32 { 22092 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57240), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalSavepointUndoØ00__func__Ø000))), unsafe.Pointer(str(15980))) 22093 crt.X__builtin_abort(tls) 22094 return i32(0) 22095 }() 22096 }() 22097 func() int32 { 22098 if ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3))))) != (_pWal.X22)) || ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0))))) <= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6)) { 22099 return i32(0) 22100 } 22101 return func() int32 { 22102 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57241), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalSavepointUndoØ00__func__Ø000))), unsafe.Pointer(str(19252))) 22103 crt.X__builtin_abort(tls) 22104 return i32(0) 22105 }() 22106 }() 22107 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3))))) == (_pWal.X22) { 22108 goto _5 22109 } 22110 22111 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0)))) = uint32(i32(0)) 22112 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3)))) = _pWal.X22 22113 _5: 22114 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0))))) >= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 22115 goto _6 22116 } 22117 22118 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(16 /* X6 */))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0)))) 22119 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(1)))) 22120 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(2)))) 22121 _walCleanupHash(tls, _pWal) 22122 _6: 22123 r0 = _rc 22124 return 22125 22126 } 22127 22128 var _sqlite3WalSavepointUndoØ00__func__Ø000 [24]int8 // - 22129 22130 func init() { 22131 crt.Xstrncpy(nil, &_sqlite3WalSavepointUndoØ00__func__Ø000[0], str(19312), 24) 22132 } 22133 22134 func _pager_end_transaction(tls *crt.TLS, _pPager *XPager, _hasMaster int32, _bCommit int32) (r0 int32) { // sqlite3.c:48864:1 22135 var _rc int32 // sqlite3.c:48865:7 22136 _ = _rc 22137 var _rc2 int32 // sqlite3.c:48866:7 22138 _ = _rc2 22139 var _9_bDelete int32 // sqlite3.c:48922:11 22140 _ = _9_bDelete 22141 _rc = i32(0) 22142 _rc2 = i32(0) 22143 func() int32 { 22144 if _assert_pager_state(tls, _pPager) != 0 { 22145 return i32(0) 22146 } 22147 return func() int32 { 22148 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48881), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(11184))) 22149 crt.X__builtin_abort(tls) 22150 return i32(0) 22151 }() 22152 }() 22153 func() int32 { 22154 if int32(_pPager.X14) != i32(6) { 22155 return i32(0) 22156 } 22157 return func() int32 { 22158 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48882), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(15416))) 22159 crt.X__builtin_abort(tls) 22160 return i32(0) 22161 }() 22162 }() 22163 if int32(_pPager.X14) >= i32(2) || int32(_pPager.X15) >= i32(2) { 22164 goto _5 22165 } 22166 22167 r0 = i32(0) 22168 return 22169 22170 _5: 22171 _releaseAllSavepoints(tls, _pPager) 22172 func() int32 { 22173 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0))))) { 22174 return i32(0) 22175 } 22176 return func() int32 { 22177 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48888), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(19336))) 22178 crt.X__builtin_abort(tls) 22179 return i32(0) 22180 }() 22181 }() 22182 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 22183 goto _9 22184 } 22185 22186 func() int32 { 22187 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 22188 return i32(0) 22189 } 22190 return func() int32 { 22191 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48890), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(12376))) 22192 crt.X__builtin_abort(tls) 22193 return i32(0) 22194 }() 22195 }() 22196 if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) == 0 { 22197 goto _12 22198 } 22199 22200 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 22201 goto _13 22202 22203 _12: 22204 if int32(_pPager.X2) != i32(3) { 22205 goto _14 22206 } 22207 22208 if (_pPager.X34) != int64(i32(0)) { 22209 goto _15 22210 } 22211 22212 _rc = i32(0) 22213 goto _16 22214 22215 _15: 22216 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int64(i32(0))) 22217 if _rc != i32(0) || (_pPager.X5) == 0 { 22218 goto _18 22219 } 22220 22221 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int32(_pPager.X9)) 22222 _18: 22223 _16: 22224 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 22225 goto _19 22226 22227 _14: 22228 if int32(_pPager.X2) != i32(1) && ((_pPager.X1) == 0 || int32(_pPager.X2) == i32(5)) { 22229 goto _22 22230 } 22231 22232 _rc = _zeroJournalHdr(tls, _pPager, bool2int(_hasMaster != 0 || ((_pPager.X10) != 0))) 22233 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 22234 goto _24 22235 22236 _22: 22237 _9_bDelete = bool2int((_pPager.X10) == 0) 22238 func() int32 { 22239 if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) == i32(0) { 22240 return i32(0) 22241 } 22242 return func() int32 { 22243 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48923), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(19384))) 22244 crt.X__builtin_abort(tls) 22245 return i32(0) 22246 }() 22247 }() 22248 func() int32 { 22249 if ((int32(_pPager.X2) == i32(0)) || (int32(_pPager.X2) == i32(4))) || (int32(_pPager.X2) == i32(5)) { 22250 return i32(0) 22251 } 22252 return func() int32 { 22253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48924), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(19428))) 22254 crt.X__builtin_abort(tls) 22255 return i32(0) 22256 }() 22257 }() 22258 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 22259 if _9_bDelete == 0 { 22260 goto _31 22261 } 22262 22263 _rc = _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X52, int32(_pPager.X6)) 22264 _31: 22265 _24: 22266 _19: 22267 _13: 22268 _9: 22269 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30))) 22270 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X30 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) 22271 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X27 */))) = i32(0) 22272 if _rc != i32(0) { 22273 goto _32 22274 } 22275 22276 if (_pPager.X13) == 0 && _pagerFlushOnCommit(tls, _pPager, _bCommit) == 0 { 22277 goto _34 22278 } 22279 22280 _sqlite3PcacheCleanAll(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 22281 goto _35 22282 22283 _34: 22284 _sqlite3PcacheClearWritable(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 22285 _35: 22286 _sqlite3PcacheTruncate(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _pPager.X22) 22287 _32: 22288 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 22289 goto _36 22290 } 22291 22292 _rc2 = _sqlite3WalEndWriteTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 22293 func() int32 { 22294 if _rc2 == i32(0) { 22295 return i32(0) 22296 } 22297 return func() int32 { 22298 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48964), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(19572))) 22299 crt.X__builtin_abort(tls) 22300 return i32(0) 22301 }() 22302 }() 22303 goto _39 22304 22305 _36: 22306 if _rc != i32(0) || _bCommit == 0 || (_pPager.X24) <= (_pPager.X22) { 22307 goto _42 22308 } 22309 22310 func() int32 { 22311 if int32(_pPager.X15) == i32(4) { 22312 return i32(0) 22313 } 22314 return func() int32 { 22315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48972), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_end_transactionØ00__func__Ø000))), unsafe.Pointer(str(19588))) 22316 crt.X__builtin_abort(tls) 22317 return i32(0) 22318 }() 22319 }() 22320 _rc = _pager_truncate(tls, _pPager, _pPager.X22) 22321 _42: 22322 _39: 22323 if _rc != i32(0) || _bCommit == 0 || (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 22324 goto _47 22325 } 22326 22327 _rc = _sqlite3OsFileControl(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(22), (unsafe.Pointer)(uintptr(i32(0)))) 22328 if _rc != i32(12) { 22329 goto _48 22330 } 22331 22332 _rc = i32(0) 22333 _48: 22334 _47: 22335 if (_pPager.X1) != 0 || (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3WalExclusiveMode(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), i32(0)) == 0 { 22336 goto _51 22337 } 22338 22339 _rc2 = _pagerUnlockDb(tls, _pPager, i32(1)) 22340 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = uint8(i32(0)) 22341 _51: 22342 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(1)) 22343 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(20 /* X17 */))) = uint8(i32(0)) 22344 r0 = func() int32 { 22345 if _rc == i32(0) { 22346 return _rc2 22347 } 22348 return _rc 22349 }() 22350 return 22351 22352 } 22353 22354 var _pager_end_transactionØ00__func__Ø000 [22]int8 // - 22355 22356 func init() { 22357 crt.Xstrncpy(nil, &_pager_end_transactionØ00__func__Ø000[0], str(19620), 22) 22358 } 22359 22360 func _releaseAllSavepoints(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:48621:1 22361 var _ii int32 // sqlite3.c:48622:7 22362 _ = _ii 22363 _ii = i32(0) 22364 _0: 22365 if _ii >= (_pPager.X38) { 22366 goto _3 22367 } 22368 22369 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer((*XPagerSavepoint)(unsafe.Pointer(uintptr(_pPager.X37)+44*uintptr(_ii))).X2))) 22370 _ii += 1 22371 goto _0 22372 22373 _3: 22374 if (_pPager.X1) != 0 && _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33))) == 0 { 22375 goto _5 22376 } 22377 22378 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X33))) 22379 _5: 22380 Xsqlite3_free(tls, _pPager.X37) 22381 *(**XPagerSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X37 */))))) = (*XPagerSavepoint)(unsafe.Pointer(uintptr(i32(0)))) 22382 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(100 /* X38 */))) = i32(0) 22383 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(56 /* X29 */))) = uint32(i32(0)) 22384 return 22385 22386 } 22387 22388 func _sqlite3OsSync(tls *crt.TLS, _id *Xsqlite3_file, _flags int32) (r0 int32) { // sqlite3.c:20150:1 22389 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { 22390 f func(*crt.TLS, unsafe.Pointer, int32) int32 22391 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X5)})))(tls, _id, _flags) 22392 return 22393 22394 } 22395 22396 func _zeroJournalHdr(tls *crt.TLS, _pPager *XPager, _doTruncate int32) (r0 int32) { // sqlite3.c:48241:1 22397 var _rc int32 // sqlite3.c:48242:7 22398 _ = _rc 22399 var _1_iLimit int64 // sqlite3.c:48246:15 22400 _ = _1_iLimit 22401 var _5_sz int64 // sqlite3.c:48266:11 22402 _ = _5_sz 22403 _rc = i32(0) 22404 func() int32 { 22405 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 22406 return i32(0) 22407 } 22408 return func() int32 { 22409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48243), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroJournalHdrØ00__func__Ø000))), unsafe.Pointer(str(13904))) 22410 crt.X__builtin_abort(tls) 22411 return i32(0) 22412 }() 22413 }() 22414 func() int32 { 22415 if _sqlite3JournalIsInMemory(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) == 0 { 22416 return i32(0) 22417 } 22418 return func() int32 { 22419 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48244), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroJournalHdrØ00__func__Ø000))), unsafe.Pointer(str(19644))) 22420 crt.X__builtin_abort(tls) 22421 return i32(0) 22422 }() 22423 }() 22424 if (_pPager.X34) == 0 { 22425 goto _4 22426 } 22427 22428 _1_iLimit = _pPager.X50 22429 if _doTruncate == 0 && _1_iLimit != int64(i32(0)) { 22430 goto _6 22431 } 22432 22433 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int64(i32(0))) 22434 goto _7 22435 22436 _6: 22437 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_zeroJournalHdrØ00zeroHdrØ001), int32(u32(28)), int64(i32(0))) 22438 _7: 22439 if _rc != i32(0) || (_pPager.X4) != 0 { 22440 goto _9 22441 } 22442 22443 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), i32(16)|int32(_pPager.X9)) 22444 _9: 22445 if _rc != i32(0) || _1_iLimit <= int64(i32(0)) { 22446 goto _11 22447 } 22448 22449 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), &_5_sz) 22450 if _rc != i32(0) || _5_sz <= _1_iLimit { 22451 goto _13 22452 } 22453 22454 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _1_iLimit) 22455 _13: 22456 _11: 22457 _4: 22458 r0 = _rc 22459 return 22460 22461 } 22462 22463 var _zeroJournalHdrØ00__func__Ø000 [15]int8 // - 22464 22465 func init() { 22466 crt.Xstrncpy(nil, &_zeroJournalHdrØ00__func__Ø000[0], str(19684), 15) 22467 } 22468 22469 var _zeroJournalHdrØ00zeroHdrØ001 [28]int8 // sqlite3.c:48252:25 22470 22471 func _sqlite3OsDelete(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _dirSync int32) (r0 int32) { // sqlite3.c:20268:1 22472 func() int32 { 22473 if (_dirSync == i32(0)) || (_dirSync == i32(1)) { 22474 return i32(0) 22475 } 22476 return func() int32 { 22477 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(20270), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OsDeleteØ00__func__Ø000))), unsafe.Pointer(str(19700))) 22478 crt.X__builtin_abort(tls) 22479 return i32(0) 22480 }() 22481 }() 22482 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&struct { 22483 f func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 22484 }{(_pVfs.X7)})))(tls, _pVfs, _zPath, _dirSync) 22485 return 22486 22487 } 22488 22489 var _sqlite3OsDeleteØ00__func__Ø000 [16]int8 // - 22490 22491 func init() { 22492 crt.Xstrncpy(nil, &_sqlite3OsDeleteØ00__func__Ø000[0], str(19728), 16) 22493 } 22494 22495 func _pagerFlushOnCommit(tls *crt.TLS, _pPager *XPager, _bCommit int32) (r0 int32) { // sqlite3.c:48804:1 22496 if int32(_pPager.X10) != i32(0) { 22497 goto _0 22498 } 22499 22500 r0 = i32(1) 22501 return 22502 22503 _0: 22504 if _bCommit != 0 { 22505 goto _1 22506 } 22507 22508 r0 = i32(0) 22509 return 22510 22511 _1: 22512 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 22513 goto _2 22514 } 22515 22516 r0 = i32(0) 22517 return 22518 22519 _2: 22520 r0 = bool2int(_sqlite3PCachePercentDirty(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) >= i32(25)) 22521 return 22522 22523 } 22524 22525 func _sqlite3PCachePercentDirty(tls *crt.TLS, _pCache *XPCache) (r0 int32) { // sqlite3.c:44937:1 22526 var _pDirty *XPgHdr // sqlite3.c:44938:9 22527 _ = _pDirty 22528 var _nDirty int32 // sqlite3.c:44939:7 22529 _ = _nDirty 22530 var _nCache int32 // sqlite3.c:44940:7 22531 _ = _nCache 22532 _nDirty = i32(0) 22533 _nCache = _numberOfCachePages(tls, _pCache) 22534 _pDirty = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) 22535 _0: 22536 if _pDirty == nil { 22537 goto _3 22538 } 22539 22540 _nDirty += 1 22541 _pDirty = (*XPgHdr)(unsafe.Pointer(_pDirty.X9)) 22542 goto _0 22543 22544 _3: 22545 r0 = func() int32 { 22546 if _nCache != 0 { 22547 return int32((int64(_nDirty) * int64(i32(100))) / int64(_nCache)) 22548 } 22549 return i32(0) 22550 }() 22551 return 22552 22553 } 22554 22555 func _sqlite3PcacheCleanAll(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44670:1 22556 var _p *XPgHdr // sqlite3.c:44671:9 22557 _ = _p 22558 _0: 22559 if store7885869(&_p, (*XPgHdr)(unsafe.Pointer(_pCache.X0))) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 22560 goto _1 22561 } 22562 22563 _sqlite3PcacheMakeClean(tls, _p) 22564 goto _0 22565 22566 _1: 22567 return 22568 22569 } 22570 22571 func _sqlite3PcacheClearWritable(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44681:1 22572 var _p *XPgHdr // sqlite3.c:44682:9 22573 _ = _p 22574 _p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) 22575 _0: 22576 if _p == nil { 22577 goto _3 22578 } 22579 22580 { 22581 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 22582 *p = uint16(int32(*p) & i32(-13)) 22583 sink6908 = *p 22584 } 22585 _p = (*XPgHdr)(unsafe.Pointer(_p.X9)) 22586 goto _0 22587 22588 _3: 22589 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(8 /* X2 */))))) = (*XPgHdr)(unsafe.Pointer(_pCache.X1)) 22590 return 22591 22592 } 22593 22594 func _sqlite3WalEndWriteTransaction(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57161:1 22595 if (_pWal.X12) == 0 { 22596 goto _0 22597 } 22598 22599 _walUnlockExclusive(tls, _pWal, i32(0), i32(1)) 22600 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(44 /* X12 */))) = uint8(i32(0)) 22601 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(104 /* X20 */))) = uint32(i32(0)) 22602 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(47 /* X15 */))) = uint8(i32(0)) 22603 _0: 22604 r0 = i32(0) 22605 return 22606 22607 } 22608 22609 func _walUnlockExclusive(tls *crt.TLS, _pWal *XWal, _lockIdx int32, _n int32) { // sqlite3.c:55226:1 22610 if (_pWal.X11) == 0 { 22611 goto _0 22612 } 22613 22614 return 22615 22616 _0: 22617 _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, _n, i32(9)) 22618 return 22619 22620 } 22621 22622 func _sqlite3OsShmLock(tls *crt.TLS, _id *Xsqlite3_file, _offset int32, _n int32, _flags int32) (r0 int32) { // sqlite3.c:20207:1 22623 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&struct { 22624 f func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32 22625 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X14)})))(tls, _id, _offset, _n, _flags) 22626 return 22627 22628 } 22629 22630 func _pager_truncate(tls *crt.TLS, _pPager *XPager, _nPage uint32) (r0 int32) { // sqlite3.c:49475:1 22631 var _rc int32 // sqlite3.c:49476:7 22632 _ = _rc 22633 var _1_currentSize int64 // sqlite3.c:49483:9 22634 _ = _1_currentSize 22635 var _1_newSize int64 // sqlite3.c:49483:22 22636 _ = _1_newSize 22637 var _1_szPage int32 // sqlite3.c:49484:9 22638 _ = _1_szPage 22639 var _4_pTmp *int8 // sqlite3.c:49493:14 22640 _ = _4_pTmp 22641 _rc = i32(0) 22642 func() int32 { 22643 if int32(_pPager.X14) != i32(6) { 22644 return i32(0) 22645 } 22646 return func() int32 { 22647 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49477), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_truncateØ00__func__Ø000))), unsafe.Pointer(str(15416))) 22648 crt.X__builtin_abort(tls) 22649 return i32(0) 22650 }() 22651 }() 22652 func() int32 { 22653 if int32(_pPager.X14) != i32(1) { 22654 return i32(0) 22655 } 22656 return func() int32 { 22657 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49478), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_truncateØ00__func__Ø000))), unsafe.Pointer(str(19744))) 22658 crt.X__builtin_abort(tls) 22659 return i32(0) 22660 }() 22661 }() 22662 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X14) < i32(4) && int32(_pPager.X14) != i32(0) { 22663 goto _6 22664 } 22665 22666 _1_szPage = _pPager.X48 22667 func() int32 { 22668 if int32(_pPager.X15) == i32(4) { 22669 return i32(0) 22670 } 22671 return func() int32 { 22672 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49485), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_truncateØ00__func__Ø000))), unsafe.Pointer(str(19588))) 22673 crt.X__builtin_abort(tls) 22674 return i32(0) 22675 }() 22676 }() 22677 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_1_currentSize) 22678 _1_newSize = int64(_1_szPage) * int64(_nPage) 22679 if _rc != i32(0) || _1_currentSize == _1_newSize { 22680 goto _10 22681 } 22682 22683 if _1_currentSize <= _1_newSize { 22684 goto _11 22685 } 22686 22687 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _1_newSize) 22688 goto _12 22689 22690 _11: 22691 if (_1_currentSize + int64(_1_szPage)) > _1_newSize { 22692 goto _13 22693 } 22694 22695 _4_pTmp = _pPager.X58 22696 crt.Xmemset(tls, (unsafe.Pointer)(_4_pTmp), i32(0), uint32(_1_szPage)) 22697 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_4_pTmp), _1_szPage, _1_newSize-int64(_1_szPage)) 22698 _13: 22699 _12: 22700 if _rc != i32(0) { 22701 goto _14 22702 } 22703 22704 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(36 /* X24 */))) = _nPage 22705 _14: 22706 _10: 22707 _6: 22708 r0 = _rc 22709 return 22710 22711 } 22712 22713 var _pager_truncateØ00__func__Ø000 [15]int8 // - 22714 22715 func init() { 22716 crt.Xstrncpy(nil, &_pager_truncateØ00__func__Ø000[0], str(19776), 15) 22717 } 22718 22719 func _sqlite3WalExclusiveMode(tls *crt.TLS, _pWal *XWal, _op int32) (r0 int32) { // sqlite3.c:57824:1 22720 var _rc int32 // sqlite3.c:57825:7 22721 _ = _rc 22722 func() int32 { 22723 if int32(_pWal.X12) == i32(0) { 22724 return i32(0) 22725 } 22726 return func() int32 { 22727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57826), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalExclusiveModeØ00__func__Ø000))), unsafe.Pointer(str(19792))) 22728 crt.X__builtin_abort(tls) 22729 return i32(0) 22730 }() 22731 }() 22732 func() int32 { 22733 if (int32(_pWal.X11) != i32(2)) || (_op == i32(-1)) { 22734 return i32(0) 22735 } 22736 return func() int32 { 22737 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57827), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalExclusiveModeØ00__func__Ø000))), unsafe.Pointer(str(19812))) 22738 crt.X__builtin_abort(tls) 22739 return i32(0) 22740 }() 22741 }() 22742 func() int32 { 22743 if (int32(_pWal.X9) >= i32(0)) || ((_pWal.X23) != 0) { 22744 return i32(0) 22745 } 22746 return func() int32 { 22747 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57835), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalExclusiveModeØ00__func__Ø000))), unsafe.Pointer(str(16800))) 22748 crt.X__builtin_abort(tls) 22749 return i32(0) 22750 }() 22751 }() 22752 func() int32 { 22753 if (int32(_pWal.X9) >= i32(0)) || ((_op <= i32(0)) && (int32(_pWal.X11) == i32(0))) { 22754 return i32(0) 22755 } 22756 return func() int32 { 22757 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57836), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalExclusiveModeØ00__func__Ø000))), unsafe.Pointer(str(19864))) 22758 crt.X__builtin_abort(tls) 22759 return i32(0) 22760 }() 22761 }() 22762 if _op != i32(0) { 22763 goto _12 22764 } 22765 22766 if (_pWal.X11) == 0 { 22767 goto _13 22768 } 22769 22770 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(43 /* X11 */))) = uint8(i32(0)) 22771 if _walLockShared(tls, _pWal, i32(3)+int32(_pWal.X9)) == i32(0) { 22772 goto _14 22773 } 22774 22775 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(43 /* X11 */))) = uint8(i32(1)) 22776 _14: 22777 _rc = bool2int(int32(_pWal.X11) == i32(0)) 22778 goto _15 22779 22780 _13: 22781 _rc = i32(0) 22782 _15: 22783 goto _16 22784 22785 _12: 22786 if _op <= i32(0) { 22787 goto _17 22788 } 22789 22790 func() int32 { 22791 if int32(_pWal.X11) == i32(0) { 22792 return i32(0) 22793 } 22794 return func() int32 { 22795 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57850), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalExclusiveModeØ00__func__Ø000))), unsafe.Pointer(str(19920))) 22796 crt.X__builtin_abort(tls) 22797 return i32(0) 22798 }() 22799 }() 22800 func() int32 { 22801 if int32(_pWal.X9) >= i32(0) { 22802 return i32(0) 22803 } 22804 return func() int32 { 22805 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57851), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalExclusiveModeØ00__func__Ø000))), unsafe.Pointer(str(19944))) 22806 crt.X__builtin_abort(tls) 22807 return i32(0) 22808 }() 22809 }() 22810 _walUnlockShared(tls, _pWal, i32(3)+int32(_pWal.X9)) 22811 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(43 /* X11 */))) = uint8(i32(1)) 22812 _rc = i32(1) 22813 goto _22 22814 22815 _17: 22816 _rc = bool2int(int32(_pWal.X11) == i32(0)) 22817 _22: 22818 _16: 22819 r0 = _rc 22820 return 22821 22822 } 22823 22824 var _sqlite3WalExclusiveModeØ00__func__Ø000 [24]int8 // - 22825 22826 func init() { 22827 crt.Xstrncpy(nil, &_sqlite3WalExclusiveModeØ00__func__Ø000[0], str(19964), 24) 22828 } 22829 22830 func _walLockShared(tls *crt.TLS, _pWal *XWal, _lockIdx int32) (r0 int32) { // sqlite3.c:55200:1 22831 var _rc int32 // sqlite3.c:55201:7 22832 _ = _rc 22833 if (_pWal.X11) == 0 { 22834 goto _0 22835 } 22836 22837 r0 = i32(0) 22838 return 22839 22840 _0: 22841 _rc = _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, i32(1), i32(6)) 22842 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(116 /* X23 */))) = uint8(bool2int((_rc != i32(0)) && (_rc != i32(5)))) 22843 r0 = _rc 22844 return 22845 22846 } 22847 22848 func _walUnlockShared(tls *crt.TLS, _pWal *XWal, _lockIdx int32) { // sqlite3.c:55210:1 22849 if (_pWal.X11) == 0 { 22850 goto _0 22851 } 22852 22853 return 22854 22855 _0: 22856 _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, i32(1), i32(5)) 22857 return 22858 22859 } 22860 22861 func _pagerUnlockDb(tls *crt.TLS, _pPager *XPager, _eLock int32) (r0 int32) { // sqlite3.c:48002:1 22862 var _rc int32 // sqlite3.c:48003:7 22863 _ = _rc 22864 _rc = i32(0) 22865 func() int32 { 22866 if ((_pPager.X1) == 0) || (int32(_pPager.X15) == _eLock) { 22867 return i32(0) 22868 } 22869 return func() int32 { 22870 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48005), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUnlockDbØ00__func__Ø000))), unsafe.Pointer(str(19988))) 22871 crt.X__builtin_abort(tls) 22872 return i32(0) 22873 }() 22874 }() 22875 func() int32 { 22876 if (_eLock == i32(0)) || (_eLock == i32(1)) { 22877 return i32(0) 22878 } 22879 return func() int32 { 22880 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48006), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUnlockDbØ00__func__Ø000))), unsafe.Pointer(str(20036))) 22881 crt.X__builtin_abort(tls) 22882 return i32(0) 22883 }() 22884 }() 22885 func() int32 { 22886 if (_eLock != i32(0)) || (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) { 22887 return i32(0) 22888 } 22889 return func() int32 { 22890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48007), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUnlockDbØ00__func__Ø000))), unsafe.Pointer(str(20076))) 22891 crt.X__builtin_abort(tls) 22892 return i32(0) 22893 }() 22894 }() 22895 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 22896 goto _9 22897 } 22898 22899 func() int32 { 22900 if int32(_pPager.X15) >= _eLock { 22901 return i32(0) 22902 } 22903 return func() int32 { 22904 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48009), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerUnlockDbØ00__func__Ø000))), unsafe.Pointer(str(20120))) 22905 crt.X__builtin_abort(tls) 22906 return i32(0) 22907 }() 22908 }() 22909 _rc = func() int32 { 22910 if (_pPager.X11) != 0 { 22911 return i32(0) 22912 } 22913 return _sqlite3OsUnlock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _eLock) 22914 }() 22915 if int32(_pPager.X15) == i32(5) { 22916 goto _14 22917 } 22918 22919 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(18 /* X15 */))) = uint8(_eLock) 22920 _14: 22921 _9: 22922 r0 = _rc 22923 return 22924 22925 } 22926 22927 var _pagerUnlockDbØ00__func__Ø000 [14]int8 // - 22928 22929 func init() { 22930 crt.Xstrncpy(nil, &_pagerUnlockDbØ00__func__Ø000[0], str(20144), 14) 22931 } 22932 22933 func _sqlite3OsUnlock(tls *crt.TLS, _id *Xsqlite3_file, _lockType int32) (r0 int32) { // sqlite3.c:20162:1 22934 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { 22935 f func(*crt.TLS, unsafe.Pointer, int32) int32 22936 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X8)})))(tls, _id, _lockType) 22937 return 22938 22939 } 22940 22941 func _pager_playback(tls *crt.TLS, _pPager *XPager, _isHot int32) (r0 int32) { // sqlite3.c:49618:1 22942 var _pVfs *Xsqlite3_vfs // sqlite3.c:49619:15 22943 _ = _pVfs 22944 var _szJ int64 // sqlite3.c:49620:7 22945 _ = _szJ 22946 var _nRec uint32 // sqlite3.c:49621:7 22947 _ = _nRec 22948 var _u uint32 // sqlite3.c:49622:7 22949 _ = _u 22950 var _mxPg uint32 // sqlite3.c:49623:8 22951 _ = _mxPg 22952 var _rc int32 // sqlite3.c:49624:7 22953 _ = _rc 22954 var _res int32 // sqlite3.c:49625:7 22955 _ = _res 22956 var _zMaster *int8 // sqlite3.c:49626:8 22957 _ = _zMaster 22958 var _needPagerReset int32 // sqlite3.c:49627:7 22959 _ = _needPagerReset 22960 var _nPlayback int32 // sqlite3.c:49628:7 22961 _ = _nPlayback 22962 _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) 22963 _mxPg = u32(0) 22964 _res = i32(1) 22965 _zMaster = nil 22966 _nPlayback = i32(0) 22967 func() int32 { 22968 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 22969 return i32(0) 22970 } 22971 return func() int32 { 22972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49633), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playbackØ00__func__Ø000))), unsafe.Pointer(str(13904))) 22973 crt.X__builtin_abort(tls) 22974 return i32(0) 22975 }() 22976 }() 22977 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), &_szJ) 22978 if _rc == i32(0) { 22979 goto _2 22980 } 22981 22982 goto _end_playback 22983 22984 _2: 22985 _zMaster = _pPager.X58 22986 _rc = _readMasterJournal(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _zMaster, uint32(((*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)).X2)+i32(1))) 22987 if _rc != i32(0) || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0))))) == 0 { 22988 goto _4 22989 } 22990 22991 _rc = _sqlite3OsAccess(tls, _pVfs, _zMaster, i32(0), &_res) 22992 _4: 22993 _zMaster = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 22994 if _rc == i32(0) && _res != 0 { 22995 goto _6 22996 } 22997 22998 goto _end_playback 22999 23000 _6: 23001 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 23002 _needPagerReset = _isHot 23003 _7: 23004 _rc = _readJournalHdr(tls, _pPager, _isHot, _szJ, &_nRec, &_mxPg) 23005 if _rc == i32(0) { 23006 goto _9 23007 } 23008 23009 if _rc != i32(101) { 23010 goto _10 23011 } 23012 23013 _rc = i32(0) 23014 _10: 23015 goto _end_playback 23016 23017 _9: 23018 if _nRec != u32(4294967295) { 23019 goto _11 23020 } 23021 23022 func() int32 { 23023 if (_pPager.X34) == int64(_pPager.X47) { 23024 return i32(0) 23025 } 23026 return func() int32 { 23027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49686), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_playbackØ00__func__Ø000))), unsafe.Pointer(str(20160))) 23028 crt.X__builtin_abort(tls) 23029 return i32(0) 23030 }() 23031 }() 23032 _nRec = uint32(int32((_szJ - int64(_pPager.X47)) / int64((_pPager.X48)+i32(8)))) 23033 _11: 23034 if _nRec != uint32(i32(0)) || _isHot != 0 || ((_pPager.X35)+int64(_pPager.X47)) != (_pPager.X34) { 23035 goto _16 23036 } 23037 23038 _nRec = uint32(int32((_szJ - (_pPager.X34)) / int64((_pPager.X48)+i32(8)))) 23039 _16: 23040 if (_pPager.X34) != int64(_pPager.X47) { 23041 goto _17 23042 } 23043 23044 _rc = _pager_truncate(tls, _pPager, _mxPg) 23045 if _rc == i32(0) { 23046 goto _18 23047 } 23048 23049 goto _end_playback 23050 23051 _18: 23052 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X22 */))) = _mxPg 23053 _17: 23054 _u = uint32(i32(0)) 23055 _19: 23056 if _u >= _nRec { 23057 goto _22 23058 } 23059 23060 if _needPagerReset == 0 { 23061 goto _23 23062 } 23063 23064 _pager_reset(tls, _pPager) 23065 _needPagerReset = i32(0) 23066 _23: 23067 _rc = _pager_playback_one_page(tls, _pPager, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(76 /* X34 */))), (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), i32(1), i32(0)) 23068 if _rc != i32(0) { 23069 goto _24 23070 } 23071 23072 _nPlayback += 1 23073 goto _25 23074 23075 _24: 23076 if _rc != i32(101) { 23077 goto _26 23078 } 23079 23080 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = _szJ 23081 goto _22 23082 23083 _26: 23084 if _rc != i32(522) { 23085 goto _28 23086 } 23087 23088 _rc = i32(0) 23089 goto _end_playback 23090 23091 _28: 23092 goto _end_playback 23093 23094 _25: 23095 _u += 1 23096 goto _19 23097 23098 _22: 23099 goto _7 23100 23101 _end_playback: 23102 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == nil { 23103 goto _30 23104 } 23105 23106 _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int32(u32(3389603744)), (unsafe.Pointer)(uintptr(i32(0)))) 23107 _30: 23108 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = _pPager.X10 23109 if _rc != i32(0) { 23110 goto _31 23111 } 23112 23113 _zMaster = _pPager.X58 23114 _rc = _readMasterJournal(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _zMaster, uint32(((*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)).X2)+i32(1))) 23115 _31: 23116 if _rc != i32(0) || int32(_pPager.X14) < i32(4) && int32(_pPager.X14) != i32(0) { 23117 goto _34 23118 } 23119 23120 _rc = _sqlite3PagerSync(tls, _pPager, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 23121 _34: 23122 if _rc != i32(0) { 23123 goto _35 23124 } 23125 23126 _rc = _pager_end_transaction(tls, _pPager, bool2int(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0))))) != i32(0)), i32(0)) 23127 _35: 23128 if _rc != i32(0) || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0))))) == 0 || _res == 0 { 23129 goto _38 23130 } 23131 23132 _rc = _pager_delmaster(tls, _pPager, _zMaster) 23133 _38: 23134 if _isHot == 0 || _nPlayback == 0 { 23135 goto _40 23136 } 23137 23138 Xsqlite3_log(tls, i32(539), str(20204), _nPlayback, unsafe.Pointer(_pPager.X52)) 23139 _40: 23140 _setSectorSize(tls, _pPager) 23141 r0 = _rc 23142 return 23143 23144 } 23145 23146 var _pager_playbackØ00__func__Ø000 [15]int8 // - 23147 23148 func init() { 23149 crt.Xstrncpy(nil, &_pager_playbackØ00__func__Ø000[0], str(20232), 15) 23150 } 23151 23152 func _readMasterJournal(tls *crt.TLS, _pJrnl *Xsqlite3_file, _zMaster *int8, _nMaster uint32) (r0 int32) { // sqlite3.c:48154:1 23153 var _rc int32 // sqlite3.c:48155:7 23154 _ = _rc 23155 var _len uint32 // sqlite3.c:48156:7 23156 _ = _len 23157 var _szJ int64 // sqlite3.c:48157:7 23158 _ = _szJ 23159 var _cksum uint32 // sqlite3.c:48158:7 23160 _ = _cksum 23161 var _u uint32 // sqlite3.c:48159:7 23162 _ = _u 23163 var _aMagic [8]uint8 // sqlite3.c:48160:17 23164 _ = _aMagic 23165 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(i32(0)))) = int8(i32(0)) 23166 if i32(0) == store961(&_rc, _sqlite3OsFileSize(tls, _pJrnl, &_szJ)) && _szJ >= int64(i32(16)) && i32(0) == store961(&_rc, _read32bits(tls, _pJrnl, _szJ-int64(i32(16)), &_len)) && _len < _nMaster && _len != uint32(i32(0)) && i32(0) == store961(&_rc, _read32bits(tls, _pJrnl, _szJ-int64(i32(12)), &_cksum)) && i32(0) == store961(&_rc, _sqlite3OsRead(tls, _pJrnl, (unsafe.Pointer)(&_aMagic), i32(8), _szJ-int64(i32(8)))) && crt.Xmemcmp(tls, (unsafe.Pointer)(&_aMagic), (unsafe.Pointer)(&_aJournalMagic), uint32(i32(8))) == 0 && i32(0) == store961(&_rc, _sqlite3OsRead(tls, _pJrnl, (unsafe.Pointer)(_zMaster), int32(_len), (_szJ-int64(i32(16)))-int64(_len))) { 23167 goto _8 23168 } 23169 23170 r0 = _rc 23171 return 23172 23173 _8: 23174 _u = uint32(i32(0)) 23175 _9: 23176 if _u >= _len { 23177 goto _12 23178 } 23179 23180 { 23181 p := &_cksum 23182 *p = (*p) - uint32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_u)))) 23183 sink985 = *p 23184 } 23185 _u += 1 23186 goto _9 23187 23188 _12: 23189 if _cksum == 0 { 23190 goto _13 23191 } 23192 23193 _len = uint32(i32(0)) 23194 _13: 23195 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_len))) = int8(i32(0)) 23196 r0 = i32(0) 23197 return 23198 23199 } 23200 23201 func _sqlite3OsAccess(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _flags int32, _pResOut *int32) (r0 int32) { // sqlite3.c:20273:1 23202 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { 23203 f func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32 23204 }{(_pVfs.X8)})))(tls, _pVfs, _zPath, _flags, _pResOut) 23205 return 23206 23207 } 23208 23209 func _sqlite3PagerSync(tls *crt.TLS, _pPager *XPager, _zMaster *int8) (r0 int32) { // sqlite3.c:53077:1 23210 var _rc int32 // sqlite3.c:53078:7 23211 _ = _rc 23212 var _1_pArg unsafe.Pointer // sqlite3.c:53081:10 23213 _ = _1_pArg 23214 _rc = i32(0) 23215 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 23216 goto _0 23217 } 23218 23219 _1_pArg = (unsafe.Pointer)(_zMaster) 23220 _rc = _sqlite3OsFileControl(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(21), _1_pArg) 23221 if _rc != i32(12) { 23222 goto _1 23223 } 23224 23225 _rc = i32(0) 23226 _1: 23227 _0: 23228 if _rc != i32(0) || (_pPager.X4) != 0 { 23229 goto _3 23230 } 23231 23232 func() int32 { 23233 if (_pPager.X13) == 0 { 23234 return i32(0) 23235 } 23236 return func() int32 { 23237 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53086), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSyncØ00__func__Ø000))), unsafe.Pointer(str(11936))) 23238 crt.X__builtin_abort(tls) 23239 return i32(0) 23240 }() 23241 }() 23242 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int32(_pPager.X9)) 23243 _3: 23244 r0 = _rc 23245 return 23246 23247 } 23248 23249 var _sqlite3PagerSyncØ00__func__Ø000 [17]int8 // - 23250 23251 func init() { 23252 crt.Xstrncpy(nil, &_sqlite3PagerSyncØ00__func__Ø000[0], str(20248), 17) 23253 } 23254 23255 func _pager_delmaster(tls *crt.TLS, _pPager *XPager, _zMaster *int8) (r0 int32) { // sqlite3.c:49365:1 23256 var _pVfs *Xsqlite3_vfs // sqlite3.c:49366:15 23257 _ = _pVfs 23258 var _rc int32 // sqlite3.c:49367:7 23259 _ = _rc 23260 var _pMaster *Xsqlite3_file // sqlite3.c:49368:16 23261 _ = _pMaster 23262 var _pJournal *Xsqlite3_file // sqlite3.c:49369:16 23263 _ = _pJournal 23264 var _zMasterJournal *int8 // sqlite3.c:49370:8 23265 _ = _zMasterJournal 23266 var _nMasterJournal int64 // sqlite3.c:49371:7 23267 _ = _nMasterJournal 23268 var _zJournal *int8 // sqlite3.c:49372:8 23269 _ = _zJournal 23270 var _zMasterPtr *int8 // sqlite3.c:49373:8 23271 _ = _zMasterPtr 23272 var _nMasterPtr int32 // sqlite3.c:49374:7 23273 _ = _nMasterPtr 23274 var _2_flags int32 // sqlite3.c:49384:15 23275 _ = _2_flags 23276 var _4_exists int32 // sqlite3.c:49409:9 23277 _ = _4_exists 23278 var _6_c int32 // sqlite3.c:49419:11 23279 _ = _6_c 23280 var _6_flags int32 // sqlite3.c:49420:11 23281 _ = _6_flags 23282 _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) 23283 _zMasterJournal = nil 23284 _pMaster = (*Xsqlite3_file)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64((_pVfs.X1)*i32(2))))) 23285 _pJournal = (*Xsqlite3_file)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_pMaster)))) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pVfs.X1))))))))) 23286 if _pMaster != nil { 23287 goto _0 23288 } 23289 23290 _rc = _sqlite3NomemError(tls, i32(49382)) 23291 goto _1 23292 23293 _0: 23294 _2_flags = i32(16385) 23295 _rc = _sqlite3OsOpen(tls, _pVfs, _zMaster, _pMaster, _2_flags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 23296 _1: 23297 if _rc == i32(0) { 23298 goto _2 23299 } 23300 23301 goto _delmaster_out 23302 23303 _2: 23304 _rc = _sqlite3OsFileSize(tls, _pMaster, &_nMasterJournal) 23305 if _rc == i32(0) { 23306 goto _3 23307 } 23308 23309 goto _delmaster_out 23310 23311 _3: 23312 _nMasterPtr = (_pVfs.X2) + i32(1) 23313 _zMasterJournal = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64((_nMasterJournal+int64(_nMasterPtr))+int64(i32(1)))))) 23314 if _zMasterJournal != nil { 23315 goto _4 23316 } 23317 23318 _rc = _sqlite3NomemError(tls, i32(49399)) 23319 goto _delmaster_out 23320 23321 _4: 23322 _zMasterPtr = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMasterJournal)) + 1*uintptr(_nMasterJournal+int64(i32(1))))) 23323 _rc = _sqlite3OsRead(tls, _pMaster, (unsafe.Pointer)(_zMasterJournal), int32(_nMasterJournal), int64(i32(0))) 23324 if _rc == i32(0) { 23325 goto _5 23326 } 23327 23328 goto _delmaster_out 23329 23330 _5: 23331 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMasterJournal)) + 1*uintptr(_nMasterJournal))) = int8(i32(0)) 23332 _zJournal = _zMasterJournal 23333 _6: 23334 if int64(int32((uintptr(unsafe.Pointer(_zJournal))-uintptr(unsafe.Pointer(_zMasterJournal)))/1)) >= _nMasterJournal { 23335 goto _7 23336 } 23337 23338 _rc = _sqlite3OsAccess(tls, _pVfs, _zJournal, i32(0), &_4_exists) 23339 if _rc == i32(0) { 23340 goto _8 23341 } 23342 23343 goto _delmaster_out 23344 23345 _8: 23346 if _4_exists == 0 { 23347 goto _9 23348 } 23349 23350 _6_flags = i32(2049) 23351 _rc = _sqlite3OsOpen(tls, _pVfs, _zJournal, _pJournal, _6_flags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 23352 if _rc == i32(0) { 23353 goto _10 23354 } 23355 23356 goto _delmaster_out 23357 23358 _10: 23359 _rc = _readMasterJournal(tls, _pJournal, _zMasterPtr, uint32(_nMasterPtr)) 23360 _sqlite3OsClose(tls, _pJournal) 23361 if _rc == i32(0) { 23362 goto _11 23363 } 23364 23365 goto _delmaster_out 23366 23367 _11: 23368 _6_c = bool2int((int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMasterPtr)) + 1*uintptr(i32(0))))) != i32(0)) && (crt.Xstrcmp(tls, _zMasterPtr, _zMaster) == i32(0))) 23369 if _6_c == 0 { 23370 goto _13 23371 } 23372 23373 goto _delmaster_out 23374 23375 _13: 23376 _9: 23377 { 23378 p := &_zJournal 23379 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zJournal)+i32(1)))) 23380 sink1025 = *p 23381 } 23382 goto _6 23383 23384 _7: 23385 _sqlite3OsClose(tls, _pMaster) 23386 _rc = _sqlite3OsDelete(tls, _pVfs, _zMaster, i32(0)) 23387 _delmaster_out: 23388 Xsqlite3_free(tls, (unsafe.Pointer)(_zMasterJournal)) 23389 if _pMaster == nil { 23390 goto _14 23391 } 23392 23393 _sqlite3OsClose(tls, _pMaster) 23394 func() int32 { 23395 if (*Xsqlite3_io_methods)(unsafe.Pointer(_pJournal.X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 23396 return i32(0) 23397 } 23398 return func() int32 { 23399 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49448), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_delmasterØ00__func__Ø000))), unsafe.Pointer(str(20268))) 23400 crt.X__builtin_abort(tls) 23401 return i32(0) 23402 }() 23403 }() 23404 Xsqlite3_free(tls, (unsafe.Pointer)(_pMaster)) 23405 _14: 23406 r0 = _rc 23407 return 23408 23409 } 23410 23411 var _pager_delmasterØ00__func__Ø000 [16]int8 // - 23412 23413 func init() { 23414 crt.Xstrncpy(nil, &_pager_delmasterØ00__func__Ø000[0], str(20288), 16) 23415 } 23416 23417 func _setSectorSize(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:49545:1 23418 func() int32 { 23419 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X10) != 0) { 23420 return i32(0) 23421 } 23422 return func() int32 { 23423 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49546), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSectorSizeØ00__func__Ø000))), unsafe.Pointer(str(20304))) 23424 crt.X__builtin_abort(tls) 23425 return i32(0) 23426 }() 23427 }() 23428 if (_pPager.X10) == 0 && (_sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)))&i32(4096)) == i32(0) { 23429 goto _4 23430 } 23431 23432 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(148 /* X47 */))) = uint32(i32(512)) 23433 goto _5 23434 23435 _4: 23436 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(148 /* X47 */))) = uint32(_sqlite3SectorSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)))) 23437 _5: 23438 return 23439 23440 } 23441 23442 var _setSectorSizeØ00__func__Ø000 [14]int8 // - 23443 23444 func init() { 23445 crt.Xstrncpy(nil, &_setSectorSizeØ00__func__Ø000[0], str(20344), 14) 23446 } 23447 23448 func _sqlite3SectorSize(tls *crt.TLS, _pFile *Xsqlite3_file) (r0 int32) { // sqlite3.c:49511:1 23449 var _iRet int32 // sqlite3.c:49512:7 23450 _ = _iRet 23451 _iRet = _sqlite3OsSectorSize(tls, _pFile) 23452 if _iRet >= i32(32) { 23453 goto _0 23454 } 23455 23456 _iRet = i32(512) 23457 goto _1 23458 23459 _0: 23460 if _iRet <= i32(65536) { 23461 goto _2 23462 } 23463 23464 i32(0) 23465 _iRet = i32(65536) 23466 _2: 23467 _1: 23468 r0 = _iRet 23469 return 23470 23471 } 23472 23473 func _sqlite3OsSectorSize(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:20200:1 23474 var _xSectorSize func(*crt.TLS, *Xsqlite3_file) int32 // sqlite3.c:20201:7 23475 _ = _xSectorSize 23476 _xSectorSize = *(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 23477 f func(*crt.TLS, unsafe.Pointer) int32 23478 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X11)})) 23479 r0 = func() int32 { 23480 if _xSectorSize != nil { 23481 return _xSectorSize(tls, _id) 23482 } 23483 return i32(4096) 23484 }() 23485 return 23486 23487 } 23488 23489 func _pager_error(tls *crt.TLS, _pPager *XPager, _rc int32) (r0 int32) { // sqlite3.c:48770:1 23490 var _rc2 int32 // sqlite3.c:48771:7 23491 _ = _rc2 23492 _rc2 = _rc & i32(255) 23493 func() int32 { 23494 if (_rc == i32(0)) || ((_pPager.X13) == 0) { 23495 return i32(0) 23496 } 23497 return func() int32 { 23498 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48772), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_errorØ00__func__Ø000))), unsafe.Pointer(str(20360))) 23499 crt.X__builtin_abort(tls) 23500 return i32(0) 23501 }() 23502 }() 23503 func() int32 { 23504 if (((_pPager.X26) == i32(13)) || ((_pPager.X26) == i32(0))) || (((_pPager.X26) & i32(255)) == i32(10)) { 23505 return i32(0) 23506 } 23507 return func() int32 { 23508 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48773), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_errorØ00__func__Ø000))), unsafe.Pointer(str(20384))) 23509 crt.X__builtin_abort(tls) 23510 return i32(0) 23511 }() 23512 }() 23513 if _rc2 != i32(13) && _rc2 != i32(10) { 23514 goto _8 23515 } 23516 23517 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(44 /* X26 */))) = _rc 23518 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(6)) 23519 _setGetterMethod(tls, _pPager) 23520 _8: 23521 r0 = _rc 23522 return 23523 23524 } 23525 23526 var _pager_errorØ00__func__Ø000 [12]int8 // - 23527 23528 func init() { 23529 crt.Xstrncpy(nil, &_pager_errorØ00__func__Ø000[0], str(20488), 12) 23530 } 23531 23532 func _pager_unlock(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:48672:1 23533 var _2_rc int32 // sqlite3.c:48688:9 23534 _ = _2_rc 23535 var _2_iDc int32 // sqlite3.c:48689:9 23536 _ = _2_iDc 23537 func() int32 { 23538 if ((int32(_pPager.X14) == i32(1)) || (int32(_pPager.X14) == i32(0))) || (int32(_pPager.X14) == i32(6)) { 23539 return i32(0) 23540 } 23541 return func() int32 { 23542 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48674), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_unlockØ00__func__Ø000))), unsafe.Pointer(str(20500))) 23543 crt.X__builtin_abort(tls) 23544 return i32(0) 23545 }() 23546 }() 23547 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30))) 23548 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(60 /* X30 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) 23549 _releaseAllSavepoints(tls, _pPager) 23550 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 23551 goto _4 23552 } 23553 23554 func() int32 { 23555 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 23556 return i32(0) 23557 } 23558 return func() int32 { 23559 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48684), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_unlockØ00__func__Ø000))), unsafe.Pointer(str(20592))) 23560 crt.X__builtin_abort(tls) 23561 return i32(0) 23562 }() 23563 }() 23564 _sqlite3WalEndReadTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 23565 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(0)) 23566 goto _7 23567 23568 _4: 23569 if (_pPager.X1) != 0 { 23570 goto _8 23571 } 23572 23573 _2_iDc = func() int32 { 23574 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 23575 return _sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) 23576 } 23577 return i32(0) 23578 }() 23579 i32(0) 23580 i32(0) 23581 i32(0) 23582 i32(0) 23583 i32(0) 23584 i32(0) 23585 if i32(0) != (_2_iDc&i32(2048)) && i32(1) == (int32(_pPager.X2)&i32(5)) { 23586 goto _12 23587 } 23588 23589 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 23590 _12: 23591 _2_rc = _pagerUnlockDb(tls, _pPager, i32(0)) 23592 if _2_rc == i32(0) || int32(_pPager.X14) != i32(6) { 23593 goto _14 23594 } 23595 23596 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(18 /* X15 */))) = uint8(i32(5)) 23597 _14: 23598 func() int32 { 23599 if (_pPager.X26) != 0 || (int32(_pPager.X14) != i32(6)) { 23600 return i32(0) 23601 } 23602 return func() int32 { 23603 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48722), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_unlockØ00__func__Ø000))), unsafe.Pointer(str(20616))) 23604 crt.X__builtin_abort(tls) 23605 return i32(0) 23606 }() 23607 }() 23608 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = uint8(i32(0)) 23609 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(0)) 23610 _8: 23611 _7: 23612 func() int32 { 23613 if ((_pPager.X26) == i32(0)) || ((_pPager.X13) == 0) { 23614 return i32(0) 23615 } 23616 return func() int32 { 23617 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48732), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_unlockØ00__func__Ø000))), unsafe.Pointer(str(20664))) 23618 crt.X__builtin_abort(tls) 23619 return i32(0) 23620 }() 23621 }() 23622 if (_pPager.X26) == 0 { 23623 goto _21 23624 } 23625 23626 if int32(_pPager.X10) != i32(0) { 23627 goto _22 23628 } 23629 23630 _pager_reset(tls, _pPager) 23631 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = uint8(i32(0)) 23632 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(0)) 23633 goto _23 23634 23635 _22: 23636 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(func() int32 { 23637 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 23638 return i32(0) 23639 } 23640 return i32(1) 23641 }()) 23642 _23: 23643 if (_pPager.X20) == 0 { 23644 goto _26 23645 } 23646 23647 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) 23648 _26: 23649 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(44 /* X26 */))) = i32(0) 23650 _setGetterMethod(tls, _pPager) 23651 _21: 23652 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 23653 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(84 /* X35 */))) = int64(i32(0)) 23654 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(20 /* X17 */))) = uint8(i32(0)) 23655 return 23656 23657 } 23658 23659 var _pager_unlockØ00__func__Ø000 [13]int8 // - 23660 23661 func init() { 23662 crt.Xstrncpy(nil, &_pager_unlockØ00__func__Ø000[0], str(20704), 13) 23663 } 23664 23665 func _sqlite3WalEndReadTransaction(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:56964:1 23666 _sqlite3WalEndWriteTransaction(tls, _pWal) 23667 if int32(_pWal.X9) < i32(0) { 23668 goto _0 23669 } 23670 23671 _walUnlockShared(tls, _pWal, i32(3)+int32(_pWal.X9)) 23672 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(40 /* X9 */))) = int16(i32(-1)) 23673 _0: 23674 return 23675 23676 } 23677 23678 func _sqlite3Realloc(tls *crt.TLS, _pOld unsafe.Pointer, _nBytes uint64) (r0 unsafe.Pointer) { // sqlite3.c:24696:1 23679 var _nOld int32 // sqlite3.c:24697:7 23680 _ = _nOld 23681 var _nNew int32 // sqlite3.c:24697:13 23682 _ = _nNew 23683 var _nDiff int32 // sqlite3.c:24697:19 23684 _ = _nDiff 23685 var _pNew unsafe.Pointer // sqlite3.c:24698:8 23686 _ = _pNew 23687 i32(0) 23688 i32(0) 23689 if unsafe.Pointer(_pOld) != (unsafe.Pointer)(uintptr(i32(0))) { 23690 goto _0 23691 } 23692 23693 r0 = _sqlite3Malloc(tls, _nBytes) 23694 return 23695 23696 _0: 23697 if _nBytes != uint64(i32(0)) { 23698 goto _1 23699 } 23700 23701 Xsqlite3_free(tls, _pOld) 23702 r0 = (unsafe.Pointer)(uintptr(i32(0))) 23703 return 23704 23705 _1: 23706 if _nBytes < uint64(i32(2147483392)) { 23707 goto _2 23708 } 23709 23710 r0 = (unsafe.Pointer)(uintptr(i32(0))) 23711 return 23712 23713 _2: 23714 _nOld = _sqlite3MallocSize(tls, _pOld) 23715 _nNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X4)(tls, int32(_nBytes)) 23716 if _nOld != _nNew { 23717 goto _3 23718 } 23719 23720 _pNew = _pOld 23721 goto _4 23722 23723 _3: 23724 if (_sqlite3Config.X0) == 0 { 23725 goto _5 23726 } 23727 23728 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 23729 _sqlite3StatusHighwater(tls, i32(5), int32(_nBytes)) 23730 _nDiff = _nNew - _nOld 23731 if _nDiff <= i32(0) || _sqlite3StatusValue(tls, i32(0)) < ((_mem0.X1)-int64(_nDiff)) { 23732 goto _7 23733 } 23734 23735 _sqlite3MallocAlarm(tls, _nDiff) 23736 _7: 23737 _pNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X2)(tls, _pOld, _nNew) 23738 if unsafe.Pointer(_pNew) != (unsafe.Pointer)(uintptr(i32(0))) || (_mem0.X1) <= int64(i32(0)) { 23739 goto _9 23740 } 23741 23742 _sqlite3MallocAlarm(tls, int32(_nBytes)) 23743 _pNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X2)(tls, _pOld, _nNew) 23744 _9: 23745 if _pNew == nil { 23746 goto _10 23747 } 23748 23749 _nNew = _sqlite3MallocSize(tls, _pNew) 23750 _sqlite3StatusUp(tls, i32(0), _nNew-_nOld) 23751 _10: 23752 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 23753 goto _11 23754 23755 _5: 23756 _pNew = ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X2)(tls, _pOld, _nNew) 23757 _11: 23758 _4: 23759 func() int32 { 23760 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pNew))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 23761 return i32(0) 23762 } 23763 return func() int32 { 23764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24740), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReallocØ00__func__Ø000))), unsafe.Pointer(str(20720))) 23765 crt.X__builtin_abort(tls) 23766 return i32(0) 23767 }() 23768 }() 23769 r0 = _pNew 23770 return 23771 23772 } 23773 23774 var _sqlite3ReallocØ00__func__Ø000 [15]int8 // - 23775 23776 func init() { 23777 crt.Xstrncpy(nil, &_sqlite3ReallocØ00__func__Ø000[0], str(20748), 15) 23778 } 23779 23780 func _getOverflowPage(tls *crt.TLS, _pBt *XBtShared, _ovfl uint32, _ppPage **XMemPage, _pPgnoNext *uint32) (r0 int32) { // sqlite3.c:63357:1 23781 var _next uint32 // sqlite3.c:63363:8 23782 _ = _next 23783 var _pPage *XMemPage // sqlite3.c:63364:11 23784 _ = _pPage 23785 var _rc int32 // sqlite3.c:63365:7 23786 _ = _rc 23787 var _1_pgno uint32 // sqlite3.c:63378:10 23788 _ = _1_pgno 23789 var _1_iGuess uint32 // sqlite3.c:63379:10 23790 _ = _1_iGuess 23791 var _1_eType uint8 // sqlite3.c:63380:8 23792 _ = _1_eType 23793 _next = u32(0) 23794 _pPage = nil 23795 _rc = i32(0) 23796 func() int32 { 23797 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 23798 return i32(0) 23799 } 23800 return func() int32 { 23801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63367), unsafe.Pointer((*int8)(unsafe.Pointer(&_getOverflowPageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 23802 crt.X__builtin_abort(tls) 23803 return i32(0) 23804 }() 23805 }() 23806 func() int32 { 23807 if _pPgnoNext != nil { 23808 return i32(0) 23809 } 23810 return func() int32 { 23811 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63368), unsafe.Pointer((*int8)(unsafe.Pointer(&_getOverflowPageØ00__func__Ø000))), unsafe.Pointer(str(20764))) 23812 crt.X__builtin_abort(tls) 23813 return i32(0) 23814 }() 23815 }() 23816 if (_pBt.X5) == 0 { 23817 goto _4 23818 } 23819 23820 _1_iGuess = _ovfl + uint32(i32(1)) 23821 _5: 23822 if _ptrmapPageno(tls, _pBt, _1_iGuess) != _1_iGuess && _1_iGuess != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { 23823 goto _6 23824 } 23825 23826 _1_iGuess += 1 23827 goto _5 23828 23829 _6: 23830 if _1_iGuess > _btreePagecount(tls, _pBt) { 23831 goto _8 23832 } 23833 23834 _rc = _ptrmapGet(tls, _pBt, _1_iGuess, &_1_eType, &_1_pgno) 23835 if _rc != i32(0) || int32(_1_eType) != i32(4) || _1_pgno != _ovfl { 23836 goto _11 23837 } 23838 23839 _next = _1_iGuess 23840 _rc = i32(101) 23841 _11: 23842 _8: 23843 _4: 23844 func() int32 { 23845 if (_next == uint32(i32(0))) || (_rc == i32(101)) { 23846 return i32(0) 23847 } 23848 return func() int32 { 23849 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63396), unsafe.Pointer((*int8)(unsafe.Pointer(&_getOverflowPageØ00__func__Ø000))), unsafe.Pointer(str(20776))) 23850 crt.X__builtin_abort(tls) 23851 return i32(0) 23852 }() 23853 }() 23854 if _rc != i32(0) { 23855 goto _15 23856 } 23857 23858 _rc = _btreeGetPage(tls, _pBt, _ovfl, &_pPage, func() int32 { 23859 if _ppPage == (**XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 23860 return i32(2) 23861 } 23862 return i32(0) 23863 }()) 23864 func() int32 { 23865 if (_rc == i32(0)) || (_pPage == (*XMemPage)(unsafe.Pointer(uintptr(i32(0))))) { 23866 return i32(0) 23867 } 23868 return func() int32 { 23869 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63399), unsafe.Pointer((*int8)(unsafe.Pointer(&_getOverflowPageØ00__func__Ø000))), unsafe.Pointer(str(20804))) 23870 crt.X__builtin_abort(tls) 23871 return i32(0) 23872 }() 23873 }() 23874 if _rc != i32(0) { 23875 goto _21 23876 } 23877 23878 _next = _sqlite3Get4byte(tls, _pPage.X19) 23879 _21: 23880 _15: 23881 *_pPgnoNext = _next 23882 if _ppPage == nil { 23883 goto _22 23884 } 23885 23886 *_ppPage = _pPage 23887 goto _23 23888 23889 _22: 23890 _releasePage(tls, _pPage) 23891 _23: 23892 r0 = func() int32 { 23893 if _rc == i32(101) { 23894 return i32(0) 23895 } 23896 return _rc 23897 }() 23898 return 23899 23900 } 23901 23902 var _getOverflowPageØ00__func__Ø000 [16]int8 // - 23903 23904 func init() { 23905 crt.Xstrncpy(nil, &_getOverflowPageØ00__func__Ø000[0], str(20832), 16) 23906 } 23907 23908 func _ptrmapPageno(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 uint32) { // sqlite3.c:59857:1 23909 var _nPagesPerMapPage int32 // sqlite3.c:59858:7 23910 _ = _nPagesPerMapPage 23911 var _iPtrMap uint32 // sqlite3.c:59859:8 23912 _ = _iPtrMap 23913 var _ret uint32 // sqlite3.c:59859:17 23914 _ = _ret 23915 func() int32 { 23916 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 23917 return i32(0) 23918 } 23919 return func() int32 { 23920 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59860), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapPagenoØ00__func__Ø000))), unsafe.Pointer(str(9252))) 23921 crt.X__builtin_abort(tls) 23922 return i32(0) 23923 }() 23924 }() 23925 if _pgno >= uint32(i32(2)) { 23926 goto _2 23927 } 23928 23929 r0 = uint32(i32(0)) 23930 return 23931 23932 _2: 23933 _nPagesPerMapPage = int32(((_pBt.X16) / uint32(i32(5))) + uint32(i32(1))) 23934 _iPtrMap = (_pgno - uint32(i32(2))) / uint32(_nPagesPerMapPage) 23935 _ret = (_iPtrMap * uint32(_nPagesPerMapPage)) + uint32(i32(2)) 23936 if _ret != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 23937 goto _3 23938 } 23939 23940 _ret += 1 23941 _3: 23942 r0 = _ret 23943 return 23944 23945 } 23946 23947 var _ptrmapPagenoØ00__func__Ø000 [13]int8 // - 23948 23949 func init() { 23950 crt.Xstrncpy(nil, &_ptrmapPagenoØ00__func__Ø000[0], str(20848), 13) 23951 } 23952 23953 func _ptrmapGet(tls *crt.TLS, _pBt *XBtShared, _key uint32, _pEType *uint8, _pPgno *uint32) (r0 int32) { // sqlite3.c:59933:1 23954 var _pDbPage *XPgHdr // sqlite3.c:59934:10 23955 _ = _pDbPage 23956 var _iPtrmap int32 // sqlite3.c:59935:7 23957 _ = _iPtrmap 23958 var _pPtrmap *uint8 // sqlite3.c:59936:6 23959 _ = _pPtrmap 23960 var _offset int32 // sqlite3.c:59937:7 23961 _ = _offset 23962 var _rc int32 // sqlite3.c:59938:7 23963 _ = _rc 23964 func() int32 { 23965 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 23966 return i32(0) 23967 } 23968 return func() int32 { 23969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59940), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapGetØ00__func__Ø000))), unsafe.Pointer(str(9252))) 23970 crt.X__builtin_abort(tls) 23971 return i32(0) 23972 }() 23973 }() 23974 _iPtrmap = int32(_ptrmapPageno(tls, _pBt, _key)) 23975 _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), uint32(_iPtrmap), &_pDbPage, i32(0)) 23976 if _rc == i32(0) { 23977 goto _2 23978 } 23979 23980 r0 = _rc 23981 return 23982 23983 _2: 23984 _pPtrmap = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) 23985 _offset = int32(uint32(i32(5)) * ((_key - uint32(_iPtrmap)) - uint32(i32(1)))) 23986 if _offset >= i32(0) { 23987 goto _3 23988 } 23989 23990 _sqlite3PagerUnref(tls, _pDbPage) 23991 r0 = _sqlite3CorruptError(tls, i32(59952)) 23992 return 23993 23994 _3: 23995 func() int32 { 23996 if _offset <= (int32(_pBt.X16) - i32(5)) { 23997 return i32(0) 23998 } 23999 return func() int32 { 24000 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59954), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapGetØ00__func__Ø000))), unsafe.Pointer(str(20864))) 24001 crt.X__builtin_abort(tls) 24002 return i32(0) 24003 }() 24004 }() 24005 func() int32 { 24006 if _pEType != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 24007 return i32(0) 24008 } 24009 return func() int32 { 24010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59955), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapGetØ00__func__Ø000))), unsafe.Pointer(str(20900))) 24011 crt.X__builtin_abort(tls) 24012 return i32(0) 24013 }() 24014 }() 24015 *_pEType = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap)) + 1*uintptr(_offset))) 24016 if _pPgno == nil { 24017 goto _8 24018 } 24019 24020 *_pPgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap))+1*uintptr(_offset+i32(1))))) 24021 _8: 24022 _sqlite3PagerUnref(tls, _pDbPage) 24023 if int32(*_pEType) >= i32(1) && int32(*_pEType) <= i32(5) { 24024 goto _10 24025 } 24026 24027 r0 = _sqlite3CorruptError(tls, i32(59960)) 24028 return 24029 24030 _10: 24031 r0 = i32(0) 24032 return 24033 24034 } 24035 24036 var _ptrmapGetØ00__func__Ø000 [10]int8 // - 24037 24038 func init() { 24039 crt.Xstrncpy(nil, &_ptrmapGetØ00__func__Ø000[0], str(20912), 10) 24040 } 24041 24042 func _btreeGetPage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _ppPage **XMemPage, _flags int32) (r0 int32) { // sqlite3.c:60937:1 24043 var _rc int32 // sqlite3.c:60943:7 24044 _ = _rc 24045 var _pDbPage *XPgHdr // sqlite3.c:60944:10 24046 _ = _pDbPage 24047 func() int32 { 24048 if ((_flags == i32(0)) || (_flags == i32(1))) || (_flags == i32(2)) { 24049 return i32(0) 24050 } 24051 return func() int32 { 24052 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60946), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeGetPageØ00__func__Ø000))), unsafe.Pointer(str(20924))) 24053 crt.X__builtin_abort(tls) 24054 return i32(0) 24055 }() 24056 }() 24057 func() int32 { 24058 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 24059 return i32(0) 24060 } 24061 return func() int32 { 24062 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60947), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeGetPageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 24063 crt.X__builtin_abort(tls) 24064 return i32(0) 24065 }() 24066 }() 24067 _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgno, &_pDbPage, _flags) 24068 if _rc == 0 { 24069 goto _6 24070 } 24071 24072 r0 = _rc 24073 return 24074 24075 _6: 24076 *_ppPage = _btreePageFromDbPage(tls, _pDbPage, _pgno, _pBt) 24077 r0 = i32(0) 24078 return 24079 24080 } 24081 24082 var _btreeGetPageØ00__func__Ø000 [13]int8 // - 24083 24084 func init() { 24085 crt.Xstrncpy(nil, &_btreeGetPageØ00__func__Ø000[0], str(20992), 13) 24086 } 24087 24088 func _btreePageFromDbPage(tls *crt.TLS, _pDbPage *XPgHdr, _pgno uint32, _pBt *XBtShared) (r0 *XMemPage) { // sqlite3.c:60913:1 24089 var _pPage *XMemPage // sqlite3.c:60914:11 24090 _ = _pPage 24091 _pPage = (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, _pDbPage))) 24092 if _pgno == (_pPage.X4) { 24093 goto _0 24094 } 24095 24096 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(56 /* X19 */))) = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) 24097 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(72 /* X23 */))))) = _pDbPage 24098 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(52 /* X18 */))))) = _pBt 24099 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(4 /* X4 */))) = _pgno 24100 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(9 /* X6 */))) = uint8(func() int32 { 24101 if _pgno == uint32(i32(1)) { 24102 return i32(100) 24103 } 24104 return i32(0) 24105 }()) 24106 _0: 24107 func() int32 { 24108 if (_pPage.X19) == (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) { 24109 return i32(0) 24110 } 24111 return func() int32 { 24112 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60922), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePageFromDbPageØ00__func__Ø000))), unsafe.Pointer(str(21008))) 24113 crt.X__builtin_abort(tls) 24114 return i32(0) 24115 }() 24116 }() 24117 r0 = _pPage 24118 return 24119 24120 } 24121 24122 var _btreePageFromDbPageØ00__func__Ø000 [20]int8 // - 24123 24124 func init() { 24125 crt.Xstrncpy(nil, &_btreePageFromDbPageØ00__func__Ø000[0], str(21052), 20) 24126 } 24127 24128 func _releasePage(tls *crt.TLS, _pPage *XMemPage) { // sqlite3.c:61058:1 24129 if _pPage == nil { 24130 goto _0 24131 } 24132 24133 _releasePageNotNull(tls, _pPage) 24134 _0: 24135 return 24136 24137 } 24138 24139 func _releasePageNotNull(tls *crt.TLS, _pPage *XMemPage) { // sqlite3.c:61049:1 24140 func() int32 { 24141 if (_pPage.X19) != nil { 24142 return i32(0) 24143 } 24144 return func() int32 { 24145 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61050), unsafe.Pointer((*int8)(unsafe.Pointer(&_releasePageNotNullØ00__func__Ø000))), unsafe.Pointer(str(21072))) 24146 crt.X__builtin_abort(tls) 24147 return i32(0) 24148 }() 24149 }() 24150 func() int32 { 24151 if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != nil { 24152 return i32(0) 24153 } 24154 return func() int32 { 24155 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61051), unsafe.Pointer((*int8)(unsafe.Pointer(&_releasePageNotNullØ00__func__Ø000))), unsafe.Pointer(str(21088))) 24156 crt.X__builtin_abort(tls) 24157 return i32(0) 24158 }() 24159 }() 24160 func() int32 { 24161 if (*XPgHdr)(unsafe.Pointer(_pPage.X23)) != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 24162 return i32(0) 24163 } 24164 return func() int32 { 24165 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61052), unsafe.Pointer((*int8)(unsafe.Pointer(&_releasePageNotNullØ00__func__Ø000))), unsafe.Pointer(str(21100))) 24166 crt.X__builtin_abort(tls) 24167 return i32(0) 24168 }() 24169 }() 24170 func() int32 { 24171 if unsafe.Pointer(_sqlite3PagerGetExtra(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_pPage) { 24172 return i32(0) 24173 } 24174 return func() int32 { 24175 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61053), unsafe.Pointer((*int8)(unsafe.Pointer(&_releasePageNotNullØ00__func__Ø000))), unsafe.Pointer(str(21120))) 24176 crt.X__builtin_abort(tls) 24177 return i32(0) 24178 }() 24179 }() 24180 func() int32 { 24181 if unsafe.Pointer(_sqlite3PagerGetData(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_pPage.X19) { 24182 return i32(0) 24183 } 24184 return func() int32 { 24185 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61054), unsafe.Pointer((*int8)(unsafe.Pointer(&_releasePageNotNullØ00__func__Ø000))), unsafe.Pointer(str(21176))) 24186 crt.X__builtin_abort(tls) 24187 return i32(0) 24188 }() 24189 }() 24190 func() int32 { 24191 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 24192 return i32(0) 24193 } 24194 return func() int32 { 24195 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61055), unsafe.Pointer((*int8)(unsafe.Pointer(&_releasePageNotNullØ00__func__Ø000))), unsafe.Pointer(str(21228))) 24196 crt.X__builtin_abort(tls) 24197 return i32(0) 24198 }() 24199 }() 24200 _sqlite3PagerUnrefNotNull(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 24201 return 24202 24203 } 24204 24205 var _releasePageNotNullØ00__func__Ø000 [19]int8 // - 24206 24207 func init() { 24208 crt.Xstrncpy(nil, &_releasePageNotNullØ00__func__Ø000[0], str(21268), 19) 24209 } 24210 24211 func _btreeReleaseAllCursorPages(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:59556:1 24212 var _i int32 // sqlite3.c:59557:7 24213 _ = _i 24214 _i = i32(0) 24215 _0: 24216 if _i > int32(_pCur.X14) { 24217 goto _3 24218 } 24219 24220 _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_i)))) 24221 *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_i))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 24222 _i += 1 24223 goto _0 24224 24225 _3: 24226 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) = int8(i32(-1)) 24227 return 24228 24229 } 24230 24231 func _sqlite3BtreeTripAllCursors(tls *crt.TLS, _pBtree *XBtree, _errCode int32, _writeOnly int32) (r0 int32) { // sqlite3.c:62912:1 24232 var _p *XBtCursor // sqlite3.c:62913:12 24233 _ = _p 24234 var _rc int32 // sqlite3.c:62914:7 24235 _ = _rc 24236 var _2_i int32 // sqlite3.c:62920:11 24237 _ = _2_i 24238 _rc = i32(0) 24239 func() int32 { 24240 if ((_writeOnly == i32(0)) || (_writeOnly == i32(1))) && i32(1) != 0 { 24241 return i32(0) 24242 } 24243 return func() int32 { 24244 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62916), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeTripAllCursorsØ00__func__Ø000))), unsafe.Pointer(str(21288))) 24245 crt.X__builtin_abort(tls) 24246 return i32(0) 24247 }() 24248 }() 24249 if _pBtree == nil { 24250 goto _4 24251 } 24252 24253 _sqlite3BtreeEnter(tls, _pBtree) 24254 _p = (*XBtCursor)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X2)) 24255 _5: 24256 if _p == nil { 24257 goto _8 24258 } 24259 24260 if _writeOnly == 0 || (int32(_p.X10)&i32(1)) != i32(0) { 24261 goto _10 24262 } 24263 24264 if int32(_p.X12) != i32(1) && int32(_p.X12) != i32(2) { 24265 goto _12 24266 } 24267 24268 _rc = _saveCursorPosition(tls, _p) 24269 if _rc == i32(0) { 24270 goto _13 24271 } 24272 24273 _sqlite3BtreeTripAllCursors(tls, _pBtree, _rc, i32(0)) 24274 goto _8 24275 24276 _13: 24277 _12: 24278 goto _14 24279 24280 _10: 24281 _sqlite3BtreeClearCursor(tls, _p) 24282 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(62 /* X12 */))) = uint8(i32(4)) 24283 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X9 */))) = _errCode 24284 _14: 24285 _2_i = i32(0) 24286 _15: 24287 if _2_i > int32(_p.X14) { 24288 goto _18 24289 } 24290 24291 _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(116 /* X19 */))))) + 4*uintptr(_2_i)))) 24292 *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(116 /* X19 */))))) + 4*uintptr(_2_i))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 24293 _2_i += 1 24294 goto _15 24295 24296 _18: 24297 _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) 24298 goto _5 24299 24300 _8: 24301 _sqlite3BtreeLeave(tls, _pBtree) 24302 _4: 24303 r0 = _rc 24304 return 24305 24306 } 24307 24308 var _sqlite3BtreeTripAllCursorsØ00__func__Ø000 [27]int8 // - 24309 24310 func init() { 24311 crt.Xstrncpy(nil, &_sqlite3BtreeTripAllCursorsØ00__func__Ø000[0], str(21340), 27) 24312 } 24313 24314 func _sqlite3BtreeClearCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:59703:1 24315 func() int32 { 24316 if _cursorHoldsMutex(tls, _pCur) != 0 { 24317 return i32(0) 24318 } 24319 return func() int32 { 24320 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59704), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeClearCursorØ00__func__Ø000))), unsafe.Pointer(str(10380))) 24321 crt.X__builtin_abort(tls) 24322 return i32(0) 24323 }() 24324 }() 24325 Xsqlite3_free(tls, _pCur.X6) 24326 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(44 /* X6 */))) = (unsafe.Pointer)(uintptr(i32(0))) 24327 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 24328 return 24329 24330 } 24331 24332 var _sqlite3BtreeClearCursorØ00__func__Ø000 [24]int8 // - 24333 24334 func init() { 24335 crt.Xstrncpy(nil, &_sqlite3BtreeClearCursorØ00__func__Ø000[0], str(21368), 24) 24336 } 24337 24338 func _sqlite3PagerPagecount(tls *crt.TLS, _pPager *XPager, _pnPage *int32) { // sqlite3.c:50719:1 24339 func() int32 { 24340 if int32(_pPager.X14) >= i32(1) { 24341 return i32(0) 24342 } 24343 return func() int32 { 24344 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50720), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(18820))) 24345 crt.X__builtin_abort(tls) 24346 return i32(0) 24347 }() 24348 }() 24349 func() int32 { 24350 if int32(_pPager.X14) != i32(5) { 24351 return i32(0) 24352 } 24353 return func() int32 { 24354 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50721), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(21392))) 24355 crt.X__builtin_abort(tls) 24356 return i32(0) 24357 }() 24358 }() 24359 *_pnPage = int32(_pPager.X22) 24360 return 24361 24362 } 24363 24364 var _sqlite3PagerPagecountØ00__func__Ø000 [22]int8 // - 24365 24366 func init() { 24367 crt.Xstrncpy(nil, &_sqlite3PagerPagecountØ00__func__Ø000[0], str(21432), 22) 24368 } 24369 24370 func _countValidCursors(tls *crt.TLS, _pBt *XBtShared, _wrOnly int32) (r0 int32) { // sqlite3.c:62041:1 24371 var _pCur *XBtCursor // sqlite3.c:62042:12 24372 _ = _pCur 24373 var _r int32 // sqlite3.c:62043:7 24374 _ = _r 24375 _r = i32(0) 24376 _pCur = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) 24377 _0: 24378 if _pCur == nil { 24379 goto _3 24380 } 24381 24382 if _wrOnly != i32(0) && (int32(_pCur.X10)&i32(1)) == i32(0) || int32(_pCur.X12) == i32(4) { 24383 goto _6 24384 } 24385 24386 _r += 1 24387 _6: 24388 _pCur = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) 24389 goto _0 24390 24391 _3: 24392 r0 = _r 24393 return 24394 24395 } 24396 24397 func _btreeClearHasContent(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:59548:1 24398 _sqlite3BitvecDestroy(tls, (*XBitvec)(unsafe.Pointer(_pBt.X22))) 24399 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X22 */))))) = (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) 24400 return 24401 24402 } 24403 24404 func _btreeEndTransaction(tls *crt.TLS, _p *XBtree) { // sqlite3.c:62781:1 24405 var _pBt *XBtShared // sqlite3.c:62782:12 24406 _ = _pBt 24407 var _db *Xsqlite3 // sqlite3.c:62783:11 24408 _ = _db 24409 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 24410 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 24411 func() int32 { 24412 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 24413 return i32(0) 24414 } 24415 return func() int32 { 24416 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62784), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeEndTransactionØ00__func__Ø000))), unsafe.Pointer(str(17984))) 24417 crt.X__builtin_abort(tls) 24418 return i32(0) 24419 }() 24420 }() 24421 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(19 /* X7 */))) = uint8(i32(0)) 24422 if int32(_p.X2) <= i32(0) || (_db.X35) <= i32(1) { 24423 goto _3 24424 } 24425 24426 _downgradeAllSharedCacheTableLocks(tls, _p) 24427 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint8(i32(1)) 24428 goto _4 24429 24430 _3: 24431 if int32(_p.X2) == i32(0) { 24432 goto _5 24433 } 24434 24435 _clearAllSharedCacheTableLocks(tls, _p) 24436 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(40 /* X17 */))) -= 1 24437 if i32(0) != (_pBt.X17) { 24438 goto _6 24439 } 24440 24441 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(20 /* X8 */))) = uint8(i32(0)) 24442 _6: 24443 _5: 24444 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint8(i32(0)) 24445 _unlockBtreeIfUnused(tls, _pBt) 24446 _4: 24447 func() int32 { 24448 if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { 24449 return i32(0) 24450 } 24451 return func() int32 { 24452 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62814), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeEndTransactionØ00__func__Ø000))), unsafe.Pointer(str(10068))) 24453 crt.X__builtin_abort(tls) 24454 return i32(0) 24455 }() 24456 }() 24457 func() int32 { 24458 if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { 24459 return i32(0) 24460 } 24461 return func() int32 { 24462 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62814), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeEndTransactionØ00__func__Ø000))), unsafe.Pointer(str(10132))) 24463 crt.X__builtin_abort(tls) 24464 return i32(0) 24465 }() 24466 }() 24467 return 24468 24469 } 24470 24471 var _btreeEndTransactionØ00__func__Ø000 [20]int8 // - 24472 24473 func init() { 24474 crt.Xstrncpy(nil, &_btreeEndTransactionØ00__func__Ø000[0], str(21456), 20) 24475 } 24476 24477 func _downgradeAllSharedCacheTableLocks(tls *crt.TLS, _p *XBtree) { // sqlite3.c:59385:1 24478 var _pBt *XBtShared // sqlite3.c:59386:12 24479 _ = _pBt 24480 var _1_pLock *XBtLock // sqlite3.c:59388:12 24481 _ = _1_pLock 24482 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 24483 if (*XBtree)(unsafe.Pointer(_pBt.X26)) != _p { 24484 goto _0 24485 } 24486 24487 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(76 /* X26 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 24488 { 24489 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 24490 *p = uint16(int32(*p) & i32(-97)) 24491 sink6908 = *p 24492 } 24493 _1_pLock = (*XBtLock)(unsafe.Pointer(_pBt.X25)) 24494 _1: 24495 if _1_pLock == nil { 24496 goto _4 24497 } 24498 24499 func() int32 { 24500 if (int32(_1_pLock.X2) == i32(1)) || ((*XBtree)(unsafe.Pointer(_1_pLock.X0)) == _p) { 24501 return i32(0) 24502 } 24503 return func() int32 { 24504 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59392), unsafe.Pointer((*int8)(unsafe.Pointer(&_downgradeAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21476))) 24505 crt.X__builtin_abort(tls) 24506 return i32(0) 24507 }() 24508 }() 24509 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLock)) + uintptr(8 /* X2 */))) = uint8(i32(1)) 24510 _1_pLock = (*XBtLock)(unsafe.Pointer(_1_pLock.X3)) 24511 goto _1 24512 24513 _4: 24514 _0: 24515 return 24516 24517 } 24518 24519 var _downgradeAllSharedCacheTableLocksØ00__func__Ø000 [34]int8 // - 24520 24521 func init() { 24522 crt.Xstrncpy(nil, &_downgradeAllSharedCacheTableLocksØ00__func__Ø000[0], str(21520), 34) 24523 } 24524 24525 func _clearAllSharedCacheTableLocks(tls *crt.TLS, _p *XBtree) { // sqlite3.c:59341:1 24526 var _pBt *XBtShared // sqlite3.c:59342:12 24527 _ = _pBt 24528 var _ppIter **XBtLock // sqlite3.c:59343:10 24529 _ = _ppIter 24530 var _1_pLock *XBtLock // sqlite3.c:59350:12 24531 _ = _1_pLock 24532 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 24533 _ppIter = (**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(72 /* X25 */))))) 24534 func() int32 { 24535 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 24536 return i32(0) 24537 } 24538 return func() int32 { 24539 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59345), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(17984))) 24540 crt.X__builtin_abort(tls) 24541 return i32(0) 24542 }() 24543 }() 24544 func() int32 { 24545 if ((_p.X3) != 0) || ((*XBtLock)(unsafe.Pointer(uintptr(i32(0)))) == (*_ppIter)) { 24546 return i32(0) 24547 } 24548 return func() int32 { 24549 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59346), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21556))) 24550 crt.X__builtin_abort(tls) 24551 return i32(0) 24552 }() 24553 }() 24554 func() int32 { 24555 if int32(_p.X2) > i32(0) { 24556 return i32(0) 24557 } 24558 return func() int32 { 24559 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59347), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21584))) 24560 crt.X__builtin_abort(tls) 24561 return i32(0) 24562 }() 24563 }() 24564 _7: 24565 if (*_ppIter) == nil { 24566 goto _8 24567 } 24568 24569 _1_pLock = *_ppIter 24570 func() int32 { 24571 if ((int32(_pBt.X10) & i32(32)) == i32(0)) || ((*XBtree)(unsafe.Pointer(_pBt.X26)) == (*XBtree)(unsafe.Pointer(_1_pLock.X0))) { 24572 return i32(0) 24573 } 24574 return func() int32 { 24575 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59351), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21600))) 24576 crt.X__builtin_abort(tls) 24577 return i32(0) 24578 }() 24579 }() 24580 func() int32 { 24581 if int32((*XBtree)(unsafe.Pointer(_1_pLock.X0)).X2) >= int32(_1_pLock.X2) { 24582 return i32(0) 24583 } 24584 return func() int32 { 24585 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59352), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21668))) 24586 crt.X__builtin_abort(tls) 24587 return i32(0) 24588 }() 24589 }() 24590 if (*XBtree)(unsafe.Pointer(_1_pLock.X0)) != _p { 24591 goto _14 24592 } 24593 24594 *_ppIter = (*XBtLock)(unsafe.Pointer(_1_pLock.X3)) 24595 func() int32 { 24596 if ((_1_pLock.X1) != uint32(i32(1))) || (_1_pLock == (*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X11 */)))) { 24597 return i32(0) 24598 } 24599 return func() int32 { 24600 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59355), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21708))) 24601 crt.X__builtin_abort(tls) 24602 return i32(0) 24603 }() 24604 }() 24605 if (_1_pLock.X1) == uint32(i32(1)) { 24606 goto _18 24607 } 24608 24609 Xsqlite3_free(tls, (unsafe.Pointer)(_1_pLock)) 24610 _18: 24611 goto _19 24612 24613 _14: 24614 _ppIter = (**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLock)) + uintptr(12 /* X3 */))))) 24615 _19: 24616 goto _7 24617 24618 _8: 24619 func() int32 { 24620 if ((int32(_pBt.X10) & i32(64)) == i32(0)) || ((*XBtree)(unsafe.Pointer(_pBt.X26)) != nil) { 24621 return i32(0) 24622 } 24623 return func() int32 { 24624 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59364), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearAllSharedCacheTableLocksØ00__func__Ø000))), unsafe.Pointer(str(21744))) 24625 crt.X__builtin_abort(tls) 24626 return i32(0) 24627 }() 24628 }() 24629 if (*XBtree)(unsafe.Pointer(_pBt.X26)) != _p { 24630 goto _23 24631 } 24632 24633 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(76 /* X26 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 24634 { 24635 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 24636 *p = uint16(int32(*p) & i32(-97)) 24637 sink6908 = *p 24638 } 24639 goto _24 24640 24641 _23: 24642 if (_pBt.X17) != i32(2) { 24643 goto _25 24644 } 24645 24646 { 24647 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 24648 *p = uint16(int32(*p) & i32(-65)) 24649 sink6908 = *p 24650 } 24651 _25: 24652 _24: 24653 return 24654 24655 } 24656 24657 var _clearAllSharedCacheTableLocksØ00__func__Ø000 [30]int8 // - 24658 24659 func init() { 24660 crt.Xstrncpy(nil, &_clearAllSharedCacheTableLocksØ00__func__Ø000[0], str(21796), 30) 24661 } 24662 24663 func _unlockBtreeIfUnused(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:62060:1 24664 var _1_pPage1 *XMemPage // sqlite3.c:62064:13 24665 _ = _1_pPage1 24666 func() int32 { 24667 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 24668 return i32(0) 24669 } 24670 return func() int32 { 24671 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62061), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeIfUnusedØ00__func__Ø000))), unsafe.Pointer(str(9252))) 24672 crt.X__builtin_abort(tls) 24673 return i32(0) 24674 }() 24675 }() 24676 func() int32 { 24677 if (_countValidCursors(tls, _pBt, i32(0)) == i32(0)) || (int32(_pBt.X8) > i32(0)) { 24678 return i32(0) 24679 } 24680 return func() int32 { 24681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62062), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeIfUnusedØ00__func__Ø000))), unsafe.Pointer(str(21828))) 24682 crt.X__builtin_abort(tls) 24683 return i32(0) 24684 }() 24685 }() 24686 if int32(_pBt.X8) != i32(0) || (*XMemPage)(unsafe.Pointer(_pBt.X3)) == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 24687 goto _6 24688 } 24689 24690 _1_pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) 24691 func() int32 { 24692 if (_1_pPage1.X19) != nil { 24693 return i32(0) 24694 } 24695 return func() int32 { 24696 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62065), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeIfUnusedØ00__func__Ø000))), unsafe.Pointer(str(21892))) 24697 crt.X__builtin_abort(tls) 24698 return i32(0) 24699 }() 24700 }() 24701 func() int32 { 24702 if _sqlite3PagerRefcount(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) == i32(1) { 24703 return i32(0) 24704 } 24705 return func() int32 { 24706 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62066), unsafe.Pointer((*int8)(unsafe.Pointer(&_unlockBtreeIfUnusedØ00__func__Ø000))), unsafe.Pointer(str(21908))) 24707 crt.X__builtin_abort(tls) 24708 return i32(0) 24709 }() 24710 }() 24711 *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(12 /* X3 */))))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 24712 _releasePageNotNull(tls, _1_pPage1) 24713 _6: 24714 return 24715 24716 } 24717 24718 var _unlockBtreeIfUnusedØ00__func__Ø000 [20]int8 // - 24719 24720 func init() { 24721 crt.Xstrncpy(nil, &_unlockBtreeIfUnusedØ00__func__Ø000[0], str(21948), 20) 24722 } 24723 24724 func _sqlite3PagerRefcount(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53446:1 24725 r0 = _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 24726 return 24727 24728 } 24729 24730 func _sqlite3ResetAllSchemasOfConnection(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:99996:1 24731 var _i int32 // sqlite3.c:99997:7 24732 _ = _i 24733 var _1_pDb *XDb // sqlite3.c:100000:8 24734 _ = _1_pDb 24735 _sqlite3BtreeEnterAll(tls, _db) 24736 _i = i32(0) 24737 _0: 24738 if _i >= (_db.X5) { 24739 goto _3 24740 } 24741 24742 _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))) 24743 if (*XSchema)(unsafe.Pointer(_1_pDb.X4)) == nil { 24744 goto _4 24745 } 24746 24747 _sqlite3SchemaClear(tls, _1_pDb.X4) 24748 _4: 24749 _i += 1 24750 goto _0 24751 24752 _3: 24753 { 24754 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 24755 *p = (*p) & i32(-3) 24756 sink961 = *p 24757 } 24758 _sqlite3VtabUnlockList(tls, _db) 24759 _sqlite3BtreeLeaveAll(tls, _db) 24760 _sqlite3CollapseDatabaseArray(tls, _db) 24761 return 24762 24763 } 24764 24765 func _sqlite3SchemaClear(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:104336:1 24766 var _temp1 XHash // sqlite3.c:104337:8 24767 _ = _temp1 24768 var _temp2 XHash // sqlite3.c:104338:8 24769 _ = _temp2 24770 var _pElem *XHashElem // sqlite3.c:104339:12 24771 _ = _pElem 24772 var _pSchema *XSchema // sqlite3.c:104340:10 24773 _ = _pSchema 24774 var _2_pTab *XTable // sqlite3.c:104352:11 24775 _ = _2_pTab 24776 _pSchema = (*XSchema)(unsafe.Pointer(_p)) 24777 _temp1 = _pSchema.X2 24778 _temp2 = _pSchema.X4 24779 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(40 /* X4 */)))) 24780 _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(24 /* X3 */)))) 24781 _pElem = (*XHashElem)(unsafe.Pointer(_temp2.X2)) 24782 _0: 24783 if _pElem == nil { 24784 goto _3 24785 } 24786 24787 _sqlite3DeleteTrigger(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*XTrigger)(unsafe.Pointer(_pElem.X2))) 24788 _pElem = (*XHashElem)(unsafe.Pointer(_pElem.X0)) 24789 goto _0 24790 24791 _3: 24792 _sqlite3HashClear(tls, &_temp2) 24793 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(8 /* X2 */)))) 24794 _pElem = (*XHashElem)(unsafe.Pointer(_temp1.X2)) 24795 _4: 24796 if _pElem == nil { 24797 goto _7 24798 } 24799 24800 _2_pTab = (*XTable)(unsafe.Pointer(_pElem.X2)) 24801 _sqlite3DeleteTable(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _2_pTab) 24802 _pElem = (*XHashElem)(unsafe.Pointer(_pElem.X0)) 24803 goto _4 24804 24805 _7: 24806 _sqlite3HashClear(tls, &_temp1) 24807 _sqlite3HashClear(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema))+uintptr(56 /* X5 */)))) 24808 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(72 /* X6 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 24809 if (int32(_pSchema.X9) & i32(1)) == 0 { 24810 goto _8 24811 } 24812 24813 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(4 /* X1 */))) += 1 24814 { 24815 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(78 /* X9 */))) 24816 *p = uint16(int32(*p) & i32(-2)) 24817 sink6908 = *p 24818 } 24819 _8: 24820 return 24821 24822 } 24823 24824 func _sqlite3HashInit(tls *crt.TLS, _pNew *XHash) { // sqlite3.c:29206:1 24825 func() int32 { 24826 if _pNew != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { 24827 return i32(0) 24828 } 24829 return func() int32 { 24830 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29207), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashInitØ00__func__Ø000))), unsafe.Pointer(str(21968))) 24831 crt.X__builtin_abort(tls) 24832 return i32(0) 24833 }() 24834 }() 24835 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 24836 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = uint32(i32(0)) 24837 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = uint32(i32(0)) 24838 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X3 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 24839 return 24840 24841 } 24842 24843 var _sqlite3HashInitØ00__func__Ø000 [16]int8 // - 24844 24845 func init() { 24846 crt.Xstrncpy(nil, &_sqlite3HashInitØ00__func__Ø000[0], str(21976), 16) 24847 } 24848 24849 func _sqlite3HashClear(tls *crt.TLS, _pH *XHash) { // sqlite3.c:29218:1 24850 var _elem *XHashElem // sqlite3.c:29219:12 24851 _ = _elem 24852 var _1_next_elem *XHashElem // sqlite3.c:29228:14 24853 _ = _1_next_elem 24854 func() int32 { 24855 if _pH != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { 24856 return i32(0) 24857 } 24858 return func() int32 { 24859 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29221), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashClearØ00__func__Ø000))), unsafe.Pointer(str(21992))) 24860 crt.X__builtin_abort(tls) 24861 return i32(0) 24862 }() 24863 }() 24864 _elem = (*XHashElem)(unsafe.Pointer(_pH.X2)) 24865 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 24866 Xsqlite3_free(tls, _pH.X3) 24867 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(12 /* X3 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 24868 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(0 /* X0 */))) = uint32(i32(0)) 24869 _2: 24870 if _elem == nil { 24871 goto _3 24872 } 24873 24874 _1_next_elem = (*XHashElem)(unsafe.Pointer(_elem.X0)) 24875 Xsqlite3_free(tls, (unsafe.Pointer)(_elem)) 24876 _elem = _1_next_elem 24877 goto _2 24878 24879 _3: 24880 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(4 /* X1 */))) = uint32(i32(0)) 24881 return 24882 24883 } 24884 24885 var _sqlite3HashClearØ00__func__Ø000 [17]int8 // - 24886 24887 func init() { 24888 crt.Xstrncpy(nil, &_sqlite3HashClearØ00__func__Ø000[0], str(22000), 17) 24889 } 24890 24891 func _sqlite3DeleteTrigger(tls *crt.TLS, _db *Xsqlite3, _pTrigger *XTrigger) { // sqlite3.c:122646:1 24892 if _pTrigger != (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { 24893 goto _0 24894 } 24895 24896 return 24897 24898 _0: 24899 _sqlite3DeleteTriggerStep(tls, _db, (*XTriggerStep)(unsafe.Pointer(_pTrigger.X8))) 24900 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTrigger.X0)) 24901 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTrigger.X1)) 24902 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pTrigger.X4))) 24903 _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer(_pTrigger.X5))) 24904 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTrigger)) 24905 return 24906 24907 } 24908 24909 func _sqlite3DeleteTriggerStep(tls *crt.TLS, _db *Xsqlite3, _pTriggerStep *XTriggerStep) { // sqlite3.c:122201:1 24910 var _1_pTmp *XTriggerStep // sqlite3.c:122203:17 24911 _ = _1_pTmp 24912 _0: 24913 if _pTriggerStep == nil { 24914 goto _1 24915 } 24916 24917 _1_pTmp = _pTriggerStep 24918 _pTriggerStep = (*XTriggerStep)(unsafe.Pointer(_pTriggerStep.X8)) 24919 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_1_pTmp.X5))) 24920 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_1_pTmp.X6))) 24921 _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_1_pTmp.X3))) 24922 _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer(_1_pTmp.X7))) 24923 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pTmp)) 24924 goto _0 24925 24926 _1: 24927 return 24928 24929 } 24930 24931 func _sqlite3ExprDelete(tls *crt.TLS, _db *Xsqlite3, _p *XExpr) { // sqlite3.c:91778:1 24932 if _p == nil { 24933 goto _0 24934 } 24935 24936 _sqlite3ExprDeleteNN(tls, _db, _p) 24937 _0: 24938 return 24939 24940 } 24941 24942 func _sqlite3ExprDeleteNN(tls *crt.TLS, _db *Xsqlite3, _p *XExpr) { // sqlite3.c:91751:1 24943 func() int32 { 24944 if _p != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 24945 return i32(0) 24946 } 24947 return func() int32 { 24948 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91752), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(824))) 24949 crt.X__builtin_abort(tls) 24950 return i32(0) 24951 }() 24952 }() 24953 func() int32 { 24954 if (((_p.X2) & uint32(i32(1024))) == uint32(i32(0))) || ((*(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) >= i32(0)) { 24955 return i32(0) 24956 } 24957 return func() int32 { 24958 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91754), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(22020))) 24959 crt.X__builtin_abort(tls) 24960 return i32(0) 24961 }() 24962 }() 24963 if ((_p.X2)&uint32(i32(8388608))) == uint32(i32(0)) || ((_p.X2)&uint32(i32(16384))) != uint32(i32(0)) { 24964 goto _6 24965 } 24966 24967 func() int32 { 24968 if (*XExpr)(unsafe.Pointer(_p.X4)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 24969 return i32(0) 24970 } 24971 return func() int32 { 24972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91757), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(22072))) 24973 crt.X__builtin_abort(tls) 24974 return i32(0) 24975 }() 24976 }() 24977 func() int32 { 24978 if (*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 24979 return i32(0) 24980 } 24981 return func() int32 { 24982 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91758), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(22084))) 24983 crt.X__builtin_abort(tls) 24984 return i32(0) 24985 }() 24986 }() 24987 func() int32 { 24988 if (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 24989 return i32(0) 24990 } 24991 return func() int32 { 24992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91759), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(22100))) 24993 crt.X__builtin_abort(tls) 24994 return i32(0) 24995 }() 24996 }() 24997 _6: 24998 if ((_p.X2) & uint32(i32(8404992))) != uint32(i32(0)) { 24999 goto _13 25000 } 25001 25002 func() int32 { 25003 if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 25004 return i32(0) 25005 } 25006 return func() int32 { 25007 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91764), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(22116))) 25008 crt.X__builtin_abort(tls) 25009 return i32(0) 25010 }() 25011 }() 25012 if (*XExpr)(unsafe.Pointer(_p.X4)) == nil || int32(_p.X0) == i32(159) { 25013 goto _18 25014 } 25015 25016 _sqlite3ExprDeleteNN(tls, _db, (*XExpr)(unsafe.Pointer(_p.X4))) 25017 _18: 25018 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X5))) 25019 if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { 25020 goto _19 25021 } 25022 25023 _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */)))))))) 25024 goto _20 25025 25026 _19: 25027 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */)))))))) 25028 _20: 25029 _13: 25030 if ((_p.X2) & uint32(i32(65536))) == uint32(i32(0)) { 25031 goto _21 25032 } 25033 25034 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) 25035 _21: 25036 if ((_p.X2) & uint32(i32(32768))) != uint32(i32(0)) { 25037 goto _22 25038 } 25039 25040 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 25041 _22: 25042 return 25043 25044 } 25045 25046 var _sqlite3ExprDeleteNNØ00__func__Ø000 [20]int8 // - 25047 25048 func init() { 25049 crt.Xstrncpy(nil, &_sqlite3ExprDeleteNNØ00__func__Ø000[0], str(22148), 20) 25050 } 25051 25052 func _sqlite3SelectDelete(tls *crt.TLS, _db *Xsqlite3, _p *XSelect) { // sqlite3.c:116419:1 25053 if _p == nil { 25054 goto _0 25055 } 25056 25057 _clearSelect(tls, _db, _p, i32(1)) 25058 _0: 25059 return 25060 25061 } 25062 25063 func _clearSelect(tls *crt.TLS, _db *Xsqlite3, _p *XSelect, _bFree int32) { // sqlite3.c:116314:1 25064 var _1_pPrior *XSelect // sqlite3.c:116316:12 25065 _ = _1_pPrior 25066 _0: 25067 if _p == nil { 25068 goto _1 25069 } 25070 25071 _1_pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) 25072 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X0))) 25073 _sqlite3SrcListDelete(tls, _db, (*XSrcList)(unsafe.Pointer(_p.X8))) 25074 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X9))) 25075 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X10))) 25076 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X11))) 25077 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12))) 25078 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) 25079 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X16))) 25080 if (*XWith)(unsafe.Pointer(_p.X17)) == nil { 25081 goto _2 25082 } 25083 25084 _sqlite3WithDelete(tls, _db, (*XWith)(unsafe.Pointer(_p.X17))) 25085 _2: 25086 if _bFree == 0 { 25087 goto _3 25088 } 25089 25090 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 25091 _3: 25092 _p = _1_pPrior 25093 _bFree = i32(1) 25094 goto _0 25095 25096 _1: 25097 return 25098 25099 } 25100 25101 func _sqlite3ExprListDelete(tls *crt.TLS, _db *Xsqlite3, _pList *XExprList) { // sqlite3.c:92411:1 25102 if _pList == nil { 25103 goto _0 25104 } 25105 25106 _exprListDeleteNN(tls, _db, _pList) 25107 _0: 25108 return 25109 25110 } 25111 25112 func _exprListDeleteNN(tls *crt.TLS, _db *Xsqlite3, _pList *XExprList) { // sqlite3.c:92399:1 25113 var _i int32 // sqlite3.c:92400:7 25114 _ = _i 25115 var _pItem *T7850641 // sqlite3.c:92401:24 25116 _ = _pItem 25117 func() int32 { 25118 if ((*T7850641)(unsafe.Pointer(_pList.X1)) != (*T7850641)(unsafe.Pointer(uintptr(i32(0))))) || ((_pList.X0) == i32(0)) { 25119 return i32(0) 25120 } 25121 return func() int32 { 25122 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92402), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprListDeleteNNØ00__func__Ø000))), unsafe.Pointer(str(22168))) 25123 crt.X__builtin_abort(tls) 25124 return i32(0) 25125 }() 25126 }() 25127 *func() *int32 { _pItem = (*T7850641)(unsafe.Pointer(_pList.X1)); return &_i }() = i32(0) 25128 _3: 25129 if _i >= (_pList.X0) { 25130 goto _6 25131 } 25132 25133 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pItem.X0))) 25134 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X1)) 25135 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X2)) 25136 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 25137 goto _3 25138 25139 _6: 25140 _sqlite3DbFree(tls, _db, _pList.X1) 25141 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pList)) 25142 return 25143 25144 } 25145 25146 var _exprListDeleteNNØ00__func__Ø000 [17]int8 // - 25147 25148 func init() { 25149 crt.Xstrncpy(nil, &_exprListDeleteNNØ00__func__Ø000[0], str(22200), 17) 25150 } 25151 25152 func _sqlite3SrcListDelete(tls *crt.TLS, _db *Xsqlite3, _pList *XSrcList) { // sqlite3.c:103252:1 25153 var _i int32 // sqlite3.c:103253:7 25154 _ = _i 25155 var _pItem *T7840217 // sqlite3.c:103254:23 25156 _ = _pItem 25157 if _pList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 25158 goto _0 25159 } 25160 25161 return 25162 25163 _0: 25164 *func() *int32 { 25165 _pItem = (*T7840217)(unsafe.Pointer((*[1]struct { 25166 X0 unsafe.Pointer 25167 X1 *int8 25168 X2 *int8 25169 X3 *int8 25170 X4 unsafe.Pointer 25171 X5 unsafe.Pointer 25172 X6 int32 25173 X7 int32 25174 X8 int32 25175 X9 struct { 25176 X0 uint8 25177 X1 int8 25178 } 25179 X10 uint8 25180 X11 int32 25181 X12 unsafe.Pointer 25182 X13 unsafe.Pointer 25183 X14 uint64 25184 X15 struct { 25185 X [0]struct { 25186 X0 *int8 25187 X1 unsafe.Pointer 25188 } 25189 U [4]byte 25190 } 25191 X16 unsafe.Pointer 25192 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X2 */))))) 25193 return &_i 25194 }() = i32(0) 25195 _1: 25196 if _i >= (_pList.X0) { 25197 goto _4 25198 } 25199 25200 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X1)) 25201 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X2)) 25202 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pItem.X3)) 25203 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { 25204 goto _5 25205 } 25206 25207 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(60 /* X15 */))))))) 25208 _5: 25209 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 25210 goto _6 25211 } 25212 25213 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(60 /* X15 */)))))))) 25214 _6: 25215 _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_pItem.X4))) 25216 _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_pItem.X5))) 25217 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pItem.X12))) 25218 _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer(_pItem.X13))) 25219 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pItem }())) += uintptr(68) 25220 goto _1 25221 25222 _4: 25223 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pList)) 25224 return 25225 25226 } 25227 25228 func _sqlite3DeleteTable(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable) { // sqlite3.c:100095:1 25229 if _pTable != nil { 25230 goto _0 25231 } 25232 25233 return 25234 25235 _0: 25236 if _db != nil && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) || preInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(32 /* X8 */))), uint32(4294967295)) <= uint32(i32(0)) { 25237 goto _3 25238 } 25239 25240 return 25241 25242 _3: 25243 _deleteTable(tls, _db, _pTable) 25244 return 25245 25246 } 25247 25248 func _deleteTable(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable) { // sqlite3.c:100051:1 25249 var _pIndex *XIndex // sqlite3.c:100052:9 25250 _ = _pIndex 25251 var _pNext *XIndex // sqlite3.c:100052:18 25252 _ = _pNext 25253 var _nLookaside int32 // sqlite3.c:100053:17 25254 _ = _nLookaside 25255 var _2_zName *int8 // sqlite3.c:100067:12 25256 _ = _2_zName 25257 var _2_pOld *XIndex // sqlite3.c:100068:24 25258 _ = _2_pOld 25259 _nLookaside = func() int32 { 25260 if (_db != nil) && (((_pTable.X9) & uint32(i32(2))) == uint32(i32(0))) { 25261 return ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3) 25262 } 25263 return i32(0) 25264 }() 25265 _pIndex = (*XIndex)(unsafe.Pointer(_pTable.X2)) 25266 _3: 25267 if _pIndex == nil { 25268 goto _6 25269 } 25270 25271 _pNext = (*XIndex)(unsafe.Pointer(_pIndex.X5)) 25272 func() int32 { 25273 if ((*XSchema)(unsafe.Pointer(_pIndex.X6)) == (*XSchema)(unsafe.Pointer(_pTable.X20))) || ((_pTable.X16) != 0 && (int32((uint32(_pIndex.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(0))) { 25274 return i32(0) 25275 } 25276 return func() int32 { 25277 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100064), unsafe.Pointer((*int8)(unsafe.Pointer(&_deleteTableØ00__func__Ø000))), unsafe.Pointer(str(22220))) 25278 crt.X__builtin_abort(tls) 25279 return i32(0) 25280 }() 25281 }() 25282 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) || (_pTable.X16) != 0 { 25283 goto _13 25284 } 25285 25286 _2_zName = _pIndex.X0 25287 _2_pOld = (*XIndex)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pIndex.X6)+uintptr(24 /* X3 */))), _2_zName, (unsafe.Pointer)(uintptr(i32(0)))))) 25288 func() int32 { 25289 if (_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pIndex.X6))) != 0 { 25290 return i32(0) 25291 } 25292 return func() int32 { 25293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100071), unsafe.Pointer((*int8)(unsafe.Pointer(&_deleteTableØ00__func__Ø000))), unsafe.Pointer(str(22320))) 25294 crt.X__builtin_abort(tls) 25295 return i32(0) 25296 }() 25297 }() 25298 func() int32 { 25299 if (_2_pOld == _pIndex) || (_2_pOld == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) { 25300 return i32(0) 25301 } 25302 return func() int32 { 25303 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100072), unsafe.Pointer((*int8)(unsafe.Pointer(&_deleteTableØ00__func__Ø000))), unsafe.Pointer(str(22376))) 25304 crt.X__builtin_abort(tls) 25305 return i32(0) 25306 }() 25307 }() 25308 _13: 25309 _freeIndex(tls, _db, _pIndex) 25310 _pIndex = _pNext 25311 goto _3 25312 25313 _6: 25314 _sqlite3FkDelete(tls, _db, _pTable) 25315 _sqlite3DeleteColumnNames(tls, _db, _pTable) 25316 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTable.X0)) 25317 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTable.X5)) 25318 _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_pTable.X3))) 25319 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_pTable.X6))) 25320 _sqlite3VtabClear(tls, _db, _pTable) 25321 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTable)) 25322 func() int32 { 25323 if (_nLookaside == i32(0)) || (_nLookaside == ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3)) { 25324 return i32(0) 25325 } 25326 return func() int32 { 25327 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100093), unsafe.Pointer((*int8)(unsafe.Pointer(&_deleteTableØ00__func__Ø000))), unsafe.Pointer(str(22400))) 25328 crt.X__builtin_abort(tls) 25329 return i32(0) 25330 }() 25331 }() 25332 return 25333 25334 } 25335 25336 var _deleteTableØ00__func__Ø000 [12]int8 // - 25337 25338 func init() { 25339 crt.Xstrncpy(nil, &_deleteTableØ00__func__Ø000[0], str(22448), 12) 25340 } 25341 25342 func _sqlite3HashInsert(tls *crt.TLS, _pH *XHash, _pKey *int8, _data unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:29422:1 25343 var _h uint32 // sqlite3.c:29423:16 25344 _ = _h 25345 var _elem *XHashElem // sqlite3.c:29424:12 25346 _ = _elem 25347 var _new_elem *XHashElem // sqlite3.c:29425:12 25348 _ = _new_elem 25349 var _1_old_data unsafe.Pointer // sqlite3.c:29431:10 25350 _ = _1_old_data 25351 func() int32 { 25352 if _pH != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { 25353 return i32(0) 25354 } 25355 return func() int32 { 25356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29427), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashInsertØ00__func__Ø000))), unsafe.Pointer(str(21992))) 25357 crt.X__builtin_abort(tls) 25358 return i32(0) 25359 }() 25360 }() 25361 func() int32 { 25362 if _pKey != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 25363 return i32(0) 25364 } 25365 return func() int32 { 25366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29428), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashInsertØ00__func__Ø000))), unsafe.Pointer(str(22460))) 25367 crt.X__builtin_abort(tls) 25368 return i32(0) 25369 }() 25370 }() 25371 _elem = _findElementWithHash(tls, _pH, _pKey, &_h) 25372 if _elem == nil { 25373 goto _4 25374 } 25375 25376 _1_old_data = _elem.X2 25377 if unsafe.Pointer(_data) != (unsafe.Pointer)(uintptr(i32(0))) { 25378 goto _5 25379 } 25380 25381 _removeElementGivenHash(tls, _pH, _elem, _h) 25382 goto _6 25383 25384 _5: 25385 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_elem)) + uintptr(8 /* X2 */))) = _data 25386 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_elem)) + uintptr(12 /* X3 */))) = _pKey 25387 _6: 25388 r0 = _1_old_data 25389 return 25390 25391 _4: 25392 if unsafe.Pointer(_data) != (unsafe.Pointer)(uintptr(i32(0))) { 25393 goto _7 25394 } 25395 25396 r0 = (unsafe.Pointer)(uintptr(i32(0))) 25397 return 25398 25399 _7: 25400 _new_elem = (*XHashElem)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(u32(16))))) 25401 if _new_elem != (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) { 25402 goto _8 25403 } 25404 25405 r0 = _data 25406 return 25407 25408 _8: 25409 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_new_elem)) + uintptr(12 /* X3 */))) = _pKey 25410 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_new_elem)) + uintptr(8 /* X2 */))) = _data 25411 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(4 /* X1 */))) += 1 25412 if (_pH.X1) < uint32(i32(10)) || (_pH.X1) <= (uint32(i32(2))*(_pH.X0)) { 25413 goto _10 25414 } 25415 25416 if _rehash(tls, _pH, (_pH.X1)*uint32(i32(2))) == 0 { 25417 goto _11 25418 } 25419 25420 func() int32 { 25421 if (_pH.X0) > uint32(i32(0)) { 25422 return i32(0) 25423 } 25424 return func() int32 { 25425 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29448), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashInsertØ00__func__Ø000))), unsafe.Pointer(str(22468))) 25426 crt.X__builtin_abort(tls) 25427 return i32(0) 25428 }() 25429 }() 25430 _h = _strHash(tls, _pKey) % (_pH.X0) 25431 _11: 25432 _10: 25433 _insertElement(tls, _pH, func() *XExprList { 25434 if (*XExprList)(unsafe.Pointer(_pH.X3)) != nil { 25435 return (*XExprList)(unsafe.Pointer(uintptr(_pH.X3) + 8*uintptr(_h))) 25436 } 25437 return (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 25438 }(), _new_elem) 25439 r0 = (unsafe.Pointer)(uintptr(i32(0))) 25440 return 25441 25442 } 25443 25444 var _sqlite3HashInsertØ00__func__Ø000 [18]int8 // - 25445 25446 func init() { 25447 crt.Xstrncpy(nil, &_sqlite3HashInsertØ00__func__Ø000[0], str(22484), 18) 25448 } 25449 25450 func _findElementWithHash(tls *crt.TLS, _pH *XHash, _pKey *int8, _pHash *uint32) (r0 *XHashElem) { // sqlite3.c:29329:1 25451 var _elem *XHashElem // sqlite3.c:29334:12 25452 _ = _elem 25453 var _count int32 // sqlite3.c:29335:7 25454 _ = _count 25455 var _h uint32 // sqlite3.c:29336:16 25456 _ = _h 25457 var _1_pEntry *XExprList // sqlite3.c:29339:16 25458 _ = _1_pEntry 25459 if (*XExprList)(unsafe.Pointer(_pH.X3)) == nil { 25460 goto _0 25461 } 25462 25463 _h = _strHash(tls, _pKey) % (_pH.X0) 25464 _1_pEntry = (*XExprList)(unsafe.Pointer(uintptr(_pH.X3) + 8*uintptr(_h))) 25465 _elem = (*XHashElem)(unsafe.Pointer(_1_pEntry.X1)) 25466 _count = _1_pEntry.X0 25467 goto _1 25468 25469 _0: 25470 _h = uint32(i32(0)) 25471 _elem = (*XHashElem)(unsafe.Pointer(_pH.X2)) 25472 _count = int32(_pH.X1) 25473 _1: 25474 *_pHash = _h 25475 _2: 25476 if postInc961(&_count, int32(-1)) == 0 { 25477 goto _3 25478 } 25479 25480 func() int32 { 25481 if _elem != (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) { 25482 return i32(0) 25483 } 25484 return func() int32 { 25485 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29351), unsafe.Pointer((*int8)(unsafe.Pointer(&_findElementWithHashØ00__func__Ø000))), unsafe.Pointer(str(22504))) 25486 crt.X__builtin_abort(tls) 25487 return i32(0) 25488 }() 25489 }() 25490 if _sqlite3StrICmp(tls, _elem.X3, _pKey) != i32(0) { 25491 goto _6 25492 } 25493 25494 r0 = _elem 25495 return 25496 25497 _6: 25498 _elem = (*XHashElem)(unsafe.Pointer(_elem.X0)) 25499 goto _2 25500 25501 _3: 25502 r0 = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 25503 return 25504 25505 } 25506 25507 func _strHash(tls *crt.TLS, _z *int8) (r0 uint32) { // sqlite3.c:29238:1 25508 var _h uint32 // sqlite3.c:29239:16 25509 _ = _h 25510 var _c uint8 // sqlite3.c:29240:17 25511 _ = _c 25512 _h = u32(0) 25513 _0: 25514 if int32(store6915(&_c, uint8(*postInc1025(&_z, 1)))) == i32(0) { 25515 goto _1 25516 } 25517 25518 { 25519 p := &_h 25520 *p = (*p) + uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(_c)))) 25521 sink985 = *p 25522 } 25523 { 25524 p := &_h 25525 *p = (*p) * u32(2654435761) 25526 sink985 = *p 25527 } 25528 goto _0 25529 25530 _1: 25531 r0 = _h 25532 return 25533 25534 } 25535 25536 var _findElementWithHashØ00__func__Ø000 [20]int8 // - 25537 25538 func init() { 25539 crt.Xstrncpy(nil, &_findElementWithHashØ00__func__Ø000[0], str(22512), 20) 25540 } 25541 25542 func _removeElementGivenHash(tls *crt.TLS, _pH *XHash, _elem *XHashElem, _h uint32) { // sqlite3.c:29363:1 25543 var _pEntry *XExprList // sqlite3.c:29368:14 25544 _ = _pEntry 25545 if (*XHashElem)(unsafe.Pointer(_elem.X1)) == nil { 25546 goto _0 25547 } 25548 25549 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_elem.X1) + uintptr(0 /* X0 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X0)) 25550 goto _1 25551 25552 _0: 25553 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X0)) 25554 _1: 25555 if (*XHashElem)(unsafe.Pointer(_elem.X0)) == nil { 25556 goto _2 25557 } 25558 25559 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_elem.X0) + uintptr(4 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X1)) 25560 _2: 25561 if (*XExprList)(unsafe.Pointer(_pH.X3)) == nil { 25562 goto _3 25563 } 25564 25565 _pEntry = (*XExprList)(unsafe.Pointer(uintptr(_pH.X3) + 8*uintptr(_h))) 25566 if (*XHashElem)(unsafe.Pointer(_pEntry.X1)) != _elem { 25567 goto _4 25568 } 25569 25570 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(4 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(_elem.X0)) 25571 _4: 25572 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(0 /* X0 */))) -= 1 25573 func() int32 { 25574 if (_pEntry.X0) >= i32(0) { 25575 return i32(0) 25576 } 25577 return func() int32 { 25578 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29383), unsafe.Pointer((*int8)(unsafe.Pointer(&_removeElementGivenHashØ00__func__Ø000))), unsafe.Pointer(str(22532))) 25579 crt.X__builtin_abort(tls) 25580 return i32(0) 25581 }() 25582 }() 25583 _3: 25584 Xsqlite3_free(tls, (unsafe.Pointer)(_elem)) 25585 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(4 /* X1 */))) -= 1 25586 if (_pH.X1) != uint32(i32(0)) { 25587 goto _7 25588 } 25589 25590 func() int32 { 25591 if (*XHashElem)(unsafe.Pointer(_pH.X2)) == (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) { 25592 return i32(0) 25593 } 25594 return func() int32 { 25595 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29388), unsafe.Pointer((*int8)(unsafe.Pointer(&_removeElementGivenHashØ00__func__Ø000))), unsafe.Pointer(str(22552))) 25596 crt.X__builtin_abort(tls) 25597 return i32(0) 25598 }() 25599 }() 25600 func() int32 { 25601 if (_pH.X1) == uint32(i32(0)) { 25602 return i32(0) 25603 } 25604 return func() int32 { 25605 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29389), unsafe.Pointer((*int8)(unsafe.Pointer(&_removeElementGivenHashØ00__func__Ø000))), unsafe.Pointer(str(22568))) 25606 crt.X__builtin_abort(tls) 25607 return i32(0) 25608 }() 25609 }() 25610 _sqlite3HashClear(tls, _pH) 25611 _7: 25612 return 25613 25614 } 25615 25616 var _removeElementGivenHashØ00__func__Ø000 [23]int8 // - 25617 25618 func init() { 25619 crt.Xstrncpy(nil, &_removeElementGivenHashØ00__func__Ø000[0], str(22584), 23) 25620 } 25621 25622 func _rehash(tls *crt.TLS, _pH *XHash, _new_size uint32) (r0 int32) { // sqlite3.c:29289:1 25623 var _new_ht *XExprList // sqlite3.c:29290:14 25624 _ = _new_ht 25625 var _elem *XHashElem // sqlite3.c:29291:12 25626 _ = _elem 25627 var _next_elem *XHashElem // sqlite3.c:29291:19 25628 _ = _next_elem 25629 var _2_h uint32 // sqlite3.c:29318:18 25630 _ = _2_h 25631 if (_new_size * u32(8)) <= uint32(i32(1024)) { 25632 goto _0 25633 } 25634 25635 _new_size = u32(128) 25636 _0: 25637 if _new_size != (_pH.X0) { 25638 goto _1 25639 } 25640 25641 r0 = i32(0) 25642 return 25643 25644 _1: 25645 _sqlite3BeginBenignMalloc(tls) 25646 _new_ht = (*XExprList)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_new_size*u32(8))))) 25647 _sqlite3EndBenignMalloc(tls) 25648 if _new_ht != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 25649 goto _2 25650 } 25651 25652 r0 = i32(0) 25653 return 25654 25655 _2: 25656 Xsqlite3_free(tls, _pH.X3) 25657 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(12 /* X3 */))))) = _new_ht 25658 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(0 /* X0 */))) = store985(&_new_size, uint32(_sqlite3MallocSize(tls, (unsafe.Pointer)(_new_ht)))/u32(8)) 25659 crt.Xmemset(tls, (unsafe.Pointer)(_new_ht), i32(0), _new_size*u32(8)) 25660 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *XHash { _elem = (*XHashElem)(unsafe.Pointer(_pH.X2)); return _pH }())) + uintptr(8 /* X2 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 25661 _3: 25662 if _elem == nil { 25663 goto _6 25664 } 25665 25666 _2_h = _strHash(tls, _elem.X3) % _new_size 25667 _next_elem = (*XHashElem)(unsafe.Pointer(_elem.X0)) 25668 _insertElement(tls, _pH, (*XExprList)(unsafe.Pointer(uintptr((unsafe.Pointer)(_new_ht))+8*uintptr(_2_h))), _elem) 25669 _elem = _next_elem 25670 goto _3 25671 25672 _6: 25673 r0 = i32(1) 25674 return 25675 25676 } 25677 25678 func _insertElement(tls *crt.TLS, _pH *XHash, _pEntry *XExprList, _pNew *XHashElem) { // sqlite3.c:29255:1 25679 var _pHead *XHashElem // sqlite3.c:29260:12 25680 _ = _pHead 25681 if _pEntry == nil { 25682 goto _0 25683 } 25684 25685 _pHead = func() *XHashElem { 25686 if (_pEntry.X0) != 0 { 25687 return (*XHashElem)(unsafe.Pointer(_pEntry.X1)) 25688 } 25689 return (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 25690 }() 25691 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(0 /* X0 */))) += 1 25692 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(4 /* X1 */))))) = _pNew 25693 goto _3 25694 25695 _0: 25696 _pHead = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 25697 _3: 25698 if _pHead == nil { 25699 goto _4 25700 } 25701 25702 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = _pHead 25703 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(_pHead.X1)) 25704 if (*XHashElem)(unsafe.Pointer(_pHead.X1)) == nil { 25705 goto _5 25706 } 25707 25708 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pHead.X1) + uintptr(0 /* X0 */))))) = _pNew 25709 goto _6 25710 25711 _5: 25712 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = _pNew 25713 _6: 25714 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pHead)) + uintptr(4 /* X1 */))))) = _pNew 25715 goto _7 25716 25717 _4: 25718 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = (*XHashElem)(unsafe.Pointer(_pH.X2)) 25719 if (*XHashElem)(unsafe.Pointer(_pH.X2)) == nil { 25720 goto _8 25721 } 25722 25723 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pH.X2) + uintptr(4 /* X1 */))))) = _pNew 25724 _8: 25725 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))) = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 25726 *(**XHashElem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pH)) + uintptr(8 /* X2 */))))) = _pNew 25727 _7: 25728 return 25729 25730 } 25731 25732 func _sqlite3SchemaMutexHeld(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _pSchema *XSchema) (r0 int32) { // sqlite3.c:58899:1 25733 var _p *XBtree // sqlite3.c:58900:9 25734 _ = _p 25735 func() int32 { 25736 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 25737 return i32(0) 25738 } 25739 return func() int32 { 25740 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58901), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SchemaMutexHeldØ00__func__Ø000))), unsafe.Pointer(str(1184))) 25741 crt.X__builtin_abort(tls) 25742 return i32(0) 25743 }() 25744 }() 25745 if _pSchema == nil { 25746 goto _2 25747 } 25748 25749 _iDb = _sqlite3SchemaToIndex(tls, _db, _pSchema) 25750 _2: 25751 func() int32 { 25752 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 25753 return i32(0) 25754 } 25755 return func() int32 { 25756 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58903), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SchemaMutexHeldØ00__func__Ø000))), unsafe.Pointer(str(22608))) 25757 crt.X__builtin_abort(tls) 25758 return i32(0) 25759 }() 25760 }() 25761 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 25762 goto _6 25763 } 25764 25765 r0 = i32(0) 25766 return 25767 25768 _6: 25769 if _iDb != i32(1) { 25770 goto _7 25771 } 25772 25773 r0 = i32(1) 25774 return 25775 25776 _7: 25777 _p = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X1)) 25778 func() int32 { 25779 if _p != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 25780 return i32(0) 25781 } 25782 return func() int32 { 25783 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(58907), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SchemaMutexHeldØ00__func__Ø000))), unsafe.Pointer(str(824))) 25784 crt.X__builtin_abort(tls) 25785 return i32(0) 25786 }() 25787 }() 25788 r0 = bool2int((int32(_p.X3) == i32(0)) || (int32(_p.X4) == i32(1))) 25789 return 25790 25791 } 25792 25793 var _sqlite3SchemaMutexHeldØ00__func__Ø000 [23]int8 // - 25794 25795 func init() { 25796 crt.Xstrncpy(nil, &_sqlite3SchemaMutexHeldØ00__func__Ø000[0], str(22632), 23) 25797 } 25798 25799 func _sqlite3SchemaToIndex(tls *crt.TLS, _db *Xsqlite3, _pSchema *XSchema) (r0 int32) { // sqlite3.c:115860:1 25800 var _i int32 // sqlite3.c:115861:7 25801 _ = _i 25802 _i = i32(-1000000) 25803 func() int32 { 25804 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 25805 return i32(0) 25806 } 25807 return func() int32 { 25808 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115873), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SchemaToIndexØ00__func__Ø000))), unsafe.Pointer(str(832))) 25809 crt.X__builtin_abort(tls) 25810 return i32(0) 25811 }() 25812 }() 25813 if _pSchema == nil { 25814 goto _2 25815 } 25816 25817 _i = i32(0) 25818 _3: 25819 if func() int32 { 25820 if _i < (_db.X5) { 25821 return i32(1) 25822 } 25823 return func() int32 { 25824 func() int32 { 25825 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115875), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SchemaToIndexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 25826 crt.X__builtin_abort(tls) 25827 return i32(0) 25828 }() 25829 return i32(0) 25830 }() 25831 }() == 0 { 25832 goto _8 25833 } 25834 25835 if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X4)) != _pSchema { 25836 goto _9 25837 } 25838 25839 goto _8 25840 25841 _9: 25842 _i += 1 25843 goto _3 25844 25845 _8: 25846 func() int32 { 25847 if (_i >= i32(0)) && (_i < (_db.X5)) { 25848 return i32(0) 25849 } 25850 return func() int32 { 25851 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115880), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SchemaToIndexØ00__func__Ø000))), unsafe.Pointer(str(22656))) 25852 crt.X__builtin_abort(tls) 25853 return i32(0) 25854 }() 25855 }() 25856 _2: 25857 r0 = _i 25858 return 25859 25860 } 25861 25862 var _sqlite3SchemaToIndexØ00__func__Ø000 [21]int8 // - 25863 25864 func init() { 25865 crt.Xstrncpy(nil, &_sqlite3SchemaToIndexØ00__func__Ø000[0], str(22676), 21) 25866 } 25867 25868 func _freeIndex(tls *crt.TLS, _db *Xsqlite3, _p *XIndex) { // sqlite3.c:99891:1 25869 _sqlite3DeleteIndexSamples(tls, _db, _p) 25870 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X9))) 25871 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X10))) 25872 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X4)) 25873 if ((uint32((_p.X16)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { 25874 goto _0 25875 } 25876 25877 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X8)) 25878 _0: 25879 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 25880 return 25881 25882 } 25883 25884 func _sqlite3DeleteIndexSamples(tls *crt.TLS, _db *Xsqlite3, _pIdx *XIndex) { // sqlite3.c:98251:1 25885 25886 return 25887 25888 } 25889 25890 func _sqlite3FkDelete(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable) { // sqlite3.c:108528:1 25891 var _pFKey *XFKey // sqlite3.c:108529:8 25892 _ = _pFKey 25893 var _pNext *XFKey // sqlite3.c:108530:8 25894 _ = _pNext 25895 var _4_p unsafe.Pointer // sqlite3.c:108541:14 25896 _ = _4_p 25897 var _4_z *int8 // sqlite3.c:108542:20 25898 _ = _4_z 25899 func() int32 { 25900 if ((_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || (_pTab.X16) != 0) || _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pTab.X20))) != 0 { 25901 return i32(0) 25902 } 25903 return func() int32 { 25904 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108532), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkDeleteØ00__func__Ø000))), unsafe.Pointer(str(22700))) 25905 crt.X__builtin_abort(tls) 25906 return i32(0) 25907 }() 25908 }() 25909 _pFKey = (*XFKey)(unsafe.Pointer(_pTab.X4)) 25910 _4: 25911 if _pFKey == nil { 25912 goto _7 25913 } 25914 25915 if _db != nil && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 25916 goto _9 25917 } 25918 25919 if (*XFKey)(unsafe.Pointer(_pFKey.X4)) == nil { 25920 goto _10 25921 } 25922 25923 *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pFKey.X4) + uintptr(12 /* X3 */))))) = (*XFKey)(unsafe.Pointer(_pFKey.X3)) 25924 goto _11 25925 25926 _10: 25927 _4_p = _pFKey.X3 25928 _4_z = func() *int8 { 25929 if _4_p != nil { 25930 return ((*XFKey)(unsafe.Pointer(_pFKey.X3)).X2) 25931 } 25932 return (_pFKey.X2) 25933 }() 25934 _sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pTab.X20)+uintptr(56 /* X5 */))), _4_z, _4_p) 25935 _11: 25936 if (*XFKey)(unsafe.Pointer(_pFKey.X3)) == nil { 25937 goto _14 25938 } 25939 25940 *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pFKey.X3) + uintptr(16 /* X4 */))))) = (*XFKey)(unsafe.Pointer(_pFKey.X4)) 25941 _14: 25942 _9: 25943 func() int32 { 25944 if (int32(_pFKey.X6) == i32(0)) || (int32(_pFKey.X6) == i32(1)) { 25945 return i32(0) 25946 } 25947 return func() int32 { 25948 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108553), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkDeleteØ00__func__Ø000))), unsafe.Pointer(str(22776))) 25949 crt.X__builtin_abort(tls) 25950 return i32(0) 25951 }() 25952 }() 25953 _fkTriggerDelete(tls, _db, *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(28 /* X8 */))))) + 4*uintptr(i32(0))))) 25954 _fkTriggerDelete(tls, _db, *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(28 /* X8 */))))) + 4*uintptr(i32(1))))) 25955 _pNext = (*XFKey)(unsafe.Pointer(_pFKey.X1)) 25956 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pFKey)) 25957 _pFKey = _pNext 25958 goto _4 25959 25960 _7: 25961 return 25962 25963 } 25964 25965 var _sqlite3FkDeleteØ00__func__Ø000 [16]int8 // - 25966 25967 func init() { 25968 crt.Xstrncpy(nil, &_sqlite3FkDeleteØ00__func__Ø000[0], str(22824), 16) 25969 } 25970 25971 func _fkTriggerDelete(tls *crt.TLS, _dbMem *Xsqlite3, _p *XTrigger) { // sqlite3.c:107836:1 25972 var _1_pStep *XTriggerStep // sqlite3.c:107838:17 25973 _ = _1_pStep 25974 if _p == nil { 25975 goto _0 25976 } 25977 25978 _1_pStep = (*XTriggerStep)(unsafe.Pointer(_p.X8)) 25979 _sqlite3ExprDelete(tls, _dbMem, (*XExpr)(unsafe.Pointer(_1_pStep.X5))) 25980 _sqlite3ExprListDelete(tls, _dbMem, (*XExprList)(unsafe.Pointer(_1_pStep.X6))) 25981 _sqlite3SelectDelete(tls, _dbMem, (*XSelect)(unsafe.Pointer(_1_pStep.X3))) 25982 _sqlite3ExprDelete(tls, _dbMem, (*XExpr)(unsafe.Pointer(_p.X4))) 25983 _sqlite3DbFree(tls, _dbMem, (unsafe.Pointer)(_p)) 25984 _0: 25985 return 25986 25987 } 25988 25989 func _sqlite3DeleteColumnNames(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable) { // sqlite3.c:100022:1 25990 var _i int32 // sqlite3.c:100023:7 25991 _ = _i 25992 var _pCol *XColumn // sqlite3.c:100024:10 25993 _ = _pCol 25994 func() int32 { 25995 if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 25996 return i32(0) 25997 } 25998 return func() int32 { 25999 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100025), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(22840))) 26000 crt.X__builtin_abort(tls) 26001 return i32(0) 26002 }() 26003 }() 26004 if store7857915(&_pCol, (*XColumn)(unsafe.Pointer(_pTable.X1))) == (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { 26005 goto _2 26006 } 26007 26008 _i = i32(0) 26009 _3: 26010 if _i >= int32(_pTable.X11) { 26011 goto _6 26012 } 26013 26014 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pCol.X0)) 26015 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pCol.X1))) 26016 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pCol.X2)) 26017 *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(16) 26018 goto _3 26019 26020 _6: 26021 _sqlite3DbFree(tls, _db, _pTable.X1) 26022 _2: 26023 return 26024 26025 } 26026 26027 var _sqlite3DeleteColumnNamesØ00__func__Ø000 [25]int8 // - 26028 26029 func init() { 26030 crt.Xstrncpy(nil, &_sqlite3DeleteColumnNamesØ00__func__Ø000[0], str(22852), 25) 26031 } 26032 26033 func _sqlite3VtabClear(tls *crt.TLS, _db *Xsqlite3, _p *XTable) { // sqlite3.c:124811:1 26034 var _1_i int32 // sqlite3.c:124814:9 26035 _ = _1_i 26036 if _db != nil && (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 26037 goto _1 26038 } 26039 26040 _vtabDisconnectAll(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _p) 26041 _1: 26042 if (_p.X17) == nil { 26043 goto _2 26044 } 26045 26046 _1_i = i32(0) 26047 _3: 26048 if _1_i >= (_p.X16) { 26049 goto _6 26050 } 26051 26052 if _1_i == i32(1) { 26053 goto _7 26054 } 26055 26056 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X17)) + 4*uintptr(_1_i))))) 26057 _7: 26058 _1_i += 1 26059 goto _3 26060 26061 _6: 26062 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X17)) 26063 _2: 26064 return 26065 26066 } 26067 26068 func _vtabDisconnectAll(tls *crt.TLS, _db *Xsqlite3, _p *XTable) (r0 *XVTable) { // sqlite3.c:124702:1 26069 var _pRet *XVTable // sqlite3.c:124703:10 26070 _ = _pRet 26071 var _pVTable *XVTable // sqlite3.c:124704:10 26072 _ = _pVTable 26073 var _1_db2 *Xsqlite3 // sqlite3.c:124716:13 26074 _ = _1_db2 26075 var _1_pNext *XVTable // sqlite3.c:124717:12 26076 _ = _1_pNext 26077 _pRet = nil 26078 _pVTable = (*XVTable)(unsafe.Pointer(_p.X18)) 26079 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X18 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) 26080 func() int32 { 26081 if (_db == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_p.X20))) != 0 { 26082 return i32(0) 26083 } 26084 return func() int32 { 26085 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124713), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabDisconnectAllØ00__func__Ø000))), unsafe.Pointer(str(22880))) 26086 crt.X__builtin_abort(tls) 26087 return i32(0) 26088 }() 26089 }() 26090 _3: 26091 if _pVTable == nil { 26092 goto _4 26093 } 26094 26095 _1_db2 = (*Xsqlite3)(unsafe.Pointer(_pVTable.X0)) 26096 _1_pNext = (*XVTable)(unsafe.Pointer(_pVTable.X6)) 26097 func() int32 { 26098 if _1_db2 != nil { 26099 return i32(0) 26100 } 26101 return func() int32 { 26102 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124718), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabDisconnectAllØ00__func__Ø000))), unsafe.Pointer(str(22932))) 26103 crt.X__builtin_abort(tls) 26104 return i32(0) 26105 }() 26106 }() 26107 if _1_db2 != _db { 26108 goto _7 26109 } 26110 26111 _pRet = _pVTable 26112 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X18 */))))) = _pRet 26113 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(24 /* X6 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) 26114 goto _8 26115 26116 _7: 26117 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(24 /* X6 */))))) = (*XVTable)(unsafe.Pointer(_1_db2.X68)) 26118 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db2)) + uintptr(340 /* X68 */))))) = _pVTable 26119 _8: 26120 _pVTable = _1_pNext 26121 goto _3 26122 26123 _4: 26124 func() int32 { 26125 if (_db == nil) || (_pRet != nil) { 26126 return i32(0) 26127 } 26128 return func() int32 { 26129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124730), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabDisconnectAllØ00__func__Ø000))), unsafe.Pointer(str(22936))) 26130 crt.X__builtin_abort(tls) 26131 return i32(0) 26132 }() 26133 }() 26134 r0 = _pRet 26135 return 26136 26137 } 26138 26139 var _vtabDisconnectAllØ00__func__Ø000 [18]int8 // - 26140 26141 func init() { 26142 crt.Xstrncpy(nil, &_vtabDisconnectAllØ00__func__Ø000[0], str(22948), 18) 26143 } 26144 26145 func _sqlite3IdListDelete(tls *crt.TLS, _db *Xsqlite3, _pList *XIdList) { // sqlite3.c:103070:1 26146 var _i int32 // sqlite3.c:103071:7 26147 _ = _i 26148 if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 26149 goto _0 26150 } 26151 26152 return 26153 26154 _0: 26155 _i = i32(0) 26156 _1: 26157 if _i >= (_pList.X1) { 26158 goto _4 26159 } 26160 26161 _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*T8304487)(unsafe.Pointer(uintptr(_pList.X0)+8*uintptr(_i))).X0)) 26162 _i += 1 26163 goto _1 26164 26165 _4: 26166 _sqlite3DbFree(tls, _db, _pList.X0) 26167 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pList)) 26168 return 26169 26170 } 26171 26172 func _sqlite3WithDelete(tls *crt.TLS, _db *Xsqlite3, _pWith *XWith) { // sqlite3.c:103885:1 26173 var _1_i int32 // sqlite3.c:103887:9 26174 _ = _1_i 26175 var _2_pCte *T7850050 // sqlite3.c:103889:18 26176 _ = _2_pCte 26177 if _pWith == nil { 26178 goto _0 26179 } 26180 26181 _1_i = i32(0) 26182 _1: 26183 if _1_i >= (_pWith.X0) { 26184 goto _4 26185 } 26186 26187 _2_pCte = (*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 26188 X0 *int8 26189 X1 unsafe.Pointer 26190 X2 unsafe.Pointer 26191 X3 *int8 26192 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith))+uintptr(8 /* X2 */))))) + 16*uintptr(_1_i))) 26193 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_2_pCte.X1))) 26194 _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_2_pCte.X2))) 26195 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_pCte.X0)) 26196 _1_i += 1 26197 goto _1 26198 26199 _4: 26200 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pWith)) 26201 _0: 26202 return 26203 26204 } 26205 26206 func _sqlite3CollapseDatabaseArray(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:99944:1 26207 var _i int32 // sqlite3.c:99945:7 26208 _ = _i 26209 var _j int32 // sqlite3.c:99945:10 26210 _ = _j 26211 var _1_pDb *XDb // sqlite3.c:99947:15 26212 _ = _1_pDb 26213 _i = store961(&_j, i32(2)) 26214 _0: 26215 if _i >= (_db.X5) { 26216 goto _3 26217 } 26218 26219 _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))) 26220 if (*XBtree)(unsafe.Pointer(_1_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 26221 goto _4 26222 } 26223 26224 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pDb.X0)) 26225 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pDb)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 26226 goto _1 26227 26228 _4: 26229 if _j >= _i { 26230 goto _5 26231 } 26232 26233 *(*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_j))) = *(*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))) 26234 _5: 26235 _j += 1 26236 _1: 26237 _i += 1 26238 goto _0 26239 26240 _3: 26241 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(20 /* X5 */))) = _j 26242 if (_db.X5) > i32(2) || (*XDb)(unsafe.Pointer(_db.X4)) == (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(388 /* X72 */))))) { 26243 goto _7 26244 } 26245 26246 crt.Xmemcpy(tls, (unsafe.Pointer)((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(388 /* X72 */)))), _db.X4, u32(32)) 26247 _sqlite3DbFree(tls, _db, _db.X4) 26248 *(**XDb)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(16 /* X4 */))))) = (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(388 /* X72 */))))) 26249 _7: 26250 return 26251 26252 } 26253 26254 func _sqlite3CloseSavepoints(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:140873:1 26255 var _1_pTmp *XSavepoint // sqlite3.c:140875:15 26256 _ = _1_pTmp 26257 _0: 26258 if (*XSavepoint)(unsafe.Pointer(_db.X73)) == nil { 26259 goto _1 26260 } 26261 26262 _1_pTmp = (*XSavepoint)(unsafe.Pointer(_db.X73)) 26263 *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(420 /* X73 */))))) = (*XSavepoint)(unsafe.Pointer(_1_pTmp.X3)) 26264 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pTmp)) 26265 goto _0 26266 26267 _1: 26268 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(428 /* X75 */))) = i32(0) 26269 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(432 /* X76 */))) = i32(0) 26270 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(71 /* X23 */))) = uint8(i32(0)) 26271 return 26272 26273 } 26274 26275 func _sqlite3BtreeClose(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61521:1 26276 var _pBt *XBtShared // sqlite3.c:61522:12 26277 _ = _pBt 26278 var _pCur *XBtCursor // sqlite3.c:61523:12 26279 _ = _pCur 26280 var _1_pTmp *XBtCursor // sqlite3.c:61530:14 26281 _ = _1_pTmp 26282 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 26283 func() int32 { 26284 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 26285 return i32(0) 26286 } 26287 return func() int32 { 26288 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61526), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseØ00__func__Ø000))), unsafe.Pointer(str(8940))) 26289 crt.X__builtin_abort(tls) 26290 return i32(0) 26291 }() 26292 }() 26293 _sqlite3BtreeEnter(tls, _p) 26294 _pCur = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) 26295 _2: 26296 if _pCur == nil { 26297 goto _3 26298 } 26299 26300 _1_pTmp = _pCur 26301 _pCur = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) 26302 if (*XBtree)(unsafe.Pointer(_1_pTmp.X0)) != _p { 26303 goto _4 26304 } 26305 26306 _sqlite3BtreeCloseCursor(tls, _1_pTmp) 26307 _4: 26308 goto _2 26309 26310 _3: 26311 _sqlite3BtreeRollback(tls, _p, i32(0), i32(0)) 26312 _sqlite3BtreeLeave(tls, _p) 26313 func() int32 { 26314 if ((_p.X6) == i32(0)) && (int32(_p.X4) == i32(0)) { 26315 return i32(0) 26316 } 26317 return func() int32 { 26318 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61548), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseØ00__func__Ø000))), unsafe.Pointer(str(22968))) 26319 crt.X__builtin_abort(tls) 26320 return i32(0) 26321 }() 26322 }() 26323 if (_p.X3) != 0 && _removeFromSharingList(tls, _pBt) == 0 { 26324 goto _9 26325 } 26326 26327 func() int32 { 26328 if (*XBtCursor)(unsafe.Pointer(_pBt.X2)) == nil { 26329 return i32(0) 26330 } 26331 return func() int32 { 26332 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61555), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseØ00__func__Ø000))), unsafe.Pointer(str(23004))) 26333 crt.X__builtin_abort(tls) 26334 return i32(0) 26335 }() 26336 }() 26337 _sqlite3PagerClose(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(_p.X0))) 26338 if (_pBt.X20) == nil || (_pBt.X19) == nil { 26339 goto _13 26340 } 26341 26342 (_pBt.X20)(tls, _pBt.X19) 26343 _13: 26344 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _pBt.X19) 26345 _freeTempSpace(tls, _pBt) 26346 Xsqlite3_free(tls, (unsafe.Pointer)(_pBt)) 26347 _9: 26348 func() int32 { 26349 if (_p.X6) == i32(0) { 26350 return i32(0) 26351 } 26352 return func() int32 { 26353 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61566), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseØ00__func__Ø000))), unsafe.Pointer(str(23020))) 26354 crt.X__builtin_abort(tls) 26355 return i32(0) 26356 }() 26357 }() 26358 func() int32 { 26359 if int32(_p.X4) == i32(0) { 26360 return i32(0) 26361 } 26362 return func() int32 { 26363 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61567), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseØ00__func__Ø000))), unsafe.Pointer(str(9320))) 26364 crt.X__builtin_abort(tls) 26365 return i32(0) 26366 }() 26367 }() 26368 if (*XBtree)(unsafe.Pointer(_p.X10)) == nil { 26369 goto _18 26370 } 26371 26372 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X10) + uintptr(24 /* X9 */))))) = (*XBtree)(unsafe.Pointer(_p.X9)) 26373 _18: 26374 if (*XBtree)(unsafe.Pointer(_p.X9)) == nil { 26375 goto _19 26376 } 26377 26378 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X9) + uintptr(28 /* X10 */))))) = (*XBtree)(unsafe.Pointer(_p.X10)) 26379 _19: 26380 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 26381 r0 = i32(0) 26382 return 26383 26384 } 26385 26386 var _sqlite3BtreeCloseØ00__func__Ø000 [18]int8 // - 26387 26388 func init() { 26389 crt.Xstrncpy(nil, &_sqlite3BtreeCloseØ00__func__Ø000[0], str(23040), 18) 26390 } 26391 26392 func _sqlite3BtreeCloseCursor(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63233:1 26393 var _pBtree *XBtree // sqlite3.c:63234:9 26394 _ = _pBtree 26395 var _1_i int32 // sqlite3.c:63236:9 26396 _ = _1_i 26397 var _1_pBt *XBtShared // sqlite3.c:63237:14 26398 _ = _1_pBt 26399 var _3_pPrev *XBtCursor // sqlite3.c:63244:16 26400 _ = _3_pPrev 26401 _pBtree = (*XBtree)(unsafe.Pointer(_pCur.X0)) 26402 if _pBtree == nil { 26403 goto _0 26404 } 26405 26406 _1_pBt = (*XBtShared)(unsafe.Pointer(_pCur.X1)) 26407 _sqlite3BtreeEnter(tls, _pBtree) 26408 _sqlite3BtreeClearCursor(tls, _pCur) 26409 func() int32 { 26410 if (*XBtCursor)(unsafe.Pointer(_1_pBt.X2)) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 26411 return i32(0) 26412 } 26413 return func() int32 { 26414 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63240), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseCursorØ00__func__Ø000))), unsafe.Pointer(str(23060))) 26415 crt.X__builtin_abort(tls) 26416 return i32(0) 26417 }() 26418 }() 26419 if (*XBtCursor)(unsafe.Pointer(_1_pBt.X2)) != _pCur { 26420 goto _3 26421 } 26422 26423 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(8 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) 26424 goto _4 26425 26426 _3: 26427 _3_pPrev = (*XBtCursor)(unsafe.Pointer(_1_pBt.X2)) 26428 _5: 26429 if (*XBtCursor)(unsafe.Pointer(_3_pPrev.X2)) != _pCur { 26430 goto _6 26431 } 26432 26433 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pPrev)) + uintptr(8 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(_pCur.X2)) 26434 goto _7 26435 26436 _6: 26437 _3_pPrev = (*XBtCursor)(unsafe.Pointer(_3_pPrev.X2)) 26438 if func() int32 { 26439 if _3_pPrev != nil { 26440 return i32(1) 26441 } 26442 return func() int32 { 26443 func() int32 { 26444 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63251), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCloseCursorØ00__func__Ø000))), unsafe.Pointer(str(5204))) 26445 crt.X__builtin_abort(tls) 26446 return i32(0) 26447 }() 26448 return i32(0) 26449 }() 26450 }() != 0 { 26451 goto _5 26452 } 26453 26454 _7: 26455 _4: 26456 _1_i = i32(0) 26457 _10: 26458 if _1_i > int32(_pCur.X14) { 26459 goto _13 26460 } 26461 26462 _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_1_i)))) 26463 _1_i += 1 26464 goto _10 26465 26466 _13: 26467 _unlockBtreeIfUnused(tls, _1_pBt) 26468 Xsqlite3_free(tls, (unsafe.Pointer)(_pCur.X3)) 26469 _sqlite3BtreeLeave(tls, _pBtree) 26470 _0: 26471 r0 = i32(0) 26472 return 26473 26474 } 26475 26476 var _sqlite3BtreeCloseCursorØ00__func__Ø000 [24]int8 // - 26477 26478 func init() { 26479 crt.Xstrncpy(nil, &_sqlite3BtreeCloseCursorØ00__func__Ø000[0], str(23076), 24) 26480 } 26481 26482 func _removeFromSharingList(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:61442:1 26483 var _pMaster *Xsqlite3_mutex // sqlite3.c:61444:30 26484 _ = _pMaster 26485 var _pList *XBtShared // sqlite3.c:61445:12 26486 _ = _pList 26487 var _removed int32 // sqlite3.c:61446:7 26488 _ = _removed 26489 _removed = i32(0) 26490 func() int32 { 26491 if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 26492 return i32(0) 26493 } 26494 return func() int32 { 26495 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61448), unsafe.Pointer((*int8)(unsafe.Pointer(&_removeFromSharingListØ00__func__Ø000))), unsafe.Pointer(str(23100))) 26496 crt.X__builtin_abort(tls) 26497 return i32(0) 26498 }() 26499 }() 26500 _pMaster = _sqlite3MutexAlloc(tls, i32(2)) 26501 Xsqlite3_mutex_enter(tls, _pMaster) 26502 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(64 /* X23 */))) -= 1 26503 if (_pBt.X23) > i32(0) { 26504 goto _2 26505 } 26506 26507 if _sqlite3SharedCacheList != _pBt { 26508 goto _3 26509 } 26510 26511 _sqlite3SharedCacheList = (*XBtShared)(unsafe.Pointer(_pBt.X24)) 26512 bug20530(_sqlite3SharedCacheList) 26513 goto _4 26514 26515 _3: 26516 _pList = _sqlite3SharedCacheList 26517 _5: 26518 if func() int32 { 26519 if _pList != nil { 26520 return i32(1) 26521 } 26522 return func() int32 { 26523 func() int32 { 26524 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61457), unsafe.Pointer((*int8)(unsafe.Pointer(&_removeFromSharingListØ00__func__Ø000))), unsafe.Pointer(str(5204))) 26525 crt.X__builtin_abort(tls) 26526 return i32(0) 26527 }() 26528 return i32(0) 26529 }() 26530 }() == 0 || (*XBtShared)(unsafe.Pointer(_pList.X24)) == _pBt { 26531 goto _6 26532 } 26533 26534 _pList = (*XBtShared)(unsafe.Pointer(_pList.X24)) 26535 goto _5 26536 26537 _6: 26538 if func() int32 { 26539 if _pList != nil { 26540 return i32(1) 26541 } 26542 return func() int32 { 26543 func() int32 { 26544 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61460), unsafe.Pointer((*int8)(unsafe.Pointer(&_removeFromSharingListØ00__func__Ø000))), unsafe.Pointer(str(5204))) 26545 crt.X__builtin_abort(tls) 26546 return i32(0) 26547 }() 26548 return i32(0) 26549 }() 26550 }() == 0 { 26551 goto _12 26552 } 26553 26554 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(68 /* X24 */))))) = (*XBtShared)(unsafe.Pointer(_pBt.X24)) 26555 _12: 26556 _4: 26557 Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) 26558 _removed = i32(1) 26559 _2: 26560 Xsqlite3_mutex_leave(tls, _pMaster) 26561 r0 = _removed 26562 return 26563 26564 } 26565 26566 var _removeFromSharingListØ00__func__Ø000 [22]int8 // - 26567 26568 func init() { 26569 crt.Xstrncpy(nil, &_removeFromSharingListØ00__func__Ø000[0], str(23136), 22) 26570 } 26571 26572 var _sqlite3SharedCacheList *XBtShared // sqlite3.c:59035:17 26573 26574 func Xsqlite3_mutex_free(tls *crt.TLS, _p *Xsqlite3_mutex) { // sqlite3.c:22825:12 26575 if _p == nil { 26576 goto _0 26577 } 26578 26579 func() int32 { 26580 if (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 26581 f func(*crt.TLS, unsafe.Pointer) 26582 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X3)}))) != nil { 26583 return i32(0) 26584 } 26585 return func() int32 { 26586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22827), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_freeØ00__func__Ø000))), unsafe.Pointer(str(23160))) 26587 crt.X__builtin_abort(tls) 26588 return i32(0) 26589 }() 26590 }() 26591 (*(*func(*crt.TLS, *Xsqlite3_mutex))(unsafe.Pointer(&struct { 26592 f func(*crt.TLS, unsafe.Pointer) 26593 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X3)})))(tls, _p) 26594 _0: 26595 return 26596 26597 } 26598 26599 var _sqlite3_mutex_freeØ00__func__Ø000 [19]int8 // - 26600 26601 func init() { 26602 crt.Xstrncpy(nil, &_sqlite3_mutex_freeØ00__func__Ø000[0], str(23200), 19) 26603 } 26604 26605 func _sqlite3PagerClose(tls *crt.TLS, _pPager *XPager, _db *Xsqlite3) (r0 int32) { // sqlite3.c:50938:1 26606 var _pTmp *uint8 // sqlite3.c:50939:6 26607 _ = _pTmp 26608 _pTmp = (*uint8)(unsafe.Pointer(_pPager.X58)) 26609 func() int32 { 26610 if (_db != nil) || (bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) == i32(0)) { 26611 return i32(0) 26612 } 26613 return func() int32 { 26614 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50941), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCloseØ00__func__Ø000))), unsafe.Pointer(str(23220))) 26615 crt.X__builtin_abort(tls) 26616 return i32(0) 26617 }() 26618 }() 26619 func() int32 { 26620 if _assert_pager_state(tls, _pPager) != 0 { 26621 return i32(0) 26622 } 26623 return func() int32 { 26624 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50942), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCloseØ00__func__Ø000))), unsafe.Pointer(str(11184))) 26625 crt.X__builtin_abort(tls) 26626 return i32(0) 26627 }() 26628 }() 26629 _sqlite3BeginBenignMalloc(tls) 26630 _pagerFreeMapHdrs(tls, _pPager) 26631 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(4 /* X1 */))) = uint8(i32(0)) 26632 func() int32 { 26633 if (_db != nil) || ((*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0))))) { 26634 return i32(0) 26635 } 26636 return func() int32 { 26637 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50949), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCloseØ00__func__Ø000))), unsafe.Pointer(str(23252))) 26638 crt.X__builtin_abort(tls) 26639 return i32(0) 26640 }() 26641 }() 26642 _sqlite3WalClose(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _db, int32(_pPager.X7), _pPager.X48, func() *uint8 { 26643 if (_db != nil) && ((uint32(_db.X6) & u32(2147483648)) != 0) { 26644 return (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 26645 } 26646 return _pTmp 26647 }()) 26648 *(**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(212 /* X60 */))))) = (*XWal)(unsafe.Pointer(uintptr(i32(0)))) 26649 _pager_reset(tls, _pPager) 26650 if (_pPager.X13) == 0 { 26651 goto _11 26652 } 26653 26654 _pager_unlock(tls, _pPager) 26655 goto _12 26656 26657 _11: 26658 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 26659 goto _13 26660 } 26661 26662 _pager_error(tls, _pPager, _pagerSyncHotJournal(tls, _pPager)) 26663 _13: 26664 _pagerUnlockAndRollback(tls, _pPager) 26665 _12: 26666 _sqlite3EndBenignMalloc(tls) 26667 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 26668 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) 26669 _sqlite3PageFree(tls, (unsafe.Pointer)(_pTmp)) 26670 _sqlite3PcacheClose(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 26671 func() int32 { 26672 if ((*XPagerSavepoint)(unsafe.Pointer(_pPager.X37)) == nil) && ((*XBitvec)(unsafe.Pointer(_pPager.X30)) == nil) { 26673 return i32(0) 26674 } 26675 return func() int32 { 26676 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50988), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCloseØ00__func__Ø000))), unsafe.Pointer(str(23276))) 26677 crt.X__builtin_abort(tls) 26678 return i32(0) 26679 }() 26680 }() 26681 func() int32 { 26682 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) && ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X33)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 26683 return i32(0) 26684 } 26685 return func() int32 { 26686 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50989), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCloseØ00__func__Ø000))), unsafe.Pointer(str(23320))) 26687 crt.X__builtin_abort(tls) 26688 return i32(0) 26689 }() 26690 }() 26691 Xsqlite3_free(tls, (unsafe.Pointer)(_pPager)) 26692 r0 = i32(0) 26693 return 26694 26695 } 26696 26697 var _sqlite3PagerCloseØ00__func__Ø000 [18]int8 // - 26698 26699 func init() { 26700 crt.Xstrncpy(nil, &_sqlite3PagerCloseØ00__func__Ø000[0], str(23368), 18) 26701 } 26702 26703 func _pagerFreeMapHdrs(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50914:1 26704 var _p *XPgHdr // sqlite3.c:50915:9 26705 _ = _p 26706 var _pNext *XPgHdr // sqlite3.c:50916:9 26707 _ = _pNext 26708 _p = (*XPgHdr)(unsafe.Pointer(_pPager.X43)) 26709 _0: 26710 if _p == nil { 26711 goto _3 26712 } 26713 26714 _pNext = (*XPgHdr)(unsafe.Pointer(_p.X3)) 26715 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 26716 _p = _pNext 26717 goto _0 26718 26719 _3: 26720 return 26721 26722 } 26723 26724 func _sqlite3WalClose(tls *crt.TLS, _pWal *XWal, _db *Xsqlite3, _sync_flags int32, _nBuf int32, _zBuf *uint8) (r0 int32) { // sqlite3.c:56327:1 26725 var _rc int32 // sqlite3.c:56334:7 26726 _ = _rc 26727 var _1_isDelete int32 // sqlite3.c:56336:9 26728 _ = _1_isDelete 26729 var _4_bPersist int32 // sqlite3.c:56356:13 26730 _ = _4_bPersist 26731 _rc = i32(0) 26732 if _pWal == nil { 26733 goto _0 26734 } 26735 26736 _1_isDelete = i32(0) 26737 if _zBuf == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) != store961(&_rc, _sqlite3OsLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), i32(4))) { 26738 goto _2 26739 } 26740 26741 if int32(_pWal.X11) != i32(0) { 26742 goto _3 26743 } 26744 26745 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(43 /* X11 */))) = uint8(i32(1)) 26746 _3: 26747 _rc = _sqlite3WalCheckpoint(tls, _pWal, _db, i32(0), nil, (unsafe.Pointer)(uintptr(i32(0))), _sync_flags, _nBuf, _zBuf, (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 26748 if _rc != i32(0) { 26749 goto _4 26750 } 26751 26752 _4_bPersist = i32(-1) 26753 _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), i32(10), (unsafe.Pointer)(&_4_bPersist)) 26754 if _4_bPersist == i32(1) { 26755 goto _5 26756 } 26757 26758 _1_isDelete = i32(1) 26759 goto _6 26760 26761 _5: 26762 if (_pWal.X4) < int64(i32(0)) { 26763 goto _7 26764 } 26765 26766 _walLimitSize(tls, _pWal, int64(i32(0))) 26767 _7: 26768 _6: 26769 _4: 26770 _2: 26771 _walIndexClose(tls, _pWal, _1_isDelete) 26772 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2))) 26773 if _1_isDelete == 0 { 26774 goto _8 26775 } 26776 26777 _sqlite3BeginBenignMalloc(tls) 26778 _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pWal.X0)), _pWal.X21, i32(0)) 26779 _sqlite3EndBenignMalloc(tls) 26780 _8: 26781 Xsqlite3_free(tls, (unsafe.Pointer)(_pWal.X7)) 26782 Xsqlite3_free(tls, (unsafe.Pointer)(_pWal)) 26783 _0: 26784 r0 = _rc 26785 return 26786 26787 } 26788 26789 func _sqlite3OsLock(tls *crt.TLS, _id *Xsqlite3_file, _lockType int32) (r0 int32) { // sqlite3.c:20158:1 26790 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { 26791 f func(*crt.TLS, unsafe.Pointer, int32) int32 26792 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X7)})))(tls, _id, _lockType) 26793 return 26794 26795 } 26796 26797 func _sqlite3WalCheckpoint(tls *crt.TLS, _pWal *XWal, _db *Xsqlite3, _eMode int32, _xBusy func(*crt.TLS, unsafe.Pointer) int32, _pBusyArg unsafe.Pointer, _sync_flags int32, _nBuf int32, _zBuf *uint8, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:57681:1 26798 var _rc int32 // sqlite3.c:57693:7 26799 _ = _rc 26800 var _isChanged int32 // sqlite3.c:57694:7 26801 _ = _isChanged 26802 var _eMode2 int32 // sqlite3.c:57695:7 26803 _ = _eMode2 26804 var _xBusy2 func(*crt.TLS, unsafe.Pointer) int32 // sqlite3.c:57696:7 26805 _ = _xBusy2 26806 _isChanged = i32(0) 26807 _eMode2 = _eMode 26808 _xBusy2 = _xBusy 26809 func() int32 { 26810 if int32(_pWal.X13) == i32(0) { 26811 return i32(0) 26812 } 26813 return func() int32 { 26814 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57698), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23388))) 26815 crt.X__builtin_abort(tls) 26816 return i32(0) 26817 }() 26818 }() 26819 func() int32 { 26820 if int32(_pWal.X12) == i32(0) { 26821 return i32(0) 26822 } 26823 return func() int32 { 26824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57699), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalCheckpointØ00__func__Ø000))), unsafe.Pointer(str(19792))) 26825 crt.X__builtin_abort(tls) 26826 return i32(0) 26827 }() 26828 }() 26829 func() int32 { 26830 if (_eMode != i32(0)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 26831 f func(*crt.TLS, unsafe.Pointer) int32 26832 }{_xBusy})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 26833 f func(*crt.TLS, unsafe.Pointer) int32 26834 }{nil}))) { 26835 return i32(0) 26836 } 26837 return func() int32 { 26838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57703), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23408))) 26839 crt.X__builtin_abort(tls) 26840 return i32(0) 26841 }() 26842 }() 26843 if (_pWal.X14) == 0 { 26844 goto _7 26845 } 26846 26847 r0 = i32(8) 26848 return 26849 26850 _7: 26851 _rc = _walLockExclusive(tls, _pWal, i32(1), i32(1)) 26852 if _rc == 0 { 26853 goto _8 26854 } 26855 26856 r0 = _rc 26857 return 26858 26859 _8: 26860 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(45 /* X13 */))) = uint8(i32(1)) 26861 if _eMode == i32(0) { 26862 goto _9 26863 } 26864 26865 _rc = _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(0), i32(1)) 26866 if _rc != i32(0) { 26867 goto _10 26868 } 26869 26870 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(44 /* X12 */))) = uint8(i32(1)) 26871 goto _11 26872 26873 _10: 26874 if _rc != i32(5) { 26875 goto _12 26876 } 26877 26878 _eMode2 = i32(0) 26879 _xBusy2 = nil 26880 _rc = i32(0) 26881 _12: 26882 _11: 26883 _9: 26884 if _rc != i32(0) { 26885 goto _13 26886 } 26887 26888 _rc = _walIndexReadHdr(tls, _pWal, &_isChanged) 26889 if _isChanged == 0 || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)).X0)).X0) < i32(3) { 26890 goto _15 26891 } 26892 26893 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) 26894 _15: 26895 _13: 26896 if _rc != i32(0) { 26897 goto _16 26898 } 26899 26900 if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X6) == 0 || _walPagesize(tls, _pWal) == _nBuf { 26901 goto _18 26902 } 26903 26904 _rc = _sqlite3CorruptError(tls, i32(57756)) 26905 goto _19 26906 26907 _18: 26908 _rc = _walCheckpoint(tls, _pWal, _db, _eMode2, _xBusy2, _pBusyArg, _sync_flags, _zBuf) 26909 _19: 26910 if _rc != i32(0) && _rc != i32(5) { 26911 goto _21 26912 } 26913 26914 if _pnLog == nil { 26915 goto _22 26916 } 26917 26918 *_pnLog = int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) 26919 _22: 26920 if _pnCkpt == nil { 26921 goto _23 26922 } 26923 26924 *_pnCkpt = int32(_walCkptInfo(tls, _pWal).X0) 26925 _23: 26926 _21: 26927 _16: 26928 if _isChanged == 0 { 26929 goto _24 26930 } 26931 26932 crt.Xmemset(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), i32(0), u32(48)) 26933 _24: 26934 _sqlite3WalEndWriteTransaction(tls, _pWal) 26935 _walUnlockExclusive(tls, _pWal, i32(1), i32(1)) 26936 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(45 /* X13 */))) = uint8(i32(0)) 26937 r0 = func() int32 { 26938 if (_rc == i32(0)) && (_eMode != _eMode2) { 26939 return i32(5) 26940 } 26941 return _rc 26942 }() 26943 return 26944 26945 } 26946 26947 var _sqlite3WalCheckpointØ00__func__Ø000 [21]int8 // - 26948 26949 func init() { 26950 crt.Xstrncpy(nil, &_sqlite3WalCheckpointØ00__func__Ø000[0], str(23456), 21) 26951 } 26952 26953 func _walLockExclusive(tls *crt.TLS, _pWal *XWal, _lockIdx int32, _n int32) (r0 int32) { // sqlite3.c:55216:1 26954 var _rc int32 // sqlite3.c:55217:7 26955 _ = _rc 26956 if (_pWal.X11) == 0 { 26957 goto _0 26958 } 26959 26960 r0 = i32(0) 26961 return 26962 26963 _0: 26964 _rc = _sqlite3OsShmLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _lockIdx, _n, i32(10)) 26965 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(116 /* X23 */))) = uint8(bool2int((_rc != i32(0)) && (_rc != i32(5)))) 26966 r0 = _rc 26967 return 26968 26969 } 26970 26971 func _walBusyLock(tls *crt.TLS, _pWal *XWal, _xBusy func(*crt.TLS, unsafe.Pointer) int32, _pBusyArg unsafe.Pointer, _lockIdx int32, _n int32) (r0 int32) { // sqlite3.c:56038:1 26972 var _rc int32 // sqlite3.c:56045:7 26973 _ = _rc 26974 _0: 26975 _rc = _walLockExclusive(tls, _pWal, _lockIdx, _n) 26976 if ((_xBusy != nil) && (_rc == i32(5))) && _xBusy(tls, _pBusyArg) != 0 { 26977 goto _0 26978 } 26979 26980 r0 = _rc 26981 return 26982 26983 } 26984 26985 func _walIndexReadHdr(tls *crt.TLS, _pWal *XWal, _pChanged *int32) (r0 int32) { // sqlite3.c:56466:1 26986 var _rc int32 // sqlite3.c:56467:7 26987 _ = _rc 26988 var _badHdr int32 // sqlite3.c:56468:7 26989 _ = _badHdr 26990 var _page0 *uint32 // sqlite3.c:56469:16 26991 _ = _page0 26992 func() int32 { 26993 if _pChanged != nil { 26994 return i32(0) 26995 } 26996 return func() int32 { 26997 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56474), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexReadHdrØ00__func__Ø000))), unsafe.Pointer(str(23480))) 26998 crt.X__builtin_abort(tls) 26999 return i32(0) 27000 }() 27001 }() 27002 _rc = _walIndexPage(tls, _pWal, i32(0), &_page0) 27003 if _rc == i32(0) { 27004 goto _2 27005 } 27006 27007 r0 = _rc 27008 return 27009 27010 _2: 27011 func() int32 { 27012 if (_page0 != nil) || (int32(_pWal.X12) == i32(0)) { 27013 return i32(0) 27014 } 27015 return func() int32 { 27016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56479), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexReadHdrØ00__func__Ø000))), unsafe.Pointer(str(23492))) 27017 crt.X__builtin_abort(tls) 27018 return i32(0) 27019 }() 27020 }() 27021 _badHdr = func() int32 { 27022 if _page0 != nil { 27023 return _walIndexTryHdr(tls, _pWal, _pChanged) 27024 } 27025 return i32(1) 27026 }() 27027 func() int32 { 27028 if (_badHdr == i32(0)) || (int32(_pWal.X12) == i32(0)) { 27029 return i32(0) 27030 } 27031 return func() int32 { 27032 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56491), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexReadHdrØ00__func__Ø000))), unsafe.Pointer(str(23520))) 27033 crt.X__builtin_abort(tls) 27034 return i32(0) 27035 }() 27036 }() 27037 if _badHdr == 0 { 27038 goto _11 27039 } 27040 27041 if (int32(_pWal.X14) & i32(2)) == 0 { 27042 goto _12 27043 } 27044 27045 if i32(0) != store961(&_rc, _walLockShared(tls, _pWal, i32(0))) { 27046 goto _13 27047 } 27048 27049 _walUnlockShared(tls, _pWal, i32(0)) 27050 _rc = i32(264) 27051 _13: 27052 goto _14 27053 27054 _12: 27055 if i32(0) != store961(&_rc, _walLockExclusive(tls, _pWal, i32(0), i32(1))) { 27056 goto _15 27057 } 27058 27059 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(44 /* X12 */))) = uint8(i32(1)) 27060 if i32(0) != store961(&_rc, _walIndexPage(tls, _pWal, i32(0), &_page0)) { 27061 goto _16 27062 } 27063 27064 _badHdr = _walIndexTryHdr(tls, _pWal, _pChanged) 27065 if _badHdr == 0 { 27066 goto _17 27067 } 27068 27069 _rc = _walIndexRecover(tls, _pWal) 27070 *_pChanged = i32(1) 27071 _17: 27072 _16: 27073 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(44 /* X12 */))) = uint8(i32(0)) 27074 _walUnlockExclusive(tls, _pWal, i32(0), i32(1)) 27075 _15: 27076 _14: 27077 _11: 27078 if _badHdr != i32(0) || ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X0) == uint32(i32(3007000)) { 27079 goto _19 27080 } 27081 27082 _rc = _sqlite3CantopenError(tls, i32(56521)) 27083 _19: 27084 r0 = _rc 27085 return 27086 27087 } 27088 27089 var _walIndexReadHdrØ00__func__Ø000 [16]int8 // - 27090 27091 func init() { 27092 crt.Xstrncpy(nil, &_walIndexReadHdrØ00__func__Ø000[0], str(23552), 16) 27093 } 27094 27095 func _walIndexTryHdr(tls *crt.TLS, _pWal *XWal, _pChanged *int32) (r0 int32) { // sqlite3.c:56408:1 27096 var _aCksum [2]uint32 // sqlite3.c:56409:7 27097 _ = _aCksum 27098 var _h1 XWalIndexHdr // sqlite3.c:56410:15 27099 _ = _h1 27100 var _h2 XWalIndexHdr // sqlite3.c:56410:19 27101 _ = _h2 27102 var _aHdr *XWalIndexHdr // sqlite3.c:56411:24 27103 _ = _aHdr 27104 func() int32 { 27105 if ((_pWal.X5) > i32(0)) && ((*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0))))) != nil) { 27106 return i32(0) 27107 } 27108 return func() int32 { 27109 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56414), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexTryHdrØ00__func__Ø000))), unsafe.Pointer(str(15636))) 27110 crt.X__builtin_abort(tls) 27111 return i32(0) 27112 }() 27113 }() 27114 _aHdr = _walIndexHdr(tls, _pWal) 27115 crt.Xmemcpy(tls, (unsafe.Pointer)(&_h1), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHdr))+48*uintptr(i32(0))))), u32(48)) 27116 _walShmBarrier(tls, _pWal) 27117 crt.Xmemcpy(tls, (unsafe.Pointer)(&_h2), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHdr))+48*uintptr(i32(1))))), u32(48)) 27118 if crt.Xmemcmp(tls, (unsafe.Pointer)(&_h1), (unsafe.Pointer)(&_h2), u32(48)) == i32(0) { 27119 goto _3 27120 } 27121 27122 r0 = i32(1) 27123 return 27124 27125 _3: 27126 if int32(_h1.X3) != i32(0) { 27127 goto _4 27128 } 27129 27130 r0 = i32(1) 27131 return 27132 27133 _4: 27134 _walChecksumBytes(tls, i32(1), (*uint8)(unsafe.Pointer(&_h1)), int32(u32(40)), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*uint32)(unsafe.Pointer(&_aCksum))) 27135 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCksum)) + 4*uintptr(i32(0))))) == (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_h1))+uintptr(40 /* X10 */))))) + 4*uintptr(i32(0))))) && (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCksum)) + 4*uintptr(i32(1))))) == (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_h1))+uintptr(40 /* X10 */))))) + 4*uintptr(i32(1))))) { 27136 goto _6 27137 } 27138 27139 r0 = i32(1) 27140 return 27141 27142 _6: 27143 if crt.Xmemcmp(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), (unsafe.Pointer)(&_h1), u32(48)) == 0 { 27144 goto _7 27145 } 27146 27147 *_pChanged = i32(1) 27148 crt.Xmemcpy(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), (unsafe.Pointer)(&_h1), u32(48)) 27149 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(36 /* X8 */))) = uint32((int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X5) & i32(65024)) + ((int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X5) & i32(1)) << uint(i32(16)))) 27150 _7: 27151 r0 = i32(0) 27152 return 27153 27154 } 27155 27156 var _walIndexTryHdrØ00__func__Ø000 [15]int8 // - 27157 27158 func init() { 27159 crt.Xstrncpy(nil, &_walIndexTryHdrØ00__func__Ø000[0], str(23568), 15) 27160 } 27161 27162 func _walShmBarrier(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:55053:1 27163 if int32(_pWal.X11) == i32(2) { 27164 goto _0 27165 } 27166 27167 _sqlite3OsShmBarrier(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1))) 27168 _0: 27169 return 27170 27171 } 27172 27173 func _sqlite3OsShmBarrier(tls *crt.TLS, _id *Xsqlite3_file) { // sqlite3.c:20210:1 27174 (*(*func(*crt.TLS, *Xsqlite3_file))(unsafe.Pointer(&struct { 27175 f func(*crt.TLS, unsafe.Pointer) 27176 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X15)})))(tls, _id) 27177 return 27178 27179 } 27180 27181 func _walChecksumBytes(tls *crt.TLS, _nativeCksum int32, _a *uint8, _nByte int32, _aIn *uint32, _aOut *uint32) { // sqlite3.c:55015:1 27182 var _s1 uint32 // sqlite3.c:55022:7 27183 _ = _s1 27184 var _s2 uint32 // sqlite3.c:55022:11 27185 _ = _s2 27186 var _aData *uint32 // sqlite3.c:55023:7 27187 _ = _aData 27188 var _aEnd *uint32 // sqlite3.c:55024:7 27189 _ = _aEnd 27190 _aData = (*uint32)(unsafe.Pointer(_a)) 27191 _aEnd = (*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 1*uintptr(_nByte))))) 27192 if _aIn == nil { 27193 goto _0 27194 } 27195 27196 _s1 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aIn)) + 4*uintptr(i32(0)))) 27197 _s2 = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aIn)) + 4*uintptr(i32(1)))) 27198 goto _1 27199 27200 _0: 27201 _s1 = store985(&_s2, uint32(i32(0))) 27202 _1: 27203 func() int32 { 27204 if _nByte >= i32(8) { 27205 return i32(0) 27206 } 27207 return func() int32 { 27208 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55033), unsafe.Pointer((*int8)(unsafe.Pointer(&_walChecksumBytesØ00__func__Ø000))), unsafe.Pointer(str(23584))) 27209 crt.X__builtin_abort(tls) 27210 return i32(0) 27211 }() 27212 }() 27213 func() int32 { 27214 if (_nByte & i32(7)) == i32(0) { 27215 return i32(0) 27216 } 27217 return func() int32 { 27218 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55034), unsafe.Pointer((*int8)(unsafe.Pointer(&_walChecksumBytesØ00__func__Ø000))), unsafe.Pointer(str(23596))) 27219 crt.X__builtin_abort(tls) 27220 return i32(0) 27221 }() 27222 }() 27223 if _nativeCksum == 0 { 27224 goto _6 27225 } 27226 27227 _7: 27228 { 27229 p := &_s1 27230 *p = (*p) + ((*postInc7743883(&_aData, 4)) + _s2) 27231 sink985 = *p 27232 } 27233 { 27234 p := &_s2 27235 *p = (*p) + ((*postInc7743883(&_aData, 4)) + _s1) 27236 sink985 = *p 27237 } 27238 if uintptr(unsafe.Pointer(_aData)) < uintptr(unsafe.Pointer(_aEnd)) { 27239 goto _7 27240 } 27241 27242 goto _8 27243 27244 _6: 27245 _9: 27246 { 27247 p := &_s1 27248 *p = (*p) + (((((((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(0))))) & uint32(i32(255))) << uint(i32(24))) + (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(0))))) & uint32(i32(65280))) << uint(i32(8)))) + (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(0))))) & uint32(i32(16711680))) >> uint(i32(8)))) + (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(0))))) & u32(4278190080)) >> uint(i32(24)))) + _s2) 27249 sink985 = *p 27250 } 27251 { 27252 p := &_s2 27253 *p = (*p) + (((((((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(1))))) & uint32(i32(255))) << uint(i32(24))) + (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(1))))) & uint32(i32(65280))) << uint(i32(8)))) + (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(1))))) & uint32(i32(16711680))) >> uint(i32(8)))) + (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 4*uintptr(i32(1))))) & u32(4278190080)) >> uint(i32(24)))) + _s1) 27254 sink985 = *p 27255 } 27256 { 27257 p := &_aData 27258 *p = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 4*uintptr(i32(2)))) 27259 sink7743883 = *p 27260 } 27261 if uintptr(unsafe.Pointer(_aData)) < uintptr(unsafe.Pointer(_aEnd)) { 27262 goto _9 27263 } 27264 27265 _8: 27266 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOut)) + 4*uintptr(i32(0)))) = _s1 27267 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOut)) + 4*uintptr(i32(1)))) = _s2 27268 return 27269 27270 } 27271 27272 var _walChecksumBytesØ00__func__Ø000 [17]int8 // - 27273 27274 func init() { 27275 crt.Xstrncpy(nil, &_walChecksumBytesØ00__func__Ø000[0], str(23620), 17) 27276 } 27277 27278 func _walIndexRecover(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:55485:1 27279 var _rc int32 // sqlite3.c:55486:7 27280 _ = _rc 27281 var _nSize int64 // sqlite3.c:55487:7 27282 _ = _nSize 27283 var _aFrameCksum [2]uint32 // sqlite3.c:55488:7 27284 _ = _aFrameCksum 27285 var _iLock int32 // sqlite3.c:55489:7 27286 _ = _iLock 27287 var _nLock int32 // sqlite3.c:55490:7 27288 _ = _nLock 27289 var _3_aBuf [32]uint8 // sqlite3.c:55518:8 27290 _ = _3_aBuf 27291 var _3_aFrame *uint8 // sqlite3.c:55519:8 27292 _ = _3_aFrame 27293 var _3_szFrame int32 // sqlite3.c:55520:9 27294 _ = _3_szFrame 27295 var _3_aData *uint8 // sqlite3.c:55521:8 27296 _ = _3_aData 27297 var _3_iFrame int32 // sqlite3.c:55522:9 27298 _ = _3_iFrame 27299 var _3_iOffset int64 // sqlite3.c:55523:9 27300 _ = _3_iOffset 27301 var _3_szPage int32 // sqlite3.c:55524:9 27302 _ = _3_szPage 27303 var _3_magic uint32 // sqlite3.c:55525:9 27304 _ = _3_magic 27305 var _3_version uint32 // sqlite3.c:55526:9 27306 _ = _3_version 27307 var _3_isValid int32 // sqlite3.c:55527:9 27308 _ = _3_isValid 27309 var _9_pgno uint32 // sqlite3.c:55584:11 27310 _ = _9_pgno 27311 var _9_nTruncate uint32 // sqlite3.c:55585:11 27312 _ = _9_nTruncate 27313 var _11_pInfo *XWalCkptInfo // sqlite3.c:55613:26 27314 _ = _11_pInfo 27315 var _11_i int32 // sqlite3.c:55614:9 27316 _ = _11_i 27317 _aFrameCksum = [2]uint32{} 27318 func() int32 { 27319 if (int32(_pWal.X13) == i32(1)) || (int32(_pWal.X13) == i32(0)) { 27320 return i32(0) 27321 } 27322 return func() int32 { 27323 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55498), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexRecoverØ00__func__Ø000))), unsafe.Pointer(str(23640))) 27324 crt.X__builtin_abort(tls) 27325 return i32(0) 27326 }() 27327 }() 27328 i32(0) 27329 i32(0) 27330 func() int32 { 27331 if (_pWal.X12) != 0 { 27332 return i32(0) 27333 } 27334 return func() int32 { 27335 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55501), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexRecoverØ00__func__Ø000))), unsafe.Pointer(str(15980))) 27336 crt.X__builtin_abort(tls) 27337 return i32(0) 27338 }() 27339 }() 27340 _iLock = i32(1) + int32(_pWal.X13) 27341 _nLock = i32(8) - _iLock 27342 _rc = _walLockExclusive(tls, _pWal, _iLock, _nLock) 27343 if _rc == 0 { 27344 goto _5 27345 } 27346 27347 r0 = _rc 27348 return 27349 27350 _5: 27351 crt.Xmemset(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), i32(0), u32(48)) 27352 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), &_nSize) 27353 if _rc == i32(0) { 27354 goto _6 27355 } 27356 27357 goto _recovery_error 27358 27359 _6: 27360 if _nSize <= int64(i32(32)) { 27361 goto _7 27362 } 27363 27364 _3_aFrame = nil 27365 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(&_3_aBuf), i32(32), int64(i32(0))) 27366 if _rc == i32(0) { 27367 goto _8 27368 } 27369 27370 goto _recovery_error 27371 27372 _8: 27373 _3_magic = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(0))))) 27374 _3_szPage = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(8)))))) 27375 if (_3_magic&u32(4294967294)) == uint32(i32(931071618)) && (_3_szPage&(_3_szPage-i32(1))) == 0 && _3_szPage <= i32(65536) && _3_szPage >= i32(512) { 27376 goto _12 27377 } 27378 27379 goto _finished 27380 27381 _12: 27382 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(13 /* X4 */))) = uint8(_3_magic & uint32(i32(1))) 27383 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(36 /* X8 */))) = uint32(_3_szPage) 27384 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(112 /* X22 */))) = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(12))))) 27385 crt.Xmemcpy(tls, (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(32 /* X9 */)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(16))))), uint32(i32(8))) 27386 _walChecksumBytes(tls, bool2int(int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X4) == i32(0)), (*uint8)(unsafe.Pointer(&_3_aBuf)), i32(24), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */)))))) 27387 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0))))) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(24))))) && (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1))))) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(28))))) { 27388 goto _14 27389 } 27390 27391 goto _finished 27392 27393 _14: 27394 _3_version = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aBuf))+1*uintptr(i32(4))))) 27395 if _3_version == uint32(i32(3007000)) { 27396 goto _15 27397 } 27398 27399 _rc = _sqlite3CantopenError(tls, i32(55568)) 27400 goto _finished 27401 27402 _15: 27403 _3_szFrame = _3_szPage + i32(24) 27404 _3_aFrame = (*uint8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_3_szFrame)))) 27405 if _3_aFrame != nil { 27406 goto _16 27407 } 27408 27409 _rc = _sqlite3NomemError(tls, i32(55576)) 27410 goto _recovery_error 27411 27412 _16: 27413 _3_aData = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_aFrame)) + 1*uintptr(i32(24)))) 27414 _3_iFrame = i32(0) 27415 _3_iOffset = int64(i32(32)) 27416 _17: 27417 if (_3_iOffset + int64(_3_szFrame)) > _nSize { 27418 goto _20 27419 } 27420 27421 _3_iFrame += 1 27422 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_3_aFrame), _3_szFrame, _3_iOffset) 27423 if _rc == i32(0) { 27424 goto _21 27425 } 27426 27427 goto _20 27428 27429 _21: 27430 _3_isValid = _walDecodeFrame(tls, _pWal, &_9_pgno, &_9_nTruncate, _3_aData, _3_aFrame) 27431 if _3_isValid != 0 { 27432 goto _22 27433 } 27434 27435 goto _20 27436 27437 _22: 27438 _rc = _walIndexAppend(tls, _pWal, uint32(_3_iFrame), _9_pgno) 27439 if _rc == i32(0) { 27440 goto _23 27441 } 27442 27443 goto _20 27444 27445 _23: 27446 if _9_nTruncate == 0 { 27447 goto _24 27448 } 27449 27450 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(16 /* X6 */))) = uint32(_3_iFrame) 27451 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(20 /* X7 */))) = _9_nTruncate 27452 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(14 /* X5 */))) = uint16((_3_szPage & i32(65280)) | (_3_szPage >> uint(i32(16)))) 27453 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFrameCksum)) + 4*uintptr(i32(0)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) 27454 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFrameCksum)) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) 27455 _24: 27456 { 27457 p := &_3_iOffset 27458 *p = (*p) + int64(_3_szFrame) 27459 sink967 = *p 27460 } 27461 goto _17 27462 27463 _20: 27464 Xsqlite3_free(tls, (unsafe.Pointer)(_3_aFrame)) 27465 _7: 27466 _finished: 27467 if _rc != i32(0) { 27468 goto _25 27469 } 27470 27471 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFrameCksum)) + 4*uintptr(i32(0)))) 27472 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFrameCksum)) + 4*uintptr(i32(1)))) 27473 _walIndexWriteHdr(tls, _pWal) 27474 _11_pInfo = _walCkptInfo(tls, _pWal) 27475 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo)) + uintptr(0 /* X0 */))) = uint32(i32(0)) 27476 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo)) + uintptr(32 /* X3 */))) = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 27477 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(i32(0)))) = uint32(i32(0)) 27478 _11_i = i32(1) 27479 _26: 27480 if _11_i >= i32(5) { 27481 goto _29 27482 } 27483 27484 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_11_i))) = u32(4294967295) 27485 _11_i += 1 27486 goto _26 27487 27488 _29: 27489 if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) == 0 { 27490 goto _30 27491 } 27492 27493 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(i32(1)))) = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 27494 _30: 27495 if ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X7) == 0 { 27496 goto _31 27497 } 27498 27499 Xsqlite3_log(tls, i32(283), str(23680), (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X6, unsafe.Pointer(_pWal.X21)) 27500 _31: 27501 _25: 27502 _recovery_error: 27503 _walUnlockExclusive(tls, _pWal, _iLock, _nLock) 27504 r0 = _rc 27505 return 27506 27507 } 27508 27509 var _walIndexRecoverØ00__func__Ø000 [16]int8 // - 27510 27511 func init() { 27512 crt.Xstrncpy(nil, &_walIndexRecoverØ00__func__Ø000[0], str(23720), 16) 27513 } 27514 27515 func _sqlite3CantopenError(tls *crt.TLS, _lineno int32) (r0 int32) { // sqlite3.c:143236:1 27516 r0 = _reportError(tls, i32(14), _lineno, str(23736)) 27517 return 27518 27519 } 27520 27521 func _walDecodeFrame(tls *crt.TLS, _pWal *XWal, _piPage *uint32, _pnTruncate *uint32, _aData *uint8, _aFrame *uint8) (r0 int32) { // sqlite3.c:55121:1 27522 var _nativeCksum int32 // sqlite3.c:55128:7 27523 _ = _nativeCksum 27524 var _aCksum *uint32 // sqlite3.c:55129:7 27525 _ = _aCksum 27526 var _pgno uint32 // sqlite3.c:55130:7 27527 _ = _pgno 27528 _aCksum = (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(24 /* X8 */))))) 27529 i32(0) 27530 if crt.Xmemcmp(tls, (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(32 /* X9 */)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(8))))), uint32(i32(8))) == i32(0) { 27531 goto _0 27532 } 27533 27534 r0 = i32(0) 27535 return 27536 27537 _0: 27538 _pgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(0))))) 27539 if _pgno != uint32(i32(0)) { 27540 goto _1 27541 } 27542 27543 r0 = i32(0) 27544 return 27545 27546 _1: 27547 _nativeCksum = bool2int(int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X4) == i32(0)) 27548 _walChecksumBytes(tls, _nativeCksum, _aFrame, i32(8), _aCksum, _aCksum) 27549 _walChecksumBytes(tls, _nativeCksum, _aData, int32(_pWal.X8), _aCksum, _aCksum) 27550 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCksum)) + 4*uintptr(i32(0))))) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(16))))) && (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCksum)) + 4*uintptr(i32(1))))) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(20))))) { 27551 goto _3 27552 } 27553 27554 r0 = i32(0) 27555 return 27556 27557 _3: 27558 *_piPage = _pgno 27559 *_pnTruncate = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(4))))) 27560 r0 = i32(1) 27561 return 27562 27563 } 27564 27565 func _walIndexAppend(tls *crt.TLS, _pWal *XWal, _iFrame uint32, _iPage uint32) (r0 int32) { // sqlite3.c:55396:1 27566 var _rc int32 // sqlite3.c:55397:7 27567 _ = _rc 27568 var _iZero uint32 // sqlite3.c:55398:7 27569 _ = _iZero 27570 var _aPgno *uint32 // sqlite3.c:55399:16 27571 _ = _aPgno 27572 var _aHash *uint16 // sqlite3.c:55400:20 27573 _ = _aHash 27574 var _1_iKey int32 // sqlite3.c:55408:9 27575 _ = _1_iKey 27576 var _1_idx int32 // sqlite3.c:55409:9 27577 _ = _1_idx 27578 var _1_nCollide int32 // sqlite3.c:55410:9 27579 _ = _1_nCollide 27580 var _2_nByte int32 // sqlite3.c:55419:11 27581 _ = _2_nByte 27582 _iZero = u32(0) 27583 _aPgno = nil 27584 _aHash = nil 27585 _rc = _walHashGet(tls, _pWal, _walFramePage(tls, _iFrame), &_aHash, &_aPgno, &_iZero) 27586 if _rc != i32(0) { 27587 goto _0 27588 } 27589 27590 _1_idx = int32(_iFrame - _iZero) 27591 func() int32 { 27592 if _1_idx <= i32(4097) { 27593 return i32(0) 27594 } 27595 return func() int32 { 27596 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55413), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexAppendØ00__func__Ø000))), unsafe.Pointer(str(23756))) 27597 crt.X__builtin_abort(tls) 27598 return i32(0) 27599 }() 27600 }() 27601 if _1_idx != i32(1) { 27602 goto _3 27603 } 27604 27605 _2_nByte = int32((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash))+2*uintptr(i32(8192)))))))) - uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno))+4*uintptr(i32(1))))))))) / 1) 27606 crt.Xmemset(tls, (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno))+4*uintptr(i32(1))))), i32(0), uint32(_2_nByte)) 27607 _3: 27608 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(_1_idx)))) == 0 { 27609 goto _4 27610 } 27611 27612 _walCleanupHash(tls, _pWal) 27613 func() int32 { 27614 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(_1_idx)))) == 0 { 27615 return i32(0) 27616 } 27617 return func() int32 { 27618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55431), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexAppendØ00__func__Ø000))), unsafe.Pointer(str(23788))) 27619 crt.X__builtin_abort(tls) 27620 return i32(0) 27621 }() 27622 }() 27623 _4: 27624 _1_nCollide = _1_idx 27625 _1_iKey = _walHash(tls, _iPage) 27626 _7: 27627 if (*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_1_iKey)))) == 0 { 27628 goto _10 27629 } 27630 27631 if postInc961(&_1_nCollide, int32(-1)) != i32(0) { 27632 goto _11 27633 } 27634 27635 r0 = _sqlite3CorruptError(tls, i32(55437)) 27636 return 27637 27638 _11: 27639 _1_iKey = _walNextHash(tls, _1_iKey) 27640 goto _7 27641 27642 _10: 27643 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPgno)) + 4*uintptr(_1_idx))) = _iPage 27644 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHash)) + 2*uintptr(_1_iKey))) = uint16(_1_idx) 27645 _0: 27646 r0 = _rc 27647 return 27648 27649 } 27650 27651 var _walIndexAppendØ00__func__Ø000 [15]int8 // - 27652 27653 func init() { 27654 crt.Xstrncpy(nil, &_walIndexAppendØ00__func__Ø000[0], str(23800), 15) 27655 } 27656 27657 func _walIndexWriteHdr(tls *crt.TLS, _pWal *XWal) { // sqlite3.c:55064:1 27658 var _aHdr *XWalIndexHdr // sqlite3.c:55065:24 27659 _ = _aHdr 27660 var _nCksum int32 // sqlite3.c:55066:13 27661 _ = _nCksum 27662 _aHdr = _walIndexHdr(tls, _pWal) 27663 _nCksum = i32(40) 27664 func() int32 { 27665 if (_pWal.X12) != 0 { 27666 return i32(0) 27667 } 27668 return func() int32 { 27669 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55068), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIndexWriteHdrØ00__func__Ø000))), unsafe.Pointer(str(15980))) 27670 crt.X__builtin_abort(tls) 27671 return i32(0) 27672 }() 27673 }() 27674 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(12 /* X3 */))) = uint8(i32(1)) 27675 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(0 /* X0 */))) = uint32(i32(3007000)) 27676 _walChecksumBytes(tls, i32(1), (*uint8)(unsafe.Pointer((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))), _nCksum, (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(40 /* X10 */)))))) 27677 crt.Xmemcpy(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHdr))+48*uintptr(i32(1))))), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), u32(48)) 27678 _walShmBarrier(tls, _pWal) 27679 crt.Xmemcpy(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHdr))+48*uintptr(i32(0))))), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), u32(48)) 27680 return 27681 27682 } 27683 27684 var _walIndexWriteHdrØ00__func__Ø000 [17]int8 // - 27685 27686 func init() { 27687 crt.Xstrncpy(nil, &_walIndexWriteHdrØ00__func__Ø000[0], str(23816), 17) 27688 } 27689 27690 func _walCkptInfo(tls *crt.TLS, _pWal *XWal) (r0 *XWalCkptInfo) { // sqlite3.c:54981:1 27691 func() int32 { 27692 if ((_pWal.X5) > i32(0)) && ((*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0))))) != nil) { 27693 return i32(0) 27694 } 27695 return func() int32 { 27696 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54982), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCkptInfoØ00__func__Ø000))), unsafe.Pointer(str(15636))) 27697 crt.X__builtin_abort(tls) 27698 return i32(0) 27699 }() 27700 }() 27701 r0 = (*XWalCkptInfo)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0)))))) + 4*uintptr(u32(24)))))) 27702 return 27703 27704 } 27705 27706 var _walCkptInfoØ00__func__Ø000 [12]int8 // - 27707 27708 func init() { 27709 crt.Xstrncpy(nil, &_walCkptInfoØ00__func__Ø000[0], str(23836), 12) 27710 } 27711 27712 func _walPagesize(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:56056:1 27713 r0 = (int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X5) & i32(65024)) + ((int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X5) & i32(1)) << uint(i32(16))) 27714 return 27715 27716 } 27717 27718 func _walCheckpoint(tls *crt.TLS, _pWal *XWal, _db *Xsqlite3, _eMode int32, _xBusy func(*crt.TLS, unsafe.Pointer) int32, _pBusyArg unsafe.Pointer, _sync_flags int32, _zBuf *uint8) (r0 int32) { // sqlite3.c:56124:1 27719 var _rc int32 // sqlite3.c:56133:7 27720 _ = _rc 27721 var _szPage int32 // sqlite3.c:56134:7 27722 _ = _szPage 27723 var _pIter *XWalIterator // sqlite3.c:56135:15 27724 _ = _pIter 27725 var _iDbpage uint32 // sqlite3.c:56136:7 27726 _ = _iDbpage 27727 var _iFrame uint32 // sqlite3.c:56137:7 27728 _ = _iFrame 27729 var _mxSafeFrame uint32 // sqlite3.c:56138:7 27730 _ = _mxSafeFrame 27731 var _mxPage uint32 // sqlite3.c:56139:7 27732 _ = _mxPage 27733 var _i int32 // sqlite3.c:56140:7 27734 _ = _i 27735 var _pInfo *XWalCkptInfo // sqlite3.c:56141:24 27736 _ = _pInfo 27737 var _3_y uint32 // sqlite3.c:56176:11 27738 _ = _3_y 27739 var _8_nSize int64 // sqlite3.c:56195:11 27740 _ = _8_nSize 27741 var _8_nBackfill uint32 // sqlite3.c:56196:11 27742 _ = _8_nBackfill 27743 var _10_nReq int64 // sqlite3.c:56209:13 27744 _ = _10_nReq 27745 var _12_iOffset int64 // sqlite3.c:56219:13 27746 _ = _12_iOffset 27747 var _16_szDb int64 // sqlite3.c:56241:15 27748 _ = _16_szDb 27749 var _22_salt1 uint32 // sqlite3.c:56274:11 27750 _ = _22_salt1 27751 _rc = i32(0) 27752 _pIter = nil 27753 _iDbpage = u32(0) 27754 _iFrame = u32(0) 27755 _szPage = _walPagesize(tls, _pWal) 27756 _pInfo = _walCkptInfo(tls, _pWal) 27757 if (_pInfo.X0) >= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 27758 goto _0 27759 } 27760 27761 _rc = _walIteratorInit(tls, _pWal, &_pIter) 27762 if _rc == i32(0) { 27763 goto _1 27764 } 27765 27766 r0 = _rc 27767 return 27768 27769 _1: 27770 func() int32 { 27771 if _pIter != nil { 27772 return i32(0) 27773 } 27774 return func() int32 { 27775 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56154), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23848))) 27776 crt.X__builtin_abort(tls) 27777 return i32(0) 27778 }() 27779 }() 27780 func() int32 { 27781 if (_eMode != i32(0)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 27782 f func(*crt.TLS, unsafe.Pointer) int32 27783 }{_xBusy})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 27784 f func(*crt.TLS, unsafe.Pointer) int32 27785 }{nil}))) { 27786 return i32(0) 27787 } 27788 return func() int32 { 27789 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56158), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23408))) 27790 crt.X__builtin_abort(tls) 27791 return i32(0) 27792 }() 27793 }() 27794 _mxSafeFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 27795 _mxPage = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X7 27796 _i = i32(1) 27797 _7: 27798 if _i >= i32(5) { 27799 goto _10 27800 } 27801 27802 _3_y = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) 27803 if _mxSafeFrame <= _3_y { 27804 goto _11 27805 } 27806 27807 func() int32 { 27808 if _3_y <= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 27809 return i32(0) 27810 } 27811 return func() int32 { 27812 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56178), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23856))) 27813 crt.X__builtin_abort(tls) 27814 return i32(0) 27815 }() 27816 }() 27817 _rc = _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(3)+_i, i32(1)) 27818 if _rc != i32(0) { 27819 goto _14 27820 } 27821 27822 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) = func() uint32 { 27823 if _i == i32(1) { 27824 return _mxSafeFrame 27825 } 27826 return u32(4294967295) 27827 }() 27828 _walUnlockExclusive(tls, _pWal, i32(3)+_i, i32(1)) 27829 goto _17 27830 27831 _14: 27832 if _rc != i32(5) { 27833 goto _18 27834 } 27835 27836 _mxSafeFrame = _3_y 27837 _xBusy = nil 27838 goto _19 27839 27840 _18: 27841 goto _walcheckpoint_out 27842 27843 _19: 27844 _17: 27845 _11: 27846 _i += 1 27847 goto _7 27848 27849 _10: 27850 if (_pInfo.X0) >= _mxSafeFrame || store961(&_rc, _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(3), i32(1))) != i32(0) { 27851 goto _21 27852 } 27853 27854 _8_nBackfill = _pInfo.X0 27855 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(32 /* X3 */))) = _mxSafeFrame 27856 if _sync_flags == 0 { 27857 goto _22 27858 } 27859 27860 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _sync_flags) 27861 _22: 27862 if _rc != i32(0) { 27863 goto _23 27864 } 27865 27866 _10_nReq = int64(_mxPage) * int64(_szPage) 27867 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), &_8_nSize) 27868 if _rc != i32(0) || _8_nSize >= _10_nReq { 27869 goto _25 27870 } 27871 27872 _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), i32(5), (unsafe.Pointer)(&_10_nReq)) 27873 _25: 27874 _23: 27875 _26: 27876 if _rc != i32(0) || i32(0) != _walIteratorNext(tls, _pIter, &_iDbpage, &_iFrame) { 27877 goto _27 27878 } 27879 27880 func() int32 { 27881 if _walFramePgno(tls, _pWal, _iFrame) == _iDbpage { 27882 return i32(0) 27883 } 27884 return func() int32 { 27885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56220), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23880))) 27886 crt.X__builtin_abort(tls) 27887 return i32(0) 27888 }() 27889 }() 27890 if (*(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */)))))) == 0 { 27891 goto _31 27892 } 27893 27894 _rc = func() int32 { 27895 if (_db.X17) != 0 { 27896 return _sqlite3NomemError(tls, i32(56222)) 27897 } 27898 return i32(9) 27899 }() 27900 goto _27 27901 27902 _31: 27903 if _iFrame > _8_nBackfill && _iFrame <= _mxSafeFrame && _iDbpage <= _mxPage { 27904 goto _36 27905 } 27906 27907 goto _26 27908 27909 _36: 27910 _12_iOffset = (int64(i32(32)) + (int64(_iFrame-uint32(i32(1))) * int64(_szPage+i32(24)))) + int64(i32(24)) 27911 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_zBuf), _szPage, _12_iOffset) 27912 if _rc == i32(0) { 27913 goto _37 27914 } 27915 27916 goto _27 27917 27918 _37: 27919 _12_iOffset = int64(_iDbpage-uint32(i32(1))) * int64(_szPage) 27920 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), (unsafe.Pointer)(_zBuf), _szPage, _12_iOffset) 27921 if _rc == i32(0) { 27922 goto _38 27923 } 27924 27925 goto _27 27926 27927 _38: 27928 goto _26 27929 27930 _27: 27931 if _rc != i32(0) { 27932 goto _39 27933 } 27934 27935 if _mxSafeFrame != (_walIndexHdr(tls, _pWal).X6) { 27936 goto _40 27937 } 27938 27939 _16_szDb = int64((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X7) * int64(_szPage) 27940 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _16_szDb) 27941 if _rc != i32(0) || _sync_flags == 0 { 27942 goto _42 27943 } 27944 27945 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _sync_flags) 27946 _42: 27947 _40: 27948 if _rc != i32(0) { 27949 goto _43 27950 } 27951 27952 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = _mxSafeFrame 27953 _43: 27954 _39: 27955 _walUnlockExclusive(tls, _pWal, i32(3), i32(1)) 27956 _21: 27957 if _rc != i32(5) { 27958 goto _44 27959 } 27960 27961 _rc = i32(0) 27962 _44: 27963 _0: 27964 if _rc != i32(0) || _eMode == i32(0) { 27965 goto _46 27966 } 27967 27968 func() int32 { 27969 if (_pWal.X12) != 0 { 27970 return i32(0) 27971 } 27972 return func() int32 { 27973 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56270), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCheckpointØ00__func__Ø000))), unsafe.Pointer(str(15980))) 27974 crt.X__builtin_abort(tls) 27975 return i32(0) 27976 }() 27977 }() 27978 if (_pInfo.X0) >= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 27979 goto _49 27980 } 27981 27982 _rc = i32(5) 27983 goto _50 27984 27985 _49: 27986 if _eMode < i32(2) { 27987 goto _51 27988 } 27989 27990 Xsqlite3_randomness(tls, i32(4), (unsafe.Pointer)(&_22_salt1)) 27991 func() int32 { 27992 if (_pInfo.X0) == ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 27993 return i32(0) 27994 } 27995 return func() int32 { 27996 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56276), unsafe.Pointer((*int8)(unsafe.Pointer(&_walCheckpointØ00__func__Ø000))), unsafe.Pointer(str(23916))) 27997 crt.X__builtin_abort(tls) 27998 return i32(0) 27999 }() 28000 }() 28001 _rc = _walBusyLock(tls, _pWal, _xBusy, _pBusyArg, i32(4), i32(4)) 28002 if _rc != i32(0) { 28003 goto _54 28004 } 28005 28006 if _eMode != i32(3) { 28007 goto _55 28008 } 28009 28010 _walRestartHdr(tls, _pWal, _22_salt1) 28011 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), int64(i32(0))) 28012 _55: 28013 _walUnlockExclusive(tls, _pWal, i32(4), i32(4)) 28014 _54: 28015 _51: 28016 _50: 28017 _46: 28018 _walcheckpoint_out: 28019 _walIteratorFree(tls, _pIter) 28020 r0 = _rc 28021 return 28022 28023 } 28024 28025 func _walIteratorInit(tls *crt.TLS, _pWal *XWal, _pp **XWalIterator) (r0 int32) { // sqlite3.c:55956:1 28026 var _p *XWalIterator // sqlite3.c:55957:15 28027 _ = _p 28028 var _nSegment int32 // sqlite3.c:55958:7 28029 _ = _nSegment 28030 var _iLast uint32 // sqlite3.c:55959:7 28031 _ = _iLast 28032 var _nByte int32 // sqlite3.c:55960:7 28033 _ = _nByte 28034 var _i int32 // sqlite3.c:55961:7 28035 _ = _i 28036 var _aTmp *uint16 // sqlite3.c:55962:11 28037 _ = _aTmp 28038 var _rc int32 // sqlite3.c:55963:7 28039 _ = _rc 28040 var _3_aHash *uint16 // sqlite3.c:55994:22 28041 _ = _3_aHash 28042 var _3_iZero uint32 // sqlite3.c:55995:9 28043 _ = _3_iZero 28044 var _3_aPgno *uint32 // sqlite3.c:55996:18 28045 _ = _3_aPgno 28046 var _4_j int32 // sqlite3.c:56000:11 28047 _ = _4_j 28048 var _4_nEntry int32 // sqlite3.c:56001:11 28049 _ = _4_nEntry 28050 var _4_aIndex *uint16 // sqlite3.c:56002:15 28051 _ = _4_aIndex 28052 _rc = i32(0) 28053 func() int32 { 28054 if ((_pWal.X13) != 0) && (((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) > uint32(i32(0))) { 28055 return i32(0) 28056 } 28057 return func() int32 { 28058 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55968), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIteratorInitØ00__func__Ø000))), unsafe.Pointer(str(23952))) 28059 crt.X__builtin_abort(tls) 28060 return i32(0) 28061 }() 28062 }() 28063 _iLast = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 28064 _nSegment = _walFramePage(tls, _iLast) + i32(1) 28065 _nByte = int32((u32(28) + (uint32(_nSegment-i32(1)) * u32(20))) + (_iLast * u32(2))) 28066 _p = (*XWalIterator)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_nByte)))) 28067 if _p != nil { 28068 goto _3 28069 } 28070 28071 r0 = _sqlite3NomemError(tls, i32(55978)) 28072 return 28073 28074 _3: 28075 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), uint32(_nByte)) 28076 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _nSegment 28077 _aTmp = (*uint16)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(u32(2)*func() uint32 { 28078 if _iLast > uint32(i32(4096)) { 28079 return uint32(i32(4096)) 28080 } 28081 return _iLast 28082 }())))) 28083 if _aTmp != nil { 28084 goto _6 28085 } 28086 28087 _rc = _sqlite3NomemError(tls, i32(55990)) 28088 _6: 28089 _i = i32(0) 28090 _7: 28091 if _rc != i32(0) || _i >= _nSegment { 28092 goto _11 28093 } 28094 28095 _rc = _walHashGet(tls, _pWal, _i, &_3_aHash, &_3_aPgno, &_3_iZero) 28096 if _rc != i32(0) { 28097 goto _12 28098 } 28099 28100 *(*uintptr)(unsafe.Pointer(&_3_aPgno)) += uintptr(4) 28101 if (_i + i32(1)) != _nSegment { 28102 goto _13 28103 } 28104 28105 _4_nEntry = int32(_iLast - _3_iZero) 28106 goto _14 28107 28108 _13: 28109 _4_nEntry = int32((uintptr(unsafe.Pointer((*uint32)(unsafe.Pointer(_3_aHash)))) - uintptr(unsafe.Pointer(_3_aPgno))) / 4) 28110 _14: 28111 _4_aIndex = (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7972904)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 28112 X0 int32 28113 X1 *uint16 28114 X2 *uint32 28115 X3 int32 28116 X4 int32 28117 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+20*uintptr(_p.X1))))) + 2*uintptr(_3_iZero))) 28118 _3_iZero += 1 28119 _4_j = i32(0) 28120 _15: 28121 if _4_j >= _4_nEntry { 28122 goto _18 28123 } 28124 28125 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aIndex)) + 2*uintptr(_4_j))) = uint16(_4_j) 28126 _4_j += 1 28127 goto _15 28128 28129 _18: 28130 _walMergesort(tls, _3_aPgno, _aTmp, _4_aIndex, &_4_nEntry) 28131 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7972904)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 28132 X0 int32 28133 X1 *uint16 28134 X2 *uint32 28135 X3 int32 28136 X4 int32 28137 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+20*uintptr(_i))))) + uintptr(16 /* X4 */))) = int32(_3_iZero) 28138 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7972904)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 28139 X0 int32 28140 X1 *uint16 28141 X2 *uint32 28142 X3 int32 28143 X4 int32 28144 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+20*uintptr(_i))))) + uintptr(12 /* X3 */))) = _4_nEntry 28145 *(**uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7972904)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 28146 X0 int32 28147 X1 *uint16 28148 X2 *uint32 28149 X3 int32 28150 X4 int32 28151 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+20*uintptr(_i))))) + uintptr(4 /* X1 */))) = _4_aIndex 28152 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7972904)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 28153 X0 int32 28154 X1 *uint16 28155 X2 *uint32 28156 X3 int32 28157 X4 int32 28158 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+20*uintptr(_i))))) + uintptr(8 /* X2 */))) = _3_aPgno 28159 _12: 28160 _i += 1 28161 goto _7 28162 28163 _11: 28164 Xsqlite3_free(tls, (unsafe.Pointer)(_aTmp)) 28165 if _rc == i32(0) { 28166 goto _19 28167 } 28168 28169 _walIteratorFree(tls, _p) 28170 _19: 28171 *_pp = _p 28172 r0 = _rc 28173 return 28174 28175 } 28176 28177 var _walIteratorInitØ00__func__Ø000 [16]int8 // - 28178 28179 func init() { 28180 crt.Xstrncpy(nil, &_walIteratorInitØ00__func__Ø000[0], str(23992), 16) 28181 } 28182 28183 func _walMergesort(tls *crt.TLS, _aContent *uint32, _aBuffer *uint16, _aList *uint16, _pnList *int32) { // sqlite3.c:55877:1 28184 var _nList int32 // sqlite3.c:55888:13 28185 _ = _nList 28186 var _nMerge int32 // sqlite3.c:55889:7 28187 _ = _nMerge 28188 var _aMerge *uint16 // sqlite3.c:55890:11 28189 _ = _aMerge 28190 var _iList int32 // sqlite3.c:55891:7 28191 _ = _iList 28192 var _iSub uint32 // sqlite3.c:55892:7 28193 _ = _iSub 28194 var _aSub [13]struct { 28195 X0 int32 28196 X1 *uint16 28197 } // sqlite3.c:55893:18 28198 _ = _aSub 28199 var _2_p *T7973450 // sqlite3.c:55903:22 28200 _ = _2_p 28201 var _4_p *T7973450 // sqlite3.c:55916:22 28202 _ = _4_p 28203 var _5_i int32 // sqlite3.c:55929:9 28204 _ = _5_i 28205 _nList = *_pnList 28206 _nMerge = i32(0) 28207 _aMerge = nil 28208 _iSub = u32(0) 28209 crt.Xmemset(tls, (unsafe.Pointer)(&_aSub), i32(0), u32(104)) 28210 func() int32 { 28211 if (_nList <= i32(4096)) && (_nList > i32(0)) { 28212 return i32(0) 28213 } 28214 return func() int32 { 28215 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55896), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24008))) 28216 crt.X__builtin_abort(tls) 28217 return i32(0) 28218 }() 28219 }() 28220 i32(0) 28221 _iList = i32(0) 28222 _3: 28223 if _iList >= _nList { 28224 goto _6 28225 } 28226 28227 _nMerge = i32(1) 28228 _aMerge = (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList)) + 2*uintptr(_iList))) 28229 _iSub = uint32(i32(0)) 28230 _7: 28231 if (_iList & (i32(1) << uint(int32(_iSub)))) == 0 { 28232 goto _10 28233 } 28234 28235 func() int32 { 28236 if _iSub < uint32(i32(13)) { 28237 return i32(0) 28238 } 28239 return func() int32 { 28240 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55904), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24044))) 28241 crt.X__builtin_abort(tls) 28242 return i32(0) 28243 }() 28244 }() 28245 _2_p = (*T7973450)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSub)) + 8*uintptr(_iSub))) 28246 func() int32 { 28247 if ((_2_p.X1) != nil) && ((_2_p.X0) <= (i32(1) << uint(int32(_iSub)))) { 28248 return i32(0) 28249 } 28250 return func() int32 { 28251 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55906), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24068))) 28252 crt.X__builtin_abort(tls) 28253 return i32(0) 28254 }() 28255 }() 28256 func() int32 { 28257 if (_2_p.X1) == (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList))+2*uintptr(_iList&(^((i32(2)<<uint(int32(_iSub)))-i32(1)))))) { 28258 return i32(0) 28259 } 28260 return func() int32 { 28261 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55907), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24100))) 28262 crt.X__builtin_abort(tls) 28263 return i32(0) 28264 }() 28265 }() 28266 _walMerge(tls, _aContent, _2_p.X1, _2_p.X0, &_aMerge, &_nMerge, _aBuffer) 28267 _iSub += 1 28268 goto _7 28269 28270 _10: 28271 *(**uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7973450)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSub))+8*uintptr(_iSub))))) + uintptr(4 /* X1 */))) = _aMerge 28272 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7973450)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSub))+8*uintptr(_iSub))))) + uintptr(0 /* X0 */))) = _nMerge 28273 _iList += 1 28274 goto _3 28275 28276 _6: 28277 _iSub += 1 28278 _18: 28279 if _iSub >= uint32(i32(13)) { 28280 goto _21 28281 } 28282 28283 if (_nList & (i32(1) << uint(int32(_iSub)))) == 0 { 28284 goto _22 28285 } 28286 28287 func() int32 { 28288 if _iSub < uint32(i32(13)) { 28289 return i32(0) 28290 } 28291 return func() int32 { 28292 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55917), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24044))) 28293 crt.X__builtin_abort(tls) 28294 return i32(0) 28295 }() 28296 }() 28297 _4_p = (*T7973450)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSub)) + 8*uintptr(_iSub))) 28298 func() int32 { 28299 if (_4_p.X0) <= (i32(1) << uint(int32(_iSub))) { 28300 return i32(0) 28301 } 28302 return func() int32 { 28303 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55919), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24140))) 28304 crt.X__builtin_abort(tls) 28305 return i32(0) 28306 }() 28307 }() 28308 func() int32 { 28309 if (_4_p.X1) == (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList))+2*uintptr(_nList&(^((i32(2)<<uint(int32(_iSub)))-i32(1)))))) { 28310 return i32(0) 28311 } 28312 return func() int32 { 28313 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55920), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24160))) 28314 crt.X__builtin_abort(tls) 28315 return i32(0) 28316 }() 28317 }() 28318 _walMerge(tls, _aContent, _4_p.X1, _4_p.X0, &_aMerge, &_nMerge, _aBuffer) 28319 _22: 28320 _iSub += 1 28321 goto _18 28322 28323 _21: 28324 func() int32 { 28325 if _aMerge == _aList { 28326 return i32(0) 28327 } 28328 return func() int32 { 28329 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55924), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24200))) 28330 crt.X__builtin_abort(tls) 28331 return i32(0) 28332 }() 28333 }() 28334 *_pnList = _nMerge 28335 _5_i = i32(1) 28336 _31: 28337 if _5_i >= (*_pnList) { 28338 goto _34 28339 } 28340 28341 func() int32 { 28342 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList)) + 2*uintptr(_5_i))))))) > (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aList)) + 2*uintptr(_5_i-i32(1)))))))) { 28343 return i32(0) 28344 } 28345 return func() int32 { 28346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55931), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergesortØ00__func__Ø000))), unsafe.Pointer(str(24216))) 28347 crt.X__builtin_abort(tls) 28348 return i32(0) 28349 }() 28350 }() 28351 _5_i += 1 28352 goto _31 28353 28354 _34: 28355 return 28356 28357 } 28358 28359 var _walMergesortØ00__func__Ø000 [13]int8 // - 28360 28361 func init() { 28362 crt.Xstrncpy(nil, &_walMergesortØ00__func__Ø000[0], str(24260), 13) 28363 } 28364 28365 func _walMerge(tls *crt.TLS, _aContent *uint32, _aLeft *uint16, _nLeft int32, _paRight **uint16, _pnRight *int32, _aTmp *uint16) { // sqlite3.c:55820:1 28366 var _iLeft int32 // sqlite3.c:55828:7 28367 _ = _iLeft 28368 var _iRight int32 // sqlite3.c:55829:7 28369 _ = _iRight 28370 var _iOut int32 // sqlite3.c:55830:7 28371 _ = _iOut 28372 var _nRight int32 // sqlite3.c:55831:7 28373 _ = _nRight 28374 var _aRight *uint16 // sqlite3.c:55832:11 28375 _ = _aRight 28376 var _1_logpage uint16 // sqlite3.c:55836:13 28377 _ = _1_logpage 28378 var _1_dbpage uint32 // sqlite3.c:55837:10 28379 _ = _1_dbpage 28380 _iLeft = i32(0) 28381 _iRight = i32(0) 28382 _iOut = i32(0) 28383 _nRight = *_pnRight 28384 _aRight = *_paRight 28385 func() int32 { 28386 if (_nLeft > i32(0)) && (_nRight > i32(0)) { 28387 return i32(0) 28388 } 28389 return func() int32 { 28390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55834), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergeØ00__func__Ø000))), unsafe.Pointer(str(24276))) 28391 crt.X__builtin_abort(tls) 28392 return i32(0) 28393 }() 28394 }() 28395 _3: 28396 if _iRight >= _nRight && _iLeft >= _nLeft { 28397 goto _4 28398 } 28399 28400 if _iLeft >= _nLeft || _iRight < _nRight && (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(_iLeft))))))) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRight)) + 2*uintptr(_iRight))))))) { 28401 goto _8 28402 } 28403 28404 _1_logpage = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(postInc961(&_iLeft, int32(1))))) 28405 goto _9 28406 28407 _8: 28408 _1_logpage = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRight)) + 2*uintptr(postInc961(&_iRight, int32(1))))) 28409 _9: 28410 _1_dbpage = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(_1_logpage))) 28411 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTmp)) + 2*uintptr(postInc961(&_iOut, int32(1))))) = _1_logpage 28412 if _iLeft >= _nLeft || (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(_iLeft))))))) != _1_dbpage { 28413 goto _11 28414 } 28415 28416 _iLeft += 1 28417 _11: 28418 func() int32 { 28419 if (_iLeft >= _nLeft) || ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLeft)) + 2*uintptr(_iLeft))))))) > _1_dbpage) { 28420 return i32(0) 28421 } 28422 return func() int32 { 28423 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55851), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergeØ00__func__Ø000))), unsafe.Pointer(str(24296))) 28424 crt.X__builtin_abort(tls) 28425 return i32(0) 28426 }() 28427 }() 28428 func() int32 { 28429 if (_iRight >= _nRight) || ((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aContent)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRight)) + 2*uintptr(_iRight))))))) > _1_dbpage) { 28430 return i32(0) 28431 } 28432 return func() int32 { 28433 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55852), unsafe.Pointer((*int8)(unsafe.Pointer(&_walMergeØ00__func__Ø000))), unsafe.Pointer(str(24344))) 28434 crt.X__builtin_abort(tls) 28435 return i32(0) 28436 }() 28437 }() 28438 goto _3 28439 28440 _4: 28441 *_paRight = _aLeft 28442 *_pnRight = _iOut 28443 crt.Xmemcpy(tls, (unsafe.Pointer)(_aLeft), (unsafe.Pointer)(_aTmp), u32(2)*uint32(_iOut)) 28444 return 28445 28446 } 28447 28448 var _walMergeØ00__func__Ø000 [9]int8 // - 28449 28450 func init() { 28451 crt.Xstrncpy(nil, &_walMergeØ00__func__Ø000[0], str(24396), 9) 28452 } 28453 28454 func _walIteratorFree(tls *crt.TLS, _p *XWalIterator) { // sqlite3.c:55940:1 28455 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 28456 return 28457 28458 } 28459 28460 var _walCheckpointØ00__func__Ø000 [14]int8 // - 28461 28462 func init() { 28463 crt.Xstrncpy(nil, &_walCheckpointØ00__func__Ø000[0], str(24408), 14) 28464 } 28465 28466 func _walIteratorNext(tls *crt.TLS, _p *XWalIterator, _piPage *uint32, _piFrame *uint32) (r0 int32) { // sqlite3.c:55767:1 28467 var _iMin uint32 // sqlite3.c:55772:7 28468 _ = _iMin 28469 var _iRet uint32 // sqlite3.c:55773:7 28470 _ = _iRet 28471 var _i int32 // sqlite3.c:55774:7 28472 _ = _i 28473 var _1_pSegment *T7972904 // sqlite3.c:55779:23 28474 _ = _1_pSegment 28475 var _2_iPg uint32 // sqlite3.c:55781:11 28476 _ = _2_iPg 28477 _iRet = u32(4294967295) 28478 _iMin = uint32(_p.X0) 28479 func() int32 { 28480 if _iMin < u32(4294967295) { 28481 return i32(0) 28482 } 28483 return func() int32 { 28484 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55777), unsafe.Pointer((*int8)(unsafe.Pointer(&_walIteratorNextØ00__func__Ø000))), unsafe.Pointer(str(24424))) 28485 crt.X__builtin_abort(tls) 28486 return i32(0) 28487 }() 28488 }() 28489 _i = (_p.X1) - i32(1) 28490 _2: 28491 if _i < i32(0) { 28492 goto _5 28493 } 28494 28495 _1_pSegment = (*T7972904)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 28496 X0 int32 28497 X1 *uint16 28498 X2 *uint32 28499 X3 int32 28500 X4 int32 28501 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 20*uintptr(_i))) 28502 _6: 28503 if (_1_pSegment.X0) >= (_1_pSegment.X3) { 28504 goto _7 28505 } 28506 28507 _2_iPg = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSegment.X2)) + 4*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSegment.X1)) + 2*uintptr(_1_pSegment.X0)))))) 28508 if _2_iPg <= _iMin { 28509 goto _8 28510 } 28511 28512 if _2_iPg >= _iRet { 28513 goto _9 28514 } 28515 28516 _iRet = _2_iPg 28517 *_piFrame = uint32((_1_pSegment.X4) + int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSegment.X1)) + 2*uintptr(_1_pSegment.X0))))) 28518 _9: 28519 goto _7 28520 28521 _8: 28522 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSegment)) + uintptr(0 /* X0 */))) += 1 28523 goto _6 28524 28525 _7: 28526 _i -= 1 28527 goto _2 28528 28529 _5: 28530 *_piPage = uint32(store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))), int32(_iRet))) 28531 r0 = bool2int(_iRet == u32(4294967295)) 28532 return 28533 28534 } 28535 28536 var _walIteratorNextØ00__func__Ø000 [16]int8 // - 28537 28538 func init() { 28539 crt.Xstrncpy(nil, &_walIteratorNextØ00__func__Ø000[0], str(24440), 16) 28540 } 28541 28542 func _walRestartHdr(tls *crt.TLS, _pWal *XWal, _salt1 uint32) { // sqlite3.c:56077:1 28543 var _pInfo *XWalCkptInfo // sqlite3.c:56078:24 28544 _ = _pInfo 28545 var _i int32 // sqlite3.c:56079:7 28546 _ = _i 28547 var _aSalt *uint32 // sqlite3.c:56080:7 28548 _ = _aSalt 28549 _pInfo = _walCkptInfo(tls, _pWal) 28550 _aSalt = (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(32 /* X9 */))))) 28551 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(112 /* X22 */))) += 1 28552 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(16 /* X6 */))) = uint32(i32(0)) 28553 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSalt))+4*uintptr(i32(0)))))), uint32(i32(1))+_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSalt))+4*uintptr(i32(0)))))))) 28554 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(32 /* X9 */)))))+4*uintptr(i32(1))))), (unsafe.Pointer)(&_salt1), uint32(i32(4))) 28555 _walIndexWriteHdr(tls, _pWal) 28556 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = uint32(i32(0)) 28557 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(32 /* X3 */))) = uint32(i32(0)) 28558 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(i32(1)))) = uint32(i32(0)) 28559 _i = i32(2) 28560 _0: 28561 if _i >= i32(5) { 28562 goto _3 28563 } 28564 28565 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) = u32(4294967295) 28566 _i += 1 28567 goto _0 28568 28569 _3: 28570 func() int32 { 28571 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(i32(0))))) == uint32(i32(0)) { 28572 return i32(0) 28573 } 28574 return func() int32 { 28575 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56090), unsafe.Pointer((*int8)(unsafe.Pointer(&_walRestartHdrØ00__func__Ø000))), unsafe.Pointer(str(24456))) 28576 crt.X__builtin_abort(tls) 28577 return i32(0) 28578 }() 28579 }() 28580 return 28581 28582 } 28583 28584 var _walRestartHdrØ00__func__Ø000 [14]int8 // - 28585 28586 func init() { 28587 crt.Xstrncpy(nil, &_walRestartHdrØ00__func__Ø000[0], str(24480), 14) 28588 } 28589 28590 func _walLimitSize(tls *crt.TLS, _pWal *XWal, _nMax int64) { // sqlite3.c:56310:1 28591 var _sz int64 // sqlite3.c:56311:7 28592 _ = _sz 28593 var _rx int32 // sqlite3.c:56312:7 28594 _ = _rx 28595 _sqlite3BeginBenignMalloc(tls) 28596 _rx = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), &_sz) 28597 if _rx != i32(0) || _sz <= _nMax { 28598 goto _1 28599 } 28600 28601 _rx = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _nMax) 28602 _1: 28603 _sqlite3EndBenignMalloc(tls) 28604 if _rx == 0 { 28605 goto _2 28606 } 28607 28608 Xsqlite3_log(tls, _rx, str(24496), unsafe.Pointer(_pWal.X21)) 28609 _2: 28610 return 28611 28612 } 28613 28614 func _walIndexClose(tls *crt.TLS, _pWal *XWal, _isDelete int32) { // sqlite3.c:55652:1 28615 var _1_i int32 // sqlite3.c:55654:9 28616 _ = _1_i 28617 if int32(_pWal.X11) != i32(2) { 28618 goto _0 28619 } 28620 28621 _1_i = i32(0) 28622 _1: 28623 if _1_i >= (_pWal.X5) { 28624 goto _4 28625 } 28626 28627 Xsqlite3_free(tls, (unsafe.Pointer)(*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_1_i))))) 28628 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(_1_i))) = (*uint32)(unsafe.Pointer(uintptr(i32(0)))) 28629 _1_i += 1 28630 goto _1 28631 28632 _4: 28633 goto _5 28634 28635 _0: 28636 _sqlite3OsShmUnmap(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X1)), _isDelete) 28637 _5: 28638 return 28639 28640 } 28641 28642 func _sqlite3OsShmUnmap(tls *crt.TLS, _id *Xsqlite3_file, _deleteFlag int32) (r0 int32) { // sqlite3.c:20213:1 28643 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, int32) int32)(unsafe.Pointer(&struct { 28644 f func(*crt.TLS, unsafe.Pointer, int32) int32 28645 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X16)})))(tls, _id, _deleteFlag) 28646 return 28647 28648 } 28649 28650 func _pagerSyncHotJournal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:50835:1 28651 var _rc int32 // sqlite3.c:50836:7 28652 _ = _rc 28653 _rc = i32(0) 28654 if (_pPager.X4) != 0 { 28655 goto _0 28656 } 28657 28658 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), i32(2)) 28659 _0: 28660 if _rc != i32(0) { 28661 goto _1 28662 } 28663 28664 _rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(84 /* X35 */)))) 28665 _1: 28666 r0 = _rc 28667 return 28668 28669 } 28670 28671 func _sqlite3PcacheClose(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44759:1 28672 func() int32 { 28673 if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 28674 return i32(0) 28675 } 28676 return func() int32 { 28677 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44760), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheCloseØ00__func__Ø000))), unsafe.Pointer(str(16356))) 28678 crt.X__builtin_abort(tls) 28679 return i32(0) 28680 }() 28681 }() 28682 ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X11)(tls, _pCache.X12) 28683 return 28684 28685 } 28686 28687 var _sqlite3PcacheCloseØ00__func__Ø000 [19]int8 // - 28688 28689 func init() { 28690 crt.Xstrncpy(nil, &_sqlite3PcacheCloseØ00__func__Ø000[0], str(24524), 19) 28691 } 28692 28693 func _freeTempSpace(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:61510:1 28694 if (_pBt.X27) == nil { 28695 goto _0 28696 } 28697 28698 { 28699 p := (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(80 /* X27 */))) 28700 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(4)))) 28701 sink6921 = *p 28702 } 28703 _sqlite3PageFree(tls, (unsafe.Pointer)(_pBt.X27)) 28704 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(80 /* X27 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 28705 _0: 28706 return 28707 28708 } 28709 28710 var _sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000 [32]int8 // - 28711 28712 func init() { 28713 crt.Xstrncpy(nil, &_sqlite3LeaveMutexAndCloseZombieØ00__func__Ø000[0], str(24544), 32) 28714 } 28715 28716 func _functionDestroy(tls *crt.TLS, _db *Xsqlite3, _p *XFuncDef) { // sqlite3.c:140890:1 28717 var _pDestructor *XFuncDestructor // sqlite3.c:140891:18 28718 _ = _pDestructor 28719 _pDestructor = (*XFuncDestructor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))))))) 28720 if _pDestructor == nil { 28721 goto _0 28722 } 28723 28724 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDestructor)) + uintptr(0 /* X0 */))) -= 1 28725 if (_pDestructor.X0) != i32(0) { 28726 goto _1 28727 } 28728 28729 (_pDestructor.X1)(tls, _pDestructor.X2) 28730 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pDestructor)) 28731 _1: 28732 _0: 28733 return 28734 28735 } 28736 28737 func _sqlite3VtabEponymousTableClear(tls *crt.TLS, _db *Xsqlite3, _pMod *XModule) { // sqlite3.c:125696:1 28738 var _pTab *XTable // sqlite3.c:125697:9 28739 _ = _pTab 28740 _pTab = (*XTable)(unsafe.Pointer(_pMod.X4)) 28741 if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 28742 goto _0 28743 } 28744 28745 { 28746 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(36 /* X9 */))) 28747 *p = (*p) | uint32(i32(2)) 28748 sink985 = *p 28749 } 28750 _sqlite3DeleteTable(tls, _db, _pTab) 28751 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(16 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 28752 _0: 28753 return 28754 28755 } 28756 28757 func _sqlite3ValueFree(tls *crt.TLS, _v *XMem) { // sqlite3.c:71297:1 28758 if _v != nil { 28759 goto _0 28760 } 28761 28762 return 28763 28764 _0: 28765 _sqlite3VdbeMemRelease(tls, _v) 28766 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_v.X9)), (unsafe.Pointer)(_v)) 28767 return 28768 28769 } 28770 28771 func _sqlite3CloseExtensions(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:112147:1 28772 var _i int32 // sqlite3.c:112148:7 28773 _ = _i 28774 func() int32 { 28775 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 28776 return i32(0) 28777 } 28778 return func() int32 { 28779 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(112149), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CloseExtensionsØ00__func__Ø000))), unsafe.Pointer(str(832))) 28780 crt.X__builtin_abort(tls) 28781 return i32(0) 28782 }() 28783 }() 28784 _i = i32(0) 28785 _2: 28786 if _i >= (_db.X39) { 28787 goto _5 28788 } 28789 28790 _sqlite3OsDlClose(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X40)) + 4*uintptr(_i)))) 28791 _i += 1 28792 goto _2 28793 28794 _5: 28795 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_db.X40)) 28796 return 28797 28798 } 28799 28800 var _sqlite3CloseExtensionsØ00__func__Ø000 [23]int8 // - 28801 28802 func init() { 28803 crt.Xstrncpy(nil, &_sqlite3CloseExtensionsØ00__func__Ø000[0], str(24576), 23) 28804 } 28805 28806 func Xsqlite3_collation_needed(tls *crt.TLS, _db *Xsqlite3, _pCollNeededArg unsafe.Pointer, _xCollNeeded func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8)) (r0 int32) { // sqlite3.c:143148:12 28807 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 28808 goto _0 28809 } 28810 28811 r0 = _sqlite3MisuseError(tls, i32(143154)) 28812 return 28813 28814 _0: 28815 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 28816 *(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(228 /* X53 */))))) = _xCollNeeded 28817 *(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(232 /* X54 */))))) = nil 28818 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(236 /* X55 */))) = _pCollNeededArg 28819 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 28820 r0 = i32(0) 28821 return 28822 28823 } 28824 28825 func Xsqlite3_collation_needed16(tls *crt.TLS, _db *Xsqlite3, _pCollNeededArg unsafe.Pointer, _xCollNeeded16 func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer)) (r0 int32) { // sqlite3.c:143169:12 28826 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 28827 goto _0 28828 } 28829 28830 r0 = _sqlite3MisuseError(tls, i32(143175)) 28831 return 28832 28833 _0: 28834 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 28835 *(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(228 /* X53 */))))) = nil 28836 *(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(232 /* X54 */))))) = _xCollNeeded16 28837 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(236 /* X55 */))) = _pCollNeededArg 28838 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 28839 r0 = i32(0) 28840 return 28841 28842 } 28843 28844 func Xsqlite3_column_blob(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 unsafe.Pointer) { // sqlite3.c:77010:12 28845 var _val unsafe.Pointer // sqlite3.c:77011:14 28846 _ = _val 28847 _val = Xsqlite3_value_blob(tls, _columnMem(tls, _pStmt, _i)) 28848 _columnMallocFailure(tls, _pStmt) 28849 r0 = _val 28850 return 28851 28852 } 28853 28854 func Xsqlite3_value_blob(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76174:12 28855 var _p *XMem // sqlite3.c:76175:7 28856 _ = _p 28857 _p = _pVal 28858 if (int32(_p.X1) & i32(18)) == 0 { 28859 goto _0 28860 } 28861 28862 if func() int32 { 28863 if (int32(_p.X1) & i32(16384)) != 0 { 28864 return _sqlite3VdbeMemExpandBlob(tls, _p) 28865 } 28866 return i32(0) 28867 }() == i32(0) { 28868 goto _3 28869 } 28870 28871 func() int32 { 28872 if (int32(_p.X1) == i32(1)) && ((_p.X5) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { 28873 return i32(0) 28874 } 28875 return func() int32 { 28876 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76178), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_value_blobØ00__func__Ø000))), unsafe.Pointer(str(24600))) 28877 crt.X__builtin_abort(tls) 28878 return i32(0) 28879 }() 28880 }() 28881 r0 = (unsafe.Pointer)(uintptr(i32(0))) 28882 return 28883 28884 _3: 28885 { 28886 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) 28887 *p = uint16(int32(*p) | i32(16)) 28888 sink6908 = *p 28889 } 28890 r0 = (unsafe.Pointer)(func() *int8 { 28891 if (_p.X4) != 0 { 28892 return (_p.X5) 28893 } 28894 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 28895 }()) 28896 return 28897 28898 _0: 28899 r0 = (unsafe.Pointer)(Xsqlite3_value_text(tls, _pVal)) 28900 return 28901 28902 } 28903 28904 var _sqlite3_value_blobØ00__func__Ø000 [19]int8 // - 28905 28906 func init() { 28907 crt.Xstrncpy(nil, &_sqlite3_value_blobØ00__func__Ø000[0], str(24632), 19) 28908 } 28909 28910 func _columnMem(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *XMem) { // sqlite3.c:76955:1 28911 var _pVm *XVdbe // sqlite3.c:76956:8 28912 _ = _pVm 28913 var _pOut *XMem // sqlite3.c:76957:7 28914 _ = _pOut 28915 _pVm = (*XVdbe)(unsafe.Pointer(_pStmt)) 28916 if _pVm != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 28917 goto _0 28918 } 28919 28920 r0 = _columnNullValue(tls) 28921 return 28922 28923 _0: 28924 func() int32 { 28925 if (*Xsqlite3)(unsafe.Pointer(_pVm.X0)) != nil { 28926 return i32(0) 28927 } 28928 return func() int32 { 28929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76961), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnMemØ00__func__Ø000))), unsafe.Pointer(str(24652))) 28930 crt.X__builtin_abort(tls) 28931 return i32(0) 28932 }() 28933 }() 28934 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pVm.X0)).X3))) 28935 if (*XMem)(unsafe.Pointer(_pVm.X21)) == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) || _i >= int32(_pVm.X29) || _i < i32(0) { 28936 goto _5 28937 } 28938 28939 _pOut = (*XMem)(unsafe.Pointer(uintptr(_pVm.X21) + 48*uintptr(_i))) 28940 goto _6 28941 28942 _5: 28943 _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_pVm.X0)), i32(25)) 28944 _pOut = _columnNullValue(tls) 28945 _6: 28946 r0 = _pOut 28947 return 28948 28949 } 28950 28951 func _columnNullValue(tls *crt.TLS) (r0 *XMem) { // sqlite3.c:76915:1 28952 r0 = &_columnNullValueØ00nullMemØ001 28953 return 28954 28955 } 28956 28957 var _columnNullValueØ00nullMemØ001 XMem // sqlite3.c:76925:20 28958 28959 func init() { 28960 _columnNullValueØ00nullMemØ001 = XMem{X0: T7779217{}, X1: u16(1), X2: u8(0), X3: u8(0), X4: i32(0), X5: nil, X6: nil, X7: i32(0), X8: u32(0), X9: nil, X10: nil, X11: nil, X12: nil} 28961 } 28962 28963 var _columnMemØ00__func__Ø000 [10]int8 // - 28964 28965 func init() { 28966 crt.Xstrncpy(nil, &_columnMemØ00__func__Ø000[0], str(24660), 10) 28967 } 28968 28969 func _columnMallocFailure(tls *crt.TLS, _pStmt unsafe.Pointer) { // sqlite3.c:76990:1 28970 var _p *XVdbe // sqlite3.c:76997:8 28971 _ = _p 28972 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 28973 if _p == nil { 28974 goto _0 28975 } 28976 28977 func() int32 { 28978 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 28979 return i32(0) 28980 } 28981 return func() int32 { 28982 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76999), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnMallocFailureØ00__func__Ø000))), unsafe.Pointer(str(24672))) 28983 crt.X__builtin_abort(tls) 28984 return i32(0) 28985 }() 28986 }() 28987 func() int32 { 28988 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 28989 return i32(0) 28990 } 28991 return func() int32 { 28992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77000), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnMallocFailureØ00__func__Ø000))), unsafe.Pointer(str(8940))) 28993 crt.X__builtin_abort(tls) 28994 return i32(0) 28995 }() 28996 }() 28997 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _p.X10) 28998 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 28999 _0: 29000 return 29001 29002 } 29003 29004 var _columnMallocFailureØ00__func__Ø000 [20]int8 // - 29005 29006 func init() { 29007 crt.Xstrncpy(nil, &_columnMallocFailureØ00__func__Ø000[0], str(24684), 20) 29008 } 29009 29010 func Xsqlite3_column_bytes(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77020:12 29011 var _val int32 // sqlite3.c:77021:7 29012 _ = _val 29013 _val = Xsqlite3_value_bytes(tls, _columnMem(tls, _pStmt, _i)) 29014 _columnMallocFailure(tls, _pStmt) 29015 r0 = _val 29016 return 29017 29018 } 29019 29020 func Xsqlite3_column_bytes16(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77025:12 29021 var _val int32 // sqlite3.c:77026:7 29022 _ = _val 29023 _val = Xsqlite3_value_bytes16(tls, _columnMem(tls, _pStmt, _i)) 29024 _columnMallocFailure(tls, _pStmt) 29025 r0 = _val 29026 return 29027 29028 } 29029 29030 func Xsqlite3_value_bytes16(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76190:12 29031 r0 = _sqlite3ValueBytes(tls, _pVal, uint8(i32(2))) 29032 return 29033 29034 } 29035 29036 func Xsqlite3_column_count(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76897:12 29037 var _pVm *XVdbe // sqlite3.c:76898:8 29038 _ = _pVm 29039 _pVm = (*XVdbe)(unsafe.Pointer(_pStmt)) 29040 r0 = func() int32 { 29041 if _pVm != nil { 29042 return int32(_pVm.X29) 29043 } 29044 return i32(0) 29045 }() 29046 return 29047 29048 } 29049 29050 func Xsqlite3_column_decltype(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 *int8) { // sqlite3.c:77155:12 29051 r0 = (*int8)(unsafe.Pointer(_columnName(tls, _pStmt, _N, *(*func(*crt.TLS, *XMem) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) *uint8 }{Xsqlite3_value_text})), i32(1)))) 29052 return 29053 29054 } 29055 29056 func _columnName(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32, _xFunc func(*crt.TLS, *XMem) unsafe.Pointer, _useType int32) (r0 unsafe.Pointer) { // sqlite3.c:77088:1 29057 var _ret unsafe.Pointer // sqlite3.c:77094:14 29058 _ = _ret 29059 var _p *XVdbe // sqlite3.c:77095:8 29060 _ = _p 29061 var _n int32 // sqlite3.c:77096:7 29062 _ = _n 29063 var _db *Xsqlite3 // sqlite3.c:77097:11 29064 _ = _db 29065 if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { 29066 goto _0 29067 } 29068 29069 _sqlite3MisuseError(tls, i32(77100)) 29070 r0 = (unsafe.Pointer)(uintptr(i32(0))) 29071 return 29072 29073 _0: 29074 _ret = (unsafe.Pointer)(uintptr(i32(0))) 29075 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 29076 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 29077 func() int32 { 29078 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 29079 return i32(0) 29080 } 29081 return func() int32 { 29082 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77107), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnNameØ00__func__Ø000))), unsafe.Pointer(str(1184))) 29083 crt.X__builtin_abort(tls) 29084 return i32(0) 29085 }() 29086 }() 29087 _n = Xsqlite3_column_count(tls, _pStmt) 29088 if _N >= _n || _N < i32(0) { 29089 goto _4 29090 } 29091 29092 { 29093 p := &_N 29094 *p = (*p) + (_useType * _n) 29095 sink961 = *p 29096 } 29097 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 29098 func() int32 { 29099 if int32(_db.X17) == i32(0) { 29100 return i32(0) 29101 } 29102 return func() int32 { 29103 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77112), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnNameØ00__func__Ø000))), unsafe.Pointer(str(1232))) 29104 crt.X__builtin_abort(tls) 29105 return i32(0) 29106 }() 29107 }() 29108 _ret = _xFunc(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X20)+48*uintptr(_N)))) 29109 if (_db.X17) == 0 { 29110 goto _7 29111 } 29112 29113 _sqlite3OomClear(tls, _db) 29114 _ret = (unsafe.Pointer)(uintptr(i32(0))) 29115 _7: 29116 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 29117 _4: 29118 r0 = _ret 29119 return 29120 29121 } 29122 29123 var _columnNameØ00__func__Ø000 [11]int8 // - 29124 29125 func init() { 29126 crt.Xstrncpy(nil, &_columnNameØ00__func__Ø000[0], str(24704), 11) 29127 } 29128 29129 func Xsqlite3_column_decltype16(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 unsafe.Pointer) { // sqlite3.c:77160:12 29130 r0 = _columnName(tls, _pStmt, _N, Xsqlite3_value_text16, i32(1)) 29131 return 29132 29133 } 29134 29135 func Xsqlite3_value_text16(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76210:12 29136 r0 = _sqlite3ValueText(tls, _pVal, uint8(i32(2))) 29137 return 29138 29139 } 29140 29141 func Xsqlite3_column_double(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 float64) { // sqlite3.c:77030:12 29142 var _val float64 // sqlite3.c:77031:10 29143 _ = _val 29144 _val = Xsqlite3_value_double(tls, _columnMem(tls, _pStmt, _i)) 29145 _columnMallocFailure(tls, _pStmt) 29146 r0 = _val 29147 return 29148 29149 } 29150 29151 func Xsqlite3_column_int(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77035:12 29152 var _val int32 // sqlite3.c:77036:7 29153 _ = _val 29154 _val = Xsqlite3_value_int(tls, _columnMem(tls, _pStmt, _i)) 29155 _columnMallocFailure(tls, _pStmt) 29156 r0 = _val 29157 return 29158 29159 } 29160 29161 func Xsqlite3_value_int(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:76196:12 29162 r0 = int32(_sqlite3VdbeIntValue(tls, _pVal)) 29163 return 29164 29165 } 29166 29167 func _sqlite3VdbeIntValue(tls *crt.TLS, _pMem *XMem) (r0 int64) { // sqlite3.c:70077:1 29168 var _flags int32 // sqlite3.c:70078:7 29169 _ = _flags 29170 var _3_value int64 // sqlite3.c:70087:9 29171 _ = _3_value 29172 func() int32 { 29173 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 29174 return i32(0) 29175 } 29176 return func() int32 { 29177 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70079), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntValueØ00__func__Ø000))), unsafe.Pointer(str(4300))) 29178 crt.X__builtin_abort(tls) 29179 return i32(0) 29180 }() 29181 }() 29182 func() int32 { 29183 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 29184 return i32(0) 29185 } 29186 return func() int32 { 29187 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70080), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntValueØ00__func__Ø000))), unsafe.Pointer(str(5944))) 29188 crt.X__builtin_abort(tls) 29189 return i32(0) 29190 }() 29191 }() 29192 _flags = int32(_pMem.X1) 29193 if (_flags & i32(4)) == 0 { 29194 goto _5 29195 } 29196 29197 r0 = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) 29198 return 29199 29200 _5: 29201 if (_flags & i32(8)) == 0 { 29202 goto _7 29203 } 29204 29205 r0 = _doubleToInt64(tls, *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 29206 return 29207 29208 _7: 29209 if (_flags & i32(18)) == 0 { 29210 goto _9 29211 } 29212 29213 _3_value = i64(0) 29214 func() int32 { 29215 if ((_pMem.X5) != nil) || ((_pMem.X4) == i32(0)) { 29216 return i32(0) 29217 } 29218 return func() int32 { 29219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70088), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntValueØ00__func__Ø000))), unsafe.Pointer(str(24716))) 29220 crt.X__builtin_abort(tls) 29221 return i32(0) 29222 }() 29223 }() 29224 _sqlite3Atoi64(tls, _pMem.X5, &_3_value, _pMem.X4, _pMem.X2) 29225 r0 = _3_value 29226 return 29227 29228 _9: 29229 r0 = int64(i32(0)) 29230 return 29231 29232 } 29233 29234 var _sqlite3VdbeIntValueØ00__func__Ø000 [20]int8 // - 29235 29236 func init() { 29237 crt.Xstrncpy(nil, &_sqlite3VdbeIntValueØ00__func__Ø000[0], str(24740), 20) 29238 } 29239 29240 func _doubleToInt64(tls *crt.TLS, _r float64) (r0 int64) { // sqlite3.c:70041:1 29241 if _r > float64(_doubleToInt64Ø00minIntØ002) { 29242 goto _0 29243 } 29244 29245 r0 = _doubleToInt64Ø00minIntØ002 29246 return 29247 29248 _0: 29249 if _r < float64(_doubleToInt64Ø00maxIntØ001) { 29250 goto _2 29251 } 29252 29253 r0 = _doubleToInt64Ø00maxIntØ001 29254 return 29255 29256 _2: 29257 r0 = int64(_r) 29258 return 29259 29260 } 29261 29262 var _doubleToInt64Ø00minIntØ002 int64 // sqlite3.c:70054:20 29263 29264 func init() { 29265 _doubleToInt64Ø00minIntØ002 = i64(-9223372036854775808) 29266 } 29267 29268 var _doubleToInt64Ø00maxIntØ001 int64 // sqlite3.c:70053:20 29269 29270 func init() { 29271 _doubleToInt64Ø00maxIntØ001 = i64(9223372036854775807) 29272 } 29273 29274 func _sqlite3Atoi64(tls *crt.TLS, _zNum *int8, _pNum *int64, _length int32, _enc uint8) (r0 int32) { // sqlite3.c:28185:1 29275 var _incr int32 // sqlite3.c:28186:7 29276 _ = _incr 29277 var _u uint64 // sqlite3.c:28187:7 29278 _ = _u 29279 var _neg int32 // sqlite3.c:28188:7 29280 _ = _neg 29281 var _i int32 // sqlite3.c:28189:7 29282 _ = _i 29283 var _c int32 // sqlite3.c:28190:7 29284 _ = _c 29285 var _nonNum int32 // sqlite3.c:28191:7 29286 _ = _nonNum 29287 var _zStart *int8 // sqlite3.c:28192:14 29288 _ = _zStart 29289 var _zEnd *int8 // sqlite3.c:28193:14 29290 _ = _zEnd 29291 _u = u64(0) 29292 _neg = i32(0) 29293 _c = i32(0) 29294 _nonNum = i32(0) 29295 _zEnd = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zNum)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_length))))))) 29296 func() int32 { 29297 if ((int32(_enc) == i32(1)) || (int32(_enc) == i32(2))) || (int32(_enc) == i32(3)) { 29298 return i32(0) 29299 } 29300 return func() int32 { 29301 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28194), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Atoi64Ø00__func__Ø000))), unsafe.Pointer(str(6784))) 29302 crt.X__builtin_abort(tls) 29303 return i32(0) 29304 }() 29305 }() 29306 if int32(_enc) != i32(1) { 29307 goto _4 29308 } 29309 29310 _incr = i32(1) 29311 goto _5 29312 29313 _4: 29314 _incr = i32(2) 29315 i32(0) 29316 _i = i32(3) - int32(_enc) 29317 _6: 29318 if _i >= _length || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i)))) != i32(0) { 29319 goto _10 29320 } 29321 29322 { 29323 p := &_i 29324 *p = (*p) + i32(2) 29325 sink961 = *p 29326 } 29327 goto _6 29328 29329 _10: 29330 _nonNum = bool2int(_i < _length) 29331 _zEnd = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i^i32(1)))) 29332 { 29333 p := &_zNum 29334 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(int32(_enc)&i32(1)))) 29335 sink1025 = *p 29336 } 29337 _5: 29338 _11: 29339 if uintptr(unsafe.Pointer(_zNum)) >= uintptr(unsafe.Pointer(_zEnd)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zNum)))))&i32(1)) == 0 { 29340 goto _12 29341 } 29342 29343 { 29344 p := &_zNum 29345 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 29346 sink1025 = *p 29347 } 29348 goto _11 29349 29350 _12: 29351 if uintptr(unsafe.Pointer(_zNum)) >= uintptr(unsafe.Pointer(_zEnd)) { 29352 goto _14 29353 } 29354 29355 if int32(*_zNum) != i32(45) { 29356 goto _15 29357 } 29358 29359 _neg = i32(1) 29360 { 29361 p := &_zNum 29362 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 29363 sink1025 = *p 29364 } 29365 goto _16 29366 29367 _15: 29368 if int32(*_zNum) != i32(43) { 29369 goto _17 29370 } 29371 29372 { 29373 p := &_zNum 29374 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 29375 sink1025 = *p 29376 } 29377 _17: 29378 _16: 29379 _14: 29380 _zStart = _zNum 29381 _18: 29382 if uintptr(unsafe.Pointer(_zNum)) >= uintptr(unsafe.Pointer(_zEnd)) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) { 29383 goto _19 29384 } 29385 29386 { 29387 p := &_zNum 29388 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_incr))) 29389 sink1025 = *p 29390 } 29391 goto _18 29392 29393 _19: 29394 _i = i32(0) 29395 _21: 29396 if uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum))+1*uintptr(_i))))) >= uintptr(unsafe.Pointer(_zEnd)) || store961(&_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i))))) < i32(48) || _c > i32(57) { 29397 goto _26 29398 } 29399 29400 _u = ((_u * uint64(i32(10))) + uint64(_c)) - uint64(i32(48)) 29401 { 29402 p := &_i 29403 *p = (*p) + _incr 29404 sink961 = *p 29405 } 29406 goto _21 29407 29408 _26: 29409 if _u <= uint64(i64(9223372036854775807)) { 29410 goto _27 29411 } 29412 29413 *_pNum = func() int64 { 29414 if _neg != 0 { 29415 return i64(-9223372036854775808) 29416 } 29417 return i64(9223372036854775807) 29418 }() 29419 goto _30 29420 29421 _27: 29422 if _neg == 0 { 29423 goto _31 29424 } 29425 29426 *_pNum = -int64(_u) 29427 goto _32 29428 29429 _31: 29430 *_pNum = int64(_u) 29431 _32: 29432 _30: 29433 if uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum))+1*uintptr(_i))))) >= uintptr(unsafe.Pointer(_zEnd)) && (_i != i32(0) || _zStart != _zNum) && _i <= (i32(19)*_incr) && _nonNum == 0 { 29434 goto _37 29435 } 29436 29437 r0 = i32(1) 29438 return 29439 29440 _37: 29441 if _i >= (i32(19) * _incr) { 29442 goto _39 29443 } 29444 29445 func() int32 { 29446 if _u <= uint64(i64(9223372036854775807)) { 29447 return i32(0) 29448 } 29449 return func() int32 { 29450 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28239), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Atoi64Ø00__func__Ø000))), unsafe.Pointer(str(24760))) 29451 crt.X__builtin_abort(tls) 29452 return i32(0) 29453 }() 29454 }() 29455 r0 = i32(0) 29456 return 29457 29458 _39: 29459 _c = _compare2pow63(tls, _zNum, _incr) 29460 if _c >= i32(0) { 29461 goto _43 29462 } 29463 29464 func() int32 { 29465 if _u <= uint64(i64(9223372036854775807)) { 29466 return i32(0) 29467 } 29468 return func() int32 { 29469 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28246), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Atoi64Ø00__func__Ø000))), unsafe.Pointer(str(24760))) 29470 crt.X__builtin_abort(tls) 29471 return i32(0) 29472 }() 29473 }() 29474 r0 = i32(0) 29475 return 29476 29477 _43: 29478 if _c <= i32(0) { 29479 goto _47 29480 } 29481 29482 r0 = i32(1) 29483 return 29484 29485 _47: 29486 func() int32 { 29487 if (_u - uint64(i32(1))) == uint64(i64(9223372036854775807)) { 29488 return i32(0) 29489 } 29490 return func() int32 { 29491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28254), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Atoi64Ø00__func__Ø000))), unsafe.Pointer(str(24780))) 29492 crt.X__builtin_abort(tls) 29493 return i32(0) 29494 }() 29495 }() 29496 r0 = func() int32 { 29497 if _neg != 0 { 29498 return i32(0) 29499 } 29500 return i32(2) 29501 }() 29502 return 29503 29504 } 29505 29506 var _sqlite3Atoi64Ø00__func__Ø000 [14]int8 // - 29507 29508 func init() { 29509 crt.Xstrncpy(nil, &_sqlite3Atoi64Ø00__func__Ø000[0], str(24800), 14) 29510 } 29511 29512 func _compare2pow63(tls *crt.TLS, _zNum *int8, _incr int32) (r0 int32) { // sqlite3.c:28149:1 29513 var _c int32 // sqlite3.c:28150:7 29514 _ = _c 29515 var _i int32 // sqlite3.c:28151:7 29516 _ = _i 29517 var _pow63 *int8 // sqlite3.c:28153:14 29518 _ = _pow63 29519 _c = i32(0) 29520 _pow63 = str(24816) 29521 _i = i32(0) 29522 _0: 29523 if _c != i32(0) || _i >= i32(18) { 29524 goto _4 29525 } 29526 29527 _c = (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i*_incr)))) - int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pow63)) + 1*uintptr(_i))))) * i32(10) 29528 _i += 1 29529 goto _0 29530 29531 _4: 29532 if _c != i32(0) { 29533 goto _5 29534 } 29535 29536 _c = int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(18)*_incr)))) - i32(56) 29537 _5: 29538 r0 = _c 29539 return 29540 29541 } 29542 29543 func Xsqlite3_column_int64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int64) { // sqlite3.c:77040:12 29544 var _val int64 // sqlite3.c:77041:16 29545 _ = _val 29546 _val = Xsqlite3_value_int64(tls, _columnMem(tls, _pStmt, _i)) 29547 _columnMallocFailure(tls, _pStmt) 29548 r0 = _val 29549 return 29550 29551 } 29552 29553 func Xsqlite3_value_int64(tls *crt.TLS, _pVal *XMem) (r0 int64) { // sqlite3.c:76199:12 29554 r0 = _sqlite3VdbeIntValue(tls, _pVal) 29555 return 29556 29557 } 29558 29559 func Xsqlite3_column_name(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 *int8) { // sqlite3.c:77130:12 29560 r0 = (*int8)(unsafe.Pointer(_columnName(tls, _pStmt, _N, *(*func(*crt.TLS, *XMem) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS, *XMem) *uint8 }{Xsqlite3_value_text})), i32(0)))) 29561 return 29562 29563 } 29564 29565 func Xsqlite3_column_name16(tls *crt.TLS, _pStmt unsafe.Pointer, _N int32) (r0 unsafe.Pointer) { // sqlite3.c:77135:12 29566 r0 = _columnName(tls, _pStmt, _N, Xsqlite3_value_text16, i32(0)) 29567 return 29568 29569 } 29570 29571 func Xsqlite3_column_text(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *uint8) { // sqlite3.c:77045:12 29572 var _val *uint8 // sqlite3.c:77046:23 29573 _ = _val 29574 _val = Xsqlite3_value_text(tls, _columnMem(tls, _pStmt, _i)) 29575 _columnMallocFailure(tls, _pStmt) 29576 r0 = _val 29577 return 29578 29579 } 29580 29581 func Xsqlite3_column_text16(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 unsafe.Pointer) { // sqlite3.c:77060:12 29582 var _val unsafe.Pointer // sqlite3.c:77061:14 29583 _ = _val 29584 _val = Xsqlite3_value_text16(tls, _columnMem(tls, _pStmt, _i)) 29585 _columnMallocFailure(tls, _pStmt) 29586 r0 = _val 29587 return 29588 29589 } 29590 29591 func Xsqlite3_column_type(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 int32) { // sqlite3.c:77066:12 29592 var _iType int32 // sqlite3.c:77067:7 29593 _ = _iType 29594 _iType = Xsqlite3_value_type(tls, _columnMem(tls, _pStmt, _i)) 29595 _columnMallocFailure(tls, _pStmt) 29596 r0 = _iType 29597 return 29598 29599 } 29600 29601 func Xsqlite3_column_value(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32) (r0 *XMem) { // sqlite3.c:77050:12 29602 var _pOut *XMem // sqlite3.c:77051:7 29603 _ = _pOut 29604 _pOut = _columnMem(tls, _pStmt, _i) 29605 if (int32(_pOut.X1) & i32(2048)) == 0 { 29606 goto _0 29607 } 29608 29609 { 29610 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) 29611 *p = uint16(int32(*p) & i32(-2049)) 29612 sink6908 = *p 29613 } 29614 { 29615 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) 29616 *p = uint16(int32(*p) | i32(4096)) 29617 sink6908 = *p 29618 } 29619 _0: 29620 _columnMallocFailure(tls, _pStmt) 29621 r0 = _pOut 29622 return 29623 29624 } 29625 29626 func Xsqlite3_commit_hook(tls *crt.TLS, _db *Xsqlite3, _xCallback func(*crt.TLS, unsafe.Pointer) int32, _pArg unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:141811:12 29627 var _pOld unsafe.Pointer // sqlite3.c:141816:8 29628 _ = _pOld 29629 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 29630 goto _0 29631 } 29632 29633 _sqlite3MisuseError(tls, i32(141820)) 29634 r0 = (unsafe.Pointer)(uintptr(i32(0))) 29635 return 29636 29637 _0: 29638 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 29639 _pOld = _db.X45 29640 *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(200 /* X46 */))) = _xCallback 29641 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(196 /* X45 */))) = _pArg 29642 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 29643 r0 = _pOld 29644 return 29645 29646 } 29647 29648 func Xsqlite3_complete(tls *crt.TLS, _zSql *int8) (r0 int32) { // sqlite3.c:139623:12 29649 var _state uint8 // sqlite3.c:139624:6 29650 _ = _state 29651 var _token uint8 // sqlite3.c:139625:6 29652 _ = _token 29653 var _14_c int32 // sqlite3.c:139709:13 29654 _ = _14_c 29655 var _17_nId int32 // sqlite3.c:139722:15 29656 _ = _17_nId 29657 _state = u8(0) 29658 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 29659 goto _0 29660 } 29661 29662 _sqlite3MisuseError(tls, i32(139658)) 29663 r0 = i32(0) 29664 return 29665 29666 _0: 29667 _1: 29668 if (*_zSql) == 0 { 29669 goto _2 29670 } 29671 29672 switch int32(*_zSql) { 29673 case i32(9): 29674 goto _7 29675 case i32(10): 29676 goto _8 29677 case i32(12): 29678 goto _9 29679 case i32(13): 29680 goto _6 29681 case i32(32): 29682 goto _5 29683 case i32(34): 29684 goto _14 29685 case i32(39): 29686 goto _15 29687 case i32(45): 29688 goto _11 29689 case i32(47): 29690 goto _10 29691 case i32(59): 29692 goto _4 29693 case i32(91): 29694 goto _12 29695 case i32(96): 29696 goto _13 29697 default: 29698 goto _16 29699 } 29700 29701 _4: 29702 _token = uint8(i32(0)) 29703 goto _17 29704 29705 _5: 29706 _6: 29707 _7: 29708 _8: 29709 _9: 29710 _token = uint8(i32(1)) 29711 goto _17 29712 29713 _10: 29714 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(1))))) == i32(42) { 29715 goto _18 29716 } 29717 29718 _token = uint8(i32(2)) 29719 goto _17 29720 29721 _18: 29722 { 29723 p := &_zSql 29724 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 29725 sink1025 = *p 29726 } 29727 _19: 29728 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == i32(42) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(1))))) == i32(47) { 29729 goto _20 29730 } 29731 29732 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29733 goto _19 29734 29735 _20: 29736 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) != i32(0) { 29737 goto _23 29738 } 29739 29740 r0 = i32(0) 29741 return 29742 29743 _23: 29744 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29745 _token = uint8(i32(1)) 29746 goto _17 29747 29748 _11: 29749 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(1))))) == i32(45) { 29750 goto _24 29751 } 29752 29753 _token = uint8(i32(2)) 29754 goto _17 29755 29756 _24: 29757 _25: 29758 if (*_zSql) == 0 || int32(*_zSql) == i32(10) { 29759 goto _26 29760 } 29761 29762 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29763 goto _25 29764 29765 _26: 29766 if int32(*_zSql) != i32(0) { 29767 goto _28 29768 } 29769 29770 r0 = bool2int(int32(_state) == i32(1)) 29771 return 29772 29773 _28: 29774 _token = uint8(i32(1)) 29775 goto _17 29776 29777 _12: 29778 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29779 _29: 29780 if (*_zSql) == 0 || int32(*_zSql) == i32(93) { 29781 goto _30 29782 } 29783 29784 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29785 goto _29 29786 29787 _30: 29788 if int32(*_zSql) != i32(0) { 29789 goto _32 29790 } 29791 29792 r0 = i32(0) 29793 return 29794 29795 _32: 29796 _token = uint8(i32(2)) 29797 goto _17 29798 29799 _13: 29800 _14: 29801 _15: 29802 _14_c = int32(*_zSql) 29803 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29804 _33: 29805 if (*_zSql) == 0 || int32(*_zSql) == _14_c { 29806 goto _34 29807 } 29808 29809 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29810 goto _33 29811 29812 _34: 29813 if int32(*_zSql) != i32(0) { 29814 goto _36 29815 } 29816 29817 r0 = i32(0) 29818 return 29819 29820 _36: 29821 _token = uint8(i32(2)) 29822 goto _17 29823 29824 _16: 29825 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_zSql))))) & i32(70)) == i32(0) { 29826 goto _37 29827 } 29828 29829 _17_nId = i32(1) 29830 _38: 29831 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(_17_nId)))))))) & i32(70)) == i32(0) { 29832 goto _41 29833 } 29834 29835 _17_nId += 1 29836 goto _38 29837 29838 _41: 29839 switch int32(*_zSql) { 29840 case i32(67): 29841 goto _44 29842 case i32(69): 29843 goto _48 29844 case i32(84): 29845 goto _46 29846 case i32(99): 29847 goto _43 29848 case i32(101): 29849 goto _47 29850 case i32(116): 29851 goto _45 29852 default: 29853 goto _49 29854 } 29855 29856 _43: 29857 _44: 29858 if _17_nId != i32(6) || Xsqlite3_strnicmp(tls, _zSql, str(24836), i32(6)) != i32(0) { 29859 goto _51 29860 } 29861 29862 _token = uint8(i32(4)) 29863 goto _52 29864 29865 _51: 29866 _token = uint8(i32(2)) 29867 _52: 29868 goto _53 29869 29870 _45: 29871 _46: 29872 if _17_nId != i32(7) || Xsqlite3_strnicmp(tls, _zSql, str(24844), i32(7)) != i32(0) { 29873 goto _55 29874 } 29875 29876 _token = uint8(i32(6)) 29877 goto _56 29878 29879 _55: 29880 if _17_nId != i32(4) || Xsqlite3_strnicmp(tls, _zSql, str(24852), i32(4)) != i32(0) { 29881 goto _58 29882 } 29883 29884 _token = uint8(i32(5)) 29885 goto _59 29886 29887 _58: 29888 if _17_nId != i32(9) || Xsqlite3_strnicmp(tls, _zSql, str(24860), i32(9)) != i32(0) { 29889 goto _61 29890 } 29891 29892 _token = uint8(i32(5)) 29893 goto _62 29894 29895 _61: 29896 _token = uint8(i32(2)) 29897 _62: 29898 _59: 29899 _56: 29900 goto _53 29901 29902 _47: 29903 _48: 29904 if _17_nId != i32(3) || Xsqlite3_strnicmp(tls, _zSql, str(24872), i32(3)) != i32(0) { 29905 goto _64 29906 } 29907 29908 _token = uint8(i32(7)) 29909 goto _65 29910 29911 _64: 29912 if _17_nId != i32(7) || Xsqlite3_strnicmp(tls, _zSql, str(24876), i32(7)) != i32(0) { 29913 goto _67 29914 } 29915 29916 _token = uint8(i32(3)) 29917 goto _68 29918 29919 _67: 29920 _token = uint8(i32(2)) 29921 _68: 29922 _65: 29923 goto _53 29924 29925 _49: 29926 _token = uint8(i32(2)) 29927 goto _53 29928 29929 _53: 29930 { 29931 p := &_zSql 29932 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_17_nId-i32(1)))) 29933 sink1025 = *p 29934 } 29935 goto _69 29936 29937 _37: 29938 _token = uint8(i32(2)) 29939 _69: 29940 goto _17 29941 29942 _17: 29943 _state = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_completeØ00transØ001))+8*uintptr(_state))))) + 1*uintptr(_token))) 29944 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 29945 goto _1 29946 29947 _2: 29948 r0 = bool2int(int32(_state) == i32(1)) 29949 return 29950 29951 } 29952 29953 var _sqlite3_completeØ00transØ001 [8][8]uint8 // sqlite3.c:139631:19 29954 29955 func init() { 29956 _sqlite3_completeØ00transØ001 = [8][8]uint8{[8]uint8{u8(1), u8(0), u8(2), u8(3), u8(4), u8(2), u8(2), u8(2)}, [8]uint8{u8(1), u8(1), u8(2), u8(3), u8(4), u8(2), u8(2), u8(2)}, [8]uint8{u8(1), u8(2), u8(2), u8(2), u8(2), u8(2), u8(2), u8(2)}, [8]uint8{u8(1), u8(3), u8(3), u8(2), u8(4), u8(2), u8(2), u8(2)}, [8]uint8{u8(1), u8(4), u8(2), u8(2), u8(2), u8(4), u8(5), u8(2)}, [8]uint8{u8(6), u8(5), u8(5), u8(5), u8(5), u8(5), u8(5), u8(5)}, [8]uint8{u8(6), u8(6), u8(5), u8(5), u8(5), u8(5), u8(5), u8(7)}, [8]uint8{u8(1), u8(7), u8(5), u8(5), u8(5), u8(5), u8(5), u8(5)}} 29957 } 29958 29959 func Xsqlite3_complete16(tls *crt.TLS, _zSql unsafe.Pointer) (r0 int32) { // sqlite3.c:139788:12 29960 var _pVal *XMem // sqlite3.c:139789:17 29961 _ = _pVal 29962 var _zSql8 *int8 // sqlite3.c:139790:14 29963 _ = _zSql8 29964 var _rc int32 // sqlite3.c:139791:7 29965 _ = _rc 29966 _rc = Xsqlite3_initialize(tls) 29967 if _rc == 0 { 29968 goto _0 29969 } 29970 29971 r0 = _rc 29972 return 29973 29974 _0: 29975 _pVal = _sqlite3ValueNew(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) 29976 _sqlite3ValueSetStr(tls, _pVal, i32(-1), _zSql, uint8(i32(2)), nil) 29977 _zSql8 = (*int8)(unsafe.Pointer(_sqlite3ValueText(tls, _pVal, uint8(i32(1))))) 29978 if _zSql8 == nil { 29979 goto _1 29980 } 29981 29982 _rc = Xsqlite3_complete(tls, _zSql8) 29983 goto _2 29984 29985 _1: 29986 _rc = _sqlite3NomemError(tls, i32(139803)) 29987 _2: 29988 _sqlite3ValueFree(tls, _pVal) 29989 r0 = _rc & i32(255) 29990 return 29991 29992 } 29993 29994 func Xsqlite3_create_collation(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _enc int32, _pCtx unsafe.Pointer, _xCompare func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) (r0 int32) { // sqlite3.c:143080:12 29995 r0 = Xsqlite3_create_collation_v2(tls, _db, _zName, _enc, _pCtx, _xCompare, nil) 29996 return 29997 29998 } 29999 30000 func Xsqlite3_create_collation_v2(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _enc int32, _pCtx unsafe.Pointer, _xCompare func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:143093:12 30001 var _rc int32 // sqlite3.c:143101:7 30002 _ = _rc 30003 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 30004 goto _1 30005 } 30006 30007 r0 = _sqlite3MisuseError(tls, i32(143104)) 30008 return 30009 30010 _1: 30011 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30012 func() int32 { 30013 if (_db.X17) == 0 { 30014 return i32(0) 30015 } 30016 return func() int32 { 30017 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143107), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_create_collation_v2Ø00__func__Ø000))), unsafe.Pointer(str(24884))) 30018 crt.X__builtin_abort(tls) 30019 return i32(0) 30020 }() 30021 }() 30022 _rc = _createCollation(tls, _db, _zName, uint8(_enc), _pCtx, _xCompare, _xDel) 30023 _rc = _sqlite3ApiExit(tls, _db, _rc) 30024 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30025 r0 = _rc 30026 return 30027 30028 } 30029 30030 var _sqlite3_create_collation_v2Ø00__func__Ø000 [28]int8 // - 30031 30032 func init() { 30033 crt.Xstrncpy(nil, &_sqlite3_create_collation_v2Ø00__func__Ø000[0], str(24904), 28) 30034 } 30035 30036 func _createCollation(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _enc uint8, _pCtx unsafe.Pointer, _xCompare func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:142245:1 30037 var _pColl *XCollSeq // sqlite3.c:142253:11 30038 _ = _pColl 30039 var _enc2 int32 // sqlite3.c:142254:7 30040 _ = _enc2 30041 var _5_aColl *XCollSeq // sqlite3.c:142292:15 30042 _ = _5_aColl 30043 var _5_j int32 // sqlite3.c:142293:11 30044 _ = _5_j 30045 var _6_p *XCollSeq // sqlite3.c:142295:17 30046 _ = _6_p 30047 func() int32 { 30048 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 30049 return i32(0) 30050 } 30051 return func() int32 { 30052 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142256), unsafe.Pointer((*int8)(unsafe.Pointer(&_createCollationØ00__func__Ø000))), unsafe.Pointer(str(832))) 30053 crt.X__builtin_abort(tls) 30054 return i32(0) 30055 }() 30056 }() 30057 _enc2 = int32(_enc) 30058 if _enc2 != i32(4) && _enc2 != i32(8) { 30059 goto _3 30060 } 30061 30062 _enc2 = i32(2) 30063 _3: 30064 if _enc2 >= i32(1) && _enc2 <= i32(3) { 30065 goto _5 30066 } 30067 30068 r0 = _sqlite3MisuseError(tls, i32(142269)) 30069 return 30070 30071 _5: 30072 _pColl = _sqlite3FindCollSeq(tls, _db, uint8(_enc2), _zName, i32(0)) 30073 if _pColl == nil || (_pColl.X3) == nil { 30074 goto _7 30075 } 30076 30077 if (_db.X34) == 0 { 30078 goto _8 30079 } 30080 30081 _sqlite3ErrorWithMsg(tls, _db, i32(5), str(24932)) 30082 r0 = i32(5) 30083 return 30084 30085 _8: 30086 _sqlite3ExpirePreparedStatements(tls, _db) 30087 if (int32(_pColl.X1) & i32(-9)) != _enc2 { 30088 goto _9 30089 } 30090 30091 _5_aColl = (*XCollSeq)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(360 /* X70 */))), _zName))) 30092 _5_j = i32(0) 30093 _10: 30094 if _5_j >= i32(3) { 30095 goto _13 30096 } 30097 30098 _6_p = (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_aColl)) + 20*uintptr(_5_j))) 30099 if int32(_6_p.X1) != int32(_pColl.X1) { 30100 goto _14 30101 } 30102 30103 if (_6_p.X4) == nil { 30104 goto _15 30105 } 30106 30107 (_6_p.X4)(tls, _6_p.X2) 30108 _15: 30109 *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_p)) + uintptr(12 /* X3 */))) = nil 30110 _14: 30111 _5_j += 1 30112 goto _10 30113 30114 _13: 30115 _9: 30116 _7: 30117 _pColl = _sqlite3FindCollSeq(tls, _db, uint8(_enc2), _zName, i32(1)) 30118 if _pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 30119 goto _16 30120 } 30121 30122 r0 = _sqlite3NomemError(tls, i32(142307)) 30123 return 30124 30125 _16: 30126 *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(12 /* X3 */))) = _xCompare 30127 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(8 /* X2 */))) = _pCtx 30128 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(16 /* X4 */))) = _xDel 30129 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(4 /* X1 */))) = uint8(_enc2 | (int32(_enc) & i32(8))) 30130 _sqlite3Error(tls, _db, i32(0)) 30131 r0 = i32(0) 30132 return 30133 30134 } 30135 30136 var _createCollationØ00__func__Ø000 [16]int8 // - 30137 30138 func init() { 30139 crt.Xstrncpy(nil, &_createCollationØ00__func__Ø000[0], str(25000), 16) 30140 } 30141 30142 func _sqlite3FindCollSeq(tls *crt.TLS, _db *Xsqlite3, _enc uint8, _zName *int8, _create int32) (r0 *XCollSeq) { // sqlite3.c:104104:1 30143 var _pColl *XCollSeq // sqlite3.c:104110:11 30144 _ = _pColl 30145 if _zName == nil { 30146 goto _0 30147 } 30148 30149 _pColl = _findCollSeqEntry(tls, _db, _zName, _create) 30150 goto _1 30151 30152 _0: 30153 _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 30154 _1: 30155 i32(0) 30156 func() int32 { 30157 if (int32(_enc) >= i32(1)) && (int32(_enc) <= i32(3)) { 30158 return i32(0) 30159 } 30160 return func() int32 { 30161 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104117), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindCollSeqØ00__func__Ø000))), unsafe.Pointer(str(25016))) 30162 crt.X__builtin_abort(tls) 30163 return i32(0) 30164 }() 30165 }() 30166 if _pColl == nil { 30167 goto _5 30168 } 30169 30170 { 30171 p := &_pColl 30172 *p = (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 20*uintptr(int32(_enc)-i32(1)))) 30173 sink8147190 = *p 30174 } 30175 _5: 30176 r0 = _pColl 30177 return 30178 30179 } 30180 30181 func _findCollSeqEntry(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _create int32) (r0 *XCollSeq) { // sqlite3.c:104051:1 30182 var _pColl *XCollSeq // sqlite3.c:104056:11 30183 _ = _pColl 30184 var _1_nName int32 // sqlite3.c:104060:9 30185 _ = _1_nName 30186 var _2_pDel *XCollSeq // sqlite3.c:104063:15 30187 _ = _2_pDel 30188 _pColl = (*XCollSeq)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(360 /* X70 */))), _zName))) 30189 if (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) != _pColl || _create == 0 { 30190 goto _1 30191 } 30192 30193 _1_nName = _sqlite3Strlen30(tls, _zName) 30194 _pColl = (*XCollSeq)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64((u32(60)+uint32(_1_nName))+uint32(i32(1)))))) 30195 if _pColl == nil { 30196 goto _2 30197 } 30198 30199 _2_pDel = nil 30200 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + 20*uintptr(i32(3)))))) 30201 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(0)))))) + uintptr(4 /* X1 */))) = uint8(i32(1)) 30202 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(1)))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + 20*uintptr(i32(3)))))) 30203 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(1)))))) + uintptr(4 /* X1 */))) = uint8(i32(2)) 30204 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(2)))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + 20*uintptr(i32(3)))))) 30205 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(2)))))) + uintptr(4 /* X1 */))) = uint8(i32(3)) 30206 crt.Xmemcpy(tls, (unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(0)))).X0), (unsafe.Pointer)(_zName), uint32(_1_nName)) 30207 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(0)))).X0)) + 1*uintptr(_1_nName))) = int8(i32(0)) 30208 _2_pDel = (*XCollSeq)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(360 /* X70 */))), (*XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl))+20*uintptr(i32(0)))).X0, (unsafe.Pointer)(_pColl)))) 30209 func() int32 { 30210 if (_2_pDel == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0))))) || (_2_pDel == _pColl) { 30211 return i32(0) 30212 } 30213 return func() int32 { 30214 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104078), unsafe.Pointer((*int8)(unsafe.Pointer(&_findCollSeqEntryØ00__func__Ø000))), unsafe.Pointer(str(25056))) 30215 crt.X__builtin_abort(tls) 30216 return i32(0) 30217 }() 30218 }() 30219 if _2_pDel == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 30220 goto _6 30221 } 30222 30223 _sqlite3OomFault(tls, _db) 30224 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_pDel)) 30225 _pColl = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) 30226 _6: 30227 _2: 30228 _1: 30229 r0 = _pColl 30230 return 30231 30232 } 30233 30234 func _sqlite3HashFind(tls *crt.TLS, _pH *XHash, _pKey *int8) (r0 unsafe.Pointer) { // sqlite3.c:29398:1 30235 var _elem *XHashElem // sqlite3.c:29399:12 30236 _ = _elem 30237 var _h uint32 // sqlite3.c:29400:16 30238 _ = _h 30239 func() int32 { 30240 if _pH != (*XHash)(unsafe.Pointer(uintptr(i32(0)))) { 30241 return i32(0) 30242 } 30243 return func() int32 { 30244 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29402), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashFindØ00__func__Ø000))), unsafe.Pointer(str(21992))) 30245 crt.X__builtin_abort(tls) 30246 return i32(0) 30247 }() 30248 }() 30249 func() int32 { 30250 if _pKey != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 30251 return i32(0) 30252 } 30253 return func() int32 { 30254 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29403), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HashFindØ00__func__Ø000))), unsafe.Pointer(str(22460))) 30255 crt.X__builtin_abort(tls) 30256 return i32(0) 30257 }() 30258 }() 30259 _elem = _findElementWithHash(tls, _pH, _pKey, &_h) 30260 r0 = func() unsafe.Pointer { 30261 if _elem != nil { 30262 return unsafe.Pointer(_elem.X2) 30263 } 30264 return (unsafe.Pointer)(uintptr(i32(0))) 30265 }() 30266 return 30267 30268 } 30269 30270 var _sqlite3HashFindØ00__func__Ø000 [16]int8 // - 30271 30272 func init() { 30273 crt.Xstrncpy(nil, &_sqlite3HashFindØ00__func__Ø000[0], str(25080), 16) 30274 } 30275 30276 var _findCollSeqEntryØ00__func__Ø000 [17]int8 // - 30277 30278 func init() { 30279 crt.Xstrncpy(nil, &_findCollSeqEntryØ00__func__Ø000[0], str(25096), 17) 30280 } 30281 30282 var _sqlite3FindCollSeqØ00__func__Ø000 [19]int8 // - 30283 30284 func init() { 30285 crt.Xstrncpy(nil, &_sqlite3FindCollSeqØ00__func__Ø000[0], str(25116), 19) 30286 } 30287 30288 func Xsqlite3_create_collation16(tls *crt.TLS, _db *Xsqlite3, _zName unsafe.Pointer, _enc int32, _pCtx unsafe.Pointer, _xCompare func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) (r0 int32) { // sqlite3.c:143118:12 30289 var _rc int32 // sqlite3.c:143125:7 30290 _ = _rc 30291 var _zName8 *int8 // sqlite3.c:143126:8 30292 _ = _zName8 30293 _rc = i32(0) 30294 if _sqlite3SafetyCheckOk(tls, _db) != 0 && unsafe.Pointer(_zName) != (unsafe.Pointer)(uintptr(i32(0))) { 30295 goto _1 30296 } 30297 30298 r0 = _sqlite3MisuseError(tls, i32(143129)) 30299 return 30300 30301 _1: 30302 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30303 func() int32 { 30304 if (_db.X17) == 0 { 30305 return i32(0) 30306 } 30307 return func() int32 { 30308 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143132), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_create_collation16Ø00__func__Ø000))), unsafe.Pointer(str(24884))) 30309 crt.X__builtin_abort(tls) 30310 return i32(0) 30311 }() 30312 }() 30313 _zName8 = _sqlite3Utf16to8(tls, _db, _zName, i32(-1), uint8(i32(2))) 30314 if _zName8 == nil { 30315 goto _4 30316 } 30317 30318 _rc = _createCollation(tls, _db, _zName8, uint8(_enc), _pCtx, _xCompare, nil) 30319 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName8)) 30320 _4: 30321 _rc = _sqlite3ApiExit(tls, _db, _rc) 30322 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30323 r0 = _rc 30324 return 30325 30326 } 30327 30328 var _sqlite3_create_collation16Ø00__func__Ø000 [27]int8 // - 30329 30330 func init() { 30331 crt.Xstrncpy(nil, &_sqlite3_create_collation16Ø00__func__Ø000[0], str(25136), 27) 30332 } 30333 30334 func _sqlite3Utf16to8(tls *crt.TLS, _db *Xsqlite3, _z unsafe.Pointer, _nByte int32, _enc uint8) (r0 *int8) { // sqlite3.c:27518:1 30335 var _m XMem // sqlite3.c:27519:7 30336 _ = _m 30337 crt.Xmemset(tls, (unsafe.Pointer)(&_m), i32(0), u32(48)) 30338 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_m)) + uintptr(32 /* X9 */))))) = _db 30339 _sqlite3VdbeMemSetStr(tls, &_m, (*int8)(unsafe.Pointer(_z)), _nByte, _enc, nil) 30340 _sqlite3VdbeChangeEncoding(tls, &_m, i32(1)) 30341 if (_db.X17) == 0 { 30342 goto _0 30343 } 30344 30345 _sqlite3VdbeMemRelease(tls, &_m) 30346 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_m)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 30347 _0: 30348 func() int32 { 30349 if ((int32(_m.X1) & i32(512)) != i32(0)) || ((_db.X17) != 0) { 30350 return i32(0) 30351 } 30352 return func() int32 { 30353 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27528), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Utf16to8Ø00__func__Ø000))), unsafe.Pointer(str(25164))) 30354 crt.X__builtin_abort(tls) 30355 return i32(0) 30356 }() 30357 }() 30358 func() int32 { 30359 if ((int32(_m.X1) & i32(2)) != i32(0)) || ((_db.X17) != 0) { 30360 return i32(0) 30361 } 30362 return func() int32 { 30363 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27529), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Utf16to8Ø00__func__Ø000))), unsafe.Pointer(str(25208))) 30364 crt.X__builtin_abort(tls) 30365 return i32(0) 30366 }() 30367 }() 30368 func() int32 { 30369 if ((_m.X5) != nil) || ((_db.X17) != 0) { 30370 return i32(0) 30371 } 30372 return func() int32 { 30373 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27530), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Utf16to8Ø00__func__Ø000))), unsafe.Pointer(str(25252))) 30374 crt.X__builtin_abort(tls) 30375 return i32(0) 30376 }() 30377 }() 30378 r0 = _m.X5 30379 return 30380 30381 } 30382 30383 var _sqlite3Utf16to8Ø00__func__Ø000 [16]int8 // - 30384 30385 func init() { 30386 crt.Xstrncpy(nil, &_sqlite3Utf16to8Ø00__func__Ø000[0], str(25276), 16) 30387 } 30388 30389 func Xsqlite3_create_function(tls *crt.TLS, _db *Xsqlite3, _zFunc *int8, _nArg int32, _enc int32, _p unsafe.Pointer, _xSFunc func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xStep func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xFinal func(*crt.TLS, *Xsqlite3_context)) (r0 int32) { // sqlite3.c:141603:12 30390 r0 = Xsqlite3_create_function_v2(tls, _db, _zFunc, _nArg, _enc, _p, _xSFunc, _xStep, _xFinal, nil) 30391 return 30392 30393 } 30394 30395 func Xsqlite3_create_function_v2(tls *crt.TLS, _db *Xsqlite3, _zFunc *int8, _nArg int32, _enc int32, _p unsafe.Pointer, _xSFunc func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xStep func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xFinal func(*crt.TLS, *Xsqlite3_context), _xDestroy func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:141617:12 30396 var _rc int32 // sqlite3.c:141628:7 30397 _ = _rc 30398 var _pArg *XFuncDestructor // sqlite3.c:141629:18 30399 _ = _pArg 30400 _rc = i32(1) 30401 _pArg = nil 30402 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 30403 goto _0 30404 } 30405 30406 r0 = _sqlite3MisuseError(tls, i32(141633)) 30407 return 30408 30409 _0: 30410 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30411 if _xDestroy == nil { 30412 goto _1 30413 } 30414 30415 _pArg = (*XFuncDestructor)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(12))))) 30416 if _pArg != nil { 30417 goto _2 30418 } 30419 30420 _xDestroy(tls, _p) 30421 goto _out 30422 30423 _2: 30424 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(4 /* X1 */))) = _xDestroy 30425 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(8 /* X2 */))) = _p 30426 _1: 30427 _rc = _sqlite3CreateFunc(tls, _db, _zFunc, _nArg, _enc, _p, _xSFunc, _xStep, _xFinal, _pArg) 30428 if _pArg == nil || (_pArg.X0) != i32(0) { 30429 goto _4 30430 } 30431 30432 func() int32 { 30433 if _rc != i32(0) { 30434 return i32(0) 30435 } 30436 return func() int32 { 30437 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141648), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_create_function_v2Ø00__func__Ø000))), unsafe.Pointer(str(19196))) 30438 crt.X__builtin_abort(tls) 30439 return i32(0) 30440 }() 30441 }() 30442 _xDestroy(tls, _p) 30443 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pArg)) 30444 _4: 30445 _out: 30446 _rc = _sqlite3ApiExit(tls, _db, _rc) 30447 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30448 r0 = _rc 30449 return 30450 30451 } 30452 30453 func _sqlite3CreateFunc(tls *crt.TLS, _db *Xsqlite3, _zFunctionName *int8, _nArg int32, _enc int32, _pUserData unsafe.Pointer, _xSFunc func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xStep func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xFinal func(*crt.TLS, *Xsqlite3_context), _pDestructor *XFuncDestructor) (r0 int32) { // sqlite3.c:141504:1 30454 var _p *XFuncDef // sqlite3.c:141515:11 30455 _ = _p 30456 var _nName int32 // sqlite3.c:141516:7 30457 _ = _nName 30458 var _extraFlags int32 // sqlite3.c:141517:7 30459 _ = _extraFlags 30460 var _3_rc int32 // sqlite3.c:141544:9 30461 _ = _3_rc 30462 func() int32 { 30463 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 30464 return i32(0) 30465 } 30466 return func() int32 { 30467 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141519), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateFuncØ00__func__Ø000))), unsafe.Pointer(str(832))) 30468 crt.X__builtin_abort(tls) 30469 return i32(0) 30470 }() 30471 }() 30472 if _zFunctionName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && (_xSFunc == nil || _xFinal == nil && _xStep == nil) && (_xSFunc != nil || (_xFinal == nil || _xStep != nil)) && (_xSFunc != nil || (_xFinal != nil || _xStep == nil)) && (_nArg >= i32(-1) && _nArg <= i32(127)) && i32(255) >= store961(&_nName, _sqlite3Strlen30(tls, _zFunctionName)) { 30473 goto _14 30474 } 30475 30476 r0 = _sqlite3MisuseError(tls, i32(141526)) 30477 return 30478 30479 _14: 30480 i32(0) 30481 _extraFlags = _enc & i32(2048) 30482 { 30483 p := &_enc 30484 *p = (*p) & i32(7) 30485 sink961 = *p 30486 } 30487 if _enc != i32(4) { 30488 goto _15 30489 } 30490 30491 _enc = i32(2) 30492 goto _16 30493 30494 _15: 30495 if _enc != i32(5) { 30496 goto _17 30497 } 30498 30499 _3_rc = _sqlite3CreateFunc(tls, _db, _zFunctionName, _nArg, i32(1)|_extraFlags, _pUserData, _xSFunc, _xStep, _xFinal, _pDestructor) 30500 if _3_rc != i32(0) { 30501 goto _18 30502 } 30503 30504 _3_rc = _sqlite3CreateFunc(tls, _db, _zFunctionName, _nArg, i32(2)|_extraFlags, _pUserData, _xSFunc, _xStep, _xFinal, _pDestructor) 30505 _18: 30506 if _3_rc == i32(0) { 30507 goto _19 30508 } 30509 30510 r0 = _3_rc 30511 return 30512 30513 _19: 30514 _enc = i32(3) 30515 _17: 30516 _16: 30517 _p = _sqlite3FindFunction(tls, _db, _zFunctionName, _nArg, uint8(_enc), uint8(i32(0))) 30518 if _p == nil || (int32(_p.X1)&i32(3)) != _enc || int32(_p.X0) != _nArg { 30519 goto _22 30520 } 30521 30522 if (_db.X34) == 0 { 30523 goto _23 30524 } 30525 30526 _sqlite3ErrorWithMsg(tls, _db, i32(5), str(25292)) 30527 func() int32 { 30528 if (_db.X17) == 0 { 30529 return i32(0) 30530 } 30531 return func() int32 { 30532 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141570), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateFuncØ00__func__Ø000))), unsafe.Pointer(str(24884))) 30533 crt.X__builtin_abort(tls) 30534 return i32(0) 30535 }() 30536 }() 30537 r0 = i32(5) 30538 return 30539 30540 _23: 30541 _sqlite3ExpirePreparedStatements(tls, _db) 30542 _22: 30543 _p = _sqlite3FindFunction(tls, _db, _zFunctionName, _nArg, uint8(_enc), uint8(i32(1))) 30544 func() int32 { 30545 if (_p != nil) || ((_db.X17) != 0) { 30546 return i32(0) 30547 } 30548 return func() int32 { 30549 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141578), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateFuncØ00__func__Ø000))), unsafe.Pointer(str(25356))) 30550 crt.X__builtin_abort(tls) 30551 return i32(0) 30552 }() 30553 }() 30554 if _p != nil { 30555 goto _30 30556 } 30557 30558 r0 = _sqlite3NomemError(tls, i32(141580)) 30559 return 30560 30561 _30: 30562 _functionDestroy(tls, _db, _p) 30563 if _pDestructor == nil { 30564 goto _31 30565 } 30566 30567 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDestructor)) + uintptr(0 /* X0 */))) += 1 30568 _31: 30569 *(**XFuncDestructor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))))))) = _pDestructor 30570 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(2 /* X1 */))) = uint16((int32(_p.X1) & i32(3)) | _extraFlags) 30571 *(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))))) = func() func(*crt.TLS, *Xsqlite3_context, int32, **XMem) { 30572 if _xSFunc != nil { 30573 return _xSFunc 30574 } 30575 return _xStep 30576 }() 30577 *(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))))) = _xFinal 30578 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) = _pUserData 30579 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int8(uint16(_nArg)) 30580 r0 = i32(0) 30581 return 30582 30583 } 30584 30585 var _sqlite3CreateFuncØ00__func__Ø000 [18]int8 // - 30586 30587 func init() { 30588 crt.Xstrncpy(nil, &_sqlite3CreateFuncØ00__func__Ø000[0], str(25380), 18) 30589 } 30590 30591 func _sqlite3FindFunction(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _nArg int32, _enc uint8, _createFlag uint8) (r0 *XFuncDef) { // sqlite3.c:104246:1 30592 var _p *XFuncDef // sqlite3.c:104253:11 30593 _ = _p 30594 var _pBest *XFuncDef // sqlite3.c:104254:11 30595 _ = _pBest 30596 var _bestScore int32 // sqlite3.c:104255:7 30597 _ = _bestScore 30598 var _h int32 // sqlite3.c:104256:7 30599 _ = _h 30600 var _nName int32 // sqlite3.c:104257:7 30601 _ = _nName 30602 var _1_score int32 // sqlite3.c:104267:9 30603 _ = _1_score 30604 var _4_score int32 // sqlite3.c:104292:11 30605 _ = _4_score 30606 var _6_pOther *XFuncDef // sqlite3.c:104307:13 30607 _ = _6_pOther 30608 _pBest = nil 30609 _bestScore = i32(0) 30610 func() int32 { 30611 if _nArg >= i32(-2) { 30612 return i32(0) 30613 } 30614 return func() int32 { 30615 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104259), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindFunctionØ00__func__Ø000))), unsafe.Pointer(str(25400))) 30616 crt.X__builtin_abort(tls) 30617 return i32(0) 30618 }() 30619 }() 30620 func() int32 { 30621 if (_nArg >= i32(-1)) || (int32(_createFlag) == i32(0)) { 30622 return i32(0) 30623 } 30624 return func() int32 { 30625 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104260), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindFunctionØ00__func__Ø000))), unsafe.Pointer(str(25412))) 30626 crt.X__builtin_abort(tls) 30627 return i32(0) 30628 }() 30629 }() 30630 _nName = _sqlite3Strlen30(tls, _zName) 30631 _p = (*XFuncDef)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X69 */))), _zName))) 30632 _5: 30633 if _p == nil { 30634 goto _6 30635 } 30636 30637 _1_score = _matchQuality(tls, _p, _nArg, _enc) 30638 if _1_score <= _bestScore { 30639 goto _7 30640 } 30641 30642 _pBest = _p 30643 _bestScore = _1_score 30644 _7: 30645 _p = (*XFuncDef)(unsafe.Pointer(_p.X3)) 30646 goto _5 30647 30648 _6: 30649 if _createFlag != 0 || _pBest != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) && ((_db.X6)&i32(2097152)) == i32(0) { 30650 goto _10 30651 } 30652 30653 _bestScore = i32(0) 30654 _h = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(i32(0))))))))) + _nName) % i32(23) 30655 _p = _functionSearch(tls, _h, _zName) 30656 _11: 30657 if _p == nil { 30658 goto _12 30659 } 30660 30661 _4_score = _matchQuality(tls, _p, _nArg, _enc) 30662 if _4_score <= _bestScore { 30663 goto _13 30664 } 30665 30666 _pBest = _p 30667 _bestScore = _4_score 30668 _13: 30669 _p = (*XFuncDef)(unsafe.Pointer(_p.X3)) 30670 goto _11 30671 30672 _12: 30673 _10: 30674 if _createFlag == 0 || _bestScore >= i32(6) || store7789984(&_pBest, (*XFuncDef)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64((u32(28)+uint32(_nName))+uint32(i32(1))))))) == (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 30675 goto _16 30676 } 30677 30678 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(20 /* X6 */))) = (*int8)(unsafe.Pointer((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + 28*uintptr(i32(1)))))) 30679 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(0 /* X0 */))) = int8(uint16(_nArg)) 30680 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(2 /* X1 */))) = uint16(_enc) 30681 crt.Xmemcpy(tls, (unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest))+28*uintptr(i32(1))))), (unsafe.Pointer)(_zName), uint32(_nName+i32(1))) 30682 _6_pOther = (*XFuncDef)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(344 /* X69 */))), _pBest.X6, (unsafe.Pointer)(_pBest)))) 30683 if _6_pOther != _pBest { 30684 goto _17 30685 } 30686 30687 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pBest)) 30688 _sqlite3OomFault(tls, _db) 30689 r0 = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) 30690 return 30691 30692 _17: 30693 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(8 /* X3 */))))) = _6_pOther 30694 _16: 30695 if _pBest == nil || (*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { 30696 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) 30697 }{(_pBest.X4)}))) == nil && _createFlag == 0 { 30698 goto _21 30699 } 30700 30701 r0 = _pBest 30702 return 30703 30704 _21: 30705 r0 = (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) 30706 return 30707 30708 } 30709 30710 var _sqlite3FindFunctionØ00__func__Ø000 [20]int8 // - 30711 30712 func init() { 30713 crt.Xstrncpy(nil, &_sqlite3FindFunctionØ00__func__Ø000[0], str(25440), 20) 30714 } 30715 30716 func _matchQuality(tls *crt.TLS, _p *XFuncDef, _nArg int32, _enc uint8) (r0 int32) { // sqlite3.c:104151:1 30717 var _match int32 // sqlite3.c:104156:7 30718 _ = _match 30719 if _nArg != i32(-2) { 30720 goto _0 30721 } 30722 30723 r0 = func() int32 { 30724 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 30725 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 30726 }{(*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { 30727 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) 30728 }{(_p.X4)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 30729 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 30730 }{nil})) { 30731 return i32(0) 30732 } 30733 return i32(6) 30734 }() 30735 return 30736 30737 _0: 30738 if int32(_p.X0) == _nArg || int32(_p.X0) < i32(0) { 30739 goto _4 30740 } 30741 30742 r0 = i32(0) 30743 return 30744 30745 _4: 30746 if int32(_p.X0) != _nArg { 30747 goto _5 30748 } 30749 30750 _match = i32(4) 30751 goto _6 30752 30753 _5: 30754 _match = i32(1) 30755 _6: 30756 if int32(_enc) != (int32(_p.X1) & i32(3)) { 30757 goto _7 30758 } 30759 30760 { 30761 p := &_match 30762 *p = (*p) + i32(2) 30763 sink961 = *p 30764 } 30765 goto _8 30766 30767 _7: 30768 if ((int32(_enc) & int32(_p.X1)) & i32(2)) == i32(0) { 30769 goto _9 30770 } 30771 30772 { 30773 p := &_match 30774 *p = (*p) + i32(1) 30775 sink961 = *p 30776 } 30777 _9: 30778 _8: 30779 r0 = _match 30780 return 30781 30782 } 30783 30784 var _sqlite3_create_function_v2Ø00__func__Ø000 [27]int8 // - 30785 30786 func init() { 30787 crt.Xstrncpy(nil, &_sqlite3_create_function_v2Ø00__func__Ø000[0], str(25460), 27) 30788 } 30789 30790 func Xsqlite3_create_function16(tls *crt.TLS, _db *Xsqlite3, _zFunctionName unsafe.Pointer, _nArg int32, _eTextRep int32, _p unsafe.Pointer, _xSFunc func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xStep func(*crt.TLS, *Xsqlite3_context, int32, **XMem), _xFinal func(*crt.TLS, *Xsqlite3_context)) (r0 int32) { // sqlite3.c:141660:12 30791 var _rc int32 // sqlite3.c:141670:7 30792 _ = _rc 30793 var _zFunc8 *int8 // sqlite3.c:141671:8 30794 _ = _zFunc8 30795 if _sqlite3SafetyCheckOk(tls, _db) != 0 && unsafe.Pointer(_zFunctionName) != (unsafe.Pointer)(uintptr(i32(0))) { 30796 goto _1 30797 } 30798 30799 r0 = _sqlite3MisuseError(tls, i32(141674)) 30800 return 30801 30802 _1: 30803 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30804 func() int32 { 30805 if (_db.X17) == 0 { 30806 return i32(0) 30807 } 30808 return func() int32 { 30809 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141677), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_create_function16Ø00__func__Ø000))), unsafe.Pointer(str(24884))) 30810 crt.X__builtin_abort(tls) 30811 return i32(0) 30812 }() 30813 }() 30814 _zFunc8 = _sqlite3Utf16to8(tls, _db, _zFunctionName, i32(-1), uint8(i32(2))) 30815 _rc = _sqlite3CreateFunc(tls, _db, _zFunc8, _nArg, _eTextRep, _p, _xSFunc, _xStep, _xFinal, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) 30816 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zFunc8)) 30817 _rc = _sqlite3ApiExit(tls, _db, _rc) 30818 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30819 r0 = _rc 30820 return 30821 30822 } 30823 30824 var _sqlite3_create_function16Ø00__func__Ø000 [26]int8 // - 30825 30826 func init() { 30827 crt.Xstrncpy(nil, &_sqlite3_create_function16Ø00__func__Ø000[0], str(25488), 26) 30828 } 30829 30830 func Xsqlite3_create_module(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _pModule *Xsqlite3_module, _pAux unsafe.Pointer) (r0 int32) { // sqlite3.c:124621:12 30831 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 30832 goto _1 30833 } 30834 30835 r0 = _sqlite3MisuseError(tls, i32(124628)) 30836 return 30837 30838 _1: 30839 r0 = _createModule(tls, _db, _zName, _pModule, _pAux, nil) 30840 return 30841 30842 } 30843 30844 func _createModule(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _pModule *Xsqlite3_module, _pAux unsafe.Pointer, _xDestroy func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:124596:1 30845 var _rc int32 // sqlite3.c:124603:7 30846 _ = _rc 30847 _rc = i32(0) 30848 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30849 if _sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */))), _zName) == nil { 30850 goto _0 30851 } 30852 30853 _rc = _sqlite3MisuseError(tls, i32(124607)) 30854 goto _1 30855 30856 _0: 30857 _sqlite3VtabCreateModule(tls, _db, _zName, _pModule, _pAux, _xDestroy) 30858 _1: 30859 _rc = _sqlite3ApiExit(tls, _db, _rc) 30860 if _rc == i32(0) || _xDestroy == nil { 30861 goto _3 30862 } 30863 30864 _xDestroy(tls, _pAux) 30865 _3: 30866 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30867 r0 = _rc 30868 return 30869 30870 } 30871 30872 func _sqlite3VtabCreateModule(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _pModule *Xsqlite3_module, _pAux unsafe.Pointer, _xDestroy func(*crt.TLS, unsafe.Pointer)) (r0 *XModule) { // sqlite3.c:124561:1 30873 var _pMod *XModule // sqlite3.c:124568:10 30874 _ = _pMod 30875 var _nName int32 // sqlite3.c:124569:7 30876 _ = _nName 30877 var _1_pDel *XModule // sqlite3.c:124572:12 30878 _ = _1_pDel 30879 var _1_zCopy *int8 // sqlite3.c:124573:10 30880 _ = _1_zCopy 30881 _nName = _sqlite3Strlen30(tls, _zName) 30882 _pMod = (*XModule)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64((u32(20)+uint32(_nName))+uint32(i32(1)))))) 30883 if _pMod == nil { 30884 goto _0 30885 } 30886 30887 _1_zCopy = (*int8)(unsafe.Pointer((*XModule)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + 20*uintptr(i32(1)))))) 30888 crt.Xmemcpy(tls, (unsafe.Pointer)(_1_zCopy), (unsafe.Pointer)(_zName), uint32(_nName+i32(1))) 30889 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(4 /* X1 */))) = _1_zCopy 30890 *(**Xsqlite3_module)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(0 /* X0 */))))) = _pModule 30891 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(8 /* X2 */))) = _pAux 30892 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(12 /* X3 */))) = _xDestroy 30893 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(16 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 30894 _1_pDel = (*XModule)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */))), _1_zCopy, (unsafe.Pointer)(_pMod)))) 30895 func() int32 { 30896 if (_1_pDel == (*XModule)(unsafe.Pointer(uintptr(i32(0))))) || (_1_pDel == _pMod) { 30897 return i32(0) 30898 } 30899 return func() int32 { 30900 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124581), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCreateModuleØ00__func__Ø000))), unsafe.Pointer(str(25516))) 30901 crt.X__builtin_abort(tls) 30902 return i32(0) 30903 }() 30904 }() 30905 if _1_pDel == nil { 30906 goto _4 30907 } 30908 30909 _sqlite3OomFault(tls, _db) 30910 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pDel)) 30911 _pMod = (*XModule)(unsafe.Pointer(uintptr(i32(0)))) 30912 _4: 30913 _0: 30914 r0 = _pMod 30915 return 30916 30917 } 30918 30919 var _sqlite3VtabCreateModuleØ00__func__Ø000 [24]int8 // - 30920 30921 func init() { 30922 crt.Xstrncpy(nil, &_sqlite3VtabCreateModuleØ00__func__Ø000[0], str(25540), 24) 30923 } 30924 30925 func Xsqlite3_data_count(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76906:12 30926 var _pVm *XVdbe // sqlite3.c:76907:8 30927 _ = _pVm 30928 _pVm = (*XVdbe)(unsafe.Pointer(_pStmt)) 30929 if _pVm != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) && (*XMem)(unsafe.Pointer(_pVm.X21)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 30930 goto _1 30931 } 30932 30933 r0 = i32(0) 30934 return 30935 30936 _1: 30937 r0 = int32(_pVm.X29) 30938 return 30939 30940 } 30941 30942 func Xsqlite3_db_handle(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 *Xsqlite3) { // sqlite3.c:77548:12 30943 r0 = func() *Xsqlite3 { 30944 if _pStmt != nil { 30945 return (*Xsqlite3)(unsafe.Pointer((*XVdbe)(unsafe.Pointer(_pStmt)).X0)) 30946 } 30947 return (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 30948 }() 30949 return 30950 30951 } 30952 30953 func Xsqlite3_declare_vtab(tls *crt.TLS, _db *Xsqlite3, _zCreateTable *int8) (r0 int32) { // sqlite3.c:125259:12 30954 var _pCtx *XVtabCtx // sqlite3.c:125260:11 30955 _ = _pCtx 30956 var _pParse *XParse // sqlite3.c:125261:9 30957 _ = _pParse 30958 var _rc int32 // sqlite3.c:125262:7 30959 _ = _rc 30960 var _pTab *XTable // sqlite3.c:125263:9 30961 _ = _pTab 30962 var _zErr *int8 // sqlite3.c:125264:8 30963 _ = _zErr 30964 var _6_pNew *XTable // sqlite3.c:125296:15 30965 _ = _6_pNew 30966 var _6_pIdx *XIndex // sqlite3.c:125297:15 30967 _ = _6_pIdx 30968 _rc = i32(0) 30969 _zErr = nil 30970 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zCreateTable != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 30971 goto _1 30972 } 30973 30974 r0 = _sqlite3MisuseError(tls, i32(125268)) 30975 return 30976 30977 _1: 30978 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30979 _pCtx = (*XVtabCtx)(unsafe.Pointer(_db.X66)) 30980 if _pCtx != nil && (_pCtx.X3) == 0 { 30981 goto _3 30982 } 30983 30984 _sqlite3Error(tls, _db, i32(21)) 30985 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 30986 r0 = _sqlite3MisuseError(tls, i32(125276)) 30987 return 30988 30989 _3: 30990 _pTab = (*XTable)(unsafe.Pointer(_pCtx.X1)) 30991 func() int32 { 30992 if (_pTab.X16) != 0 { 30993 return i32(0) 30994 } 30995 return func() int32 { 30996 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125279), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_declare_vtabØ00__func__Ø000))), unsafe.Pointer(str(25564))) 30997 crt.X__builtin_abort(tls) 30998 return i32(0) 30999 }() 31000 }() 31001 _pParse = (*XParse)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(484))))) 31002 if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 31003 goto _6 31004 } 31005 31006 _rc = _sqlite3NomemError(tls, i32(125283)) 31007 goto _7 31008 31009 _6: 31010 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(412 /* X55 */))) = uint8(i32(1)) 31011 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(0 /* X0 */))))) = _db 31012 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X42 */))) = uint32(i32(1)) 31013 if i32(0) != _sqlite3RunParser(tls, _pParse, _zCreateTable, &_zErr) || (*XTable)(unsafe.Pointer(_pParse.X63)) == nil || (_db.X17) != 0 || (*XSelect)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pParse.X63)).X3)) != nil || ((*XTable)(unsafe.Pointer(_pParse.X63)).X16) != 0 { 31014 goto _12 31015 } 31016 31017 if (*XColumn)(unsafe.Pointer(_pTab.X1)) != nil { 31018 goto _13 31019 } 31020 31021 _6_pNew = (*XTable)(unsafe.Pointer(_pParse.X63)) 31022 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_6_pNew.X1)) 31023 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(42 /* X11 */))) = _6_pNew.X11 31024 { 31025 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(36 /* X9 */))) 31026 *p = (*p) | ((_6_pNew.X9) & uint32(i32(96))) 31027 sink985 = *p 31028 } 31029 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(42 /* X11 */))) = int16(i32(0)) 31030 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 31031 func() int32 { 31032 if (*XIndex)(unsafe.Pointer(_pTab.X2)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 31033 return i32(0) 31034 } 31035 return func() int32 { 31036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125303), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_declare_vtabØ00__func__Ø000))), unsafe.Pointer(str(25580))) 31037 crt.X__builtin_abort(tls) 31038 return i32(0) 31039 }() 31040 }() 31041 if ((_6_pNew.X9)&uint32(i32(32))) == uint32(i32(0)) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { 31042 f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 31043 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { 31044 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 31045 }{((*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer((*XVTable)(unsafe.Pointer(_pCtx.X0)).X1)).X0)).X13)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 31046 f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 31047 }{nil})) { 31048 goto _17 31049 } 31050 31051 _rc = i32(1) 31052 _17: 31053 _6_pIdx = (*XIndex)(unsafe.Pointer(_6_pNew.X2)) 31054 if _6_pIdx == nil { 31055 goto _18 31056 } 31057 31058 func() int32 { 31059 if (*XIndex)(unsafe.Pointer(_6_pIdx.X5)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 31060 return i32(0) 31061 } 31062 return func() int32 { 31063 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125309), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_declare_vtabØ00__func__Ø000))), unsafe.Pointer(str(25596))) 31064 crt.X__builtin_abort(tls) 31065 return i32(0) 31066 }() 31067 }() 31068 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(8 /* X2 */))))) = _6_pIdx 31069 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pNew)) + uintptr(8 /* X2 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 31070 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx)) + uintptr(12 /* X3 */))))) = _pTab 31071 _18: 31072 _13: 31073 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(12 /* X3 */))) = i32(1) 31074 goto _21 31075 31076 _12: 31077 _sqlite3ErrorWithMsg(tls, _db, i32(1), func() *int8 { 31078 if _zErr != nil { 31079 return str(25612) 31080 } 31081 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 31082 }(), unsafe.Pointer(_zErr)) 31083 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 31084 _rc = i32(1) 31085 _21: 31086 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(412 /* X55 */))) = uint8(i32(0)) 31087 if (*XVdbe)(unsafe.Pointer(_pParse.X2)) == nil { 31088 goto _24 31089 } 31090 31091 _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2))) 31092 _24: 31093 _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_pParse.X63))) 31094 _sqlite3ParserReset(tls, _pParse) 31095 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse)) 31096 _7: 31097 func() int32 { 31098 if (_rc & i32(255)) == _rc { 31099 return i32(0) 31100 } 31101 return func() int32 { 31102 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125331), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_declare_vtabØ00__func__Ø000))), unsafe.Pointer(str(25616))) 31103 crt.X__builtin_abort(tls) 31104 return i32(0) 31105 }() 31106 }() 31107 _rc = _sqlite3ApiExit(tls, _db, _rc) 31108 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 31109 r0 = _rc 31110 return 31111 31112 } 31113 31114 var _sqlite3_declare_vtabØ00__func__Ø000 [21]int8 // - 31115 31116 func init() { 31117 crt.Xstrncpy(nil, &_sqlite3_declare_vtabØ00__func__Ø000[0], str(25632), 21) 31118 } 31119 31120 func _sqlite3RunParser(tls *crt.TLS, _pParse *XParse, _zSql *int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:139376:1 31121 var _nErr int32 // sqlite3.c:139377:7 31122 _ = _nErr 31123 var _pEngine unsafe.Pointer // sqlite3.c:139378:8 31124 _ = _pEngine 31125 var _n int32 // sqlite3.c:139379:7 31126 _ = _n 31127 var _tokenType int32 // sqlite3.c:139380:7 31128 _ = _tokenType 31129 var _lastTokenParsed int32 // sqlite3.c:139381:7 31130 _ = _lastTokenParsed 31131 var _db *Xsqlite3 // sqlite3.c:139382:11 31132 _ = _db 31133 var _mxSqlLen int32 // sqlite3.c:139383:7 31134 _ = _mxSqlLen 31135 var _zSpace [1608]uint8 // sqlite3.c:139385:17 31136 _ = _zSpace 31137 var _19_p *XAutoincInfo // sqlite3.c:139505:17 31138 _ = _19_p 31139 var _20_p *XTable // sqlite3.c:139510:11 31140 _ = _20_p 31141 _nErr = i32(0) 31142 _n = i32(0) 31143 _lastTokenParsed = i32(-1) 31144 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 31145 func() int32 { 31146 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 31147 return i32(0) 31148 } 31149 return func() int32 { 31150 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139388), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25656))) 31151 crt.X__builtin_abort(tls) 31152 return i32(0) 31153 }() 31154 }() 31155 _mxSqlLen = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(1)))) 31156 if (_db.X34) != i32(0) { 31157 goto _2 31158 } 31159 31160 *(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */))))) = i32(0) 31161 _2: 31162 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(0) 31163 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(440 /* X62 */))) = _zSql 31164 func() int32 { 31165 if _pzErrMsg != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 31166 return i32(0) 31167 } 31168 return func() int32 { 31169 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139395), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25664))) 31170 crt.X__builtin_abort(tls) 31171 return i32(0) 31172 }() 31173 }() 31174 _pEngine = (unsafe.Pointer)(&_zSpace) 31175 _sqlite3ParserInit(tls, _pEngine) 31176 func() int32 { 31177 if (*XTable)(unsafe.Pointer(_pParse.X63)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 31178 return i32(0) 31179 } 31180 return func() int32 { 31181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139407), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25676))) 31182 crt.X__builtin_abort(tls) 31183 return i32(0) 31184 }() 31185 }() 31186 func() int32 { 31187 if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { 31188 return i32(0) 31189 } 31190 return func() int32 { 31191 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139408), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25700))) 31192 crt.X__builtin_abort(tls) 31193 return i32(0) 31194 }() 31195 }() 31196 func() int32 { 31197 if int32(_pParse.X52) == i32(0) { 31198 return i32(0) 31199 } 31200 return func() int32 { 31201 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139409), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25724))) 31202 crt.X__builtin_abort(tls) 31203 return i32(0) 31204 }() 31205 }() 31206 func() int32 { 31207 if (_pParse.X60) == (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 31208 return i32(0) 31209 } 31210 return func() int32 { 31211 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139410), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25740))) 31212 crt.X__builtin_abort(tls) 31213 return i32(0) 31214 }() 31215 }() 31216 _13: 31217 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == i32(0) { 31218 goto _15 31219 } 31220 31221 _n = _sqlite3GetToken(tls, (*uint8)(unsafe.Pointer(_zSql)), &_tokenType) 31222 { 31223 p := &_mxSqlLen 31224 *p = (*p) - _n 31225 sink961 = *p 31226 } 31227 if _mxSqlLen >= i32(0) { 31228 goto _16 31229 } 31230 31231 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(18) 31232 goto _14 31233 31234 _16: 31235 goto _17 31236 31237 _15: 31238 if _lastTokenParsed != i32(1) { 31239 goto _18 31240 } 31241 31242 _tokenType = i32(0) 31243 goto _19 31244 31245 _18: 31246 if _lastTokenParsed != i32(0) { 31247 goto _20 31248 } 31249 31250 goto _14 31251 31252 _20: 31253 _tokenType = i32(1) 31254 _19: 31255 { 31256 p := &_zSql 31257 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(_n))) 31258 sink1025 = *p 31259 } 31260 _17: 31261 if _tokenType < i32(162) { 31262 goto _22 31263 } 31264 31265 func() int32 { 31266 if (_tokenType == i32(162)) || (_tokenType == i32(163)) { 31267 return i32(0) 31268 } 31269 return func() int32 { 31270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139432), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25760))) 31271 crt.X__builtin_abort(tls) 31272 return i32(0) 31273 }() 31274 }() 31275 if (*(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */)))))) == 0 { 31276 goto _26 31277 } 31278 31279 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(9) 31280 goto _14 31281 31282 _26: 31283 if _tokenType != i32(163) { 31284 goto _27 31285 } 31286 31287 _sqlite3ErrorMsg(tls, _pParse, str(25808), _n, unsafe.Pointer(_zSql)) 31288 goto _14 31289 31290 _27: 31291 { 31292 p := &_zSql 31293 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 31294 sink1025 = *p 31295 } 31296 goto _28 31297 31298 _22: 31299 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(400 /* X51 */))))) + uintptr(0 /* X0 */))) = _zSql 31300 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(400 /* X51 */))))) + uintptr(4 /* X1 */))) = uint32(_n) 31301 _sqlite3Parser(tls, _pEngine, _tokenType, _pParse.X51, _pParse) 31302 _lastTokenParsed = _tokenType 31303 { 31304 p := &_zSql 31305 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 31306 sink1025 = *p 31307 } 31308 if (_pParse.X3) == i32(0) && (_db.X17) == 0 { 31309 goto _30 31310 } 31311 31312 goto _14 31313 31314 _30: 31315 _28: 31316 goto _13 31317 31318 _14: 31319 func() int32 { 31320 if _nErr == i32(0) { 31321 return i32(0) 31322 } 31323 return func() int32 { 31324 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139451), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25836))) 31325 crt.X__builtin_abort(tls) 31326 return i32(0) 31327 }() 31328 }() 31329 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(440 /* X62 */))) = _zSql 31330 _sqlite3ParserFinalize(tls, _pEngine) 31331 if (_db.X17) == 0 { 31332 goto _33 31333 } 31334 31335 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = _sqlite3NomemError(tls, i32(139466)) 31336 _33: 31337 if (_pParse.X3) == i32(0) || (_pParse.X3) == i32(101) || (_pParse.X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 31338 goto _36 31339 } 31340 31341 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(4 /* X1 */))) = _sqlite3MPrintf(tls, _db, str(25612), unsafe.Pointer(_sqlite3ErrStr(tls, _pParse.X3))) 31342 _36: 31343 func() int32 { 31344 if _pzErrMsg != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 31345 return i32(0) 31346 } 31347 return func() int32 { 31348 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139471), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25664))) 31349 crt.X__builtin_abort(tls) 31350 return i32(0) 31351 }() 31352 }() 31353 if (_pParse.X1) == nil { 31354 goto _39 31355 } 31356 31357 *_pzErrMsg = _pParse.X1 31358 Xsqlite3_log(tls, _pParse.X3, str(25612), unsafe.Pointer(*_pzErrMsg)) 31359 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 31360 _nErr += 1 31361 _39: 31362 if (*XVdbe)(unsafe.Pointer(_pParse.X2)) == nil || (_pParse.X16) <= i32(0) || int32(_pParse.X6) != i32(0) { 31363 goto _42 31364 } 31365 31366 _sqlite3VdbeDelete(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2))) 31367 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(8 /* X2 */))))) = (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) 31368 _42: 31369 if int32(_pParse.X6) != i32(0) { 31370 goto _43 31371 } 31372 31373 _sqlite3DbFree(tls, _db, _pParse.X37) 31374 *(**XTableLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(124 /* X37 */))))) = (*XTableLock)(unsafe.Pointer(uintptr(i32(0)))) 31375 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(120 /* X36 */))) = i32(0) 31376 _43: 31377 Xsqlite3_free(tls, (unsafe.Pointer)(_pParse.X67)) 31378 if (_pParse.X55) != 0 { 31379 goto _44 31380 } 31381 31382 _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_pParse.X63))) 31383 _44: 31384 if (*XWith)(unsafe.Pointer(_pParse.X71)) == nil { 31385 goto _45 31386 } 31387 31388 _sqlite3WithDelete(tls, _db, (*XWith)(unsafe.Pointer(_pParse.X71))) 31389 _45: 31390 _sqlite3DeleteTrigger(tls, _db, (*XTrigger)(unsafe.Pointer(_pParse.X64))) 31391 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse.X60)) 31392 _46: 31393 if (*XAutoincInfo)(unsafe.Pointer(_pParse.X38)) == nil { 31394 goto _47 31395 } 31396 31397 _19_p = (*XAutoincInfo)(unsafe.Pointer(_pParse.X38)) 31398 *(**XAutoincInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(128 /* X38 */))))) = (*XAutoincInfo)(unsafe.Pointer(_19_p.X0)) 31399 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_19_p)) 31400 goto _46 31401 31402 _47: 31403 _48: 31404 if (*XTable)(unsafe.Pointer(_pParse.X68)) == nil { 31405 goto _49 31406 } 31407 31408 _20_p = (*XTable)(unsafe.Pointer(_pParse.X68)) 31409 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(468 /* X68 */))))) = (*XTable)(unsafe.Pointer(_20_p.X21)) 31410 _sqlite3DeleteTable(tls, _db, _20_p) 31411 goto _48 31412 31413 _49: 31414 func() int32 { 31415 if (_nErr == i32(0)) || ((_pParse.X3) != i32(0)) { 31416 return i32(0) 31417 } 31418 return func() int32 { 31419 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(139514), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunParserØ00__func__Ø000))), unsafe.Pointer(str(25844))) 31420 crt.X__builtin_abort(tls) 31421 return i32(0) 31422 }() 31423 }() 31424 r0 = _nErr 31425 return 31426 31427 } 31428 31429 var _sqlite3RunParserØ00__func__Ø000 [17]int8 // - 31430 31431 func init() { 31432 crt.Xstrncpy(nil, &_sqlite3RunParserØ00__func__Ø000[0], str(25880), 17) 31433 } 31434 31435 func _sqlite3ParserInit(tls *crt.TLS, _yypParser unsafe.Pointer) { // sqlite3.c:136334:1 31436 var _pParser *XyyParser // sqlite3.c:136335:12 31437 _ = _pParser 31438 _pParser = (*XyyParser)(unsafe.Pointer(_yypParser)) 31439 *(**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser)) + uintptr(0 /* X0 */))))) = (*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser)) + uintptr(8 /* X2 */))))) 31440 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(8 /* X2 */)))))+16*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) 31441 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(8 /* X2 */)))))+16*uintptr(i32(0)))))) + uintptr(2 /* X1 */))) = uint8(i32(0)) 31442 return 31443 31444 } 31445 31446 func _sqlite3ErrorMsg(tls *crt.TLS, _pParse *XParse, _zFormat *int8, args ...interface{}) { // sqlite3.c:27825:1 31447 var _zMsg *int8 // sqlite3.c:27826:8 31448 _ = _zMsg 31449 var _ap []interface{} // sqlite3.c:27827:11 31450 _ = _ap 31451 var _db *Xsqlite3 // sqlite3.c:27828:11 31452 _ = _db 31453 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 31454 _ap = args 31455 _zMsg = _sqlite3VMPrintf(tls, _db, _zFormat, _ap) 31456 _ap = nil 31457 if (_db.X21) == 0 { 31458 goto _0 31459 } 31460 31461 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zMsg)) 31462 goto _1 31463 31464 _0: 31465 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X16 */))) += 1 31466 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse.X1)) 31467 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(4 /* X1 */))) = _zMsg 31468 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(1) 31469 _1: 31470 return 31471 31472 } 31473 31474 func _sqlite3Parser(tls *crt.TLS, _yyp unsafe.Pointer, _yymajor int32, _yyminor XToken, _pParse *XParse) { // sqlite3.c:138453:1 31475 var _yyminorunion XYYMINORTYPE // sqlite3.c:138459:15 31476 _ = _yyminorunion 31477 var _yyact uint32 // sqlite3.c:138460:16 31478 _ = _yyact 31479 var _yypParser *XyyParser // sqlite3.c:138467:12 31480 _ = _yypParser 31481 var _7_i *XyyStackEntry // sqlite3.c:138597:18 31482 _ = _7_i 31483 var _7_cDiv int8 // sqlite3.c:138598:10 31484 _ = _7_cDiv 31485 _yypParser = (*XyyParser)(unsafe.Pointer(_yyp)) 31486 func() int32 { 31487 if (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) != (*XyyStackEntry)(unsafe.Pointer(uintptr(i32(0)))) { 31488 return i32(0) 31489 } 31490 return func() int32 { 31491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138470), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ParserØ00__func__Ø000))), unsafe.Pointer(str(25900))) 31492 crt.X__builtin_abort(tls) 31493 return i32(0) 31494 }() 31495 }() 31496 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(4 /* X1 */))))) = _pParse 31497 if _yyTraceFILE == nil { 31498 goto _2 31499 } 31500 31501 crt.Xfprintf(tls, _yyTraceFILE, str(25920), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(_yymajor))))) 31502 _2: 31503 _3: 31504 _yyact = _yy_find_shift_action(tls, _yypParser, uint8(_yymajor)) 31505 if _yyact > uint32(i32(999)) { 31506 goto _4 31507 } 31508 31509 _yy_shift(tls, _yypParser, int32(_yyact), _yymajor, _yyminor) 31510 _yymajor = i32(252) 31511 goto _5 31512 31513 _4: 31514 if _yyact > uint32(i32(1331)) { 31515 goto _6 31516 } 31517 31518 _yy_reduce(tls, _yypParser, _yyact-uint32(i32(1000))) 31519 goto _7 31520 31521 _6: 31522 func() int32 { 31523 if _yyact == uint32(i32(1332)) { 31524 return i32(0) 31525 } 31526 return func() int32 { 31527 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138493), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ParserØ00__func__Ø000))), unsafe.Pointer(str(25936))) 31528 crt.X__builtin_abort(tls) 31529 return i32(0) 31530 }() 31531 }() 31532 *(*XToken)(unsafe.Pointer(&_yyminorunion)) = _yyminor 31533 if _yyTraceFILE == nil { 31534 goto _10 31535 } 31536 31537 crt.Xfprintf(tls, _yyTraceFILE, str(25964), unsafe.Pointer(_yyTracePrompt)) 31538 _10: 31539 _yy_syntax_error(tls, _yypParser, _yymajor, _yyminor) 31540 _yy_destructor(tls, _yypParser, uint8(_yymajor), &_yyminorunion) 31541 _yymajor = i32(252) 31542 _7: 31543 _5: 31544 if (_yymajor != i32(252)) && (uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) > uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(8 /* X2 */)))))))) { 31545 goto _3 31546 } 31547 31548 if _yyTraceFILE == nil { 31549 goto _12 31550 } 31551 31552 _7_cDiv = i8(91) 31553 crt.Xfprintf(tls, _yyTraceFILE, str(25984), unsafe.Pointer(_yyTracePrompt)) 31554 _7_i = (*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(8 /* X2 */))))) + 16*uintptr(i32(1)))) 31555 _13: 31556 if uintptr(unsafe.Pointer(_7_i)) > uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) { 31557 goto _16 31558 } 31559 31560 crt.Xfprintf(tls, _yyTraceFILE, str(26004), int32(_7_cDiv), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(_7_i.X1))))) 31561 _7_cDiv = int8(i32(32)) 31562 *(*uintptr)(unsafe.Pointer(&_7_i)) += uintptr(16) 31563 goto _13 31564 31565 _16: 31566 crt.Xfprintf(tls, _yyTraceFILE, str(26012)) 31567 _12: 31568 return 31569 31570 } 31571 31572 var _sqlite3ParserØ00__func__Ø000 [14]int8 // - 31573 31574 func init() { 31575 crt.Xstrncpy(nil, &_sqlite3ParserØ00__func__Ø000[0], str(26016), 14) 31576 } 31577 31578 var _yyTraceFILE *unsafe.Pointer // sqlite3.c:135850:13 31579 31580 var _yyTracePrompt *int8 // sqlite3.c:135851:13 31581 31582 var _yyTokenName [251]*int8 // sqlite3.c:135883:19 31583 31584 func init() { 31585 _yyTokenName = [251]*int8{str(26032), str(26036), str(26044), str(26052), str(26060), str(26068), str(26076), str(26088), str(26100), str(26112), str(26124), str(26132), str(26136), str(26148), str(26160), str(26168), str(26172), str(26180), str(26188), str(26192), str(26196), str(26204), str(26212), str(26216), str(26220), str(26224), str(26232), str(26240), str(26244), str(26248), str(26252), str(26260), str(26268), str(26276), str(26280), str(26288), str(26296), str(26300), str(26304), str(26308), str(26312), str(26316), str(26320), str(26328), str(26336), str(26344), str(26352), str(26360), str(26368), str(26376), str(26384), str(26392), str(26396), str(26404), str(26412), str(26420), str(26424), str(26432), str(26440), str(26448), str(26456), str(26464), str(26468), str(26476), str(26484), str(26488), str(26496), str(26504), str(26516), str(26528), str(26540), str(26548), str(26556), str(26564), str(26572), str(26576), str(26584), str(26596), str(26604), str(26608), str(26612), str(26616), str(26624), str(26632), str(26640), str(26652), str(26660), str(26672), str(26676), str(26684), str(26692), str(26700), str(26708), str(26716), str(26724), str(26732), str(26744), str(26748), str(26756), str(26764), str(26776), str(200), str(26784), str(26792), str(26800), str(26808), str(26820), str(26832), str(26836), str(26844), str(26852), str(26860), str(26864), str(26876), str(26884), str(26892), str(26900), str(26904), str(26912), str(26924), str(26932), str(26940), str(26952), str(26956), str(26964), str(26972), str(26980), str(26988), str(26996), str(27004), str(27012), str(27020), str(27028), str(27036), str(27044), str(27052), str(27064), str(27072), str(27080), str(27088), str(27096), str(27104), str(27112), str(27116), str(27124), str(27132), str(27140), str(24876), str(27148), str(27156), str(27160), str(27172), str(27184), str(27188), str(27204), str(27220), str(27240), str(24852), str(27252), str(27264), str(27272), str(27284), str(27300), str(27316), str(27324), str(27336), str(27348), str(27360), str(27372), str(27380), str(27392), str(27404), str(27412), str(27420), str(27428), str(27436), str(27448), str(27456), str(27468), str(27476), str(27492), str(27500), str(27508), str(27532), str(27544), str(27556), str(27564), str(27576), str(27584), str(27604), str(27612), str(27624), str(27636), str(27648), str(27660), str(27676), str(27688), str(27696), str(27712), str(27724), str(27736), str(27744), str(27756), str(27768), str(27780), str(27792), str(27804), str(27812), str(27824), str(27836), str(27844), str(27848), str(27860), str(27872), str(27880), str(27892), str(27900), str(27912), str(27920), str(27928), str(27940), str(27952), str(27960), str(27972), str(27980), str(27996), str(28012), str(28028), str(28040), str(28052), str(28060), str(28068), str(28084), str(28104), str(28120), str(28136), str(28152), str(28164), str(28176), str(28184), str(28192), str(28208), str(28216), str(28236), str(28252), str(28264), str(28276), str(28284), str(28300), str(28304), str(28312)} 31586 } 31587 31588 func _yy_find_shift_action(tls *crt.TLS, _pParser *XyyParser, _iLookAhead uint8) (r0 uint32) { // sqlite3.c:136548:1 31589 var _i int32 // sqlite3.c:136552:7 31590 _ = _i 31591 var _stateno int32 // sqlite3.c:136553:7 31592 _ = _stateno 31593 var _2_iFallback uint8 // sqlite3.c:136563:18 31594 _ = _2_iFallback 31595 var _5_j int32 // sqlite3.c:136579:13 31596 _ = _5_j 31597 _stateno = int32((*XyyStackEntry)(unsafe.Pointer(_pParser.X0)).X0) 31598 if _stateno < i32(1000) { 31599 goto _0 31600 } 31601 31602 r0 = uint32(_stateno) 31603 return 31604 31605 _0: 31606 func() int32 { 31607 if _stateno <= i32(455) { 31608 return i32(0) 31609 } 31610 return func() int32 { 31611 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136556), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_shift_actionØ00__func__Ø000))), unsafe.Pointer(str(28320))) 31612 crt.X__builtin_abort(tls) 31613 return i32(0) 31614 }() 31615 }() 31616 _3: 31617 _i = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_shift_ofst)) + 2*uintptr(_stateno)))) 31618 func() int32 { 31619 if int32(_iLookAhead) != i32(252) { 31620 return i32(0) 31621 } 31622 return func() int32 { 31623 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136559), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_shift_actionØ00__func__Ø000))), unsafe.Pointer(str(28348))) 31624 crt.X__builtin_abort(tls) 31625 return i32(0) 31626 }() 31627 }() 31628 { 31629 p := &_i 31630 *p = (*p) + int32(_iLookAhead) 31631 sink961 = *p 31632 } 31633 if _i >= i32(0) && _i < i32(1567) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_lookahead)) + 1*uintptr(_i)))) == int32(_iLookAhead) { 31634 goto _8 31635 } 31636 31637 if uint32(_iLookAhead) >= u32(96) || int32(store6915(&_2_iFallback, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyFallback)) + 1*uintptr(_iLookAhead))))) == i32(0) { 31638 goto _10 31639 } 31640 31641 if _yyTraceFILE == nil { 31642 goto _11 31643 } 31644 31645 crt.Xfprintf(tls, _yyTraceFILE, str(28372), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(_iLookAhead)))), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(_2_iFallback))))) 31646 _11: 31647 func() int32 { 31648 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyFallback)) + 1*uintptr(_2_iFallback)))) == i32(0) { 31649 return i32(0) 31650 } 31651 return func() int32 { 31652 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136572), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_shift_actionØ00__func__Ø000))), unsafe.Pointer(str(28396))) 31653 crt.X__builtin_abort(tls) 31654 return i32(0) 31655 }() 31656 }() 31657 _iLookAhead = _2_iFallback 31658 goto _3 31659 31660 _10: 31661 _5_j = (_i - int32(_iLookAhead)) + i32(96) 31662 if _5_j >= i32(1567) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_lookahead)) + 1*uintptr(_5_j)))) != i32(96) || int32(_iLookAhead) <= i32(0) { 31663 goto _16 31664 } 31665 31666 if _yyTraceFILE == nil { 31667 goto _17 31668 } 31669 31670 crt.Xfprintf(tls, _yyTraceFILE, str(28424), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(_iLookAhead)))), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(i32(96)))))) 31671 _17: 31672 r0 = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_action)) + 2*uintptr(_5_j)))) 31673 return 31674 31675 _16: 31676 r0 = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_default)) + 2*uintptr(_stateno)))) 31677 return 31678 31679 _8: 31680 r0 = uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_action)) + 2*uintptr(_i)))) 31681 return 31682 31683 } 31684 31685 var _yy_find_shift_actionØ00__func__Ø000 [21]int8 // - 31686 31687 func init() { 31688 crt.Xstrncpy(nil, &_yy_find_shift_actionØ00__func__Ø000[0], str(28448), 21) 31689 } 31690 31691 var _yy_shift_ofst [456]int16 // sqlite3.c:135550:20 31692 31693 func init() { 31694 _yy_shift_ofst = [456]int16{i16(40), i16(599), i16(904), i16(612), i16(760), i16(760), i16(760), i16(760), i16(725), i16(-19), i16(16), i16(16), i16(100), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(876), i16(876), i16(573), i16(542), i16(719), i16(600), i16(61), i16(137), i16(172), i16(207), i16(242), i16(277), i16(312), i16(347), i16(382), i16(417), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(459), i16(494), i16(459), i16(529), i16(564), i16(564), i16(705), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(856), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(760), i16(987), i16(746), i16(746), i16(746), i16(746), i16(746), i16(801), i16(23), i16(32), i16(949), i16(961), i16(979), i16(964), i16(964), i16(949), i16(73), i16(113), i16(-51), i16(1567), i16(1567), i16(1567), i16(536), i16(536), i16(536), i16(99), i16(99), i16(813), i16(813), i16(667), i16(205), i16(240), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(332), i16(1011), i16(422), i16(422), i16(113), i16(30), i16(30), i16(30), i16(30), i16(30), i16(30), i16(1567), i16(1567), i16(1567), i16(922), i16(-94), i16(-94), i16(384), i16(613), i16(828), i16(420), i16(765), i16(804), i16(851), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(672), i16(672), i16(672), i16(949), i16(949), i16(657), i16(949), i16(949), i16(949), i16(-18), i16(949), i16(949), i16(994), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(949), i16(772), i16(1118), i16(712), i16(712), i16(712), i16(810), i16(45), i16(769), i16(1219), i16(1133), i16(418), i16(418), i16(569), i16(1133), i16(569), i16(830), i16(607), i16(663), i16(882), i16(418), i16(693), i16(882), i16(882), i16(848), i16(1152), i16(1065), i16(1286), i16(1238), i16(1238), i16(1287), i16(1287), i16(1238), i16(1344), i16(1341), i16(1239), i16(1353), i16(1353), i16(1353), i16(1353), i16(1238), i16(1355), i16(1239), i16(1344), i16(1341), i16(1341), i16(1239), i16(1238), i16(1355), i16(1243), i16(1312), i16(1238), i16(1238), i16(1355), i16(1370), i16(1238), i16(1355), i16(1238), i16(1355), i16(1370), i16(1290), i16(1290), i16(1290), i16(1327), i16(1370), i16(1290), i16(1301), i16(1290), i16(1327), i16(1290), i16(1290), i16(1284), i16(1304), i16(1284), i16(1304), i16(1284), i16(1304), i16(1284), i16(1304), i16(1238), i16(1391), i16(1238), i16(1280), i16(1370), i16(1366), i16(1366), i16(1370), i16(1302), i16(1308), i16(1310), i16(1309), i16(1239), i16(1414), i16(1416), i16(1431), i16(1431), i16(1440), i16(1440), i16(1440), i16(1440), i16(1567), i16(1567), i16(1567), i16(1567), i16(1567), i16(1567), i16(1567), i16(1567), i16(519), i16(978), i16(1210), i16(1225), i16(104), i16(1141), i16(1189), i16(1246), i16(1248), i16(1251), i16(1252), i16(1253), i16(1257), i16(1258), i16(1273), i16(1003), i16(1187), i16(1293), i16(1170), i16(1272), i16(1279), i16(1234), i16(1281), i16(1176), i16(1177), i16(1289), i16(1242), i16(1195), i16(1453), i16(1455), i16(1437), i16(1319), i16(1447), i16(1369), i16(1452), i16(1446), i16(1448), i16(1352), i16(1345), i16(1364), i16(1354), i16(1458), i16(1356), i16(1463), i16(1479), i16(1359), i16(1357), i16(1449), i16(1450), i16(1454), i16(1456), i16(1372), i16(1428), i16(1421), i16(1367), i16(1489), i16(1487), i16(1472), i16(1388), i16(1358), i16(1417), i16(1470), i16(1419), i16(1413), i16(1429), i16(1395), i16(1480), i16(1483), i16(1486), i16(1394), i16(1402), i16(1488), i16(1430), i16(1490), i16(1491), i16(1485), i16(1492), i16(1432), i16(1457), i16(1494), i16(1438), i16(1451), i16(1495), i16(1497), i16(1498), i16(1496), i16(1407), i16(1502), i16(1503), i16(1505), i16(1499), i16(1406), i16(1506), i16(1507), i16(1475), i16(1468), i16(1511), i16(1410), i16(1509), i16(1473), i16(1510), i16(1474), i16(1516), i16(1509), i16(1517), i16(1518), i16(1519), i16(1520), i16(1521), i16(1523), i16(1532), i16(1524), i16(1526), i16(1525), i16(1527), i16(1528), i16(1530), i16(1531), i16(1527), i16(1533), i16(1535), i16(1536), i16(1537), i16(1539), i16(1436), i16(1441), i16(1442), i16(1443), i16(1543), i16(1547), i16(1549)} 31695 } 31696 31697 var _yy_lookahead [1567]uint8 // sqlite3.c:135387:25 31698 31699 func init() { 31700 _yy_lookahead = [1567]uint8{19, 95, 53, 97, 22, 24, 24, 101, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 55, 55, 132, 133, 134, 1, 2, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 187, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 47, 48, 49, 50, 51, 52, 53, 61, 97, 97, 19, 49, 50, 51, 52, 53, 70, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 144, 145, 146, 147, 19, 16, 22, 92, 172, 173, 52, 53, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 81, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 19, 152, 207, 208, 115, 24, 117, 118, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 79, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 88, 157, 90, 23, 97, 98, 193, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 22, 23, 172, 23, 26, 119, 120, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 187, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 22, 23, 228, 23, 26, 231, 152, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 172, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 221, 222, 223, 23, 96, 152, 172, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 0, 1, 2, 23, 96, 190, 191, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 238, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 185, 218, 221, 222, 223, 152, 152, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 241, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 152, 168, 169, 170, 22, 190, 191, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 19, 218, 55, 56, 24, 22, 152, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 250, 194, 195, 56, 55, 56, 55, 19, 172, 173, 97, 98, 152, 206, 138, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 207, 208, 152, 97, 98, 97, 138, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 181, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 30, 31, 32, 33, 247, 248, 19, 152, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 168, 169, 170, 238, 19, 53, 152, 172, 173, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 19, 20, 101, 22, 23, 169, 170, 56, 207, 85, 55, 56, 23, 19, 20, 26, 22, 99, 100, 101, 102, 103, 104, 105, 238, 152, 152, 210, 47, 48, 112, 152, 108, 109, 110, 54, 55, 56, 221, 222, 223, 47, 48, 119, 120, 172, 173, 66, 54, 55, 56, 152, 97, 98, 99, 148, 149, 102, 103, 104, 66, 154, 23, 156, 83, 26, 230, 152, 113, 152, 163, 194, 195, 92, 92, 30, 95, 83, 97, 98, 207, 208, 101, 206, 179, 180, 92, 172, 173, 95, 152, 97, 98, 188, 99, 101, 219, 102, 103, 104, 152, 119, 120, 196, 55, 56, 19, 20, 113, 22, 193, 163, 11, 132, 133, 134, 135, 136, 24, 65, 172, 173, 207, 208, 250, 152, 132, 133, 134, 135, 136, 193, 78, 84, 47, 48, 49, 98, 199, 152, 86, 54, 55, 56, 196, 152, 97, 98, 209, 55, 163, 244, 107, 66, 152, 207, 208, 164, 175, 172, 173, 19, 20, 124, 22, 111, 38, 39, 40, 41, 83, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 95, 196, 97, 98, 85, 152, 101, 47, 48, 97, 85, 92, 207, 193, 54, 55, 56, 92, 49, 175, 55, 56, 221, 222, 223, 12, 66, 108, 109, 110, 137, 163, 139, 108, 109, 110, 26, 132, 133, 134, 135, 136, 152, 83, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 95, 26, 97, 98, 55, 56, 101, 97, 98, 196, 221, 222, 223, 146, 147, 57, 171, 152, 22, 26, 19, 20, 49, 22, 179, 108, 109, 110, 55, 56, 116, 73, 219, 75, 124, 121, 152, 132, 133, 134, 135, 136, 163, 85, 152, 232, 97, 98, 47, 48, 237, 55, 56, 98, 5, 54, 55, 56, 193, 10, 11, 12, 13, 14, 172, 173, 17, 66, 47, 48, 97, 98, 152, 124, 152, 196, 55, 56, 186, 124, 152, 106, 160, 152, 83, 152, 164, 152, 61, 22, 211, 212, 152, 97, 98, 152, 95, 70, 97, 98, 172, 173, 101, 172, 173, 172, 173, 172, 173, 60, 181, 62, 172, 173, 47, 48, 123, 186, 97, 98, 71, 100, 55, 56, 152, 181, 186, 21, 107, 152, 109, 82, 163, 132, 133, 134, 135, 136, 89, 16, 207, 92, 93, 19, 172, 173, 169, 170, 195, 55, 56, 12, 152, 132, 30, 134, 47, 48, 186, 206, 225, 152, 95, 114, 97, 196, 245, 246, 101, 152, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 152, 163, 219, 152, 141, 97, 98, 193, 152, 152, 57, 91, 164, 132, 133, 134, 152, 55, 152, 152, 237, 230, 152, 103, 193, 88, 73, 90, 75, 172, 173, 183, 152, 185, 196, 152, 172, 173, 172, 173, 217, 152, 172, 173, 152, 107, 22, 152, 24, 193, 112, 152, 172, 173, 152, 132, 242, 134, 152, 97, 140, 152, 92, 152, 172, 173, 152, 172, 173, 152, 100, 172, 173, 152, 172, 173, 152, 140, 172, 173, 152, 172, 173, 172, 173, 152, 172, 173, 152, 172, 173, 152, 152, 172, 173, 152, 172, 173, 213, 152, 172, 173, 152, 152, 152, 172, 173, 152, 172, 173, 152, 172, 173, 152, 210, 172, 173, 152, 26, 172, 173, 152, 172, 173, 172, 173, 152, 172, 173, 152, 172, 173, 152, 172, 173, 152, 59, 172, 173, 152, 63, 172, 173, 152, 193, 152, 152, 152, 152, 172, 173, 152, 172, 173, 77, 172, 173, 152, 152, 172, 173, 152, 152, 172, 173, 172, 173, 172, 173, 152, 22, 172, 173, 152, 152, 152, 22, 172, 173, 152, 152, 152, 172, 173, 152, 7, 8, 9, 163, 172, 173, 22, 23, 172, 173, 172, 173, 166, 167, 172, 173, 172, 173, 55, 172, 173, 22, 23, 108, 109, 110, 217, 152, 217, 166, 167, 163, 163, 163, 163, 163, 196, 130, 217, 211, 212, 217, 116, 23, 22, 101, 26, 121, 23, 23, 23, 26, 26, 26, 23, 23, 112, 26, 26, 37, 97, 100, 101, 55, 196, 196, 196, 196, 196, 23, 23, 55, 26, 26, 7, 8, 23, 152, 23, 26, 96, 26, 132, 132, 134, 134, 23, 152, 152, 26, 152, 122, 152, 191, 152, 96, 234, 152, 152, 152, 152, 152, 197, 210, 152, 97, 152, 152, 210, 233, 210, 198, 150, 97, 184, 201, 239, 214, 214, 201, 239, 180, 214, 227, 200, 198, 155, 67, 243, 176, 69, 175, 175, 175, 122, 159, 159, 240, 159, 240, 22, 220, 27, 130, 201, 18, 159, 18, 189, 158, 158, 220, 192, 159, 137, 236, 192, 192, 192, 189, 74, 189, 159, 235, 159, 158, 22, 177, 201, 201, 159, 107, 158, 177, 159, 174, 158, 76, 174, 182, 174, 106, 182, 125, 174, 107, 177, 22, 159, 216, 215, 137, 159, 53, 216, 176, 215, 174, 174, 216, 215, 215, 174, 229, 216, 129, 224, 177, 126, 229, 127, 177, 128, 25, 162, 226, 26, 161, 13, 153, 6, 153, 151, 151, 151, 151, 205, 165, 178, 178, 165, 4, 3, 22, 165, 142, 15, 94, 202, 204, 203, 201, 16, 23, 249, 23, 120, 249, 246, 111, 131, 123, 20, 16, 1, 125, 123, 111, 56, 64, 37, 37, 131, 122, 1, 37, 5, 37, 22, 107, 26, 80, 140, 80, 87, 72, 107, 20, 24, 19, 112, 105, 23, 79, 22, 79, 22, 22, 22, 58, 22, 79, 23, 68, 23, 23, 26, 116, 22, 26, 23, 22, 122, 23, 23, 56, 64, 22, 124, 26, 26, 64, 64, 23, 23, 23, 23, 11, 23, 22, 26, 23, 22, 24, 1, 23, 22, 26, 251, 24, 23, 22, 122, 23, 23, 22, 15, 122, 122, 122, 23} 31701 } 31702 31703 var _yyFallback [96]uint8 // sqlite3.c:135702:25 31704 31705 func init() { 31706 _yyFallback = [96]uint8{0, 0, 55, 55, 55, 55, 0, 55, 55, 55, 0, 55, 55, 55, 55, 0, 0, 0, 55, 0, 0, 55, 0, 0, 0, 55, 0, 0, 0, 0, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55} 31707 } 31708 31709 var _yy_action [1567]uint16 // sqlite3.c:135228:27 31710 31711 func init() { 31712 _yy_action = [1567]uint16{u16(325), u16(832), u16(351), u16(825), u16(5), u16(203), u16(203), u16(819), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(301), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(976), u16(976), u16(824), u16(824), u16(826), u16(946), u16(354), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(338), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(791), u16(976), u16(976), u16(325), u16(94), u16(94), u16(94), u16(93), u16(351), u16(792), u16(75), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(450), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(1333), u16(155), u16(155), u16(2), u16(325), u16(275), u16(146), u16(132), u16(52), u16(52), u16(93), u16(351), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(101), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(957), u16(957), u16(325), u16(268), u16(428), u16(413), u16(411), u16(61), u16(752), u16(752), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(60), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(270), u16(329), u16(273), u16(277), u16(958), u16(959), u16(250), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(301), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(937), u16(1326), u16(698), u16(706), u16(1326), u16(242), u16(412), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(347), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(937), u16(1327), u16(384), u16(699), u16(1327), u16(381), u16(379), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(701), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(92), u16(89), u16(178), u16(833), u16(935), u16(373), u16(700), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(375), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(1275), u16(946), u16(354), u16(818), u16(935), u16(739), u16(739), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(230), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(968), u16(227), u16(92), u16(89), u16(178), u16(373), u16(300), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(920), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(449), u16(447), u16(447), u16(447), u16(147), u16(737), u16(737), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(296), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(419), u16(231), u16(957), u16(957), u16(158), u16(25), u16(422), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(450), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(443), u16(224), u16(224), u16(420), u16(957), u16(957), u16(961), u16(325), u16(52), u16(52), u16(958), u16(959), u16(176), u16(415), u16(78), u16(99), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(379), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(428), u16(418), u16(298), u16(958), u16(959), u16(961), u16(81), u16(99), u16(88), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(717), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(842), u16(842), u16(854), u16(857), u16(996), u16(318), u16(343), u16(379), u16(100), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(450), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(325), u16(350), u16(350), u16(350), u16(260), u16(377), u16(340), u16(928), u16(52), u16(52), u16(90), u16(978), u16(978), u16(853), u16(856), u16(845), u16(845), u16(97), u16(97), u16(98), u16(98), u16(98), u16(98), u16(361), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(86), u16(445), u16(846), u16(3), u16(1202), u16(361), u16(360), u16(378), u16(344), u16(813), u16(957), u16(957), u16(1299), u16(86), u16(445), u16(729), u16(3), u16(212), u16(169), u16(287), u16(405), u16(282), u16(404), u16(199), u16(232), u16(450), u16(300), u16(760), u16(83), u16(84), u16(280), u16(245), u16(262), u16(365), u16(251), u16(85), u16(352), u16(352), u16(92), u16(89), u16(178), u16(83), u16(84), u16(242), u16(412), u16(52), u16(52), u16(448), u16(85), u16(352), u16(352), u16(246), u16(958), u16(959), u16(194), u16(455), u16(670), u16(402), u16(399), u16(398), u16(448), u16(243), u16(221), u16(114), u16(434), u16(776), u16(361), u16(450), u16(397), u16(268), u16(747), u16(224), u16(224), u16(132), u16(132), u16(198), u16(832), u16(434), u16(452), u16(451), u16(428), u16(427), u16(819), u16(415), u16(734), u16(713), u16(132), u16(52), u16(52), u16(832), u16(268), u16(452), u16(451), u16(734), u16(194), u16(819), u16(363), u16(402), u16(399), u16(398), u16(450), u16(1270), u16(1270), u16(23), u16(957), u16(957), u16(86), u16(445), u16(397), u16(3), u16(228), u16(429), u16(894), u16(824), u16(824), u16(826), u16(827), u16(19), u16(203), u16(720), u16(52), u16(52), u16(428), u16(408), u16(439), u16(249), u16(824), u16(824), u16(826), u16(827), u16(19), u16(229), u16(403), u16(153), u16(83), u16(84), u16(761), u16(177), u16(241), u16(450), u16(721), u16(85), u16(352), u16(352), u16(120), u16(157), u16(958), u16(959), u16(58), u16(976), u16(409), u16(355), u16(330), u16(448), u16(268), u16(428), u16(430), u16(320), u16(790), u16(32), u16(32), u16(86), u16(445), u16(776), u16(3), u16(341), u16(98), u16(98), u16(98), u16(98), u16(434), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(832), u16(120), u16(452), u16(451), u16(813), u16(886), u16(819), u16(83), u16(84), u16(976), u16(813), u16(132), u16(410), u16(919), u16(85), u16(352), u16(352), u16(132), u16(407), u16(789), u16(957), u16(957), u16(92), u16(89), u16(178), u16(916), u16(448), u16(262), u16(370), u16(261), u16(82), u16(913), u16(80), u16(262), u16(370), u16(261), u16(776), u16(824), u16(824), u16(826), u16(827), u16(19), u16(933), u16(434), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(832), u16(74), u16(452), u16(451), u16(957), u16(957), u16(819), u16(958), u16(959), u16(120), u16(92), u16(89), u16(178), u16(944), u16(2), u16(917), u16(964), u16(268), u16(1), u16(975), u16(76), u16(445), u16(762), u16(3), u16(708), u16(900), u16(900), u16(387), u16(957), u16(957), u16(757), u16(918), u16(371), u16(740), u16(778), u16(756), u16(257), u16(824), u16(824), u16(826), u16(827), u16(19), u16(417), u16(741), u16(450), u16(24), u16(958), u16(959), u16(83), u16(84), u16(369), u16(957), u16(957), u16(177), u16(226), u16(85), u16(352), u16(352), u16(884), u16(315), u16(314), u16(313), u16(215), u16(311), u16(10), u16(10), u16(683), u16(448), u16(349), u16(348), u16(958), u16(959), u16(908), u16(777), u16(157), u16(120), u16(957), u16(957), u16(337), u16(776), u16(416), u16(711), u16(310), u16(450), u16(434), u16(450), u16(321), u16(450), u16(791), u16(103), u16(200), u16(175), u16(450), u16(958), u16(959), u16(907), u16(832), u16(792), u16(452), u16(451), u16(9), u16(9), u16(819), u16(10), u16(10), u16(52), u16(52), u16(51), u16(51), u16(180), u16(716), u16(248), u16(10), u16(10), u16(171), u16(170), u16(167), u16(339), u16(958), u16(959), u16(247), u16(984), u16(702), u16(702), u16(450), u16(715), u16(233), u16(686), u16(982), u16(888), u16(983), u16(182), u16(913), u16(824), u16(824), u16(826), u16(827), u16(19), u16(183), u16(256), u16(423), u16(132), u16(181), u16(394), u16(10), u16(10), u16(888), u16(890), u16(749), u16(957), u16(957), u16(916), u16(268), u16(985), u16(198), u16(985), u16(349), u16(348), u16(425), u16(415), u16(299), u16(817), u16(832), u16(326), u16(825), u16(120), u16(332), u16(133), u16(819), u16(268), u16(98), u16(98), u16(98), u16(98), u16(91), u16(96), u16(96), u16(96), u16(96), u16(95), u16(95), u16(94), u16(94), u16(94), u16(93), u16(351), u16(157), u16(810), u16(371), u16(382), u16(359), u16(958), u16(959), u16(358), u16(268), u16(450), u16(917), u16(368), u16(324), u16(824), u16(824), u16(826), u16(450), u16(709), u16(450), u16(264), u16(380), u16(888), u16(450), u16(876), u16(746), u16(253), u16(918), u16(255), u16(433), u16(36), u16(36), u16(234), u16(450), u16(234), u16(120), u16(269), u16(37), u16(37), u16(12), u16(12), u16(334), u16(272), u16(27), u16(27), u16(450), u16(330), u16(118), u16(450), u16(162), u16(742), u16(280), u16(450), u16(38), u16(38), u16(450), u16(985), u16(356), u16(985), u16(450), u16(709), u16(1209), u16(450), u16(132), u16(450), u16(39), u16(39), u16(450), u16(40), u16(40), u16(450), u16(362), u16(41), u16(41), u16(450), u16(42), u16(42), u16(450), u16(254), u16(28), u16(28), u16(450), u16(29), u16(29), u16(31), u16(31), u16(450), u16(43), u16(43), u16(450), u16(44), u16(44), u16(450), u16(714), u16(45), u16(45), u16(450), u16(11), u16(11), u16(767), u16(450), u16(46), u16(46), u16(450), u16(268), u16(450), u16(105), u16(105), u16(450), u16(47), u16(47), u16(450), u16(48), u16(48), u16(450), u16(237), u16(33), u16(33), u16(450), u16(172), u16(49), u16(49), u16(450), u16(50), u16(50), u16(34), u16(34), u16(274), u16(122), u16(122), u16(450), u16(123), u16(123), u16(450), u16(124), u16(124), u16(450), u16(897), u16(56), u16(56), u16(450), u16(896), u16(35), u16(35), u16(450), u16(267), u16(450), u16(817), u16(450), u16(817), u16(106), u16(106), u16(450), u16(53), u16(53), u16(385), u16(107), u16(107), u16(450), u16(817), u16(108), u16(108), u16(817), u16(450), u16(104), u16(104), u16(121), u16(121), u16(119), u16(119), u16(450), u16(117), u16(112), u16(112), u16(450), u16(276), u16(450), u16(225), u16(111), u16(111), u16(450), u16(730), u16(450), u16(109), u16(109), u16(450), u16(673), u16(674), u16(675), u16(911), u16(110), u16(110), u16(317), u16(998), u16(55), u16(55), u16(57), u16(57), u16(692), u16(331), u16(54), u16(54), u16(26), u16(26), u16(696), u16(30), u16(30), u16(317), u16(936), u16(197), u16(196), u16(195), u16(335), u16(281), u16(336), u16(446), u16(331), u16(745), u16(689), u16(436), u16(440), u16(444), u16(120), u16(72), u16(386), u16(223), u16(175), u16(345), u16(757), u16(932), u16(20), u16(286), u16(319), u16(756), u16(815), u16(372), u16(374), u16(202), u16(202), u16(202), u16(263), u16(395), u16(285), u16(74), u16(208), u16(21), u16(696), u16(719), u16(718), u16(883), u16(120), u16(120), u16(120), u16(120), u16(120), u16(754), u16(278), u16(828), u16(77), u16(74), u16(726), u16(727), u16(785), u16(783), u16(879), u16(202), u16(999), u16(208), u16(893), u16(892), u16(893), u16(892), u16(694), u16(816), u16(763), u16(116), u16(774), u16(1289), u16(431), u16(432), u16(302), u16(999), u16(390), u16(303), u16(823), u16(697), u16(691), u16(680), u16(159), u16(289), u16(679), u16(883), u16(681), u16(951), u16(291), u16(218), u16(293), u16(7), u16(316), u16(828), u16(173), u16(805), u16(259), u16(364), u16(252), u16(910), u16(376), u16(713), u16(295), u16(435), u16(308), u16(168), u16(954), u16(993), u16(135), u16(400), u16(990), u16(284), u16(881), u16(880), u16(205), u16(927), u16(925), u16(59), u16(333), u16(62), u16(144), u16(156), u16(130), u16(72), u16(802), u16(366), u16(367), u16(393), u16(137), u16(185), u16(189), u16(160), u16(139), u16(383), u16(67), u16(895), u16(140), u16(141), u16(142), u16(148), u16(389), u16(812), u16(775), u16(266), u16(219), u16(190), u16(154), u16(391), u16(912), u16(875), u16(271), u16(406), u16(191), u16(322), u16(682), u16(733), u16(192), u16(342), u16(732), u16(724), u16(731), u16(711), u16(723), u16(421), u16(705), u16(71), u16(323), u16(6), u16(204), u16(771), u16(288), u16(79), u16(297), u16(346), u16(772), u16(704), u16(290), u16(283), u16(703), u16(770), u16(292), u16(294), u16(966), u16(239), u16(769), u16(102), u16(861), u16(438), u16(426), u16(240), u16(424), u16(442), u16(73), u16(213), u16(688), u16(238), u16(22), u16(453), u16(952), u16(214), u16(217), u16(216), u16(454), u16(677), u16(676), u16(671), u16(753), u16(125), u16(115), u16(235), u16(126), u16(669), u16(353), u16(166), u16(127), u16(244), u16(179), u16(357), u16(306), u16(304), u16(305), u16(307), u16(113), u16(891), u16(327), u16(889), u16(811), u16(328), u16(134), u16(128), u16(136), u16(138), u16(743), u16(258), u16(906), u16(184), u16(143), u16(129), u16(909), u16(186), u16(63), u16(64), u16(145), u16(187), u16(905), u16(65), u16(8), u16(66), u16(13), u16(188), u16(202), u16(898), u16(265), u16(149), u16(987), u16(388), u16(150), u16(685), u16(161), u16(392), u16(285), u16(193), u16(279), u16(396), u16(151), u16(401), u16(68), u16(14), u16(15), u16(722), u16(69), u16(236), u16(831), u16(131), u16(830), u16(859), u16(70), u16(751), u16(16), u16(414), u16(755), u16(4), u16(174), u16(220), u16(222), u16(784), u16(201), u16(152), u16(779), u16(77), u16(74), u16(17), u16(18), u16(874), u16(860), u16(858), u16(915), u16(863), u16(914), u16(207), u16(206), u16(941), u16(163), u16(437), u16(947), u16(942), u16(164), u16(209), u16(1002), u16(441), u16(862), u16(165), u16(210), u16(829), u16(695), u16(87), u16(312), u16(211), u16(1291), u16(1290), u16(309)} 31713 } 31714 31715 var _yy_default [456]uint16 // sqlite3.c:135637:27 31716 31717 func init() { 31718 _yy_default = [456]uint16{u16(1280), u16(1270), u16(1270), u16(1270), u16(1202), u16(1202), u16(1202), u16(1202), u16(1270), u16(1096), u16(1125), u16(1125), u16(1254), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1201), u16(1332), u16(1332), u16(1332), u16(1332), u16(1270), u16(1100), u16(1131), u16(1332), u16(1332), u16(1332), u16(1332), u16(1203), u16(1204), u16(1332), u16(1332), u16(1332), u16(1253), u16(1255), u16(1141), u16(1140), u16(1139), u16(1138), u16(1236), u16(1112), u16(1136), u16(1129), u16(1133), u16(1203), u16(1197), u16(1198), u16(1196), u16(1200), u16(1204), u16(1332), u16(1132), u16(1167), u16(1181), u16(1166), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1175), u16(1180), u16(1187), u16(1179), u16(1176), u16(1169), u16(1168), u16(1170), u16(1171), u16(1332), u16(1019), u16(1067), u16(1332), u16(1332), u16(1332), u16(1172), u16(1332), u16(1173), u16(1184), u16(1183), u16(1182), u16(1261), u16(1288), u16(1287), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1280), u16(1270), u16(1025), u16(1025), u16(1332), u16(1270), u16(1270), u16(1270), u16(1270), u16(1270), u16(1270), u16(1266), u16(1100), u16(1091), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1258), u16(1256), u16(1332), u16(1217), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1096), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1282), u16(1332), u16(1231), u16(1096), u16(1096), u16(1096), u16(1098), u16(1080), u16(1090), u16(1004), u16(1135), u16(1114), u16(1114), u16(1321), u16(1135), u16(1321), u16(1042), u16(1302), u16(1039), u16(1125), u16(1114), u16(1199), u16(1125), u16(1125), u16(1097), u16(1090), u16(1332), u16(1324), u16(1105), u16(1105), u16(1323), u16(1323), u16(1105), u16(1146), u16(1070), u16(1135), u16(1076), u16(1076), u16(1076), u16(1076), u16(1105), u16(1016), u16(1135), u16(1146), u16(1070), u16(1070), u16(1135), u16(1105), u16(1016), u16(1235), u16(1318), u16(1105), u16(1105), u16(1016), u16(1210), u16(1105), u16(1016), u16(1105), u16(1016), u16(1210), u16(1068), u16(1068), u16(1068), u16(1057), u16(1210), u16(1068), u16(1042), u16(1068), u16(1057), u16(1068), u16(1068), u16(1118), u16(1113), u16(1118), u16(1113), u16(1118), u16(1113), u16(1118), u16(1113), u16(1105), u16(1205), u16(1105), u16(1332), u16(1210), u16(1214), u16(1214), u16(1210), u16(1130), u16(1119), u16(1128), u16(1126), u16(1135), u16(1022), u16(1060), u16(1285), u16(1285), u16(1281), u16(1281), u16(1281), u16(1281), u16(1329), u16(1329), u16(1266), u16(1297), u16(1297), u16(1044), u16(1044), u16(1297), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1292), u16(1332), u16(1219), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1152), u16(1332), u16(1000), u16(1263), u16(1332), u16(1332), u16(1262), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1320), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1234), u16(1233), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1082), u16(1332), u16(1332), u16(1332), u16(1306), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1127), u16(1332), u16(1120), u16(1332), u16(1332), u16(1311), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1272), u16(1332), u16(1332), u16(1332), u16(1271), u16(1332), u16(1332), u16(1332), u16(1332), u16(1332), u16(1154), u16(1332), u16(1153), u16(1157), u16(1332), u16(1010), u16(1332)} 31719 } 31720 31721 func _yy_shift(tls *crt.TLS, _yypParser *XyyParser, _yyNewState int32, _yyMajor int32, _yyMinor XToken) { // sqlite3.c:136681:1 31722 var _yytos *XyyStackEntry // sqlite3.c:136687:16 31723 _ = _yytos 31724 *(*uintptr)(unsafe.Pointer((**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))))) += uintptr(16) 31725 if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) < uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(8 /* X2 */)))))+16*uintptr(i32(100)))))) { 31726 goto _0 31727 } 31728 31729 *(*uintptr)(unsafe.Pointer((**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))))) += uintptr(4294967280) 31730 _yyStackOverflow(tls, _yypParser) 31731 return 31732 31733 _0: 31734 if _yyNewState <= i32(455) { 31735 goto _1 31736 } 31737 31738 { 31739 p := &_yyNewState 31740 *p = (*p) + i32(332) 31741 sink961 = *p 31742 } 31743 _1: 31744 _yytos = (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) 31745 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos)) + uintptr(0 /* X0 */))) = uint16(_yyNewState) 31746 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos)) + uintptr(2 /* X1 */))) = uint8(_yyMajor) 31747 *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos)) + uintptr(4 /* X2 */))))) = _yyMinor 31748 _yyTraceShift(tls, _yypParser, _yyNewState) 31749 return 31750 31751 } 31752 31753 func _yyStackOverflow(tls *crt.TLS, _yypParser *XyyParser) { // sqlite3.c:136641:1 31754 var _pParse *XParse // sqlite3.c:136642:4 31755 _ = _pParse 31756 _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) 31757 if _yyTraceFILE == nil { 31758 goto _0 31759 } 31760 31761 crt.Xfprintf(tls, _yyTraceFILE, str(28472), unsafe.Pointer(_yyTracePrompt)) 31762 _0: 31763 _1: 31764 if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) <= uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(8 /* X2 */))))))) { 31765 goto _2 31766 } 31767 31768 _yy_pop_parser_stack(tls, _yypParser) 31769 goto _1 31770 31771 _2: 31772 _sqlite3ErrorMsg(tls, _pParse, str(28492)) 31773 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(4 /* X1 */))))) = _pParse 31774 return 31775 31776 } 31777 31778 func _yy_pop_parser_stack(tls *crt.TLS, _pParser *XyyParser) { // sqlite3.c:136487:1 31779 var _yytos *XyyStackEntry // sqlite3.c:136488:16 31780 _ = _yytos 31781 func() int32 { 31782 if (*XyyStackEntry)(unsafe.Pointer(_pParser.X0)) != (*XyyStackEntry)(unsafe.Pointer(uintptr(i32(0)))) { 31783 return i32(0) 31784 } 31785 return func() int32 { 31786 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136489), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_pop_parser_stackØ00__func__Ø000))), unsafe.Pointer(str(28516))) 31787 crt.X__builtin_abort(tls) 31788 return i32(0) 31789 }() 31790 }() 31791 func() int32 { 31792 if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_pParser.X0)))) > uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(8 /* X2 */))))))) { 31793 return i32(0) 31794 } 31795 return func() int32 { 31796 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136490), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_pop_parser_stackØ00__func__Ø000))), unsafe.Pointer(str(28536))) 31797 crt.X__builtin_abort(tls) 31798 return i32(0) 31799 }() 31800 }() 31801 _yytos = postInc8983905((**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(0 /* X0 */))))), -16) 31802 if _yyTraceFILE == nil { 31803 goto _4 31804 } 31805 31806 crt.Xfprintf(tls, _yyTraceFILE, str(28572), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr(_yytos.X1))))) 31807 _4: 31808 _yy_destructor(tls, _pParser, _yytos.X1, (*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yytos))+uintptr(4 /* X2 */)))) 31809 return 31810 31811 } 31812 31813 var _yy_pop_parser_stackØ00__func__Ø000 [20]int8 // - 31814 31815 func init() { 31816 crt.Xstrncpy(nil, &_yy_pop_parser_stackØ00__func__Ø000[0], str(28588), 20) 31817 } 31818 31819 func _yy_destructor(tls *crt.TLS, _yypParser *XyyParser, _yymajor uint8, _yypminor *XYYMINORTYPE) { // sqlite3.c:136385:1 31820 var _pParse *XParse // sqlite3.c:136390:3 31821 _ = _pParse 31822 _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) 31823 switch int32(_yymajor) { 31824 case i32(163): 31825 goto _1 31826 case i32(172): 31827 goto _5 31828 case i32(173): 31829 goto _6 31830 case i32(177): 31831 goto _7 31832 case i32(186): 31833 goto _8 31834 case i32(187): 31835 goto _9 31836 case i32(193): 31837 goto _19 31838 case i32(194): 31839 goto _2 31840 case i32(195): 31841 goto _3 31842 case i32(196): 31843 goto _23 31844 case i32(199): 31845 goto _10 31846 case i32(200): 31847 goto _20 31848 case i32(201): 31849 goto _25 31850 case i32(202): 31851 goto _11 31852 case i32(203): 31853 goto _26 31854 case i32(204): 31855 goto _12 31856 case i32(206): 31857 goto _4 31858 case i32(207): 31859 goto _13 31860 case i32(208): 31861 goto _14 31862 case i32(209): 31863 goto _15 31864 case i32(211): 31865 goto _21 31866 case i32(212): 31867 goto _22 31868 case i32(215): 31869 goto _27 31870 case i32(216): 31871 goto _32 31872 case i32(217): 31873 goto _33 31874 case i32(218): 31875 goto _16 31876 case i32(220): 31877 goto _34 31878 case i32(224): 31879 goto _17 31880 case i32(225): 31881 goto _28 31882 case i32(226): 31883 goto _18 31884 case i32(227): 31885 goto _29 31886 case i32(232): 31887 goto _35 31888 case i32(234): 31889 goto _37 31890 case i32(236): 31891 goto _30 31892 case i32(237): 31893 goto _36 31894 case i32(241): 31895 goto _31 31896 case i32(250): 31897 goto _24 31898 default: 31899 goto _38 31900 } 31901 31902 _1: 31903 _2: 31904 _3: 31905 _4: 31906 _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31907 goto _39 31908 31909 _5: 31910 _6: 31911 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(_yypminor)).X0))) 31912 goto _39 31913 31914 _7: 31915 _8: 31916 _9: 31917 _10: 31918 _11: 31919 _12: 31920 _13: 31921 _14: 31922 _15: 31923 _16: 31924 _17: 31925 _18: 31926 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31927 goto _39 31928 31929 _19: 31930 _20: 31931 _21: 31932 _22: 31933 _sqlite3SrcListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31934 goto _39 31935 31936 _23: 31937 _24: 31938 _sqlite3WithDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31939 goto _39 31940 31941 _25: 31942 _26: 31943 _27: 31944 _28: 31945 _29: 31946 _30: 31947 _31: 31948 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31949 goto _39 31950 31951 _32: 31952 _33: 31953 _34: 31954 _sqlite3IdListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31955 goto _39 31956 31957 _35: 31958 _36: 31959 _sqlite3DeleteTriggerStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(_yypminor))))) 31960 goto _39 31961 31962 _37: 31963 _sqlite3IdListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XIdList)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_yypminor)).X1))) 31964 goto _39 31965 31966 _38: 31967 goto _39 31968 31969 _39: 31970 return 31971 31972 } 31973 31974 func _yyTraceShift(tls *crt.TLS, _yypParser *XyyParser, _yyNewState int32) { // sqlite3.c:136662:1 31975 if _yyTraceFILE == nil { 31976 goto _0 31977 } 31978 31979 if _yyNewState >= i32(456) { 31980 goto _1 31981 } 31982 31983 crt.Xfprintf(tls, _yyTraceFILE, str(28608), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)).X1)))), _yyNewState) 31984 goto _2 31985 31986 _1: 31987 crt.Xfprintf(tls, _yyTraceFILE, str(28640), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyTokenName)) + 4*uintptr((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)).X1))))) 31988 _2: 31989 _0: 31990 return 31991 31992 } 31993 31994 func _yy_reduce(tls *crt.TLS, _yypParser *XyyParser, _yyruleno uint32) { // sqlite3.c:137067:1 31995 var _yygoto int32 // sqlite3.c:137071:7 31996 _ = _yygoto 31997 var _yyact int32 // sqlite3.c:137072:7 31998 _ = _yyact 31999 var _yymsp *XyyStackEntry // sqlite3.c:137073:16 32000 _ = _yymsp 32001 var _yysize int32 // sqlite3.c:137074:7 32002 _ = _yysize 32003 var _pParse *XParse // sqlite3.c:137075:3 32004 _ = _pParse 32005 var _4_yylhsminor XYYMINORTYPE // sqlite3.c:137121:21 32006 _ = _4_yylhsminor 32007 var _34_v XExprSpan // sqlite3.c:137245:12 32008 _ = _34_v 32009 var _35_v XExprSpan // sqlite3.c:137254:12 32010 _ = _35_v 32011 var _70_dest XSelectDest // sqlite3.c:137382:14 32012 _ = _70_dest 32013 var _71_p *XSelect // sqlite3.c:137389:10 32014 _ = _71_p 32015 var _74_pRhs *XSelect // sqlite3.c:137401:10 32016 _ = _74_pRhs 32017 var _74_pLhs *XSelect // sqlite3.c:137402:10 32018 _ = _74_pLhs 32019 var _75_pFrom *XSrcList // sqlite3.c:137404:13 32020 _ = _75_pFrom 32021 var _75_x XToken // sqlite3.c:137405:11 32022 _ = _75_x 32023 var _80_s XToken // sqlite3.c:137433:9 32024 _ = _80_s 32025 var _81_z *int8 // sqlite3.c:137447:16 32026 _ = _81_z 32027 var _81_i int32 // sqlite3.c:137448:9 32028 _ = _81_i 32029 var _85_pRight *XSelect // sqlite3.c:137469:10 32030 _ = _85_pRight 32031 var _85_pLeft *XSelect // sqlite3.c:137469:19 32032 _ = _85_pLeft 32033 var _92_p *XExpr // sqlite3.c:137504:8 32034 _ = _92_p 32035 var _93_pRight *XExpr // sqlite3.c:137510:8 32036 _ = _93_pRight 32037 var _93_pLeft *XExpr // sqlite3.c:137511:8 32038 _ = _93_pLeft 32039 var _93_pDot *XExpr // sqlite3.c:137512:8 32040 _ = _93_pDot 32041 var _105_pNew *T7840217 // sqlite3.c:137563:29 32042 _ = _105_pNew 32043 var _105_pOld *T7840217 // sqlite3.c:137564:29 32044 _ = _105_pOld 32045 var _106_pSubquery *XSelect // sqlite3.c:137573:14 32046 _ = _106_pSubquery 32047 var _143_temp1 *XExpr // sqlite3.c:137735:8 32048 _ = _143_temp1 32049 var _143_temp2 *XExpr // sqlite3.c:137736:8 32050 _ = _143_temp2 32051 var _144_temp1 *XExpr // sqlite3.c:137743:8 32052 _ = _144_temp1 32053 var _144_temp2 *XExpr // sqlite3.c:137744:8 32054 _ = _144_temp2 32055 var _144_temp3 *XExpr // sqlite3.c:137745:8 32056 _ = _144_temp3 32057 var _144_temp4 *XExpr // sqlite3.c:137746:8 32058 _ = _144_temp4 32059 var _147_n uint32 // sqlite3.c:137763:9 32060 _ = _147_n 32061 var _148_t XToken // sqlite3.c:137770:11 32062 _ = _148_t 32063 var _158_pList *XExprList // sqlite3.c:137825:12 32064 _ = _158_pList 32065 var _163_pList *XExprList // sqlite3.c:137851:12 32066 _ = _163_pList 32067 var _163_bNot int32 // sqlite3.c:137852:7 32068 _ = _163_bNot 32069 var _164_pList *XExprList // sqlite3.c:137864:12 32070 _ = _164_pList 32071 var _164_bNot int32 // sqlite3.c:137865:7 32072 _ = _164_bNot 32073 var _173_pList *XExprList // sqlite3.c:137910:12 32074 _ = _173_pList 32075 var _178_pRHS *XExpr // sqlite3.c:137952:12 32076 _ = _178_pRHS 32077 var _185_pSrc *XSrcList // sqlite3.c:137992:13 32078 _ = _185_pSrc 32079 var _185_pSelect *XSelect // sqlite3.c:137993:12 32080 _ = _185_pSelect 32081 var _186_p *XExpr // sqlite3.c:138003:10 32082 _ = _186_p 32083 var _209_all XToken // sqlite3.c:138097:9 32084 _ = _209_all 32085 _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) 32086 _yymsp = (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) 32087 if _yyTraceFILE == nil || _yyruleno >= uint32(i32(332)) { 32088 goto _1 32089 } 32090 32091 _yysize = int32((*T8987895)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo)) + 2*uintptr(_yyruleno))).X1) 32092 crt.Xfprintf(tls, _yyTraceFILE, str(28656), unsafe.Pointer(_yyTracePrompt), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleName)) + 4*uintptr(_yyruleno)))), int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(-_yysize))).X0)) 32093 _1: 32094 if int32((*T8987895)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo))+2*uintptr(_yyruleno))).X1) != i32(0) { 32095 goto _2 32096 } 32097 32098 if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)))) < uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(8 /* X2 */)))))+16*uintptr(i32(99)))))) { 32099 goto _3 32100 } 32101 32102 _yyStackOverflow(tls, _yypParser) 32103 return 32104 32105 _3: 32106 _2: 32107 switch _yyruleno { 32108 case u32(0): 32109 goto _5 32110 case u32(1): 32111 goto _6 32112 case u32(2): 32113 goto _7 32114 case u32(3): 32115 goto _8 32116 case u32(4): 32117 goto _9 32118 case u32(5): 32119 goto _10 32120 case u32(6): 32121 goto _11 32122 case u32(7): 32123 goto _12 32124 case u32(8): 32125 goto _13 32126 case u32(9): 32127 goto _14 32128 case u32(10): 32129 goto _15 32130 case u32(11): 32131 goto _16 32132 case u32(12): 32133 goto _17 32134 case u32(13): 32135 goto _18 32136 case u32(14): 32137 goto _19 32138 case u32(15): 32139 goto _20 32140 case u32(16): 32141 goto _21 32142 case u32(17): 32143 goto _30 32144 case u32(18): 32145 goto _31 32146 case u32(19): 32147 goto _22 32148 case u32(20): 32149 goto _33 32150 case u32(21): 32151 goto _34 32152 case u32(22): 32153 goto _23 32154 case u32(23): 32155 goto _35 32156 case u32(24): 32157 goto _36 32158 case u32(25): 32159 goto _37 32160 case u32(26): 32161 goto _40 32162 case u32(27): 32163 goto _41 32164 case u32(28): 32165 goto _42 32166 case u32(29): 32167 goto _43 32168 case u32(30): 32169 goto _45 32170 case u32(31): 32171 goto _47 32172 case u32(32): 32173 goto _46 32174 case u32(33): 32175 goto _48 32176 case u32(34): 32177 goto _49 32178 case u32(35): 32179 goto _50 32180 case u32(36): 32181 goto _51 32182 case u32(37): 32183 goto _52 32184 case u32(38): 32185 goto _53 32186 case u32(39): 32187 goto _54 32188 case u32(40): 32189 goto _55 32190 case u32(41): 32191 goto _56 32192 case u32(42): 32193 goto _24 32194 case u32(43): 32195 goto _32 32196 case u32(44): 32197 goto _57 32198 case u32(45): 32199 goto _58 32200 case u32(46): 32201 goto _59 32202 case u32(47): 32203 goto _60 32204 case u32(48): 32205 goto _61 32206 case u32(49): 32207 goto _62 32208 case u32(50): 32209 goto _63 32210 case u32(51): 32211 goto _64 32212 case u32(52): 32213 goto _65 32214 case u32(53): 32215 goto _66 32216 case u32(54): 32217 goto _67 32218 case u32(55): 32219 goto _68 32220 case u32(56): 32221 goto _69 32222 case u32(57): 32223 goto _25 32224 case u32(58): 32225 goto _72 32226 case u32(59): 32227 goto _77 32228 case u32(60): 32229 goto _38 32230 case u32(61): 32231 goto _78 32232 case u32(62): 32233 goto _44 32234 case u32(63): 32235 goto _79 32236 case u32(64): 32237 goto _80 32238 case u32(65): 32239 goto _81 32240 case u32(66): 32241 goto _82 32242 case u32(67): 32243 goto _26 32244 case u32(68): 32245 goto _83 32246 case u32(69): 32247 goto _85 32248 case u32(70): 32249 goto _84 32250 case u32(71): 32251 goto _70 32252 case u32(72): 32253 goto _86 32254 case u32(73): 32255 goto _87 32256 case u32(74): 32257 goto _89 32258 case u32(75): 32259 goto _73 32260 case u32(76): 32261 goto _27 32262 case u32(77): 32263 goto _90 32264 case u32(78): 32265 goto _91 32266 case u32(79): 32267 goto _92 32268 case u32(80): 32269 goto _93 32270 case u32(81): 32271 goto _94 32272 case u32(82): 32273 goto _95 32274 case u32(83): 32275 goto _97 32276 case u32(84): 32277 goto _96 32278 case u32(85): 32279 goto _98 32280 case u32(86): 32281 goto _99 32282 case u32(87): 32283 goto _100 32284 case u32(88): 32285 goto _101 32286 case u32(89): 32287 goto _102 32288 case u32(90): 32289 goto _28 32290 case u32(91): 32291 goto _103 32292 case u32(92): 32293 goto _109 32294 case u32(93): 32295 goto _110 32296 case u32(94): 32297 goto _111 32298 case u32(95): 32299 goto _112 32300 case u32(96): 32301 goto _39 32302 case u32(97): 32303 goto _116 32304 case u32(98): 32305 goto _117 32306 case u32(99): 32307 goto _118 32308 case u32(100): 32309 goto _119 32310 case u32(101): 32311 goto _120 32312 case u32(102): 32313 goto _121 32314 case u32(103): 32315 goto _122 32316 case u32(104): 32317 goto _123 32318 case u32(105): 32319 goto _124 32320 case u32(106): 32321 goto _113 32322 case u32(107): 32323 goto _126 32324 case u32(108): 32325 goto _127 32326 case u32(109): 32327 goto _128 32328 case u32(110): 32329 goto _129 32330 case u32(111): 32331 goto _130 32332 case u32(112): 32333 goto _131 32334 case u32(113): 32335 goto _135 32336 case u32(114): 32337 goto _125 32338 case u32(115): 32339 goto _140 32340 case u32(116): 32341 goto _141 32342 case u32(117): 32343 goto _142 32344 case u32(118): 32345 goto _143 32346 case u32(119): 32347 goto _104 32348 case u32(120): 32349 goto _145 32350 case u32(121): 32351 goto _147 32352 case u32(122): 32353 goto _148 32354 case u32(123): 32355 goto _149 32356 case u32(124): 32357 goto _150 32358 case u32(125): 32359 goto _151 32360 case u32(126): 32361 goto _105 32362 case u32(127): 32363 goto _146 32364 case u32(128): 32365 goto _136 32366 case u32(129): 32367 goto _132 32368 case u32(130): 32369 goto _152 32370 case u32(131): 32371 goto _153 32372 case u32(132): 32373 goto _154 32374 case u32(133): 32375 goto _155 32376 case u32(134): 32377 goto _156 32378 case u32(135): 32379 goto _137 32380 case u32(136): 32381 goto _133 32382 case u32(137): 32383 goto _157 32384 case u32(138): 32385 goto _158 32386 case u32(139): 32387 goto _159 32388 case u32(140): 32389 goto _160 32390 case u32(141): 32391 goto _161 32392 case u32(142): 32393 goto _162 32394 case u32(143): 32395 goto _163 32396 case u32(144): 32397 goto _71 32398 case u32(145): 32399 goto _88 32400 case u32(146): 32401 goto _144 32402 case u32(147): 32403 goto _164 32404 case u32(148): 32405 goto _165 32406 case u32(149): 32407 goto _166 32408 case u32(150): 32409 goto _167 32410 case u32(151): 32411 goto _168 32412 case u32(152): 32413 goto _171 32414 case u32(153): 32415 goto _172 32416 case u32(154): 32417 goto _173 32418 case u32(155): 32419 goto _174 32420 case u32(156): 32421 goto _169 32422 case u32(157): 32423 goto _170 32424 case u32(158): 32425 goto _175 32426 case u32(159): 32427 goto _176 32428 case u32(160): 32429 goto _177 32430 case u32(161): 32431 goto _178 32432 case u32(162): 32433 goto _179 32434 case u32(163): 32435 goto _180 32436 case u32(164): 32437 goto _181 32438 case u32(165): 32439 goto _182 32440 case u32(166): 32441 goto _183 32442 case u32(167): 32443 goto _184 32444 case u32(168): 32445 goto _185 32446 case u32(169): 32447 goto _186 32448 case u32(170): 32449 goto _187 32450 case u32(171): 32451 goto _188 32452 case u32(172): 32453 goto _189 32454 case u32(173): 32455 goto _190 32456 case u32(174): 32457 goto _191 32458 case u32(175): 32459 goto _192 32460 case u32(176): 32461 goto _193 32462 case u32(177): 32463 goto _194 32464 case u32(178): 32465 goto _195 32466 case u32(179): 32467 goto _196 32468 case u32(180): 32469 goto _197 32470 case u32(181): 32471 goto _198 32472 case u32(182): 32473 goto _199 32474 case u32(183): 32475 goto _200 32476 case u32(184): 32477 goto _201 32478 case u32(185): 32479 goto _202 32480 case u32(186): 32481 goto _74 32482 case u32(187): 32483 goto _204 32484 case u32(188): 32485 goto _203 32486 case u32(189): 32487 goto _75 32488 case u32(190): 32489 goto _205 32490 case u32(191): 32491 goto _206 32492 case u32(192): 32493 goto _207 32494 case u32(193): 32495 goto _208 32496 case u32(194): 32497 goto _209 32498 case u32(195): 32499 goto _210 32500 case u32(196): 32501 goto _211 32502 case u32(197): 32503 goto _212 32504 case u32(198): 32505 goto _134 32506 case u32(199): 32507 goto _138 32508 case u32(200): 32509 goto _213 32510 case u32(201): 32511 goto _139 32512 case u32(202): 32513 goto _106 32514 case u32(203): 32515 goto _214 32516 case u32(204): 32517 goto _215 32518 case u32(205): 32519 goto _107 32520 case u32(206): 32521 goto _216 32522 case u32(207): 32523 goto _218 32524 case u32(208): 32525 goto _219 32526 case u32(209): 32527 goto _221 32528 case u32(210): 32529 goto _108 32530 case u32(211): 32531 goto _217 32532 case u32(212): 32533 goto _222 32534 case u32(213): 32535 goto _223 32536 case u32(214): 32537 goto _29 32538 case u32(215): 32539 goto _76 32540 case u32(216): 32541 goto _224 32542 case u32(217): 32543 goto _225 32544 case u32(218): 32545 goto _226 32546 case u32(219): 32547 goto _227 32548 case u32(220): 32549 goto _228 32550 case u32(221): 32551 goto _229 32552 case u32(222): 32553 goto _230 32554 case u32(223): 32555 goto _231 32556 case u32(224): 32557 goto _114 32558 case u32(225): 32559 goto _115 32560 case u32(226): 32561 goto _232 32562 case u32(227): 32563 goto _233 32564 case u32(228): 32565 goto _234 32566 case u32(229): 32567 goto _235 32568 case u32(230): 32569 goto _236 32570 case u32(231): 32571 goto _237 32572 case u32(232): 32573 goto _238 32574 case u32(233): 32575 goto _239 32576 case u32(234): 32577 goto _240 32578 case u32(235): 32579 goto _241 32580 case u32(236): 32581 goto _243 32582 case u32(237): 32583 goto _245 32584 case u32(238): 32585 goto _246 32586 case u32(239): 32587 goto _247 32588 case u32(240): 32589 goto _248 32590 case u32(241): 32591 goto _249 32592 case u32(242): 32593 goto _250 32594 case u32(243): 32595 goto _251 32596 case u32(244): 32597 goto _252 32598 case u32(245): 32599 goto _253 32600 case u32(246): 32601 goto _254 32602 case u32(247): 32603 goto _255 32604 case u32(248): 32605 goto _256 32606 case u32(249): 32607 goto _220 32608 case u32(250): 32609 goto _257 32610 case u32(251): 32611 goto _258 32612 case u32(252): 32613 goto _259 32614 case u32(253): 32615 goto _260 32616 case u32(254): 32617 goto _242 32618 case u32(255): 32619 goto _244 32620 case u32(256): 32621 goto _261 32622 case u32(257): 32623 goto _262 32624 case u32(258): 32625 goto _263 32626 case u32(259): 32627 goto _264 32628 case u32(260): 32629 goto _265 32630 case u32(261): 32631 goto _266 32632 case u32(262): 32633 goto _267 32634 case u32(263): 32635 goto _268 32636 case u32(264): 32637 goto _269 32638 case u32(265): 32639 goto _270 32640 case u32(266): 32641 goto _271 32642 case u32(267): 32643 goto _272 32644 case u32(268): 32645 goto _273 32646 case u32(269): 32647 goto _274 32648 case u32(270): 32649 goto _275 32650 case u32(271): 32651 goto _276 32652 case u32(272): 32653 goto _277 32654 case u32(273): 32655 goto _278 32656 case u32(274): 32657 goto _279 32658 default: 32659 goto _280 32660 } 32661 32662 _5: 32663 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(411 /* X54 */))) = uint8(i32(1)) 32664 goto _281 32665 32666 _6: 32667 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(411 /* X54 */))) = uint8(i32(2)) 32668 goto _281 32669 32670 _7: 32671 _sqlite3FinishCoding(tls, _pParse) 32672 goto _281 32673 32674 _8: 32675 _sqlite3BeginTransaction(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 32676 goto _281 32677 32678 _9: 32679 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(7) 32680 goto _281 32681 32682 _10: 32683 _11: 32684 _12: 32685 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + 16*uintptr(i32(0)))).X1) 32686 goto _281 32687 32688 _13: 32689 _14: 32690 _sqlite3CommitTransaction(tls, _pParse) 32691 goto _281 32692 32693 _15: 32694 _sqlite3RollbackTransaction(tls, _pParse) 32695 goto _281 32696 32697 _16: 32698 _sqlite3Savepoint(tls, _pParse, i32(0), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 32699 goto _281 32700 32701 _17: 32702 _sqlite3Savepoint(tls, _pParse, i32(1), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 32703 goto _281 32704 32705 _18: 32706 _sqlite3Savepoint(tls, _pParse, i32(2), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 32707 goto _281 32708 32709 _19: 32710 _sqlite3StartTable(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))), i32(0), i32(0), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */)))))) 32711 goto _281 32712 32713 _20: 32714 _disableLookaside(tls, _pParse) 32715 goto _281 32716 32717 _21: 32718 _22: 32719 _23: 32720 _24: 32721 _25: 32722 _26: 32723 _27: 32724 _28: 32725 _29: 32726 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(0) 32727 goto _281 32728 32729 _30: 32730 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))) = i32(1) 32731 goto _281 32732 32733 _31: 32734 _32: 32735 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(1) 32736 goto _281 32737 32738 _33: 32739 _sqlite3EndTable(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))), (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) 32740 goto _281 32741 32742 _34: 32743 _sqlite3EndTable(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), uint8(i32(0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 32744 _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 32745 goto _281 32746 32747 _35: 32748 if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1) != uint32(i32(5)) || Xsqlite3_strnicmp(tls, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0, str(28688), i32(5)) != i32(0) { 32749 goto _283 32750 } 32751 32752 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(96) 32753 goto _284 32754 32755 _283: 32756 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(0) 32757 _sqlite3ErrorMsg(tls, _pParse, str(28696), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1, unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) 32758 _284: 32759 goto _281 32760 32761 _36: 32762 _sqlite3AddColumn(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 32763 goto _281 32764 32765 _37: 32766 _38: 32767 _39: 32768 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = uint32(i32(0)) 32769 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 32770 goto _281 32771 32772 _40: 32773 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))+1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))))) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0))) / 1)) 32774 goto _281 32775 32776 _41: 32777 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))+1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))))) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))).X0))) / 1)) 32778 goto _281 32779 32780 _42: 32781 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X1) + uint32(int32((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0)))/1)) 32782 goto _281 32783 32784 _43: 32785 _44: 32786 *(*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(84 /* X28 */))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 32787 goto _281 32788 32789 _45: 32790 _46: 32791 _sqlite3AddDefaultValue(tls, _pParse, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 32792 goto _281 32793 32794 _47: 32795 _sqlite3AddDefaultValue(tls, _pParse, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 32796 goto _281 32797 32798 _48: 32799 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_34_v)) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(155), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 32800 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_34_v)) + uintptr(4 /* X1 */))) = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))).X0 32801 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_34_v)) + uintptr(8 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X2 32802 _sqlite3AddDefaultValue(tls, _pParse, &_34_v) 32803 goto _281 32804 32805 _49: 32806 _spanExpr(tls, &_35_v, _pParse, i32(97), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 32807 _sqlite3AddDefaultValue(tls, _pParse, &_35_v) 32808 goto _281 32809 32810 _50: 32811 _sqlite3AddNotNull(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 32812 goto _281 32813 32814 _51: 32815 _sqlite3AddPrimaryKey(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */)))))) 32816 goto _281 32817 32818 _52: 32819 _sqlite3CreateIndex(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(0), uint8(i32(1))) 32820 goto _281 32821 32822 _53: 32823 _sqlite3AddCheckConstraint(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0))) 32824 goto _281 32825 32826 _54: 32827 _sqlite3CreateForeignKey(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 32828 goto _281 32829 32830 _55: 32831 _sqlite3DeferForeignKey(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 32832 goto _281 32833 32834 _56: 32835 _sqlite3AddCollateType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 32836 goto _281 32837 32838 _57: 32839 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(0) 32840 goto _281 32841 32842 _58: 32843 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = ((*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) & (^((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X1))) | ((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0) 32844 goto _281 32845 32846 _59: 32847 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = i32(0) 32848 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(0) 32849 goto _281 32850 32851 _60: 32852 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = i32(0) 32853 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(0) 32854 goto _281 32855 32856 _61: 32857 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 32858 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(255) 32859 goto _281 32860 32861 _62: 32862 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) << uint(i32(8)) 32863 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_debug_mutex)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = i32(65280) 32864 goto _281 32865 32866 _63: 32867 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(7) 32868 goto _281 32869 32870 _64: 32871 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(8) 32872 goto _281 32873 32874 _65: 32875 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(9) 32876 goto _281 32877 32878 _66: 32879 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(6) 32880 goto _281 32881 32882 _67: 32883 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(0) 32884 goto _281 32885 32886 _68: 32887 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))) = i32(0) 32888 goto _281 32889 32890 _69: 32891 _70: 32892 _71: 32893 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 32894 goto _281 32895 32896 _72: 32897 _73: 32898 _74: 32899 _75: 32900 _76: 32901 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(1) 32902 goto _281 32903 32904 _77: 32905 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(0) 32906 goto _281 32907 32908 _78: 32909 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(84 /* X28 */))))) + uintptr(4 /* X1 */))) = uint32(i32(0)) 32910 goto _281 32911 32912 _79: 32913 _sqlite3AddPrimaryKey(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))), i32(0)) 32914 goto _281 32915 32916 _80: 32917 _sqlite3CreateIndex(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(0), uint8(i32(1))) 32918 goto _281 32919 32920 _81: 32921 _sqlite3AddCheckConstraint(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0))) 32922 goto _281 32923 32924 _82: 32925 _sqlite3CreateForeignKey(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 32926 _sqlite3DeferForeignKey(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 32927 goto _281 32928 32929 _83: 32930 _84: 32931 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(10) 32932 goto _281 32933 32934 _85: 32935 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))) = *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 32936 goto _281 32937 32938 _86: 32939 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(4) 32940 goto _281 32941 32942 _87: 32943 _88: 32944 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(5) 32945 goto _281 32946 32947 _89: 32948 _sqlite3DropTable(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), i32(0), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 32949 goto _281 32950 32951 _90: 32952 _sqlite3CreateView(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */)))))) 32953 goto _281 32954 32955 _91: 32956 _sqlite3DropTable(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), i32(1), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 32957 goto _281 32958 32959 _92: 32960 _70_dest = XSelectDest{X0: u8(9), X1: nil, X2: i32(0), X3: i32(0), X4: i32(0), X5: nil} 32961 _sqlite3Select(tls, _pParse, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), &_70_dest) 32962 _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 32963 goto _281 32964 32965 _93: 32966 _71_p = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 32967 if _71_p == nil { 32968 goto _285 32969 } 32970 32971 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_71_p)) + uintptr(76 /* X17 */))))) = (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 32972 _parserDoubleLinkSelect(tls, _pParse, _71_p) 32973 goto _286 32974 32975 _285: 32976 _sqlite3WithDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 32977 _286: 32978 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = _71_p 32979 goto _281 32980 32981 _94: 32982 _74_pRhs = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 32983 _74_pLhs = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) 32984 if _74_pRhs == nil || (*XSelect)(unsafe.Pointer(_74_pRhs.X13)) == nil { 32985 goto _288 32986 } 32987 32988 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_75_x)) + uintptr(4 /* X1 */))) = uint32(i32(0)) 32989 _parserDoubleLinkSelect(tls, _pParse, _74_pRhs) 32990 _75_pFrom = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), &_75_x, _74_pRhs, (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XIdList)(unsafe.Pointer(uintptr(i32(0))))) 32991 _74_pRhs = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _75_pFrom, (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 32992 _288: 32993 if _74_pRhs == nil { 32994 goto _289 32995 } 32996 32997 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pRhs)) + uintptr(4 /* X1 */))) = uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 32998 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pRhs)) + uintptr(60 /* X13 */))))) = _74_pLhs 32999 if func() int32 { 33000 if _74_pLhs != nil { 33001 return i32(1) 33002 } 33003 return func() int32 { 33004 func() int32 { 33005 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(137414), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(5204))) 33006 crt.X__builtin_abort(tls) 33007 return i32(0) 33008 }() 33009 return i32(0) 33010 }() 33011 }() == 0 { 33012 goto _292 33013 } 33014 33015 { 33016 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pLhs)) + uintptr(8 /* X3 */))) 33017 *p = (*p) & uint32(i32(-1025)) 33018 sink985 = *p 33019 } 33020 _292: 33021 { 33022 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_74_pRhs)) + uintptr(8 /* X3 */))) 33023 *p = (*p) & uint32(i32(-1025)) 33024 sink985 = *p 33025 } 33026 if (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) == i32(116) { 33027 goto _293 33028 } 33029 33030 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(22 /* X10 */))) = uint8(i32(1)) 33031 _293: 33032 goto _294 33033 33034 _289: 33035 _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _74_pLhs) 33036 _294: 33037 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = _74_pRhs 33038 goto _281 33039 33040 _95: 33041 _96: 33042 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + 16*uintptr(i32(0)))).X1) 33043 goto _281 33044 33045 _97: 33046 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(116) 33047 goto _281 33048 33049 _98: 33050 _80_s = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))) 33051 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), uint32(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7)))))) + uintptr(4 /* X2 */)))))), (*XExpr)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))) 33052 if (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 33053 goto _295 33054 } 33055 33056 _81_z = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_80_s.X0)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(6)))))))) 33057 Xsqlite3_snprintf(tls, int32(u32(12)), (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))+uintptr(20 /* X6 */))))), str(28724), preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(112 /* X34 */))), 1)) 33058 _296: 33059 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(i32(0))))) != i32(32) { 33060 goto _297 33061 } 33062 33063 *(*uintptr)(unsafe.Pointer(&_81_z)) += uintptr(1) 33064 goto _296 33065 33066 _297: 33067 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(i32(0))))) != i32(47) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(i32(1))))) != i32(42) { 33068 goto _299 33069 } 33070 33071 { 33072 p := &_81_z 33073 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 33074 sink1025 = *p 33075 } 33076 _300: 33077 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(i32(0))))) != i32(32) { 33078 goto _301 33079 } 33080 33081 *(*uintptr)(unsafe.Pointer(&_81_z)) += uintptr(1) 33082 goto _300 33083 33084 _301: 33085 _81_i = i32(0) 33086 _302: 33087 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_z)) + 1*uintptr(_81_i)))))))) & i32(6)) == 0 { 33088 goto _305 33089 } 33090 33091 _81_i += 1 33092 goto _302 33093 33094 _305: 33095 Xsqlite3_snprintf(tls, int32(u32(12)), (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))+uintptr(20 /* X6 */))))), str(28728), _81_i, unsafe.Pointer(_81_z)) 33096 _299: 33097 _295: 33098 goto _281 33099 33100 _99: 33101 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(512)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33102 goto _281 33103 33104 _100: 33105 _85_pLeft = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) 33106 _85_pRight = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(1536)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33107 if func() int32 { 33108 if _85_pLeft != nil { 33109 return i32(1) 33110 } 33111 return func() int32 { 33112 func() int32 { 33113 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(137471), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(5204))) 33114 crt.X__builtin_abort(tls) 33115 return i32(0) 33116 }() 33117 return i32(0) 33118 }() 33119 }() == 0 { 33120 goto _308 33121 } 33122 33123 { 33124 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pLeft)) + uintptr(8 /* X3 */))) 33125 *p = (*p) & uint32(i32(-1025)) 33126 sink985 = *p 33127 } 33128 _308: 33129 if _85_pRight == nil { 33130 goto _309 33131 } 33132 33133 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pRight)) + uintptr(4 /* X1 */))) = uint8(i32(116)) 33134 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_85_pRight)) + uintptr(60 /* X13 */))))) = _85_pLeft 33135 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _85_pRight 33136 goto _310 33137 33138 _309: 33139 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _85_pLeft 33140 _310: 33141 goto _281 33142 33143 _101: 33144 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(1) 33145 goto _281 33146 33147 _102: 33148 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(2) 33149 goto _281 33150 33151 _103: 33152 _104: 33153 _105: 33154 _106: 33155 _107: 33156 _108: 33157 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 33158 goto _281 33159 33160 _109: 33161 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0))) 33162 if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X1) <= uint32(i32(0)) { 33163 goto _311 33164 } 33165 33166 _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(1)) 33167 _311: 33168 _sqlite3ExprListSetSpan(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33169 goto _281 33170 33171 _110: 33172 _92_p = _sqlite3Expr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(160), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 33173 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), _92_p) 33174 goto _281 33175 33176 _111: 33177 _93_pRight = _sqlite3PExpr(tls, _pParse, i32(160), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33178 _93_pLeft = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(55), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), i32(1)) 33179 _93_pDot = _sqlite3PExpr(tls, _pParse, i32(122), _93_pLeft, _93_pRight) 33180 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), _93_pDot) 33181 goto _281 33182 33183 _112: 33184 _113: 33185 _114: 33186 _115: 33187 *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 33188 goto _281 33189 33190 _116: 33191 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(u32(76))))) 33192 goto _281 33193 33194 _117: 33195 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 33196 _sqlite3SrcListShiftJoinType(tls, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33197 goto _281 33198 33199 _118: 33200 if func() int32 { 33201 if ((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) != nil) && (((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))).X0) > i32(0)) { 33202 return i32(1) 33203 } 33204 return func() int32 { 33205 func() int32 { 33206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(137533), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(5204))) 33207 crt.X__builtin_abort(tls) 33208 return i32(0) 33209 }() 33210 return i32(0) 33211 }() 33212 }() == 0 { 33213 goto _315 33214 } 33215 33216 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 33217 X0 unsafe.Pointer 33218 X1 *int8 33219 X2 *int8 33220 X3 *int8 33221 X4 unsafe.Pointer 33222 X5 unsafe.Pointer 33223 X6 int32 33224 X7 int32 33225 X8 int32 33226 X9 struct { 33227 X0 uint8 33228 X1 int8 33229 } 33230 X10 uint8 33231 X11 int32 33232 X12 unsafe.Pointer 33233 X13 unsafe.Pointer 33234 X14 uint64 33235 X15 struct { 33236 X [0]struct { 33237 X0 *int8 33238 X1 unsafe.Pointer 33239 } 33240 U [4]byte 33241 } 33242 X16 unsafe.Pointer 33243 })(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))+uintptr(8 /* X2 */)))))+68*uintptr(((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))).X0)-i32(1))))))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))) = uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33244 _315: 33245 goto _281 33246 33247 _119: 33248 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 33249 goto _281 33250 33251 _120: 33252 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XSelect)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33253 _sqlite3SrcListIndexedBy(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */)))))) 33254 goto _281 33255 33256 _121: 33257 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XSelect)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33258 _sqlite3SrcListFuncArgs(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */)))))))) 33259 goto _281 33260 33261 _122: 33262 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33263 goto _281 33264 33265 _123: 33266 if (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) || ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X1) != uint32(i32(0)) || (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) || (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 33267 goto _319 33268 } 33269 33270 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) 33271 goto _320 33272 33273 _319: 33274 if ((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))).X0) != i32(1) { 33275 goto _321 33276 } 33277 33278 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XSelect)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33279 if (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) == nil { 33280 goto _322 33281 } 33282 33283 _105_pNew = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 33284 X0 unsafe.Pointer 33285 X1 *int8 33286 X2 *int8 33287 X3 *int8 33288 X4 unsafe.Pointer 33289 X5 unsafe.Pointer 33290 X6 int32 33291 X7 int32 33292 X8 int32 33293 X9 struct { 33294 X0 uint8 33295 X1 int8 33296 } 33297 X10 uint8 33298 X11 int32 33299 X12 unsafe.Pointer 33300 X13 unsafe.Pointer 33301 X14 uint64 33302 X15 struct { 33303 X [0]struct { 33304 X0 *int8 33305 X1 unsafe.Pointer 33306 } 33307 U [4]byte 33308 } 33309 X16 unsafe.Pointer 33310 })(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))+uintptr(8 /* X2 */))))) + 68*uintptr(((*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))).X0)-i32(1)))) 33311 _105_pOld = (*T7840217)(unsafe.Pointer((*[1]struct { 33312 X0 unsafe.Pointer 33313 X1 *int8 33314 X2 *int8 33315 X3 *int8 33316 X4 unsafe.Pointer 33317 X5 unsafe.Pointer 33318 X6 int32 33319 X7 int32 33320 X8 int32 33321 X9 struct { 33322 X0 uint8 33323 X1 int8 33324 } 33325 X10 uint8 33326 X11 int32 33327 X12 unsafe.Pointer 33328 X13 unsafe.Pointer 33329 X14 uint64 33330 X15 struct { 33331 X [0]struct { 33332 X0 *int8 33333 X1 unsafe.Pointer 33334 } 33335 U [4]byte 33336 } 33337 X16 unsafe.Pointer 33338 })(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */)))))) + uintptr(8 /* X2 */))))) 33339 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pNew)) + uintptr(8 /* X2 */))) = _105_pOld.X2 33340 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pNew)) + uintptr(4 /* X1 */))) = _105_pOld.X1 33341 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pNew)) + uintptr(20 /* X5 */))))) = (*XSelect)(unsafe.Pointer(_105_pOld.X5)) 33342 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pOld)) + uintptr(8 /* X2 */))) = store1025((**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pOld))+uintptr(4 /* X1 */))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 33343 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_105_pOld)) + uintptr(20 /* X5 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 33344 _322: 33345 _sqlite3SrcListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */)))))))) 33346 goto _323 33347 33348 _321: 33349 _sqlite3SrcListShiftJoinType(tls, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */)))))))) 33350 _106_pSubquery = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(2048)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33351 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), _106_pSubquery, (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33352 _323: 33353 _320: 33354 goto _281 33355 33356 _124: 33357 _125: 33358 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 33359 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = uint32(i32(0)) 33360 goto _281 33361 33362 _126: 33363 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = _sqlite3SrcListAppend(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33364 goto _281 33365 33366 _127: 33367 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(1) 33368 goto _281 33369 33370 _128: 33371 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = _sqlite3JoinType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 33372 goto _281 33373 33374 _129: 33375 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))) = _sqlite3JoinType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 33376 goto _281 33377 33378 _130: 33379 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))) = _sqlite3JoinType(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33380 goto _281 33381 33382 _131: 33383 _132: 33384 _133: 33385 _134: 33386 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0)) 33387 goto _281 33388 33389 _135: 33390 _136: 33391 _137: 33392 _138: 33393 _139: 33394 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 33395 goto _281 33396 33397 _140: 33398 *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 33399 goto _281 33400 33401 _141: 33402 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 33403 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = uint32(i32(1)) 33404 goto _281 33405 33406 _142: 33407 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))) = (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 33408 goto _281 33409 33410 _143: 33411 _144: 33412 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 33413 goto _281 33414 33415 _145: 33416 _146: 33417 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 33418 goto _281 33419 33420 _147: 33421 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0))) 33422 _sqlite3ExprListSetSortOrder(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33423 goto _281 33424 33425 _148: 33426 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0))) 33427 _sqlite3ExprListSetSortOrder(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33428 goto _281 33429 33430 _149: 33431 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(0) 33432 goto _281 33433 33434 _150: 33435 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(1) 33436 goto _281 33437 33438 _151: 33439 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(-1) 33440 goto _281 33441 33442 _152: 33443 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 33444 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 33445 goto _281 33446 33447 _153: 33448 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0)) 33449 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 33450 goto _281 33451 33452 _154: 33453 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))).X0)) 33454 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0)) 33455 goto _281 33456 33457 _155: 33458 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))).X0)) 33459 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0)) 33460 goto _281 33461 33462 _156: 33463 _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */))))))), uint8(i32(1))) 33464 _sqlite3SrcListIndexedBy(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33465 _sqlite3DeleteFrom(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33466 goto _281 33467 33468 _157: 33469 _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7)))))) + uintptr(4 /* X2 */))))))), uint8(i32(1))) 33470 _sqlite3SrcListIndexedBy(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */)))))) 33471 _sqlite3ExprListCheckLength(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), str(28736)) 33472 _sqlite3Update(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */)))))) 33473 goto _281 33474 33475 _158: 33476 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33477 _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), i32(1)) 33478 goto _281 33479 33480 _159: 33481 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppendVector(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33482 goto _281 33483 33484 _160: 33485 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(&_4_yylhsminor)))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33486 _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(&_4_yylhsminor)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), i32(1)) 33487 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(&_4_yylhsminor)))) 33488 goto _281 33489 33490 _161: 33491 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppendVector(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33492 goto _281 33493 33494 _162: 33495 _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */))))))), uint8(i32(1))) 33496 _sqlite3Insert(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */)))))) 33497 goto _281 33498 33499 _163: 33500 _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))), uint8(i32(1))) 33501 _sqlite3Insert(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XSelect)(unsafe.Pointer(uintptr(i32(0)))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */)))))) 33502 goto _281 33503 33504 _164: 33505 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 33506 goto _281 33507 33508 _165: 33509 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = _sqlite3IdListAppend(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33510 goto _281 33511 33512 _166: 33513 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) = _sqlite3IdListAppend(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XIdList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33514 goto _281 33515 33516 _167: 33517 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33518 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))).X0)) 33519 goto _281 33520 33521 _168: 33522 _169: 33523 _170: 33524 _spanExpr(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))).X1), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33525 goto _281 33526 33527 _171: 33528 _172: 33529 _spanExpr(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), _pParse, i32(55), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33530 goto _281 33531 33532 _173: 33533 _143_temp1 = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(55), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), i32(1)) 33534 _143_temp2 = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(55), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(1)) 33535 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33536 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(122), _143_temp1, _143_temp2) 33537 goto _281 33538 33539 _174: 33540 _144_temp1 = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(55), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), i32(1)) 33541 _144_temp2 = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(55), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), i32(1)) 33542 _144_temp3 = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(55), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(1)) 33543 _144_temp4 = _sqlite3PExpr(tls, _pParse, i32(122), _144_temp2, _144_temp3) 33544 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33545 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(122), _144_temp1, _144_temp4) 33546 goto _281 33547 33548 _175: 33549 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(134), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(1)) 33550 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(4 /* X1 */))) = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0 33551 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))))))) 33552 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0)) == nil { 33553 goto _324 33554 } 33555 33556 { 33557 p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0) + uintptr(4 /* X2 */))) 33558 *p = (*p) | uint32(i32(8388612)) 33559 sink985 = *p 33560 } 33561 _324: 33562 *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) 33563 goto _281 33564 33565 _176: 33566 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr(i32(0))))) == i32(35) && (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr(i32(1)))))))))&i32(4)) != 0 { 33567 goto _326 33568 } 33569 33570 _147_n = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X1 33571 _spanExpr(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), _pParse, i32(135), *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33572 _sqlite3ExprAssignVarNumber(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)), _147_n) 33573 goto _327 33574 33575 _326: 33576 _148_t = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 33577 func() int32 { 33578 if (_148_t.X1) >= uint32(i32(2)) { 33579 return i32(0) 33580 } 33581 return func() int32 { 33582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(137771), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(28748))) 33583 crt.X__builtin_abort(tls) 33584 return i32(0) 33585 }() 33586 }() 33587 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), &_148_t, &_148_t) 33588 if int32(_pParse.X6) != i32(0) { 33589 goto _330 33590 } 33591 33592 _sqlite3ErrorMsg(tls, _pParse, str(28756), unsafe.Pointer(&_148_t)) 33593 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 33594 goto _331 33595 33596 _330: 33597 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(157), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33598 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) == nil { 33599 goto _332 33600 } 33601 33602 _sqlite3GetInt32(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_148_t.X0))+1*uintptr(i32(1)))), (*int32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)+uintptr(28 /* X8 */)))) 33603 _332: 33604 _331: 33605 _327: 33606 goto _281 33607 33608 _177: 33609 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAddCollateToken(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(1)) 33610 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))) 33611 goto _281 33612 33613 _178: 33614 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33615 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(66), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), i32(1)) 33616 _sqlite3ExprAttachSubtrees(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33617 goto _281 33618 33619 _179: 33620 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) == nil || ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))).X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(6))))) { 33621 goto _334 33622 } 33623 33624 _sqlite3ErrorMsg(tls, _pParse, str(28780), unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) 33625 _334: 33626 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(0 /* X0 */))))) = _sqlite3ExprFunction(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */)))))) 33627 _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33628 if (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */)))))) != i32(1) || (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0)) == nil { 33629 goto _336 33630 } 33631 33632 { 33633 p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0) + uintptr(4 /* X2 */))) 33634 *p = (*p) | uint32(i32(16)) 33635 sink985 = *p 33636 } 33637 _336: 33638 *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) 33639 goto _281 33640 33641 _180: 33642 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(0 /* X0 */))))) = _sqlite3ExprFunction(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */)))))) 33643 _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33644 *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) 33645 goto _281 33646 33647 _181: 33648 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(0 /* X0 */))))) = _sqlite3ExprFunction(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33649 _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33650 *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) 33651 goto _281 33652 33653 _182: 33654 _158_pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0))) 33655 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(158), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33656 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0)) == nil { 33657 goto _337 33658 } 33659 33660 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)).X0) + uintptr(20 /* X6 */))))))) = _158_pList 33661 _spanSet(tls, (*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33662 goto _338 33663 33664 _337: 33665 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _158_pList) 33666 _338: 33667 *(*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))) = *(*XExprSpan)(unsafe.Pointer(&_4_yylhsminor)) 33668 goto _281 33669 33670 _183: 33671 _184: 33672 _185: 33673 _186: 33674 _187: 33675 _188: 33676 _189: 33677 _190: 33678 _spanBinaryExpr(tls, _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))).X1), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33679 goto _281 33680 33681 _191: 33682 *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 33683 { 33684 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) 33685 *p = (*p) | u32(2147483648) 33686 sink985 = *p 33687 } 33688 goto _281 33689 33690 _192: 33691 _163_bNot = int32(((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))).X1) & u32(2147483648)) 33692 { 33693 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) 33694 *p = (*p) & uint32(i32(2147483647)) 33695 sink985 = *p 33696 } 33697 _163_pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33698 _163_pList = _sqlite3ExprListAppend(tls, _pParse, _163_pList, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0))) 33699 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprFunction(tls, _pParse, _163_pList, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33700 _exprNot(tls, _pParse, _163_bNot, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */)))))) 33701 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X2 33702 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0)) == nil { 33703 goto _339 33704 } 33705 33706 { 33707 p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0) + uintptr(4 /* X2 */))) 33708 *p = (*p) | uint32(i32(128)) 33709 sink985 = *p 33710 } 33711 _339: 33712 goto _281 33713 33714 _193: 33715 _164_bNot = int32(((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))).X1) & u32(2147483648)) 33716 { 33717 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) 33718 *p = (*p) & uint32(i32(2147483647)) 33719 sink985 = *p 33720 } 33721 _164_pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0))) 33722 _164_pList = _sqlite3ExprListAppend(tls, _pParse, _164_pList, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0))) 33723 _164_pList = _sqlite3ExprListAppend(tls, _pParse, _164_pList, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33724 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprFunction(tls, _pParse, _164_pList, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */)))))) 33725 _exprNot(tls, _pParse, _164_bNot, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */)))))) 33726 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X2 33727 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)) == nil { 33728 goto _340 33729 } 33730 33731 { 33732 p := (*uint32)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0) + uintptr(4 /* X2 */))) 33733 *p = (*p) | uint32(i32(128)) 33734 sink985 = *p 33735 } 33736 _340: 33737 goto _281 33738 33739 _194: 33740 _spanUnaryPostfix(tls, _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))).X1), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33741 goto _281 33742 33743 _195: 33744 _spanUnaryPostfix(tls, _pParse, i32(35), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33745 goto _281 33746 33747 _196: 33748 _spanBinaryExpr(tls, _pParse, i32(29), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33749 _binaryToUnaryIfNull(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0)), i32(34)) 33750 goto _281 33751 33752 _197: 33753 _spanBinaryExpr(tls, _pParse, i32(148), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33754 _binaryToUnaryIfNull(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0)), i32(35)) 33755 goto _281 33756 33757 _198: 33758 _199: 33759 _spanUnaryPrefix(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), _pParse, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))).X1), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33760 goto _281 33761 33762 _200: 33763 _spanUnaryPrefix(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), _pParse, i32(155), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33764 goto _281 33765 33766 _201: 33767 _spanUnaryPrefix(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), _pParse, i32(156), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33768 goto _281 33769 33770 _202: 33771 _203: 33772 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(0) 33773 goto _281 33774 33775 _204: 33776 _173_pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0))) 33777 _173_pList = _sqlite3ExprListAppend(tls, _pParse, _173_pList, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33778 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(32), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33779 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)) == nil { 33780 goto _341 33781 } 33782 33783 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0) + uintptr(20 /* X6 */))))))) = _173_pList 33784 goto _342 33785 33786 _341: 33787 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _173_pList) 33788 _342: 33789 _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */)))))) 33790 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X2 33791 goto _281 33792 33793 _205: 33794 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 33795 goto _343 33796 } 33797 33798 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0))) 33799 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(134), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3IntTokens))+8*uintptr(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */)))))))), i32(1)) 33800 goto _344 33801 33802 _343: 33803 if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))).X0) != i32(1) { 33804 goto _345 33805 } 33806 33807 _178_pRHS = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))).X1) + 20*uintptr(i32(0)))).X0)) 33808 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))).X1)+20*uintptr(i32(0)))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 33809 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33810 if func() int32 { 33811 if _178_pRHS != nil { 33812 return i32(1) 33813 } 33814 return func() int32 { 33815 func() int32 { 33816 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(137957), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(5204))) 33817 crt.X__builtin_abort(tls) 33818 return i32(0) 33819 }() 33820 return i32(0) 33821 }() 33822 }() == 0 { 33823 goto _348 33824 } 33825 33826 { 33827 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_178_pRHS)) + uintptr(4 /* X2 */))) 33828 *p = (*p) & uint32(i32(-257)) 33829 sink985 = *p 33830 } 33831 { 33832 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_178_pRHS)) + uintptr(4 /* X2 */))) 33833 *p = (*p) | uint32(i32(512)) 33834 sink985 = *p 33835 } 33836 _348: 33837 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, func() int32 { 33838 if (*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */)))))) != 0 { 33839 return i32(36) 33840 } 33841 return i32(37) 33842 }(), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), _178_pRHS) 33843 goto _351 33844 33845 _345: 33846 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(33), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33847 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)) == nil { 33848 goto _352 33849 } 33850 33851 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0) + uintptr(20 /* X6 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 33852 _sqlite3ExprSetHeightAndFlags(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0))) 33853 goto _353 33854 33855 _352: 33856 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33857 _353: 33858 _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */)))))) 33859 _351: 33860 _344: 33861 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))) 33862 goto _281 33863 33864 _206: 33865 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33866 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(119), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33867 _sqlite3PExprAddSelect(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33868 goto _281 33869 33870 _207: 33871 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(33), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33872 _sqlite3PExprAddSelect(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33873 _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */)))))) 33874 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X1))) 33875 goto _281 33876 33877 _208: 33878 _185_pSrc = _sqlite3SrcListAppend(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 33879 _185_pSelect = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _185_pSrc, (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33880 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) == nil { 33881 goto _354 33882 } 33883 33884 _sqlite3SrcListFuncArgs(tls, _pParse, func() *XSrcList { 33885 if _185_pSelect != nil { 33886 return _185_pSrc 33887 } 33888 return (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 33889 }(), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 33890 _354: 33891 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(33), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33892 _sqlite3PExprAddSelect(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)), _185_pSelect) 33893 _exprNot(tls, _pParse, *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))), (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */)))))) 33894 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(8 /* X2 */))) = func() *int8 { 33895 if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))).X0) != nil { 33896 return (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X1))) 33897 } 33898 return (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0)) + 1*uintptr((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X1))) 33899 }() 33900 goto _281 33901 33902 _209: 33903 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33904 _186_p = store7851696((**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */)))))))+uintptr(0 /* X0 */))))), _sqlite3PExpr(tls, _pParse, i32(20), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))))) 33905 _sqlite3PExprAddSelect(tls, _pParse, _186_p, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33906 goto _281 33907 33908 _210: 33909 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33910 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(136), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 33911 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0)) == nil { 33912 goto _359 33913 } 33914 33915 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0) + uintptr(20 /* X6 */))))))) = func() *XExprList { 33916 if (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) != nil { 33917 return _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33918 } 33919 return (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) 33920 }() 33921 _sqlite3ExprSetHeightAndFlags(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0))) 33922 goto _362 33923 33924 _359: 33925 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */)))))))) 33926 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 33927 _362: 33928 goto _281 33929 33930 _211: 33931 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0))) 33932 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33933 goto _281 33934 33935 _212: 33936 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))).X0))) 33937 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33938 goto _281 33939 33940 _213: 33941 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0)) 33942 goto _281 33943 33944 _214: 33945 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33946 goto _281 33947 33948 _215: 33949 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 33950 goto _281 33951 33952 _216: 33953 _217: 33954 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 33955 goto _281 33956 33957 _218: 33958 _sqlite3CreateIndex(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6))))))+uintptr(4 /* X2 */))))), _sqlite3SrcListAppend(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-10)))))) + uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-11))))))+uintptr(4 /* X2 */))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), i32(0), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */))))), uint8(i32(0))) 33959 goto _281 33960 33961 _219: 33962 _220: 33963 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(2) 33964 goto _281 33965 33966 _221: 33967 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(0) 33968 goto _281 33969 33970 _222: 33971 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _parserAddExprIdListTerm(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33972 goto _281 33973 33974 _223: 33975 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = _parserAddExprIdListTerm(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))) 33976 goto _281 33977 33978 _224: 33979 _sqlite3DropIndex(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 33980 goto _281 33981 33982 _225: 33983 _sqlite3Vacuum(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 33984 goto _281 33985 33986 _226: 33987 _sqlite3Vacuum(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 33988 goto _281 33989 33990 _227: 33991 _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 33992 goto _281 33993 33994 _228: 33995 _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(0)) 33996 goto _281 33997 33998 _229: 33999 _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), i32(0)) 34000 goto _281 34001 34002 _230: 34003 _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), i32(1)) 34004 goto _281 34005 34006 _231: 34007 _sqlite3Pragma(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), i32(1)) 34008 goto _281 34009 34010 _232: 34011 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_209_all)) + uintptr(0 /* X0 */))) = (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))).X0 34012 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_209_all)) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0)))/1)) + ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X1) 34013 _sqlite3FinishTrigger(tls, _pParse, (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), &_209_all) 34014 goto _281 34015 34016 _233: 34017 _sqlite3BeginTrigger(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6))))))+uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X0, (*XIdList)(unsafe.Pointer((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))).X1)), (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-10)))))) + uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-8)))))) + uintptr(4 /* X2 */)))))) 34018 *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-10)))))) + uintptr(4 /* X2 */))))) = func() XToken { 34019 if ((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))).X1) == uint32(i32(0)) { 34020 return (*(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7)))))) + uintptr(4 /* X2 */)))))) 34021 } 34022 return (*(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */)))))) 34023 }() 34024 goto _281 34025 34026 _234: 34027 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(63) 34028 goto _281 34029 34030 _235: 34031 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(59) 34032 goto _281 34033 34034 _236: 34035 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))) = i32(77) 34036 goto _281 34037 34038 _237: 34039 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))) = i32(63) 34040 goto _281 34041 34042 _238: 34043 _239: 34044 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + 16*uintptr(i32(0)))).X1) 34045 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))))) = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 34046 goto _281 34047 34048 _240: 34049 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))) = i32(110) 34050 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))))) = (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 34051 goto _281 34052 34053 _241: 34054 _242: 34055 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 34056 goto _281 34057 34058 _243: 34059 _244: 34060 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))).X0)) 34061 goto _281 34062 34063 _245: 34064 func() int32 { 34065 if (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { 34066 return i32(0) 34067 } 34068 return func() int32 { 34069 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138138), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(28816))) 34070 crt.X__builtin_abort(tls) 34071 return i32(0) 34072 }() 34073 }() 34074 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))).X9) + uintptr(28 /* X8 */))))) = (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 34075 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */)))))) + uintptr(32 /* X9 */))))) = (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 34076 goto _281 34077 34078 _246: 34079 func() int32 { 34080 if (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { 34081 return i32(0) 34082 } 34083 return func() int32 { 34084 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138145), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(28844))) 34085 crt.X__builtin_abort(tls) 34086 return i32(0) 34087 }() 34088 }() 34089 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) + uintptr(32 /* X9 */))))) = (*XTriggerStep)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) 34090 goto _281 34091 34092 _247: 34093 *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))) = *(*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) 34094 _sqlite3ErrorMsg(tls, _pParse, str(28872)) 34095 goto _281 34096 34097 _248: 34098 _sqlite3ErrorMsg(tls, _pParse, str(28968)) 34099 goto _281 34100 34101 _249: 34102 _sqlite3ErrorMsg(tls, _pParse, str(29052)) 34103 goto _281 34104 34105 _250: 34106 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-6)))))) + uintptr(4 /* X2 */))))))) = _sqlite3TriggerUpdateStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4))))))+uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */))))))) 34107 goto _281 34108 34109 _251: 34110 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _sqlite3TriggerInsertStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), uint8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) 34111 goto _281 34112 34113 _252: 34114 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))) = _sqlite3TriggerDeleteStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 34115 goto _281 34116 34117 _253: 34118 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) = _sqlite3TriggerSelectStep(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 34119 goto _281 34120 34121 _254: 34122 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34123 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(83), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 34124 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0)) == nil { 34125 goto _369 34126 } 34127 34128 *(*int8)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0) + uintptr(1 /* X1 */))) = int8(i32(4)) 34129 _369: 34130 goto _281 34131 34132 _255: 34133 _spanSet(tls, (*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34134 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(83), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), i32(1)) 34135 if (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))).X0)) == nil { 34136 goto _370 34137 } 34138 34139 *(*int8)(unsafe.Pointer(uintptr((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))).X0) + uintptr(1 /* X1 */))) = int8(*(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */)))))) 34140 _370: 34141 goto _281 34142 34143 _256: 34144 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(1) 34145 goto _281 34146 34147 _257: 34148 *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))) = i32(3) 34149 goto _281 34150 34151 _258: 34152 _sqlite3DropTrigger(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))) 34153 goto _281 34154 34155 _259: 34156 _sqlite3Attach(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0)), (*XExpr)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 34157 goto _281 34158 34159 _260: 34160 _sqlite3Detach(tls, _pParse, (*XExpr)(unsafe.Pointer((*XExprSpan)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))).X0))) 34161 goto _281 34162 34163 _261: 34164 _sqlite3Reindex(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 34165 goto _281 34166 34167 _262: 34168 _sqlite3Reindex(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34169 goto _281 34170 34171 _263: 34172 _sqlite3Analyze(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 34173 goto _281 34174 34175 _264: 34176 _sqlite3Analyze(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34177 goto _281 34178 34179 _265: 34180 _sqlite3AlterRenameTable(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34181 goto _281 34182 34183 _266: 34184 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))))) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(400 /* X51 */))).X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */))))).X0)))/1)) + ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(400 /* X51 */))).X1) 34185 _sqlite3AlterFinishAddColumn(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1))))))+uintptr(4 /* X2 */)))))) 34186 goto _281 34187 34188 _267: 34189 _disableLookaside(tls, _pParse) 34190 _sqlite3AlterBeginAddColumn(tls, _pParse, (*XSrcList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */)))))))) 34191 goto _281 34192 34193 _268: 34194 _sqlite3VtabFinishParse(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 34195 goto _281 34196 34197 _269: 34198 _sqlite3VtabFinishParse(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34199 goto _281 34200 34201 _270: 34202 _sqlite3VtabBeginParse(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-3))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2))))))+uintptr(4 /* X2 */))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */))))), *(*int32)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */)))))) 34203 goto _281 34204 34205 _271: 34206 _sqlite3VtabArgInit(tls, _pParse) 34207 goto _281 34208 34209 _272: 34210 _273: 34211 _274: 34212 _sqlite3VtabArgExtend(tls, _pParse, (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0))))))+uintptr(4 /* X2 */)))))) 34213 goto _281 34214 34215 _275: 34216 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(1)))))) + uintptr(4 /* X2 */))))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) 34217 goto _281 34218 34219 _276: 34220 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */))))))) = (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 34221 goto _281 34222 34223 _277: 34224 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-2)))))) + uintptr(4 /* X2 */))))))) = (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(0)))))) + uintptr(4 /* X2 */))))))) 34225 goto _281 34226 34227 _278: 34228 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5)))))) + uintptr(4 /* X2 */))))))) = _sqlite3WithAdd(tls, _pParse, (*XWith)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 34229 goto _281 34230 34231 _279: 34232 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7)))))) + uintptr(4 /* X2 */))))))) = _sqlite3WithAdd(tls, _pParse, (*XWith)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-7)))))) + uintptr(4 /* X2 */))))))), (*XToken)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-5))))))+uintptr(4 /* X2 */))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-4)))))) + uintptr(4 /* X2 */))))))), (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*XYYMINORTYPE)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(i32(-1)))))) + uintptr(4 /* X2 */)))))))) 34233 goto _281 34234 34235 _280: 34236 func() int32 { 34237 if _yyruleno != uint32(i32(277)) { 34238 return i32(0) 34239 } 34240 return func() int32 { 34241 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138292), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29140))) 34242 crt.X__builtin_abort(tls) 34243 return i32(0) 34244 }() 34245 }() 34246 func() int32 { 34247 if _yyruleno != uint32(i32(294)) { 34248 return i32(0) 34249 } 34250 return func() int32 { 34251 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138309), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29156))) 34252 crt.X__builtin_abort(tls) 34253 return i32(0) 34254 }() 34255 }() 34256 func() int32 { 34257 if _yyruleno != uint32(i32(295)) { 34258 return i32(0) 34259 } 34260 return func() int32 { 34261 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138310), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29172))) 34262 crt.X__builtin_abort(tls) 34263 return i32(0) 34264 }() 34265 }() 34266 func() int32 { 34267 if _yyruleno != uint32(i32(301)) { 34268 return i32(0) 34269 } 34270 return func() int32 { 34271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138316), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29188))) 34272 crt.X__builtin_abort(tls) 34273 return i32(0) 34274 }() 34275 }() 34276 func() int32 { 34277 if _yyruleno != uint32(i32(303)) { 34278 return i32(0) 34279 } 34280 return func() int32 { 34281 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138318), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29204))) 34282 crt.X__builtin_abort(tls) 34283 return i32(0) 34284 }() 34285 }() 34286 func() int32 { 34287 if _yyruleno != uint32(i32(304)) { 34288 return i32(0) 34289 } 34290 return func() int32 { 34291 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138319), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29220))) 34292 crt.X__builtin_abort(tls) 34293 return i32(0) 34294 }() 34295 }() 34296 func() int32 { 34297 if _yyruleno != uint32(i32(305)) { 34298 return i32(0) 34299 } 34300 return func() int32 { 34301 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138320), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29236))) 34302 crt.X__builtin_abort(tls) 34303 return i32(0) 34304 }() 34305 }() 34306 func() int32 { 34307 if _yyruleno != uint32(i32(309)) { 34308 return i32(0) 34309 } 34310 return func() int32 { 34311 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138324), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29252))) 34312 crt.X__builtin_abort(tls) 34313 return i32(0) 34314 }() 34315 }() 34316 func() int32 { 34317 if _yyruleno != uint32(i32(312)) { 34318 return i32(0) 34319 } 34320 return func() int32 { 34321 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138327), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29268))) 34322 crt.X__builtin_abort(tls) 34323 return i32(0) 34324 }() 34325 }() 34326 func() int32 { 34327 if _yyruleno != uint32(i32(313)) { 34328 return i32(0) 34329 } 34330 return func() int32 { 34331 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138328), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29284))) 34332 crt.X__builtin_abort(tls) 34333 return i32(0) 34334 }() 34335 }() 34336 goto _281 34337 34338 _281: 34339 func() int32 { 34340 if _yyruleno < u32(332) { 34341 return i32(0) 34342 } 34343 return func() int32 { 34344 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138350), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29300))) 34345 crt.X__builtin_abort(tls) 34346 return i32(0) 34347 }() 34348 }() 34349 _yygoto = int32((*T8987895)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo)) + 2*uintptr(_yyruleno))).X0) 34350 _yysize = int32((*T8987895)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yyRuleInfo)) + 2*uintptr(_yyruleno))).X1) 34351 _yyact = _yy_find_reduce_action(tls, int32((*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp))+16*uintptr(-_yysize))).X0), uint8(_yygoto)) 34352 if _yyact > i32(999) { 34353 goto _393 34354 } 34355 34356 if _yyact <= i32(455) { 34357 goto _394 34358 } 34359 34360 { 34361 p := &_yyact 34362 *p = (*p) + i32(332) 34363 sink961 = *p 34364 } 34365 _394: 34366 { 34367 p := &_yymsp 34368 *p = (*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 16*uintptr(_yysize-i32(1)))) 34369 sink8983905 = *p 34370 } 34371 *(**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))) = _yymsp 34372 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + uintptr(0 /* X0 */))) = uint16(_yyact) 34373 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yymsp)) + uintptr(2 /* X1 */))) = uint8(_yygoto) 34374 _yyTraceShift(tls, _yypParser, _yyact) 34375 goto _395 34376 34377 _393: 34378 func() int32 { 34379 if _yyact == i32(1333) { 34380 return i32(0) 34381 } 34382 return func() int32 { 34383 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138364), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_reduceØ00__func__Ø000))), unsafe.Pointer(str(29352))) 34384 crt.X__builtin_abort(tls) 34385 return i32(0) 34386 }() 34387 }() 34388 { 34389 p := (**XyyStackEntry)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(0 /* X0 */))))) 34390 *p = (*XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 16*uintptr(_yysize))) 34391 sink8983905 = *p 34392 } 34393 _yy_accept(tls, _yypParser) 34394 _395: 34395 return 34396 34397 } 34398 34399 var _yyRuleInfo [332]struct { 34400 X0 uint8 34401 X1 uint8 34402 } // sqlite3.c:136726:3 34403 34404 func init() { 34405 _yyRuleInfo = [332]struct { 34406 X0 uint8 34407 X1 uint8 34408 }{T8987895{X0: u8(147), X1: u8(1)}, T8987895{X0: u8(147), X1: u8(3)}, T8987895{X0: u8(148), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(3)}, T8987895{X0: u8(150), X1: u8(0)}, T8987895{X0: u8(150), X1: u8(1)}, T8987895{X0: u8(150), X1: u8(1)}, T8987895{X0: u8(150), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(3)}, T8987895{X0: u8(149), X1: u8(5)}, T8987895{X0: u8(154), X1: u8(6)}, T8987895{X0: u8(156), X1: u8(1)}, T8987895{X0: u8(158), X1: u8(0)}, T8987895{X0: u8(158), X1: u8(3)}, T8987895{X0: u8(157), X1: u8(1)}, T8987895{X0: u8(157), X1: u8(0)}, T8987895{X0: u8(155), X1: u8(5)}, T8987895{X0: u8(155), X1: u8(2)}, T8987895{X0: u8(162), X1: u8(0)}, T8987895{X0: u8(162), X1: u8(2)}, T8987895{X0: u8(164), X1: u8(2)}, T8987895{X0: u8(166), X1: u8(0)}, T8987895{X0: u8(166), X1: u8(4)}, T8987895{X0: u8(166), X1: u8(6)}, T8987895{X0: u8(167), X1: u8(2)}, T8987895{X0: u8(171), X1: u8(2)}, T8987895{X0: u8(171), X1: u8(2)}, T8987895{X0: u8(171), X1: u8(4)}, T8987895{X0: u8(171), X1: u8(3)}, T8987895{X0: u8(171), X1: u8(3)}, T8987895{X0: u8(171), X1: u8(2)}, T8987895{X0: u8(171), X1: u8(3)}, T8987895{X0: u8(171), X1: u8(5)}, T8987895{X0: u8(171), X1: u8(2)}, T8987895{X0: u8(171), X1: u8(4)}, T8987895{X0: u8(171), X1: u8(4)}, T8987895{X0: u8(171), X1: u8(1)}, T8987895{X0: u8(171), X1: u8(2)}, T8987895{X0: u8(176), X1: u8(0)}, T8987895{X0: u8(176), X1: u8(1)}, T8987895{X0: u8(178), X1: u8(0)}, T8987895{X0: u8(178), X1: u8(2)}, T8987895{X0: u8(180), X1: u8(2)}, T8987895{X0: u8(180), X1: u8(3)}, T8987895{X0: u8(180), X1: u8(3)}, T8987895{X0: u8(180), X1: u8(3)}, T8987895{X0: u8(181), X1: u8(2)}, T8987895{X0: u8(181), X1: u8(2)}, T8987895{X0: u8(181), X1: u8(1)}, T8987895{X0: u8(181), X1: u8(1)}, T8987895{X0: u8(181), X1: u8(2)}, T8987895{X0: u8(179), X1: u8(3)}, T8987895{X0: u8(179), X1: u8(2)}, T8987895{X0: u8(182), X1: u8(0)}, T8987895{X0: u8(182), X1: u8(2)}, T8987895{X0: u8(182), X1: u8(2)}, T8987895{X0: u8(161), X1: u8(0)}, T8987895{X0: u8(184), X1: u8(1)}, T8987895{X0: u8(185), X1: u8(2)}, T8987895{X0: u8(185), X1: u8(7)}, T8987895{X0: u8(185), X1: u8(5)}, T8987895{X0: u8(185), X1: u8(5)}, T8987895{X0: u8(185), X1: u8(10)}, T8987895{X0: u8(188), X1: u8(0)}, T8987895{X0: u8(174), X1: u8(0)}, T8987895{X0: u8(174), X1: u8(3)}, T8987895{X0: u8(189), X1: u8(0)}, T8987895{X0: u8(189), X1: u8(2)}, T8987895{X0: u8(190), X1: u8(1)}, T8987895{X0: u8(190), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(4)}, T8987895{X0: u8(192), X1: u8(2)}, T8987895{X0: u8(192), X1: u8(0)}, T8987895{X0: u8(149), X1: u8(9)}, T8987895{X0: u8(149), X1: u8(4)}, T8987895{X0: u8(149), X1: u8(1)}, T8987895{X0: u8(163), X1: u8(2)}, T8987895{X0: u8(194), X1: u8(3)}, T8987895{X0: u8(197), X1: u8(1)}, T8987895{X0: u8(197), X1: u8(2)}, T8987895{X0: u8(197), X1: u8(1)}, T8987895{X0: u8(195), X1: u8(9)}, T8987895{X0: u8(206), X1: u8(4)}, T8987895{X0: u8(206), X1: u8(5)}, T8987895{X0: u8(198), X1: u8(1)}, T8987895{X0: u8(198), X1: u8(1)}, T8987895{X0: u8(198), X1: u8(0)}, T8987895{X0: u8(209), X1: u8(0)}, T8987895{X0: u8(199), X1: u8(3)}, T8987895{X0: u8(199), X1: u8(2)}, T8987895{X0: u8(199), X1: u8(4)}, T8987895{X0: u8(210), X1: u8(2)}, T8987895{X0: u8(210), X1: u8(0)}, T8987895{X0: u8(200), X1: u8(0)}, T8987895{X0: u8(200), X1: u8(2)}, T8987895{X0: u8(212), X1: u8(2)}, T8987895{X0: u8(212), X1: u8(0)}, T8987895{X0: u8(211), X1: u8(7)}, T8987895{X0: u8(211), X1: u8(9)}, T8987895{X0: u8(211), X1: u8(7)}, T8987895{X0: u8(211), X1: u8(7)}, T8987895{X0: u8(159), X1: u8(0)}, T8987895{X0: u8(159), X1: u8(2)}, T8987895{X0: u8(193), X1: u8(2)}, T8987895{X0: u8(213), X1: u8(1)}, T8987895{X0: u8(213), X1: u8(2)}, T8987895{X0: u8(213), X1: u8(3)}, T8987895{X0: u8(213), X1: u8(4)}, T8987895{X0: u8(215), X1: u8(2)}, T8987895{X0: u8(215), X1: u8(0)}, T8987895{X0: u8(214), X1: u8(0)}, T8987895{X0: u8(214), X1: u8(3)}, T8987895{X0: u8(214), X1: u8(2)}, T8987895{X0: u8(216), X1: u8(4)}, T8987895{X0: u8(216), X1: u8(0)}, T8987895{X0: u8(204), X1: u8(0)}, T8987895{X0: u8(204), X1: u8(3)}, T8987895{X0: u8(186), X1: u8(4)}, T8987895{X0: u8(186), X1: u8(2)}, T8987895{X0: u8(175), X1: u8(1)}, T8987895{X0: u8(175), X1: u8(1)}, T8987895{X0: u8(175), X1: u8(0)}, T8987895{X0: u8(202), X1: u8(0)}, T8987895{X0: u8(202), X1: u8(3)}, T8987895{X0: u8(203), X1: u8(0)}, T8987895{X0: u8(203), X1: u8(2)}, T8987895{X0: u8(205), X1: u8(0)}, T8987895{X0: u8(205), X1: u8(2)}, T8987895{X0: u8(205), X1: u8(4)}, T8987895{X0: u8(205), X1: u8(4)}, T8987895{X0: u8(149), X1: u8(6)}, T8987895{X0: u8(201), X1: u8(0)}, T8987895{X0: u8(201), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(8)}, T8987895{X0: u8(218), X1: u8(5)}, T8987895{X0: u8(218), X1: u8(7)}, T8987895{X0: u8(218), X1: u8(3)}, T8987895{X0: u8(218), X1: u8(5)}, T8987895{X0: u8(149), X1: u8(6)}, T8987895{X0: u8(149), X1: u8(7)}, T8987895{X0: u8(219), X1: u8(2)}, T8987895{X0: u8(219), X1: u8(1)}, T8987895{X0: u8(220), X1: u8(0)}, T8987895{X0: u8(220), X1: u8(3)}, T8987895{X0: u8(217), X1: u8(3)}, T8987895{X0: u8(217), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(172), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(172), X1: u8(1)}, T8987895{X0: u8(172), X1: u8(1)}, T8987895{X0: u8(172), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(6)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(173), X1: u8(4)}, T8987895{X0: u8(172), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(221), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(173), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(4)}, T8987895{X0: u8(173), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(2)}, T8987895{X0: u8(222), X1: u8(1)}, T8987895{X0: u8(222), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(223), X1: u8(1)}, T8987895{X0: u8(223), X1: u8(2)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(173), X1: u8(3)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(173), X1: u8(4)}, T8987895{X0: u8(173), X1: u8(5)}, T8987895{X0: u8(226), X1: u8(5)}, T8987895{X0: u8(226), X1: u8(4)}, T8987895{X0: u8(227), X1: u8(2)}, T8987895{X0: u8(227), X1: u8(0)}, T8987895{X0: u8(225), X1: u8(1)}, T8987895{X0: u8(225), X1: u8(0)}, T8987895{X0: u8(208), X1: u8(0)}, T8987895{X0: u8(207), X1: u8(3)}, T8987895{X0: u8(207), X1: u8(1)}, T8987895{X0: u8(224), X1: u8(0)}, T8987895{X0: u8(224), X1: u8(3)}, T8987895{X0: u8(149), X1: u8(12)}, T8987895{X0: u8(228), X1: u8(1)}, T8987895{X0: u8(228), X1: u8(0)}, T8987895{X0: u8(177), X1: u8(0)}, T8987895{X0: u8(177), X1: u8(3)}, T8987895{X0: u8(187), X1: u8(5)}, T8987895{X0: u8(187), X1: u8(3)}, T8987895{X0: u8(229), X1: u8(0)}, T8987895{X0: u8(229), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(4)}, T8987895{X0: u8(149), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(3)}, T8987895{X0: u8(149), X1: u8(5)}, T8987895{X0: u8(149), X1: u8(6)}, T8987895{X0: u8(149), X1: u8(5)}, T8987895{X0: u8(149), X1: u8(6)}, T8987895{X0: u8(169), X1: u8(2)}, T8987895{X0: u8(170), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(5)}, T8987895{X0: u8(231), X1: u8(11)}, T8987895{X0: u8(233), X1: u8(1)}, T8987895{X0: u8(233), X1: u8(1)}, T8987895{X0: u8(233), X1: u8(2)}, T8987895{X0: u8(233), X1: u8(0)}, T8987895{X0: u8(234), X1: u8(1)}, T8987895{X0: u8(234), X1: u8(1)}, T8987895{X0: u8(234), X1: u8(3)}, T8987895{X0: u8(236), X1: u8(0)}, T8987895{X0: u8(236), X1: u8(2)}, T8987895{X0: u8(232), X1: u8(3)}, T8987895{X0: u8(232), X1: u8(2)}, T8987895{X0: u8(238), X1: u8(3)}, T8987895{X0: u8(239), X1: u8(3)}, T8987895{X0: u8(239), X1: u8(2)}, T8987895{X0: u8(237), X1: u8(7)}, T8987895{X0: u8(237), X1: u8(5)}, T8987895{X0: u8(237), X1: u8(5)}, T8987895{X0: u8(237), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(4)}, T8987895{X0: u8(173), X1: u8(6)}, T8987895{X0: u8(191), X1: u8(1)}, T8987895{X0: u8(191), X1: u8(1)}, T8987895{X0: u8(191), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(4)}, T8987895{X0: u8(149), X1: u8(6)}, T8987895{X0: u8(149), X1: u8(3)}, T8987895{X0: u8(241), X1: u8(0)}, T8987895{X0: u8(241), X1: u8(2)}, T8987895{X0: u8(149), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(3)}, T8987895{X0: u8(149), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(3)}, T8987895{X0: u8(149), X1: u8(6)}, T8987895{X0: u8(149), X1: u8(7)}, T8987895{X0: u8(242), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(1)}, T8987895{X0: u8(149), X1: u8(4)}, T8987895{X0: u8(244), X1: u8(8)}, T8987895{X0: u8(246), X1: u8(0)}, T8987895{X0: u8(247), X1: u8(1)}, T8987895{X0: u8(247), X1: u8(3)}, T8987895{X0: u8(248), X1: u8(1)}, T8987895{X0: u8(196), X1: u8(0)}, T8987895{X0: u8(196), X1: u8(2)}, T8987895{X0: u8(196), X1: u8(3)}, T8987895{X0: u8(250), X1: u8(6)}, T8987895{X0: u8(250), X1: u8(8)}, T8987895{X0: u8(144), X1: u8(1)}, T8987895{X0: u8(145), X1: u8(2)}, T8987895{X0: u8(145), X1: u8(1)}, T8987895{X0: u8(146), X1: u8(1)}, T8987895{X0: u8(146), X1: u8(3)}, T8987895{X0: u8(147), X1: u8(0)}, T8987895{X0: u8(151), X1: u8(0)}, T8987895{X0: u8(151), X1: u8(1)}, T8987895{X0: u8(151), X1: u8(2)}, T8987895{X0: u8(153), X1: u8(1)}, T8987895{X0: u8(153), X1: u8(0)}, T8987895{X0: u8(149), X1: u8(2)}, T8987895{X0: u8(160), X1: u8(4)}, T8987895{X0: u8(160), X1: u8(2)}, T8987895{X0: u8(152), X1: u8(1)}, T8987895{X0: u8(152), X1: u8(1)}, T8987895{X0: u8(152), X1: u8(1)}, T8987895{X0: u8(166), X1: u8(1)}, T8987895{X0: u8(167), X1: u8(1)}, T8987895{X0: u8(168), X1: u8(1)}, T8987895{X0: u8(168), X1: u8(1)}, T8987895{X0: u8(165), X1: u8(2)}, T8987895{X0: u8(165), X1: u8(0)}, T8987895{X0: u8(171), X1: u8(2)}, T8987895{X0: u8(161), X1: u8(2)}, T8987895{X0: u8(183), X1: u8(3)}, T8987895{X0: u8(183), X1: u8(1)}, T8987895{X0: u8(184), X1: u8(0)}, T8987895{X0: u8(188), X1: u8(1)}, T8987895{X0: u8(190), X1: u8(1)}, T8987895{X0: u8(194), X1: u8(1)}, T8987895{X0: u8(195), X1: u8(1)}, T8987895{X0: u8(209), X1: u8(2)}, T8987895{X0: u8(210), X1: u8(1)}, T8987895{X0: u8(173), X1: u8(1)}, T8987895{X0: u8(221), X1: u8(1)}, T8987895{X0: u8(208), X1: u8(1)}, T8987895{X0: u8(230), X1: u8(1)}, T8987895{X0: u8(230), X1: u8(1)}, T8987895{X0: u8(230), X1: u8(1)}, T8987895{X0: u8(230), X1: u8(1)}, T8987895{X0: u8(230), X1: u8(1)}, T8987895{X0: u8(169), X1: u8(1)}, T8987895{X0: u8(235), X1: u8(0)}, T8987895{X0: u8(235), X1: u8(3)}, T8987895{X0: u8(238), X1: u8(1)}, T8987895{X0: u8(239), X1: u8(0)}, T8987895{X0: u8(240), X1: u8(1)}, T8987895{X0: u8(240), X1: u8(0)}, T8987895{X0: u8(243), X1: u8(0)}, T8987895{X0: u8(243), X1: u8(1)}, T8987895{X0: u8(245), X1: u8(1)}, T8987895{X0: u8(245), X1: u8(3)}, T8987895{X0: u8(246), X1: u8(2)}, T8987895{X0: u8(249), X1: u8(0)}, T8987895{X0: u8(249), X1: u8(4)}, T8987895{X0: u8(249), X1: u8(2)}} 34409 } 34410 34411 var _yyRuleName [332]*int8 // sqlite3.c:135953:19 34412 34413 func init() { 34414 _yyRuleName = [332]*int8{str(29380), str(29400), str(29432), str(29448), str(29484), str(29500), str(29524), str(29548), str(29572), str(29600), str(29624), str(29652), str(29676), str(29712), str(29760), str(29820), str(29840), str(29856), str(29888), str(29904), str(29916), str(29984), str(30016), str(30036), str(30068), str(30096), str(30112), str(30148), str(30200), str(30232), str(30256), str(30280), str(30312), str(30340), str(30372), str(30404), str(30432), str(30480), str(30504), str(30532), str(30576), str(30604), str(30632), str(30644), str(30668), str(30680), str(30708), str(30728), str(30756), str(30784), str(30812), str(30832), str(30856), str(30876), str(30896), str(30920), str(30980), str(31036), str(31064), str(31112), str(31160), str(31180), str(31204), str(31228), str(31280), str(31320), str(31356), str(31448), str(31472), str(31484), str(31520), str(31532), str(31560), str(31584), str(31608), str(31648), str(31672), str(31688), str(31760), str(31796), str(31812), str(31844), str(31900), str(31928), str(31960), str(31996), str(32100), str(32136), str(32176), str(32200), str(32220), str(32236), str(32248), str(32276), str(32304), str(32336), str(32352), str(32360), str(32372), str(32400), str(32436), str(32452), str(32520), str(32592), str(32652), str(32716), str(32728), str(32744), str(32768), str(32792), str(32816), str(32844), str(32876), str(32896), str(32908), str(32924), str(32956), str(32984), str(33020), str(33036), str(33052), str(33088), str(33132), str(33160), str(33180), str(33200), str(33216), str(33232), str(33268), str(33284), str(33312), str(33328), str(33356), str(33396), str(33432), str(33488), str(33504), str(33532), str(33604), str(33644), str(33692), str(33716), str(33752), str(33808), str(33872), str(33904), str(33928), str(33944), str(33972), str(34000), str(34016), str(34036), str(34052), str(34072), str(34092), str(34112), str(34140), str(34160), str(34176), str(34196), str(34216), str(34248), str(34288), str(34332), str(34364), str(34384), str(34420), str(34444), str(34468), str(34500), str(34528), str(34576), str(34608), str(34644), str(34672), str(34704), str(34732), str(34772), str(34804), str(34828), str(34852), str(34880), str(34900), str(34924), str(34944), str(34964), str(34988), str(35016), str(35056), str(35072), str(35092), str(35128), str(35152), str(35188), str(35232), str(35264), str(35320), str(35372), str(35412), str(35436), str(35452), str(35476), str(35496), str(35512), str(35548), str(35568), str(35588), str(35624), str(35712), str(35736), str(35752), str(35768), str(35800), str(35848), str(35884), str(35896), str(35928), str(35968), str(35984), str(36004), str(36028), str(36060), str(36096), str(36132), str(36172), str(36204), str(36240), str(36300), str(36416), str(36440), str(36464), str(36492), str(36512), str(36544), str(36572), str(36608), str(36624), str(36652), str(36708), str(36748), str(36768), str(36796), str(36820), str(36888), str(36944), str(36996), str(37020), str(37048), str(37088), str(37112), str(37132), str(37152), str(37192), str(37244), str(37280), str(37292), str(37316), str(37332), str(37356), str(37372), str(37396), str(37440), str(37520), str(37556), str(37576), str(37616), str(37684), str(37696), str(37720), str(37752), str(37764), str(37776), str(37800), str(37832), str(37876), str(37932), str(37952), str(37980), str(38000), str(38016), str(38044), str(38056), str(38072), str(38100), str(38132), str(38160), str(38180), str(38220), str(38272), str(38308), str(38328), str(38344), str(38360), str(38384), str(38408), str(38428), str(38452), str(38480), str(38496), str(38520), str(38552), str(38592), str(38612), str(38628), str(38668), str(38696), str(38724), str(38748), str(38776), str(38796), str(38812), str(38840), str(38864), str(38884), str(38900), str(38916), str(38936), str(38956), str(38984), str(39004), str(39036), str(39048), str(39060), str(39092), str(39112), str(39132), str(39160), str(39184), str(39228), str(39264), str(39276), str(39312)} 34415 } 34416 34417 func _sqlite3FinishCoding(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:99583:1 34418 var _db *Xsqlite3 // sqlite3.c:99584:11 34419 _ = _db 34420 var _v *XVdbe // sqlite3.c:99585:8 34421 _ = _v 34422 var _3_iDb int32 // sqlite3.c:99624:11 34423 _ = _3_iDb 34424 var _3_i int32 // sqlite3.c:99624:16 34425 _ = _3_i 34426 var _4_pSchema *XSchema // sqlite3.c:99628:16 34427 _ = _4_pSchema 34428 var _5_vtab *int8 // sqlite3.c:99645:14 34429 _ = _5_vtab 34430 var _6_pEL *XExprList // sqlite3.c:99663:18 34431 _ = _6_pEL 34432 func() int32 { 34433 if (*XParse)(unsafe.Pointer(_pParse.X39)) == (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 34434 return i32(0) 34435 } 34436 return func() int32 { 34437 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99587), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishCodingØ00__func__Ø000))), unsafe.Pointer(str(39336))) 34438 crt.X__builtin_abort(tls) 34439 return i32(0) 34440 }() 34441 }() 34442 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 34443 if (_pParse.X6) == 0 { 34444 goto _2 34445 } 34446 34447 return 34448 34449 _2: 34450 if (_db.X17) == 0 && (_pParse.X16) == 0 { 34451 goto _4 34452 } 34453 34454 if (_pParse.X3) != i32(0) { 34455 goto _5 34456 } 34457 34458 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(1) 34459 _5: 34460 return 34461 34462 _4: 34463 _v = _sqlite3GetVdbe(tls, _pParse) 34464 func() int32 { 34465 if ((_pParse.X8) == 0) || _sqlite3VdbeAssertMayAbort(tls, _v, int32(_pParse.X9)) != 0 { 34466 return i32(0) 34467 } 34468 return func() int32 { 34469 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99599), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishCodingØ00__func__Ø000))), unsafe.Pointer(str(39360))) 34470 crt.X__builtin_abort(tls) 34471 return i32(0) 34472 }() 34473 }() 34474 if _v == nil { 34475 goto _9 34476 } 34477 34478 _sqlite3VdbeAddOp0(tls, _v, i32(76)) 34479 if int32(_db.X17) != i32(0) || (_pParse.X30) == uint32(i32(0)) && (*XExprList)(unsafe.Pointer(_pParse.X27)) == nil { 34480 goto _12 34481 } 34482 34483 func() int32 { 34484 if int32(_sqlite3VdbeGetOp(tls, _v, i32(0)).X0) == i32(72) { 34485 return i32(0) 34486 } 34487 return func() int32 { 34488 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99625), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishCodingØ00__func__Ø000))), unsafe.Pointer(str(39432))) 34489 crt.X__builtin_abort(tls) 34490 return i32(0) 34491 }() 34492 }() 34493 _sqlite3VdbeJumpHere(tls, _v, i32(0)) 34494 _3_iDb = i32(0) 34495 _15: 34496 if _3_iDb >= (_db.X5) { 34497 goto _18 34498 } 34499 34500 if bool2int(((_pParse.X30)&(u32(1)<<uint(_3_iDb))) != uint32(i32(0))) != i32(0) { 34501 goto _19 34502 } 34503 34504 goto _16 34505 34506 _19: 34507 _sqlite3VdbeUsesBtree(tls, _v, _3_iDb) 34508 _4_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_3_iDb))).X4)) 34509 _sqlite3VdbeAddOp4Int(tls, _v, i32(2), _3_iDb, bool2int(((_pParse.X29)&(u32(1)<<uint(_3_iDb))) != uint32(i32(0))), _4_pSchema.X0, _4_pSchema.X1) 34510 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != i32(0) { 34511 goto _20 34512 } 34513 34514 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) 34515 _20: 34516 _sqlite3VdbeComment(tls, _v, str(39472), bool2int(((_pParse.X9) != 0) && ((_pParse.X8) != 0))) 34517 _16: 34518 _3_iDb += 1 34519 goto _15 34520 34521 _18: 34522 _3_i = i32(0) 34523 _22: 34524 if _3_i >= (_pParse.X56) { 34525 goto _25 34526 } 34527 34528 _5_vtab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, *(**XTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse.X67)) + 4*uintptr(_3_i)))))) 34529 _sqlite3VdbeAddOp4(tls, _v, i32(153), i32(0), i32(0), i32(0), _5_vtab, i32(-8)) 34530 _3_i += 1 34531 goto _22 34532 34533 _25: 34534 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(416 /* X56 */))) = i32(0) 34535 _codeTableLocks(tls, _pParse) 34536 _sqlite3AutoincrementBegin(tls, _pParse) 34537 if (*XExprList)(unsafe.Pointer(_pParse.X27)) == nil { 34538 goto _26 34539 } 34540 34541 _6_pEL = (*XExprList)(unsafe.Pointer(_pParse.X27)) 34542 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(23 /* X11 */))) = uint8(i32(0)) 34543 _3_i = i32(0) 34544 _27: 34545 if _3_i >= (_6_pEL.X0) { 34546 goto _30 34547 } 34548 34549 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_6_pEL.X1)+20*uintptr(_3_i))).X0)), *(*int32)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_6_pEL.X1)+20*uintptr(_3_i))))) + uintptr(16 /* X5 */)))))) 34550 _3_i += 1 34551 goto _27 34552 34553 _30: 34554 _26: 34555 _sqlite3VdbeGoto(tls, _v, i32(1)) 34556 _12: 34557 _9: 34558 if _v == nil || (_pParse.X16) != i32(0) || (_db.X17) != 0 { 34559 goto _33 34560 } 34561 34562 func() int32 { 34563 if (_pParse.X23) == i32(0) { 34564 return i32(0) 34565 } 34566 return func() int32 { 34567 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99679), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishCodingØ00__func__Ø000))), unsafe.Pointer(str(39492))) 34568 crt.X__builtin_abort(tls) 34569 return i32(0) 34570 }() 34571 }() 34572 if (*XAutoincInfo)(unsafe.Pointer(_pParse.X38)) == (*XAutoincInfo)(unsafe.Pointer(uintptr(i32(0)))) || (_pParse.X17) != i32(0) { 34573 goto _37 34574 } 34575 34576 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = i32(1) 34577 _37: 34578 _sqlite3VdbeMakeReady(tls, _v, _pParse) 34579 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(101) 34580 goto _38 34581 34582 _33: 34583 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(1) 34584 _38: 34585 return 34586 34587 } 34588 34589 var _sqlite3FinishCodingØ00__func__Ø000 [20]int8 // - 34590 34591 func init() { 34592 crt.Xstrncpy(nil, &_sqlite3FinishCodingØ00__func__Ø000[0], str(39516), 20) 34593 } 34594 34595 func _sqlite3GetVdbe(tls *crt.TLS, _pParse *XParse) (r0 *XVdbe) { // sqlite3.c:118084:1 34596 var _v *XVdbe // sqlite3.c:118085:8 34597 _ = _v 34598 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 34599 r0 = func() *XVdbe { 34600 if _v != nil { 34601 return _v 34602 } 34603 return _allocVdbe(tls, _pParse) 34604 }() 34605 return 34606 34607 } 34608 34609 func _allocVdbe(tls *crt.TLS, _pParse *XParse) (r0 *XVdbe) { // sqlite3.c:118074:1 34610 var _v *XVdbe // sqlite3.c:118075:8 34611 _ = _v 34612 _v = store7766888((**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(8 /* X2 */))))), _sqlite3VdbeCreate(tls, _pParse)) 34613 if _v == nil { 34614 goto _0 34615 } 34616 34617 _sqlite3VdbeAddOp2(tls, _v, i32(72), i32(0), i32(1)) 34618 _0: 34619 if (*XParse)(unsafe.Pointer(_pParse.X39)) != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) || (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X13)&i32(8)) != i32(0) { 34620 goto _2 34621 } 34622 34623 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(23 /* X11 */))) = uint8(i32(1)) 34624 _2: 34625 r0 = _v 34626 return 34627 34628 } 34629 34630 func _sqlite3VdbeCreate(tls *crt.TLS, _pParse *XParse) (r0 *XVdbe) { // sqlite3.c:71350:1 34631 var _db *Xsqlite3 // sqlite3.c:71351:11 34632 _ = _db 34633 var _p *XVdbe // sqlite3.c:71352:8 34634 _ = _p 34635 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 34636 _p = (*XVdbe)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(204))))) 34637 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 34638 goto _0 34639 } 34640 34641 r0 = (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) 34642 return 34643 34644 _0: 34645 crt.Xmemset(tls, (unsafe.Pointer)((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(84 /* X17 */)))), i32(0), u32(120)) 34646 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _db 34647 if (*XVdbe)(unsafe.Pointer(_db.X1)) == nil { 34648 goto _1 34649 } 34650 34651 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_db.X1) + uintptr(4 /* X1 */))))) = _p 34652 _1: 34653 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = (*XVdbe)(unsafe.Pointer(_db.X1)) 34654 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) 34655 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(4 /* X1 */))))) = _p 34656 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = uint32(i32(381479589)) 34657 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = _pParse 34658 func() int32 { 34659 if (_pParse.X26) == (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 34660 return i32(0) 34661 } 34662 return func() int32 { 34663 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71365), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCreateØ00__func__Ø000))), unsafe.Pointer(str(39536))) 34664 crt.X__builtin_abort(tls) 34665 return i32(0) 34666 }() 34667 }() 34668 func() int32 { 34669 if (_pParse.X25) == i32(0) { 34670 return i32(0) 34671 } 34672 return func() int32 { 34673 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71366), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCreateØ00__func__Ø000))), unsafe.Pointer(str(39556))) 34674 crt.X__builtin_abort(tls) 34675 return i32(0) 34676 }() 34677 }() 34678 func() int32 { 34679 if (_pParse.X19) == i32(0) { 34680 return i32(0) 34681 } 34682 return func() int32 { 34683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71367), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCreateØ00__func__Ø000))), unsafe.Pointer(str(39576))) 34684 crt.X__builtin_abort(tls) 34685 return i32(0) 34686 }() 34687 }() 34688 func() int32 { 34689 if (_pParse.X20) == i32(0) { 34690 return i32(0) 34691 } 34692 return func() int32 { 34693 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCreateØ00__func__Ø000))), unsafe.Pointer(str(39596))) 34694 crt.X__builtin_abort(tls) 34695 return i32(0) 34696 }() 34697 }() 34698 r0 = _p 34699 return 34700 34701 } 34702 34703 var _sqlite3VdbeCreateØ00__func__Ø000 [18]int8 // - 34704 34705 func init() { 34706 crt.Xstrncpy(nil, &_sqlite3VdbeCreateØ00__func__Ø000[0], str(39620), 18) 34707 } 34708 34709 func _sqlite3VdbeAddOp2(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32, _p2 int32) (r0 int32) { // sqlite3.c:71550:1 34710 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, i32(0)) 34711 return 34712 34713 } 34714 34715 func _sqlite3VdbeAddOp3(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32) (r0 int32) { // sqlite3.c:71499:1 34716 var _i int32 // sqlite3.c:71500:7 34717 _ = _i 34718 var _pOp *XVdbeOp // sqlite3.c:71501:10 34719 _ = _pOp 34720 var _2_jj int32 // sqlite3.c:71523:9 34721 _ = _2_jj 34722 var _2_kk int32 // sqlite3.c:71523:13 34723 _ = _2_kk 34724 var _2_pParse *XParse // sqlite3.c:71524:11 34725 _ = _2_pParse 34726 var _3_x *T7863733 // sqlite3.c:71526:24 34727 _ = _3_x 34728 _i = _p.X27 34729 func() int32 { 34730 if (_p.X5) == uint32(i32(381479589)) { 34731 return i32(0) 34732 } 34733 return func() int32 { 34734 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71504), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAddOp3Ø00__func__Ø000))), unsafe.Pointer(str(39640))) 34735 crt.X__builtin_abort(tls) 34736 return i32(0) 34737 }() 34738 }() 34739 func() int32 { 34740 if (_op >= i32(0)) && (_op < i32(255)) { 34741 return i32(0) 34742 } 34743 return func() int32 { 34744 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71505), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAddOp3Ø00__func__Ø000))), unsafe.Pointer(str(39668))) 34745 crt.X__builtin_abort(tls) 34746 return i32(0) 34747 }() 34748 }() 34749 if ((*XParse)(unsafe.Pointer(_p.X3)).X19) > _i { 34750 goto _5 34751 } 34752 34753 r0 = _growOp3(tls, _p, _op, _p1, _p2, _p3) 34754 return 34755 34756 _5: 34757 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(128 /* X27 */))) += 1 34758 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_i))) 34759 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(_op) 34760 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(2 /* X2 */))) = uint16(i32(0)) 34761 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _p1 34762 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = _p2 34763 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(12 /* X5 */))) = _p3 34764 *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(uintptr(i32(0))) 34765 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(0)) 34766 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(20 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 34767 if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(4096)) == 0 { 34768 goto _6 34769 } 34770 34771 _2_pParse = (*XParse)(unsafe.Pointer(_p.X3)) 34772 _2_jj = store961(&_2_kk, i32(0)) 34773 _7: 34774 if _2_jj >= int32(_2_pParse.X13) { 34775 goto _10 34776 } 34777 34778 _3_x = (*T7863733)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7863733)(unsafe.Pointer((*[10]struct { 34779 X0 int32 34780 X1 int16 34781 X2 uint8 34782 X3 int32 34783 X4 int32 34784 X5 int32 34785 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pParse))+uintptr(160 /* X48 */))))))) + uintptr(unsafe.Pointer((*T7863733)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7863733)(unsafe.Pointer(uintptr(_2_jj)))))*uintptr(unsafe.Pointer((*T7863733)(unsafe.Pointer(uintptr(20))))))))))) 34786 crt.Xprintf(tls, str(39688), _3_x.X4, _3_x.X0, int32(_3_x.X1)) 34787 _2_kk += 1 34788 _2_jj += 1 34789 goto _7 34790 34791 _10: 34792 if _2_kk == 0 { 34793 goto _11 34794 } 34795 34796 crt.Xprintf(tls, str(39704)) 34797 _11: 34798 _sqlite3VdbePrintOp(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))), _i, (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_i)))) 34799 _test_addop_breakpoint(tls) 34800 _6: 34801 r0 = _i 34802 return 34803 34804 } 34805 34806 var _sqlite3VdbeAddOp3Ø00__func__Ø000 [18]int8 // - 34807 34808 func init() { 34809 crt.Xstrncpy(nil, &_sqlite3VdbeAddOp3Ø00__func__Ø000[0], str(39708), 18) 34810 } 34811 34812 func _growOp3(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32) (r0 int32) { // sqlite3.c:71493:1 34813 func() int32 { 34814 if ((*XParse)(unsafe.Pointer(_p.X3)).X19) <= (_p.X27) { 34815 return i32(0) 34816 } 34817 return func() int32 { 34818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71494), unsafe.Pointer((*int8)(unsafe.Pointer(&_growOp3Ø00__func__Ø000))), unsafe.Pointer(str(39728))) 34819 crt.X__builtin_abort(tls) 34820 return i32(0) 34821 }() 34822 }() 34823 if _growOpArray(tls, _p, i32(1)) == 0 { 34824 goto _2 34825 } 34826 34827 r0 = i32(1) 34828 return 34829 34830 _2: 34831 func() int32 { 34832 if ((*XParse)(unsafe.Pointer(_p.X3)).X19) > (_p.X27) { 34833 return i32(0) 34834 } 34835 return func() int32 { 34836 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71496), unsafe.Pointer((*int8)(unsafe.Pointer(&_growOp3Ø00__func__Ø000))), unsafe.Pointer(str(39756))) 34837 crt.X__builtin_abort(tls) 34838 return i32(0) 34839 }() 34840 }() 34841 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, _p3) 34842 return 34843 34844 } 34845 34846 var _growOp3Ø00__func__Ø000 [8]int8 // - 34847 34848 func init() { 34849 crt.Xstrncpy(nil, &_growOp3Ø00__func__Ø000[0], str(39784), 8) 34850 } 34851 34852 func _growOpArray(tls *crt.TLS, _v *XVdbe, _nOp int32) (r0 int32) { // sqlite3.c:71431:1 34853 var _pNew *XVdbeOp // sqlite3.c:71432:10 34854 _ = _pNew 34855 var _p *XParse // sqlite3.c:71433:9 34856 _ = _p 34857 var _nNew int32 // sqlite3.c:71445:7 34858 _ = _nNew 34859 _p = (*XParse)(unsafe.Pointer(_v.X3)) 34860 _nNew = func() int32 { 34861 if (_p.X19) != 0 { 34862 return ((_p.X19) * i32(2)) 34863 } 34864 return i32(42) 34865 }() 34866 34867 if _nNew <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_p.X0)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(5))))) { 34868 goto _2 34869 } 34870 34871 _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0))) 34872 r0 = i32(7) 34873 return 34874 34875 _2: 34876 func() int32 { 34877 if uint32(_nOp) <= u32(42) { 34878 return i32(0) 34879 } 34880 return func() int32 { 34881 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71455), unsafe.Pointer((*int8)(unsafe.Pointer(&_growOpArrayØ00__func__Ø000))), unsafe.Pointer(str(39792))) 34882 crt.X__builtin_abort(tls) 34883 return i32(0) 34884 }() 34885 }() 34886 func() int32 { 34887 if _nNew >= ((_p.X19) + _nOp) { 34888 return i32(0) 34889 } 34890 return func() int32 { 34891 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71456), unsafe.Pointer((*int8)(unsafe.Pointer(&_growOpArrayØ00__func__Ø000))), unsafe.Pointer(str(39816))) 34892 crt.X__builtin_abort(tls) 34893 return i32(0) 34894 }() 34895 }() 34896 _pNew = (*XVdbeOp)(unsafe.Pointer(_sqlite3DbRealloc(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _v.X17, uint64(uint32(_nNew)*u32(24))))) 34897 if _pNew == nil { 34898 goto _7 34899 } 34900 34901 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X20 */))) = _sqlite3DbMallocSize(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_pNew)) 34902 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X19 */))) = int32(uint32(_p.X20) / u32(24)) 34903 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(84 /* X17 */))))) = _pNew 34904 _7: 34905 r0 = func() int32 { 34906 if _pNew != nil { 34907 return i32(0) 34908 } 34909 return _sqlite3NomemError(tls, i32(71463)) 34910 }() 34911 return 34912 34913 } 34914 34915 var _growOpArrayØ00__func__Ø000 [12]int8 // - 34916 34917 func init() { 34918 crt.Xstrncpy(nil, &_growOpArrayØ00__func__Ø000[0], str(39840), 12) 34919 } 34920 34921 func _sqlite3VdbePrintOp(tls *crt.TLS, _pOut *unsafe.Pointer, _pc int32, _pOp *XVdbeOp) { // sqlite3.c:72817:1 34922 var _zP4 *int8 // sqlite3.c:72818:8 34923 _ = _zP4 34924 var _zPtr [50]int8 // sqlite3.c:72819:8 34925 _ = _zPtr 34926 var _zCom [100]int8 // sqlite3.c:72820:8 34927 _ = _zCom 34928 if _pOut != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 34929 goto _0 34930 } 34931 34932 _pOut = (*unsafe.Pointer)(unsafe.Pointer(Xstdout)) 34933 _0: 34934 _zP4 = _displayP4(tls, _pOp, (*int8)(unsafe.Pointer(&_zPtr)), int32(u32(50))) 34935 _displayComment(tls, _pOp, _zP4, (*int8)(unsafe.Pointer(&_zCom)), int32(u32(100))) 34936 crt.Xfprintf(tls, _pOut, _sqlite3VdbePrintOpØ00zFormat1Ø001, _pc, unsafe.Pointer(_sqlite3OpcodeName(tls, int32(_pOp.X0))), _pOp.X3, _pOp.X4, _pOp.X5, unsafe.Pointer(_zP4), int32(_pOp.X2), unsafe.Pointer((*int8)(unsafe.Pointer(&_zCom)))) 34937 crt.Xfflush(tls, _pOut) 34938 return 34939 34940 } 34941 34942 func _displayP4(tls *crt.TLS, _pOp *XVdbeOp, _zTemp *int8, _nTemp int32) (r0 *int8) { // sqlite3.c:72617:1 34943 var _zP4 *int8 // sqlite3.c:72618:8 34944 _ = _zP4 34945 var _x XStrAccum // sqlite3.c:72619:12 34946 _ = _x 34947 var _2_j int32 // sqlite3.c:72624:11 34948 _ = _2_j 34949 var _2_pKeyInfo *XKeyInfo // sqlite3.c:72625:15 34950 _ = _2_pKeyInfo 34951 var _3_pColl *XCollSeq // sqlite3.c:72629:17 34952 _ = _3_pColl 34953 var _3_zColl *int8 // sqlite3.c:72630:20 34954 _ = _3_zColl 34955 var _4_pColl *XCollSeq // sqlite3.c:72644:15 34956 _ = _4_pColl 34957 var _5_pDef *XFuncDef // sqlite3.c:72649:15 34958 _ = _5_pDef 34959 var _6_pDef *XFuncDef // sqlite3.c:72655:15 34960 _ = _6_pDef 34961 var _10_pMem *XMem // sqlite3.c:72673:11 34962 _ = _10_pMem 34963 var _16_pVtab *Xsqlite3_vtab // sqlite3.c:72690:20 34964 _ = _16_pVtab 34965 var _17_i int32 // sqlite3.c:72696:11 34966 _ = _17_i 34967 var _17_ai *int32 // sqlite3.c:72697:11 34968 _ = _17_ai 34969 var _17_n int32 // sqlite3.c:72698:11 34970 _ = _17_n 34971 _zP4 = _zTemp 34972 func() int32 { 34973 if _nTemp >= i32(20) { 34974 return i32(0) 34975 } 34976 return func() int32 { 34977 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72620), unsafe.Pointer((*int8)(unsafe.Pointer(&_displayP4Ø00__func__Ø000))), unsafe.Pointer(str(39852))) 34978 crt.X__builtin_abort(tls) 34979 return i32(0) 34980 }() 34981 }() 34982 _sqlite3StrAccumInit(tls, &_x, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _zTemp, _nTemp, i32(0)) 34983 switch int32(_pOp.X1) { 34984 case i32(-16): 34985 goto _6 34986 case i32(-15): 34987 goto _15 34988 case i32(-14): 34989 goto _14 34990 case i32(-13): 34991 goto _13 34992 case i32(-12): 34993 goto _12 34994 case i32(-11): 34995 goto _8 34996 case i32(-10): 34997 goto _7 34998 case i32(-9): 34999 goto _9 35000 case i32(-8): 35001 goto _11 35002 case i32(-7): 35003 goto _10 35004 case i32(-5): 35005 goto _3 35006 case i32(-4): 35007 goto _5 35008 case i32(-3): 35009 goto _4 35010 default: 35011 goto _16 35012 } 35013 35014 _3: 35015 _2_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 35016 func() int32 { 35017 if (_2_pKeyInfo.X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 35018 return i32(0) 35019 } 35020 return func() int32 { 35021 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72626), unsafe.Pointer((*int8)(unsafe.Pointer(&_displayP4Ø00__func__Ø000))), unsafe.Pointer(str(39864))) 35022 crt.X__builtin_abort(tls) 35023 return i32(0) 35024 }() 35025 }() 35026 _sqlite3XPrintf(tls, &_x, str(39888), int32(_2_pKeyInfo.X2)) 35027 _2_j = i32(0) 35028 _19: 35029 if _2_j >= int32(_2_pKeyInfo.X2) { 35030 goto _22 35031 } 35032 35033 _3_pColl = *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_2_j))) 35034 _3_zColl = func() *int8 { 35035 if _3_pColl != nil { 35036 return (_3_pColl.X0) 35037 } 35038 return str(196) 35039 }() 35040 if crt.Xstrcmp(tls, _3_zColl, str(39896)) != i32(0) { 35041 goto _25 35042 } 35043 35044 _3_zColl = str(39904) 35045 _25: 35046 _sqlite3XPrintf(tls, &_x, str(39908), unsafe.Pointer(func() *int8 { 35047 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pKeyInfo.X5)) + 1*uintptr(_2_j)))) != 0 { 35048 return str(39916) 35049 } 35050 return str(196) 35051 }()), unsafe.Pointer(_3_zColl)) 35052 _2_j += 1 35053 goto _19 35054 35055 _22: 35056 _sqlite3StrAccumAppend(tls, &_x, str(39920), i32(1)) 35057 goto _28 35058 35059 _4: 35060 _4_pColl = (*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 35061 _sqlite3XPrintf(tls, &_x, str(39924), unsafe.Pointer(_4_pColl.X0)) 35062 goto _28 35063 35064 _5: 35065 _5_pDef = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 35066 _sqlite3XPrintf(tls, &_x, str(39932), unsafe.Pointer(_5_pDef.X6), int32(_5_pDef.X0)) 35067 goto _28 35068 35069 _6: 35070 _6_pDef = (*XFuncDef)(unsafe.Pointer((*Xsqlite3_context)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X1)) 35071 _sqlite3XPrintf(tls, &_x, str(39932), unsafe.Pointer(_6_pDef.X6), int32(_6_pDef.X0)) 35072 goto _28 35073 35074 _7: 35075 _sqlite3XPrintf(tls, &_x, str(5972), *(*(**int64)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 35076 goto _28 35077 35078 _8: 35079 _sqlite3XPrintf(tls, &_x, str(39940), *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 35080 goto _28 35081 35082 _9: 35083 _sqlite3XPrintf(tls, &_x, str(7328), *(*(**float64)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 35084 goto _28 35085 35086 _10: 35087 _10_pMem = (*XMem)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 35088 if (int32(_10_pMem.X1) & i32(2)) == 0 { 35089 goto _29 35090 } 35091 35092 _zP4 = _10_pMem.X5 35093 goto _30 35094 35095 _29: 35096 if (int32(_10_pMem.X1) & i32(4)) == 0 { 35097 goto _31 35098 } 35099 35100 _sqlite3XPrintf(tls, &_x, str(5972), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pMem)) + uintptr(0 /* X0 */)))))) 35101 goto _32 35102 35103 _31: 35104 if (int32(_10_pMem.X1) & i32(8)) == 0 { 35105 goto _33 35106 } 35107 35108 _sqlite3XPrintf(tls, &_x, str(7328), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pMem)) + uintptr(0 /* X0 */)))))) 35109 goto _34 35110 35111 _33: 35112 if (int32(_10_pMem.X1) & i32(1)) == 0 { 35113 goto _35 35114 } 35115 35116 _zP4 = str(200) 35117 goto _36 35118 35119 _35: 35120 func() int32 { 35121 if (int32(_10_pMem.X1) & i32(16)) != 0 { 35122 return i32(0) 35123 } 35124 return func() int32 { 35125 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72683), unsafe.Pointer((*int8)(unsafe.Pointer(&_displayP4Ø00__func__Ø000))), unsafe.Pointer(str(39944))) 35126 crt.X__builtin_abort(tls) 35127 return i32(0) 35128 }() 35129 }() 35130 _zP4 = str(39968) 35131 _36: 35132 _34: 35133 _32: 35134 _30: 35135 goto _28 35136 35137 _11: 35138 _16_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) 35139 _sqlite3XPrintf(tls, &_x, str(39976), unsafe.Pointer(_16_pVtab)) 35140 goto _28 35141 35142 _12: 35143 _17_ai = *(**int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 35144 _17_n = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_ai)) + 4*uintptr(i32(0)))) 35145 _17_i = i32(1) 35146 _39: 35147 if _17_i >= _17_n { 35148 goto _42 35149 } 35150 35151 _sqlite3XPrintf(tls, &_x, str(39984), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_ai)) + 4*uintptr(_17_i)))) 35152 _17_i += 1 35153 goto _39 35154 35155 _42: 35156 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(91)) 35157 _sqlite3StrAccumAppend(tls, &_x, str(39988), i32(1)) 35158 goto _28 35159 35160 _13: 35161 _sqlite3XPrintf(tls, &_x, str(39992)) 35162 goto _28 35163 35164 _14: 35165 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(0)) 35166 goto _28 35167 35168 _15: 35169 _sqlite3XPrintf(tls, &_x, str(25612), unsafe.Pointer((*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X0)) 35170 goto _28 35171 35172 _16: 35173 _zP4 = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 35174 if _zP4 != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 35175 goto _43 35176 } 35177 35178 _zP4 = _zTemp 35179 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(0)) 35180 _43: 35181 _28: 35182 _sqlite3StrAccumFinish(tls, &_x) 35183 func() int32 { 35184 if _zP4 != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 35185 return i32(0) 35186 } 35187 return func() int32 { 35188 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72728), unsafe.Pointer((*int8)(unsafe.Pointer(&_displayP4Ø00__func__Ø000))), unsafe.Pointer(str(40000))) 35189 crt.X__builtin_abort(tls) 35190 return i32(0) 35191 }() 35192 }() 35193 r0 = _zP4 35194 return 35195 35196 } 35197 35198 var _displayP4Ø00__func__Ø000 [10]int8 // - 35199 35200 func init() { 35201 crt.Xstrncpy(nil, &_displayP4Ø00__func__Ø000[0], str(40008), 10) 35202 } 35203 35204 func _sqlite3XPrintf(tls *crt.TLS, _p *XStrAccum, _zFormat *int8, args ...interface{}) { // sqlite3.c:26135:1 35205 var _ap []interface{} // sqlite3.c:26136:11 35206 _ = _ap 35207 _ap = args 35208 _sqlite3VXPrintf(tls, _p, _zFormat, _ap) 35209 _ap = nil 35210 return 35211 35212 } 35213 35214 func _displayComment(tls *crt.TLS, _pOp *XVdbeOp, _zP4 *int8, _zTemp *int8, _nTemp int32) (r0 int32) { // sqlite3.c:72465:1 35215 var _zOpName *int8 // sqlite3.c:72471:14 35216 _ = _zOpName 35217 var _zSynopsis *int8 // sqlite3.c:72472:14 35218 _ = _zSynopsis 35219 var _nOpName int32 // sqlite3.c:72473:7 35220 _ = _nOpName 35221 var _ii int32 // sqlite3.c:72474:7 35222 _ = _ii 35223 var _jj int32 // sqlite3.c:72474:11 35224 _ = _jj 35225 var _zAlt [50]int8 // sqlite3.c:72475:8 35226 _ = _zAlt 35227 var _1_seenCom int32 // sqlite3.c:72479:9 35228 _ = _1_seenCom 35229 var _1_c int8 // sqlite3.c:72480:10 35230 _ = _1_c 35231 var _9_v1 int32 // sqlite3.c:72499:15 35232 _ = _9_v1 35233 var _9_v2 int32 // sqlite3.c:72500:15 35234 _ = _9_v2 35235 _zOpName = _sqlite3OpcodeName(tls, int32(_pOp.X0)) 35236 _nOpName = _sqlite3Strlen30(tls, _zOpName) 35237 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOpName)) + 1*uintptr(_nOpName+i32(1))))) == 0 { 35238 goto _0 35239 } 35240 35241 _1_seenCom = i32(0) 35242 _zSynopsis = store1025(func() (**int8, *int8) { 35243 p := &_zOpName 35244 return p, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_nOpName+i32(1)))) 35245 }()) 35246 if crt.Xstrncmp(tls, _zSynopsis, str(40020), uint32(i32(3))) != i32(0) { 35247 goto _1 35248 } 35249 35250 if (int32(_pOp.X2) & i32(32)) == 0 { 35251 goto _2 35252 } 35253 35254 Xsqlite3_snprintf(tls, int32(u32(50)), (*int8)(unsafe.Pointer(&_zAlt)), str(40024), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(3)))))))))) 35255 goto _3 35256 35257 _2: 35258 Xsqlite3_snprintf(tls, int32(u32(50)), (*int8)(unsafe.Pointer(&_zAlt)), str(40040), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(3)))))))))) 35259 _3: 35260 _zSynopsis = (*int8)(unsafe.Pointer(&_zAlt)) 35261 _1: 35262 _ii = store961(&_jj, i32(0)) 35263 _4: 35264 if _jj >= (_nTemp-i32(1)) || int32(store973(&_1_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSynopsis)) + 1*uintptr(_ii))))) == i32(0) { 35265 goto _8 35266 } 35267 35268 if int32(_1_c) != i32(80) { 35269 goto _9 35270 } 35271 35272 _1_c = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSynopsis)) + 1*uintptr(preInc961(&_ii, 1)))) 35273 if int32(_1_c) != i32(52) { 35274 goto _10 35275 } 35276 35277 Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(25612), unsafe.Pointer(_zP4)) 35278 goto _11 35279 35280 _10: 35281 if int32(_1_c) != i32(88) { 35282 goto _12 35283 } 35284 35285 Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(25612), unsafe.Pointer(_pOp.X7)) 35286 _1_seenCom = i32(1) 35287 goto _13 35288 35289 _12: 35290 _9_v1 = _translateP(tls, _1_c, _pOp) 35291 Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(39940), _9_v1) 35292 if crt.Xstrncmp(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_ii)))))))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(1)))))))), str(40056), uint32(i32(2))) != i32(0) { 35293 goto _14 35294 } 35295 35296 { 35297 p := &_ii 35298 *p = (*p) + i32(3) 35299 sink961 = *p 35300 } 35301 { 35302 p := &_jj 35303 *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj)))))))) 35304 sink961 = *p 35305 } 35306 _9_v2 = _translateP(tls, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSynopsis)) + 1*uintptr(_ii))), _pOp) 35307 if crt.Xstrncmp(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_ii)))))))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(1)))))))), str(40060), uint32(i32(2))) != i32(0) { 35308 goto _15 35309 } 35310 35311 { 35312 p := &_ii 35313 *p = (*p) + i32(2) 35314 sink961 = *p 35315 } 35316 _9_v2 += 1 35317 _15: 35318 if _9_v2 <= i32(1) { 35319 goto _16 35320 } 35321 35322 Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(40064), (_9_v1+_9_v2)-i32(1)) 35323 _16: 35324 goto _17 35325 35326 _14: 35327 if crt.Xstrncmp(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zSynopsis))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_ii)))))))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(1)))))))), str(40072), uint32(i32(4))) != i32(0) || (_pOp.X5) != i32(0) { 35328 goto _19 35329 } 35330 35331 { 35332 p := &_ii 35333 *p = (*p) + i32(4) 35334 sink961 = *p 35335 } 35336 _19: 35337 _17: 35338 _13: 35339 _11: 35340 { 35341 p := &_jj 35342 *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj)))))))) 35343 sink961 = *p 35344 } 35345 goto _20 35346 35347 _9: 35348 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(postInc961(&_jj, int32(1))))) = _1_c 35349 _20: 35350 _ii += 1 35351 goto _4 35352 35353 _8: 35354 if _1_seenCom != 0 || _jj >= (_nTemp-i32(5)) || (_pOp.X7) == nil { 35355 goto _23 35356 } 35357 35358 Xsqlite3_snprintf(tls, _nTemp-_jj, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj))))))), str(40080), unsafe.Pointer(_pOp.X7)) 35359 { 35360 p := &_jj 35361 *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zTemp))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_jj)))))))) 35362 sink961 = *p 35363 } 35364 _23: 35365 if _jj >= _nTemp { 35366 goto _24 35367 } 35368 35369 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(_jj))) = int8(i32(0)) 35370 _24: 35371 goto _25 35372 35373 _0: 35374 if (_pOp.X7) == nil { 35375 goto _26 35376 } 35377 35378 Xsqlite3_snprintf(tls, _nTemp, _zTemp, str(25612), unsafe.Pointer(_pOp.X7)) 35379 _jj = _sqlite3Strlen30(tls, _zTemp) 35380 goto _27 35381 35382 _26: 35383 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTemp)) + 1*uintptr(i32(0)))) = int8(i32(0)) 35384 _jj = i32(0) 35385 _27: 35386 _25: 35387 r0 = _jj 35388 return 35389 35390 } 35391 35392 func _sqlite3OpcodeName(tls *crt.TLS, _i int32) (r0 *int8) { // sqlite3.c:29468:1 35393 r0 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeNameØ00azNameØ001)) + 4*uintptr(_i))) 35394 return 35395 35396 } 35397 35398 var _sqlite3OpcodeNameØ00azNameØ001 [164]*int8 // sqlite3.c:29469:20 35399 35400 func init() { 35401 _sqlite3OpcodeNameØ00azNameØ001 = [164]*int8{str(40088), str(40100), str(40112), str(40128), str(40140), str(40152), str(40164), str(40172), str(40180), str(40192), str(40208), str(40216), str(40248), str(40272), str(40280), str(40288), str(40304), str(40312), str(40324), str(40332), str(40352), str(40360), str(40364), str(40372), str(40392), str(40412), str(40432), str(40452), str(40480), str(40508), str(40532), str(40556), str(40576), str(40600), str(40624), str(40656), str(40688), str(40708), str(40728), str(40748), str(40768), str(40788), str(40808), str(40820), str(40848), str(40872), str(40904), str(40936), str(40960), str(40988), str(41016), str(41044), str(41072), str(41100), str(41108), str(41132), str(41144), str(41156), str(41164), str(41172), str(41192), str(41212), str(41232), str(41252), str(41280), str(41324), str(41336), str(41372), str(41416), str(41460), str(41500), str(41512), str(41520), str(41540), str(41548), str(41564), str(41596), str(41604), str(41624), str(41640), str(41668), str(41688), str(41708), str(41732), str(41764), str(41788), str(41816), str(41836), str(41856), str(41884), str(41896), str(41928), str(41960), str(41984), str(42000), str(42024), str(42040), str(42072), str(42092), str(42108), str(42136), str(42172), str(42192), str(42204), str(42216), str(42244), str(42268), str(42296), str(42324), str(42352), str(42364), str(42408), str(42440), str(42448), str(42464), str(42496), str(42520), str(42552), str(42584), str(42592), str(42604), str(42656), str(42680), str(42700), str(42720), str(42732), str(42756), str(42776), str(42800), str(42828), str(42852), str(42864), str(42872), str(42888), str(42904), str(42936), str(42968), str(42980), str(42996), str(43012), str(43024), str(43036), str(43052), str(43068), str(43096), str(43104), str(43128), str(43160), str(43232), str(43268), str(43304), str(43332), str(43340), str(43376), str(43384), str(43396), str(43408), str(43416), str(43444), str(43456), str(43468), str(43480), str(43492), str(43500)} 35402 } 35403 35404 func _translateP(tls *crt.TLS, _c int8, _pOp *XVdbeOp) (r0 int32) { // sqlite3.c:72444:1 35405 if int32(_c) != i32(49) { 35406 goto _0 35407 } 35408 35409 r0 = _pOp.X3 35410 return 35411 35412 _0: 35413 if int32(_c) != i32(50) { 35414 goto _1 35415 } 35416 35417 r0 = _pOp.X4 35418 return 35419 35420 _1: 35421 if int32(_c) != i32(51) { 35422 goto _2 35423 } 35424 35425 r0 = _pOp.X5 35426 return 35427 35428 _2: 35429 if int32(_c) != i32(52) { 35430 goto _3 35431 } 35432 35433 r0 = *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 35434 return 35435 35436 _3: 35437 r0 = int32(_pOp.X2) 35438 return 35439 35440 } 35441 35442 var _sqlite3VdbePrintOpØ00zFormat1Ø001 *int8 // sqlite3.c:72821:21 35443 35444 func init() { 35445 _sqlite3VdbePrintOpØ00zFormat1Ø001 = str(43512) 35446 } 35447 35448 func _test_addop_breakpoint(tls *crt.TLS) { // sqlite3.c:71471:1 35449 _test_addop_breakpointØ00nØ001 += 1 35450 return 35451 35452 } 35453 35454 var _test_addop_breakpointØ00nØ001 int32 // sqlite3.c:71472:14 35455 35456 func _sqlite3VdbeAssertMayAbort(tls *crt.TLS, _v *XVdbe, _mayAbort int32) (r0 int32) { // sqlite3.c:71825:1 35457 var _hasAbort int32 // sqlite3.c:71826:7 35458 _ = _hasAbort 35459 var _hasFkCounter int32 // sqlite3.c:71827:7 35460 _ = _hasFkCounter 35461 var _hasCreateTable int32 // sqlite3.c:71828:7 35462 _ = _hasCreateTable 35463 var _hasInitCoroutine int32 // sqlite3.c:71829:7 35464 _ = _hasInitCoroutine 35465 var _pOp *XVdbeOp // sqlite3.c:71830:6 35466 _ = _pOp 35467 var _sIter XVdbeOpIter // sqlite3.c:71831:14 35468 _ = _sIter 35469 var _1_opcode int32 // sqlite3.c:71836:9 35470 _ = _1_opcode 35471 _hasAbort = i32(0) 35472 _hasFkCounter = i32(0) 35473 _hasCreateTable = i32(0) 35474 _hasInitCoroutine = i32(0) 35475 crt.Xmemset(tls, (unsafe.Pointer)(&_sIter), i32(0), u32(20)) 35476 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sIter)) + uintptr(0 /* X0 */))))) = _v 35477 _0: 35478 if store8104608(&_pOp, _opIterNext(tls, &_sIter)) == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 35479 goto _1 35480 } 35481 35482 _1_opcode = int32(_pOp.X0) 35483 if _1_opcode != i32(130) && _1_opcode != i32(12) && _1_opcode != i32(158) && (_1_opcode != i32(76) && _1_opcode != i32(75) || (((_pOp.X3)&i32(255)) != i32(19) || (_pOp.X4) != i32(2))) { 35484 goto _8 35485 } 35486 35487 _hasAbort = i32(1) 35488 goto _1 35489 35490 _8: 35491 if _1_opcode != i32(135) { 35492 goto _9 35493 } 35494 35495 _hasCreateTable = i32(1) 35496 _9: 35497 if _1_opcode != i32(15) { 35498 goto _10 35499 } 35500 35501 _hasInitCoroutine = i32(1) 35502 _10: 35503 if _1_opcode != i32(145) || (_pOp.X3) != i32(0) || (_pOp.X4) != i32(1) { 35504 goto _13 35505 } 35506 35507 _hasFkCounter = i32(1) 35508 _13: 35509 goto _0 35510 35511 _1: 35512 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0)), (unsafe.Pointer)(_sIter.X1)) 35513 r0 = bool2int((((((*Xsqlite3)(unsafe.Pointer(_v.X0)).X17) != 0) || (_hasAbort == _mayAbort)) || _hasFkCounter != 0) || (_hasCreateTable != 0 && _hasInitCoroutine != 0)) 35514 return 35515 35516 } 35517 35518 func _opIterNext(tls *crt.TLS, _p *XVdbeOpIter) (r0 *XVdbeOp) { // sqlite3.c:71760:1 35519 var _v *XVdbe // sqlite3.c:71761:8 35520 _ = _v 35521 var _pRet *XVdbeOp // sqlite3.c:71762:6 35522 _ = _pRet 35523 var _aOp *XVdbeOp // sqlite3.c:71763:6 35524 _ = _aOp 35525 var _nOp int32 // sqlite3.c:71764:7 35526 _ = _nOp 35527 var _5_nByte int32 // sqlite3.c:71785:11 35528 _ = _5_nByte 35529 var _5_j int32 // sqlite3.c:71786:11 35530 _ = _5_j 35531 _v = (*XVdbe)(unsafe.Pointer(_p.X0)) 35532 _pRet = nil 35533 if (_p.X4) > (_p.X2) { 35534 goto _0 35535 } 35536 35537 if (_p.X4) != i32(0) { 35538 goto _1 35539 } 35540 35541 _aOp = (*XVdbeOp)(unsafe.Pointer(_v.X17)) 35542 _nOp = _v.X27 35543 goto _2 35544 35545 _1: 35546 _aOp = (*XVdbeOp)(unsafe.Pointer((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 4*uintptr((_p.X4)-i32(1))))).X0)) 35547 _nOp = (*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 4*uintptr((_p.X4)-i32(1))))).X1 35548 _2: 35549 func() int32 { 35550 if (_p.X3) < _nOp { 35551 return i32(0) 35552 } 35553 return func() int32 { 35554 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71775), unsafe.Pointer((*int8)(unsafe.Pointer(&_opIterNextØ00__func__Ø000))), unsafe.Pointer(str(43552))) 35555 crt.X__builtin_abort(tls) 35556 return i32(0) 35557 }() 35558 }() 35559 _pRet = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(_p.X3))) 35560 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) += 1 35561 if (_p.X3) != _nOp { 35562 goto _5 35563 } 35564 35565 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) += 1 35566 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = i32(0) 35567 _5: 35568 if int32(_pRet.X1) != i32(-13) { 35569 goto _6 35570 } 35571 35572 _5_nByte = int32(uint32((_p.X2)+i32(1)) * u32(4)) 35573 _5_j = i32(0) 35574 _7: 35575 if _5_j >= (_p.X2) { 35576 goto _10 35577 } 35578 35579 if (*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 4*uintptr(_5_j)))) != (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X6 */))))))) { 35580 goto _11 35581 } 35582 35583 goto _10 35584 35585 _11: 35586 _5_j += 1 35587 goto _7 35588 35589 _10: 35590 if _5_j != (_p.X2) { 35591 goto _12 35592 } 35593 35594 *(***XSubProgram)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = (**XSubProgram)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0)), (unsafe.Pointer)(_p.X1), uint64(_5_nByte)))) 35595 if (**XSubProgram)(unsafe.Pointer(_p.X1)) != nil { 35596 goto _13 35597 } 35598 35599 _pRet = (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) 35600 goto _14 35601 35602 _13: 35603 *(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))), int32(1))))) = (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X6 */))))))) 35604 _14: 35605 _12: 35606 _6: 35607 _0: 35608 r0 = _pRet 35609 return 35610 35611 } 35612 35613 var _opIterNextØ00__func__Ø000 [11]int8 // - 35614 35615 func init() { 35616 crt.Xstrncpy(nil, &_opIterNextØ00__func__Ø000[0], str(43568), 11) 35617 } 35618 35619 func _sqlite3VdbeAddOp0(tls *crt.TLS, _p *XVdbe, _op int32) (r0 int32) { // sqlite3.c:71544:1 35620 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, i32(0), i32(0), i32(0)) 35621 return 35622 35623 } 35624 35625 func _sqlite3VdbeGetOp(tls *crt.TLS, _p *XVdbe, _addr int32) (r0 *XVdbeOp) { // sqlite3.c:72423:1 35626 func() int32 { 35627 if (_p.X5) == uint32(i32(381479589)) { 35628 return i32(0) 35629 } 35630 return func() int32 { 35631 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72427), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeGetOpØ00__func__Ø000))), unsafe.Pointer(str(39640))) 35632 crt.X__builtin_abort(tls) 35633 return i32(0) 35634 }() 35635 }() 35636 if _addr >= i32(0) { 35637 goto _2 35638 } 35639 35640 _addr = (_p.X27) - i32(1) 35641 _2: 35642 func() int32 { 35643 if ((_addr >= i32(0)) && (_addr < (_p.X27))) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0) { 35644 return i32(0) 35645 } 35646 return func() int32 { 35647 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72431), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeGetOpØ00__func__Ø000))), unsafe.Pointer(str(43580))) 35648 crt.X__builtin_abort(tls) 35649 return i32(0) 35650 }() 35651 }() 35652 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { 35653 goto _7 35654 } 35655 35656 r0 = &_sqlite3VdbeGetOpØ00dummyØ001 35657 return 35658 35659 _7: 35660 r0 = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_addr))) 35661 return 35662 35663 } 35664 35665 var _sqlite3VdbeGetOpØ00__func__Ø000 [17]int8 // - 35666 35667 func init() { 35668 crt.Xstrncpy(nil, &_sqlite3VdbeGetOpØ00__func__Ø000[0], str(43628), 17) 35669 } 35670 35671 var _sqlite3VdbeGetOpØ00dummyØ001 XVdbeOp // sqlite3.c:72426:17 35672 35673 func _sqlite3VdbeJumpHere(tls *crt.TLS, _p *XVdbe, _addr int32) { // sqlite3.c:72132:1 35674 _sqlite3VdbeChangeP2(tls, _p, uint32(_addr), _p.X27) 35675 return 35676 35677 } 35678 35679 func _sqlite3VdbeChangeP2(tls *crt.TLS, _p *XVdbe, _addr uint32, _val int32) { // sqlite3.c:72117:1 35680 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(8 /* X4 */))) = _val 35681 return 35682 35683 } 35684 35685 func _sqlite3VdbeUsesBtree(tls *crt.TLS, _p *XVdbe, _i int32) { // sqlite3.c:72741:1 35686 func() int32 { 35687 if ((_i >= i32(0)) && (_i < ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X5))) && (_i < i32(32)) { 35688 return i32(0) 35689 } 35690 return func() int32 { 35691 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72742), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeUsesBtreeØ00__func__Ø000))), unsafe.Pointer(str(43648))) 35692 crt.X__builtin_abort(tls) 35693 return i32(0) 35694 }() 35695 }() 35696 func() int32 { 35697 if _i < i32(32) { 35698 return i32(0) 35699 } 35700 return func() int32 { 35701 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72743), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeUsesBtreeØ00__func__Ø000))), unsafe.Pointer(str(43700))) 35702 crt.X__builtin_abort(tls) 35703 return i32(0) 35704 }() 35705 }() 35706 { 35707 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(144 /* X33 */))) 35708 *p = (*p) | (u32(1) << uint(_i)) 35709 sink985 = *p 35710 } 35711 if _i == i32(1) || _sqlite3BtreeSharable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_p.X0)).X4)+16*uintptr(_i))).X1))) == 0 { 35712 goto _7 35713 } 35714 35715 { 35716 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(148 /* X34 */))) 35717 *p = (*p) | (u32(1) << uint(_i)) 35718 sink985 = *p 35719 } 35720 _7: 35721 return 35722 35723 } 35724 35725 var _sqlite3VdbeUsesBtreeØ00__func__Ø000 [21]int8 // - 35726 35727 func init() { 35728 crt.Xstrncpy(nil, &_sqlite3VdbeUsesBtreeØ00__func__Ø000[0], str(43732), 21) 35729 } 35730 35731 func _sqlite3BtreeSharable(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68799:1 35732 r0 = int32(_p.X3) 35733 return 35734 35735 } 35736 35737 func _sqlite3VdbeAddOp4Int(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32, _p4 int32) (r0 int32) { // sqlite3.c:71644:1 35738 var _addr int32 // sqlite3.c:71652:7 35739 _ = _addr 35740 var _1_pOp *XVdbeOp // sqlite3.c:71654:12 35741 _ = _1_pOp 35742 _addr = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, _p3) 35743 if int32((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != i32(0) { 35744 goto _0 35745 } 35746 35747 _1_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_addr))) 35748 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-11)) 35749 *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */))))) = _p4 35750 _0: 35751 r0 = _addr 35752 return 35753 35754 } 35755 35756 func _sqlite3VdbeChangeP5(tls *crt.TLS, _p *XVdbe, _p5 uint16) { // sqlite3.c:72123:1 35757 func() int32 { 35758 if ((_p.X27) > i32(0)) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0) { 35759 return i32(0) 35760 } 35761 return func() int32 { 35762 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72124), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP5Ø00__func__Ø000))), unsafe.Pointer(str(43756))) 35763 crt.X__builtin_abort(tls) 35764 return i32(0) 35765 }() 35766 }() 35767 if (_p.X27) <= i32(0) { 35768 goto _3 35769 } 35770 35771 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr((_p.X27)-i32(1)))))) + uintptr(2 /* X2 */))) = _p5 35772 _3: 35773 return 35774 35775 } 35776 35777 var _sqlite3VdbeChangeP5Ø00__func__Ø000 [20]int8 // - 35778 35779 func init() { 35780 crt.Xstrncpy(nil, &_sqlite3VdbeChangeP5Ø00__func__Ø000[0], str(43788), 20) 35781 } 35782 35783 func _sqlite3VdbeComment(tls *crt.TLS, _p *XVdbe, _zFormat *int8, args ...interface{}) { // sqlite3.c:72382:1 35784 var _ap []interface{} // sqlite3.c:72383:11 35785 _ = _ap 35786 if _p == nil { 35787 goto _0 35788 } 35789 35790 _ap = args 35791 _vdbeVComment(tls, _p, _zFormat, _ap) 35792 _ap = nil 35793 _0: 35794 return 35795 35796 } 35797 35798 func _vdbeVComment(tls *crt.TLS, _p *XVdbe, _zFormat *int8, _ap []interface{}) { // sqlite3.c:72373:1 35799 func() int32 { 35800 if ((_p.X27) > i32(0)) || ((*XVdbeOp)(unsafe.Pointer(_p.X17)) == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0))))) { 35801 return i32(0) 35802 } 35803 return func() int32 { 35804 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72374), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeVCommentØ00__func__Ø000))), unsafe.Pointer(str(43808))) 35805 crt.X__builtin_abort(tls) 35806 return i32(0) 35807 }() 35808 }() 35809 func() int32 { 35810 if (((*XVdbeOp)(unsafe.Pointer(_p.X17)) == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0))))) || (((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr((_p.X27)-i32(1)))).X7) == (*int8)(unsafe.Pointer(uintptr(i32(0)))))) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0) { 35811 return i32(0) 35812 } 35813 return func() int32 { 35814 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72375), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeVCommentØ00__func__Ø000))), unsafe.Pointer(str(43832))) 35815 crt.X__builtin_abort(tls) 35816 return i32(0) 35817 }() 35818 }() 35819 if (_p.X27) == 0 { 35820 goto _7 35821 } 35822 35823 func() int32 { 35824 if (*XVdbeOp)(unsafe.Pointer(_p.X17)) != nil { 35825 return i32(0) 35826 } 35827 return func() int32 { 35828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72377), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeVCommentØ00__func__Ø000))), unsafe.Pointer(str(43900))) 35829 crt.X__builtin_abort(tls) 35830 return i32(0) 35831 }() 35832 }() 35833 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr((_p.X27)-i32(1)))).X7)) 35834 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr((_p.X27)-i32(1)))))) + uintptr(20 /* X7 */))) = _sqlite3VMPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _zFormat, _ap) 35835 _7: 35836 return 35837 35838 } 35839 35840 var _vdbeVCommentØ00__func__Ø000 [13]int8 // - 35841 35842 func init() { 35843 crt.Xstrncpy(nil, &_vdbeVCommentØ00__func__Ø000[0], str(43908), 13) 35844 } 35845 35846 func _sqlite3GetVTable(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable) (r0 *XVTable) { // sqlite3.c:124667:1 35847 var _pVtab *XVTable // sqlite3.c:124668:10 35848 _ = _pVtab 35849 func() int32 { 35850 if (_pTab.X16) != 0 { 35851 return i32(0) 35852 } 35853 return func() int32 { 35854 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124669), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetVTableØ00__func__Ø000))), unsafe.Pointer(str(25564))) 35855 crt.X__builtin_abort(tls) 35856 return i32(0) 35857 }() 35858 }() 35859 _pVtab = (*XVTable)(unsafe.Pointer(_pTab.X18)) 35860 _2: 35861 if _pVtab == nil || (*Xsqlite3)(unsafe.Pointer(_pVtab.X0)) == _db { 35862 goto _6 35863 } 35864 35865 _pVtab = (*XVTable)(unsafe.Pointer(_pVtab.X6)) 35866 goto _2 35867 35868 _6: 35869 r0 = _pVtab 35870 return 35871 35872 } 35873 35874 var _sqlite3GetVTableØ00__func__Ø000 [17]int8 // - 35875 35876 func init() { 35877 crt.Xstrncpy(nil, &_sqlite3GetVTableØ00__func__Ø000[0], str(43924), 17) 35878 } 35879 35880 func _sqlite3VdbeAddOp4(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32, _zP4 *int8, _p4type int32) (r0 int32) { // sqlite3.c:71595:1 35881 var _addr int32 // sqlite3.c:71604:7 35882 _ = _addr 35883 _addr = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, _p2, _p3) 35884 _sqlite3VdbeChangeP4(tls, _p, _addr, _zP4, _p4type) 35885 r0 = _addr 35886 return 35887 35888 } 35889 35890 func _sqlite3VdbeChangeP4(tls *crt.TLS, _p *XVdbe, _addr int32, _zP4 *int8, _n int32) { // sqlite3.c:72294:1 35891 var _pOp *XVdbeOp // sqlite3.c:72295:6 35892 _ = _pOp 35893 var _db *Xsqlite3 // sqlite3.c:72296:11 35894 _ = _db 35895 func() int32 { 35896 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 35897 return i32(0) 35898 } 35899 return func() int32 { 35900 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72297), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP4Ø00__func__Ø000))), unsafe.Pointer(str(824))) 35901 crt.X__builtin_abort(tls) 35902 return i32(0) 35903 }() 35904 }() 35905 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 35906 func() int32 { 35907 if (_p.X5) == uint32(i32(381479589)) { 35908 return i32(0) 35909 } 35910 return func() int32 { 35911 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72299), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP4Ø00__func__Ø000))), unsafe.Pointer(str(39640))) 35912 crt.X__builtin_abort(tls) 35913 return i32(0) 35914 }() 35915 }() 35916 func() int32 { 35917 if ((*XVdbeOp)(unsafe.Pointer(_p.X17)) != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { 35918 return i32(0) 35919 } 35920 return func() int32 { 35921 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72300), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP4Ø00__func__Ø000))), unsafe.Pointer(str(43944))) 35922 crt.X__builtin_abort(tls) 35923 return i32(0) 35924 }() 35925 }() 35926 if (_db.X17) == 0 { 35927 goto _7 35928 } 35929 35930 if _n == i32(-8) { 35931 goto _8 35932 } 35933 35934 _freeP4(tls, _db, _n, (unsafe.Pointer)(_zP4)) 35935 _8: 35936 return 35937 35938 _7: 35939 func() int32 { 35940 if (_p.X27) > i32(0) { 35941 return i32(0) 35942 } 35943 return func() int32 { 35944 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72305), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP4Ø00__func__Ø000))), unsafe.Pointer(str(43976))) 35945 crt.X__builtin_abort(tls) 35946 return i32(0) 35947 }() 35948 }() 35949 func() int32 { 35950 if _addr < (_p.X27) { 35951 return i32(0) 35952 } 35953 return func() int32 { 35954 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72306), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP4Ø00__func__Ø000))), unsafe.Pointer(str(43988))) 35955 crt.X__builtin_abort(tls) 35956 return i32(0) 35957 }() 35958 }() 35959 if _addr >= i32(0) { 35960 goto _13 35961 } 35962 35963 _addr = (_p.X27) - i32(1) 35964 _13: 35965 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_addr))) 35966 if _n < i32(0) && (_pOp.X1) == 0 { 35967 goto _15 35968 } 35969 35970 _vdbeChangeP4Full(tls, _p, _pOp, _zP4, _n) 35971 return 35972 35973 _15: 35974 if _n != i32(-11) { 35975 goto _16 35976 } 35977 35978 *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = int32(uintptr(unsafe.Pointer(_zP4))) 35979 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-11)) 35980 goto _17 35981 35982 _16: 35983 if _zP4 == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 35984 goto _18 35985 } 35986 35987 func() int32 { 35988 if _n < i32(0) { 35989 return i32(0) 35990 } 35991 return func() int32 { 35992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72321), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeP4Ø00__func__Ø000))), unsafe.Pointer(str(44000))) 35993 crt.X__builtin_abort(tls) 35994 return i32(0) 35995 }() 35996 }() 35997 *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(_zP4) 35998 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(_n) 35999 if _n != i32(-8) { 36000 goto _21 36001 } 36002 36003 _sqlite3VtabLock(tls, (*XVTable)(unsafe.Pointer(_zP4))) 36004 _21: 36005 _18: 36006 _17: 36007 return 36008 36009 } 36010 36011 var _sqlite3VdbeChangeP4Ø00__func__Ø000 [20]int8 // - 36012 36013 func init() { 36014 crt.Xstrncpy(nil, &_sqlite3VdbeChangeP4Ø00__func__Ø000[0], str(44004), 20) 36015 } 36016 36017 func _freeP4(tls *crt.TLS, _db *Xsqlite3, _p4type int32, _p4 unsafe.Pointer) { // sqlite3.c:72160:1 36018 func() int32 { 36019 if _db != nil { 36020 return i32(0) 36021 } 36022 return func() int32 { 36023 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72161), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeP4Ø00__func__Ø000))), unsafe.Pointer(str(9536))) 36024 crt.X__builtin_abort(tls) 36025 return i32(0) 36026 }() 36027 }() 36028 switch _p4type { 36029 case i32(-16): 36030 goto _3 36031 case i32(-12): 36032 goto _7 36033 case i32(-10): 36034 goto _5 36035 case i32(-9): 36036 goto _4 36037 case i32(-8): 36038 goto _11 36039 case i32(-7): 36040 goto _10 36041 case i32(-5): 36042 goto _8 36043 case i32(-4): 36044 goto _9 36045 case i32(-1): 36046 goto _6 36047 default: 36048 goto _12 36049 } 36050 36051 _3: 36052 _freeP4FuncCtx(tls, _db, (*Xsqlite3_context)(unsafe.Pointer(_p4))) 36053 goto _12 36054 36055 _4: 36056 _5: 36057 _6: 36058 _7: 36059 _sqlite3DbFree(tls, _db, _p4) 36060 goto _12 36061 36062 _8: 36063 if (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 36064 goto _13 36065 } 36066 36067 _sqlite3KeyInfoUnref(tls, (*XKeyInfo)(unsafe.Pointer(_p4))) 36068 _13: 36069 goto _12 36070 36071 _9: 36072 _freeEphemeralFunction(tls, _db, (*XFuncDef)(unsafe.Pointer(_p4))) 36073 goto _12 36074 36075 _10: 36076 if (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 36077 goto _14 36078 } 36079 36080 _sqlite3ValueFree(tls, (*XMem)(unsafe.Pointer(_p4))) 36081 goto _15 36082 36083 _14: 36084 _freeP4Mem(tls, _db, (*XMem)(unsafe.Pointer(_p4))) 36085 _15: 36086 goto _12 36087 36088 _11: 36089 if (_db.X79) != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 36090 goto _16 36091 } 36092 36093 _sqlite3VtabUnlock(tls, (*XVTable)(unsafe.Pointer(_p4))) 36094 _16: 36095 goto _12 36096 36097 _12: 36098 return 36099 36100 } 36101 36102 var _freeP4Ø00__func__Ø000 [7]int8 // - 36103 36104 func init() { 36105 crt.Xstrncpy(nil, &_freeP4Ø00__func__Ø000[0], str(44024), 7) 36106 } 36107 36108 func _freeP4FuncCtx(tls *crt.TLS, _db *Xsqlite3, _p *Xsqlite3_context) { // sqlite3.c:72156:1 36109 _freeEphemeralFunction(tls, _db, (*XFuncDef)(unsafe.Pointer(_p.X1))) 36110 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 36111 return 36112 36113 } 36114 36115 func _freeEphemeralFunction(tls *crt.TLS, _db *Xsqlite3, _pDef *XFuncDef) { // sqlite3.c:72141:1 36116 if (int32(_pDef.X1) & i32(16)) == i32(0) { 36117 goto _0 36118 } 36119 36120 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pDef)) 36121 _0: 36122 return 36123 36124 } 36125 36126 func _sqlite3KeyInfoUnref(tls *crt.TLS, _p *XKeyInfo) { // sqlite3.c:117301:1 36127 if _p == nil { 36128 goto _0 36129 } 36130 36131 func() int32 { 36132 if (_p.X0) > uint32(i32(0)) { 36133 return i32(0) 36134 } 36135 return func() int32 { 36136 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117303), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3KeyInfoUnrefØ00__func__Ø000))), unsafe.Pointer(str(3248))) 36137 crt.X__builtin_abort(tls) 36138 return i32(0) 36139 }() 36140 }() 36141 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) -= 1 36142 if (_p.X0) != uint32(i32(0)) { 36143 goto _3 36144 } 36145 36146 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X4)), (unsafe.Pointer)(_p)) 36147 _3: 36148 _0: 36149 return 36150 36151 } 36152 36153 var _sqlite3KeyInfoUnrefØ00__func__Ø000 [20]int8 // - 36154 36155 func init() { 36156 crt.Xstrncpy(nil, &_sqlite3KeyInfoUnrefØ00__func__Ø000[0], str(44032), 20) 36157 } 36158 36159 func _freeP4Mem(tls *crt.TLS, _db *Xsqlite3, _p *XMem) { // sqlite3.c:72152:1 36160 if (_p.X7) == 0 { 36161 goto _0 36162 } 36163 36164 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X6)) 36165 _0: 36166 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 36167 return 36168 36169 } 36170 36171 func _vdbeChangeP4Full(tls *crt.TLS, _p *XVdbe, _pOp *XVdbeOp, _zP4 *int8, _n int32) { // sqlite3.c:72275:1 36172 if (_pOp.X1) == 0 { 36173 goto _0 36174 } 36175 36176 _freeP4(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), int32(_pOp.X1), *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 36177 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(0)) 36178 *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(uintptr(i32(0))) 36179 _0: 36180 if _n >= i32(0) { 36181 goto _1 36182 } 36183 36184 _sqlite3VdbeChangeP4(tls, _p, int32((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(_p.X17)))))/24), _zP4, _n) 36185 goto _2 36186 36187 _1: 36188 if _n != i32(0) { 36189 goto _3 36190 } 36191 36192 _n = _sqlite3Strlen30(tls, _zP4) 36193 _3: 36194 *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = _sqlite3DbStrNDup(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _zP4, uint64(_n)) 36195 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-1)) 36196 _2: 36197 return 36198 36199 } 36200 36201 func _sqlite3VtabLock(tls *crt.TLS, _pVTab *XVTable) { // sqlite3.c:124657:1 36202 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTab)) + uintptr(12 /* X3 */))) += 1 36203 return 36204 36205 } 36206 36207 func _codeTableLocks(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:99542:1 36208 var _i int32 // sqlite3.c:99543:7 36209 _ = _i 36210 var _pVdbe *XVdbe // sqlite3.c:99544:8 36211 _ = _pVdbe 36212 var _1_p *XTableLock // sqlite3.c:99550:15 36213 _ = _1_p 36214 var _1_p1 int32 // sqlite3.c:99551:9 36215 _ = _1_p1 36216 _pVdbe = _sqlite3GetVdbe(tls, _pParse) 36217 func() int32 { 36218 if _pVdbe != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 36219 return i32(0) 36220 } 36221 return func() int32 { 36222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99547), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeTableLocksØ00__func__Ø000))), unsafe.Pointer(str(44052))) 36223 crt.X__builtin_abort(tls) 36224 return i32(0) 36225 }() 36226 }() 36227 _i = i32(0) 36228 _2: 36229 if _i >= (_pParse.X36) { 36230 goto _5 36231 } 36232 36233 _1_p = (*XTableLock)(unsafe.Pointer(uintptr(_pParse.X37) + 16*uintptr(_i))) 36234 _1_p1 = _1_p.X0 36235 _sqlite3VdbeAddOp4(tls, _pVdbe, i32(152), _1_p1, _1_p.X1, int32(_1_p.X2), _1_p.X3, i32(-2)) 36236 _i += 1 36237 goto _2 36238 36239 _5: 36240 return 36241 36242 } 36243 36244 var _codeTableLocksØ00__func__Ø000 [15]int8 // - 36245 36246 func init() { 36247 crt.Xstrncpy(nil, &_codeTableLocksØ00__func__Ø000[0], str(44064), 15) 36248 } 36249 36250 func _sqlite3AutoincrementBegin(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:108824:1 36251 var _p *XAutoincInfo // sqlite3.c:108825:15 36252 _ = _p 36253 var _db *Xsqlite3 // sqlite3.c:108826:11 36254 _ = _db 36255 var _pDb *XDb // sqlite3.c:108827:6 36256 _ = _pDb 36257 var _memId int32 // sqlite3.c:108828:7 36258 _ = _memId 36259 var _v *XVdbe // sqlite3.c:108829:8 36260 _ = _v 36261 var _1_aOp *XVdbeOp // sqlite3.c:108851:12 36262 _ = _1_aOp 36263 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 36264 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 36265 func() int32 { 36266 if (*XTable)(unsafe.Pointer(_pParse.X40)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 36267 return i32(0) 36268 } 36269 return func() int32 { 36270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108833), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AutoincrementBeginØ00__func__Ø000))), unsafe.Pointer(str(44080))) 36271 crt.X__builtin_abort(tls) 36272 return i32(0) 36273 }() 36274 }() 36275 func() int32 { 36276 if (*XParse)(unsafe.Pointer(_pParse.X39)) == (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 36277 return i32(0) 36278 } 36279 return func() int32 { 36280 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108834), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AutoincrementBeginØ00__func__Ø000))), unsafe.Pointer(str(44104))) 36281 crt.X__builtin_abort(tls) 36282 return i32(0) 36283 }() 36284 }() 36285 func() int32 { 36286 if _v != nil { 36287 return i32(0) 36288 } 36289 return func() int32 { 36290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108836), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AutoincrementBeginØ00__func__Ø000))), unsafe.Pointer(str(44132))) 36291 crt.X__builtin_abort(tls) 36292 return i32(0) 36293 }() 36294 }() 36295 _p = (*XAutoincInfo)(unsafe.Pointer(_pParse.X38)) 36296 _6: 36297 if _p == nil { 36298 goto _9 36299 } 36300 36301 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_p.X2))) 36302 _memId = _p.X3 36303 func() int32 { 36304 if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pDb.X4))) != 0 { 36305 return i32(0) 36306 } 36307 return func() int32 { 36308 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108854), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AutoincrementBeginØ00__func__Ø000))), unsafe.Pointer(str(44136))) 36309 crt.X__builtin_abort(tls) 36310 return i32(0) 36311 }() 36312 }() 36313 _sqlite3OpenTable(tls, _pParse, i32(0), _p.X2, (*XTable)(unsafe.Pointer((*XSchema)(unsafe.Pointer(_pDb.X4)).X6)), i32(105)) 36314 _sqlite3VdbeLoadString(tls, _v, _memId-i32(1), (*XTable)(unsafe.Pointer(_p.X1)).X0) 36315 _1_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(10), (*T8124566)(unsafe.Pointer(&_sqlite3AutoincrementBeginØ00autoIncØ002)), _sqlite3AutoincrementBeginØ00iLnØ001) 36316 if _1_aOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 36317 goto _12 36318 } 36319 36320 goto _9 36321 36322 _12: 36323 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(0)))))) + uintptr(8 /* X4 */))) = _memId 36324 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(0)))))) + uintptr(12 /* X5 */))) = _memId + i32(1) 36325 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(2)))))) + uintptr(12 /* X5 */))) = _memId 36326 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(3)))))) + uintptr(4 /* X3 */))) = _memId - i32(1) 36327 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(3)))))) + uintptr(12 /* X5 */))) = _memId 36328 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(3)))))) + uintptr(2 /* X2 */))) = uint16(i32(16)) 36329 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(4)))))) + uintptr(8 /* X4 */))) = _memId + i32(1) 36330 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(5)))))) + uintptr(12 /* X5 */))) = _memId 36331 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(8)))))) + uintptr(8 /* X4 */))) = _memId 36332 _p = (*XAutoincInfo)(unsafe.Pointer(_p.X0)) 36333 goto _6 36334 36335 _9: 36336 return 36337 36338 } 36339 36340 var _sqlite3AutoincrementBeginØ00__func__Ø000 [26]int8 // - 36341 36342 func init() { 36343 crt.Xstrncpy(nil, &_sqlite3AutoincrementBeginØ00__func__Ø000[0], str(44180), 26) 36344 } 36345 36346 func _sqlite3OpenTable(tls *crt.TLS, _pParse *XParse, _iCur int32, _iDb int32, _pTab *XTable, _opcode int32) { // sqlite3.c:108594:1 36347 var _v *XVdbe // sqlite3.c:108601:8 36348 _ = _v 36349 var _2_pPk *XIndex // sqlite3.c:108611:11 36350 _ = _2_pPk 36351 func() int32 { 36352 if (_pTab.X16) == 0 { 36353 return i32(0) 36354 } 36355 return func() int32 { 36356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108602), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableØ00__func__Ø000))), unsafe.Pointer(str(44208))) 36357 crt.X__builtin_abort(tls) 36358 return i32(0) 36359 }() 36360 }() 36361 _v = _sqlite3GetVdbe(tls, _pParse) 36362 func() int32 { 36363 if (_opcode == i32(106)) || (_opcode == i32(105)) { 36364 return i32(0) 36365 } 36366 return func() int32 { 36367 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108604), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableØ00__func__Ø000))), unsafe.Pointer(str(44228))) 36368 crt.X__builtin_abort(tls) 36369 return i32(0) 36370 }() 36371 }() 36372 _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(func() int32 { 36373 if _opcode == i32(106) { 36374 return i32(1) 36375 } 36376 return i32(0) 36377 }()), _pTab.X0) 36378 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 36379 goto _7 36380 } 36381 36382 _sqlite3VdbeAddOp4Int(tls, _v, _opcode, _iCur, _pTab.X7, _iDb, int32(_pTab.X11)) 36383 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pTab.X0)) 36384 goto _8 36385 36386 _7: 36387 _2_pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 36388 func() int32 { 36389 if _2_pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 36390 return i32(0) 36391 } 36392 return func() int32 { 36393 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108612), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableØ00__func__Ø000))), unsafe.Pointer(str(44272))) 36394 crt.X__builtin_abort(tls) 36395 return i32(0) 36396 }() 36397 }() 36398 func() int32 { 36399 if (_2_pPk.X11) == (_pTab.X7) { 36400 return i32(0) 36401 } 36402 return func() int32 { 36403 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108613), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableØ00__func__Ø000))), unsafe.Pointer(str(44280))) 36404 crt.X__builtin_abort(tls) 36405 return i32(0) 36406 }() 36407 }() 36408 _sqlite3VdbeAddOp3(tls, _v, _opcode, _iCur, _2_pPk.X11, _iDb) 36409 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _2_pPk) 36410 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pTab.X0)) 36411 _8: 36412 return 36413 36414 } 36415 36416 var _sqlite3OpenTableØ00__func__Ø000 [17]int8 // - 36417 36418 func init() { 36419 crt.Xstrncpy(nil, &_sqlite3OpenTableØ00__func__Ø000[0], str(44304), 17) 36420 } 36421 36422 func _sqlite3TableLock(tls *crt.TLS, _pParse *XParse, _iDb int32, _iTab int32, _isWriteLock uint8, _zName *int8) { // sqlite3.c:99500:1 36423 var _pToplevel *XParse // sqlite3.c:99507:9 36424 _ = _pToplevel 36425 var _i int32 // sqlite3.c:99508:7 36426 _ = _i 36427 var _nBytes int32 // sqlite3.c:99509:7 36428 _ = _nBytes 36429 var _p *XTableLock // sqlite3.c:99510:13 36430 _ = _p 36431 _pToplevel = func() *XParse { 36432 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 36433 return (*XParse)(unsafe.Pointer(_pParse.X39)) 36434 } 36435 return _pParse 36436 }() 36437 func() int32 { 36438 if _iDb >= i32(0) { 36439 return i32(0) 36440 } 36441 return func() int32 { 36442 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99511), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TableLockØ00__func__Ø000))), unsafe.Pointer(str(44324))) 36443 crt.X__builtin_abort(tls) 36444 return i32(0) 36445 }() 36446 }() 36447 if _iDb != i32(1) { 36448 goto _4 36449 } 36450 36451 return 36452 36453 _4: 36454 if _sqlite3BtreeSharable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+16*uintptr(_iDb))).X1))) != 0 { 36455 goto _5 36456 } 36457 36458 return 36459 36460 _5: 36461 _i = i32(0) 36462 _6: 36463 if _i >= (_pToplevel.X36) { 36464 goto _9 36465 } 36466 36467 _p = (*XTableLock)(unsafe.Pointer(uintptr(_pToplevel.X37) + 16*uintptr(_i))) 36468 if (_p.X0) != _iDb || (_p.X1) != _iTab { 36469 goto _11 36470 } 36471 36472 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint8(bool2int(((_p.X2) != 0) || (_isWriteLock != 0))) 36473 return 36474 36475 _11: 36476 _i += 1 36477 goto _6 36478 36479 _9: 36480 _nBytes = int32(u32(16) * uint32((_pToplevel.X36)+i32(1))) 36481 *(**XTableLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(124 /* X37 */))))) = (*XTableLock)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_pToplevel.X0)), _pToplevel.X37, uint64(_nBytes)))) 36482 if (*XTableLock)(unsafe.Pointer(_pToplevel.X37)) == nil { 36483 goto _13 36484 } 36485 36486 _p = (*XTableLock)(unsafe.Pointer(uintptr(_pToplevel.X37) + 16*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel))+uintptr(120 /* X36 */))), int32(1))))) 36487 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _iDb 36488 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _iTab 36489 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _isWriteLock 36490 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = _zName 36491 goto _14 36492 36493 _13: 36494 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(120 /* X36 */))) = i32(0) 36495 _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_pToplevel.X0))) 36496 _14: 36497 return 36498 36499 } 36500 36501 var _sqlite3TableLockØ00__func__Ø000 [17]int8 // - 36502 36503 func init() { 36504 crt.Xstrncpy(nil, &_sqlite3TableLockØ00__func__Ø000[0], str(44332), 17) 36505 } 36506 36507 func _sqlite3PrimaryKeyIndex(tls *crt.TLS, _pTab *XTable) (r0 *XIndex) { // sqlite3.c:100259:1 36508 var _p *XIndex // sqlite3.c:100260:9 36509 _ = _p 36510 _p = (*XIndex)(unsafe.Pointer(_pTab.X2)) 36511 _0: 36512 if _p == nil || int32((uint32(_p.X16)<<uint(i32(30)))>>uint(i32(30))) == i32(2) { 36513 goto _4 36514 } 36515 36516 _p = (*XIndex)(unsafe.Pointer(_p.X5)) 36517 goto _0 36518 36519 _4: 36520 r0 = _p 36521 return 36522 36523 } 36524 36525 func _sqlite3VdbeSetP4KeyInfo(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex) { // sqlite3.c:72357:1 36526 var _v *XVdbe // sqlite3.c:72358:8 36527 _ = _v 36528 var _pKeyInfo *XKeyInfo // sqlite3.c:72359:11 36529 _ = _pKeyInfo 36530 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 36531 func() int32 { 36532 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 36533 return i32(0) 36534 } 36535 return func() int32 { 36536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72360), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetP4KeyInfoØ00__func__Ø000))), unsafe.Pointer(str(44352))) 36537 crt.X__builtin_abort(tls) 36538 return i32(0) 36539 }() 36540 }() 36541 func() int32 { 36542 if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 36543 return i32(0) 36544 } 36545 return func() int32 { 36546 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72361), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetP4KeyInfoØ00__func__Ø000))), unsafe.Pointer(str(44360))) 36547 crt.X__builtin_abort(tls) 36548 return i32(0) 36549 }() 36550 }() 36551 _pKeyInfo = _sqlite3KeyInfoOfIndex(tls, _pParse, _pIdx) 36552 if _pKeyInfo == nil { 36553 goto _4 36554 } 36555 36556 _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_pKeyInfo), i32(-5)) 36557 _4: 36558 return 36559 36560 } 36561 36562 var _sqlite3VdbeSetP4KeyInfoØ00__func__Ø000 [24]int8 // - 36563 36564 func init() { 36565 crt.Xstrncpy(nil, &_sqlite3VdbeSetP4KeyInfoØ00__func__Ø000[0], str(44368), 24) 36566 } 36567 36568 func _sqlite3KeyInfoOfIndex(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex) (r0 *XKeyInfo) { // sqlite3.c:103803:1 36569 var _i int32 // sqlite3.c:103804:7 36570 _ = _i 36571 var _nCol int32 // sqlite3.c:103805:7 36572 _ = _nCol 36573 var _nKey int32 // sqlite3.c:103806:7 36574 _ = _nKey 36575 var _pKey *XKeyInfo // sqlite3.c:103807:11 36576 _ = _pKey 36577 var _4_zColl *int8 // sqlite3.c:103817:18 36578 _ = _4_zColl 36579 _nCol = int32(_pIdx.X14) 36580 _nKey = int32(_pIdx.X13) 36581 if (_pParse.X16) == 0 { 36582 goto _0 36583 } 36584 36585 r0 = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) 36586 return 36587 36588 _0: 36589 if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) == 0 { 36590 goto _1 36591 } 36592 36593 _pKey = _sqlite3KeyInfoAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _nKey, _nCol-_nKey) 36594 goto _2 36595 36596 _1: 36597 _pKey = _sqlite3KeyInfoAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _nCol, i32(0)) 36598 _2: 36599 if _pKey == nil { 36600 goto _3 36601 } 36602 36603 func() int32 { 36604 if _sqlite3KeyInfoIsWriteable(tls, _pKey) != 0 { 36605 return i32(0) 36606 } 36607 return func() int32 { 36608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103815), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3KeyInfoOfIndexØ00__func__Ø000))), unsafe.Pointer(str(44392))) 36609 crt.X__builtin_abort(tls) 36610 return i32(0) 36611 }() 36612 }() 36613 _i = i32(0) 36614 _6: 36615 if _i >= _nCol { 36616 goto _9 36617 } 36618 36619 _4_zColl = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_i))) 36620 *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKey))+uintptr(20 /* X6 */))))) + 4*uintptr(_i))) = func() *XCollSeq { 36621 if _4_zColl == (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) { 36622 return (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) 36623 } 36624 return _sqlite3LocateCollSeq(tls, _pParse, _4_zColl) 36625 }() 36626 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKey.X5)) + 1*uintptr(_i))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X7)) + 1*uintptr(_i))) 36627 _i += 1 36628 goto _6 36629 36630 _9: 36631 if (_pParse.X16) == 0 { 36632 goto _12 36633 } 36634 36635 _sqlite3KeyInfoUnref(tls, _pKey) 36636 _pKey = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) 36637 _12: 36638 _3: 36639 r0 = _pKey 36640 return 36641 36642 } 36643 36644 func _sqlite3KeyInfoAlloc(tls *crt.TLS, _db *Xsqlite3, _N int32, _X int32) (r0 *XKeyInfo) { // sqlite3.c:117281:1 36645 var _nExtra int32 // sqlite3.c:117282:7 36646 _ = _nExtra 36647 var _p *XKeyInfo // sqlite3.c:117283:11 36648 _ = _p 36649 _nExtra = int32(uint32(_N+_X) * u32(5)) 36650 _p = (*XKeyInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(24)+uint32(_nExtra))))) 36651 if _p == nil { 36652 goto _0 36653 } 36654 36655 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = (*uint8)(unsafe.Pointer((**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */))))) + 4*uintptr(_N+_X))))) 36656 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = uint16(_N) 36657 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) = uint16(_X) 36658 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = _db.X14 36659 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))))) = _db 36660 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint32(i32(1)) 36661 crt.Xmemset(tls, (unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+24*uintptr(i32(1))))), i32(0), uint32(_nExtra)) 36662 goto _1 36663 36664 _0: 36665 _sqlite3OomFault(tls, _db) 36666 _1: 36667 r0 = _p 36668 return 36669 36670 } 36671 36672 func _sqlite3KeyInfoIsWriteable(tls *crt.TLS, _p *XKeyInfo) (r0 int32) { // sqlite3.c:117327:1 36673 r0 = bool2int((_p.X0) == uint32(i32(1))) 36674 return 36675 36676 } 36677 36678 var _sqlite3KeyInfoOfIndexØ00__func__Ø000 [22]int8 // - 36679 36680 func init() { 36681 crt.Xstrncpy(nil, &_sqlite3KeyInfoOfIndexØ00__func__Ø000[0], str(44424), 22) 36682 } 36683 36684 var _sqlite3StrBINARY [7]int8 // sqlite3.c:17422:27 36685 36686 func init() { 36687 crt.Xstrncpy(nil, &_sqlite3StrBINARY[0], str(39896), 7) 36688 } 36689 36690 func _sqlite3LocateCollSeq(tls *crt.TLS, _pParse *XParse, _zName *int8) (r0 *XCollSeq) { // sqlite3.c:100888:1 36691 var _db *Xsqlite3 // sqlite3.c:100889:11 36692 _ = _db 36693 var _enc uint8 // sqlite3.c:100890:6 36694 _ = _enc 36695 var _initbusy uint8 // sqlite3.c:100891:6 36696 _ = _initbusy 36697 var _pColl *XCollSeq // sqlite3.c:100892:11 36698 _ = _pColl 36699 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 36700 _enc = _db.X14 36701 _initbusy = (*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2 36702 _pColl = _sqlite3FindCollSeq(tls, _db, _enc, _zName, int32(_initbusy)) 36703 if _initbusy != 0 || _pColl != nil && (_pColl.X3) != nil { 36704 goto _2 36705 } 36706 36707 _pColl = _sqlite3GetCollSeq(tls, _pParse, _enc, _pColl, _zName) 36708 _2: 36709 r0 = _pColl 36710 return 36711 36712 } 36713 36714 func _sqlite3GetCollSeq(tls *crt.TLS, _pParse *XParse, _enc uint8, _pColl *XCollSeq, _zName *int8) (r0 *XCollSeq) { // sqlite3.c:103982:1 36715 var _p *XCollSeq // sqlite3.c:103988:11 36716 _ = _p 36717 var _db *Xsqlite3 // sqlite3.c:103989:11 36718 _ = _db 36719 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 36720 _p = _pColl 36721 if _p != nil { 36722 goto _0 36723 } 36724 36725 _p = _sqlite3FindCollSeq(tls, _db, _enc, _zName, i32(0)) 36726 _0: 36727 if _p != nil && (_p.X3) != nil { 36728 goto _2 36729 } 36730 36731 _callCollNeeded(tls, _db, int32(_enc), _zName) 36732 _p = _sqlite3FindCollSeq(tls, _db, _enc, _zName, i32(0)) 36733 _2: 36734 if _p == nil || (_p.X3) != nil || _synthCollSeq(tls, _db, _p) == 0 { 36735 goto _5 36736 } 36737 36738 _p = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) 36739 _5: 36740 func() int32 { 36741 if (_p == nil) || ((_p.X3) != nil) { 36742 return i32(0) 36743 } 36744 return func() int32 { 36745 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104005), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetCollSeqØ00__func__Ø000))), unsafe.Pointer(str(44448))) 36746 crt.X__builtin_abort(tls) 36747 return i32(0) 36748 }() 36749 }() 36750 if _p != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 36751 goto _9 36752 } 36753 36754 _sqlite3ErrorMsg(tls, _pParse, str(44464), unsafe.Pointer(_zName)) 36755 _9: 36756 r0 = _p 36757 return 36758 36759 } 36760 36761 func _callCollNeeded(tls *crt.TLS, _db *Xsqlite3, _enc int32, _zName *int8) { // sqlite3.c:103923:1 36762 var _1_zExternal *int8 // sqlite3.c:103926:10 36763 _ = _1_zExternal 36764 var _2_zExternal *int8 // sqlite3.c:103933:16 36765 _ = _2_zExternal 36766 var _2_pTmp *XMem // sqlite3.c:103934:19 36767 _ = _2_pTmp 36768 func() int32 { 36769 if ((*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer(&struct { 36770 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) 36771 }{(_db.X53)}))) == nil) || ((*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer(&struct { 36772 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) 36773 }{(_db.X54)}))) == nil) { 36774 return i32(0) 36775 } 36776 return func() int32 { 36777 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103924), unsafe.Pointer((*int8)(unsafe.Pointer(&_callCollNeededØ00__func__Ø000))), unsafe.Pointer(str(44496))) 36778 crt.X__builtin_abort(tls) 36779 return i32(0) 36780 }() 36781 }() 36782 if (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer(&struct { 36783 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) 36784 }{(_db.X53)}))) == nil { 36785 goto _3 36786 } 36787 36788 _1_zExternal = _sqlite3DbStrDup(tls, _db, _zName) 36789 if _1_zExternal != nil { 36790 goto _4 36791 } 36792 36793 return 36794 36795 _4: 36796 (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, *int8))(unsafe.Pointer(&struct { 36797 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) 36798 }{(_db.X53)})))(tls, _db.X55, _db, _enc, _1_zExternal) 36799 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_zExternal)) 36800 _3: 36801 if (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer(&struct { 36802 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) 36803 }{(_db.X54)}))) == nil { 36804 goto _5 36805 } 36806 36807 _2_pTmp = _sqlite3ValueNew(tls, _db) 36808 _sqlite3ValueSetStr(tls, _2_pTmp, i32(-1), (unsafe.Pointer)(_zName), uint8(i32(1)), nil) 36809 _2_zExternal = (*int8)(unsafe.Pointer(_sqlite3ValueText(tls, _2_pTmp, uint8(i32(2))))) 36810 if _2_zExternal == nil { 36811 goto _6 36812 } 36813 36814 (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, int32, unsafe.Pointer))(unsafe.Pointer(&struct { 36815 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) 36816 }{(_db.X54)})))(tls, _db.X55, _db, int32(_db.X14), (unsafe.Pointer)(_2_zExternal)) 36817 _6: 36818 _sqlite3ValueFree(tls, _2_pTmp) 36819 _5: 36820 return 36821 36822 } 36823 36824 var _callCollNeededØ00__func__Ø000 [15]int8 // - 36825 36826 func init() { 36827 crt.Xstrncpy(nil, &_callCollNeededØ00__func__Ø000[0], str(44536), 15) 36828 } 36829 36830 func _sqlite3DbStrDup(tls *crt.TLS, _db *Xsqlite3, _z *int8) (r0 *int8) { // sqlite3.c:24924:1 36831 var _zNew *int8 // sqlite3.c:24925:8 36832 _ = _zNew 36833 var _n uint32 // sqlite3.c:24926:10 36834 _ = _n 36835 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 36836 goto _0 36837 } 36838 36839 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 36840 return 36841 36842 _0: 36843 _n = crt.Xstrlen(tls, _z) + uint32(i32(1)) 36844 _zNew = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64(_n)))) 36845 if _zNew == nil { 36846 goto _1 36847 } 36848 36849 crt.Xmemcpy(tls, (unsafe.Pointer)(_zNew), (unsafe.Pointer)(_z), _n) 36850 _1: 36851 r0 = _zNew 36852 return 36853 36854 } 36855 36856 func _synthCollSeq(tls *crt.TLS, _db *Xsqlite3, _pColl *XCollSeq) (r0 int32) { // sqlite3.c:103952:1 36857 var _pColl2 *XCollSeq // sqlite3.c:103953:11 36858 _ = _pColl2 36859 var _z *int8 // sqlite3.c:103954:8 36860 _ = _z 36861 var _i int32 // sqlite3.c:103955:7 36862 _ = _i 36863 _z = _pColl.X0 36864 _i = i32(0) 36865 _0: 36866 if _i >= i32(3) { 36867 goto _3 36868 } 36869 36870 _pColl2 = _sqlite3FindCollSeq(tls, _db, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_synthCollSeqØ00aEncØ001)) + 1*uintptr(_i))), _z, i32(0)) 36871 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 36872 f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32 36873 }{(_pColl2.X3)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 36874 f func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32 36875 }{nil})) { 36876 goto _4 36877 } 36878 36879 crt.Xmemcpy(tls, (unsafe.Pointer)(_pColl), (unsafe.Pointer)(_pColl2), u32(20)) 36880 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColl)) + uintptr(16 /* X4 */))) = nil 36881 r0 = i32(0) 36882 return 36883 36884 _4: 36885 _i += 1 36886 goto _0 36887 36888 _3: 36889 r0 = i32(1) 36890 return 36891 36892 } 36893 36894 var _synthCollSeqØ00aEncØ001 [3]uint8 // sqlite3.c:103956:19 36895 36896 func init() { 36897 _synthCollSeqØ00aEncØ001 = [3]uint8{3, 2, 1} 36898 } 36899 36900 var _sqlite3GetCollSeqØ00__func__Ø000 [18]int8 // - 36901 36902 func init() { 36903 crt.Xstrncpy(nil, &_sqlite3GetCollSeqØ00__func__Ø000[0], str(44552), 18) 36904 } 36905 36906 func _sqlite3VdbeAppendP4(tls *crt.TLS, _p *XVdbe, _pP4 unsafe.Pointer, _n int32) { // sqlite3.c:72337:1 36907 var _pOp *XVdbeOp // sqlite3.c:72338:10 36908 _ = _pOp 36909 func() int32 { 36910 if (_n != i32(-11)) && (_n != i32(-8)) { 36911 return i32(0) 36912 } 36913 return func() int32 { 36914 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72339), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAppendP4Ø00__func__Ø000))), unsafe.Pointer(str(44572))) 36915 crt.X__builtin_abort(tls) 36916 return i32(0) 36917 }() 36918 }() 36919 func() int32 { 36920 if _n <= i32(0) { 36921 return i32(0) 36922 } 36923 return func() int32 { 36924 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72340), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAppendP4Ø00__func__Ø000))), unsafe.Pointer(str(44600))) 36925 crt.X__builtin_abort(tls) 36926 return i32(0) 36927 }() 36928 }() 36929 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { 36930 goto _5 36931 } 36932 36933 _freeP4(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _n, _pP4) 36934 goto _6 36935 36936 _5: 36937 func() int32 { 36938 if _pP4 != (unsafe.Pointer)(uintptr(i32(0))) { 36939 return i32(0) 36940 } 36941 return func() int32 { 36942 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72344), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAppendP4Ø00__func__Ø000))), unsafe.Pointer(str(44608))) 36943 crt.X__builtin_abort(tls) 36944 return i32(0) 36945 }() 36946 }() 36947 func() int32 { 36948 if (_p.X27) > i32(0) { 36949 return i32(0) 36950 } 36951 return func() int32 { 36952 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72345), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAppendP4Ø00__func__Ø000))), unsafe.Pointer(str(43976))) 36953 crt.X__builtin_abort(tls) 36954 return i32(0) 36955 }() 36956 }() 36957 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr((_p.X27)-i32(1)))) 36958 func() int32 { 36959 if int32(_pOp.X1) == i32(0) { 36960 return i32(0) 36961 } 36962 return func() int32 { 36963 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72347), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAppendP4Ø00__func__Ø000))), unsafe.Pointer(str(44616))) 36964 crt.X__builtin_abort(tls) 36965 return i32(0) 36966 }() 36967 }() 36968 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(_n) 36969 *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = _pP4 36970 _6: 36971 return 36972 36973 } 36974 36975 var _sqlite3VdbeAppendP4Ø00__func__Ø000 [20]int8 // - 36976 36977 func init() { 36978 crt.Xstrncpy(nil, &_sqlite3VdbeAppendP4Ø00__func__Ø000[0], str(44640), 20) 36979 } 36980 36981 func _sqlite3VdbeLoadString(tls *crt.TLS, _p *XVdbe, _iDest int32, _zStr *int8) (r0 int32) { // sqlite3.c:71563:1 36982 r0 = _sqlite3VdbeAddOp4(tls, _p, i32(97), i32(0), _iDest, i32(0), _zStr, i32(0)) 36983 return 36984 36985 } 36986 36987 func _sqlite3VdbeAddOpList(tls *crt.TLS, _p *XVdbe, _nOp int32, _aOp *T8124566, _iLineno int32) (r0 *XVdbeOp) { // sqlite3.c:72035:1 36988 var _i int32 // sqlite3.c:72041:7 36989 _ = _i 36990 var _pOut *XVdbeOp // sqlite3.c:72042:10 36991 _ = _pOut 36992 var _pFirst *XVdbeOp // sqlite3.c:72042:17 36993 _ = _pFirst 36994 func() int32 { 36995 if _nOp > i32(0) { 36996 return i32(0) 36997 } 36998 return func() int32 { 36999 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72043), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAddOpListØ00__func__Ø000))), unsafe.Pointer(str(44660))) 37000 crt.X__builtin_abort(tls) 37001 return i32(0) 37002 }() 37003 }() 37004 func() int32 { 37005 if (_p.X5) == uint32(i32(381479589)) { 37006 return i32(0) 37007 } 37008 return func() int32 { 37009 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72044), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAddOpListØ00__func__Ø000))), unsafe.Pointer(str(39640))) 37010 crt.X__builtin_abort(tls) 37011 return i32(0) 37012 }() 37013 }() 37014 if ((_p.X27)+_nOp) <= ((*XParse)(unsafe.Pointer(_p.X3)).X19) || _growOpArray(tls, _p, _nOp) == 0 { 37015 goto _5 37016 } 37017 37018 r0 = (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) 37019 return 37020 37021 _5: 37022 _pFirst = store8104608(&_pOut, (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_p.X27)))) 37023 _i = i32(0) 37024 _6: 37025 if _i >= _nOp { 37026 goto _9 37027 } 37028 37029 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))) = _aOp.X0 37030 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(4 /* X3 */))) = int32(_aOp.X1) 37031 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X4 */))) = int32(_aOp.X2) 37032 func() int32 { 37033 if int32(_aOp.X2) >= i32(0) { 37034 return i32(0) 37035 } 37036 return func() int32 { 37037 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72053), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAddOpListØ00__func__Ø000))), unsafe.Pointer(str(44668))) 37038 crt.X__builtin_abort(tls) 37039 return i32(0) 37040 }() 37041 }() 37042 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_aOp.X0))))&i32(1)) == i32(0) || int32(_aOp.X2) <= i32(0) { 37043 goto _13 37044 } 37045 37046 { 37047 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X4 */))) 37048 *p = (*p) + (_p.X27) 37049 sink961 = *p 37050 } 37051 _13: 37052 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X5 */))) = int32(_aOp.X3) 37053 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(1 /* X1 */))) = int8(i32(0)) 37054 *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X6 */))))) = (unsafe.Pointer)(uintptr(i32(0))) 37055 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(2 /* X2 */))) = uint16(i32(0)) 37056 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(20 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 37057 37058 if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(4096)) == 0 { 37059 goto _14 37060 } 37061 37062 _sqlite3VdbePrintOp(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))), _i+(_p.X27), (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_i+(_p.X27))))) 37063 _14: 37064 *(*uintptr)(unsafe.Pointer(func() **XVdbeOp { 37065 *(*uintptr)(unsafe.Pointer(func() **T8124566 { _i += 1; return &_aOp }())) += uintptr(4) 37066 return &_pOut 37067 }())) += uintptr(24) 37068 goto _6 37069 37070 _9: 37071 { 37072 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(128 /* X27 */))) 37073 *p = (*p) + _nOp 37074 sink961 = *p 37075 } 37076 r0 = _pFirst 37077 return 37078 37079 } 37080 37081 var _sqlite3VdbeAddOpListØ00__func__Ø000 [21]int8 // - 37082 37083 func init() { 37084 crt.Xstrncpy(nil, &_sqlite3VdbeAddOpListØ00__func__Ø000[0], str(44680), 21) 37085 } 37086 37087 var _sqlite3OpcodeProperty [164]uint8 // sqlite3.c:17417:36 37088 37089 func init() { 37090 _sqlite3OpcodeProperty = [164]uint8{0, 0, 0, 1, 1, 1, 1, 1, 0, 16, 0, 1, 0, 1, 1, 1, 3, 3, 1, 18, 1, 3, 3, 9, 9, 9, 9, 38, 38, 9, 9, 9, 9, 9, 3, 3, 11, 11, 11, 11, 11, 11, 1, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 1, 18, 1, 1, 1, 1, 1, 1, 1, 1, 35, 11, 1, 1, 3, 3, 3, 1, 1, 1, 2, 2, 8, 0, 16, 16, 16, 16, 0, 16, 16, 0, 0, 16, 16, 0, 0, 0, 0, 2, 2, 2, 0, 0, 16, 0, 0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 4, 4, 0, 0, 16, 16, 0, 16, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 6, 16, 0, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 0, 0, 0} 37091 } 37092 37093 var _sqlite3AutoincrementBeginØ00autoIncØ002 [10]struct { 37094 X0 uint8 37095 X1 int8 37096 X2 int8 37097 X3 int8 37098 } // sqlite3.c:108839:29 37099 37100 func init() { 37101 _sqlite3AutoincrementBeginØ00autoIncØ002 = [10]struct { 37102 X0 uint8 37103 X1 int8 37104 X2 int8 37105 X3 int8 37106 }{T8124566{X0: u8(80), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(58), X1: i8(0), X2: i8(9), X3: i8(0)}, T8124566{X0: u8(98), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(36), X1: i8(0), X2: i8(7), X3: i8(0)}, T8124566{X0: u8(123), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(98), X1: i8(0), X2: i8(1), X3: i8(0)}, T8124566{X0: u8(13), X1: i8(0), X2: i8(9), X3: i8(0)}, T8124566{X0: u8(7), X1: i8(0), X2: i8(2), X3: i8(0)}, T8124566{X0: u8(77), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(112), X1: i8(0), X2: i8(0), X3: i8(0)}} 37107 } 37108 37109 var _sqlite3AutoincrementBeginØ00iLnØ001 int32 // sqlite3.c:108838:22 37110 37111 func _sqlite3ExprCode(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94824:1 37112 var _inReg int32 // sqlite3.c:94825:7 37113 _ = _inReg 37114 func() int32 { 37115 if (_target > i32(0)) && (_target <= (_pParse.X18)) { 37116 return i32(0) 37117 } 37118 return func() int32 { 37119 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94827), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeØ00__func__Ø000))), unsafe.Pointer(str(44704))) 37120 crt.X__builtin_abort(tls) 37121 return i32(0) 37122 }() 37123 }() 37124 if _pExpr == nil || int32(_pExpr.X0) != i32(157) { 37125 goto _4 37126 } 37127 37128 _sqlite3VdbeAddOp2(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), i32(85), _pExpr.X8, _target) 37129 goto _5 37130 37131 _4: 37132 _inReg = _sqlite3ExprCodeTarget(tls, _pParse, _pExpr, _target) 37133 func() int32 { 37134 if ((*XVdbe)(unsafe.Pointer(_pParse.X2)) != (*XVdbe)(unsafe.Pointer(uintptr(i32(0))))) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 37135 return i32(0) 37136 } 37137 return func() int32 { 37138 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94832), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeØ00__func__Ø000))), unsafe.Pointer(str(44740))) 37139 crt.X__builtin_abort(tls) 37140 return i32(0) 37141 }() 37142 }() 37143 if _inReg == _target || (*XVdbe)(unsafe.Pointer(_pParse.X2)) == nil { 37144 goto _10 37145 } 37146 37147 _sqlite3VdbeAddOp2(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), i32(86), _inReg, _target) 37148 _10: 37149 _5: 37150 return 37151 37152 } 37153 37154 var _sqlite3ExprCodeØ00__func__Ø000 [16]int8 // - 37155 37156 func init() { 37157 crt.Xstrncpy(nil, &_sqlite3ExprCodeØ00__func__Ø000[0], str(44788), 16) 37158 } 37159 37160 func _sqlite3ExprCodeTarget(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) (r0 int32) { // sqlite3.c:94117:1 37161 var _v *XVdbe // sqlite3.c:94118:8 37162 _ = _v 37163 var _op int32 // sqlite3.c:94119:7 37164 _ = _op 37165 var _inReg int32 // sqlite3.c:94120:7 37166 _ = _inReg 37167 var _regFree1 int32 // sqlite3.c:94121:7 37168 _ = _regFree1 37169 var _regFree2 int32 // sqlite3.c:94122:7 37170 _ = _regFree2 37171 var _r1 int32 // sqlite3.c:94123:7 37172 _ = _r1 37173 var _r2 int32 // sqlite3.c:94123:11 37174 _ = _r2 37175 var _tempX XExpr // sqlite3.c:94124:8 37176 _ = _tempX 37177 var _p5 int32 // sqlite3.c:94125:7 37178 _ = _p5 37179 var _5_pAggInfo *XAggInfo // sqlite3.c:94140:15 37180 _ = _5_pAggInfo 37181 var _5_pCol *T8444404 // sqlite3.c:94141:26 37182 _ = _5_pCol 37183 var _8_iTab int32 // sqlite3.c:94153:11 37184 _ = _8_iTab 37185 var _16_n int32 // sqlite3.c:94190:11 37186 _ = _16_n 37187 var _16_z *int8 // sqlite3.c:94191:18 37188 _ = _16_z 37189 var _16_zBlob *int8 // sqlite3.c:94192:12 37190 _ = _16_zBlob 37191 var _18_z *int8 // sqlite3.c:94210:20 37192 _ = _18_z 37193 var _22_pLeft *XExpr // sqlite3.c:94246:12 37194 _ = _22_pLeft 37195 var _26_pLeft *XExpr // sqlite3.c:94296:12 37196 _ = _26_pLeft 37197 var _31_addr int32 // sqlite3.c:94329:11 37198 _ = _31_addr 37199 var _32_pInfo *XAggInfo // sqlite3.c:94343:15 37200 _ = _32_pInfo 37201 var _35_pFarg *XExprList // sqlite3.c:94353:16 37202 _ = _35_pFarg 37203 var _35_nFarg int32 // sqlite3.c:94354:11 37204 _ = _35_nFarg 37205 var _35_pDef *XFuncDef // sqlite3.c:94355:15 37206 _ = _35_pDef 37207 var _35_zId *int8 // sqlite3.c:94356:18 37208 _ = _35_zId 37209 var _35_constMask uint32 // sqlite3.c:94357:11 37210 _ = _35_constMask 37211 var _35_i int32 // sqlite3.c:94358:11 37212 _ = _35_i 37213 var _35_db *Xsqlite3 // sqlite3.c:94359:15 37214 _ = _35_db 37215 var _35_enc uint8 // sqlite3.c:94360:10 37216 _ = _35_enc 37217 var _35_pColl *XCollSeq // sqlite3.c:94361:15 37218 _ = _35_pColl 37219 var _40_endCoalesce int32 // sqlite3.c:94393:13 37220 _ = _40_endCoalesce 37221 var _43_azAff [5]*int8 // sqlite3.c:94422:20 37222 _ = _43_azAff 37223 var _43_aff int8 // sqlite3.c:94423:14 37224 _ = _43_aff 37225 var _50_exprOp uint8 // sqlite3.c:94455:14 37226 _ = _50_exprOp 37227 var _57_nCol int32 // sqlite3.c:94509:11 37228 _ = _57_nCol 37229 var _60_n int32 // sqlite3.c:94520:11 37230 _ = _60_n 37231 var _63_destIfFalse int32 // sqlite3.c:94534:11 37232 _ = _63_destIfFalse 37233 var _63_destIfNull int32 // sqlite3.c:94535:11 37234 _ = _63_destIfNull 37235 var _66_pTab *XTable // sqlite3.c:94594:13 37236 _ = _66_pTab 37237 var _66_p1 int32 // sqlite3.c:94595:11 37238 _ = _66_p1 37239 var _69_endLabel int32 // sqlite3.c:94651:11 37240 _ = _69_endLabel 37241 var _69_nextCase int32 // sqlite3.c:94652:11 37242 _ = _69_nextCase 37243 var _69_nExpr int32 // sqlite3.c:94653:11 37244 _ = _69_nExpr 37245 var _69_i int32 // sqlite3.c:94654:11 37246 _ = _69_i 37247 var _69_pEList *XExprList // sqlite3.c:94655:16 37248 _ = _69_pEList 37249 var _69_aListelem *T7850641 // sqlite3.c:94656:28 37250 _ = _69_aListelem 37251 var _69_opCompare XExpr // sqlite3.c:94657:12 37252 _ = _69_opCompare 37253 var _69_pX *XExpr // sqlite3.c:94658:12 37254 _ = _69_pX 37255 var _69_pTest *XExpr // sqlite3.c:94659:12 37256 _ = _69_pTest 37257 var _69_iCacheLevel int32 // sqlite3.c:94660:21 37258 _ = _69_iCacheLevel 37259 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 37260 _inReg = _target 37261 _regFree1 = i32(0) 37262 _regFree2 = i32(0) 37263 _p5 = i32(0) 37264 func() int32 { 37265 if (_target > i32(0)) && (_target <= (_pParse.X18)) { 37266 return i32(0) 37267 } 37268 return func() int32 { 37269 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94127), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44704))) 37270 crt.X__builtin_abort(tls) 37271 return i32(0) 37272 }() 37273 }() 37274 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 37275 goto _3 37276 } 37277 37278 func() int32 { 37279 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { 37280 return i32(0) 37281 } 37282 return func() int32 { 37283 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94129), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44804))) 37284 crt.X__builtin_abort(tls) 37285 return i32(0) 37286 }() 37287 }() 37288 r0 = i32(0) 37289 return 37290 37291 _3: 37292 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 37293 goto _6 37294 } 37295 37296 _op = i32(101) 37297 goto _7 37298 37299 _6: 37300 _op = int32(_pExpr.X0) 37301 _7: 37302 switch _op { 37303 case i32(19): 37304 goto _41 37305 case i32(20): 37306 goto _46 37307 case i32(27): 37308 goto _28 37309 case i32(28): 37310 goto _27 37311 case i32(29): 37312 goto _19 37313 case i32(32): 37314 goto _50 37315 case i32(33): 37316 goto _49 37317 case i32(34): 37318 goto _42 37319 case i32(35): 37320 goto _43 37321 case i32(36): 37322 goto _25 37323 case i32(37): 37324 goto _26 37325 case i32(38): 37326 goto _23 37327 case i32(39): 37328 goto _22 37329 case i32(40): 37330 goto _21 37331 case i32(41): 37332 goto _24 37333 case i32(43): 37334 goto _33 37335 case i32(44): 37336 goto _34 37337 case i32(45): 37338 goto _36 37339 case i32(46): 37340 goto _37 37341 case i32(47): 37342 goto _29 37343 case i32(48): 37344 goto _31 37345 case i32(49): 37346 goto _30 37347 case i32(50): 37348 goto _35 37349 case i32(51): 37350 goto _32 37351 case i32(52): 37352 goto _38 37353 case i32(53): 37354 goto _52 37355 case i32(54): 37356 goto _40 37357 case i32(66): 37358 goto _18 37359 case i32(83): 37360 goto _57 37361 case i32(88): 37362 goto _54 37363 case i32(97): 37364 goto _13 37365 case i32(101): 37366 goto _14 37367 case i32(119): 37368 goto _47 37369 case i32(132): 37370 goto _12 37371 case i32(133): 37372 goto _15 37373 case i32(134): 37374 goto _11 37375 case i32(135): 37376 goto _16 37377 case i32(148): 37378 goto _20 37379 case i32(151): 37380 goto _45 37381 case i32(152): 37382 goto _10 37383 case i32(153): 37384 goto _44 37385 case i32(154): 37386 goto _9 37387 case i32(155): 37388 goto _39 37389 case i32(156): 37390 goto _53 37391 case i32(157): 37392 goto _17 37393 case i32(158): 37394 goto _55 37395 case i32(159): 37396 goto _48 37397 case i32(161): 37398 goto _51 37399 default: 37400 goto _56 37401 } 37402 37403 _9: 37404 _5_pAggInfo = (*XAggInfo)(unsafe.Pointer(_pExpr.X13)) 37405 _5_pCol = (*T8444404)(unsafe.Pointer(uintptr(_5_pAggInfo.X8) + 24*uintptr(_pExpr.X10))) 37406 if (_5_pAggInfo.X0) != 0 { 37407 goto _58 37408 } 37409 37410 func() int32 { 37411 if (_5_pCol.X4) > i32(0) { 37412 return i32(0) 37413 } 37414 return func() int32 { 37415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94143), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44832))) 37416 crt.X__builtin_abort(tls) 37417 return i32(0) 37418 }() 37419 }() 37420 r0 = _5_pCol.X4 37421 return 37422 37423 _58: 37424 if (_5_pAggInfo.X1) == 0 { 37425 goto _62 37426 } 37427 37428 _sqlite3VdbeAddOp3(tls, _v, i32(98), _5_pAggInfo.X3, _5_pCol.X3, _target) 37429 r0 = _target 37430 return 37431 37432 _62: 37433 _10: 37434 _8_iTab = _pExpr.X8 37435 if _8_iTab >= i32(0) { 37436 goto _63 37437 } 37438 37439 if (_pParse.X21) <= i32(0) { 37440 goto _64 37441 } 37442 37443 r0 = int32(_pExpr.X9) + (_pParse.X21) 37444 return 37445 37446 _64: 37447 _8_iTab = _pParse.X22 37448 _63: 37449 r0 = _sqlite3ExprCodeGetColumn(tls, _pParse, (*XTable)(unsafe.Pointer(_pExpr.X14)), int32(_pExpr.X9), _8_iTab, _target, _pExpr.X12) 37450 return 37451 37452 _11: 37453 _codeInteger(tls, _pParse, _pExpr, i32(0), _target) 37454 r0 = _target 37455 return 37456 37457 _12: 37458 func() int32 { 37459 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37460 return i32(0) 37461 } 37462 return func() int32 { 37463 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94174), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37464 crt.X__builtin_abort(tls) 37465 return i32(0) 37466 }() 37467 }() 37468 _codeReal(tls, _v, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), i32(0), _target) 37469 r0 = _target 37470 return 37471 37472 _13: 37473 func() int32 { 37474 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37475 return i32(0) 37476 } 37477 return func() int32 { 37478 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94180), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37479 crt.X__builtin_abort(tls) 37480 return i32(0) 37481 }() 37482 }() 37483 _sqlite3VdbeLoadString(tls, _v, _target, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) 37484 r0 = _target 37485 return 37486 37487 _14: 37488 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _target) 37489 r0 = _target 37490 return 37491 37492 _15: 37493 func() int32 { 37494 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37495 return i32(0) 37496 } 37497 return func() int32 { 37498 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94193), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37499 crt.X__builtin_abort(tls) 37500 return i32(0) 37501 }() 37502 }() 37503 func() int32 { 37504 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(120)) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(88)) { 37505 return i32(0) 37506 } 37507 return func() int32 { 37508 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94194), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44888))) 37509 crt.X__builtin_abort(tls) 37510 return i32(0) 37511 }() 37512 }() 37513 func() int32 { 37514 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == i32(39) { 37515 return i32(0) 37516 } 37517 return func() int32 { 37518 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94195), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44940))) 37519 crt.X__builtin_abort(tls) 37520 return i32(0) 37521 }() 37522 }() 37523 _16_z = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(2)))) 37524 _16_n = _sqlite3Strlen30(tls, _16_z) - i32(1) 37525 func() int32 { 37526 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_16_z)) + 1*uintptr(_16_n)))) == i32(39) { 37527 return i32(0) 37528 } 37529 return func() int32 { 37530 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94198), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44968))) 37531 crt.X__builtin_abort(tls) 37532 return i32(0) 37533 }() 37534 }() 37535 _16_zBlob = (*int8)(unsafe.Pointer(_sqlite3HexToBlob(tls, _sqlite3VdbeDb(tls, _v), _16_z, _16_n))) 37536 _sqlite3VdbeAddOp4(tls, _v, i32(82), _16_n/i32(2), _target, i32(0), _16_zBlob, i32(-1)) 37537 r0 = _target 37538 return 37539 37540 _16: 37541 func() int32 { 37542 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37543 return i32(0) 37544 } 37545 return func() int32 { 37546 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94205), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37547 crt.X__builtin_abort(tls) 37548 return i32(0) 37549 }() 37550 }() 37551 func() int32 { 37552 if (*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 37553 return i32(0) 37554 } 37555 return func() int32 { 37556 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94206), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44980))) 37557 crt.X__builtin_abort(tls) 37558 return i32(0) 37559 }() 37560 }() 37561 func() int32 { 37562 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) != i32(0) { 37563 return i32(0) 37564 } 37565 return func() int32 { 37566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94207), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45000))) 37567 crt.X__builtin_abort(tls) 37568 return i32(0) 37569 }() 37570 }() 37571 _sqlite3VdbeAddOp2(tls, _v, i32(83), int32(_pExpr.X9), _target) 37572 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == i32(0) { 37573 goto _85 37574 } 37575 37576 _18_z = _sqlite3VListNumToName(tls, _pParse.X60, int32(_pExpr.X9)) 37577 func() int32 { 37578 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(63)) || (crt.Xstrcmp(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), _18_z) == i32(0)) { 37579 return i32(0) 37580 } 37581 return func() int32 { 37582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94211), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45024))) 37583 crt.X__builtin_abort(tls) 37584 return i32(0) 37585 }() 37586 }() 37587 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse.X60)) + 4*uintptr(i32(0)))) = i32(0) 37588 _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_18_z), i32(-2)) 37589 _85: 37590 r0 = _target 37591 return 37592 37593 _17: 37594 r0 = _pExpr.X8 37595 return 37596 37597 _18: 37598 _inReg = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _target) 37599 if _inReg == _target { 37600 goto _89 37601 } 37602 37603 _sqlite3VdbeAddOp2(tls, _v, i32(86), _inReg, _target) 37604 _inReg = _target 37605 _89: 37606 _sqlite3VdbeAddOp2(tls, _v, i32(94), _target, int32(_sqlite3AffinityType(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*uint8)(unsafe.Pointer(uintptr(i32(0))))))) 37607 _sqlite3ExprCacheAffinityChange(tls, _pParse, _inReg, i32(1)) 37608 r0 = _inReg 37609 return 37610 37611 _19: 37612 _20: 37613 _op = func() int32 { 37614 if _op == i32(29) { 37615 return i32(37) 37616 } 37617 return i32(36) 37618 }() 37619 _p5 = i32(128) 37620 _21: 37621 _22: 37622 _23: 37623 _24: 37624 _25: 37625 _26: 37626 _22_pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 37627 if _sqlite3ExprIsVector(tls, _22_pLeft) == 0 { 37628 goto _92 37629 } 37630 37631 _codeVectorCompare(tls, _pParse, _pExpr, _target, uint8(_op), uint8(_p5)) 37632 goto _93 37633 37634 _92: 37635 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, _22_pLeft, &_regFree1) 37636 _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) 37637 _codeCompare(tls, _pParse, _22_pLeft, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _op, _r1, _r2, _inReg, i32(32)|_p5) 37638 i32(0) 37639 i32(0) 37640 i32(0) 37641 i32(0) 37642 i32(0) 37643 i32(0) 37644 _93: 37645 goto _94 37646 37647 _27: 37648 _28: 37649 _29: 37650 _30: 37651 _31: 37652 _32: 37653 _33: 37654 _34: 37655 _35: 37656 _36: 37657 _37: 37658 _38: 37659 i32(0) 37660 i32(0) 37661 i32(0) 37662 i32(0) 37663 i32(0) 37664 i32(0) 37665 i32(0) 37666 i32(0) 37667 i32(0) 37668 i32(0) 37669 i32(0) 37670 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 37671 _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) 37672 _sqlite3VdbeAddOp3(tls, _v, _op, _r2, _r1, _target) 37673 goto _94 37674 37675 _39: 37676 _26_pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 37677 func() int32 { 37678 if _26_pLeft != nil { 37679 return i32(0) 37680 } 37681 return func() int32 { 37682 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94297), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45084))) 37683 crt.X__builtin_abort(tls) 37684 return i32(0) 37685 }() 37686 }() 37687 if int32(_26_pLeft.X0) != i32(134) { 37688 goto _97 37689 } 37690 37691 _codeInteger(tls, _pParse, _26_pLeft, i32(1), _target) 37692 r0 = _target 37693 return 37694 37695 _97: 37696 if int32(_26_pLeft.X0) != i32(132) { 37697 goto _99 37698 } 37699 37700 func() int32 { 37701 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37702 return i32(0) 37703 } 37704 return func() int32 { 37705 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94303), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37706 crt.X__builtin_abort(tls) 37707 return i32(0) 37708 }() 37709 }() 37710 _codeReal(tls, _v, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLeft)) + uintptr(8 /* X3 */))))), i32(1), _target) 37711 r0 = _target 37712 return 37713 37714 _99: 37715 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempX)) + uintptr(0 /* X0 */))) = uint8(i32(134)) 37716 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempX)) + uintptr(4 /* X2 */))) = uint32(i32(17408)) 37717 *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempX)) + uintptr(8 /* X3 */))))) = i32(0) 37718 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, &_tempX, &_regFree1) 37719 _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree2) 37720 _sqlite3VdbeAddOp3(tls, _v, i32(48), _r2, _r1, _target) 37721 goto _94 37722 37723 _40: 37724 _41: 37725 i32(0) 37726 i32(0) 37727 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 37728 _sqlite3VdbeAddOp2(tls, _v, _op, _r1, _inReg) 37729 goto _94 37730 37731 _42: 37732 _43: 37733 i32(0) 37734 i32(0) 37735 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _target) 37736 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 37737 _31_addr = _sqlite3VdbeAddOp1(tls, _v, _op, _r1) 37738 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _target) 37739 _sqlite3VdbeJumpHere(tls, _v, _31_addr) 37740 goto _94 37741 37742 _44: 37743 _32_pInfo = (*XAggInfo)(unsafe.Pointer(_pExpr.X13)) 37744 if _32_pInfo != (*XAggInfo)(unsafe.Pointer(uintptr(i32(0)))) { 37745 goto _103 37746 } 37747 37748 func() int32 { 37749 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37750 return i32(0) 37751 } 37752 return func() int32 { 37753 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94345), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37754 crt.X__builtin_abort(tls) 37755 return i32(0) 37756 }() 37757 }() 37758 _sqlite3ErrorMsg(tls, _pParse, str(45092), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 37759 goto _106 37760 37761 _103: 37762 r0 = (*XAutoincInfo)(unsafe.Pointer(uintptr(_32_pInfo.X11) + 16*uintptr(_pExpr.X10))).X2 37763 return 37764 37765 _106: 37766 goto _94 37767 37768 _45: 37769 _35_constMask = u32(0) 37770 _35_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 37771 _35_enc = _35_db.X14 37772 _35_pColl = nil 37773 if (_pParse.X11) == 0 || _sqlite3ExprIsConstantNotJoin(tls, _pExpr) == 0 { 37774 goto _108 37775 } 37776 37777 r0 = _sqlite3ExprCodeAtInit(tls, _pParse, _pExpr, i32(-1)) 37778 return 37779 37780 _108: 37781 func() int32 { 37782 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 37783 return i32(0) 37784 } 37785 return func() int32 { 37786 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45120))) 37787 crt.X__builtin_abort(tls) 37788 return i32(0) 37789 }() 37790 }() 37791 if ((_pExpr.X2) & uint32(i32(16384))) == uint32(i32(0)) { 37792 goto _111 37793 } 37794 37795 _35_pFarg = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 37796 goto _112 37797 37798 _111: 37799 _35_pFarg = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 37800 _112: 37801 _35_nFarg = func() int32 { 37802 if _35_pFarg != nil { 37803 return (_35_pFarg.X0) 37804 } 37805 return i32(0) 37806 }() 37807 func() int32 { 37808 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 37809 return i32(0) 37810 } 37811 return func() int32 { 37812 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94375), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 37813 crt.X__builtin_abort(tls) 37814 return i32(0) 37815 }() 37816 }() 37817 _35_zId = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) 37818 _35_pDef = _sqlite3FindFunction(tls, _35_db, _35_zId, _35_nFarg, _35_enc, uint8(i32(0))) 37819 if _35_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) && *(*unsafe.Pointer)(unsafe.Pointer(&struct { 37820 f func(*crt.TLS, *Xsqlite3_context) 37821 }{(*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { 37822 f func(*crt.TLS, unsafe.Pointer) 37823 }{(_35_pDef.X5)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 37824 f func(*crt.TLS, *Xsqlite3_context) 37825 }{nil})) { 37826 goto _118 37827 } 37828 37829 _sqlite3ErrorMsg(tls, _pParse, str(45160), unsafe.Pointer(_35_zId)) 37830 goto _94 37831 37832 _118: 37833 if (int32(_35_pDef.X1) & i32(512)) == 0 { 37834 goto _119 37835 } 37836 37837 _40_endCoalesce = _sqlite3VdbeMakeLabel(tls, _v) 37838 func() int32 { 37839 if _35_nFarg >= i32(2) { 37840 return i32(0) 37841 } 37842 return func() int32 { 37843 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94394), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45184))) 37844 crt.X__builtin_abort(tls) 37845 return i32(0) 37846 }() 37847 }() 37848 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(0)))).X0)), _target) 37849 _35_i = i32(1) 37850 _122: 37851 if _35_i >= _35_nFarg { 37852 goto _125 37853 } 37854 37855 _sqlite3VdbeAddOp2(tls, _v, i32(35), _target, _40_endCoalesce) 37856 _sqlite3ExprCacheRemove(tls, _pParse, _target, i32(1)) 37857 _sqlite3ExprCachePush(tls, _pParse) 37858 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(_35_i))).X0)), _target) 37859 _sqlite3ExprCachePop(tls, _pParse) 37860 _35_i += 1 37861 goto _122 37862 37863 _125: 37864 _sqlite3VdbeResolveLabel(tls, _v, _40_endCoalesce) 37865 goto _94 37866 37867 _119: 37868 if (int32(_35_pDef.X1) & i32(1024)) == 0 { 37869 goto _126 37870 } 37871 37872 func() int32 { 37873 if _35_nFarg >= i32(1) { 37874 return i32(0) 37875 } 37876 return func() int32 { 37877 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94412), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45196))) 37878 crt.X__builtin_abort(tls) 37879 return i32(0) 37880 }() 37881 }() 37882 r0 = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(0)))).X0)), _target) 37883 return 37884 37885 _126: 37886 if (int32(_35_pDef.X1) & i32(16384)) == 0 { 37887 goto _129 37888 } 37889 37890 _43_azAff = [5]*int8{} 37891 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 4*uintptr(i32(0)))) = str(45208) 37892 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 4*uintptr(i32(1)))) = str(45216) 37893 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 4*uintptr(i32(2)))) = str(45224) 37894 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 4*uintptr(i32(3)))) = str(45232) 37895 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 4*uintptr(i32(4)))) = str(45240) 37896 func() int32 { 37897 if _35_nFarg == i32(1) { 37898 return i32(0) 37899 } 37900 return func() int32 { 37901 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94424), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45248))) 37902 crt.X__builtin_abort(tls) 37903 return i32(0) 37904 }() 37905 }() 37906 _43_aff = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(0)))).X0))) 37907 _sqlite3VdbeLoadString(tls, _v, _target, func() *int8 { 37908 if _43_aff != 0 { 37909 return (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_43_azAff)) + 4*uintptr(int32(_43_aff)-i32(65))))) 37910 } 37911 return str(45260) 37912 }()) 37913 r0 = _target 37914 return 37915 37916 _129: 37917 _35_i = i32(0) 37918 _134: 37919 if _35_i >= _35_nFarg { 37920 goto _137 37921 } 37922 37923 if _35_i >= i32(32) || _sqlite3ExprIsConstant(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(_35_i))).X0))) == 0 { 37924 goto _139 37925 } 37926 37927 { 37928 p := &_35_constMask 37929 *p = (*p) | (u32(1) << uint(_35_i)) 37930 sink985 = *p 37931 } 37932 _139: 37933 if (int32(_35_pDef.X1)&i32(32)) == i32(0) || _35_pColl != nil { 37934 goto _141 37935 } 37936 37937 _35_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(_35_i))).X0))) 37938 _141: 37939 _35_i += 1 37940 goto _134 37941 37942 _137: 37943 if _35_pFarg == nil { 37944 goto _142 37945 } 37946 37947 if _35_constMask == 0 { 37948 goto _143 37949 } 37950 37951 _r1 = (_pParse.X18) + i32(1) 37952 { 37953 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 37954 *p = (*p) + _35_nFarg 37955 sink961 = *p 37956 } 37957 goto _144 37958 37959 _143: 37960 _r1 = _sqlite3GetTempRange(tls, _pParse, _35_nFarg) 37961 _144: 37962 if (int32(_35_pDef.X1) & i32(192)) == i32(0) { 37963 goto _145 37964 } 37965 37966 func() int32 { 37967 if _35_nFarg == i32(1) { 37968 return i32(0) 37969 } 37970 return func() int32 { 37971 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94456), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45248))) 37972 crt.X__builtin_abort(tls) 37973 return i32(0) 37974 }() 37975 }() 37976 func() int32 { 37977 if (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(0)))).X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 37978 return i32(0) 37979 } 37980 return func() int32 { 37981 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94457), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45268))) 37982 crt.X__builtin_abort(tls) 37983 return i32(0) 37984 }() 37985 }() 37986 _50_exprOp = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1) + 20*uintptr(i32(0)))).X0)).X0 37987 if int32(_50_exprOp) != i32(152) && int32(_50_exprOp) != i32(154) { 37988 goto _151 37989 } 37990 37991 i32(0) 37992 i32(0) 37993 *(*uint8)(unsafe.Pointer(uintptr((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(0)))).X0) + uintptr(38 /* X12 */))) = uint8(int32(_35_pDef.X1) & i32(192)) 37994 _151: 37995 _145: 37996 _sqlite3ExprCachePush(tls, _pParse) 37997 _sqlite3ExprCodeExprList(tls, _pParse, _35_pFarg, _r1, i32(0), uint8(i32(3))) 37998 _sqlite3ExprCachePop(tls, _pParse) 37999 goto _152 38000 38001 _142: 38002 _r1 = i32(0) 38003 _152: 38004 if _35_nFarg < i32(2) || ((_pExpr.X2)&uint32(i32(128))) == 0 { 38005 goto _154 38006 } 38007 38008 _35_pDef = _sqlite3VtabOverloadFunction(tls, _35_db, _35_pDef, _35_nFarg, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(1)))).X0))) 38009 goto _155 38010 38011 _154: 38012 if _35_nFarg <= i32(0) { 38013 goto _156 38014 } 38015 38016 _35_pDef = _sqlite3VtabOverloadFunction(tls, _35_db, _35_pDef, _35_nFarg, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_35_pFarg.X1)+20*uintptr(i32(0)))).X0))) 38017 _156: 38018 _155: 38019 if (int32(_35_pDef.X1) & i32(32)) == 0 { 38020 goto _157 38021 } 38022 38023 if _35_pColl != nil { 38024 goto _158 38025 } 38026 38027 _35_pColl = (*XCollSeq)(unsafe.Pointer(_35_db.X2)) 38028 _158: 38029 _sqlite3VdbeAddOp4(tls, _v, i32(89), i32(0), i32(0), i32(0), (*int8)(unsafe.Pointer(_35_pColl)), i32(-3)) 38030 _157: 38031 _sqlite3VdbeAddOp4(tls, _v, i32(90), int32(_35_constMask), _r1, _target, (*int8)(unsafe.Pointer(_35_pDef)), i32(-4)) 38032 _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_35_nFarg))) 38033 if _35_nFarg == 0 || _35_constMask != uint32(i32(0)) { 38034 goto _160 38035 } 38036 38037 _sqlite3ReleaseTempRange(tls, _pParse, _r1, _35_nFarg) 38038 _160: 38039 r0 = _target 38040 return 38041 38042 _46: 38043 _47: 38044 if _op != i32(119) || store961(&_57_nCol, (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0)).X0) == i32(1) { 38045 goto _162 38046 } 38047 38048 _sqlite3SubselectError(tls, _pParse, _57_nCol, i32(1)) 38049 goto _163 38050 38051 _162: 38052 r0 = _sqlite3CodeSubselect(tls, _pParse, _pExpr, i32(0), i32(0)) 38053 return 38054 38055 _163: 38056 goto _94 38057 38058 _48: 38059 if ((*XExpr)(unsafe.Pointer(_pExpr.X4)).X8) != i32(0) { 38060 goto _164 38061 } 38062 38063 *(*int32)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(28 /* X8 */))) = _sqlite3CodeSubselect(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), i32(0), i32(0)) 38064 _164: 38065 func() int32 { 38066 if ((_pExpr.X8) == i32(0)) || (int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) == i32(119)) { 38067 return i32(0) 38068 } 38069 return func() int32 { 38070 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94524), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45292))) 38071 crt.X__builtin_abort(tls) 38072 return i32(0) 38073 }() 38074 }() 38075 if (_pExpr.X8) == 0 || (_pExpr.X8) == store961(&_60_n, _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4)))) { 38076 goto _169 38077 } 38078 38079 _sqlite3ErrorMsg(tls, _pParse, str(45340), _pExpr.X8, _60_n) 38080 _169: 38081 r0 = ((*XExpr)(unsafe.Pointer(_pExpr.X4)).X8) + int32(_pExpr.X9) 38082 return 38083 38084 _49: 38085 _63_destIfFalse = _sqlite3VdbeMakeLabel(tls, _v) 38086 _63_destIfNull = _sqlite3VdbeMakeLabel(tls, _v) 38087 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _target) 38088 _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _63_destIfFalse, _63_destIfNull) 38089 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _target) 38090 _sqlite3VdbeResolveLabel(tls, _v, _63_destIfFalse) 38091 _sqlite3VdbeAddOp2(tls, _v, i32(92), _target, i32(0)) 38092 _sqlite3VdbeResolveLabel(tls, _v, _63_destIfNull) 38093 r0 = _target 38094 return 38095 38096 _50: 38097 _exprCodeBetween(tls, _pParse, _pExpr, _target, nil, i32(0)) 38098 r0 = _target 38099 return 38100 38101 _51: 38102 _52: 38103 _53: 38104 r0 = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _target) 38105 return 38106 38107 _54: 38108 _66_pTab = (*XTable)(unsafe.Pointer(_pExpr.X14)) 38109 _66_p1 = (((_pExpr.X8) * (int32(_66_pTab.X11) + i32(1))) + i32(1)) + int32(_pExpr.X9) 38110 func() int32 { 38111 if ((_pExpr.X8) == i32(0)) || ((_pExpr.X8) == i32(1)) { 38112 return i32(0) 38113 } 38114 return func() int32 { 38115 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94597), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45372))) 38116 crt.X__builtin_abort(tls) 38117 return i32(0) 38118 }() 38119 }() 38120 func() int32 { 38121 if (int32(_pExpr.X9) >= i32(-1)) && (int32(_pExpr.X9) < int32(_66_pTab.X11)) { 38122 return i32(0) 38123 } 38124 return func() int32 { 38125 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94598), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45412))) 38126 crt.X__builtin_abort(tls) 38127 return i32(0) 38128 }() 38129 }() 38130 func() int32 { 38131 if (int32(_66_pTab.X10) < i32(0)) || (int32(_pExpr.X9) != int32(_66_pTab.X10)) { 38132 return i32(0) 38133 } 38134 return func() int32 { 38135 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94599), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45460))) 38136 crt.X__builtin_abort(tls) 38137 return i32(0) 38138 }() 38139 }() 38140 func() int32 { 38141 if (_66_p1 >= i32(0)) && (_66_p1 < ((int32(_66_pTab.X11) * i32(2)) + i32(2))) { 38142 return i32(0) 38143 } 38144 return func() int32 { 38145 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94600), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45508))) 38146 crt.X__builtin_abort(tls) 38147 return i32(0) 38148 }() 38149 }() 38150 _sqlite3VdbeAddOp2(tls, _v, i32(144), _66_p1, _target) 38151 _sqlite3VdbeComment(tls, _v, str(45540), unsafe.Pointer(func() *int8 { 38152 if (_pExpr.X8) != 0 { 38153 return str(45556) 38154 } 38155 return str(45560) 38156 }()), unsafe.Pointer(func() *int8 { 38157 if int32(_pExpr.X9) < i32(0) { 38158 return str(28688) 38159 } 38160 return ((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pExpr.X14)).X1) + 16*uintptr(_pExpr.X9))).X0) 38161 }()), _target) 38162 if int32(_pExpr.X9) < i32(0) || int32((*XColumn)(unsafe.Pointer(uintptr(_66_pTab.X1)+16*uintptr(_pExpr.X9))).X4) != i32(69) { 38163 goto _187 38164 } 38165 38166 _sqlite3VdbeAddOp1(tls, _v, i32(93), _target) 38167 _187: 38168 goto _94 38169 38170 _55: 38171 _sqlite3ErrorMsg(tls, _pParse, str(45564)) 38172 goto _94 38173 38174 _56: 38175 func() int32 { 38176 if _op == i32(136) { 38177 return i32(0) 38178 } 38179 return func() int32 { 38180 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94650), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45584))) 38181 crt.X__builtin_abort(tls) 38182 return i32(0) 38183 }() 38184 }() 38185 _69_pTest = nil 38186 _69_iCacheLevel = _pParse.X23 38187 func() int32 { 38188 if (((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0))) && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) != nil) { 38189 return i32(0) 38190 } 38191 return func() int32 { 38192 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94662), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45596))) 38193 crt.X__builtin_abort(tls) 38194 return i32(0) 38195 }() 38196 }() 38197 func() int32 { 38198 if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0) > i32(0) { 38199 return i32(0) 38200 } 38201 return func() int32 { 38202 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94663), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45652))) 38203 crt.X__builtin_abort(tls) 38204 return i32(0) 38205 }() 38206 }() 38207 _69_pEList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 38208 _69_aListelem = (*T7850641)(unsafe.Pointer(_69_pEList.X1)) 38209 _69_nExpr = _69_pEList.X0 38210 _69_endLabel = _sqlite3VdbeMakeLabel(tls, _v) 38211 if store7851696(&_69_pX, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 38212 goto _195 38213 } 38214 38215 _tempX = *_69_pX 38216 _exprToRegister(tls, &_tempX, _exprCodeVector(tls, _pParse, &_tempX, &_regFree1)) 38217 crt.Xmemset(tls, (unsafe.Pointer)(&_69_opCompare), i32(0), u32(48)) 38218 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_69_opCompare)) + uintptr(0 /* X0 */))) = uint8(i32(37)) 38219 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_69_opCompare)) + uintptr(12 /* X4 */))))) = &_tempX 38220 _69_pTest = &_69_opCompare 38221 _regFree1 = i32(0) 38222 _195: 38223 _69_i = i32(0) 38224 _196: 38225 if _69_i >= (_69_nExpr - i32(1)) { 38226 goto _199 38227 } 38228 38229 _sqlite3ExprCachePush(tls, _pParse) 38230 if _69_pX == nil { 38231 goto _200 38232 } 38233 38234 func() int32 { 38235 if _69_pTest != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 38236 return i32(0) 38237 } 38238 return func() int32 { 38239 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94686), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45680))) 38240 crt.X__builtin_abort(tls) 38241 return i32(0) 38242 }() 38243 }() 38244 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_69_opCompare)) + uintptr(16 /* X5 */))))) = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_69_aListelem)) + 20*uintptr(_69_i))).X0)) 38245 goto _203 38246 38247 _200: 38248 _69_pTest = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_69_aListelem)) + 20*uintptr(_69_i))).X0)) 38249 _203: 38250 _69_nextCase = _sqlite3VdbeMakeLabel(tls, _v) 38251 _sqlite3ExprIfFalse(tls, _pParse, _69_pTest, _69_nextCase, i32(16)) 38252 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_69_aListelem))+20*uintptr(_69_i+i32(1)))).X0)), _target) 38253 _sqlite3VdbeGoto(tls, _v, _69_endLabel) 38254 _sqlite3ExprCachePop(tls, _pParse) 38255 _sqlite3VdbeResolveLabel(tls, _v, _69_nextCase) 38256 _69_i = _69_i + i32(2) 38257 goto _196 38258 38259 _199: 38260 if (_69_nExpr & i32(1)) == i32(0) { 38261 goto _204 38262 } 38263 38264 _sqlite3ExprCachePush(tls, _pParse) 38265 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_69_pEList.X1)+20*uintptr(_69_nExpr-i32(1)))).X0)), _target) 38266 _sqlite3ExprCachePop(tls, _pParse) 38267 goto _205 38268 38269 _204: 38270 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _target) 38271 _205: 38272 func() int32 { 38273 if ((((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) || ((_pParse.X16) > i32(0))) || ((_pParse.X23) == _69_iCacheLevel) { 38274 return i32(0) 38275 } 38276 return func() int32 { 38277 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94707), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45692))) 38278 crt.X__builtin_abort(tls) 38279 return i32(0) 38280 }() 38281 }() 38282 _sqlite3VdbeResolveLabel(tls, _v, _69_endLabel) 38283 goto _94 38284 38285 _57: 38286 func() int32 { 38287 if (((int32(_pExpr.X1) == i32(1)) || (int32(_pExpr.X1) == i32(2))) || (int32(_pExpr.X1) == i32(3))) || (int32(_pExpr.X1) == i32(4)) { 38288 return i32(0) 38289 } 38290 return func() int32 { 38291 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94714), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(45772))) 38292 crt.X__builtin_abort(tls) 38293 return i32(0) 38294 }() 38295 }() 38296 if (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { 38297 goto _215 38298 } 38299 38300 _sqlite3ErrorMsg(tls, _pParse, str(45888)) 38301 r0 = i32(0) 38302 return 38303 38304 _215: 38305 if int32(_pExpr.X1) != i32(2) { 38306 goto _216 38307 } 38308 38309 _sqlite3MayAbort(tls, _pParse) 38310 _216: 38311 func() int32 { 38312 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 38313 return i32(0) 38314 } 38315 return func() int32 { 38316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94727), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeTargetØ00__func__Ø000))), unsafe.Pointer(str(44848))) 38317 crt.X__builtin_abort(tls) 38318 return i32(0) 38319 }() 38320 }() 38321 if int32(_pExpr.X1) != i32(4) { 38322 goto _219 38323 } 38324 38325 _sqlite3VdbeAddOp4(tls, _v, i32(76), i32(0), i32(4), i32(0), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), i32(0)) 38326 goto _220 38327 38328 _219: 38329 _sqlite3HaltConstraint(tls, _pParse, i32(1811), int32(_pExpr.X1), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), int8(i32(0)), uint8(i32(0))) 38330 _220: 38331 goto _94 38332 38333 _94: 38334 _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) 38335 _sqlite3ReleaseTempReg(tls, _pParse, _regFree2) 38336 r0 = _inReg 38337 return 38338 38339 } 38340 38341 var _sqlite3ExprCodeTargetØ00__func__Ø000 [22]int8 // - 38342 38343 func init() { 38344 crt.Xstrncpy(nil, &_sqlite3ExprCodeTargetØ00__func__Ø000[0], str(45940), 22) 38345 } 38346 38347 func _sqlite3ExprCodeGetColumn(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iColumn int32, _iTable int32, _iReg int32, _p5 uint8) (r0 int32) { // sqlite3.c:93963:1 38348 var _v *XVdbe // sqlite3.c:93971:8 38349 _ = _v 38350 var _i int32 // sqlite3.c:93972:7 38351 _ = _i 38352 var _p *T7863733 // sqlite3.c:93973:20 38353 _ = _p 38354 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 38355 *func() **T7863733 { _i = i32(0); return &_p }() = (*T7863733)(unsafe.Pointer((*[10]struct { 38356 X0 int32 38357 X1 int16 38358 X2 uint8 38359 X3 int32 38360 X4 int32 38361 X5 int32 38362 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X48 */))))) 38363 _0: 38364 if _i >= int32(_pParse.X13) { 38365 goto _3 38366 } 38367 38368 if (_p.X0) != _iTable || int32(_p.X1) != _iColumn { 38369 goto _5 38370 } 38371 38372 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(68 /* X24 */))), int32(1)) 38373 _sqlite3ExprCachePinRegister(tls, _pParse, _p.X4) 38374 r0 = _p.X4 38375 return 38376 38377 _5: 38378 *(*uintptr)(unsafe.Pointer(func() **T7863733 { _i += 1; return &_p }())) += uintptr(20) 38379 goto _0 38380 38381 _3: 38382 func() int32 { 38383 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 38384 return i32(0) 38385 } 38386 return func() int32 { 38387 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93982), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeGetColumnØ00__func__Ø000))), unsafe.Pointer(str(44352))) 38388 crt.X__builtin_abort(tls) 38389 return i32(0) 38390 }() 38391 }() 38392 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iTable, _iColumn, _iReg) 38393 if _p5 == 0 { 38394 goto _8 38395 } 38396 38397 _sqlite3VdbeChangeP5(tls, _v, uint16(_p5)) 38398 goto _9 38399 38400 _8: 38401 _sqlite3ExprCacheStore(tls, _pParse, _iTable, _iColumn, _iReg) 38402 _9: 38403 r0 = _iReg 38404 return 38405 38406 } 38407 38408 func _sqlite3ExprCachePinRegister(tls *crt.TLS, _pParse *XParse, _iReg int32) { // sqlite3.c:93894:1 38409 var _i int32 // sqlite3.c:93895:7 38410 _ = _i 38411 var _p *T7863733 // sqlite3.c:93896:20 38412 _ = _p 38413 *func() **T7863733 { _i = i32(0); return &_p }() = (*T7863733)(unsafe.Pointer((*[10]struct { 38414 X0 int32 38415 X1 int16 38416 X2 uint8 38417 X3 int32 38418 X4 int32 38419 X5 int32 38420 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X48 */))))) 38421 _0: 38422 if _i >= int32(_pParse.X13) { 38423 goto _3 38424 } 38425 38426 if (_p.X4) != _iReg { 38427 goto _4 38428 } 38429 38430 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = uint8(i32(0)) 38431 _4: 38432 *(*uintptr)(unsafe.Pointer(func() **T7863733 { _i += 1; return &_p }())) += uintptr(20) 38433 goto _0 38434 38435 _3: 38436 return 38437 38438 } 38439 38440 var _sqlite3ExprCodeGetColumnØ00__func__Ø000 [25]int8 // - 38441 38442 func init() { 38443 crt.Xstrncpy(nil, &_sqlite3ExprCodeGetColumnØ00__func__Ø000[0], str(45964), 25) 38444 } 38445 38446 func _sqlite3ExprCodeGetColumnOfTable(tls *crt.TLS, _v *XVdbe, _pTab *XTable, _iTabCur int32, _iCol int32, _regOut int32) { // sqlite3.c:93929:1 38447 var _2_op int32 // sqlite3.c:93939:9 38448 _ = _2_op 38449 var _2_x int32 // sqlite3.c:93940:9 38450 _ = _2_x 38451 if _iCol >= i32(0) && _iCol != int32(_pTab.X10) { 38452 goto _1 38453 } 38454 38455 _sqlite3VdbeAddOp2(tls, _v, i32(123), _iTabCur, _regOut) 38456 goto _2 38457 38458 _1: 38459 _2_op = func() int32 { 38460 if (_pTab.X16) != 0 { 38461 return i32(157) 38462 } 38463 return i32(98) 38464 }() 38465 _2_x = _iCol 38466 if ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) || (_pTab.X16) != 0 { 38467 goto _6 38468 } 38469 38470 _2_x = int32(_sqlite3ColumnOfIndex(tls, _sqlite3PrimaryKeyIndex(tls, _pTab), int16(_iCol))) 38471 _6: 38472 _sqlite3VdbeAddOp3(tls, _v, _2_op, _iTabCur, _2_x, _regOut) 38473 _2: 38474 if _iCol < i32(0) { 38475 goto _7 38476 } 38477 38478 _sqlite3ColumnDefault(tls, _v, _pTab, _iCol, _regOut) 38479 _7: 38480 return 38481 38482 } 38483 38484 func _sqlite3ColumnOfIndex(tls *crt.TLS, _pIdx *XIndex, _iCol int16) (r0 int16) { // sqlite3.c:100269:1 38485 var _i int32 // sqlite3.c:100270:7 38486 _ = _i 38487 _i = i32(0) 38488 _0: 38489 if _i >= int32(_pIdx.X14) { 38490 goto _3 38491 } 38492 38493 if int32(_iCol) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) { 38494 goto _4 38495 } 38496 38497 r0 = int16(_i) 38498 return 38499 38500 _4: 38501 _i += 1 38502 goto _0 38503 38504 _3: 38505 r0 = int16(i32(-1)) 38506 return 38507 38508 } 38509 38510 func _sqlite3ColumnDefault(tls *crt.TLS, _v *XVdbe, _pTab *XTable, _i int32, _iReg int32) { // sqlite3.c:123345:1 38511 var _1_pValue *XMem // sqlite3.c:123348:19 38512 _ = _1_pValue 38513 var _1_enc uint8 // sqlite3.c:123349:8 38514 _ = _1_enc 38515 var _1_pCol *XColumn // sqlite3.c:123350:12 38516 _ = _1_pCol 38517 func() int32 { 38518 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 38519 return i32(0) 38520 } 38521 return func() int32 { 38522 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123346), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ColumnDefaultØ00__func__Ø000))), unsafe.Pointer(str(45992))) 38523 crt.X__builtin_abort(tls) 38524 return i32(0) 38525 }() 38526 }() 38527 if (*XSelect)(unsafe.Pointer(_pTab.X3)) != nil { 38528 goto _2 38529 } 38530 38531 _1_pValue = nil 38532 _1_enc = _sqlite3VdbeDb(tls, _v).X14 38533 _1_pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_i))) 38534 _sqlite3VdbeComment(tls, _v, str(7872), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_1_pCol.X0)) 38535 func() int32 { 38536 if _i < int32(_pTab.X11) { 38537 return i32(0) 38538 } 38539 return func() int32 { 38540 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123352), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ColumnDefaultØ00__func__Ø000))), unsafe.Pointer(str(46000))) 38541 crt.X__builtin_abort(tls) 38542 return i32(0) 38543 }() 38544 }() 38545 _sqlite3ValueFromExpr(tls, _sqlite3VdbeDb(tls, _v), (*XExpr)(unsafe.Pointer(_1_pCol.X1)), _1_enc, uint8(_1_pCol.X4), &_1_pValue) 38546 if _1_pValue == nil { 38547 goto _5 38548 } 38549 38550 _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_1_pValue), i32(-7)) 38551 _5: 38552 _2: 38553 if int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X4) != i32(69) { 38554 goto _6 38555 } 38556 38557 _sqlite3VdbeAddOp1(tls, _v, i32(93), _iReg) 38558 _6: 38559 return 38560 38561 } 38562 38563 var _sqlite3ColumnDefaultØ00__func__Ø000 [21]int8 // - 38564 38565 func init() { 38566 crt.Xstrncpy(nil, &_sqlite3ColumnDefaultØ00__func__Ø000[0], str(46016), 21) 38567 } 38568 38569 func _sqlite3VdbeDb(tls *crt.TLS, _v *XVdbe) (r0 *Xsqlite3) { // sqlite3.c:75855:1 38570 r0 = (*Xsqlite3)(unsafe.Pointer(_v.X0)) 38571 return 38572 38573 } 38574 38575 func _sqlite3ValueFromExpr(tls *crt.TLS, _db *Xsqlite3, _pExpr *XExpr, _enc uint8, _affinity uint8, _ppVal **XMem) (r0 int32) { // sqlite3.c:71003:1 38576 r0 = func() int32 { 38577 if _pExpr != nil { 38578 return _valueFromExpr(tls, _db, _pExpr, _enc, _affinity, _ppVal, (*T8093182)(unsafe.Pointer(uintptr(i32(0))))) 38579 } 38580 return i32(0) 38581 }() 38582 return 38583 38584 } 38585 38586 func _valueFromExpr(tls *crt.TLS, _db *Xsqlite3, _pExpr *XExpr, _enc uint8, _affinity uint8, _ppVal **XMem, _pCtx *T8093182) (r0 int32) { // sqlite3.c:70870:1 38587 var _op int32 // sqlite3.c:70878:7 38588 _ = _op 38589 var _zVal *int8 // sqlite3.c:70879:8 38590 _ = _zVal 38591 var _pVal *XMem // sqlite3.c:70880:17 38592 _ = _pVal 38593 var _negInt int32 // sqlite3.c:70881:7 38594 _ = _negInt 38595 var _zNeg *int8 // sqlite3.c:70882:14 38596 _ = _zNeg 38597 var _rc int32 // sqlite3.c:70883:7 38598 _ = _rc 38599 var _1_aff uint8 // sqlite3.c:70896:8 38600 _ = _1_aff 38601 var _16_nVal int32 // sqlite3.c:70959:9 38602 _ = _16_nVal 38603 _zVal = nil 38604 _pVal = nil 38605 _negInt = i32(1) 38606 _zNeg = str(196) 38607 _rc = i32(0) 38608 func() int32 { 38609 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 38610 return i32(0) 38611 } 38612 return func() int32 { 38613 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70885), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(46040))) 38614 crt.X__builtin_abort(tls) 38615 return i32(0) 38616 }() 38617 }() 38618 _2: 38619 if store961(&_op, int32(_pExpr.X0)) != i32(156) && _op != i32(161) { 38620 goto _3 38621 } 38622 38623 _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 38624 goto _2 38625 38626 _3: 38627 if func() int32 { 38628 if _op == i32(157) { 38629 return func() int32 { 38630 func() int32 { 38631 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70887), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(5204))) 38632 crt.X__builtin_abort(tls) 38633 return i32(0) 38634 }() 38635 return i32(1) 38636 }() 38637 } 38638 return i32(0) 38639 }() == 0 { 38640 goto _7 38641 } 38642 38643 _op = int32(_pExpr.X12) 38644 _7: 38645 func() int32 { 38646 if (((_pExpr.X2) & uint32(i32(16384))) == uint32(i32(0))) || (_pCtx == (*T8093182)(unsafe.Pointer(uintptr(i32(0))))) { 38647 return i32(0) 38648 } 38649 return func() int32 { 38650 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70893), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(46052))) 38651 crt.X__builtin_abort(tls) 38652 return i32(0) 38653 }() 38654 }() 38655 if _op != i32(66) { 38656 goto _11 38657 } 38658 38659 _1_aff = uint8(_sqlite3AffinityType(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*uint8)(unsafe.Pointer(uintptr(i32(0)))))) 38660 _rc = _valueFromExpr(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _enc, _1_aff, _ppVal, _pCtx) 38661 if (*_ppVal) == nil { 38662 goto _12 38663 } 38664 38665 _sqlite3VdbeMemCast(tls, *_ppVal, _1_aff, uint8(i32(1))) 38666 _sqlite3ValueApplyAffinity(tls, *_ppVal, _affinity, uint8(i32(1))) 38667 _12: 38668 r0 = _rc 38669 return 38670 38671 _11: 38672 if _op != i32(155) || int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) != i32(134) && int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) != i32(132) { 38673 goto _15 38674 } 38675 38676 _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 38677 _op = int32(_pExpr.X0) 38678 _negInt = i32(-1) 38679 _zNeg = str(39916) 38680 _15: 38681 if _op != i32(97) && _op != i32(132) && _op != i32(134) { 38682 goto _18 38683 } 38684 38685 _pVal = _valueNew(tls, _db, _pCtx) 38686 if _pVal != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 38687 goto _19 38688 } 38689 38690 goto _no_mem 38691 38692 _19: 38693 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 38694 goto _20 38695 } 38696 38697 _sqlite3VdbeMemSetInt64(tls, _pVal, int64(*(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))*int64(_negInt)) 38698 goto _21 38699 38700 _20: 38701 _zVal = _sqlite3MPrintf(tls, _db, str(6548), unsafe.Pointer(_zNeg), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 38702 if _zVal != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 38703 goto _22 38704 } 38705 38706 goto _no_mem 38707 38708 _22: 38709 _sqlite3ValueSetStr(tls, _pVal, i32(-1), (unsafe.Pointer)(_zVal), uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 38710 f func(*crt.TLS, unsafe.Pointer) int32 38711 }{_sqlite3MallocSize}))) 38712 _21: 38713 if _op != i32(134) && _op != i32(132) || int32(_affinity) != i32(65) { 38714 goto _25 38715 } 38716 38717 _sqlite3ValueApplyAffinity(tls, _pVal, uint8(i32(67)), uint8(i32(1))) 38718 goto _26 38719 38720 _25: 38721 _sqlite3ValueApplyAffinity(tls, _pVal, _affinity, uint8(i32(1))) 38722 _26: 38723 if (int32(_pVal.X1) & i32(12)) == 0 { 38724 goto _27 38725 } 38726 38727 { 38728 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(8 /* X1 */))) 38729 *p = uint16(int32(*p) & i32(-3)) 38730 sink6908 = *p 38731 } 38732 _27: 38733 if int32(_enc) == i32(1) { 38734 goto _28 38735 } 38736 38737 _rc = _sqlite3VdbeChangeEncoding(tls, _pVal, int32(_enc)) 38738 _28: 38739 goto _29 38740 38741 _18: 38742 if _op != i32(155) { 38743 goto _30 38744 } 38745 38746 if i32(0) != _sqlite3ValueFromExpr(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _enc, _affinity, &_pVal) || _pVal == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 38747 goto _32 38748 } 38749 38750 _sqlite3VdbeMemNumerify(tls, _pVal) 38751 if (int32(_pVal.X1) & i32(8)) == 0 { 38752 goto _33 38753 } 38754 38755 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */))))) = -(*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */)))))) 38756 goto _34 38757 38758 _33: 38759 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */)))))) != i64(-9223372036854775808) { 38760 goto _35 38761 } 38762 38763 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */))))) = 9.223372036854776e+18 38764 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(8 /* X1 */))) = uint16((int32(_pVal.X1) & i32(-49664)) | i32(8)) 38765 goto _36 38766 38767 _35: 38768 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */))))) = -(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal)) + uintptr(0 /* X0 */)))))) 38769 _36: 38770 _34: 38771 _sqlite3ValueApplyAffinity(tls, _pVal, _affinity, _enc) 38772 _32: 38773 goto _37 38774 38775 _30: 38776 if _op != i32(101) { 38777 goto _38 38778 } 38779 38780 _pVal = _valueNew(tls, _db, _pCtx) 38781 if _pVal != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 38782 goto _39 38783 } 38784 38785 goto _no_mem 38786 38787 _39: 38788 _sqlite3VdbeMemNumerify(tls, _pVal) 38789 goto _40 38790 38791 _38: 38792 if _op != i32(133) { 38793 goto _41 38794 } 38795 38796 func() int32 { 38797 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(120)) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) == i32(88)) { 38798 return i32(0) 38799 } 38800 return func() int32 { 38801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70960), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(44888))) 38802 crt.X__builtin_abort(tls) 38803 return i32(0) 38804 }() 38805 }() 38806 func() int32 { 38807 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == i32(39) { 38808 return i32(0) 38809 } 38810 return func() int32 { 38811 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70961), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(44940))) 38812 crt.X__builtin_abort(tls) 38813 return i32(0) 38814 }() 38815 }() 38816 _pVal = _valueNew(tls, _db, _pCtx) 38817 if _pVal != nil { 38818 goto _47 38819 } 38820 38821 goto _no_mem 38822 38823 _47: 38824 _zVal = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(2)))) 38825 _16_nVal = _sqlite3Strlen30(tls, _zVal) - i32(1) 38826 func() int32 { 38827 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zVal)) + 1*uintptr(_16_nVal)))) == i32(39) { 38828 return i32(0) 38829 } 38830 return func() int32 { 38831 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70966), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(46096))) 38832 crt.X__builtin_abort(tls) 38833 return i32(0) 38834 }() 38835 }() 38836 _sqlite3VdbeMemSetStr(tls, _pVal, (*int8)(unsafe.Pointer(_sqlite3HexToBlob(tls, _db, _zVal, _16_nVal))), _16_nVal/i32(2), uint8(i32(0)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 38837 f func(*crt.TLS, unsafe.Pointer) int32 38838 }{_sqlite3MallocSize}))) 38839 _41: 38840 _40: 38841 _37: 38842 _29: 38843 *_ppVal = _pVal 38844 r0 = _rc 38845 return 38846 38847 _no_mem: 38848 _sqlite3OomFault(tls, _db) 38849 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zVal)) 38850 func() int32 { 38851 if (*_ppVal) == (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 38852 return i32(0) 38853 } 38854 return func() int32 { 38855 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70984), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(46116))) 38856 crt.X__builtin_abort(tls) 38857 return i32(0) 38858 }() 38859 }() 38860 func() int32 { 38861 if _pCtx == (*T8093182)(unsafe.Pointer(uintptr(i32(0)))) { 38862 return i32(0) 38863 } 38864 return func() int32 { 38865 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70988), unsafe.Pointer((*int8)(unsafe.Pointer(&_valueFromExprØ00__func__Ø000))), unsafe.Pointer(str(46128))) 38866 crt.X__builtin_abort(tls) 38867 return i32(0) 38868 }() 38869 }() 38870 _sqlite3ValueFree(tls, _pVal) 38871 r0 = _sqlite3NomemError(tls, i32(70990)) 38872 return 38873 38874 } 38875 38876 var _valueFromExprØ00__func__Ø000 [14]int8 // - 38877 38878 func init() { 38879 crt.Xstrncpy(nil, &_valueFromExprØ00__func__Ø000[0], str(46136), 14) 38880 } 38881 38882 func _sqlite3AffinityType(tls *crt.TLS, _zIn *int8, _pszEst *uint8) (r0 int8) { // sqlite3.c:100597:1 38883 var _h uint32 // sqlite3.c:100598:7 38884 _ = _h 38885 var _aff int8 // sqlite3.c:100599:8 38886 _ = _aff 38887 var _zChar *int8 // sqlite3.c:100600:14 38888 _ = _zChar 38889 var _14_v int32 // sqlite3.c:100642:17 38890 _ = _14_v 38891 _h = u32(0) 38892 _aff = i8(67) 38893 _zChar = nil 38894 func() int32 { 38895 if _zIn != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 38896 return i32(0) 38897 } 38898 return func() int32 { 38899 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100602), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AffinityTypeØ00__func__Ø000))), unsafe.Pointer(str(46152))) 38900 crt.X__builtin_abort(tls) 38901 return i32(0) 38902 }() 38903 }() 38904 _2: 38905 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(i32(0))))) == 0 { 38906 goto _3 38907 } 38908 38909 _h = (_h << uint(i32(8))) + uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(int32(*_zIn)&i32(255))))) 38910 *(*uintptr)(unsafe.Pointer(&_zIn)) += uintptr(1) 38911 if _h != uint32(i32(1667785074)) { 38912 goto _4 38913 } 38914 38915 _aff = int8(i32(66)) 38916 _zChar = _zIn 38917 goto _5 38918 38919 _4: 38920 if _h != uint32(i32(1668050786)) { 38921 goto _6 38922 } 38923 38924 _aff = int8(i32(66)) 38925 goto _7 38926 38927 _6: 38928 if _h != uint32(i32(1952807028)) { 38929 goto _8 38930 } 38931 38932 _aff = int8(i32(66)) 38933 goto _9 38934 38935 _8: 38936 if _h != uint32(i32(1651273570)) || int32(_aff) != i32(67) && int32(_aff) != i32(69) { 38937 goto _12 38938 } 38939 38940 _aff = int8(i32(65)) 38941 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn)) + 1*uintptr(i32(0))))) != i32(40) { 38942 goto _13 38943 } 38944 38945 _zChar = _zIn 38946 _13: 38947 goto _14 38948 38949 _12: 38950 if _h != uint32(i32(1919246700)) || int32(_aff) != i32(67) { 38951 goto _16 38952 } 38953 38954 _aff = int8(i32(69)) 38955 goto _17 38956 38957 _16: 38958 if _h != uint32(i32(1718382433)) || int32(_aff) != i32(67) { 38959 goto _19 38960 } 38961 38962 _aff = int8(i32(69)) 38963 goto _20 38964 38965 _19: 38966 if _h != uint32(i32(1685026146)) || int32(_aff) != i32(67) { 38967 goto _22 38968 } 38969 38970 _aff = int8(i32(69)) 38971 goto _23 38972 38973 _22: 38974 if (_h & uint32(i32(16777215))) != uint32(i32(6909556)) { 38975 goto _24 38976 } 38977 38978 _aff = int8(i32(68)) 38979 goto _3 38980 38981 _24: 38982 _23: 38983 _20: 38984 _17: 38985 _14: 38986 _9: 38987 _7: 38988 _5: 38989 goto _2 38990 38991 _3: 38992 if _pszEst == nil { 38993 goto _25 38994 } 38995 38996 *_pszEst = uint8(i32(1)) 38997 if int32(_aff) >= i32(67) { 38998 goto _26 38999 } 39000 39001 if _zChar == nil { 39002 goto _27 39003 } 39004 39005 _28: 39006 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zChar)) + 1*uintptr(i32(0))))) == 0 { 39007 goto _29 39008 } 39009 39010 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zChar)) + 1*uintptr(i32(0))))))))) & i32(4)) == 0 { 39011 goto _30 39012 } 39013 39014 _14_v = i32(0) 39015 _sqlite3GetInt32(tls, _zChar, &_14_v) 39016 _14_v = (_14_v / i32(4)) + i32(1) 39017 if _14_v <= i32(255) { 39018 goto _31 39019 } 39020 39021 _14_v = i32(255) 39022 _31: 39023 *_pszEst = uint8(_14_v) 39024 goto _29 39025 39026 _30: 39027 *(*uintptr)(unsafe.Pointer(&_zChar)) += uintptr(1) 39028 goto _28 39029 39030 _29: 39031 goto _32 39032 39033 _27: 39034 *_pszEst = uint8(i32(5)) 39035 _32: 39036 _26: 39037 _25: 39038 r0 = _aff 39039 return 39040 39041 } 39042 39043 var _sqlite3AffinityTypeØ00__func__Ø000 [20]int8 // - 39044 39045 func init() { 39046 crt.Xstrncpy(nil, &_sqlite3AffinityTypeØ00__func__Ø000[0], str(46160), 20) 39047 } 39048 39049 func _sqlite3GetInt32(tls *crt.TLS, _zNum *int8, _pValue *int32) (r0 int32) { // sqlite3.c:28301:1 39050 var _v int64 // sqlite3.c:28302:16 39051 _ = _v 39052 var _i int32 // sqlite3.c:28303:7 39053 _ = _i 39054 var _c int32 // sqlite3.c:28303:10 39055 _ = _c 39056 var _neg int32 // sqlite3.c:28304:7 39057 _ = _neg 39058 var _3_u uint32 // sqlite3.c:28316:9 39059 _ = _3_u 39060 _v = i64(0) 39061 _neg = i32(0) 39062 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(45) { 39063 goto _0 39064 } 39065 39066 _neg = i32(1) 39067 *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) 39068 goto _1 39069 39070 _0: 39071 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(43) { 39072 goto _2 39073 } 39074 39075 *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) 39076 goto _3 39077 39078 _2: 39079 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(1))))) != i32(120) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(1))))) != i32(88) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(2)))))))))&i32(8)) == 0 { 39080 goto _7 39081 } 39082 39083 _3_u = u32(0) 39084 { 39085 p := &_zNum 39086 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 39087 sink1025 = *p 39088 } 39089 _8: 39090 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) { 39091 goto _9 39092 } 39093 39094 *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) 39095 goto _8 39096 39097 _9: 39098 _i = i32(0) 39099 _10: 39100 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i))))))))&i32(8)) == 0 || _i >= i32(8) { 39101 goto _14 39102 } 39103 39104 _3_u = (_3_u * uint32(i32(16))) + uint32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i)))))) 39105 _i += 1 39106 goto _10 39107 39108 _14: 39109 if (_3_u&u32(2147483648)) != uint32(i32(0)) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i))))))))&i32(8)) != i32(0) { 39110 goto _16 39111 } 39112 39113 crt.Xmemcpy(tls, (unsafe.Pointer)(_pValue), (unsafe.Pointer)(&_3_u), uint32(i32(4))) 39114 r0 = i32(1) 39115 return 39116 39117 _16: 39118 r0 = i32(0) 39119 return 39120 39121 _7: 39122 _3: 39123 _1: 39124 _18: 39125 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(i32(0))))) != i32(48) { 39126 goto _19 39127 } 39128 39129 *(*uintptr)(unsafe.Pointer(&_zNum)) += uintptr(1) 39130 goto _18 39131 39132 _19: 39133 _i = i32(0) 39134 _20: 39135 if _i >= i32(11) || store961(&_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zNum)) + 1*uintptr(_i))))-i32(48)) < i32(0) || _c > i32(9) { 39136 goto _25 39137 } 39138 39139 _v = (_v * int64(i32(10))) + int64(_c) 39140 _i += 1 39141 goto _20 39142 39143 _25: 39144 if _i <= i32(10) { 39145 goto _26 39146 } 39147 39148 r0 = i32(0) 39149 return 39150 39151 _26: 39152 if (_v - int64(_neg)) <= int64(i32(2147483647)) { 39153 goto _27 39154 } 39155 39156 r0 = i32(0) 39157 return 39158 39159 _27: 39160 if _neg == 0 { 39161 goto _28 39162 } 39163 39164 _v = -_v 39165 _28: 39166 *_pValue = int32(_v) 39167 r0 = i32(1) 39168 return 39169 39170 } 39171 39172 func _sqlite3HexToInt(tls *crt.TLS, _h int32) (r0 uint8) { // sqlite3.c:28794:1 39173 func() int32 { 39174 if (((_h >= i32(48)) && (_h <= i32(57))) || ((_h >= i32(97)) && (_h <= i32(102)))) || ((_h >= i32(65)) && (_h <= i32(70))) { 39175 return i32(0) 39176 } 39177 return func() int32 { 39178 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28795), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HexToIntØ00__func__Ø000))), unsafe.Pointer(str(46180))) 39179 crt.X__builtin_abort(tls) 39180 return i32(0) 39181 }() 39182 }() 39183 { 39184 p := &_h 39185 *p = (*p) + (i32(9) * (i32(1) & (_h >> uint(i32(6))))) 39186 sink961 = *p 39187 } 39188 r0 = uint8(_h & i32(15)) 39189 return 39190 39191 } 39192 39193 var _sqlite3HexToIntØ00__func__Ø000 [16]int8 // - 39194 39195 func init() { 39196 crt.Xstrncpy(nil, &_sqlite3HexToIntØ00__func__Ø000[0], str(46244), 16) 39197 } 39198 39199 func _sqlite3VdbeMemCast(tls *crt.TLS, _pMem *XMem, _aff uint8, _encoding uint8) { // sqlite3.c:70207:1 39200 if (int32(_pMem.X1) & i32(1)) == 0 { 39201 goto _0 39202 } 39203 39204 return 39205 39206 _0: 39207 switch int32(_aff) { 39208 case i32(65): 39209 goto _2 39210 case i32(67): 39211 goto _3 39212 case i32(68): 39213 goto _4 39214 case i32(69): 39215 goto _5 39216 default: 39217 goto _6 39218 } 39219 39220 _2: 39221 if (int32(_pMem.X1) & i32(16)) != i32(0) { 39222 goto _7 39223 } 39224 39225 _sqlite3ValueApplyAffinity(tls, _pMem, uint8(i32(66)), _encoding) 39226 func() int32 { 39227 if (int32(_pMem.X1)&i32(2)) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X17) != 0) { 39228 return i32(0) 39229 } 39230 return func() int32 { 39231 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70213), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemCastØ00__func__Ø000))), unsafe.Pointer(str(46260))) 39232 crt.X__builtin_abort(tls) 39233 return i32(0) 39234 }() 39235 }() 39236 if (int32(_pMem.X1) & i32(2)) == 0 { 39237 goto _11 39238 } 39239 39240 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(16)) 39241 _11: 39242 goto _12 39243 39244 _7: 39245 { 39246 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 39247 *p = uint16(int32(*p) & i32(-33264)) 39248 sink6908 = *p 39249 } 39250 _12: 39251 goto _13 39252 39253 _3: 39254 _sqlite3VdbeMemNumerify(tls, _pMem) 39255 goto _13 39256 39257 _4: 39258 _sqlite3VdbeMemIntegerify(tls, _pMem) 39259 goto _13 39260 39261 _5: 39262 _sqlite3VdbeMemRealify(tls, _pMem) 39263 goto _13 39264 39265 _6: 39266 func() int32 { 39267 if int32(_aff) == i32(66) { 39268 return i32(0) 39269 } 39270 return func() int32 { 39271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70233), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemCastØ00__func__Ø000))), unsafe.Pointer(str(46308))) 39272 crt.X__builtin_abort(tls) 39273 return i32(0) 39274 }() 39275 }() 39276 i32(0) 39277 { 39278 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 39279 *p = uint16(int32(*p) | ((int32(_pMem.X1) & i32(16)) >> uint(i32(3)))) 39280 sink6908 = *p 39281 } 39282 _sqlite3ValueApplyAffinity(tls, _pMem, uint8(i32(66)), _encoding) 39283 func() int32 { 39284 if (int32(_pMem.X1)&i32(2)) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X17) != 0) { 39285 return i32(0) 39286 } 39287 return func() int32 { 39288 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70237), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemCastØ00__func__Ø000))), unsafe.Pointer(str(46260))) 39289 crt.X__builtin_abort(tls) 39290 return i32(0) 39291 }() 39292 }() 39293 { 39294 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 39295 *p = uint16(int32(*p) & i32(-16413)) 39296 sink6908 = *p 39297 } 39298 goto _13 39299 39300 _13: 39301 return 39302 39303 } 39304 39305 func _sqlite3ValueApplyAffinity(tls *crt.TLS, _pVal *XMem, _affinity uint8, _enc uint8) { // sqlite3.c:78432:1 39306 _applyAffinity(tls, _pVal, int8(_affinity), _enc) 39307 return 39308 39309 } 39310 39311 func _applyAffinity(tls *crt.TLS, _pRec *XMem, _affinity int8, _enc uint8) { // sqlite3.c:78382:1 39312 if int32(_affinity) < i32(67) { 39313 goto _0 39314 } 39315 39316 func() int32 { 39317 if ((int32(_affinity) == i32(68)) || (int32(_affinity) == i32(69))) || (int32(_affinity) == i32(67)) { 39318 return i32(0) 39319 } 39320 return func() int32 { 39321 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78388), unsafe.Pointer((*int8)(unsafe.Pointer(&_applyAffinityØ00__func__Ø000))), unsafe.Pointer(str(46332))) 39322 crt.X__builtin_abort(tls) 39323 return i32(0) 39324 }() 39325 }() 39326 if (int32(_pRec.X1) & i32(4)) != i32(0) { 39327 goto _5 39328 } 39329 39330 if (int32(_pRec.X1) & i32(8)) != i32(0) { 39331 goto _6 39332 } 39333 39334 if (int32(_pRec.X1) & i32(2)) == 0 { 39335 goto _7 39336 } 39337 39338 _applyNumericAffinity(tls, _pRec, i32(1)) 39339 _7: 39340 goto _8 39341 39342 _6: 39343 _sqlite3VdbeIntegerAffinity(tls, _pRec) 39344 _8: 39345 _5: 39346 goto _9 39347 39348 _0: 39349 if int32(_affinity) != i32(66) { 39350 goto _10 39351 } 39352 39353 if i32(0) != (int32(_pRec.X1) & i32(2)) { 39354 goto _11 39355 } 39356 39357 if (int32(_pRec.X1) & i32(12)) == 0 { 39358 goto _12 39359 } 39360 39361 _sqlite3VdbeMemStringify(tls, _pRec, _enc, uint8(i32(1))) 39362 _12: 39363 _11: 39364 { 39365 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(8 /* X1 */))) 39366 *p = uint16(int32(*p) & i32(-13)) 39367 sink6908 = *p 39368 } 39369 _10: 39370 _9: 39371 return 39372 39373 } 39374 39375 var _applyAffinityØ00__func__Ø000 [14]int8 // - 39376 39377 func init() { 39378 crt.Xstrncpy(nil, &_applyAffinityØ00__func__Ø000[0], str(46424), 14) 39379 } 39380 39381 func _applyNumericAffinity(tls *crt.TLS, _pRec *XMem, _bTryForInt int32) { // sqlite3.c:78348:1 39382 var _rValue float64 // sqlite3.c:78349:10 39383 _ = _rValue 39384 var _iValue int64 // sqlite3.c:78350:7 39385 _ = _iValue 39386 var _enc uint8 // sqlite3.c:78351:6 39387 _ = _enc 39388 _enc = _pRec.X2 39389 func() int32 { 39390 if (int32(_pRec.X1) & i32(14)) == i32(2) { 39391 return i32(0) 39392 } 39393 return func() int32 { 39394 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78352), unsafe.Pointer((*int8)(unsafe.Pointer(&_applyNumericAffinityØ00__func__Ø000))), unsafe.Pointer(str(46440))) 39395 crt.X__builtin_abort(tls) 39396 return i32(0) 39397 }() 39398 }() 39399 if _sqlite3AtoF(tls, _pRec.X5, &_rValue, _pRec.X4, _enc) != i32(0) { 39400 goto _2 39401 } 39402 39403 return 39404 39405 _2: 39406 if i32(0) != _sqlite3Atoi64(tls, _pRec.X5, &_iValue, _pRec.X4, _enc) { 39407 goto _3 39408 } 39409 39410 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(0 /* X0 */))))) = _iValue 39411 { 39412 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(8 /* X1 */))) 39413 *p = uint16(int32(*p) | i32(4)) 39414 sink6908 = *p 39415 } 39416 goto _4 39417 39418 _3: 39419 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(0 /* X0 */))))) = _rValue 39420 { 39421 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRec)) + uintptr(8 /* X1 */))) 39422 *p = uint16(int32(*p) | i32(8)) 39423 sink6908 = *p 39424 } 39425 if _bTryForInt == 0 { 39426 goto _5 39427 } 39428 39429 _sqlite3VdbeIntegerAffinity(tls, _pRec) 39430 _5: 39431 _4: 39432 return 39433 39434 } 39435 39436 var _applyNumericAffinityØ00__func__Ø000 [21]int8 // - 39437 39438 func init() { 39439 crt.Xstrncpy(nil, &_applyNumericAffinityØ00__func__Ø000[0], str(46492), 21) 39440 } 39441 39442 func _sqlite3VdbeIntegerAffinity(tls *crt.TLS, _pMem *XMem) { // sqlite3.c:70124:1 39443 var _ix int64 // sqlite3.c:70125:7 39444 _ = _ix 39445 func() int32 { 39446 if (int32(_pMem.X1) & i32(8)) != 0 { 39447 return i32(0) 39448 } 39449 return func() int32 { 39450 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70126), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntegerAffinityØ00__func__Ø000))), unsafe.Pointer(str(46516))) 39451 crt.X__builtin_abort(tls) 39452 return i32(0) 39453 }() 39454 }() 39455 func() int32 { 39456 if (int32(_pMem.X1) & i32(32)) == i32(0) { 39457 return i32(0) 39458 } 39459 return func() int32 { 39460 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70127), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntegerAffinityØ00__func__Ø000))), unsafe.Pointer(str(6376))) 39461 crt.X__builtin_abort(tls) 39462 return i32(0) 39463 }() 39464 }() 39465 func() int32 { 39466 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 39467 return i32(0) 39468 } 39469 return func() int32 { 39470 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70128), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntegerAffinityØ00__func__Ø000))), unsafe.Pointer(str(4300))) 39471 crt.X__builtin_abort(tls) 39472 return i32(0) 39473 }() 39474 }() 39475 func() int32 { 39476 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 39477 return i32(0) 39478 } 39479 return func() int32 { 39480 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70129), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIntegerAffinityØ00__func__Ø000))), unsafe.Pointer(str(5944))) 39481 crt.X__builtin_abort(tls) 39482 return i32(0) 39483 }() 39484 }() 39485 _ix = _doubleToInt64(tls, *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 39486 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) != float64(_ix) || _ix <= i64(-9223372036854775808) || _ix >= i64(9223372036854775807) { 39487 goto _11 39488 } 39489 39490 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _ix 39491 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(4)) 39492 _11: 39493 return 39494 39495 } 39496 39497 var _sqlite3VdbeIntegerAffinityØ00__func__Ø000 [27]int8 // - 39498 39499 func init() { 39500 crt.Xstrncpy(nil, &_sqlite3VdbeIntegerAffinityØ00__func__Ø000[0], str(46540), 27) 39501 } 39502 39503 var _sqlite3VdbeMemCastØ00__func__Ø000 [19]int8 // - 39504 39505 func init() { 39506 crt.Xstrncpy(nil, &_sqlite3VdbeMemCastØ00__func__Ø000[0], str(46568), 19) 39507 } 39508 39509 func _sqlite3VdbeMemNumerify(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:70183:1 39510 if (int32(_pMem.X1) & i32(13)) != i32(0) { 39511 goto _0 39512 } 39513 39514 func() int32 { 39515 if (int32(_pMem.X1) & i32(18)) != i32(0) { 39516 return i32(0) 39517 } 39518 return func() int32 { 39519 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70185), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemNumerifyØ00__func__Ø000))), unsafe.Pointer(str(46588))) 39520 crt.X__builtin_abort(tls) 39521 return i32(0) 39522 }() 39523 }() 39524 func() int32 { 39525 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 39526 return i32(0) 39527 } 39528 return func() int32 { 39529 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70186), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemNumerifyØ00__func__Ø000))), unsafe.Pointer(str(4300))) 39530 crt.X__builtin_abort(tls) 39531 return i32(0) 39532 }() 39533 }() 39534 if i32(0) != _sqlite3Atoi64(tls, _pMem.X5, (*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */))))), _pMem.X4, _pMem.X2) { 39535 goto _6 39536 } 39537 39538 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(4)) 39539 goto _7 39540 39541 _6: 39542 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeRealValue(tls, _pMem) 39543 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(8)) 39544 _sqlite3VdbeIntegerAffinity(tls, _pMem) 39545 _7: 39546 _0: 39547 func() int32 { 39548 if (int32(_pMem.X1) & i32(13)) != i32(0) { 39549 return i32(0) 39550 } 39551 return func() int32 { 39552 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70195), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemNumerifyØ00__func__Ø000))), unsafe.Pointer(str(46628))) 39553 crt.X__builtin_abort(tls) 39554 return i32(0) 39555 }() 39556 }() 39557 { 39558 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) 39559 *p = uint16(int32(*p) & i32(-16403)) 39560 sink6908 = *p 39561 } 39562 r0 = i32(0) 39563 return 39564 39565 } 39566 39567 var _sqlite3VdbeMemNumerifyØ00__func__Ø000 [23]int8 // - 39568 39569 func init() { 39570 crt.Xstrncpy(nil, &_sqlite3VdbeMemNumerifyØ00__func__Ø000[0], str(46676), 23) 39571 } 39572 39573 func _sqlite3VdbeMemIntegerify(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:70152:1 39574 func() int32 { 39575 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 39576 return i32(0) 39577 } 39578 return func() int32 { 39579 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70153), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemIntegerifyØ00__func__Ø000))), unsafe.Pointer(str(4300))) 39580 crt.X__builtin_abort(tls) 39581 return i32(0) 39582 }() 39583 }() 39584 func() int32 { 39585 if (int32(_pMem.X1) & i32(32)) == i32(0) { 39586 return i32(0) 39587 } 39588 return func() int32 { 39589 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70154), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemIntegerifyØ00__func__Ø000))), unsafe.Pointer(str(6376))) 39590 crt.X__builtin_abort(tls) 39591 return i32(0) 39592 }() 39593 }() 39594 func() int32 { 39595 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 39596 return i32(0) 39597 } 39598 return func() int32 { 39599 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70155), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemIntegerifyØ00__func__Ø000))), unsafe.Pointer(str(5944))) 39600 crt.X__builtin_abort(tls) 39601 return i32(0) 39602 }() 39603 }() 39604 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeIntValue(tls, _pMem) 39605 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(4)) 39606 r0 = i32(0) 39607 return 39608 39609 } 39610 39611 var _sqlite3VdbeMemIntegerifyØ00__func__Ø000 [25]int8 // - 39612 39613 func init() { 39614 crt.Xstrncpy(nil, &_sqlite3VdbeMemIntegerifyØ00__func__Ø000[0], str(46700), 25) 39615 } 39616 39617 func _sqlite3VdbeMemRealify(tls *crt.TLS, _pMem *XMem) (r0 int32) { // sqlite3.c:70166:1 39618 func() int32 { 39619 if ((*Xsqlite3)(unsafe.Pointer(_pMem.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X3))) != 0 { 39620 return i32(0) 39621 } 39622 return func() int32 { 39623 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70167), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemRealifyØ00__func__Ø000))), unsafe.Pointer(str(4300))) 39624 crt.X__builtin_abort(tls) 39625 return i32(0) 39626 }() 39627 }() 39628 func() int32 { 39629 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 39630 return i32(0) 39631 } 39632 return func() int32 { 39633 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70168), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemRealifyØ00__func__Ø000))), unsafe.Pointer(str(5944))) 39634 crt.X__builtin_abort(tls) 39635 return i32(0) 39636 }() 39637 }() 39638 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeRealValue(tls, _pMem) 39639 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16((int32(_pMem.X1) & i32(-49664)) | i32(8)) 39640 r0 = i32(0) 39641 return 39642 39643 } 39644 39645 var _sqlite3VdbeMemRealifyØ00__func__Ø000 [22]int8 // - 39646 39647 func init() { 39648 crt.Xstrncpy(nil, &_sqlite3VdbeMemRealifyØ00__func__Ø000[0], str(46728), 22) 39649 } 39650 39651 func _valueNew(tls *crt.TLS, _db *Xsqlite3, _p *T8093182) (r0 *XMem) { // sqlite3.c:70714:1 39652 39653 r0 = _sqlite3ValueNew(tls, _db) 39654 return 39655 39656 } 39657 39658 func _sqlite3HexToBlob(tls *crt.TLS, _db *Xsqlite3, _z *int8, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:28812:1 39659 var _zBlob *int8 // sqlite3.c:28813:8 39660 _ = _zBlob 39661 var _i int32 // sqlite3.c:28814:7 39662 _ = _i 39663 _zBlob = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64((_n/i32(2))+i32(1))))) 39664 _n -= 1 39665 if _zBlob == nil { 39666 goto _0 39667 } 39668 39669 _i = i32(0) 39670 _1: 39671 if _i >= _n { 39672 goto _4 39673 } 39674 39675 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBlob)) + 1*uintptr(_i/i32(2)))) = int8((int32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))))) << uint(i32(4))) | int32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i+i32(1)))))))) 39676 { 39677 p := &_i 39678 *p = (*p) + i32(2) 39679 sink961 = *p 39680 } 39681 goto _1 39682 39683 _4: 39684 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBlob)) + 1*uintptr(_i/i32(2)))) = int8(i32(0)) 39685 _0: 39686 r0 = (unsafe.Pointer)(_zBlob) 39687 return 39688 39689 } 39690 39691 func _sqlite3VdbeAddOp1(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32) (r0 int32) { // sqlite3.c:71547:1 39692 r0 = _sqlite3VdbeAddOp3(tls, _p, _op, _p1, i32(0), i32(0)) 39693 return 39694 39695 } 39696 39697 func _sqlite3ExprCacheStore(tls *crt.TLS, _pParse *XParse, _iTab int32, _iCol int32, _iReg int32) { // sqlite3.c:93784:1 39698 var _i int32 // sqlite3.c:93785:7 39699 _ = _i 39700 var _minLru int32 // sqlite3.c:93786:7 39701 _ = _minLru 39702 var _idxLru int32 // sqlite3.c:93787:7 39703 _ = _idxLru 39704 var _p *T7863733 // sqlite3.c:93788:20 39705 _ = _p 39706 func() int32 { 39707 if ((_iReg > i32(0)) || (_pParse.X16) != 0) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 39708 return i32(0) 39709 } 39710 return func() int32 { 39711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93791), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCacheStoreØ00__func__Ø000))), unsafe.Pointer(str(46752))) 39712 crt.X__builtin_abort(tls) 39713 return i32(0) 39714 }() 39715 }() 39716 func() int32 { 39717 if (_iCol >= i32(-1)) && (_iCol < i32(32768)) { 39718 return i32(0) 39719 } 39720 return func() int32 { 39721 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93792), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCacheStoreØ00__func__Ø000))), unsafe.Pointer(str(46804))) 39722 crt.X__builtin_abort(tls) 39723 return i32(0) 39724 }() 39725 }() 39726 if (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X13) & i32(2)) == i32(0) { 39727 goto _7 39728 } 39729 39730 return 39731 39732 _7: 39733 *func() **T7863733 { _i = i32(0); return &_p }() = (*T7863733)(unsafe.Pointer((*[10]struct { 39734 X0 int32 39735 X1 int16 39736 X2 uint8 39737 X3 int32 39738 X4 int32 39739 X5 int32 39740 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X48 */))))) 39741 _8: 39742 if _i >= int32(_pParse.X13) { 39743 goto _11 39744 } 39745 39746 func() int32 { 39747 if ((_p.X0) != _iTab) || (int32(_p.X1) != _iCol) { 39748 return i32(0) 39749 } 39750 return func() int32 { 39751 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93807), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCacheStoreØ00__func__Ø000))), unsafe.Pointer(str(46828))) 39752 crt.X__builtin_abort(tls) 39753 return i32(0) 39754 }() 39755 }() 39756 *(*uintptr)(unsafe.Pointer(func() **T7863733 { _i += 1; return &_p }())) += uintptr(20) 39757 goto _8 39758 39759 _11: 39760 if int32(_pParse.X13) < i32(10) { 39761 goto _15 39762 } 39763 39764 _minLru = i32(2147483647) 39765 _idxLru = i32(-1) 39766 *func() **T7863733 { _i = i32(0); return &_p }() = (*T7863733)(unsafe.Pointer((*[10]struct { 39767 X0 int32 39768 X1 int16 39769 X2 uint8 39770 X3 int32 39771 X4 int32 39772 X5 int32 39773 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X48 */))))) 39774 _16: 39775 if _i >= i32(10) { 39776 goto _19 39777 } 39778 39779 if (_p.X5) >= _minLru { 39780 goto _20 39781 } 39782 39783 _idxLru = _i 39784 _minLru = _p.X5 39785 _20: 39786 *(*uintptr)(unsafe.Pointer(func() **T7863733 { _i += 1; return &_p }())) += uintptr(20) 39787 goto _16 39788 39789 _19: 39790 _p = (*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 39791 X0 int32 39792 X1 int16 39793 X2 uint8 39794 X3 int32 39795 X4 int32 39796 X5 int32 39797 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_idxLru))) 39798 goto _21 39799 39800 _15: 39801 _p = (*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 39802 X0 int32 39803 X1 int16 39804 X2 uint8 39805 X3 int32 39806 X4 int32 39807 X5 int32 39808 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(postInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(25 /* X13 */))), uint8(1))))) 39809 _21: 39810 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) = _pParse.X23 39811 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _iTab 39812 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = int16(_iCol) 39813 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = _iReg 39814 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = uint8(i32(0)) 39815 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(68 /* X24 */))), int32(1)) 39816 return 39817 39818 } 39819 39820 var _sqlite3ExprCacheStoreØ00__func__Ø000 [22]int8 // - 39821 39822 func init() { 39823 crt.Xstrncpy(nil, &_sqlite3ExprCacheStoreØ00__func__Ø000[0], str(46864), 22) 39824 } 39825 39826 func _codeInteger(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _negFlag int32, _iMem int32) { // sqlite3.c:93731:1 39827 var _v *XVdbe // sqlite3.c:93732:8 39828 _ = _v 39829 var _1_i int32 // sqlite3.c:93734:9 39830 _ = _1_i 39831 var _2_c int32 // sqlite3.c:93739:9 39832 _ = _2_c 39833 var _2_value int64 // sqlite3.c:93740:9 39834 _ = _2_value 39835 var _2_z *int8 // sqlite3.c:93741:16 39836 _ = _2_z 39837 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 39838 if ((_pExpr.X2) & uint32(i32(1024))) == 0 { 39839 goto _0 39840 } 39841 39842 _1_i = *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) 39843 func() int32 { 39844 if _1_i >= i32(0) { 39845 return i32(0) 39846 } 39847 return func() int32 { 39848 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93735), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeIntegerØ00__func__Ø000))), unsafe.Pointer(str(46888))) 39849 crt.X__builtin_abort(tls) 39850 return i32(0) 39851 }() 39852 }() 39853 if _negFlag == 0 { 39854 goto _3 39855 } 39856 39857 _1_i = -_1_i 39858 _3: 39859 _sqlite3VdbeAddOp2(tls, _v, i32(77), _1_i, _iMem) 39860 goto _4 39861 39862 _0: 39863 _2_z = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) 39864 func() int32 { 39865 if _2_z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 39866 return i32(0) 39867 } 39868 return func() int32 { 39869 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93742), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeIntegerØ00__func__Ø000))), unsafe.Pointer(str(46896))) 39870 crt.X__builtin_abort(tls) 39871 return i32(0) 39872 }() 39873 }() 39874 _2_c = _sqlite3DecOrHexToI64(tls, _2_z, &_2_value) 39875 if _2_c != i32(1) && (_2_c != i32(2) || _negFlag != 0) && (_negFlag == 0 || _2_value != i64(-9223372036854775808)) { 39876 goto _11 39877 } 39878 39879 if Xsqlite3_strnicmp(tls, _2_z, str(46904), i32(2)) != i32(0) { 39880 goto _12 39881 } 39882 39883 _sqlite3ErrorMsg(tls, _pParse, str(46908), unsafe.Pointer(func() *int8 { 39884 if _negFlag != 0 { 39885 return str(39916) 39886 } 39887 return str(196) 39888 }()), unsafe.Pointer(_2_z)) 39889 goto _15 39890 39891 _12: 39892 _codeReal(tls, _v, _2_z, _negFlag, _iMem) 39893 _15: 39894 goto _16 39895 39896 _11: 39897 if _negFlag == 0 { 39898 goto _17 39899 } 39900 39901 _2_value = func() int64 { 39902 if _2_c == i32(2) { 39903 return i64(-9223372036854775808) 39904 } 39905 return (-_2_value) 39906 }() 39907 _17: 39908 _sqlite3VdbeAddOp4Dup8(tls, _v, i32(78), i32(0), _iMem, i32(0), (*uint8)(unsafe.Pointer(&_2_value)), i32(-10)) 39909 _16: 39910 _4: 39911 return 39912 39913 } 39914 39915 var _codeIntegerØ00__func__Ø000 [12]int8 // - 39916 39917 func init() { 39918 crt.Xstrncpy(nil, &_codeIntegerØ00__func__Ø000[0], str(46936), 12) 39919 } 39920 39921 func _sqlite3DecOrHexToI64(tls *crt.TLS, _z *int8, _pOut *int64) (r0 int32) { // sqlite3.c:28271:1 39922 var _1_u uint64 // sqlite3.c:28276:9 39923 _ = _1_u 39924 var _1_i int32 // sqlite3.c:28277:9 39925 _ = _1_i 39926 var _1_k int32 // sqlite3.c:28277:12 39927 _ = _1_k 39928 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(48) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(120) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(88) { 39929 goto _2 39930 } 39931 39932 _1_u = u64(0) 39933 _1_i = i32(2) 39934 _3: 39935 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_i)))) != i32(48) { 39936 goto _6 39937 } 39938 39939 _1_i += 1 39940 goto _3 39941 39942 _6: 39943 _1_k = _1_i 39944 _7: 39945 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_k)))))))) & i32(8)) == 0 { 39946 goto _10 39947 } 39948 39949 _1_u = (_1_u * uint64(i32(16))) + uint64(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_k)))))) 39950 _1_k += 1 39951 goto _7 39952 39953 _10: 39954 crt.Xmemcpy(tls, (unsafe.Pointer)(_pOut), (unsafe.Pointer)(&_1_u), uint32(i32(8))) 39955 r0 = func() int32 { 39956 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_1_k)))) == i32(0)) && ((_1_k - _1_i) <= i32(16)) { 39957 return i32(0) 39958 } 39959 return i32(1) 39960 }() 39961 return 39962 39963 _2: 39964 r0 = _sqlite3Atoi64(tls, _z, _pOut, _sqlite3Strlen30(tls, _z), uint8(i32(1))) 39965 return 39966 39967 } 39968 39969 func _codeReal(tls *crt.TLS, _v *XVdbe, _z *int8, _negateFlag int32, _iMem int32) { // sqlite3.c:93713:1 39970 var _1_value float64 // sqlite3.c:93715:12 39971 _ = _1_value 39972 if func() int32 { 39973 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 39974 return i32(1) 39975 } 39976 return func() int32 { 39977 func() int32 { 39978 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93714), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeRealØ00__func__Ø000))), unsafe.Pointer(str(5204))) 39979 crt.X__builtin_abort(tls) 39980 return i32(0) 39981 }() 39982 return i32(0) 39983 }() 39984 }() == 0 { 39985 goto _2 39986 } 39987 39988 _sqlite3AtoF(tls, _z, &_1_value, _sqlite3Strlen30(tls, _z), uint8(i32(1))) 39989 func() int32 { 39990 if _sqlite3IsNaN(tls, _1_value) == 0 { 39991 return i32(0) 39992 } 39993 return func() int32 { 39994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93717), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeRealØ00__func__Ø000))), unsafe.Pointer(str(46948))) 39995 crt.X__builtin_abort(tls) 39996 return i32(0) 39997 }() 39998 }() 39999 if _negateFlag == 0 { 40000 goto _5 40001 } 40002 40003 _1_value = -_1_value 40004 _5: 40005 _sqlite3VdbeAddOp4Dup8(tls, _v, i32(132), i32(0), _iMem, i32(0), (*uint8)(unsafe.Pointer(&_1_value)), i32(-9)) 40006 _2: 40007 return 40008 40009 } 40010 40011 var _codeRealØ00__func__Ø000 [9]int8 // - 40012 40013 func init() { 40014 crt.Xstrncpy(nil, &_codeRealØ00__func__Ø000[0], str(46972), 9) 40015 } 40016 40017 func _sqlite3VdbeAddOp4Dup8(tls *crt.TLS, _p *XVdbe, _op int32, _p1 int32, _p2 int32, _p3 int32, _zP4 *uint8, _p4type int32) (r0 int32) { // sqlite3.c:71613:1 40018 var _p4copy *int8 // sqlite3.c:71622:8 40019 _ = _p4copy 40020 _p4copy = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _sqlite3VdbeDb(tls, _p), uint64(i32(8))))) 40021 if _p4copy == nil { 40022 goto _0 40023 } 40024 40025 crt.Xmemcpy(tls, (unsafe.Pointer)(_p4copy), (unsafe.Pointer)(_zP4), uint32(i32(8))) 40026 _0: 40027 r0 = _sqlite3VdbeAddOp4(tls, _p, _op, _p1, _p2, _p3, _p4copy, _p4type) 40028 return 40029 40030 } 40031 40032 func _sqlite3ExprCacheAffinityChange(tls *crt.TLS, _pParse *XParse, _iStart int32, _iCount int32) { // sqlite3.c:94028:1 40033 _sqlite3ExprCacheRemove(tls, _pParse, _iStart, _iCount) 40034 return 40035 40036 } 40037 40038 func _sqlite3ExprCacheRemove(tls *crt.TLS, _pParse *XParse, _iReg int32, _nReg int32) { // sqlite3.c:93839:1 40039 var _i int32 // sqlite3.c:93840:7 40040 _ = _i 40041 var _1_p *T7863733 // sqlite3.c:93842:22 40042 _ = _1_p 40043 _i = i32(0) 40044 _0: 40045 if _i >= int32(_pParse.X13) { 40046 goto _1 40047 } 40048 40049 _1_p = (*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 40050 X0 int32 40051 X1 int16 40052 X2 uint8 40053 X3 int32 40054 X4 int32 40055 X5 int32 40056 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_i))) 40057 if (_1_p.X4) < _iReg || (_1_p.X4) >= (_iReg+_nReg) { 40058 goto _3 40059 } 40060 40061 _cacheEntryClear(tls, _pParse, _i) 40062 goto _4 40063 40064 _3: 40065 _i += 1 40066 _4: 40067 goto _0 40068 40069 _1: 40070 return 40071 40072 } 40073 40074 func _cacheEntryClear(tls *crt.TLS, _pParse *XParse, _i int32) { // sqlite3.c:93767:1 40075 if ((*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 40076 X0 int32 40077 X1 int16 40078 X2 uint8 40079 X3 int32 40080 X4 int32 40081 X5 int32 40082 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_i))).X2) == 0 { 40083 goto _0 40084 } 40085 40086 if int32(_pParse.X7) >= i32(8) { 40087 goto _1 40088 } 40089 40090 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(360 /* X49 */))))) + 4*uintptr(postInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(19 /* X7 */))), uint8(1))))) = (*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 40091 X0 int32 40092 X1 int16 40093 X2 uint8 40094 X3 int32 40095 X4 int32 40096 X5 int32 40097 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_i))).X4 40098 _1: 40099 _0: 40100 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(25 /* X13 */))) -= 1 40101 if _i >= int32(_pParse.X13) { 40102 goto _2 40103 } 40104 40105 *(*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 40106 X0 int32 40107 X1 int16 40108 X2 uint8 40109 X3 int32 40110 X4 int32 40111 X5 int32 40112 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_i))) = *(*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 40113 X0 int32 40114 X1 int16 40115 X2 uint8 40116 X3 int32 40117 X4 int32 40118 X5 int32 40119 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_pParse.X13))) 40120 _2: 40121 return 40122 40123 } 40124 40125 func _sqlite3ExprIsVector(tls *crt.TLS, _pExpr *XExpr) (r0 int32) { // sqlite3.c:91067:1 40126 r0 = bool2int(_sqlite3ExprVectorSize(tls, _pExpr) > i32(1)) 40127 return 40128 40129 } 40130 40131 func _sqlite3ExprVectorSize(tls *crt.TLS, _pExpr *XExpr) (r0 int32) { // sqlite3.c:91077:1 40132 var _op uint8 // sqlite3.c:91078:6 40133 _ = _op 40134 _op = _pExpr.X0 40135 if int32(_op) != i32(157) { 40136 goto _0 40137 } 40138 40139 _op = _pExpr.X12 40140 _0: 40141 if int32(_op) != i32(158) { 40142 goto _1 40143 } 40144 40145 r0 = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0 40146 return 40147 40148 _1: 40149 if int32(_op) != i32(119) { 40150 goto _3 40151 } 40152 40153 r0 = (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0)).X0 40154 return 40155 40156 _3: 40157 r0 = i32(1) 40158 return 40159 40160 } 40161 40162 func _codeVectorCompare(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _op uint8, _p5 uint8) { // sqlite3.c:91248:1 40163 var _v *XVdbe // sqlite3.c:91255:8 40164 _ = _v 40165 var _pLeft *XExpr // sqlite3.c:91256:8 40166 _ = _pLeft 40167 var _pRight *XExpr // sqlite3.c:91257:8 40168 _ = _pRight 40169 var _nLeft int32 // sqlite3.c:91258:7 40170 _ = _nLeft 40171 var _i int32 // sqlite3.c:91259:7 40172 _ = _i 40173 var _regLeft int32 // sqlite3.c:91260:7 40174 _ = _regLeft 40175 var _regRight int32 // sqlite3.c:91261:7 40176 _ = _regRight 40177 var _opx uint8 // sqlite3.c:91262:6 40178 _ = _opx 40179 var _addrDone int32 // sqlite3.c:91263:7 40180 _ = _addrDone 40181 var _2_regFree1 int32 // sqlite3.c:91287:9 40182 _ = _2_regFree1 40183 var _2_regFree2 int32 // sqlite3.c:91287:23 40184 _ = _2_regFree2 40185 var _2_pL *XExpr // sqlite3.c:91288:10 40186 _ = _2_pL 40187 var _2_pR *XExpr // sqlite3.c:91288:15 40188 _ = _2_pR 40189 var _2_r1 int32 // sqlite3.c:91289:9 40190 _ = _2_r1 40191 var _2_r2 int32 // sqlite3.c:91289:13 40192 _ = _2_r2 40193 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 40194 _pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 40195 _pRight = (*XExpr)(unsafe.Pointer(_pExpr.X5)) 40196 _nLeft = _sqlite3ExprVectorSize(tls, _pLeft) 40197 _regLeft = i32(0) 40198 _regRight = i32(0) 40199 _opx = _op 40200 _addrDone = _sqlite3VdbeMakeLabel(tls, _v) 40201 if _nLeft == _sqlite3ExprVectorSize(tls, _pRight) { 40202 goto _0 40203 } 40204 40205 _sqlite3ErrorMsg(tls, _pParse, str(45564)) 40206 return 40207 40208 _0: 40209 func() int32 { 40210 if (((((((int32(_pExpr.X0) == i32(37)) || (int32(_pExpr.X0) == i32(36))) || (int32(_pExpr.X0) == i32(29))) || (int32(_pExpr.X0) == i32(148))) || (int32(_pExpr.X0) == i32(40))) || (int32(_pExpr.X0) == i32(38))) || (int32(_pExpr.X0) == i32(39))) || (int32(_pExpr.X0) == i32(41)) { 40211 return i32(0) 40212 } 40213 return func() int32 { 40214 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91269), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeVectorCompareØ00__func__Ø000))), unsafe.Pointer(str(46984))) 40215 crt.X__builtin_abort(tls) 40216 return i32(0) 40217 }() 40218 }() 40219 func() int32 { 40220 if ((int32(_pExpr.X0) == int32(_op)) || ((int32(_pExpr.X0) == i32(29)) && (int32(_op) == i32(37)))) || ((int32(_pExpr.X0) == i32(148)) && (int32(_op) == i32(36))) { 40221 return i32(0) 40222 } 40223 return func() int32 { 40224 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91274), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeVectorCompareØ00__func__Ø000))), unsafe.Pointer(str(47144))) 40225 crt.X__builtin_abort(tls) 40226 return i32(0) 40227 }() 40228 }() 40229 func() int32 { 40230 if (int32(_p5) == i32(0)) || (int32(_pExpr.X0) != int32(_op)) { 40231 return i32(0) 40232 } 40233 return func() int32 { 40234 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91276), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeVectorCompareØ00__func__Ø000))), unsafe.Pointer(str(47232))) 40235 crt.X__builtin_abort(tls) 40236 return i32(0) 40237 }() 40238 }() 40239 func() int32 { 40240 if (int32(_p5) == i32(128)) || (int32(_pExpr.X0) == int32(_op)) { 40241 return i32(0) 40242 } 40243 return func() int32 { 40244 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91277), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeVectorCompareØ00__func__Ø000))), unsafe.Pointer(str(47256))) 40245 crt.X__builtin_abort(tls) 40246 return i32(0) 40247 }() 40248 }() 40249 { 40250 p := &_p5 40251 *p = uint8(int32(*p) | i32(32)) 40252 sink6915 = *p 40253 } 40254 if int32(_opx) != i32(39) { 40255 goto _22 40256 } 40257 40258 _opx = uint8(i32(40)) 40259 _22: 40260 if int32(_opx) != i32(41) { 40261 goto _23 40262 } 40263 40264 _opx = uint8(i32(38)) 40265 _23: 40266 _regLeft = _exprCodeSubselect(tls, _pParse, _pLeft) 40267 _regRight = _exprCodeSubselect(tls, _pParse, _pRight) 40268 _i = i32(0) 40269 _24: 40270 _2_regFree1 = i32(0) 40271 _2_regFree2 = i32(0) 40272 func() int32 { 40273 if (_i >= i32(0)) && (_i < _nLeft) { 40274 return i32(0) 40275 } 40276 return func() int32 { 40277 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91290), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeVectorCompareØ00__func__Ø000))), unsafe.Pointer(str(47292))) 40278 crt.X__builtin_abort(tls) 40279 return i32(0) 40280 }() 40281 }() 40282 if _i <= i32(0) { 40283 goto _31 40284 } 40285 40286 _sqlite3ExprCachePush(tls, _pParse) 40287 _31: 40288 _2_r1 = _exprVectorRegister(tls, _pParse, _pLeft, _i, _regLeft, &_2_pL, &_2_regFree1) 40289 _2_r2 = _exprVectorRegister(tls, _pParse, _pRight, _i, _regRight, &_2_pR, &_2_regFree2) 40290 _codeCompare(tls, _pParse, _2_pL, _2_pR, int32(_opx), _2_r1, _2_r2, _dest, int32(_p5)) 40291 _sqlite3ReleaseTempReg(tls, _pParse, _2_regFree1) 40292 _sqlite3ReleaseTempReg(tls, _pParse, _2_regFree2) 40293 if _i <= i32(0) { 40294 goto _32 40295 } 40296 40297 _sqlite3ExprCachePop(tls, _pParse) 40298 _32: 40299 if _i != (_nLeft - i32(1)) { 40300 goto _33 40301 } 40302 40303 goto _27 40304 40305 _33: 40306 if int32(_opx) != i32(37) { 40307 goto _34 40308 } 40309 40310 _sqlite3VdbeAddOp2(tls, _v, i32(22), _dest, _addrDone) 40311 { 40312 p := &_p5 40313 *p = uint8(int32(*p) | i32(8)) 40314 sink6915 = *p 40315 } 40316 goto _35 40317 40318 _34: 40319 if int32(_opx) != i32(36) { 40320 goto _36 40321 } 40322 40323 _sqlite3VdbeAddOp2(tls, _v, i32(21), _dest, _addrDone) 40324 { 40325 p := &_p5 40326 *p = uint8(int32(*p) | i32(8)) 40327 sink6915 = *p 40328 } 40329 goto _37 40330 40331 _36: 40332 func() int32 { 40333 if (((int32(_op) == i32(40)) || (int32(_op) == i32(38))) || (int32(_op) == i32(39))) || (int32(_op) == i32(41)) { 40334 return i32(0) 40335 } 40336 return func() int32 { 40337 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91314), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeVectorCompareØ00__func__Ø000))), unsafe.Pointer(str(47308))) 40338 crt.X__builtin_abort(tls) 40339 return i32(0) 40340 }() 40341 }() 40342 _sqlite3VdbeAddOp2(tls, _v, i32(42), i32(0), _addrDone) 40343 if _i != (_nLeft - i32(2)) { 40344 goto _43 40345 } 40346 40347 _opx = _op 40348 _43: 40349 _37: 40350 _35: 40351 _i += 1 40352 goto _24 40353 40354 _27: 40355 _sqlite3VdbeResolveLabel(tls, _v, _addrDone) 40356 return 40357 40358 } 40359 40360 func _sqlite3VdbeMakeLabel(tls *crt.TLS, _v *XVdbe) (r0 int32) { // sqlite3.c:71690:1 40361 var _p *XParse // sqlite3.c:71691:9 40362 _ = _p 40363 var _i int32 // sqlite3.c:71692:7 40364 _ = _i 40365 _p = (*XParse)(unsafe.Pointer(_v.X3)) 40366 _i = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(72 /* X25 */))), int32(1)) 40367 func() int32 { 40368 if (_v.X5) == uint32(i32(381479589)) { 40369 return i32(0) 40370 } 40371 return func() int32 { 40372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71693), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeLabelØ00__func__Ø000))), unsafe.Pointer(str(47360))) 40373 crt.X__builtin_abort(tls) 40374 return i32(0) 40375 }() 40376 }() 40377 if (_i & (_i - i32(1))) != i32(0) { 40378 goto _2 40379 } 40380 40381 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(76 /* X26 */))) = (*int32)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_p.X26), uint64(uint32((_i*i32(2))+i32(1))*u32(4))))) 40382 _2: 40383 if (_p.X26) == nil { 40384 goto _3 40385 } 40386 40387 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X26)) + 4*uintptr(_i))) = i32(-1) 40388 _3: 40389 r0 = i32(-1) - _i 40390 return 40391 40392 } 40393 40394 var _sqlite3VdbeMakeLabelØ00__func__Ø000 [21]int8 // - 40395 40396 func init() { 40397 crt.Xstrncpy(nil, &_sqlite3VdbeMakeLabelØ00__func__Ø000[0], str(47388), 21) 40398 } 40399 40400 var _codeVectorCompareØ00__func__Ø000 [18]int8 // - 40401 40402 func init() { 40403 crt.Xstrncpy(nil, &_codeVectorCompareØ00__func__Ø000[0], str(47412), 18) 40404 } 40405 40406 func _exprCodeSubselect(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 int32) { // sqlite3.c:91187:1 40407 var _reg int32 // sqlite3.c:91188:7 40408 _ = _reg 40409 _reg = i32(0) 40410 if int32(_pExpr.X0) != i32(119) { 40411 goto _0 40412 } 40413 40414 _reg = _sqlite3CodeSubselect(tls, _pParse, _pExpr, i32(0), i32(0)) 40415 _0: 40416 r0 = _reg 40417 return 40418 40419 } 40420 40421 func _sqlite3CodeSubselect(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _rHasNullFlag int32, _isRowid int32) (r0 int32) { // sqlite3.c:93188:1 40422 var _jmpIfDynamic int32 // sqlite3.c:93194:7 40423 _ = _jmpIfDynamic 40424 var _rReg int32 // sqlite3.c:93195:7 40425 _ = _rReg 40426 var _v *XVdbe // sqlite3.c:93196:8 40427 _ = _v 40428 var _2_zMsg *int8 // sqlite3.c:93216:10 40429 _ = _2_zMsg 40430 var _4_addr int32 // sqlite3.c:93227:11 40431 _ = _4_addr 40432 var _4_pLeft *XExpr // sqlite3.c:93228:12 40433 _ = _4_pLeft 40434 var _4_pKeyInfo *XKeyInfo // sqlite3.c:93229:15 40435 _ = _4_pKeyInfo 40436 var _4_nVal int32 // sqlite3.c:93230:11 40437 _ = _4_nVal 40438 var _5_pSelect *XSelect // sqlite3.c:93259:16 40439 _ = _5_pSelect 40440 var _5_pEList *XExprList // sqlite3.c:93260:18 40441 _ = _5_pEList 40442 var _6_dest XSelectDest // sqlite3.c:93266:22 40443 _ = _6_dest 40444 var _6_i int32 // sqlite3.c:93267:15 40445 _ = _6_i 40446 var _8_p *XExpr // sqlite3.c:93284:18 40447 _ = _8_p 40448 var _9_affinity int8 // sqlite3.c:93298:14 40449 _ = _9_affinity 40450 var _9_i int32 // sqlite3.c:93299:13 40451 _ = _9_i 40452 var _9_pList *XExprList // sqlite3.c:93300:18 40453 _ = _9_pList 40454 var _9_pItem *T7850641 // sqlite3.c:93301:30 40455 _ = _9_pItem 40456 var _9_r1 int32 // sqlite3.c:93302:13 40457 _ = _9_r1 40458 var _9_r2 int32 // sqlite3.c:93302:17 40459 _ = _9_r2 40460 var _9_r3 int32 // sqlite3.c:93302:21 40461 _ = _9_r3 40462 var _12_pE2 *XExpr // sqlite3.c:93318:16 40463 _ = _12_pE2 40464 var _12_iValToIns int32 // sqlite3.c:93319:15 40465 _ = _12_iValToIns 40466 var _19_pSel *XSelect // sqlite3.c:93373:14 40467 _ = _19_pSel 40468 var _19_dest XSelectDest // sqlite3.c:93374:18 40469 _ = _19_dest 40470 var _19_nReg int32 // sqlite3.c:93375:11 40471 _ = _19_nReg 40472 _jmpIfDynamic = i32(-1) 40473 _rReg = i32(0) 40474 _v = _sqlite3GetVdbe(tls, _pParse) 40475 if func() int32 { 40476 if _v == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 40477 return func() int32 { 40478 func() int32 { 40479 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93197), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(5204))) 40480 crt.X__builtin_abort(tls) 40481 return i32(0) 40482 }() 40483 return i32(1) 40484 }() 40485 } 40486 return i32(0) 40487 }() == 0 { 40488 goto _2 40489 } 40490 40491 r0 = i32(0) 40492 return 40493 40494 _2: 40495 _sqlite3ExprCachePush(tls, _pParse) 40496 if ((_pExpr.X2) & uint32(i32(32))) != uint32(i32(0)) { 40497 goto _3 40498 } 40499 40500 _jmpIfDynamic = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 40501 _3: 40502 if int32(_pParse.X54) != i32(2) { 40503 goto _4 40504 } 40505 40506 _2_zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(47432), unsafe.Pointer(func() *int8 { 40507 if _jmpIfDynamic >= i32(0) { 40508 return str(196) 40509 } 40510 return str(47460) 40511 }()), unsafe.Pointer(func() *int8 { 40512 if int32(_pExpr.X0) == i32(33) { 40513 return str(47472) 40514 } 40515 return str(47480) 40516 }()), _pParse.X59) 40517 _sqlite3VdbeAddOp4(tls, _v, i32(163), _pParse.X58, i32(0), i32(0), _2_zMsg, i32(-1)) 40518 _4: 40519 switch int32(_pExpr.X0) { 40520 case i32(20): 40521 goto _11 40522 case i32(33): 40523 goto _10 40524 case i32(119): 40525 goto _12 40526 default: 40527 goto _13 40528 } 40529 40530 _10: 40531 _4_pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 40532 _4_pKeyInfo = nil 40533 _4_nVal = _sqlite3ExprVectorSize(tls, _4_pLeft) 40534 func() int32 { 40535 if (_isRowid == 0) || (_4_nVal == i32(1)) { 40536 return i32(0) 40537 } 40538 return func() int32 { 40539 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93233), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47488))) 40540 crt.X__builtin_abort(tls) 40541 return i32(0) 40542 }() 40543 }() 40544 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 40545 _4_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _pExpr.X8, func() int32 { 40546 if _isRowid != 0 { 40547 return i32(0) 40548 } 40549 return _4_nVal 40550 }()) 40551 _4_pKeyInfo = func() *XKeyInfo { 40552 if _isRowid != 0 { 40553 return (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) 40554 } 40555 return _sqlite3KeyInfoAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _4_nVal, i32(1)) 40556 }() 40557 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 40558 goto _21 40559 } 40560 40561 _5_pSelect = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 40562 _5_pEList = (*XExprList)(unsafe.Pointer(_5_pSelect.X0)) 40563 func() int32 { 40564 if _isRowid == 0 { 40565 return i32(0) 40566 } 40567 return func() int32 { 40568 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93262), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47508))) 40569 crt.X__builtin_abort(tls) 40570 return i32(0) 40571 }() 40572 }() 40573 if func() int32 { 40574 if (_5_pEList.X0) == _4_nVal { 40575 return i32(1) 40576 } 40577 return func() int32 { 40578 func() int32 { 40579 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93265), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(5204))) 40580 crt.X__builtin_abort(tls) 40581 return i32(0) 40582 }() 40583 return i32(0) 40584 }() 40585 }() == 0 { 40586 goto _26 40587 } 40588 40589 _sqlite3SelectDestInit(tls, &_6_dest, i32(11), _pExpr.X8) 40590 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_6_dest)) + uintptr(4 /* X1 */))) = _exprINAffinity(tls, _pParse, _pExpr) 40591 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pSelect)) + uintptr(12 /* X4 */))) = i32(0) 40592 if _sqlite3Select(tls, _pParse, _5_pSelect, &_6_dest) == 0 { 40593 goto _27 40594 } 40595 40596 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_6_dest.X1)) 40597 _sqlite3KeyInfoUnref(tls, _4_pKeyInfo) 40598 r0 = i32(0) 40599 return 40600 40601 _27: 40602 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_6_dest.X1)) 40603 func() int32 { 40604 if _4_pKeyInfo != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { 40605 return i32(0) 40606 } 40607 return func() int32 { 40608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93279), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47520))) 40609 crt.X__builtin_abort(tls) 40610 return i32(0) 40611 }() 40612 }() 40613 func() int32 { 40614 if _5_pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 40615 return i32(0) 40616 } 40617 return func() int32 { 40618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93280), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47532))) 40619 crt.X__builtin_abort(tls) 40620 return i32(0) 40621 }() 40622 }() 40623 func() int32 { 40624 if (_5_pEList.X0) > i32(0) { 40625 return i32(0) 40626 } 40627 return func() int32 { 40628 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93281), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47544))) 40629 crt.X__builtin_abort(tls) 40630 return i32(0) 40631 }() 40632 }() 40633 func() int32 { 40634 if _sqlite3KeyInfoIsWriteable(tls, _4_pKeyInfo) != 0 { 40635 return i32(0) 40636 } 40637 return func() int32 { 40638 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93282), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47560))) 40639 crt.X__builtin_abort(tls) 40640 return i32(0) 40641 }() 40642 }() 40643 _6_i = i32(0) 40644 _36: 40645 if _6_i >= _4_nVal { 40646 goto _39 40647 } 40648 40649 _8_p = _sqlite3VectorFieldSubexpr(tls, _4_pLeft, _6_i) 40650 *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_6_i))) = _sqlite3BinaryCompareCollSeq(tls, _pParse, _8_p, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_5_pEList.X1)+20*uintptr(_6_i))).X0))) 40651 _6_i += 1 40652 goto _36 40653 40654 _39: 40655 _26: 40656 goto _40 40657 40658 _21: 40659 if func() int32 { 40660 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 40661 return i32(1) 40662 } 40663 return func() int32 { 40664 func() int32 { 40665 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93290), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(5204))) 40666 crt.X__builtin_abort(tls) 40667 return i32(0) 40668 }() 40669 return i32(0) 40670 }() 40671 }() == 0 { 40672 goto _43 40673 } 40674 40675 _9_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 40676 _9_affinity = _sqlite3ExprAffinity(tls, _4_pLeft) 40677 if _9_affinity != 0 { 40678 goto _44 40679 } 40680 40681 _9_affinity = int8(i32(65)) 40682 _44: 40683 if _4_pKeyInfo == nil { 40684 goto _45 40685 } 40686 40687 func() int32 { 40688 if _sqlite3KeyInfoIsWriteable(tls, _4_pKeyInfo) != 0 { 40689 return i32(0) 40690 } 40691 return func() int32 { 40692 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93309), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47560))) 40693 crt.X__builtin_abort(tls) 40694 return i32(0) 40695 }() 40696 }() 40697 *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(i32(0)))) = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 40698 _45: 40699 _9_r1 = _sqlite3GetTempReg(tls, _pParse) 40700 _9_r2 = _sqlite3GetTempReg(tls, _pParse) 40701 if _isRowid == 0 { 40702 goto _48 40703 } 40704 40705 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _9_r2) 40706 _48: 40707 *func() **T7850641 { _9_i = _9_pList.X0; return &_9_pItem }() = (*T7850641)(unsafe.Pointer(_9_pList.X1)) 40708 _49: 40709 if _9_i <= i32(0) { 40710 goto _52 40711 } 40712 40713 _12_pE2 = (*XExpr)(unsafe.Pointer(_9_pItem.X0)) 40714 if _jmpIfDynamic < i32(0) || _sqlite3ExprIsConstant(tls, _12_pE2) != 0 { 40715 goto _54 40716 } 40717 40718 _sqlite3VdbeChangeToNoop(tls, _v, _jmpIfDynamic) 40719 _jmpIfDynamic = i32(-1) 40720 _54: 40721 if _isRowid == 0 || _sqlite3ExprIsInteger(tls, _12_pE2, &_12_iValToIns) == 0 { 40722 goto _56 40723 } 40724 40725 _sqlite3VdbeAddOp3(tls, _v, i32(117), _pExpr.X8, _9_r2, _12_iValToIns) 40726 goto _57 40727 40728 _56: 40729 _9_r3 = _sqlite3ExprCodeTarget(tls, _pParse, _12_pE2, _9_r1) 40730 if _isRowid == 0 { 40731 goto _58 40732 } 40733 40734 _sqlite3VdbeAddOp2(tls, _v, i32(17), _9_r3, _sqlite3VdbeCurrentAddr(tls, _v)+i32(2)) 40735 _sqlite3VdbeAddOp3(tls, _v, i32(116), _pExpr.X8, _9_r2, _9_r3) 40736 goto _59 40737 40738 _58: 40739 _sqlite3VdbeAddOp4(tls, _v, i32(100), _9_r3, i32(1), _9_r2, &_9_affinity, i32(1)) 40740 _sqlite3ExprCacheAffinityChange(tls, _pParse, _9_r3, i32(1)) 40741 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _pExpr.X8, _9_r2, _9_r3, i32(1)) 40742 _59: 40743 _57: 40744 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _9_i -= 1; return &_9_pItem }())) += uintptr(20) 40745 goto _49 40746 40747 _52: 40748 _sqlite3ReleaseTempReg(tls, _pParse, _9_r1) 40749 _sqlite3ReleaseTempReg(tls, _pParse, _9_r2) 40750 _43: 40751 _40: 40752 if _4_pKeyInfo == nil { 40753 goto _60 40754 } 40755 40756 _sqlite3VdbeChangeP4(tls, _v, _4_addr, (*int8)(unsafe.Pointer((unsafe.Pointer)(_4_pKeyInfo))), i32(-5)) 40757 _60: 40758 goto _61 40759 40760 _11: 40761 _12: 40762 _13: 40763 func() int32 { 40764 if (int32(_pExpr.X0) == i32(20)) || (int32(_pExpr.X0) == i32(119)) { 40765 return i32(0) 40766 } 40767 return func() int32 { 40768 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93379), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47596))) 40769 crt.X__builtin_abort(tls) 40770 return i32(0) 40771 }() 40772 }() 40773 func() int32 { 40774 if ((_pExpr.X2) & uint32(i32(2048))) != uint32(i32(0)) { 40775 return i32(0) 40776 } 40777 return func() int32 { 40778 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93380), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeSubselectØ00__func__Ø000))), unsafe.Pointer(str(47644))) 40779 crt.X__builtin_abort(tls) 40780 return i32(0) 40781 }() 40782 }() 40783 _19_pSel = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 40784 _19_nReg = func() int32 { 40785 if int32(_pExpr.X0) == i32(119) { 40786 return ((*XExprList)(unsafe.Pointer(_19_pSel.X0)).X0) 40787 } 40788 return i32(1) 40789 }() 40790 _sqlite3SelectDestInit(tls, &_19_dest, i32(0), (_pParse.X18)+i32(1)) 40791 { 40792 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 40793 *p = (*p) + _19_nReg 40794 sink961 = *p 40795 } 40796 if int32(_pExpr.X0) != i32(119) { 40797 goto _69 40798 } 40799 40800 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(0 /* X0 */))) = uint8(i32(10)) 40801 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(12 /* X3 */))) = _19_dest.X2 40802 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(16 /* X4 */))) = _19_nReg 40803 _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _19_dest.X2, ((_19_dest.X2)+_19_nReg)-i32(1)) 40804 _sqlite3VdbeComment(tls, _v, str(47684)) 40805 goto _70 40806 40807 _69: 40808 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_19_dest)) + uintptr(0 /* X0 */))) = uint8(i32(3)) 40809 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _19_dest.X2) 40810 _sqlite3VdbeComment(tls, _v, str(47708)) 40811 _70: 40812 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(_19_pSel.X15))) 40813 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pSel)) + uintptr(68 /* X15 */))))) = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(134), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3IntTokens))+8*uintptr(i32(1)))), i32(0)) 40814 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pSel)) + uintptr(12 /* X4 */))) = i32(0) 40815 { 40816 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pSel)) + uintptr(8 /* X3 */))) 40817 *p = (*p) & uint32(i32(-1025)) 40818 sink985 = *p 40819 } 40820 if _sqlite3Select(tls, _pParse, _19_pSel, &_19_dest) == 0 { 40821 goto _71 40822 } 40823 40824 r0 = i32(0) 40825 return 40826 40827 _71: 40828 _rReg = _19_dest.X2 40829 { 40830 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 40831 *p = (*p) | uint32(i32(131072)) 40832 sink985 = *p 40833 } 40834 goto _61 40835 40836 _61: 40837 if _rHasNullFlag == 0 { 40838 goto _72 40839 } 40840 40841 _sqlite3SetHasNullFlag(tls, _v, _pExpr.X8, _rHasNullFlag) 40842 _72: 40843 if _jmpIfDynamic < i32(0) { 40844 goto _73 40845 } 40846 40847 _sqlite3VdbeJumpHere(tls, _v, _jmpIfDynamic) 40848 _73: 40849 _sqlite3ExprCachePop(tls, _pParse) 40850 r0 = _rReg 40851 return 40852 40853 } 40854 40855 var _sqlite3CodeSubselectØ00__func__Ø000 [21]int8 // - 40856 40857 func init() { 40858 crt.Xstrncpy(nil, &_sqlite3CodeSubselectØ00__func__Ø000[0], str(47728), 21) 40859 } 40860 40861 func _sqlite3ExprCachePush(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:93856:1 40862 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(64 /* X23 */))) += 1 40863 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(4096)) == 0 { 40864 goto _0 40865 } 40866 40867 crt.Xprintf(tls, str(47752), _pParse.X23) 40868 _0: 40869 return 40870 40871 } 40872 40873 func _sqlite3SelectDestInit(tls *crt.TLS, _pDest *XSelectDest, _eDest int32, _iParm int32) { // sqlite3.c:116335:1 40874 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(0 /* X0 */))) = uint8(_eDest) 40875 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(8 /* X2 */))) = _iParm 40876 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 40877 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(12 /* X3 */))) = i32(0) 40878 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(16 /* X4 */))) = i32(0) 40879 return 40880 40881 } 40882 40883 func _exprINAffinity(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 *int8) { // sqlite3.c:93098:1 40884 var _pLeft *XExpr // sqlite3.c:93099:8 40885 _ = _pLeft 40886 var _nVal int32 // sqlite3.c:93100:7 40887 _ = _nVal 40888 var _pSelect *XSelect // sqlite3.c:93101:10 40889 _ = _pSelect 40890 var _zRet *int8 // sqlite3.c:93102:8 40891 _ = _zRet 40892 var _1_i int32 // sqlite3.c:93107:9 40893 _ = _1_i 40894 var _2_pA *XExpr // sqlite3.c:93109:12 40895 _ = _2_pA 40896 var _2_a int8 // sqlite3.c:93110:12 40897 _ = _2_a 40898 _pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 40899 _nVal = _sqlite3ExprVectorSize(tls, _pLeft) 40900 _pSelect = func() *XSelect { 40901 if ((_pExpr.X2) & uint32(i32(2048))) != 0 { 40902 return (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 40903 } 40904 return (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 40905 }() 40906 func() int32 { 40907 if int32(_pExpr.X0) == i32(33) { 40908 return i32(0) 40909 } 40910 return func() int32 { 40911 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93104), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprINAffinityØ00__func__Ø000))), unsafe.Pointer(str(47764))) 40912 crt.X__builtin_abort(tls) 40913 return i32(0) 40914 }() 40915 }() 40916 _zRet = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(_nVal+i32(1))))) 40917 if _zRet == nil { 40918 goto _4 40919 } 40920 40921 _1_i = i32(0) 40922 _5: 40923 if _1_i >= _nVal { 40924 goto _8 40925 } 40926 40927 _2_pA = _sqlite3VectorFieldSubexpr(tls, _pLeft, _1_i) 40928 _2_a = _sqlite3ExprAffinity(tls, _2_pA) 40929 if _pSelect == nil { 40930 goto _9 40931 } 40932 40933 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRet)) + 1*uintptr(_1_i))) = _sqlite3CompareAffinity(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSelect.X0)).X1)+20*uintptr(_1_i))).X0)), _2_a) 40934 goto _10 40935 40936 _9: 40937 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRet)) + 1*uintptr(_1_i))) = _2_a 40938 _10: 40939 _1_i += 1 40940 goto _5 40941 40942 _8: 40943 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRet)) + 1*uintptr(_nVal))) = int8(i32(0)) 40944 _4: 40945 r0 = _zRet 40946 return 40947 40948 } 40949 40950 var _exprINAffinityØ00__func__Ø000 [15]int8 // - 40951 40952 func init() { 40953 crt.Xstrncpy(nil, &_exprINAffinityØ00__func__Ø000[0], str(47784), 15) 40954 } 40955 40956 func _sqlite3VectorFieldSubexpr(tls *crt.TLS, _pVector *XExpr, _i int32) (r0 *XExpr) { // sqlite3.c:91105:1 40957 func() int32 { 40958 if _i < _sqlite3ExprVectorSize(tls, _pVector) { 40959 return i32(0) 40960 } 40961 return func() int32 { 40962 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91106), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VectorFieldSubexprØ00__func__Ø000))), unsafe.Pointer(str(47800))) 40963 crt.X__builtin_abort(tls) 40964 return i32(0) 40965 }() 40966 }() 40967 if _sqlite3ExprIsVector(tls, _pVector) == 0 { 40968 goto _2 40969 } 40970 40971 func() int32 { 40972 if (int32(_pVector.X12) == i32(0)) || (int32(_pVector.X0) == i32(157)) { 40973 return i32(0) 40974 } 40975 return func() int32 { 40976 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91108), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VectorFieldSubexprØ00__func__Ø000))), unsafe.Pointer(str(47836))) 40977 crt.X__builtin_abort(tls) 40978 return i32(0) 40979 }() 40980 }() 40981 if int32(_pVector.X0) != i32(119) && int32(_pVector.X12) != i32(119) { 40982 goto _7 40983 } 40984 40985 r0 = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(20 /* X6 */))))))).X0)).X1) + 20*uintptr(_i))).X0)) 40986 return 40987 40988 _7: 40989 r0 = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_i))).X0)) 40990 return 40991 40992 _2: 40993 r0 = _pVector 40994 return 40995 40996 } 40997 40998 var _sqlite3VectorFieldSubexprØ00__func__Ø000 [26]int8 // - 40999 41000 func init() { 41001 crt.Xstrncpy(nil, &_sqlite3VectorFieldSubexprØ00__func__Ø000[0], str(47880), 26) 41002 } 41003 41004 func _sqlite3ExprAffinity(tls *crt.TLS, _pExpr *XExpr) (r0 int8) { // sqlite3.c:90779:1 41005 var _op int32 // sqlite3.c:90780:7 41006 _ = _op 41007 _pExpr = _sqlite3ExprSkipCollate(tls, _pExpr) 41008 if ((_pExpr.X2) & uint32(i32(512))) == 0 { 41009 goto _0 41010 } 41011 41012 r0 = int8(i32(0)) 41013 return 41014 41015 _0: 41016 _op = int32(_pExpr.X0) 41017 if _op != i32(119) { 41018 goto _1 41019 } 41020 41021 func() int32 { 41022 if ((_pExpr.X2) & uint32(i32(2048))) != 0 { 41023 return i32(0) 41024 } 41025 return func() int32 { 41026 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90785), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAffinityØ00__func__Ø000))), unsafe.Pointer(str(47908))) 41027 crt.X__builtin_abort(tls) 41028 return i32(0) 41029 }() 41030 }() 41031 r0 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0)).X1)+20*uintptr(i32(0)))).X0))) 41032 return 41033 41034 _1: 41035 if _op != i32(157) { 41036 goto _4 41037 } 41038 41039 _op = int32(_pExpr.X12) 41040 _4: 41041 if _op != i32(66) { 41042 goto _5 41043 } 41044 41045 func() int32 { 41046 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 41047 return i32(0) 41048 } 41049 return func() int32 { 41050 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90791), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAffinityØ00__func__Ø000))), unsafe.Pointer(str(44848))) 41051 crt.X__builtin_abort(tls) 41052 return i32(0) 41053 }() 41054 }() 41055 r0 = _sqlite3AffinityType(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*uint8)(unsafe.Pointer(uintptr(i32(0))))) 41056 return 41057 41058 _5: 41059 if _op != i32(154) && _op != i32(152) { 41060 goto _9 41061 } 41062 41063 r0 = _sqlite3TableColumnAffinity(tls, (*XTable)(unsafe.Pointer(_pExpr.X14)), int32(_pExpr.X9)) 41064 return 41065 41066 _9: 41067 if _op != i32(159) { 41068 goto _10 41069 } 41070 41071 func() int32 { 41072 if (((*XExpr)(unsafe.Pointer(_pExpr.X4)).X2) & uint32(i32(2048))) != 0 { 41073 return i32(0) 41074 } 41075 return func() int32 { 41076 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAffinityØ00__func__Ø000))), unsafe.Pointer(str(47936))) 41077 crt.X__builtin_abort(tls) 41078 return i32(0) 41079 }() 41080 }() 41081 r0 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(20 /* X6 */))))))).X0)).X1)+20*uintptr(_pExpr.X9))).X0))) 41082 return 41083 41084 _10: 41085 r0 = _pExpr.X1 41086 return 41087 41088 } 41089 41090 func _sqlite3ExprSkipCollate(tls *crt.TLS, _pExpr *XExpr) (r0 *XExpr) { // sqlite3.c:90842:1 41091 _0: 41092 if _pExpr == nil || ((_pExpr.X2)&uint32(i32(4096))) == uint32(i32(0)) { 41093 goto _1 41094 } 41095 41096 if ((_pExpr.X2) & uint32(i32(262144))) == uint32(i32(0)) { 41097 goto _3 41098 } 41099 41100 func() int32 { 41101 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 41102 return i32(0) 41103 } 41104 return func() int32 { 41105 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90845), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprSkipCollateØ00__func__Ø000))), unsafe.Pointer(str(45120))) 41106 crt.X__builtin_abort(tls) 41107 return i32(0) 41108 }() 41109 }() 41110 func() int32 { 41111 if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0) > i32(0) { 41112 return i32(0) 41113 } 41114 return func() int32 { 41115 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90846), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprSkipCollateØ00__func__Ø000))), unsafe.Pointer(str(47972))) 41116 crt.X__builtin_abort(tls) 41117 return i32(0) 41118 }() 41119 }() 41120 func() int32 { 41121 if int32(_pExpr.X0) == i32(151) { 41122 return i32(0) 41123 } 41124 return func() int32 { 41125 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90847), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprSkipCollateØ00__func__Ø000))), unsafe.Pointer(str(47996))) 41126 crt.X__builtin_abort(tls) 41127 return i32(0) 41128 }() 41129 }() 41130 _pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(0)))).X0)) 41131 goto _10 41132 41133 _3: 41134 func() int32 { 41135 if int32(_pExpr.X0) == i32(53) { 41136 return i32(0) 41137 } 41138 return func() int32 { 41139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90850), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprSkipCollateØ00__func__Ø000))), unsafe.Pointer(str(48020))) 41140 crt.X__builtin_abort(tls) 41141 return i32(0) 41142 }() 41143 }() 41144 _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 41145 _10: 41146 goto _0 41147 41148 _1: 41149 r0 = _pExpr 41150 return 41151 41152 } 41153 41154 var _sqlite3ExprSkipCollateØ00__func__Ø000 [23]int8 // - 41155 41156 func init() { 41157 crt.Xstrncpy(nil, &_sqlite3ExprSkipCollateØ00__func__Ø000[0], str(48044), 23) 41158 } 41159 41160 var _sqlite3ExprAffinityØ00__func__Ø000 [20]int8 // - 41161 41162 func init() { 41163 crt.Xstrncpy(nil, &_sqlite3ExprAffinityØ00__func__Ø000[0], str(48068), 20) 41164 } 41165 41166 func _sqlite3TableColumnAffinity(tls *crt.TLS, _pTab *XTable, _iCol int32) (r0 int8) { // sqlite3.c:90758:1 41167 func() int32 { 41168 if _iCol < int32(_pTab.X11) { 41169 return i32(0) 41170 } 41171 return func() int32 { 41172 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90759), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TableColumnAffinityØ00__func__Ø000))), unsafe.Pointer(str(48088))) 41173 crt.X__builtin_abort(tls) 41174 return i32(0) 41175 }() 41176 }() 41177 r0 = int8(func() int32 { 41178 if _iCol >= i32(0) { 41179 return int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))).X4) 41180 } 41181 return i32(68) 41182 }()) 41183 return 41184 41185 } 41186 41187 var _sqlite3TableColumnAffinityØ00__func__Ø000 [27]int8 // - 41188 41189 func init() { 41190 crt.Xstrncpy(nil, &_sqlite3TableColumnAffinityØ00__func__Ø000[0], str(48104), 27) 41191 } 41192 41193 func _sqlite3CompareAffinity(tls *crt.TLS, _pExpr *XExpr, _aff2 int8) (r0 int8) { // sqlite3.c:90930:1 41194 var _aff1 int8 // sqlite3.c:90931:8 41195 _ = _aff1 41196 _aff1 = _sqlite3ExprAffinity(tls, _pExpr) 41197 if _aff1 == 0 || _aff2 == 0 { 41198 goto _1 41199 } 41200 41201 if int32(_aff1) < i32(67) && int32(_aff2) < i32(67) { 41202 goto _3 41203 } 41204 41205 r0 = int8(i32(67)) 41206 return 41207 41208 _3: 41209 r0 = int8(i32(65)) 41210 return 41211 41212 _1: 41213 if _aff1 != 0 || _aff2 != 0 { 41214 goto _7 41215 } 41216 41217 r0 = int8(i32(65)) 41218 return 41219 41220 _7: 41221 func() int32 { 41222 if (int32(_aff1) == i32(0)) || (int32(_aff2) == i32(0)) { 41223 return i32(0) 41224 } 41225 return func() int32 { 41226 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90948), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CompareAffinityØ00__func__Ø000))), unsafe.Pointer(str(48132))) 41227 crt.X__builtin_abort(tls) 41228 return i32(0) 41229 }() 41230 }() 41231 r0 = int8(int32(_aff1) + int32(_aff2)) 41232 return 41233 41234 } 41235 41236 var _sqlite3CompareAffinityØ00__func__Ø000 [23]int8 // - 41237 41238 func init() { 41239 crt.Xstrncpy(nil, &_sqlite3CompareAffinityØ00__func__Ø000[0], str(48152), 23) 41240 } 41241 41242 func _sqlite3Select(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:121109:1 41243 var _i int32 // sqlite3.c:121114:7 41244 _ = _i 41245 var _j int32 // sqlite3.c:121114:10 41246 _ = _j 41247 var _pWInfo *XWhereInfo // sqlite3.c:121115:13 41248 _ = _pWInfo 41249 var _v *XVdbe // sqlite3.c:121116:8 41250 _ = _v 41251 var _isAgg int32 // sqlite3.c:121117:7 41252 _ = _isAgg 41253 var _pEList *XExprList // sqlite3.c:121118:12 41254 _ = _pEList 41255 var _pTabList *XSrcList // sqlite3.c:121119:11 41256 _ = _pTabList 41257 var _pWhere *XExpr // sqlite3.c:121120:8 41258 _ = _pWhere 41259 var _pGroupBy *XExprList // sqlite3.c:121121:12 41260 _ = _pGroupBy 41261 var _pHaving *XExpr // sqlite3.c:121122:8 41262 _ = _pHaving 41263 var _rc int32 // sqlite3.c:121123:7 41264 _ = _rc 41265 var _sDistinct XDistinctCtx // sqlite3.c:121124:15 41266 _ = _sDistinct 41267 var _sSort XSortCtx // sqlite3.c:121125:11 41268 _ = _sSort 41269 var _sAggInfo XAggInfo // sqlite3.c:121126:11 41270 _ = _sAggInfo 41271 var _iEnd int32 // sqlite3.c:121127:7 41272 _ = _iEnd 41273 var _db *Xsqlite3 // sqlite3.c:121128:11 41274 _ = _db 41275 var _iRestoreSelectId int32 // sqlite3.c:121131:7 41276 _ = _iRestoreSelectId 41277 var _6_pItem *T7840217 // sqlite3.c:121184:25 41278 _ = _6_pItem 41279 var _6_pSub *XSelect // sqlite3.c:121185:12 41280 _ = _6_pSub 41281 var _6_isAggSub int32 // sqlite3.c:121186:9 41282 _ = _6_isAggSub 41283 var _6_pTab *XTable // sqlite3.c:121187:11 41284 _ = _6_pTab 41285 var _12_pItem *T7840217 // sqlite3.c:121239:25 41286 _ = _12_pItem 41287 var _12_dest XSelectDest // sqlite3.c:121240:16 41288 _ = _12_dest 41289 var _12_pSub *XSelect // sqlite3.c:121241:12 41290 _ = _12_pSub 41291 var _17_addrTop int32 // sqlite3.c:121303:11 41292 _ = _17_addrTop 41293 var _18_topAddr int32 // sqlite3.c:121323:11 41294 _ = _18_topAddr 41295 var _18_onceAddr int32 // sqlite3.c:121324:11 41296 _ = _18_onceAddr 41297 var _18_retAddr int32 // sqlite3.c:121325:11 41298 _ = _18_retAddr 41299 var _24_pKeyInfo *XKeyInfo // sqlite3.c:121411:13 41300 _ = _24_pKeyInfo 41301 var _31_wctrlFlags uint16 // sqlite3.c:121457:9 41302 _ = _31_wctrlFlags 41303 var _37_sNC XNameContext // sqlite3.c:121498:17 41304 _ = _37_sNC 41305 var _37_iAMem int32 // sqlite3.c:121499:9 41306 _ = _37_iAMem 41307 var _37_iBMem int32 // sqlite3.c:121500:9 41308 _ = _37_iBMem 41309 var _37_iUseFlag int32 // sqlite3.c:121501:9 41310 _ = _37_iUseFlag 41311 var _37_iAbortFlag int32 // sqlite3.c:121504:9 41312 _ = _37_iAbortFlag 41313 var _37_groupBySort int32 // sqlite3.c:121505:9 41314 _ = _37_groupBySort 41315 var _37_addrEnd int32 // sqlite3.c:121506:9 41316 _ = _37_addrEnd 41317 var _37_sortPTab int32 // sqlite3.c:121507:9 41318 _ = _37_sortPTab 41319 var _37_sortOut int32 // sqlite3.c:121508:9 41320 _ = _37_sortOut 41321 var _37_orderByGrp int32 // sqlite3.c:121509:9 41322 _ = _37_orderByGrp 41323 var _38_k int32 // sqlite3.c:121515:11 41324 _ = _38_k 41325 var _38_pItem *T7850641 // sqlite3.c:121516:28 41326 _ = _38_pItem 41327 var _45_pKeyInfo *XKeyInfo // sqlite3.c:121576:15 41328 _ = _45_pKeyInfo 41329 var _45_addr1 int32 // sqlite3.c:121577:11 41330 _ = _45_addr1 41331 var _45_addrOutputRow int32 // sqlite3.c:121578:11 41332 _ = _45_addrOutputRow 41333 var _45_regOutputRow int32 // sqlite3.c:121579:11 41334 _ = _45_regOutputRow 41335 var _45_addrSetAbort int32 // sqlite3.c:121580:11 41336 _ = _45_addrSetAbort 41337 var _45_addrTopOfLoop int32 // sqlite3.c:121581:11 41338 _ = _45_addrTopOfLoop 41339 var _45_addrSortingIdx int32 // sqlite3.c:121582:11 41340 _ = _45_addrSortingIdx 41341 var _45_addrReset int32 // sqlite3.c:121583:11 41342 _ = _45_addrReset 41343 var _45_regReset int32 // sqlite3.c:121584:11 41344 _ = _45_regReset 41345 var _47_regBase int32 // sqlite3.c:121637:13 41346 _ = _47_regBase 41347 var _47_regRecord int32 // sqlite3.c:121638:13 41348 _ = _47_regRecord 41349 var _47_nCol int32 // sqlite3.c:121639:13 41350 _ = _47_nCol 41351 var _47_nGroupBy int32 // sqlite3.c:121640:13 41352 _ = _47_nGroupBy 41353 var _50_pCol *T8444404 // sqlite3.c:121661:30 41354 _ = _50_pCol 41355 var _51_r1 int32 // sqlite3.c:121663:17 41356 _ = _51_r1 41357 var _59_pDel *XExprList // sqlite3.c:121800:16 41358 _ = _59_pDel 41359 var _59_pTab *XTable // sqlite3.c:121802:13 41360 _ = _59_pTab 41361 var _60_iDb int32 // sqlite3.c:121817:19 41362 _ = _60_iDb 41363 var _60_iCsr int32 // sqlite3.c:121818:19 41364 _ = _60_iCsr 41365 var _60_pIdx *XIndex // sqlite3.c:121819:15 41366 _ = _60_pIdx 41367 var _60_pKeyInfo *XKeyInfo // sqlite3.c:121820:17 41368 _ = _60_pKeyInfo 41369 var _60_pBest *XIndex // sqlite3.c:121821:15 41370 _ = _60_pBest 41371 var _60_iRoot int32 // sqlite3.c:121822:13 41372 _ = _60_iRoot 41373 var _65_pMinMax *XExprList // sqlite3.c:121887:18 41374 _ = _65_pMinMax 41375 var _65_flag uint8 // sqlite3.c:121888:12 41376 _ = _65_flag 41377 _pEList = nil 41378 _rc = i32(1) 41379 _iRestoreSelectId = _pParse.X58 41380 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(424 /* X58 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(428 /* X59 */))), int32(1)) 41381 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 41382 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) && (_db.X17) == 0 && (_pParse.X16) == 0 { 41383 goto _2 41384 } 41385 41386 r0 = i32(1) 41387 return 41388 41389 _2: 41390 if _sqlite3AuthCheck(tls, _pParse, i32(21), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 41391 goto _3 41392 } 41393 41394 r0 = i32(1) 41395 return 41396 41397 _3: 41398 crt.Xmemset(tls, (unsafe.Pointer)(&_sAggInfo), i32(0), u32(48)) 41399 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(116 /* X35 */))) += 1 41400 if (Xsqlite3SelectTrace & i32(1)) == 0 { 41401 goto _4 41402 } 41403 41404 _sqlite3DebugPrintf(tls, func() *int8 { 41405 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 41406 return str(48188) 41407 }()) 41408 _4: 41409 if (Xsqlite3SelectTrace & i32(256)) == 0 { 41410 goto _5 41411 } 41412 41413 _sqlite3TreeViewSelect(tls, (*T7849498)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) 41414 _5: 41415 func() int32 { 41416 if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(6)) { 41417 return i32(0) 41418 } 41419 return func() int32 { 41420 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121149), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48208))) 41421 crt.X__builtin_abort(tls) 41422 return i32(0) 41423 }() 41424 }() 41425 func() int32 { 41426 if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(5)) { 41427 return i32(0) 41428 } 41429 return func() int32 { 41430 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121150), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48256))) 41431 crt.X__builtin_abort(tls) 41432 return i32(0) 41433 }() 41434 }() 41435 func() int32 { 41436 if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(8)) { 41437 return i32(0) 41438 } 41439 return func() int32 { 41440 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121151), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48300))) 41441 crt.X__builtin_abort(tls) 41442 return i32(0) 41443 }() 41444 }() 41445 func() int32 { 41446 if ((*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDest.X0) != i32(7)) { 41447 return i32(0) 41448 } 41449 return func() int32 { 41450 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121152), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48348))) 41451 crt.X__builtin_abort(tls) 41452 return i32(0) 41453 }() 41454 }() 41455 if int32(_pDest.X0) > i32(8) { 41456 goto _18 41457 } 41458 41459 func() int32 { 41460 if (((((((int32(_pDest.X0) == i32(3)) || (int32(_pDest.X0) == i32(1))) || (int32(_pDest.X0) == i32(2))) || (int32(_pDest.X0) == i32(4))) || (int32(_pDest.X0) == i32(7))) || (int32(_pDest.X0) == i32(6))) || (int32(_pDest.X0) == i32(8))) || (int32(_pDest.X0) == i32(5)) { 41461 return i32(0) 41462 } 41463 return func() int32 { 41464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121154), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48392))) 41465 crt.X__builtin_abort(tls) 41466 return i32(0) 41467 }() 41468 }() 41469 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12))) 41470 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 41471 { 41472 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 41473 *p = (*p) & uint32(i32(-2)) 41474 sink985 = *p 41475 } 41476 _18: 41477 _sqlite3SelectPrep(tls, _pParse, _p, (*XNameContext)(unsafe.Pointer(uintptr(i32(0))))) 41478 crt.Xmemset(tls, (unsafe.Pointer)(&_sSort), i32(0), u32(32)) 41479 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(_p.X12)) 41480 _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) 41481 if (_pParse.X16) == 0 && (_db.X17) == 0 { 41482 goto _29 41483 } 41484 41485 goto _select_end 41486 41487 _29: 41488 func() int32 { 41489 if (*XExprList)(unsafe.Pointer(_p.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 41490 return i32(0) 41491 } 41492 return func() int32 { 41493 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121171), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48616))) 41494 crt.X__builtin_abort(tls) 41495 return i32(0) 41496 }() 41497 }() 41498 _isAgg = bool2int(((_p.X3) & uint32(i32(8))) != uint32(i32(0))) 41499 if (Xsqlite3SelectTrace & i32(256)) == 0 { 41500 goto _32 41501 } 41502 41503 if (Xsqlite3SelectTrace & i32(256)) == 0 { 41504 goto _33 41505 } 41506 41507 _sqlite3DebugPrintf(tls, func() *int8 { 41508 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 41509 return str(48632) 41510 }()) 41511 _33: 41512 _sqlite3TreeViewSelect(tls, (*T7849498)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) 41513 _32: 41514 _i = i32(0) 41515 _34: 41516 if (*XSelect)(unsafe.Pointer(_p.X13)) != nil || _i >= (_pTabList.X0) { 41517 goto _38 41518 } 41519 41520 _6_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 41521 X0 unsafe.Pointer 41522 X1 *int8 41523 X2 *int8 41524 X3 *int8 41525 X4 unsafe.Pointer 41526 X5 unsafe.Pointer 41527 X6 int32 41528 X7 int32 41529 X8 int32 41530 X9 struct { 41531 X0 uint8 41532 X1 int8 41533 } 41534 X10 uint8 41535 X11 int32 41536 X12 unsafe.Pointer 41537 X13 unsafe.Pointer 41538 X14 uint64 41539 X15 struct { 41540 X [0]struct { 41541 X0 *int8 41542 X1 unsafe.Pointer 41543 } 41544 U [4]byte 41545 } 41546 X16 unsafe.Pointer 41547 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 41548 _6_pSub = (*XSelect)(unsafe.Pointer(_6_pItem.X5)) 41549 _6_pTab = (*XTable)(unsafe.Pointer(_6_pItem.X4)) 41550 if _6_pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 41551 goto _39 41552 } 41553 41554 goto _35 41555 41556 _39: 41557 if int32(_6_pTab.X11) == ((*XExprList)(unsafe.Pointer(_6_pSub.X0)).X0) { 41558 goto _40 41559 } 41560 41561 _sqlite3ErrorMsg(tls, _pParse, str(48656), int32(_6_pTab.X11), unsafe.Pointer(_6_pTab.X0), (*XExprList)(unsafe.Pointer(_6_pSub.X0)).X0) 41562 goto _select_end 41563 41564 _40: 41565 _6_isAggSub = bool2int(((_6_pSub.X3) & uint32(i32(8))) != uint32(i32(0))) 41566 if _flattenSubquery(tls, _pParse, _p, _i, _isAgg, _6_isAggSub) == 0 { 41567 goto _41 41568 } 41569 41570 if _6_isAggSub == 0 { 41571 goto _42 41572 } 41573 41574 _isAgg = i32(1) 41575 { 41576 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 41577 *p = (*p) | uint32(i32(8)) 41578 sink985 = *p 41579 } 41580 _42: 41581 _i = i32(-1) 41582 _41: 41583 _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) 41584 if (_db.X17) == 0 { 41585 goto _43 41586 } 41587 41588 goto _select_end 41589 41590 _43: 41591 if int32(_pDest.X0) <= i32(8) { 41592 goto _44 41593 } 41594 41595 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(_p.X12)) 41596 _44: 41597 _35: 41598 _i += 1 41599 goto _34 41600 41601 _38: 41602 _v = _sqlite3GetVdbe(tls, _pParse) 41603 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 41604 goto _45 41605 } 41606 41607 goto _select_end 41608 41609 _45: 41610 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 41611 goto _46 41612 } 41613 41614 _rc = _multiSelect(tls, _pParse, _p, _pDest) 41615 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(424 /* X58 */))) = _iRestoreSelectId 41616 if (Xsqlite3SelectTrace & i32(1)) == 0 { 41617 goto _47 41618 } 41619 41620 _sqlite3DebugPrintf(tls, func() *int8 { 41621 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 41622 return str(48696) 41623 }()) 41624 _47: 41625 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(116 /* X35 */))) -= 1 41626 r0 = _rc 41627 return 41628 41629 _46: 41630 _i = i32(0) 41631 _48: 41632 if _i >= (_pTabList.X0) { 41633 goto _51 41634 } 41635 41636 _12_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 41637 X0 unsafe.Pointer 41638 X1 *int8 41639 X2 *int8 41640 X3 *int8 41641 X4 unsafe.Pointer 41642 X5 unsafe.Pointer 41643 X6 int32 41644 X7 int32 41645 X8 int32 41646 X9 struct { 41647 X0 uint8 41648 X1 int8 41649 } 41650 X10 uint8 41651 X11 int32 41652 X12 unsafe.Pointer 41653 X13 unsafe.Pointer 41654 X14 uint64 41655 X15 struct { 41656 X [0]struct { 41657 X0 *int8 41658 X1 unsafe.Pointer 41659 } 41660 U [4]byte 41661 } 41662 X16 unsafe.Pointer 41663 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 41664 _12_pSub = (*XSelect)(unsafe.Pointer(_12_pItem.X5)) 41665 if _12_pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 41666 goto _52 41667 } 41668 41669 goto _49 41670 41671 _52: 41672 if (_12_pItem.X6) == 0 { 41673 goto _53 41674 } 41675 41676 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(4)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 41677 goto _54 41678 } 41679 41680 _sqlite3VdbeAddOp2(tls, _v, i32(14), _12_pItem.X7, _12_pItem.X6) 41681 _54: 41682 goto _49 41683 41684 _53: 41685 { 41686 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(420 /* X57 */))) 41687 *p = (*p) + _sqlite3SelectExprHeight(tls, _p) 41688 sink961 = *p 41689 } 41690 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(36 /* X9 */))).X0)&i32(32)) != i32(0) || _pushDownWhereTerms(tls, _pParse, _12_pSub, (*XExpr)(unsafe.Pointer(_p.X9)), _12_pItem.X11) == 0 { 41691 goto _56 41692 } 41693 41694 if (Xsqlite3SelectTrace & i32(256)) == 0 { 41695 goto _57 41696 } 41697 41698 if (Xsqlite3SelectTrace & i32(256)) == 0 { 41699 goto _58 41700 } 41701 41702 _sqlite3DebugPrintf(tls, func() *int8 { 41703 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 41704 return str(48728) 41705 }()) 41706 _58: 41707 _sqlite3TreeViewSelect(tls, (*T7849498)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) 41708 _57: 41709 _56: 41710 if _i != i32(0) || (_pTabList.X0) != i32(1) && (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 41711 X0 unsafe.Pointer 41712 X1 *int8 41713 X2 *int8 41714 X3 *int8 41715 X4 unsafe.Pointer 41716 X5 unsafe.Pointer 41717 X6 int32 41718 X7 int32 41719 X8 int32 41720 X9 struct { 41721 X0 uint8 41722 X1 int8 41723 } 41724 X10 uint8 41725 X11 int32 41726 X12 unsafe.Pointer 41727 X13 unsafe.Pointer 41728 X14 uint64 41729 X15 struct { 41730 X [0]struct { 41731 X0 *int8 41732 X1 unsafe.Pointer 41733 } 41734 U [4]byte 41735 } 41736 X16 unsafe.Pointer 41737 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(1))))))+uintptr(36 /* X9 */))).X0)&i32(10)) == i32(0) || ((_p.X3)&uint32(i32(2))) != uint32(i32(0)) || (int32(_db.X13)&i32(256)) != i32(0) { 41738 goto _63 41739 } 41740 41741 _17_addrTop = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) 41742 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(28 /* X7 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 41743 _sqlite3VdbeAddOp3(tls, _v, i32(15), _12_pItem.X7, i32(0), _17_addrTop) 41744 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) 41745 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(24 /* X6 */))) = _17_addrTop 41746 _sqlite3SelectDestInit(tls, &_12_dest, i32(13), _12_pItem.X7) 41747 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(38 /* X10 */))) = uint8(_pParse.X59) 41748 _sqlite3Select(tls, _pParse, _12_pSub, &_12_dest) 41749 *(*int16)(unsafe.Pointer(uintptr(_12_pItem.X4) + uintptr(44 /* X12 */))) = _12_pSub.X2 41750 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 16, 4) 41751 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(32 /* X8 */))) = _12_dest.X3 41752 _sqlite3VdbeEndCoroutine(tls, _v, _12_pItem.X7) 41753 _sqlite3VdbeJumpHere(tls, _v, _17_addrTop-i32(1)) 41754 _sqlite3ClearTempRegCache(tls, _pParse) 41755 goto _64 41756 41757 _63: 41758 _18_onceAddr = i32(0) 41759 func() int32 { 41760 if (_12_pItem.X6) == i32(0) { 41761 return i32(0) 41762 } 41763 return func() int32 { 41764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121326), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48760))) 41765 crt.X__builtin_abort(tls) 41766 return i32(0) 41767 }() 41768 }() 41769 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(28 /* X7 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 41770 _18_topAddr = _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _12_pItem.X7) 41771 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(24 /* X6 */))) = _18_topAddr + i32(1) 41772 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(3)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 41773 goto _67 41774 } 41775 41776 _18_onceAddr = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 41777 _sqlite3VdbeComment(tls, _v, str(48784), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) 41778 goto _68 41779 41780 _67: 41781 _sqlite3VdbeNoopComment(tls, _v, str(48784), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) 41782 _68: 41783 _sqlite3SelectDestInit(tls, &_12_dest, i32(12), _12_pItem.X11) 41784 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pItem)) + uintptr(38 /* X10 */))) = uint8(_pParse.X59) 41785 _sqlite3Select(tls, _pParse, _12_pSub, &_12_dest) 41786 *(*int16)(unsafe.Pointer(uintptr(_12_pItem.X4) + uintptr(44 /* X12 */))) = _12_pSub.X2 41787 if _18_onceAddr == 0 { 41788 goto _69 41789 } 41790 41791 _sqlite3VdbeJumpHere(tls, _v, _18_onceAddr) 41792 _69: 41793 _18_retAddr = _sqlite3VdbeAddOp1(tls, _v, i32(73), _12_pItem.X7) 41794 _sqlite3VdbeComment(tls, _v, str(48804), unsafe.Pointer((*XTable)(unsafe.Pointer(_12_pItem.X4)).X0)) 41795 _sqlite3VdbeChangeP1(tls, _v, uint32(_18_topAddr), _18_retAddr) 41796 _sqlite3ClearTempRegCache(tls, _pParse) 41797 _64: 41798 if (_db.X17) == 0 { 41799 goto _70 41800 } 41801 41802 goto _select_end 41803 41804 _70: 41805 { 41806 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(420 /* X57 */))) 41807 *p = (*p) - _sqlite3SelectExprHeight(tls, _p) 41808 sink961 = *p 41809 } 41810 _49: 41811 _i += 1 41812 goto _48 41813 41814 _51: 41815 _pEList = (*XExprList)(unsafe.Pointer(_p.X0)) 41816 _pWhere = (*XExpr)(unsafe.Pointer(_p.X9)) 41817 _pGroupBy = (*XExprList)(unsafe.Pointer(_p.X10)) 41818 _pHaving = (*XExpr)(unsafe.Pointer(_p.X11)) 41819 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(0 /* X0 */))) = uint8(bool2int(((_p.X3) & uint32(i32(1))) != uint32(i32(0)))) 41820 if (Xsqlite3SelectTrace & i32(1024)) == 0 { 41821 goto _71 41822 } 41823 41824 if (Xsqlite3SelectTrace & i32(1024)) == 0 { 41825 goto _72 41826 } 41827 41828 _sqlite3DebugPrintf(tls, func() *int8 { 41829 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 41830 return str(48812) 41831 }()) 41832 _72: 41833 _sqlite3TreeViewSelect(tls, (*T7849498)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) 41834 _71: 41835 if ((_p.X3)&uint32(i32(9))) != uint32(i32(1)) || _sqlite3ExprListCompare(tls, (*XExprList)(unsafe.Pointer(_sSort.X0)), _pEList, i32(-1)) != i32(0) { 41836 goto _74 41837 } 41838 41839 { 41840 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 41841 *p = (*p) & uint32(i32(-2)) 41842 sink985 = *p 41843 } 41844 _pGroupBy = store7760891((**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(48 /* X10 */))))), _sqlite3ExprListDup(tls, _db, _pEList, i32(0))) 41845 func() int32 { 41846 if (_sDistinct.X0) != 0 { 41847 return i32(0) 41848 } 41849 return func() int32 { 41850 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121392), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48848))) 41851 crt.X__builtin_abort(tls) 41852 return i32(0) 41853 }() 41854 }() 41855 if (Xsqlite3SelectTrace & i32(1024)) == 0 { 41856 goto _77 41857 } 41858 41859 if (Xsqlite3SelectTrace & i32(1024)) == 0 { 41860 goto _78 41861 } 41862 41863 _sqlite3DebugPrintf(tls, func() *int8 { 41864 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 41865 return str(48868) 41866 }()) 41867 _78: 41868 _sqlite3TreeViewSelect(tls, (*T7849498)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) 41869 _77: 41870 _74: 41871 if (*XExprList)(unsafe.Pointer(_sSort.X0)) == nil { 41872 goto _79 41873 } 41874 41875 _24_pKeyInfo = _keyInfoFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_sSort.X0)), i32(0), _pEList.X0) 41876 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(8 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 41877 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(20 /* X5 */))) = _sqlite3VdbeAddOp4(tls, _v, i32(108), _sSort.X2, (((*XExprList)(unsafe.Pointer(_sSort.X0)).X0)+i32(1))+(_pEList.X0), i32(0), (*int8)(unsafe.Pointer(_24_pKeyInfo)), i32(-5)) 41878 goto _80 41879 41880 _79: 41881 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(20 /* X5 */))) = i32(-1) 41882 _80: 41883 if int32(_pDest.X0) != i32(12) { 41884 goto _81 41885 } 41886 41887 _sqlite3VdbeAddOp2(tls, _v, i32(108), _pDest.X2, _pEList.X0) 41888 _81: 41889 _iEnd = _sqlite3VdbeMakeLabel(tls, _v) 41890 if ((_p.X3) & uint32(i32(16384))) != uint32(i32(0)) { 41891 goto _82 41892 } 41893 41894 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = int16(i32(320)) 41895 _82: 41896 _computeLimitRegisters(tls, _pParse, _p, _iEnd) 41897 if (_p.X4) != i32(0) || (_sSort.X5) < i32(0) { 41898 goto _84 41899 } 41900 41901 _sqlite3VdbeChangeOpcode(tls, _v, uint32(_sSort.X5), uint8(i32(109))) 41902 { 41903 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(28 /* X7 */))) 41904 *p = uint8(int32(*p) | i32(1)) 41905 sink6915 = *p 41906 } 41907 _84: 41908 if ((_p.X3) & uint32(i32(1))) == 0 { 41909 goto _85 41910 } 41911 41912 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(4 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 41913 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(8 /* X3 */))) = _sqlite3VdbeAddOp4(tls, _v, i32(108), _sDistinct.X2, i32(0), i32(0), (*int8)(unsafe.Pointer(_keyInfoFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X0)), i32(0), i32(0)))), i32(-5)) 41914 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 41915 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(1 /* X1 */))) = uint8(i32(3)) 41916 goto _86 41917 41918 _85: 41919 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(1 /* X1 */))) = uint8(i32(0)) 41920 _86: 41921 if _isAgg != 0 || _pGroupBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 41922 goto _88 41923 } 41924 41925 _31_wctrlFlags = uint16(func() int32 { 41926 if (_sDistinct.X0) != 0 { 41927 return i32(256) 41928 } 41929 return i32(0) 41930 }()) 41931 i32(0) 41932 { 41933 p := &_31_wctrlFlags 41934 *p = uint16(uint32(*p) | ((_p.X3) & uint32(i32(16384)))) 41935 sink6908 = *p 41936 } 41937 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, (*XExprList)(unsafe.Pointer(_sSort.X0)), (*XExprList)(unsafe.Pointer(_p.X0)), _31_wctrlFlags, int32(_p.X2)) 41938 if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { 41939 goto _91 41940 } 41941 41942 goto _select_end 41943 41944 _91: 41945 if int32(_sqlite3WhereOutputRowCount(tls, _pWInfo)) >= int32(_p.X2) { 41946 goto _92 41947 } 41948 41949 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _sqlite3WhereOutputRowCount(tls, _pWInfo) 41950 _92: 41951 if (_sDistinct.X0) == 0 || _sqlite3WhereIsDistinct(tls, _pWInfo) == 0 { 41952 goto _94 41953 } 41954 41955 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sDistinct)) + uintptr(1 /* X1 */))) = uint8(_sqlite3WhereIsDistinct(tls, _pWInfo)) 41956 _94: 41957 if (*XExprList)(unsafe.Pointer(_sSort.X0)) == nil { 41958 goto _95 41959 } 41960 41961 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(4 /* X1 */))) = _sqlite3WhereIsOrdered(tls, _pWInfo) 41962 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(29 /* X8 */))) = uint8(_sqlite3WhereOrderedInnerLoop(tls, _pWInfo)) 41963 if (_sSort.X1) != ((*XExprList)(unsafe.Pointer(_sSort.X0)).X0) { 41964 goto _96 41965 } 41966 41967 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 41968 _96: 41969 _95: 41970 if (_sSort.X5) < i32(0) || (*XExprList)(unsafe.Pointer(_sSort.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 41971 goto _98 41972 } 41973 41974 _sqlite3VdbeChangeToNoop(tls, _v, _sSort.X5) 41975 _98: 41976 _selectInnerLoop(tls, _pParse, _p, _pEList, i32(-1), &_sSort, &_sDistinct, _pDest, _sqlite3WhereContinueLabel(tls, _pWInfo), _sqlite3WhereBreakLabel(tls, _pWInfo)) 41977 _sqlite3WhereEnd(tls, _pWInfo) 41978 goto _99 41979 41980 _88: 41981 _37_sortPTab = i32(0) 41982 _37_sortOut = i32(0) 41983 _37_orderByGrp = i32(0) 41984 if _pGroupBy == nil { 41985 goto _100 41986 } 41987 41988 *func() **T7850641 { _38_k = (*XExprList)(unsafe.Pointer(_p.X0)).X0; return &_38_pItem }() = (*T7850641)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_p.X0)).X1)) 41989 _101: 41990 if _38_k <= i32(0) { 41991 goto _104 41992 } 41993 41994 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_38_pItem))+uintptr(16 /* X5 */))))))) + uintptr(2 /* X1 */))) = uint16(i32(0)) 41995 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _38_k -= 1; return &_38_pItem }())) += uintptr(20) 41996 goto _101 41997 41998 _104: 41999 *func() **T7850641 { _38_k = _pGroupBy.X0; return &_38_pItem }() = (*T7850641)(unsafe.Pointer(_pGroupBy.X1)) 42000 _105: 42001 if _38_k <= i32(0) { 42002 goto _108 42003 } 42004 42005 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_38_pItem))+uintptr(16 /* X5 */))))))) + uintptr(2 /* X1 */))) = uint16(i32(0)) 42006 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _38_k -= 1; return &_38_pItem }())) += uintptr(20) 42007 goto _105 42008 42009 _108: 42010 func() int32 { 42011 if i32(66) == int32(_sqlite3LogEst(tls, uint64(i32(100)))) { 42012 return i32(0) 42013 } 42014 return func() int32 { 42015 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121524), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48904))) 42016 crt.X__builtin_abort(tls) 42017 return i32(0) 42018 }() 42019 }() 42020 if int32(_p.X2) <= i32(66) { 42021 goto _111 42022 } 42023 42024 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = int16(i32(66)) 42025 _111: 42026 goto _112 42027 42028 _100: 42029 func() int32 { 42030 if i32(0) == int32(_sqlite3LogEst(tls, uint64(i32(1)))) { 42031 return i32(0) 42032 } 42033 return func() int32 { 42034 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121527), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48928))) 42035 crt.X__builtin_abort(tls) 42036 return i32(0) 42037 }() 42038 }() 42039 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = int16(i32(0)) 42040 _112: 42041 if _sqlite3ExprListCompare(tls, _pGroupBy, (*XExprList)(unsafe.Pointer(_sSort.X0)), i32(-1)) != i32(0) { 42042 goto _115 42043 } 42044 42045 _37_orderByGrp = i32(1) 42046 _115: 42047 _37_addrEnd = _sqlite3VdbeMakeLabel(tls, _v) 42048 crt.Xmemset(tls, (unsafe.Pointer)(&_37_sNC), i32(0), u32(32)) 42049 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(0 /* X0 */))))) = _pParse 42050 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(4 /* X1 */))))) = _pTabList 42051 *(**XAggInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(12 /* X3 */))))) = &_sAggInfo 42052 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(16 /* X5 */))) = (_pParse.X18) + i32(1) 42053 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(12 /* X4 */))) = func() int32 { 42054 if _pGroupBy != nil { 42055 return (_pGroupBy.X0) 42056 } 42057 return i32(0) 42058 }() 42059 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(24 /* X7 */))))) = _pGroupBy 42060 _sqlite3ExprAnalyzeAggList(tls, &_37_sNC, _pEList) 42061 _sqlite3ExprAnalyzeAggList(tls, &_37_sNC, (*XExprList)(unsafe.Pointer(_sSort.X0))) 42062 if _pHaving == nil { 42063 goto _118 42064 } 42065 42066 _sqlite3ExprAnalyzeAggregates(tls, &_37_sNC, _pHaving) 42067 _118: 42068 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(36 /* X10 */))) = _sAggInfo.X9 42069 _i = i32(0) 42070 _119: 42071 if _i >= (_sAggInfo.X12) { 42072 goto _122 42073 } 42074 42075 func() int32 { 42076 if (((*XExpr)(unsafe.Pointer((*XAutoincInfo)(unsafe.Pointer(uintptr(_sAggInfo.X11) + 16*uintptr(_i))).X0)).X2) & uint32(i32(2048))) == uint32(i32(0)) { 42077 return i32(0) 42078 } 42079 return func() int32 { 42080 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121564), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(48948))) 42081 crt.X__builtin_abort(tls) 42082 return i32(0) 42083 }() 42084 }() 42085 { 42086 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(28 /* X7 */))) 42087 *p = uint16(int32(*p) | i32(8)) 42088 sink6908 = *p 42089 } 42090 _sqlite3ExprAnalyzeAggList(tls, &_37_sNC, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((*XAutoincInfo)(unsafe.Pointer(uintptr(_sAggInfo.X11)+16*uintptr(_i))).X0) + uintptr(20 /* X6 */)))))))) 42091 { 42092 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_37_sNC)) + uintptr(28 /* X7 */))) 42093 *p = uint16(int32(*p) & i32(-9)) 42094 sink6908 = *p 42095 } 42096 _i += 1 42097 goto _119 42098 42099 _122: 42100 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(20 /* X6 */))) = _pParse.X18 42101 if (_db.X17) == 0 { 42102 goto _125 42103 } 42104 42105 goto _select_end 42106 42107 _125: 42108 if _pGroupBy == nil { 42109 goto _126 42110 } 42111 42112 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(4 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 42113 _45_pKeyInfo = _keyInfoFromExprList(tls, _pParse, _pGroupBy, i32(0), _sAggInfo.X9) 42114 _45_addrSortingIdx = _sqlite3VdbeAddOp4(tls, _v, i32(109), _sAggInfo.X2, _sAggInfo.X4, i32(0), (*int8)(unsafe.Pointer(_45_pKeyInfo)), i32(-5)) 42115 _37_iUseFlag = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 42116 _37_iAbortFlag = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 42117 _45_regOutputRow = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 42118 _45_addrOutputRow = _sqlite3VdbeMakeLabel(tls, _v) 42119 _45_regReset = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 42120 _45_addrReset = _sqlite3VdbeMakeLabel(tls, _v) 42121 _37_iAMem = (_pParse.X18) + i32(1) 42122 { 42123 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 42124 *p = (*p) + (_pGroupBy.X0) 42125 sink961 = *p 42126 } 42127 _37_iBMem = (_pParse.X18) + i32(1) 42128 { 42129 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 42130 *p = (*p) + (_pGroupBy.X0) 42131 sink961 = *p 42132 } 42133 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _37_iAbortFlag) 42134 _sqlite3VdbeComment(tls, _v, str(49004)) 42135 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _37_iUseFlag) 42136 _sqlite3VdbeComment(tls, _v, str(49024)) 42137 _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _37_iAMem, (_37_iAMem+(_pGroupBy.X0))-i32(1)) 42138 _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regReset, _45_addrReset) 42139 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, _pGroupBy, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(i32(64)|func() int32 { 42140 if _37_orderByGrp != 0 { 42141 return i32(512) 42142 } 42143 return i32(0) 42144 }()), i32(0)) 42145 if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { 42146 goto _129 42147 } 42148 42149 goto _select_end 42150 42151 _129: 42152 if _sqlite3WhereIsOrdered(tls, _pWInfo) != (_pGroupBy.X0) { 42153 goto _130 42154 } 42155 42156 _37_groupBySort = i32(0) 42157 goto _131 42158 42159 _130: 42160 _explainTempTable(tls, _pParse, func() *int8 { 42161 if ((_sDistinct.X0) != 0) && (((_p.X3) & uint32(i32(1))) == uint32(i32(0))) { 42162 return str(26940) 42163 } 42164 return str(49052) 42165 }()) 42166 _37_groupBySort = i32(1) 42167 _47_nGroupBy = _pGroupBy.X0 42168 _47_nCol = _47_nGroupBy 42169 _j = _47_nGroupBy 42170 _i = i32(0) 42171 _135: 42172 if _i >= (_sAggInfo.X9) { 42173 goto _138 42174 } 42175 42176 if ((*T8444404)(unsafe.Pointer(uintptr(_sAggInfo.X8) + 24*uintptr(_i))).X3) < _j { 42177 goto _139 42178 } 42179 42180 _47_nCol += 1 42181 _j += 1 42182 _139: 42183 _i += 1 42184 goto _135 42185 42186 _138: 42187 _47_regBase = _sqlite3GetTempRange(tls, _pParse, _47_nCol) 42188 _sqlite3ExprCacheClear(tls, _pParse) 42189 _sqlite3ExprCodeExprList(tls, _pParse, _pGroupBy, _47_regBase, i32(0), uint8(i32(0))) 42190 _j = _47_nGroupBy 42191 _i = i32(0) 42192 _140: 42193 if _i >= (_sAggInfo.X9) { 42194 goto _143 42195 } 42196 42197 _50_pCol = (*T8444404)(unsafe.Pointer(uintptr(_sAggInfo.X8) + 24*uintptr(_i))) 42198 if (_50_pCol.X3) < _j { 42199 goto _144 42200 } 42201 42202 _51_r1 = _j + _47_regBase 42203 _sqlite3ExprCodeGetColumnToReg(tls, _pParse, (*XTable)(unsafe.Pointer(_50_pCol.X0)), _50_pCol.X2, _50_pCol.X1, _51_r1) 42204 _j += 1 42205 _144: 42206 _i += 1 42207 goto _140 42208 42209 _143: 42210 _47_regRecord = _sqlite3GetTempReg(tls, _pParse) 42211 _sqlite3VdbeAddOp3(tls, _v, i32(100), _47_regBase, _47_nCol, _47_regRecord) 42212 _sqlite3VdbeAddOp2(tls, _v, i32(125), _sAggInfo.X2, _47_regRecord) 42213 _sqlite3ReleaseTempReg(tls, _pParse, _47_regRecord) 42214 _sqlite3ReleaseTempRange(tls, _pParse, _47_regBase, _47_nCol) 42215 _sqlite3WhereEnd(tls, _pWInfo) 42216 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(8 /* X3 */))) = store961(&_37_sortPTab, postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1))) 42217 _37_sortOut = _sqlite3GetTempReg(tls, _pParse) 42218 _sqlite3VdbeAddOp3(tls, _v, i32(111), _37_sortPTab, _37_sortOut, _47_nCol) 42219 _sqlite3VdbeAddOp2(tls, _v, i32(56), _sAggInfo.X2, _37_addrEnd) 42220 _sqlite3VdbeComment(tls, _v, str(49064)) 42221 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(1 /* X1 */))) = uint8(i32(1)) 42222 _sqlite3ExprCacheClear(tls, _pParse) 42223 _131: 42224 if _37_orderByGrp == 0 || (int32(_db.X13)&i32(4)) != i32(0) || _37_groupBySort == 0 && _sqlite3WhereIsSorted(tls, _pWInfo) == 0 { 42225 goto _148 42226 } 42227 42228 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 42229 _sqlite3VdbeChangeToNoop(tls, _v, _sSort.X5) 42230 _148: 42231 _45_addrTopOfLoop = _sqlite3VdbeCurrentAddr(tls, _v) 42232 _sqlite3ExprCacheClear(tls, _pParse) 42233 if _37_groupBySort == 0 { 42234 goto _149 42235 } 42236 42237 _sqlite3VdbeAddOp3(tls, _v, i32(121), _sAggInfo.X2, _37_sortOut, _37_sortPTab) 42238 _149: 42239 _j = i32(0) 42240 _150: 42241 if _j >= (_pGroupBy.X0) { 42242 goto _153 42243 } 42244 42245 if _37_groupBySort == 0 { 42246 goto _154 42247 } 42248 42249 _sqlite3VdbeAddOp3(tls, _v, i32(98), _37_sortPTab, _j, _37_iBMem+_j) 42250 goto _155 42251 42252 _154: 42253 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sAggInfo)) + uintptr(0 /* X0 */))) = uint8(i32(1)) 42254 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pGroupBy.X1)+20*uintptr(_j))).X0)), _37_iBMem+_j) 42255 _155: 42256 _j += 1 42257 goto _150 42258 42259 _153: 42260 _sqlite3VdbeAddOp4(tls, _v, i32(96), _37_iAMem, _37_iBMem, _pGroupBy.X0, (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _45_pKeyInfo))), i32(-5)) 42261 _45_addr1 = _sqlite3VdbeCurrentAddr(tls, _v) 42262 _sqlite3VdbeAddOp3(tls, _v, i32(18), _45_addr1+i32(1), i32(0), _45_addr1+i32(1)) 42263 _sqlite3ExprCodeMove(tls, _pParse, _37_iBMem, _37_iAMem, _pGroupBy.X0) 42264 _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regOutputRow, _45_addrOutputRow) 42265 _sqlite3VdbeComment(tls, _v, str(49080)) 42266 _sqlite3VdbeAddOp2(tls, _v, i32(67), _37_iAbortFlag, _37_addrEnd) 42267 _sqlite3VdbeComment(tls, _v, str(49096)) 42268 _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regReset, _45_addrReset) 42269 _sqlite3VdbeComment(tls, _v, str(49116)) 42270 _sqlite3VdbeJumpHere(tls, _v, _45_addr1) 42271 _updateAccumulator(tls, _pParse, &_sAggInfo) 42272 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _37_iUseFlag) 42273 _sqlite3VdbeComment(tls, _v, str(49136)) 42274 if _37_groupBySort == 0 { 42275 goto _156 42276 } 42277 42278 _sqlite3VdbeAddOp2(tls, _v, i32(3), _sAggInfo.X2, _45_addrTopOfLoop) 42279 goto _157 42280 42281 _156: 42282 _sqlite3WhereEnd(tls, _pWInfo) 42283 _sqlite3VdbeChangeToNoop(tls, _v, _45_addrSortingIdx) 42284 _157: 42285 _sqlite3VdbeAddOp2(tls, _v, i32(14), _45_regOutputRow, _45_addrOutputRow) 42286 _sqlite3VdbeComment(tls, _v, str(49168)) 42287 _sqlite3VdbeGoto(tls, _v, _37_addrEnd) 42288 _45_addrSetAbort = _sqlite3VdbeCurrentAddr(tls, _v) 42289 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _37_iAbortFlag) 42290 _sqlite3VdbeComment(tls, _v, str(49188)) 42291 _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regOutputRow) 42292 _sqlite3VdbeResolveLabel(tls, _v, _45_addrOutputRow) 42293 _45_addrOutputRow = _sqlite3VdbeCurrentAddr(tls, _v) 42294 _sqlite3VdbeAddOp2(tls, _v, i32(67), _37_iUseFlag, _45_addrOutputRow+i32(2)) 42295 _sqlite3VdbeComment(tls, _v, str(49204)) 42296 _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regOutputRow) 42297 _finalizeAggFunctions(tls, _pParse, &_sAggInfo) 42298 _sqlite3ExprIfFalse(tls, _pParse, _pHaving, _45_addrOutputRow+i32(1), i32(16)) 42299 _selectInnerLoop(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X0)), i32(-1), &_sSort, &_sDistinct, _pDest, _45_addrOutputRow+i32(1), _45_addrSetAbort) 42300 _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regOutputRow) 42301 _sqlite3VdbeComment(tls, _v, str(49244)) 42302 _sqlite3VdbeResolveLabel(tls, _v, _45_addrReset) 42303 _resetAccumulator(tls, _pParse, &_sAggInfo) 42304 _sqlite3VdbeAddOp1(tls, _v, i32(73), _45_regReset) 42305 goto _158 42306 42307 _126: 42308 _59_pDel = nil 42309 if store7765325(&_59_pTab, _isSimpleCount(tls, _p, &_sAggInfo)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 42310 goto _159 42311 } 42312 42313 _60_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_59_pTab.X20))) 42314 _60_iCsr = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 42315 _60_pKeyInfo = nil 42316 _60_pBest = nil 42317 _60_iRoot = _59_pTab.X7 42318 _sqlite3CodeVerifySchema(tls, _pParse, _60_iDb) 42319 _sqlite3TableLock(tls, _pParse, _60_iDb, _59_pTab.X7, uint8(i32(0)), _59_pTab.X0) 42320 if ((_59_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 42321 goto _160 42322 } 42323 42324 _60_pBest = _sqlite3PrimaryKeyIndex(tls, _59_pTab) 42325 _160: 42326 _60_pIdx = (*XIndex)(unsafe.Pointer(_59_pTab.X2)) 42327 _161: 42328 if _60_pIdx == nil { 42329 goto _164 42330 } 42331 42332 if int32((uint32((_60_pIdx.X16)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) || int32(_60_pIdx.X12) >= int32(_59_pTab.X13) || (*XExpr)(unsafe.Pointer(_60_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) || _60_pBest != nil && int32(_60_pIdx.X12) >= int32(_60_pBest.X12) { 42333 goto _169 42334 } 42335 42336 _60_pBest = _60_pIdx 42337 _169: 42338 _60_pIdx = (*XIndex)(unsafe.Pointer(_60_pIdx.X5)) 42339 goto _161 42340 42341 _164: 42342 if _60_pBest == nil { 42343 goto _170 42344 } 42345 42346 _60_iRoot = _60_pBest.X11 42347 _60_pKeyInfo = _sqlite3KeyInfoOfIndex(tls, _pParse, _60_pBest) 42348 _170: 42349 _sqlite3VdbeAddOp4Int(tls, _v, i32(105), _60_iCsr, _60_iRoot, _60_iDb, i32(1)) 42350 if _60_pKeyInfo == nil { 42351 goto _171 42352 } 42353 42354 _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_60_pKeyInfo)), i32(-5)) 42355 _171: 42356 _sqlite3VdbeAddOp2(tls, _v, i32(101), _60_iCsr, (*XAutoincInfo)(unsafe.Pointer(uintptr(_sAggInfo.X11)+16*uintptr(i32(0)))).X2) 42357 _sqlite3VdbeAddOp1(tls, _v, i32(112), _60_iCsr) 42358 _explainSimpleCount(tls, _pParse, _59_pTab, _60_pBest) 42359 goto _172 42360 42361 _159: 42362 _65_pMinMax = nil 42363 _65_flag = u8(0) 42364 func() int32 { 42365 if (*XExprList)(unsafe.Pointer(_p.X10)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 42366 return i32(0) 42367 } 42368 return func() int32 { 42369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121890), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(49276))) 42370 crt.X__builtin_abort(tls) 42371 return i32(0) 42372 }() 42373 }() 42374 func() int32 { 42375 if int32(_65_flag) == i32(0) { 42376 return i32(0) 42377 } 42378 return func() int32 { 42379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121891), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(49292))) 42380 crt.X__builtin_abort(tls) 42381 return i32(0) 42382 }() 42383 }() 42384 if (*XExpr)(unsafe.Pointer(_p.X11)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 42385 goto _177 42386 } 42387 42388 _65_flag = _minMaxQuery(tls, &_sAggInfo, &_65_pMinMax) 42389 _177: 42390 func() int32 { 42391 if (int32(_65_flag) == i32(0)) || ((_65_pMinMax != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) && ((_65_pMinMax.X0) == i32(1))) { 42392 return i32(0) 42393 } 42394 return func() int32 { 42395 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121895), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(49300))) 42396 crt.X__builtin_abort(tls) 42397 return i32(0) 42398 }() 42399 }() 42400 if _65_flag == 0 { 42401 goto _182 42402 } 42403 42404 _65_pMinMax = _sqlite3ExprListDup(tls, _db, _65_pMinMax, i32(0)) 42405 _59_pDel = _65_pMinMax 42406 func() int32 { 42407 if ((_db.X17) != 0) || (_65_pMinMax != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { 42408 return i32(0) 42409 } 42410 return func() int32 { 42411 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121900), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(49348))) 42412 crt.X__builtin_abort(tls) 42413 return i32(0) 42414 }() 42415 }() 42416 if (_db.X17) != 0 { 42417 goto _186 42418 } 42419 42420 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_65_pMinMax.X1)+20*uintptr(i32(0)))))) + uintptr(12 /* X3 */))) = uint8(func() int32 { 42421 if int32(_65_flag) != i32(1) { 42422 return i32(1) 42423 } 42424 return i32(0) 42425 }()) 42426 *(*uint8)(unsafe.Pointer(uintptr((*T7850641)(unsafe.Pointer(uintptr(_65_pMinMax.X1)+20*uintptr(i32(0)))).X0) + uintptr(0 /* X0 */))) = uint8(i32(152)) 42427 _186: 42428 _182: 42429 _resetAccumulator(tls, _pParse, &_sAggInfo) 42430 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, _65_pMinMax, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(_65_flag), i32(0)) 42431 if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { 42432 goto _189 42433 } 42434 42435 _sqlite3ExprListDelete(tls, _db, _59_pDel) 42436 goto _select_end 42437 42438 _189: 42439 _updateAccumulator(tls, _pParse, &_sAggInfo) 42440 func() int32 { 42441 if (_65_pMinMax == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || ((_65_pMinMax.X0) == i32(1)) { 42442 return i32(0) 42443 } 42444 return func() int32 { 42445 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121918), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectØ00__func__Ø000))), unsafe.Pointer(str(49380))) 42446 crt.X__builtin_abort(tls) 42447 return i32(0) 42448 }() 42449 }() 42450 if _sqlite3WhereIsOrdered(tls, _pWInfo) <= i32(0) { 42451 goto _193 42452 } 42453 42454 _sqlite3VdbeGoto(tls, _v, _sqlite3WhereBreakLabel(tls, _pWInfo)) 42455 _sqlite3VdbeComment(tls, _v, str(49412), unsafe.Pointer(func() *int8 { 42456 if int32(_65_flag) == i32(1) { 42457 return str(7512) 42458 } 42459 return str(7516) 42460 }())) 42461 _193: 42462 _sqlite3WhereEnd(tls, _pWInfo) 42463 _finalizeAggFunctions(tls, _pParse, &_sAggInfo) 42464 _172: 42465 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSort)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 42466 _sqlite3ExprIfFalse(tls, _pParse, _pHaving, _37_addrEnd, i32(16)) 42467 _selectInnerLoop(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X0)), i32(-1), (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))), (*XDistinctCtx)(unsafe.Pointer(uintptr(i32(0)))), _pDest, _37_addrEnd, _37_addrEnd) 42468 _sqlite3ExprListDelete(tls, _db, _59_pDel) 42469 _158: 42470 _sqlite3VdbeResolveLabel(tls, _v, _37_addrEnd) 42471 _99: 42472 if int32(_sDistinct.X1) != i32(3) { 42473 goto _196 42474 } 42475 42476 _explainTempTable(tls, _pParse, str(26940)) 42477 _196: 42478 if (*XExprList)(unsafe.Pointer(_sSort.X0)) == nil { 42479 goto _197 42480 } 42481 42482 _explainTempTable(tls, _pParse, func() *int8 { 42483 if (_sSort.X1) > i32(0) { 42484 return str(49428) 42485 } 42486 return str(49452) 42487 }()) 42488 _generateSortTail(tls, _pParse, _p, &_sSort, _pEList.X0, _pDest) 42489 _197: 42490 _sqlite3VdbeResolveLabel(tls, _v, _iEnd) 42491 _rc = bool2int((_pParse.X16) > i32(0)) 42492 _select_end: 42493 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(424 /* X58 */))) = _iRestoreSelectId 42494 if _rc != i32(0) || int32(_pDest.X0) != i32(9) { 42495 goto _201 42496 } 42497 42498 _generateColumnNames(tls, _pParse, _pTabList, _pEList) 42499 _201: 42500 _sqlite3DbFree(tls, _db, _sAggInfo.X8) 42501 _sqlite3DbFree(tls, _db, _sAggInfo.X11) 42502 if (Xsqlite3SelectTrace & i32(1)) == 0 { 42503 goto _202 42504 } 42505 42506 _sqlite3DebugPrintf(tls, func() *int8 { 42507 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 42508 return str(49464) 42509 }()) 42510 _202: 42511 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(116 /* X35 */))) -= 1 42512 r0 = _rc 42513 return 42514 42515 } 42516 42517 func _sqlite3AuthCheck(tls *crt.TLS, _pParse *XParse, _code int32, _zArg1 *int8, _zArg2 *int8, _zArg3 *int8) (r0 int32) { // sqlite3.c:99386:1 42518 var _db *Xsqlite3 // sqlite3.c:99393:11 42519 _ = _db 42520 var _rc int32 // sqlite3.c:99394:7 42521 _ = _rc 42522 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 42523 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == 0 && (_pParse.X55) == 0 { 42524 goto _1 42525 } 42526 42527 r0 = i32(0) 42528 return 42529 42530 _1: 42531 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 42532 f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 42533 }{(_db.X59)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 42534 f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 42535 }{nil})) { 42536 goto _2 42537 } 42538 42539 r0 = i32(0) 42540 return 42541 42542 _2: 42543 _rc = (_db.X59)(tls, _db.X60, _code, _zArg1, _zArg2, _zArg3, _pParse.X65) 42544 if _rc != i32(1) { 42545 goto _3 42546 } 42547 42548 _sqlite3ErrorMsg(tls, _pParse, str(7832)) 42549 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(23) 42550 goto _4 42551 42552 _3: 42553 if _rc == i32(0) || _rc == i32(2) { 42554 goto _6 42555 } 42556 42557 _rc = i32(1) 42558 _sqliteAuthBadReturnCode(tls, _pParse) 42559 _6: 42560 _4: 42561 r0 = _rc 42562 return 42563 42564 } 42565 42566 func _sqliteAuthBadReturnCode(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:99277:1 42567 _sqlite3ErrorMsg(tls, _pParse, str(49480)) 42568 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(1) 42569 return 42570 42571 } 42572 42573 var Xsqlite3SelectTrace int32 // sqlite3.c:116268:11 42574 42575 func _sqlite3DebugPrintf(tls *crt.TLS, _zFormat *int8, args ...interface{}) { // sqlite3.c:26116:1 42576 var _ap []interface{} // sqlite3.c:26117:11 42577 _ = _ap 42578 var _acc XStrAccum // sqlite3.c:26118:12 42579 _ = _acc 42580 var _zBuf [500]int8 // sqlite3.c:26119:8 42581 _ = _zBuf 42582 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBuf)), int32(u32(500)), i32(0)) 42583 _ap = args 42584 _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) 42585 _ap = nil 42586 _sqlite3StrAccumFinish(tls, &_acc) 42587 crt.Xfprintf(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout)), str(25612), unsafe.Pointer((*int8)(unsafe.Pointer(&_zBuf)))) 42588 crt.Xfflush(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout))) 42589 return 42590 42591 } 42592 42593 func _sqlite3TreeViewSelect(tls *crt.TLS, _pView *T7849498, _p *XSelect, _moreToFollow uint8) { // sqlite3.c:26269:1 42594 var _n int32 // sqlite3.c:26270:7 42595 _ = _n 42596 var _cnt int32 // sqlite3.c:26271:7 42597 _ = _cnt 42598 var _6_i int32 // sqlite3.c:26303:11 42599 _ = _6_i 42600 var _7_pItem *T7840217 // sqlite3.c:26307:29 42601 _ = _7_pItem 42602 var _7_x XStrAccum // sqlite3.c:26308:18 42603 _ = _7_x 42604 var _7_zLine [100]int8 // sqlite3.c:26309:14 42605 _ = _7_zLine 42606 var _21_zOp *int8 // sqlite3.c:26365:18 42607 _ = _21_zOp 42608 _n = i32(0) 42609 _cnt = i32(0) 42610 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 42611 goto _0 42612 } 42613 42614 _sqlite3TreeViewLine(tls, _pView, str(49504)) 42615 return 42616 42617 _0: 42618 _pView = _sqlite3TreeViewPush(tls, _pView, _moreToFollow) 42619 if (*XWith)(unsafe.Pointer(_p.X17)) == nil { 42620 goto _1 42621 } 42622 42623 _sqlite3TreeViewWith(tls, _pView, (*XWith)(unsafe.Pointer(_p.X17)), uint8(i32(1))) 42624 _cnt = i32(1) 42625 _sqlite3TreeViewPush(tls, _pView, uint8(i32(1))) 42626 _1: 42627 _2: 42628 _sqlite3TreeViewLine(tls, _pView, str(49516), unsafe.Pointer(func() *int8 { 42629 if ((_p.X3) & uint32(i32(1))) != 0 { 42630 return str(49564) 42631 } 42632 return str(196) 42633 }()), unsafe.Pointer(func() *int8 { 42634 if ((_p.X3) & uint32(i32(8))) != 0 { 42635 return str(49576) 42636 } 42637 return str(196) 42638 }()), unsafe.Pointer(_p), _p.X3, int32(_p.X2)) 42639 if postInc961(&_cnt, int32(1)) == 0 { 42640 goto _7 42641 } 42642 42643 _sqlite3TreeViewPop(tls, _pView) 42644 _7: 42645 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 42646 goto _8 42647 } 42648 42649 _n = i32(1000) 42650 goto _9 42651 42652 _8: 42653 _n = i32(0) 42654 if (*XSrcList)(unsafe.Pointer(_p.X8)) == nil || ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == 0 { 42655 goto _11 42656 } 42657 42658 _n += 1 42659 _11: 42660 if (*XExpr)(unsafe.Pointer(_p.X9)) == nil { 42661 goto _12 42662 } 42663 42664 _n += 1 42665 _12: 42666 if (*XExprList)(unsafe.Pointer(_p.X10)) == nil { 42667 goto _13 42668 } 42669 42670 _n += 1 42671 _13: 42672 if (*XExpr)(unsafe.Pointer(_p.X11)) == nil { 42673 goto _14 42674 } 42675 42676 _n += 1 42677 _14: 42678 if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { 42679 goto _15 42680 } 42681 42682 _n += 1 42683 _15: 42684 if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { 42685 goto _16 42686 } 42687 42688 _n += 1 42689 _16: 42690 if (*XExpr)(unsafe.Pointer(_p.X16)) == nil { 42691 goto _17 42692 } 42693 42694 _n += 1 42695 _17: 42696 _9: 42697 _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(_p.X0)), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0))), str(49588)) 42698 if (*XSrcList)(unsafe.Pointer(_p.X8)) == nil || ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == 0 { 42699 goto _19 42700 } 42701 42702 _pView = _sqlite3TreeViewPush(tls, _pView, uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) 42703 _sqlite3TreeViewLine(tls, _pView, str(26956)) 42704 _6_i = i32(0) 42705 _20: 42706 if _6_i >= ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) { 42707 goto _23 42708 } 42709 42710 _7_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 42711 X0 unsafe.Pointer 42712 X1 *int8 42713 X2 *int8 42714 X3 *int8 42715 X4 unsafe.Pointer 42716 X5 unsafe.Pointer 42717 X6 int32 42718 X7 int32 42719 X8 int32 42720 X9 struct { 42721 X0 uint8 42722 X1 int8 42723 } 42724 X10 uint8 42725 X11 int32 42726 X12 unsafe.Pointer 42727 X13 unsafe.Pointer 42728 X14 uint64 42729 X15 struct { 42730 X [0]struct { 42731 X0 *int8 42732 X1 unsafe.Pointer 42733 } 42734 U [4]byte 42735 } 42736 X16 unsafe.Pointer 42737 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(_6_i))) 42738 _sqlite3StrAccumInit(tls, &_7_x, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_7_zLine)), int32(u32(100)), i32(0)) 42739 _sqlite3XPrintf(tls, &_7_x, str(49600), _7_pItem.X11) 42740 if (_7_pItem.X1) == nil { 42741 goto _24 42742 } 42743 42744 _sqlite3XPrintf(tls, &_7_x, str(49608), unsafe.Pointer(_7_pItem.X1), unsafe.Pointer(_7_pItem.X2)) 42745 goto _25 42746 42747 _24: 42748 if (_7_pItem.X2) == nil { 42749 goto _26 42750 } 42751 42752 _sqlite3XPrintf(tls, &_7_x, str(49616), unsafe.Pointer(_7_pItem.X2)) 42753 _26: 42754 _25: 42755 if (*XTable)(unsafe.Pointer(_7_pItem.X4)) == nil { 42756 goto _27 42757 } 42758 42759 _sqlite3XPrintf(tls, &_7_x, str(49620), unsafe.Pointer((*XTable)(unsafe.Pointer(_7_pItem.X4)).X0)) 42760 _27: 42761 if (_7_pItem.X3) == nil { 42762 goto _28 42763 } 42764 42765 _sqlite3XPrintf(tls, &_7_x, str(49632), unsafe.Pointer(_7_pItem.X3)) 42766 _28: 42767 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pItem))+uintptr(36 /* X9 */))).X0) & i32(8)) == 0 { 42768 goto _29 42769 } 42770 42771 _sqlite3XPrintf(tls, &_7_x, str(49644)) 42772 _29: 42773 _sqlite3StrAccumFinish(tls, &_7_x) 42774 _sqlite3TreeViewItem(tls, _pView, (*int8)(unsafe.Pointer(&_7_zLine)), uint8(bool2int(_6_i < (((*XSrcList)(unsafe.Pointer(_p.X8)).X0)-i32(1))))) 42775 if (*XSelect)(unsafe.Pointer(_7_pItem.X5)) == nil { 42776 goto _30 42777 } 42778 42779 _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(_7_pItem.X5)), uint8(i32(0))) 42780 _30: 42781 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 42782 goto _31 42783 } 42784 42785 _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pItem)) + uintptr(60 /* X15 */))))))), uint8(i32(0)), str(49656)) 42786 _31: 42787 _sqlite3TreeViewPop(tls, _pView) 42788 _6_i += 1 42789 goto _20 42790 42791 _23: 42792 _sqlite3TreeViewPop(tls, _pView) 42793 _19: 42794 if (*XExpr)(unsafe.Pointer(_p.X9)) == nil { 42795 goto _32 42796 } 42797 42798 _sqlite3TreeViewItem(tls, _pView, str(27012), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) 42799 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X9)), uint8(i32(0))) 42800 _sqlite3TreeViewPop(tls, _pView) 42801 _32: 42802 if (*XExprList)(unsafe.Pointer(_p.X10)) == nil { 42803 goto _33 42804 } 42805 42806 _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(_p.X10)), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0))), str(49668)) 42807 _33: 42808 if (*XExpr)(unsafe.Pointer(_p.X11)) == nil { 42809 goto _34 42810 } 42811 42812 _sqlite3TreeViewItem(tls, _pView, str(26996), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) 42813 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X11)), uint8(i32(0))) 42814 _sqlite3TreeViewPop(tls, _pView) 42815 _34: 42816 if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { 42817 goto _35 42818 } 42819 42820 _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(_p.X12)), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0))), str(49676)) 42821 _35: 42822 if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { 42823 goto _36 42824 } 42825 42826 _sqlite3TreeViewItem(tls, _pView, str(27004), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) 42827 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X15)), uint8(i32(0))) 42828 _sqlite3TreeViewPop(tls, _pView) 42829 _36: 42830 if (*XExpr)(unsafe.Pointer(_p.X16)) == nil { 42831 goto _37 42832 } 42833 42834 _sqlite3TreeViewItem(tls, _pView, str(26616), uint8(bool2int(postInc961(&_n, int32(-1)) > i32(0)))) 42835 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_p.X16)), uint8(i32(0))) 42836 _sqlite3TreeViewPop(tls, _pView) 42837 _37: 42838 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 42839 goto _38 42840 } 42841 42842 _21_zOp = str(26892) 42843 switch int32(_p.X1) { 42844 case i32(116): 42845 goto _40 42846 case i32(117): 42847 goto _42 42848 case i32(118): 42849 goto _41 42850 default: 42851 goto _43 42852 } 42853 42854 _40: 42855 _21_zOp = str(49684) 42856 goto _43 42857 42858 _41: 42859 _21_zOp = str(26912) 42860 goto _43 42861 42862 _42: 42863 _21_zOp = str(26904) 42864 goto _43 42865 42866 _43: 42867 _sqlite3TreeViewItem(tls, _pView, _21_zOp, uint8(i32(1))) 42868 _38: 42869 _p = (*XSelect)(unsafe.Pointer(_p.X13)) 42870 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 42871 goto _2 42872 } 42873 42874 _sqlite3TreeViewPop(tls, _pView) 42875 return 42876 42877 } 42878 42879 func _sqlite3TreeViewLine(tls *crt.TLS, _p *T7849498, _zFormat *int8, args ...interface{}) { // sqlite3.c:26196:1 42880 var _ap []interface{} // sqlite3.c:26197:11 42881 _ = _ap 42882 var _i int32 // sqlite3.c:26198:7 42883 _ = _i 42884 var _acc XStrAccum // sqlite3.c:26199:12 42885 _ = _acc 42886 var _zBuf [500]int8 // sqlite3.c:26200:8 42887 _ = _zBuf 42888 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBuf)), int32(u32(500)), i32(0)) 42889 if _p == nil { 42890 goto _0 42891 } 42892 42893 _i = i32(0) 42894 _1: 42895 if _i >= (_p.X0) || uint32(_i) >= u32(99) { 42896 goto _5 42897 } 42898 42899 _sqlite3StrAccumAppend(tls, &_acc, func() *int8 { 42900 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))))) + 1*uintptr(_i)))) != 0 { 42901 return str(49696) 42902 } 42903 return str(49704) 42904 }(), i32(4)) 42905 _i += 1 42906 goto _1 42907 42908 _5: 42909 _sqlite3StrAccumAppend(tls, &_acc, func() *int8 { 42910 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))))) + 1*uintptr(_i)))) != 0 { 42911 return str(49712) 42912 } 42913 return str(49720) 42914 }(), i32(4)) 42915 _0: 42916 _ap = args 42917 _sqlite3VXPrintf(tls, &_acc, _zFormat, _ap) 42918 _ap = nil 42919 func() int32 { 42920 if (_acc.X3) > uint32(i32(0)) { 42921 return i32(0) 42922 } 42923 return func() int32 { 42924 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26211), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TreeViewLineØ00__func__Ø000))), unsafe.Pointer(str(49728))) 42925 crt.X__builtin_abort(tls) 42926 return i32(0) 42927 }() 42928 }() 42929 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zBuf)) + 1*uintptr((_acc.X3)-uint32(i32(1)))))) == i32(10) { 42930 goto _12 42931 } 42932 42933 _sqlite3StrAccumAppend(tls, &_acc, str(39704), i32(1)) 42934 _12: 42935 _sqlite3StrAccumFinish(tls, &_acc) 42936 crt.Xfprintf(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout)), str(25612), unsafe.Pointer((*int8)(unsafe.Pointer(&_zBuf)))) 42937 crt.Xfflush(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout))) 42938 return 42939 42940 } 42941 42942 var _sqlite3TreeViewLineØ00__func__Ø000 [20]int8 // - 42943 42944 func init() { 42945 crt.Xstrncpy(nil, &_sqlite3TreeViewLineØ00__func__Ø000[0], str(49740), 20) 42946 } 42947 42948 func _sqlite3TreeViewPush(tls *crt.TLS, _p *T7849498, _moreToFollow uint8) (r0 *T7849498) { // sqlite3.c:26170:1 42949 if _p != (*T7849498)(unsafe.Pointer(uintptr(i32(0)))) { 42950 goto _0 42951 } 42952 42953 _p = (*T7849498)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(u32(104))))) 42954 if _p != (*T7849498)(unsafe.Pointer(uintptr(i32(0)))) { 42955 goto _1 42956 } 42957 42958 r0 = (*T7849498)(unsafe.Pointer(uintptr(i32(0)))) 42959 return 42960 42961 _1: 42962 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(104)) 42963 goto _2 42964 42965 _0: 42966 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 42967 _2: 42968 func() int32 { 42969 if (int32(_moreToFollow) == i32(0)) || (int32(_moreToFollow) == i32(1)) { 42970 return i32(0) 42971 } 42972 return func() int32 { 42973 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26178), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TreeViewPushØ00__func__Ø000))), unsafe.Pointer(str(49760))) 42974 crt.X__builtin_abort(tls) 42975 return i32(0) 42976 }() 42977 }() 42978 if uint32(_p.X0) >= u32(100) { 42979 goto _6 42980 } 42981 42982 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[100]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))))) + 1*uintptr(_p.X0))) = _moreToFollow 42983 _6: 42984 r0 = _p 42985 return 42986 42987 } 42988 42989 var _sqlite3TreeViewPushØ00__func__Ø000 [20]int8 // - 42990 42991 func init() { 42992 crt.Xstrncpy(nil, &_sqlite3TreeViewPushØ00__func__Ø000[0], str(49796), 20) 42993 } 42994 42995 func _sqlite3TreeViewWith(tls *crt.TLS, _pView *T7849498, _pWith *XWith, _moreToFollow uint8) { // sqlite3.c:26229:1 42996 var _i int32 // sqlite3.c:26230:7 42997 _ = _i 42998 var _4_x XStrAccum // sqlite3.c:26241:16 42999 _ = _4_x 43000 var _4_zLine [1000]int8 // sqlite3.c:26242:12 43001 _ = _4_zLine 43002 var _4_pCte *T7850050 // sqlite3.c:26243:24 43003 _ = _4_pCte 43004 var _5_cSep int8 // sqlite3.c:26247:14 43005 _ = _5_cSep 43006 var _5_j int32 // sqlite3.c:26248:13 43007 _ = _5_j 43008 if _pWith != (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { 43009 goto _0 43010 } 43011 43012 return 43013 43014 _0: 43015 if (_pWith.X0) != i32(0) { 43016 goto _1 43017 } 43018 43019 return 43020 43021 _1: 43022 if (*XWith)(unsafe.Pointer(_pWith.X1)) == nil { 43023 goto _2 43024 } 43025 43026 _sqlite3TreeViewLine(tls, _pView, str(49816), unsafe.Pointer(_pWith), unsafe.Pointer((*XWith)(unsafe.Pointer(_pWith.X1)))) 43027 goto _3 43028 43029 _2: 43030 _sqlite3TreeViewLine(tls, _pView, str(49844), unsafe.Pointer(_pWith)) 43031 _3: 43032 if (_pWith.X0) <= i32(0) { 43033 goto _4 43034 } 43035 43036 _pView = _sqlite3TreeViewPush(tls, _pView, uint8(i32(1))) 43037 _i = i32(0) 43038 _5: 43039 if _i >= (_pWith.X0) { 43040 goto _8 43041 } 43042 43043 _4_pCte = (*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 43044 X0 *int8 43045 X1 unsafe.Pointer 43046 X2 unsafe.Pointer 43047 X3 *int8 43048 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith))+uintptr(8 /* X2 */))))) + 16*uintptr(_i))) 43049 _sqlite3StrAccumInit(tls, &_4_x, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_4_zLine)), int32(u32(1000)), i32(0)) 43050 _sqlite3XPrintf(tls, &_4_x, str(25612), unsafe.Pointer(_4_pCte.X0)) 43051 if (*XExprList)(unsafe.Pointer(_4_pCte.X1)) == nil || ((*XExprList)(unsafe.Pointer(_4_pCte.X1)).X0) <= i32(0) { 43052 goto _10 43053 } 43054 43055 _5_cSep = int8(i32(40)) 43056 _5_j = i32(0) 43057 _11: 43058 if _5_j >= ((*XExprList)(unsafe.Pointer(_4_pCte.X1)).X0) { 43059 goto _14 43060 } 43061 43062 _sqlite3XPrintf(tls, &_4_x, str(26004), int32(_5_cSep), unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_4_pCte.X1)).X1)+20*uintptr(_5_j))).X1)) 43063 _5_cSep = int8(i32(44)) 43064 _5_j += 1 43065 goto _11 43066 43067 _14: 43068 _sqlite3XPrintf(tls, &_4_x, str(39920)) 43069 _10: 43070 _sqlite3XPrintf(tls, &_4_x, str(49856)) 43071 _sqlite3StrAccumFinish(tls, &_4_x) 43072 _sqlite3TreeViewItem(tls, _pView, (*int8)(unsafe.Pointer(&_4_zLine)), uint8(bool2int(_i < ((_pWith.X0)-i32(1))))) 43073 _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(_4_pCte.X2)), uint8(i32(0))) 43074 _sqlite3TreeViewPop(tls, _pView) 43075 _i += 1 43076 goto _5 43077 43078 _8: 43079 _sqlite3TreeViewPop(tls, _pView) 43080 _4: 43081 return 43082 43083 } 43084 43085 func _sqlite3TreeViewItem(tls *crt.TLS, _p *T7849498, _zLabel *int8, _moreFollows uint8) { // sqlite3.c:26221:1 43086 _p = _sqlite3TreeViewPush(tls, _p, _moreFollows) 43087 _sqlite3TreeViewLine(tls, _p, str(25612), unsafe.Pointer(_zLabel)) 43088 return 43089 43090 } 43091 43092 func _sqlite3TreeViewPop(tls *crt.TLS, _p *T7849498) { // sqlite3.c:26186:1 43093 if _p != (*T7849498)(unsafe.Pointer(uintptr(i32(0)))) { 43094 goto _0 43095 } 43096 43097 return 43098 43099 _0: 43100 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) -= 1 43101 if (_p.X0) >= i32(0) { 43102 goto _1 43103 } 43104 43105 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 43106 _1: 43107 return 43108 43109 } 43110 43111 func _sqlite3TreeViewExprList(tls *crt.TLS, _pView *T7849498, _pList *XExprList, _moreToFollow uint8, _zLabel *int8) { // sqlite3.c:26653:1 43112 _pView = _sqlite3TreeViewPush(tls, _pView, _moreToFollow) 43113 _sqlite3TreeViewBareExprList(tls, _pView, _pList, _zLabel) 43114 _sqlite3TreeViewPop(tls, _pView) 43115 return 43116 43117 } 43118 43119 func _sqlite3TreeViewBareExprList(tls *crt.TLS, _pView *T7849498, _pList *XExprList, _zLabel *int8) { // sqlite3.c:26631:1 43120 var _2_i int32 // sqlite3.c:26640:9 43121 _ = _2_i 43122 var _3_j int32 // sqlite3.c:26643:11 43123 _ = _3_j 43124 if _zLabel != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zLabel)) + 1*uintptr(i32(0))))) != i32(0) { 43125 goto _1 43126 } 43127 43128 _zLabel = str(47472) 43129 _1: 43130 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 43131 goto _2 43132 } 43133 43134 _sqlite3TreeViewLine(tls, _pView, str(49860), unsafe.Pointer(_zLabel)) 43135 goto _3 43136 43137 _2: 43138 _sqlite3TreeViewLine(tls, _pView, str(25612), unsafe.Pointer(_zLabel)) 43139 _2_i = i32(0) 43140 _4: 43141 if _2_i >= (_pList.X0) { 43142 goto _7 43143 } 43144 43145 _3_j = int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_2_i))))) + uintptr(16 /* X5 */))))).X0) 43146 if _3_j == 0 { 43147 goto _8 43148 } 43149 43150 _sqlite3TreeViewPush(tls, _pView, uint8(i32(0))) 43151 _sqlite3TreeViewLine(tls, _pView, str(49872), _3_j) 43152 _8: 43153 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_2_i))).X0)), uint8(bool2int(_2_i < ((_pList.X0)-i32(1))))) 43154 if _3_j == 0 { 43155 goto _9 43156 } 43157 43158 _sqlite3TreeViewPop(tls, _pView) 43159 _9: 43160 _2_i += 1 43161 goto _4 43162 43163 _7: 43164 _3: 43165 return 43166 43167 } 43168 43169 func _sqlite3TreeViewExpr(tls *crt.TLS, _pView *T7849498, _pExpr *XExpr, _moreToFollow uint8) { // sqlite3.c:26381:1 43170 var _zBinOp *int8 // sqlite3.c:26382:14 43171 _ = _zBinOp 43172 var _zUniOp *int8 // sqlite3.c:26383:14 43173 _ = _zUniOp 43174 var _zFlgs [30]int8 // sqlite3.c:26384:8 43175 _ = _zFlgs 43176 var _22_pFarg *XExprList // sqlite3.c:26504:16 43177 _ = _22_pFarg 43178 var _33_pX *XExpr // sqlite3.c:26556:12 43179 _ = _33_pX 43180 var _33_pY *XExpr // sqlite3.c:26557:12 43181 _ = _33_pY 43182 var _33_pZ *XExpr // sqlite3.c:26558:12 43183 _ = _33_pZ 43184 var _36_zType *int8 // sqlite3.c:26585:18 43185 _ = _36_zType 43186 _zBinOp = nil 43187 _zUniOp = nil 43188 _pView = _sqlite3TreeViewPush(tls, _pView, _moreToFollow) 43189 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 43190 goto _0 43191 } 43192 43193 _sqlite3TreeViewLine(tls, _pView, str(49888)) 43194 _sqlite3TreeViewPop(tls, _pView) 43195 return 43196 43197 _0: 43198 if (_pExpr.X2) == 0 { 43199 goto _1 43200 } 43201 43202 Xsqlite3_snprintf(tls, int32(u32(30)), (*int8)(unsafe.Pointer(&_zFlgs)), str(49892), _pExpr.X2) 43203 goto _2 43204 43205 _1: 43206 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zFlgs)) + 1*uintptr(i32(0)))) = int8(i32(0)) 43207 _2: 43208 switch int32(_pExpr.X0) { 43209 case i32(19): 43210 goto _39 43211 case i32(20): 43212 goto _46 43213 case i32(27): 43214 goto _24 43215 case i32(28): 43216 goto _23 43217 case i32(29): 43218 goto _21 43219 case i32(30): 43220 goto _53 43221 case i32(32): 43222 goto _49 43223 case i32(33): 43224 goto _48 43225 case i32(34): 43226 goto _40 43227 case i32(35): 43228 goto _41 43229 case i32(36): 43230 goto _19 43231 case i32(37): 43232 goto _20 43233 case i32(38): 43234 goto _17 43235 case i32(39): 43236 goto _16 43237 case i32(40): 43238 goto _15 43239 case i32(41): 43240 goto _18 43241 case i32(43): 43242 goto _29 43243 case i32(44): 43244 goto _30 43245 case i32(45): 43246 goto _32 43247 case i32(46): 43248 goto _33 43249 case i32(47): 43250 goto _25 43251 case i32(48): 43252 goto _27 43253 case i32(49): 43254 goto _26 43255 case i32(50): 43256 goto _31 43257 case i32(51): 43258 goto _28 43259 case i32(52): 43260 goto _34 43261 case i32(53): 43262 goto _43 43263 case i32(54): 43264 goto _38 43265 case i32(55): 43266 goto _13 43267 case i32(66): 43268 goto _14 43269 case i32(83): 43270 goto _52 43271 case i32(88): 43272 goto _50 43273 case i32(97): 43274 goto _8 43275 case i32(101): 43276 goto _9 43277 case i32(119): 43278 goto _47 43279 case i32(122): 43280 goto _35 43281 case i32(132): 43282 goto _7 43283 case i32(133): 43284 goto _10 43285 case i32(134): 43286 goto _6 43287 case i32(135): 43288 goto _11 43289 case i32(136): 43290 goto _51 43291 case i32(148): 43292 goto _22 43293 case i32(151): 43294 goto _45 43295 case i32(152): 43296 goto _5 43297 case i32(153): 43298 goto _44 43299 case i32(154): 43300 goto _4 43301 case i32(155): 43302 goto _36 43303 case i32(156): 43304 goto _37 43305 case i32(157): 43306 goto _12 43307 case i32(158): 43308 goto _54 43309 case i32(159): 43310 goto _55 43311 case i32(161): 43312 goto _42 43313 default: 43314 goto _56 43315 } 43316 43317 _4: 43318 _sqlite3TreeViewLine(tls, _pView, str(49908), _pExpr.X8, int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) 43319 goto _57 43320 43321 _5: 43322 if (_pExpr.X8) >= i32(0) { 43323 goto _58 43324 } 43325 43326 _sqlite3TreeViewLine(tls, _pView, str(49924), int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) 43327 goto _59 43328 43329 _58: 43330 _sqlite3TreeViewLine(tls, _pView, str(49940), _pExpr.X8, int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) 43331 _59: 43332 goto _57 43333 43334 _6: 43335 if ((_pExpr.X2) & uint32(i32(1024))) == 0 { 43336 goto _60 43337 } 43338 43339 _sqlite3TreeViewLine(tls, _pView, str(39940), *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) 43340 goto _61 43341 43342 _60: 43343 _sqlite3TreeViewLine(tls, _pView, str(25612), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43344 _61: 43345 goto _57 43346 43347 _7: 43348 _sqlite3TreeViewLine(tls, _pView, str(25612), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43349 goto _57 43350 43351 _8: 43352 _sqlite3TreeViewLine(tls, _pView, str(49952), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43353 goto _57 43354 43355 _9: 43356 _sqlite3TreeViewLine(tls, _pView, str(200)) 43357 goto _57 43358 43359 _10: 43360 _sqlite3TreeViewLine(tls, _pView, str(25612), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43361 goto _57 43362 43363 _11: 43364 _sqlite3TreeViewLine(tls, _pView, str(49956), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))), int32(_pExpr.X9)) 43365 goto _57 43366 43367 _12: 43368 _sqlite3TreeViewLine(tls, _pView, str(49972), _pExpr.X8) 43369 goto _57 43370 43371 _13: 43372 _sqlite3TreeViewLine(tls, _pView, str(49988), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43373 goto _57 43374 43375 _14: 43376 _sqlite3TreeViewLine(tls, _pView, str(49996), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43377 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) 43378 goto _57 43379 43380 _15: 43381 _zBinOp = str(26312) 43382 goto _57 43383 43384 _16: 43385 _zBinOp = str(26308) 43386 goto _57 43387 43388 _17: 43389 _zBinOp = str(26304) 43390 goto _57 43391 43392 _18: 43393 _zBinOp = str(26316) 43394 goto _57 43395 43396 _19: 43397 _zBinOp = str(26296) 43398 goto _57 43399 43400 _20: 43401 _zBinOp = str(26300) 43402 goto _57 43403 43404 _21: 43405 _zBinOp = str(26248) 43406 goto _57 43407 43408 _22: 43409 _zBinOp = str(50004) 43410 goto _57 43411 43412 _23: 43413 _zBinOp = str(26244) 43414 goto _57 43415 43416 _24: 43417 _zBinOp = str(26240) 43418 goto _57 43419 43420 _25: 43421 _zBinOp = str(27112) 43422 goto _57 43423 43424 _26: 43425 _zBinOp = str(50012) 43426 goto _57 43427 43428 _27: 43429 _zBinOp = str(50016) 43430 goto _57 43431 43432 _28: 43433 _zBinOp = str(26392) 43434 goto _57 43435 43436 _29: 43437 _zBinOp = str(26328) 43438 goto _57 43439 43440 _30: 43441 _zBinOp = str(26336) 43442 goto _57 43443 43444 _31: 43445 _zBinOp = str(50020) 43446 goto _57 43447 43448 _32: 43449 _zBinOp = str(26344) 43450 goto _57 43451 43452 _33: 43453 _zBinOp = str(26352) 43454 goto _57 43455 43456 _34: 43457 _zBinOp = str(26396) 43458 goto _57 43459 43460 _35: 43461 _zBinOp = str(26952) 43462 goto _57 43463 43464 _36: 43465 _zUniOp = str(50024) 43466 goto _57 43467 43468 _37: 43469 _zUniOp = str(50032) 43470 goto _57 43471 43472 _38: 43473 _zUniOp = str(26412) 43474 goto _57 43475 43476 _39: 43477 _zUniOp = str(26192) 43478 goto _57 43479 43480 _40: 43481 _zUniOp = str(26280) 43482 goto _57 43483 43484 _41: 43485 _zUniOp = str(26288) 43486 goto _57 43487 43488 _42: 43489 _sqlite3TreeViewLine(tls, _pView, str(50040), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43490 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) 43491 goto _57 43492 43493 _43: 43494 _sqlite3TreeViewLine(tls, _pView, str(50048), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43495 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) 43496 goto _57 43497 43498 _44: 43499 _45: 43500 if ((_pExpr.X2) & uint32(i32(16384))) == uint32(i32(0)) { 43501 goto _62 43502 } 43503 43504 _22_pFarg = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 43505 goto _63 43506 43507 _62: 43508 _22_pFarg = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 43509 _63: 43510 if int32(_pExpr.X0) != i32(153) { 43511 goto _64 43512 } 43513 43514 _sqlite3TreeViewLine(tls, _pView, str(50060), int32(_pExpr.X12), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43515 goto _65 43516 43517 _64: 43518 _sqlite3TreeViewLine(tls, _pView, str(50080), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43519 _65: 43520 if _22_pFarg == nil { 43521 goto _66 43522 } 43523 43524 _sqlite3TreeViewExprList(tls, _pView, _22_pFarg, uint8(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 43525 _66: 43526 goto _57 43527 43528 _46: 43529 _sqlite3TreeViewLine(tls, _pView, str(50092)) 43530 _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), uint8(i32(0))) 43531 goto _57 43532 43533 _47: 43534 _sqlite3TreeViewLine(tls, _pView, str(50104)) 43535 _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), uint8(i32(0))) 43536 goto _57 43537 43538 _48: 43539 _sqlite3TreeViewLine(tls, _pView, str(26276)) 43540 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(1))) 43541 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 43542 goto _67 43543 } 43544 43545 _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), uint8(i32(0))) 43546 goto _68 43547 43548 _67: 43549 _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), uint8(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 43550 _68: 43551 goto _57 43552 43553 _49: 43554 _33_pX = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 43555 _33_pY = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(0)))).X0)) 43556 _33_pZ = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(1)))).X0)) 43557 _sqlite3TreeViewLine(tls, _pView, str(26268)) 43558 _sqlite3TreeViewExpr(tls, _pView, _33_pX, uint8(i32(1))) 43559 _sqlite3TreeViewExpr(tls, _pView, _33_pY, uint8(i32(1))) 43560 _sqlite3TreeViewExpr(tls, _pView, _33_pZ, uint8(i32(0))) 43561 goto _57 43562 43563 _50: 43564 _sqlite3TreeViewLine(tls, _pView, str(39932), unsafe.Pointer(func() *int8 { 43565 if (_pExpr.X8) != 0 { 43566 return str(50116) 43567 } 43568 return str(50120) 43569 }()), int32(_pExpr.X9)) 43570 goto _57 43571 43572 _51: 43573 _sqlite3TreeViewLine(tls, _pView, str(27064)) 43574 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(1))) 43575 _sqlite3TreeViewExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), uint8(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 43576 goto _57 43577 43578 _52: 43579 _36_zType = str(50124) 43580 switch int32(_pExpr.X1) { 43581 case i32(1): 43582 goto _72 43583 case i32(2): 43584 goto _73 43585 case i32(3): 43586 goto _74 43587 case i32(4): 43588 goto _75 43589 default: 43590 goto _76 43591 } 43592 43593 _72: 43594 _36_zType = str(50128) 43595 goto _76 43596 43597 _73: 43598 _36_zType = str(50140) 43599 goto _76 43600 43601 _74: 43602 _36_zType = str(50148) 43603 goto _76 43604 43605 _75: 43606 _36_zType = str(50156) 43607 goto _76 43608 43609 _76: 43610 _sqlite3TreeViewLine(tls, _pView, str(50164), unsafe.Pointer(_36_zType), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))))) 43611 goto _57 43612 43613 _53: 43614 _sqlite3TreeViewLine(tls, _pView, str(50180), _pExpr.X8, int32(_pExpr.X9), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) 43615 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X5)), uint8(i32(0))) 43616 goto _57 43617 43618 _54: 43619 _sqlite3TreeViewBareExprList(tls, _pView, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), str(50196)) 43620 goto _57 43621 43622 _55: 43623 _sqlite3TreeViewLine(tls, _pView, str(50204), int32(_pExpr.X9)) 43624 _sqlite3TreeViewSelect(tls, _pView, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(20 /* X6 */))))))), uint8(i32(0))) 43625 goto _57 43626 43627 _56: 43628 _sqlite3TreeViewLine(tls, _pView, str(50224), int32(_pExpr.X0)) 43629 goto _57 43630 43631 _57: 43632 if _zBinOp == nil { 43633 goto _77 43634 } 43635 43636 _sqlite3TreeViewLine(tls, _pView, str(6548), unsafe.Pointer(_zBinOp), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) 43637 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(1))) 43638 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X5)), uint8(i32(0))) 43639 goto _78 43640 43641 _77: 43642 if _zUniOp == nil { 43643 goto _79 43644 } 43645 43646 _sqlite3TreeViewLine(tls, _pView, str(6548), unsafe.Pointer(_zUniOp), unsafe.Pointer((*int8)(unsafe.Pointer(&_zFlgs)))) 43647 _sqlite3TreeViewExpr(tls, _pView, (*XExpr)(unsafe.Pointer(_pExpr.X4)), uint8(i32(0))) 43648 _79: 43649 _78: 43650 _sqlite3TreeViewPop(tls, _pView) 43651 return 43652 43653 } 43654 43655 var _sqlite3SelectØ00__func__Ø000 [14]int8 // - 43656 43657 func init() { 43658 crt.Xstrncpy(nil, &_sqlite3SelectØ00__func__Ø000[0], str(50232), 14) 43659 } 43660 43661 func _sqlite3SelectPrep(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pOuterNC *XNameContext) { // sqlite3.c:120910:1 43662 var _db *Xsqlite3 // sqlite3.c:120915:11 43663 _ = _db 43664 if func() int32 { 43665 if _p == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 43666 return func() int32 { 43667 func() int32 { 43668 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120916), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectPrepØ00__func__Ø000))), unsafe.Pointer(str(5204))) 43669 crt.X__builtin_abort(tls) 43670 return i32(0) 43671 }() 43672 return i32(1) 43673 }() 43674 } 43675 return i32(0) 43676 }() == 0 { 43677 goto _2 43678 } 43679 43680 return 43681 43682 _2: 43683 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 43684 if (_db.X17) == 0 { 43685 goto _3 43686 } 43687 43688 return 43689 43690 _3: 43691 if ((_p.X3) & uint32(i32(128))) == 0 { 43692 goto _4 43693 } 43694 43695 return 43696 43697 _4: 43698 _sqlite3SelectExpand(tls, _pParse, _p) 43699 if (_pParse.X16) == 0 && (_db.X17) == 0 { 43700 goto _6 43701 } 43702 43703 return 43704 43705 _6: 43706 _sqlite3ResolveSelectNames(tls, _pParse, _p, _pOuterNC) 43707 if (_pParse.X16) == 0 && (_db.X17) == 0 { 43708 goto _8 43709 } 43710 43711 return 43712 43713 _8: 43714 _sqlite3SelectAddTypeInfo(tls, _pParse, _p) 43715 return 43716 43717 } 43718 43719 var _sqlite3SelectPrepØ00__func__Ø000 [18]int8 // - 43720 43721 func init() { 43722 crt.Xstrncpy(nil, &_sqlite3SelectPrepØ00__func__Ø000[0], str(50248), 18) 43723 } 43724 43725 func _sqlite3SelectExpand(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) { // sqlite3.c:120823:1 43726 var _w XWalker // sqlite3.c:120824:10 43727 _ = _w 43728 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 43729 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _sqlite3ExprWalkNoop 43730 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pParse 43731 if (_pParse.X10) == 0 { 43732 goto _0 43733 } 43734 43735 *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))))) = _convertCompoundSelectToSubquery 43736 _sqlite3WalkSelect(tls, &_w, _pSelect) 43737 _0: 43738 *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))))) = _selectExpander 43739 *(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(12 /* X3 */))))) = _selectPopWith 43740 _sqlite3WalkSelect(tls, &_w, _pSelect) 43741 return 43742 43743 } 43744 43745 func _sqlite3ExprWalkNoop(tls *crt.TLS, _NotUsed *XWalker, _NotUsed2 *XExpr) (r0 int32) { // sqlite3.c:120805:1 43746 func() *XExpr { ; return _NotUsed2 }() 43747 r0 = i32(0) 43748 return 43749 43750 } 43751 43752 func _convertCompoundSelectToSubquery(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:120234:1 43753 var _i int32 // sqlite3.c:120235:7 43754 _ = _i 43755 var _pNew *XSelect // sqlite3.c:120236:10 43756 _ = _pNew 43757 var _pX *XSelect // sqlite3.c:120237:10 43758 _ = _pX 43759 var _db *Xsqlite3 // sqlite3.c:120238:11 43760 _ = _db 43761 var _a *T7850641 // sqlite3.c:120239:24 43762 _ = _a 43763 var _pNewSrc *XSrcList // sqlite3.c:120240:11 43764 _ = _pNewSrc 43765 var _pParse *XParse // sqlite3.c:120241:9 43766 _ = _pParse 43767 var _dummy XToken // sqlite3.c:120242:9 43768 _ = _dummy 43769 if (*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 43770 goto _0 43771 } 43772 43773 r0 = i32(0) 43774 return 43775 43776 _0: 43777 if (*XExprList)(unsafe.Pointer(_p.X12)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 43778 goto _1 43779 } 43780 43781 r0 = i32(0) 43782 return 43783 43784 _1: 43785 _pX = _p 43786 _2: 43787 if _pX == nil || int32(_pX.X1) != i32(116) && int32(_pX.X1) != i32(119) { 43788 goto _7 43789 } 43790 43791 _pX = (*XSelect)(unsafe.Pointer(_pX.X13)) 43792 goto _2 43793 43794 _7: 43795 if _pX != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 43796 goto _8 43797 } 43798 43799 r0 = i32(0) 43800 return 43801 43802 _8: 43803 _a = (*T7850641)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_p.X12)).X1)) 43804 _i = ((*XExprList)(unsafe.Pointer(_p.X12)).X0) - i32(1) 43805 _9: 43806 if _i < i32(0) { 43807 goto _12 43808 } 43809 43810 if (((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 20*uintptr(_i))).X0)).X2) & uint32(i32(256))) == 0 { 43811 goto _13 43812 } 43813 43814 goto _12 43815 43816 _13: 43817 _i -= 1 43818 goto _9 43819 43820 _12: 43821 if _i >= i32(0) { 43822 goto _14 43823 } 43824 43825 r0 = i32(0) 43826 return 43827 43828 _14: 43829 _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) 43830 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 43831 _pNew = (*XSelect)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80))))) 43832 if _pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 43833 goto _15 43834 } 43835 43836 r0 = i32(2) 43837 return 43838 43839 _15: 43840 crt.Xmemset(tls, (unsafe.Pointer)(&_dummy), i32(0), u32(8)) 43841 _pNewSrc = _sqlite3SrcListAppendFromTerm(tls, _pParse, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), &_dummy, _pNew, (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XIdList)(unsafe.Pointer(uintptr(i32(0))))) 43842 if _pNewSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 43843 goto _16 43844 } 43845 43846 r0 = i32(2) 43847 return 43848 43849 _16: 43850 *_pNew = *_p 43851 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))))) = _pNewSrc 43852 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3Expr(tls, _db, i32(160), (*int8)(unsafe.Pointer(uintptr(i32(0)))))) 43853 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = uint8(i32(119)) 43854 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X9 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 43855 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X10 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 43856 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X11 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 43857 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 43858 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 43859 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(64 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 43860 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(76 /* X17 */))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) 43861 { 43862 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 43863 *p = (*p) & uint32(i32(-257)) 43864 sink985 = *p 43865 } 43866 func() int32 { 43867 if ((_p.X3) & uint32(i32(65536))) == uint32(i32(0)) { 43868 return i32(0) 43869 } 43870 return func() int32 { 43871 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120275), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertCompoundSelectToSubqueryØ00__func__Ø000))), unsafe.Pointer(str(50268))) 43872 crt.X__builtin_abort(tls) 43873 return i32(0) 43874 }() 43875 }() 43876 { 43877 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 43878 *p = (*p) | uint32(i32(65536)) 43879 sink985 = *p 43880 } 43881 func() int32 { 43882 if (*XSelect)(unsafe.Pointer(_pNew.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 43883 return i32(0) 43884 } 43885 return func() int32 { 43886 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120277), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertCompoundSelectToSubqueryØ00__func__Ø000))), unsafe.Pointer(str(50300))) 43887 crt.X__builtin_abort(tls) 43888 return i32(0) 43889 }() 43890 }() 43891 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pNew.X13) + uintptr(64 /* X14 */))))) = _pNew 43892 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 43893 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 43894 r0 = i32(0) 43895 return 43896 43897 } 43898 43899 func _sqlite3SrcListAppendFromTerm(tls *crt.TLS, _pParse *XParse, _p *XSrcList, _pTable *XToken, _pDatabase *XToken, _pAlias *XToken, _pSubquery *XSelect, _pOn *XExpr, _pUsing *XIdList) (r0 *XSrcList) { // sqlite3.c:103286:1 43900 var _pItem *T7840217 // sqlite3.c:103296:23 43901 _ = _pItem 43902 var _db *Xsqlite3 // sqlite3.c:103297:11 43903 _ = _db 43904 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 43905 if _p != nil || _pOn == nil && _pUsing == nil { 43906 goto _2 43907 } 43908 43909 _sqlite3ErrorMsg(tls, _pParse, str(50316), unsafe.Pointer(func() *int8 { 43910 if _pOn != nil { 43911 return str(26832) 43912 } 43913 return str(26972) 43914 }())) 43915 goto _append_from_error 43916 43917 _2: 43918 _p = _sqlite3SrcListAppend(tls, _db, _p, _pTable, _pDatabase) 43919 if _p != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { 43920 if (_p.X0) == i32(0) { 43921 return func() int32 { 43922 func() int32 { 43923 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103305), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListAppendFromTermØ00__func__Ø000))), unsafe.Pointer(str(5204))) 43924 crt.X__builtin_abort(tls) 43925 return i32(0) 43926 }() 43927 return i32(1) 43928 }() 43929 } 43930 return i32(0) 43931 }() == 0 { 43932 goto _8 43933 } 43934 43935 goto _append_from_error 43936 43937 _8: 43938 _pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 43939 X0 unsafe.Pointer 43940 X1 *int8 43941 X2 *int8 43942 X3 *int8 43943 X4 unsafe.Pointer 43944 X5 unsafe.Pointer 43945 X6 int32 43946 X7 int32 43947 X8 int32 43948 X9 struct { 43949 X0 uint8 43950 X1 int8 43951 } 43952 X10 uint8 43953 X11 int32 43954 X12 unsafe.Pointer 43955 X13 unsafe.Pointer 43956 X14 uint64 43957 X15 struct { 43958 X [0]struct { 43959 X0 *int8 43960 X1 unsafe.Pointer 43961 } 43962 U [4]byte 43963 } 43964 X16 unsafe.Pointer 43965 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 68*uintptr((_p.X0)-i32(1)))) 43966 func() int32 { 43967 if _pAlias != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 43968 return i32(0) 43969 } 43970 return func() int32 { 43971 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103309), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListAppendFromTermØ00__func__Ø000))), unsafe.Pointer(str(50352))) 43972 crt.X__builtin_abort(tls) 43973 return i32(0) 43974 }() 43975 }() 43976 if (_pAlias.X1) == 0 { 43977 goto _11 43978 } 43979 43980 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(12 /* X3 */))) = _sqlite3NameFromToken(tls, _db, _pAlias) 43981 _11: 43982 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(20 /* X5 */))))) = _pSubquery 43983 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(44 /* X12 */))))) = _pOn 43984 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(48 /* X13 */))))) = _pUsing 43985 r0 = _p 43986 return 43987 43988 _append_from_error: 43989 func() int32 { 43990 if _p == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 43991 return i32(0) 43992 } 43993 return func() int32 { 43994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103319), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListAppendFromTermØ00__func__Ø000))), unsafe.Pointer(str(50364))) 43995 crt.X__builtin_abort(tls) 43996 return i32(0) 43997 }() 43998 }() 43999 _sqlite3ExprDelete(tls, _db, _pOn) 44000 _sqlite3IdListDelete(tls, _db, _pUsing) 44001 _sqlite3SelectDelete(tls, _db, _pSubquery) 44002 r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 44003 return 44004 44005 } 44006 44007 func _sqlite3SrcListAppend(tls *crt.TLS, _db *Xsqlite3, _pList *XSrcList, _pTable *XToken, _pDatabase *XToken) (r0 *XSrcList) { // sqlite3.c:103194:1 44008 var _pItem *T7840217 // sqlite3.c:103200:23 44009 _ = _pItem 44010 var _5_pTemp *XToken // sqlite3.c:103222:11 44011 _ = _5_pTemp 44012 func() int32 { 44013 if (_pDatabase == (*XToken)(unsafe.Pointer(uintptr(i32(0))))) || (_pTable != (*XToken)(unsafe.Pointer(uintptr(i32(0))))) { 44014 return i32(0) 44015 } 44016 return func() int32 { 44017 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103201), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListAppendØ00__func__Ø000))), unsafe.Pointer(str(50372))) 44018 crt.X__builtin_abort(tls) 44019 return i32(0) 44020 }() 44021 }() 44022 func() int32 { 44023 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 44024 return i32(0) 44025 } 44026 return func() int32 { 44027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103202), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListAppendØ00__func__Ø000))), unsafe.Pointer(str(1184))) 44028 crt.X__builtin_abort(tls) 44029 return i32(0) 44030 }() 44031 }() 44032 if _pList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 44033 goto _5 44034 } 44035 44036 _pList = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(76))))) 44037 if _pList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 44038 goto _6 44039 } 44040 44041 r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 44042 return 44043 44044 _6: 44045 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(4 /* X1 */))) = uint32(i32(1)) 44046 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))) = i32(1) 44047 crt.Xmemset(tls, (unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44048 X0 unsafe.Pointer 44049 X1 *int8 44050 X2 *int8 44051 X3 *int8 44052 X4 unsafe.Pointer 44053 X5 unsafe.Pointer 44054 X6 int32 44055 X7 int32 44056 X8 int32 44057 X9 struct { 44058 X0 uint8 44059 X1 int8 44060 } 44061 X10 uint8 44062 X11 int32 44063 X12 unsafe.Pointer 44064 X13 unsafe.Pointer 44065 X14 uint64 44066 X15 struct { 44067 X [0]struct { 44068 X0 *int8 44069 X1 unsafe.Pointer 44070 } 44071 U [4]byte 44072 } 44073 X16 unsafe.Pointer 44074 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))), i32(0), u32(68)) 44075 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44076 X0 unsafe.Pointer 44077 X1 *int8 44078 X2 *int8 44079 X3 *int8 44080 X4 unsafe.Pointer 44081 X5 unsafe.Pointer 44082 X6 int32 44083 X7 int32 44084 X8 int32 44085 X9 struct { 44086 X0 uint8 44087 X1 int8 44088 } 44089 X10 uint8 44090 X11 int32 44091 X12 unsafe.Pointer 44092 X13 unsafe.Pointer 44093 X14 uint64 44094 X15 struct { 44095 X [0]struct { 44096 X0 *int8 44097 X1 unsafe.Pointer 44098 } 44099 U [4]byte 44100 } 44101 X16 unsafe.Pointer 44102 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(40 /* X11 */))) = i32(-1) 44103 goto _7 44104 44105 _5: 44106 _pList = _sqlite3SrcListEnlarge(tls, _db, _pList, i32(1), _pList.X0) 44107 _7: 44108 if (_db.X17) == 0 { 44109 goto _8 44110 } 44111 44112 _sqlite3SrcListDelete(tls, _db, _pList) 44113 r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 44114 return 44115 44116 _8: 44117 _pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44118 X0 unsafe.Pointer 44119 X1 *int8 44120 X2 *int8 44121 X3 *int8 44122 X4 unsafe.Pointer 44123 X5 unsafe.Pointer 44124 X6 int32 44125 X7 int32 44126 X8 int32 44127 X9 struct { 44128 X0 uint8 44129 X1 int8 44130 } 44131 X10 uint8 44132 X11 int32 44133 X12 unsafe.Pointer 44134 X13 unsafe.Pointer 44135 X14 uint64 44136 X15 struct { 44137 X [0]struct { 44138 X0 *int8 44139 X1 unsafe.Pointer 44140 } 44141 U [4]byte 44142 } 44143 X16 unsafe.Pointer 44144 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(8 /* X2 */))))) + 68*uintptr((_pList.X0)-i32(1)))) 44145 if _pDatabase == nil || (_pDatabase.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 44146 goto _10 44147 } 44148 44149 _pDatabase = (*XToken)(unsafe.Pointer(uintptr(i32(0)))) 44150 _10: 44151 if _pDatabase == nil { 44152 goto _11 44153 } 44154 44155 _5_pTemp = _pDatabase 44156 _pDatabase = _pTable 44157 _pTable = _5_pTemp 44158 _11: 44159 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(8 /* X2 */))) = _sqlite3NameFromToken(tls, _db, _pTable) 44160 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(4 /* X1 */))) = _sqlite3NameFromToken(tls, _db, _pDatabase) 44161 r0 = _pList 44162 return 44163 44164 } 44165 44166 var _sqlite3SrcListAppendØ00__func__Ø000 [21]int8 // - 44167 44168 func init() { 44169 crt.Xstrncpy(nil, &_sqlite3SrcListAppendØ00__func__Ø000[0], str(50400), 21) 44170 } 44171 44172 func _sqlite3SrcListEnlarge(tls *crt.TLS, _db *Xsqlite3, _pSrc *XSrcList, _nExtra int32, _iStart int32) (r0 *XSrcList) { // sqlite3.c:103112:1 44173 var _i int32 // sqlite3.c:103118:7 44174 _ = _i 44175 var _1_pNew *XSrcList // sqlite3.c:103128:13 44176 _ = _1_pNew 44177 var _1_nAlloc int32 // sqlite3.c:103129:9 44178 _ = _1_nAlloc 44179 var _1_nGot int32 // sqlite3.c:103130:9 44180 _ = _1_nGot 44181 func() int32 { 44182 if _iStart >= i32(0) { 44183 return i32(0) 44184 } 44185 return func() int32 { 44186 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103121), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListEnlargeØ00__func__Ø000))), unsafe.Pointer(str(50424))) 44187 crt.X__builtin_abort(tls) 44188 return i32(0) 44189 }() 44190 }() 44191 func() int32 { 44192 if _nExtra >= i32(1) { 44193 return i32(0) 44194 } 44195 return func() int32 { 44196 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103122), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListEnlargeØ00__func__Ø000))), unsafe.Pointer(str(50436))) 44197 crt.X__builtin_abort(tls) 44198 return i32(0) 44199 }() 44200 }() 44201 func() int32 { 44202 if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 44203 return i32(0) 44204 } 44205 return func() int32 { 44206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103123), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListEnlargeØ00__func__Ø000))), unsafe.Pointer(str(50448))) 44207 crt.X__builtin_abort(tls) 44208 return i32(0) 44209 }() 44210 }() 44211 func() int32 { 44212 if _iStart <= (_pSrc.X0) { 44213 return i32(0) 44214 } 44215 return func() int32 { 44216 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103124), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListEnlargeØ00__func__Ø000))), unsafe.Pointer(str(50456))) 44217 crt.X__builtin_abort(tls) 44218 return i32(0) 44219 }() 44220 }() 44221 if (uint32(_pSrc.X0) + uint32(_nExtra)) <= (_pSrc.X1) { 44222 goto _8 44223 } 44224 44225 _1_nAlloc = ((_pSrc.X0) * i32(2)) + _nExtra 44226 _1_pNew = (*XSrcList)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pSrc), uint64(u32(76)+(uint32(_1_nAlloc-i32(1))*u32(68)))))) 44227 if _1_pNew != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 44228 goto _9 44229 } 44230 44231 func() int32 { 44232 if (_db.X17) != 0 { 44233 return i32(0) 44234 } 44235 return func() int32 { 44236 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103134), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListEnlargeØ00__func__Ø000))), unsafe.Pointer(str(50476))) 44237 crt.X__builtin_abort(tls) 44238 return i32(0) 44239 }() 44240 }() 44241 r0 = _pSrc 44242 return 44243 44244 _9: 44245 _pSrc = _1_pNew 44246 _1_nGot = int32(((uint32(_sqlite3DbMallocSize(tls, _db, (unsafe.Pointer)(_1_pNew))) - u32(76)) / u32(68)) + uint32(i32(1))) 44247 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(4 /* X1 */))) = uint32(_1_nGot) 44248 _8: 44249 _i = (_pSrc.X0) - i32(1) 44250 _12: 44251 if _i < _iStart { 44252 goto _15 44253 } 44254 44255 *(*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44256 X0 unsafe.Pointer 44257 X1 *int8 44258 X2 *int8 44259 X3 *int8 44260 X4 unsafe.Pointer 44261 X5 unsafe.Pointer 44262 X6 int32 44263 X7 int32 44264 X8 int32 44265 X9 struct { 44266 X0 uint8 44267 X1 int8 44268 } 44269 X10 uint8 44270 X11 int32 44271 X12 unsafe.Pointer 44272 X13 unsafe.Pointer 44273 X14 uint64 44274 X15 struct { 44275 X [0]struct { 44276 X0 *int8 44277 X1 unsafe.Pointer 44278 } 44279 U [4]byte 44280 } 44281 X16 unsafe.Pointer 44282 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_i+_nExtra))) = *(*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44283 X0 unsafe.Pointer 44284 X1 *int8 44285 X2 *int8 44286 X3 *int8 44287 X4 unsafe.Pointer 44288 X5 unsafe.Pointer 44289 X6 int32 44290 X7 int32 44291 X8 int32 44292 X9 struct { 44293 X0 uint8 44294 X1 int8 44295 } 44296 X10 uint8 44297 X11 int32 44298 X12 unsafe.Pointer 44299 X13 unsafe.Pointer 44300 X14 uint64 44301 X15 struct { 44302 X [0]struct { 44303 X0 *int8 44304 X1 unsafe.Pointer 44305 } 44306 U [4]byte 44307 } 44308 X16 unsafe.Pointer 44309 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 44310 _i -= 1 44311 goto _12 44312 44313 _15: 44314 { 44315 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(0 /* X0 */))) 44316 *p = (*p) + _nExtra 44317 sink961 = *p 44318 } 44319 crt.Xmemset(tls, (unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44320 X0 unsafe.Pointer 44321 X1 *int8 44322 X2 *int8 44323 X3 *int8 44324 X4 unsafe.Pointer 44325 X5 unsafe.Pointer 44326 X6 int32 44327 X7 int32 44328 X8 int32 44329 X9 struct { 44330 X0 uint8 44331 X1 int8 44332 } 44333 X10 uint8 44334 X11 int32 44335 X12 unsafe.Pointer 44336 X13 unsafe.Pointer 44337 X14 uint64 44338 X15 struct { 44339 X [0]struct { 44340 X0 *int8 44341 X1 unsafe.Pointer 44342 } 44343 U [4]byte 44344 } 44345 X16 unsafe.Pointer 44346 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_iStart)))), i32(0), u32(68)*uint32(_nExtra)) 44347 _i = _iStart 44348 _16: 44349 if _i >= (_iStart + _nExtra) { 44350 goto _19 44351 } 44352 44353 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 44354 X0 unsafe.Pointer 44355 X1 *int8 44356 X2 *int8 44357 X3 *int8 44358 X4 unsafe.Pointer 44359 X5 unsafe.Pointer 44360 X6 int32 44361 X7 int32 44362 X8 int32 44363 X9 struct { 44364 X0 uint8 44365 X1 int8 44366 } 44367 X10 uint8 44368 X11 int32 44369 X12 unsafe.Pointer 44370 X13 unsafe.Pointer 44371 X14 uint64 44372 X15 struct { 44373 X [0]struct { 44374 X0 *int8 44375 X1 unsafe.Pointer 44376 } 44377 U [4]byte 44378 } 44379 X16 unsafe.Pointer 44380 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_i))))) + uintptr(40 /* X11 */))) = i32(-1) 44381 _i += 1 44382 goto _16 44383 44384 _19: 44385 r0 = _pSrc 44386 return 44387 44388 } 44389 44390 var _sqlite3SrcListEnlargeØ00__func__Ø000 [22]int8 // - 44391 44392 func init() { 44393 crt.Xstrncpy(nil, &_sqlite3SrcListEnlargeØ00__func__Ø000[0], str(50496), 22) 44394 } 44395 44396 func _sqlite3NameFromToken(tls *crt.TLS, _db *Xsqlite3, _pName *XToken) (r0 *int8) { // sqlite3.c:100135:1 44397 var _zName *int8 // sqlite3.c:100136:8 44398 _ = _zName 44399 if _pName == nil { 44400 goto _0 44401 } 44402 44403 _zName = _sqlite3DbStrNDup(tls, _db, _pName.X0, uint64(_pName.X1)) 44404 _sqlite3Dequote(tls, _zName) 44405 goto _1 44406 44407 _0: 44408 _zName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 44409 _1: 44410 r0 = _zName 44411 return 44412 44413 } 44414 44415 var _sqlite3SrcListAppendFromTermØ00__func__Ø000 [29]int8 // - 44416 44417 func init() { 44418 crt.Xstrncpy(nil, &_sqlite3SrcListAppendFromTermØ00__func__Ø000[0], str(50520), 29) 44419 } 44420 44421 func _sqlite3ExprListAppend(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pExpr *XExpr) (r0 *XExprList) { // sqlite3.c:92207:1 44422 var _db *Xsqlite3 // sqlite3.c:92212:11 44423 _ = _db 44424 var _3_a *T7850641 // sqlite3.c:92223:26 44425 _ = _3_a 44426 var _5_pItem *T7850641 // sqlite3.c:92233:26 44427 _ = _5_pItem 44428 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 44429 func() int32 { 44430 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 44431 return i32(0) 44432 } 44433 return func() int32 { 44434 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92213), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListAppendØ00__func__Ø000))), unsafe.Pointer(str(1184))) 44435 crt.X__builtin_abort(tls) 44436 return i32(0) 44437 }() 44438 }() 44439 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 44440 goto _2 44441 } 44442 44443 _pList = (*XExprList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(8))))) 44444 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 44445 goto _3 44446 } 44447 44448 goto _no_mem 44449 44450 _3: 44451 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))) = i32(0) 44452 *(**T7850641)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(4 /* X1 */))))) = (*T7850641)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(20))))) 44453 if (*T7850641)(unsafe.Pointer(_pList.X1)) != (*T7850641)(unsafe.Pointer(uintptr(i32(0)))) { 44454 goto _4 44455 } 44456 44457 goto _no_mem 44458 44459 _4: 44460 goto _5 44461 44462 _2: 44463 if ((_pList.X0) & ((_pList.X0) - i32(1))) != i32(0) { 44464 goto _6 44465 } 44466 44467 func() int32 { 44468 if (_pList.X0) > i32(0) { 44469 return i32(0) 44470 } 44471 return func() int32 { 44472 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92224), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListAppendØ00__func__Ø000))), unsafe.Pointer(str(50552))) 44473 crt.X__builtin_abort(tls) 44474 return i32(0) 44475 }() 44476 }() 44477 _3_a = (*T7850641)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, _pList.X1, uint64(uint32((_pList.X0)*i32(2))*u32(20))))) 44478 if _3_a != (*T7850641)(unsafe.Pointer(uintptr(i32(0)))) { 44479 goto _9 44480 } 44481 44482 goto _no_mem 44483 44484 _9: 44485 *(**T7850641)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(4 /* X1 */))))) = _3_a 44486 _6: 44487 _5: 44488 func() int32 { 44489 if (*T7850641)(unsafe.Pointer(_pList.X1)) != (*T7850641)(unsafe.Pointer(uintptr(i32(0)))) { 44490 return i32(0) 44491 } 44492 return func() int32 { 44493 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92231), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListAppendØ00__func__Ø000))), unsafe.Pointer(str(50568))) 44494 crt.X__builtin_abort(tls) 44495 return i32(0) 44496 }() 44497 }() 44498 _5_pItem = (*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(0 /* X0 */))), int32(1))))) 44499 crt.Xmemset(tls, (unsafe.Pointer)(_5_pItem), i32(0), u32(20)) 44500 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem)) + uintptr(0 /* X0 */))))) = _pExpr 44501 r0 = _pList 44502 return 44503 44504 _no_mem: 44505 _sqlite3ExprDelete(tls, _db, _pExpr) 44506 _sqlite3ExprListDelete(tls, _db, _pList) 44507 r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 44508 return 44509 44510 } 44511 44512 var _sqlite3ExprListAppendØ00__func__Ø000 [22]int8 // - 44513 44514 func init() { 44515 crt.Xstrncpy(nil, &_sqlite3ExprListAppendØ00__func__Ø000[0], str(50580), 22) 44516 } 44517 44518 func _sqlite3Expr(tls *crt.TLS, _db *Xsqlite3, _op int32, _zToken *int8) (r0 *XExpr) { // sqlite3.c:91509:1 44519 var _x XToken // sqlite3.c:91514:9 44520 _ = _x 44521 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = _zToken 44522 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(4 /* X1 */))) = uint32(func() int32 { 44523 if _zToken != nil { 44524 return _sqlite3Strlen30(tls, _zToken) 44525 } 44526 return i32(0) 44527 }()) 44528 r0 = _sqlite3ExprAlloc(tls, _db, _op, &_x, i32(0)) 44529 return 44530 44531 } 44532 44533 func _sqlite3ExprAlloc(tls *crt.TLS, _db *Xsqlite3, _op int32, _pToken *XToken, _dequote int32) (r0 *XExpr) { // sqlite3.c:91460:1 44534 var _pNew *XExpr // sqlite3.c:91466:8 44535 _ = _pNew 44536 var _nExtra int32 // sqlite3.c:91467:7 44537 _ = _nExtra 44538 var _iValue int32 // sqlite3.c:91468:7 44539 _ = _iValue 44540 _nExtra = i32(0) 44541 _iValue = i32(0) 44542 func() int32 { 44543 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 44544 return i32(0) 44545 } 44546 return func() int32 { 44547 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91470), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAllocØ00__func__Ø000))), unsafe.Pointer(str(1184))) 44548 crt.X__builtin_abort(tls) 44549 return i32(0) 44550 }() 44551 }() 44552 if _pToken == nil { 44553 goto _2 44554 } 44555 44556 if _op == i32(134) && (_pToken.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3GetInt32(tls, _pToken.X0, &_iValue) != i32(0) { 44557 goto _5 44558 } 44559 44560 _nExtra = int32((_pToken.X1) + uint32(i32(1))) 44561 func() int32 { 44562 if _iValue >= i32(0) { 44563 return i32(0) 44564 } 44565 return func() int32 { 44566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91475), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAllocØ00__func__Ø000))), unsafe.Pointer(str(50604))) 44567 crt.X__builtin_abort(tls) 44568 return i32(0) 44569 }() 44570 }() 44571 _5: 44572 _2: 44573 _pNew = (*XExpr)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(48)+uint32(_nExtra))))) 44574 if _pNew == nil { 44575 goto _8 44576 } 44577 44578 crt.Xmemset(tls, (unsafe.Pointer)(_pNew), i32(0), u32(48)) 44579 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = uint8(_op) 44580 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(34 /* X10 */))) = int16(i32(-1)) 44581 if _pToken == nil { 44582 goto _9 44583 } 44584 44585 if _nExtra != i32(0) { 44586 goto _10 44587 } 44588 44589 { 44590 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) 44591 *p = (*p) | uint32(i32(1024)) 44592 sink985 = *p 44593 } 44594 *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))) = _iValue 44595 goto _11 44596 44597 _10: 44598 *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))) = (*int8)(unsafe.Pointer((*XExpr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 48*uintptr(i32(1)))))) 44599 func() int32 { 44600 if ((_pToken.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((_pToken.X1) == uint32(i32(0))) { 44601 return i32(0) 44602 } 44603 return func() int32 { 44604 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91489), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAllocØ00__func__Ø000))), unsafe.Pointer(str(50616))) 44605 crt.X__builtin_abort(tls) 44606 return i32(0) 44607 }() 44608 }() 44609 if (_pToken.X1) == 0 { 44610 goto _15 44611 } 44612 44613 crt.Xmemcpy(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */)))))), (unsafe.Pointer)(_pToken.X0), _pToken.X1) 44614 _15: 44615 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_pToken.X1))) = int8(i32(0)) 44616 if _dequote == 0 || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0)))))))))&i32(128)) == 0 { 44617 goto _17 44618 } 44619 44620 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) != i32(34) { 44621 goto _18 44622 } 44623 44624 { 44625 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) 44626 *p = (*p) | uint32(i32(64)) 44627 sink985 = *p 44628 } 44629 _18: 44630 _sqlite3Dequote(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */)))))) 44631 _17: 44632 _11: 44633 _9: 44634 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = i32(1) 44635 _8: 44636 r0 = _pNew 44637 return 44638 44639 } 44640 44641 var _sqlite3ExprAllocØ00__func__Ø000 [17]int8 // - 44642 44643 func init() { 44644 crt.Xstrncpy(nil, &_sqlite3ExprAllocØ00__func__Ø000[0], str(50648), 17) 44645 } 44646 44647 var _convertCompoundSelectToSubqueryØ00__func__Ø000 [32]int8 // - 44648 44649 func init() { 44650 crt.Xstrncpy(nil, &_convertCompoundSelectToSubqueryØ00__func__Ø000[0], str(50668), 32) 44651 } 44652 44653 func _sqlite3WalkSelect(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:89158:1 44654 var _rc int32 // sqlite3.c:89159:7 44655 _ = _rc 44656 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) && (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 44657 f func(*crt.TLS, *XWalker, *XSelect) int32 44658 }{(*(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer(&struct { 44659 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 44660 }{(_pWalker.X2)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 44661 f func(*crt.TLS, *XWalker, *XSelect) int32 44662 }{nil})) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { 44663 f func(*crt.TLS, *XWalker, *XSelect) 44664 }{(*(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer(&struct { 44665 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 44666 }{(_pWalker.X3)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 44667 f func(*crt.TLS, *XWalker, *XSelect) 44668 }{nil}))) { 44669 goto _2 44670 } 44671 44672 r0 = i32(0) 44673 return 44674 44675 _2: 44676 _rc = i32(0) 44677 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(16 /* X4 */))) += 1 44678 _3: 44679 if _p == nil { 44680 goto _4 44681 } 44682 44683 if (*(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer(&struct { 44684 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 44685 }{(_pWalker.X2)}))) == nil { 44686 goto _5 44687 } 44688 44689 _rc = (*(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer(&struct { 44690 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 44691 }{(_pWalker.X2)})))(tls, _pWalker, _p) 44692 if _rc == 0 { 44693 goto _6 44694 } 44695 44696 goto _4 44697 44698 _6: 44699 _5: 44700 if _sqlite3WalkSelectExpr(tls, _pWalker, _p) == 0 && _sqlite3WalkSelectFrom(tls, _pWalker, _p) == 0 { 44701 goto _8 44702 } 44703 44704 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(16 /* X4 */))) -= 1 44705 r0 = i32(2) 44706 return 44707 44708 _8: 44709 if (*(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer(&struct { 44710 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 44711 }{(_pWalker.X3)}))) == nil { 44712 goto _9 44713 } 44714 44715 (*(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer(&struct { 44716 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 44717 }{(_pWalker.X3)})))(tls, _pWalker, _p) 44718 _9: 44719 _p = (*XSelect)(unsafe.Pointer(_p.X13)) 44720 goto _3 44721 44722 _4: 44723 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(16 /* X4 */))) -= 1 44724 r0 = _rc & i32(2) 44725 return 44726 44727 } 44728 44729 func _sqlite3WalkSelectExpr(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:89103:1 44730 if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(_p.X0))) == 0 { 44731 goto _0 44732 } 44733 44734 r0 = i32(2) 44735 return 44736 44737 _0: 44738 if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X9))) == 0 { 44739 goto _1 44740 } 44741 44742 r0 = i32(2) 44743 return 44744 44745 _1: 44746 if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(_p.X10))) == 0 { 44747 goto _2 44748 } 44749 44750 r0 = i32(2) 44751 return 44752 44753 _2: 44754 if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X11))) == 0 { 44755 goto _3 44756 } 44757 44758 r0 = i32(2) 44759 return 44760 44761 _3: 44762 if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(_p.X12))) == 0 { 44763 goto _4 44764 } 44765 44766 r0 = i32(2) 44767 return 44768 44769 _4: 44770 if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X15))) == 0 { 44771 goto _5 44772 } 44773 44774 r0 = i32(2) 44775 return 44776 44777 _5: 44778 if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_p.X16))) == 0 { 44779 goto _6 44780 } 44781 44782 r0 = i32(2) 44783 return 44784 44785 _6: 44786 r0 = i32(0) 44787 return 44788 44789 } 44790 44791 func _sqlite3WalkExprList(tls *crt.TLS, _pWalker *XWalker, _p *XExprList) (r0 int32) { // sqlite3.c:89086:1 44792 var _i int32 // sqlite3.c:89087:7 44793 _ = _i 44794 var _pItem *T7850641 // sqlite3.c:89088:24 44795 _ = _pItem 44796 if _p == nil { 44797 goto _0 44798 } 44799 44800 *func() **T7850641 { _i = _p.X0; return &_pItem }() = (*T7850641)(unsafe.Pointer(_p.X1)) 44801 _1: 44802 if _i <= i32(0) { 44803 goto _4 44804 } 44805 44806 if _sqlite3WalkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_pItem.X0))) == 0 { 44807 goto _5 44808 } 44809 44810 r0 = i32(2) 44811 return 44812 44813 _5: 44814 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i -= 1; return &_pItem }())) += uintptr(20) 44815 goto _1 44816 44817 _4: 44818 _0: 44819 r0 = i32(0) 44820 return 44821 44822 } 44823 44824 func _sqlite3WalkExpr(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89078:1 44825 r0 = func() int32 { 44826 if _pExpr != nil { 44827 return _walkExpr(tls, _pWalker, _pExpr) 44828 } 44829 return i32(0) 44830 }() 44831 return 44832 44833 } 44834 44835 func _walkExpr(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89061:1 44836 var _rc int32 // sqlite3.c:89062:7 44837 _ = _rc 44838 _rc = (*(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer(&struct { 44839 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 44840 }{(_pWalker.X1)})))(tls, _pWalker, _pExpr) 44841 if _rc == 0 && ((_pExpr.X2)&uint32(i32(8404992))) == uint32(i32(0)) { 44842 goto _1 44843 } 44844 44845 r0 = _rc & i32(2) 44846 return 44847 44848 _1: 44849 if (*XExpr)(unsafe.Pointer(_pExpr.X4)) == nil || _walkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == 0 { 44850 goto _3 44851 } 44852 44853 r0 = i32(2) 44854 return 44855 44856 _3: 44857 if (*XExpr)(unsafe.Pointer(_pExpr.X5)) == nil || _walkExpr(tls, _pWalker, (*XExpr)(unsafe.Pointer(_pExpr.X5))) == 0 { 44858 goto _5 44859 } 44860 44861 r0 = i32(2) 44862 return 44863 44864 _5: 44865 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 44866 goto _6 44867 } 44868 44869 if _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) == 0 { 44870 goto _7 44871 } 44872 44873 r0 = i32(2) 44874 return 44875 44876 _7: 44877 goto _8 44878 44879 _6: 44880 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) == nil { 44881 goto _9 44882 } 44883 44884 if _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) == 0 { 44885 goto _10 44886 } 44887 44888 r0 = i32(2) 44889 return 44890 44891 _10: 44892 _9: 44893 _8: 44894 r0 = i32(0) 44895 return 44896 44897 } 44898 44899 func _sqlite3WalkSelectFrom(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:89121:1 44900 var _pSrc *XSrcList // sqlite3.c:89122:11 44901 _ = _pSrc 44902 var _i int32 // sqlite3.c:89123:7 44903 _ = _i 44904 var _pItem *T7840217 // sqlite3.c:89124:23 44905 _ = _pItem 44906 _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) 44907 if func() int32 { 44908 if _pSrc != nil { 44909 return i32(1) 44910 } 44911 return func() int32 { 44912 func() int32 { 44913 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89127), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalkSelectFromØ00__func__Ø000))), unsafe.Pointer(str(5204))) 44914 crt.X__builtin_abort(tls) 44915 return i32(0) 44916 }() 44917 return i32(0) 44918 }() 44919 }() == 0 { 44920 goto _2 44921 } 44922 44923 *func() **T7840217 { _i = _pSrc.X0; return &_pItem }() = (*T7840217)(unsafe.Pointer((*[1]struct { 44924 X0 unsafe.Pointer 44925 X1 *int8 44926 X2 *int8 44927 X3 *int8 44928 X4 unsafe.Pointer 44929 X5 unsafe.Pointer 44930 X6 int32 44931 X7 int32 44932 X8 int32 44933 X9 struct { 44934 X0 uint8 44935 X1 int8 44936 } 44937 X10 uint8 44938 X11 int32 44939 X12 unsafe.Pointer 44940 X13 unsafe.Pointer 44941 X14 uint64 44942 X15 struct { 44943 X [0]struct { 44944 X0 *int8 44945 X1 unsafe.Pointer 44946 } 44947 U [4]byte 44948 } 44949 X16 unsafe.Pointer 44950 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(8 /* X2 */))))) 44951 _3: 44952 if _i <= i32(0) { 44953 goto _6 44954 } 44955 44956 if _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(_pItem.X5))) == 0 { 44957 goto _7 44958 } 44959 44960 r0 = i32(2) 44961 return 44962 44963 _7: 44964 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == 0 || _sqlite3WalkExprList(tls, _pWalker, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(60 /* X15 */)))))))) == 0 { 44965 goto _9 44966 } 44967 44968 r0 = i32(2) 44969 return 44970 44971 _9: 44972 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i -= 1; return &_pItem }())) += uintptr(68) 44973 goto _3 44974 44975 _6: 44976 _2: 44977 r0 = i32(0) 44978 return 44979 44980 } 44981 44982 var _sqlite3WalkSelectFromØ00__func__Ø000 [22]int8 // - 44983 44984 func init() { 44985 crt.Xstrncpy(nil, &_sqlite3WalkSelectFromØ00__func__Ø000[0], str(50700), 22) 44986 } 44987 44988 func _selectExpander(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:120526:1 44989 var _pParse *XParse // sqlite3.c:120527:9 44990 _ = _pParse 44991 var _i int32 // sqlite3.c:120528:7 44992 _ = _i 44993 var _j int32 // sqlite3.c:120528:10 44994 _ = _j 44995 var _k int32 // sqlite3.c:120528:13 44996 _ = _k 44997 var _pTabList *XSrcList // sqlite3.c:120529:11 44998 _ = _pTabList 44999 var _pEList *XExprList // sqlite3.c:120530:12 45000 _ = _pEList 45001 var _pFrom *T7840217 // sqlite3.c:120531:23 45002 _ = _pFrom 45003 var _db *Xsqlite3 // sqlite3.c:120532:11 45004 _ = _db 45005 var _pE *XExpr // sqlite3.c:120533:8 45006 _ = _pE 45007 var _pRight *XExpr // sqlite3.c:120533:13 45008 _ = _pRight 45009 var _pExpr *XExpr // sqlite3.c:120533:22 45010 _ = _pExpr 45011 var _selFlags uint16 // sqlite3.c:120534:7 45012 _ = _selFlags 45013 var _4_pTab *XTable // sqlite3.c:120559:11 45014 _ = _4_pTab 45015 var _6_pSel *XSelect // sqlite3.c:120569:14 45016 _ = _6_pSel 45017 var _11_nCol int16 // sqlite3.c:120601:13 45018 _ = _11_nCol 45019 var _15_a *T7850641 // sqlite3.c:120650:26 45020 _ = _15_a 45021 var _15_pNew *XExprList // sqlite3.c:120651:14 45022 _ = _15_pNew 45023 var _15_flags int32 // sqlite3.c:120652:9 45024 _ = _15_flags 45025 var _15_longNames int32 // sqlite3.c:120653:9 45026 _ = _15_longNames 45027 var _19_tableSeen int32 // sqlite3.c:120676:13 45028 _ = _19_tableSeen 45029 var _19_zTName *int8 // sqlite3.c:120677:14 45030 _ = _19_zTName 45031 var _21_pTab *XTable // sqlite3.c:120684:17 45032 _ = _21_pTab 45033 var _21_pSub *XSelect // sqlite3.c:120685:18 45034 _ = _21_pSub 45035 var _21_zTabName *int8 // sqlite3.c:120686:16 45036 _ = _21_zTabName 45037 var _21_zSchemaName *int8 // sqlite3.c:120687:22 45038 _ = _21_zSchemaName 45039 var _21_iDb int32 // sqlite3.c:120688:15 45040 _ = _21_iDb 45041 var _25_zName *int8 // sqlite3.c:120702:18 45042 _ = _25_zName 45043 var _25_zColname *int8 // sqlite3.c:120703:18 45044 _ = _25_zColname 45045 var _25_zToFree *int8 // sqlite3.c:120704:18 45046 _ = _25_zToFree 45047 var _25_sColname XToken // sqlite3.c:120705:19 45048 _ = _25_sColname 45049 var _31_pLeft *XExpr // sqlite3.c:120743:20 45050 _ = _31_pLeft 45051 var _35_pX *T7850641 // sqlite3.c:120761:36 45052 _ = _35_pX 45053 _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) 45054 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 45055 _selFlags = uint16(_p.X3) 45056 { 45057 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 45058 *p = (*p) | uint32(i32(64)) 45059 sink985 = *p 45060 } 45061 if (_db.X17) == 0 { 45062 goto _0 45063 } 45064 45065 r0 = i32(2) 45066 return 45067 45068 _0: 45069 if func() int32 { 45070 if (*XSrcList)(unsafe.Pointer(_p.X8)) == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 45071 return func() int32 { 45072 func() int32 { 45073 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120540), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(5204))) 45074 crt.X__builtin_abort(tls) 45075 return i32(0) 45076 }() 45077 return i32(1) 45078 }() 45079 } 45080 return i32(0) 45081 }() == 0 && (int32(_selFlags)&i32(64)) == i32(0) { 45082 goto _4 45083 } 45084 45085 r0 = i32(1) 45086 return 45087 45088 _4: 45089 _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) 45090 _pEList = (*XExprList)(unsafe.Pointer(_p.X0)) 45091 if (*XWith)(unsafe.Pointer(_p.X17)) == nil { 45092 goto _5 45093 } 45094 45095 _sqlite3WithPush(tls, _pParse, (*XWith)(unsafe.Pointer(_p.X17)), uint8(i32(0))) 45096 _5: 45097 _sqlite3SrcListAssignCursors(tls, _pParse, _pTabList) 45098 *func() **T7840217 { _i = i32(0); return &_pFrom }() = (*T7840217)(unsafe.Pointer((*[1]struct { 45099 X0 unsafe.Pointer 45100 X1 *int8 45101 X2 *int8 45102 X3 *int8 45103 X4 unsafe.Pointer 45104 X5 unsafe.Pointer 45105 X6 int32 45106 X7 int32 45107 X8 int32 45108 X9 struct { 45109 X0 uint8 45110 X1 int8 45111 } 45112 X10 uint8 45113 X11 int32 45114 X12 unsafe.Pointer 45115 X13 unsafe.Pointer 45116 X14 uint64 45117 X15 struct { 45118 X [0]struct { 45119 X0 *int8 45120 X1 unsafe.Pointer 45121 } 45122 U [4]byte 45123 } 45124 X16 unsafe.Pointer 45125 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) 45126 _6: 45127 if _i >= (_pTabList.X0) { 45128 goto _9 45129 } 45130 45131 func() int32 { 45132 if (int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(36 /* X9 */))).X1)>>uint(i32(5)))<<uint(i32(31)))>>uint(i32(31))) == i32(0)) || ((*XTable)(unsafe.Pointer(_pFrom.X4)) != (*XTable)(unsafe.Pointer(uintptr(i32(0))))) { 45133 return i32(0) 45134 } 45135 return func() int32 { 45136 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120560), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50724))) 45137 crt.X__builtin_abort(tls) 45138 return i32(0) 45139 }() 45140 }() 45141 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(36 /* X9 */))).X1)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { 45142 goto _13 45143 } 45144 45145 goto _7 45146 45147 _13: 45148 func() int32 { 45149 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45150 return i32(0) 45151 } 45152 return func() int32 { 45153 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120562), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50768))) 45154 crt.X__builtin_abort(tls) 45155 return i32(0) 45156 }() 45157 }() 45158 if _withExpand(tls, _pWalker, _pFrom) == 0 { 45159 goto _16 45160 } 45161 45162 r0 = i32(2) 45163 return 45164 45165 _16: 45166 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == nil { 45167 goto _17 45168 } 45169 45170 goto _18 45171 45172 _17: 45173 if (_pFrom.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 45174 goto _19 45175 } 45176 45177 _6_pSel = (*XSelect)(unsafe.Pointer(_pFrom.X5)) 45178 func() int32 { 45179 if _6_pSel != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 45180 return i32(0) 45181 } 45182 return func() int32 { 45183 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120571), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50784))) 45184 crt.X__builtin_abort(tls) 45185 return i32(0) 45186 }() 45187 }() 45188 func() int32 { 45189 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45190 return i32(0) 45191 } 45192 return func() int32 { 45193 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120572), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50768))) 45194 crt.X__builtin_abort(tls) 45195 return i32(0) 45196 }() 45197 }() 45198 if _sqlite3WalkSelect(tls, _pWalker, _6_pSel) == 0 { 45199 goto _24 45200 } 45201 45202 r0 = i32(2) 45203 return 45204 45205 _24: 45206 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(16 /* X4 */))))) = store7765325(&_4_pTab, (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80)))))) 45207 if _4_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45208 goto _25 45209 } 45210 45211 r0 = i32(2) 45212 return 45213 45214 _25: 45215 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 45216 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(0 /* X0 */))) = _sqlite3MPrintf(tls, _db, str(50792), unsafe.Pointer((unsafe.Pointer)(_4_pTab))) 45217 _26: 45218 if (*XSelect)(unsafe.Pointer(_6_pSel.X13)) == nil { 45219 goto _27 45220 } 45221 45222 _6_pSel = (*XSelect)(unsafe.Pointer(_6_pSel.X13)) 45223 goto _26 45224 45225 _27: 45226 _sqlite3ColumnsFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_6_pSel.X0)), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab))+uintptr(42 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab))+uintptr(4 /* X1 */)))))) 45227 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(40 /* X10 */))) = int16(i32(-1)) 45228 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(44 /* X12 */))) = int16(i32(200)) 45229 func() int32 { 45230 if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { 45231 return i32(0) 45232 } 45233 return func() int32 { 45234 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120581), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50808))) 45235 crt.X__builtin_abort(tls) 45236 return i32(0) 45237 }() 45238 }() 45239 { 45240 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(36 /* X9 */))) 45241 *p = (*p) | uint32(i32(2)) 45242 sink985 = *p 45243 } 45244 goto _30 45245 45246 _19: 45247 func() int32 { 45248 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45249 return i32(0) 45250 } 45251 return func() int32 { 45252 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120586), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50768))) 45253 crt.X__builtin_abort(tls) 45254 return i32(0) 45255 }() 45256 }() 45257 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(16 /* X4 */))))) = store7765325(&_4_pTab, _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), _pFrom)) 45258 if _4_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45259 goto _33 45260 } 45261 45262 r0 = i32(2) 45263 return 45264 45265 _33: 45266 if (_4_pTab.X8) < uint32(i32(65535)) { 45267 goto _34 45268 } 45269 45270 _sqlite3ErrorMsg(tls, _pParse, str(50836), unsafe.Pointer(_4_pTab.X0)) 45271 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(16 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 45272 r0 = i32(2) 45273 return 45274 45275 _34: 45276 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(32 /* X8 */))) += 1 45277 if (_4_pTab.X16) != 0 || _cannotBeFunction(tls, _pParse, _pFrom) == 0 { 45278 goto _36 45279 } 45280 45281 r0 = i32(2) 45282 return 45283 45284 _36: 45285 if (_4_pTab.X16) == 0 && (*XSelect)(unsafe.Pointer(_4_pTab.X3)) == nil { 45286 goto _38 45287 } 45288 45289 if _sqlite3ViewGetColumnNames(tls, _pParse, _4_pTab) == 0 { 45290 goto _39 45291 } 45292 45293 r0 = i32(2) 45294 return 45295 45296 _39: 45297 func() int32 { 45298 if (*XSelect)(unsafe.Pointer(_pFrom.X5)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 45299 return i32(0) 45300 } 45301 return func() int32 { 45302 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120603), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50876))) 45303 crt.X__builtin_abort(tls) 45304 return i32(0) 45305 }() 45306 }() 45307 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(20 /* X5 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_4_pTab.X3)), i32(0)) 45308 _sqlite3SelectSetName(tls, (*XSelect)(unsafe.Pointer(_pFrom.X5)), _4_pTab.X0) 45309 _11_nCol = _4_pTab.X11 45310 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(42 /* X11 */))) = int16(i32(-1)) 45311 _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(_pFrom.X5))) 45312 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pTab)) + uintptr(42 /* X11 */))) = _11_nCol 45313 _38: 45314 _30: 45315 _18: 45316 if _sqlite3IndexedByLookup(tls, _pParse, _pFrom) == 0 { 45317 goto _42 45318 } 45319 45320 r0 = i32(2) 45321 return 45322 45323 _42: 45324 _7: 45325 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pFrom }())) += uintptr(68) 45326 goto _6 45327 45328 _9: 45329 if (_db.X17) == 0 && _sqliteProcessJoin(tls, _pParse, _p) == 0 { 45330 goto _44 45331 } 45332 45333 r0 = i32(2) 45334 return 45335 45336 _44: 45337 _k = i32(0) 45338 _45: 45339 if _k >= (_pEList.X0) { 45340 goto _48 45341 } 45342 45343 _pE = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_k))).X0)) 45344 if int32(_pE.X0) != i32(160) { 45345 goto _49 45346 } 45347 45348 goto _48 45349 45350 _49: 45351 func() int32 { 45352 if (int32(_pE.X0) != i32(122)) || ((*XExpr)(unsafe.Pointer(_pE.X5)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 45353 return i32(0) 45354 } 45355 return func() int32 { 45356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120640), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50896))) 45357 crt.X__builtin_abort(tls) 45358 return i32(0) 45359 }() 45360 }() 45361 func() int32 { 45362 if (int32(_pE.X0) != i32(122)) || (((*XExpr)(unsafe.Pointer(_pE.X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && (int32((*XExpr)(unsafe.Pointer(_pE.X4)).X0) == i32(55))) { 45363 return i32(0) 45364 } 45365 return func() int32 { 45366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120641), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50928))) 45367 crt.X__builtin_abort(tls) 45368 return i32(0) 45369 }() 45370 }() 45371 if int32(_pE.X0) != i32(122) || int32((*XExpr)(unsafe.Pointer(_pE.X5)).X0) != i32(160) { 45372 goto _58 45373 } 45374 45375 goto _48 45376 45377 _58: 45378 _k += 1 45379 goto _45 45380 45381 _48: 45382 if _k >= (_pEList.X0) { 45383 goto _59 45384 } 45385 45386 _15_a = (*T7850641)(unsafe.Pointer(_pEList.X1)) 45387 _15_pNew = nil 45388 _15_flags = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6 45389 _15_longNames = bool2int(((_15_flags & i32(4)) != i32(0)) && ((_15_flags & i32(64)) == i32(0))) 45390 _k = i32(0) 45391 _61: 45392 if _k >= (_pEList.X0) { 45393 goto _64 45394 } 45395 45396 _pE = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a)) + 20*uintptr(_k))).X0)) 45397 _pRight = (*XExpr)(unsafe.Pointer(_pE.X5)) 45398 func() int32 { 45399 if (int32(_pE.X0) != i32(122)) || (_pRight != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 45400 return i32(0) 45401 } 45402 return func() int32 { 45403 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120659), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(50988))) 45404 crt.X__builtin_abort(tls) 45405 return i32(0) 45406 }() 45407 }() 45408 if int32(_pE.X0) == i32(160) || int32(_pE.X0) == i32(122) && int32(_pRight.X0) == i32(160) { 45409 goto _70 45410 } 45411 45412 _15_pNew = _sqlite3ExprListAppend(tls, _pParse, _15_pNew, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+20*uintptr(_k))).X0))) 45413 if _15_pNew == nil { 45414 goto _71 45415 } 45416 45417 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_15_pNew.X1)+20*uintptr((_15_pNew.X0)-i32(1)))))) + uintptr(4 /* X1 */))) = (*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a)) + 20*uintptr(_k))).X1 45418 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_15_pNew.X1)+20*uintptr((_15_pNew.X0)-i32(1)))))) + uintptr(8 /* X2 */))) = (*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a)) + 20*uintptr(_k))).X2 45419 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+20*uintptr(_k))))) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 45420 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+20*uintptr(_k))))) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 45421 _71: 45422 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_a))+20*uintptr(_k))))) + uintptr(0 /* X0 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 45423 goto _72 45424 45425 _70: 45426 _19_tableSeen = i32(0) 45427 _19_zTName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 45428 if int32(_pE.X0) != i32(122) { 45429 goto _73 45430 } 45431 45432 func() int32 { 45433 if (*XExpr)(unsafe.Pointer(_pE.X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 45434 return i32(0) 45435 } 45436 return func() int32 { 45437 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120679), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(51016))) 45438 crt.X__builtin_abort(tls) 45439 return i32(0) 45440 }() 45441 }() 45442 func() int32 { 45443 if (((*XExpr)(unsafe.Pointer(_pE.X4)).X2) & uint32(i32(1024))) == uint32(i32(0)) { 45444 return i32(0) 45445 } 45446 return func() int32 { 45447 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120680), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(51032))) 45448 crt.X__builtin_abort(tls) 45449 return i32(0) 45450 }() 45451 }() 45452 _19_zTName = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_pE.X4) + uintptr(8 /* X3 */))))) 45453 _73: 45454 *func() **T7840217 { _i = i32(0); return &_pFrom }() = (*T7840217)(unsafe.Pointer((*[1]struct { 45455 X0 unsafe.Pointer 45456 X1 *int8 45457 X2 *int8 45458 X3 *int8 45459 X4 unsafe.Pointer 45460 X5 unsafe.Pointer 45461 X6 int32 45462 X7 int32 45463 X8 int32 45464 X9 struct { 45465 X0 uint8 45466 X1 int8 45467 } 45468 X10 uint8 45469 X11 int32 45470 X12 unsafe.Pointer 45471 X13 unsafe.Pointer 45472 X14 uint64 45473 X15 struct { 45474 X [0]struct { 45475 X0 *int8 45476 X1 unsafe.Pointer 45477 } 45478 U [4]byte 45479 } 45480 X16 unsafe.Pointer 45481 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) 45482 _78: 45483 if _i >= (_pTabList.X0) { 45484 goto _81 45485 } 45486 45487 _21_pTab = (*XTable)(unsafe.Pointer(_pFrom.X4)) 45488 _21_pSub = (*XSelect)(unsafe.Pointer(_pFrom.X5)) 45489 _21_zTabName = _pFrom.X3 45490 _21_zSchemaName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 45491 if _21_zTabName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 45492 goto _82 45493 } 45494 45495 _21_zTabName = _21_pTab.X0 45496 _82: 45497 if (_db.X17) == 0 { 45498 goto _83 45499 } 45500 45501 goto _81 45502 45503 _83: 45504 if _21_pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) && ((_21_pSub.X3)&uint32(i32(2048))) != uint32(i32(0)) { 45505 goto _85 45506 } 45507 45508 _21_pSub = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 45509 if _19_zTName == nil || _sqlite3StrICmp(tls, _19_zTName, _21_zTabName) == i32(0) { 45510 goto _87 45511 } 45512 45513 goto _79 45514 45515 _87: 45516 _21_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_21_pTab.X20))) 45517 _21_zSchemaName = func() *int8 { 45518 if _21_iDb >= i32(0) { 45519 return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_21_iDb))).X0) 45520 } 45521 return str(51076) 45522 }() 45523 _85: 45524 _j = i32(0) 45525 _90: 45526 if _j >= int32(_21_pTab.X11) { 45527 goto _93 45528 } 45529 45530 _25_zName = (*XColumn)(unsafe.Pointer(uintptr(_21_pTab.X1) + 16*uintptr(_j))).X0 45531 func() int32 { 45532 if _25_zName != nil { 45533 return i32(0) 45534 } 45535 return func() int32 { 45536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120707), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectExpanderØ00__func__Ø000))), unsafe.Pointer(str(51080))) 45537 crt.X__builtin_abort(tls) 45538 return i32(0) 45539 }() 45540 }() 45541 if _19_zTName == nil || _21_pSub == nil || _sqlite3MatchSpanName(tls, (*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_21_pSub.X0)).X1)+20*uintptr(_j))).X2, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _19_zTName, (*int8)(unsafe.Pointer(uintptr(i32(0))))) != i32(0) { 45542 goto _98 45543 } 45544 45545 goto _91 45546 45547 _98: 45548 if ((_p.X3)&uint32(i32(131072))) != uint32(i32(0)) || (int32((*XColumn)(unsafe.Pointer(uintptr(_21_pTab.X1)+16*uintptr(_j))).X6)&i32(2)) == i32(0) { 45549 goto _100 45550 } 45551 45552 goto _91 45553 45554 _100: 45555 _19_tableSeen = i32(1) 45556 if _i <= i32(0) || _19_zTName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 45557 goto _102 45558 } 45559 45560 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(36 /* X9 */))).X0)&i32(4)) == i32(0) || _tableAndColumnIndex(tls, _pTabList, _i, _25_zName, (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 45561 goto _104 45562 } 45563 45564 goto _91 45565 45566 _104: 45567 if _sqlite3IdListIndex(tls, (*XIdList)(unsafe.Pointer(_pFrom.X13)), _25_zName) < i32(0) { 45568 goto _105 45569 } 45570 45571 goto _91 45572 45573 _105: 45574 _102: 45575 _pRight = _sqlite3Expr(tls, _db, i32(55), _25_zName) 45576 _25_zColname = _25_zName 45577 _25_zToFree = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 45578 if _15_longNames == 0 && (_pTabList.X0) <= i32(1) { 45579 goto _107 45580 } 45581 45582 _31_pLeft = _sqlite3Expr(tls, _db, i32(55), _21_zTabName) 45583 _pExpr = _sqlite3PExpr(tls, _pParse, i32(122), _31_pLeft, _pRight) 45584 if _21_zSchemaName == nil { 45585 goto _108 45586 } 45587 45588 _31_pLeft = _sqlite3Expr(tls, _db, i32(55), _21_zSchemaName) 45589 _pExpr = _sqlite3PExpr(tls, _pParse, i32(122), _31_pLeft, _pExpr) 45590 _108: 45591 if _15_longNames == 0 { 45592 goto _109 45593 } 45594 45595 _25_zColname = _sqlite3MPrintf(tls, _db, str(7872), unsafe.Pointer(_21_zTabName), unsafe.Pointer(_25_zName)) 45596 _25_zToFree = _25_zColname 45597 _109: 45598 goto _110 45599 45600 _107: 45601 _pExpr = _pRight 45602 _110: 45603 _15_pNew = _sqlite3ExprListAppend(tls, _pParse, _15_pNew, _pExpr) 45604 _sqlite3TokenInit(tls, &_25_sColname, _25_zColname) 45605 _sqlite3ExprListSetName(tls, _pParse, _15_pNew, &_25_sColname, i32(0)) 45606 if _15_pNew == nil || ((_p.X3)&uint32(i32(2048))) == uint32(i32(0)) { 45607 goto _112 45608 } 45609 45610 _35_pX = (*T7850641)(unsafe.Pointer(uintptr(_15_pNew.X1) + 20*uintptr((_15_pNew.X0)-i32(1)))) 45611 if _21_pSub == nil { 45612 goto _113 45613 } 45614 45615 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_35_pX)) + uintptr(8 /* X2 */))) = _sqlite3DbStrDup(tls, _db, (*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_21_pSub.X0)).X1)+20*uintptr(_j))).X2) 45616 goto _114 45617 45618 _113: 45619 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_35_pX)) + uintptr(8 /* X2 */))) = _sqlite3MPrintf(tls, _db, str(51088), unsafe.Pointer(_21_zSchemaName), unsafe.Pointer(_21_zTabName), unsafe.Pointer(_25_zColname)) 45620 _114: 45621 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_35_pX))+uintptr(13 /* X4 */))), int8(i32(1)), 2, 1) 45622 _112: 45623 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_25_zToFree)) 45624 _91: 45625 _j += 1 45626 goto _90 45627 45628 _93: 45629 _79: 45630 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pFrom }())) += uintptr(68) 45631 goto _78 45632 45633 _81: 45634 if _19_tableSeen != 0 { 45635 goto _115 45636 } 45637 45638 if _19_zTName == nil { 45639 goto _116 45640 } 45641 45642 _sqlite3ErrorMsg(tls, _pParse, str(51100), unsafe.Pointer(_19_zTName)) 45643 goto _117 45644 45645 _116: 45646 _sqlite3ErrorMsg(tls, _pParse, str(51120)) 45647 _117: 45648 _115: 45649 _72: 45650 _k += 1 45651 goto _61 45652 45653 _64: 45654 _sqlite3ExprListDelete(tls, _db, _pEList) 45655 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _15_pNew 45656 _59: 45657 if (*XExprList)(unsafe.Pointer(_p.X0)) == nil || ((*XExprList)(unsafe.Pointer(_p.X0)).X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(2))))) { 45658 goto _119 45659 } 45660 45661 _sqlite3ErrorMsg(tls, _pParse, str(51140)) 45662 r0 = i32(2) 45663 return 45664 45665 _119: 45666 r0 = i32(0) 45667 return 45668 45669 } 45670 45671 var _selectExpanderØ00__func__Ø000 [15]int8 // - 45672 45673 func init() { 45674 crt.Xstrncpy(nil, &_selectExpanderØ00__func__Ø000[0], str(51172), 15) 45675 } 45676 45677 func _sqlite3WithPush(tls *crt.TLS, _pParse *XParse, _pWith *XWith, _bFree uint8) { // sqlite3.c:120339:1 45678 func() int32 { 45679 if (int32(_bFree) == i32(0)) || (((*XWith)(unsafe.Pointer(_pParse.X70)) == (*XWith)(unsafe.Pointer(uintptr(i32(0))))) && ((*XWith)(unsafe.Pointer(_pParse.X71)) == (*XWith)(unsafe.Pointer(uintptr(i32(0)))))) { 45680 return i32(0) 45681 } 45682 return func() int32 { 45683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120340), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WithPushØ00__func__Ø000))), unsafe.Pointer(str(51188))) 45684 crt.X__builtin_abort(tls) 45685 return i32(0) 45686 }() 45687 }() 45688 if _pWith == nil { 45689 goto _4 45690 } 45691 45692 func() int32 { 45693 if (*XWith)(unsafe.Pointer(_pParse.X70)) != _pWith { 45694 return i32(0) 45695 } 45696 return func() int32 { 45697 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120342), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WithPushØ00__func__Ø000))), unsafe.Pointer(str(51248))) 45698 crt.X__builtin_abort(tls) 45699 return i32(0) 45700 }() 45701 }() 45702 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith)) + uintptr(4 /* X1 */))))) = (*XWith)(unsafe.Pointer(_pParse.X70)) 45703 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X70 */))))) = _pWith 45704 if _bFree == 0 { 45705 goto _7 45706 } 45707 45708 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(480 /* X71 */))))) = _pWith 45709 _7: 45710 _4: 45711 return 45712 45713 } 45714 45715 var _sqlite3WithPushØ00__func__Ø000 [16]int8 // - 45716 45717 func init() { 45718 crt.Xstrncpy(nil, &_sqlite3WithPushØ00__func__Ø000[0], str(51272), 16) 45719 } 45720 45721 func _sqlite3SrcListAssignCursors(tls *crt.TLS, _pParse *XParse, _pList *XSrcList) { // sqlite3.c:103234:1 45722 var _i int32 // sqlite3.c:103235:7 45723 _ = _i 45724 var _pItem *T7840217 // sqlite3.c:103236:23 45725 _ = _pItem 45726 func() int32 { 45727 if (_pList != nil) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 45728 return i32(0) 45729 } 45730 return func() int32 { 45731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103237), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListAssignCursorsØ00__func__Ø000))), unsafe.Pointer(str(51288))) 45732 crt.X__builtin_abort(tls) 45733 return i32(0) 45734 }() 45735 }() 45736 if _pList == nil { 45737 goto _3 45738 } 45739 45740 *func() **T7840217 { _i = i32(0); return &_pItem }() = (*T7840217)(unsafe.Pointer((*[1]struct { 45741 X0 unsafe.Pointer 45742 X1 *int8 45743 X2 *int8 45744 X3 *int8 45745 X4 unsafe.Pointer 45746 X5 unsafe.Pointer 45747 X6 int32 45748 X7 int32 45749 X8 int32 45750 X9 struct { 45751 X0 uint8 45752 X1 int8 45753 } 45754 X10 uint8 45755 X11 int32 45756 X12 unsafe.Pointer 45757 X13 unsafe.Pointer 45758 X14 uint64 45759 X15 struct { 45760 X [0]struct { 45761 X0 *int8 45762 X1 unsafe.Pointer 45763 } 45764 U [4]byte 45765 } 45766 X16 unsafe.Pointer 45767 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X2 */))))) 45768 _4: 45769 if _i >= (_pList.X0) { 45770 goto _7 45771 } 45772 45773 if (_pItem.X11) < i32(0) { 45774 goto _8 45775 } 45776 45777 goto _7 45778 45779 _8: 45780 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(40 /* X11 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 45781 if (*XSelect)(unsafe.Pointer(_pItem.X5)) == nil { 45782 goto _9 45783 } 45784 45785 _sqlite3SrcListAssignCursors(tls, _pParse, (*XSrcList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_pItem.X5)).X8))) 45786 _9: 45787 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pItem }())) += uintptr(68) 45788 goto _4 45789 45790 _7: 45791 _3: 45792 return 45793 45794 } 45795 45796 var _sqlite3SrcListAssignCursorsØ00__func__Ø000 [28]int8 // - 45797 45798 func init() { 45799 crt.Xstrncpy(nil, &_sqlite3SrcListAssignCursorsØ00__func__Ø000[0], str(51324), 28) 45800 } 45801 45802 func _withExpand(tls *crt.TLS, _pWalker *XWalker, _pFrom *T7840217) (r0 int32) { // sqlite3.c:120364:1 45803 var _pParse *XParse // sqlite3.c:120368:9 45804 _ = _pParse 45805 var _db *Xsqlite3 // sqlite3.c:120369:11 45806 _ = _db 45807 var _pCte *T7850050 // sqlite3.c:120370:14 45808 _ = _pCte 45809 var _pWith *XWith // sqlite3.c:120371:8 45810 _ = _pWith 45811 var _1_pTab *XTable // sqlite3.c:120377:11 45812 _ = _1_pTab 45813 var _1_pEList *XExprList // sqlite3.c:120378:14 45814 _ = _1_pEList 45815 var _1_pSel *XSelect // sqlite3.c:120379:12 45816 _ = _1_pSel 45817 var _1_pLeft *XSelect // sqlite3.c:120380:12 45818 _ = _1_pLeft 45819 var _1_bMayRecursive int32 // sqlite3.c:120381:9 45820 _ = _1_bMayRecursive 45821 var _1_pSavedWith *XWith // sqlite3.c:120382:10 45822 _ = _1_pSavedWith 45823 var _3_i int32 // sqlite3.c:120410:11 45824 _ = _3_i 45825 var _3_pSrc *XSrcList // sqlite3.c:120411:15 45826 _ = _3_pSrc 45827 var _4_pItem *T7840217 // sqlite3.c:120413:29 45828 _ = _4_pItem 45829 var _7_pPrior *XSelect // sqlite3.c:120439:14 45830 _ = _7_pPrior 45831 _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) 45832 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 45833 func() int32 { 45834 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45835 return i32(0) 45836 } 45837 return func() int32 { 45838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120373), unsafe.Pointer((*int8)(unsafe.Pointer(&_withExpandØ00__func__Ø000))), unsafe.Pointer(str(50768))) 45839 crt.X__builtin_abort(tls) 45840 return i32(0) 45841 }() 45842 }() 45843 _pCte = _searchWith(tls, (*XWith)(unsafe.Pointer(_pParse.X70)), _pFrom, &_pWith) 45844 if _pCte == nil { 45845 goto _2 45846 } 45847 45848 if (_pCte.X3) == nil { 45849 goto _3 45850 } 45851 45852 _sqlite3ErrorMsg(tls, _pParse, _pCte.X3, unsafe.Pointer(_pCte.X0)) 45853 r0 = i32(1) 45854 return 45855 45856 _3: 45857 if _cannotBeFunction(tls, _pParse, _pFrom) == 0 { 45858 goto _4 45859 } 45860 45861 r0 = i32(1) 45862 return 45863 45864 _4: 45865 func() int32 { 45866 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45867 return i32(0) 45868 } 45869 return func() int32 { 45870 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120394), unsafe.Pointer((*int8)(unsafe.Pointer(&_withExpandØ00__func__Ø000))), unsafe.Pointer(str(50768))) 45871 crt.X__builtin_abort(tls) 45872 return i32(0) 45873 }() 45874 }() 45875 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(16 /* X4 */))))) = store7765325(&_1_pTab, (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80)))))) 45876 if _1_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 45877 goto _7 45878 } 45879 45880 r0 = i32(2) 45881 return 45882 45883 _7: 45884 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 45885 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _pCte.X0) 45886 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(40 /* X10 */))) = int16(i32(-1)) 45887 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(44 /* X12 */))) = int16(i32(200)) 45888 func() int32 { 45889 if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { 45890 return i32(0) 45891 } 45892 return func() int32 { 45893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120400), unsafe.Pointer((*int8)(unsafe.Pointer(&_withExpandØ00__func__Ø000))), unsafe.Pointer(str(50808))) 45894 crt.X__builtin_abort(tls) 45895 return i32(0) 45896 }() 45897 }() 45898 { 45899 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(36 /* X9 */))) 45900 *p = (*p) | uint32(i32(66)) 45901 sink985 = *p 45902 } 45903 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(20 /* X5 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pCte.X2)), i32(0)) 45904 if (_db.X17) == 0 { 45905 goto _10 45906 } 45907 45908 r0 = _sqlite3NomemError(tls, i32(120403)) 45909 return 45910 45911 _10: 45912 func() int32 { 45913 if (*XSelect)(unsafe.Pointer(_pFrom.X5)) != nil { 45914 return i32(0) 45915 } 45916 return func() int32 { 45917 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120404), unsafe.Pointer((*int8)(unsafe.Pointer(&_withExpandØ00__func__Ø000))), unsafe.Pointer(str(51352))) 45918 crt.X__builtin_abort(tls) 45919 return i32(0) 45920 }() 45921 }() 45922 _1_pSel = (*XSelect)(unsafe.Pointer(_pFrom.X5)) 45923 _1_bMayRecursive = bool2int((int32(_1_pSel.X1) == i32(116)) || (int32(_1_pSel.X1) == i32(115))) 45924 if _1_bMayRecursive == 0 { 45925 goto _14 45926 } 45927 45928 _3_pSrc = (*XSrcList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_pFrom.X5)).X8)) 45929 _3_i = i32(0) 45930 _15: 45931 if _3_i >= (_3_pSrc.X0) { 45932 goto _18 45933 } 45934 45935 _4_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 45936 X0 unsafe.Pointer 45937 X1 *int8 45938 X2 *int8 45939 X3 *int8 45940 X4 unsafe.Pointer 45941 X5 unsafe.Pointer 45942 X6 int32 45943 X7 int32 45944 X8 int32 45945 X9 struct { 45946 X0 uint8 45947 X1 int8 45948 } 45949 X10 uint8 45950 X11 int32 45951 X12 unsafe.Pointer 45952 X13 unsafe.Pointer 45953 X14 uint64 45954 X15 struct { 45955 X [0]struct { 45956 X0 *int8 45957 X1 unsafe.Pointer 45958 } 45959 U [4]byte 45960 } 45961 X16 unsafe.Pointer 45962 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_3_i))) 45963 if (_4_pItem.X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || (_4_pItem.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) != _sqlite3StrICmp(tls, _4_pItem.X2, _pCte.X0) { 45964 goto _21 45965 } 45966 45967 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem)) + uintptr(16 /* X4 */))))) = _1_pTab 45968 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 32, 5) 45969 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(32 /* X8 */))) += 1 45970 { 45971 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSel)) + uintptr(8 /* X3 */))) 45972 *p = (*p) | uint32(i32(8192)) 45973 sink985 = *p 45974 } 45975 _21: 45976 _3_i += 1 45977 goto _15 45978 45979 _18: 45980 _14: 45981 if (_1_pTab.X8) <= uint32(i32(2)) { 45982 goto _22 45983 } 45984 45985 _sqlite3ErrorMsg(tls, _pParse, str(51368), unsafe.Pointer(_pCte.X0)) 45986 r0 = i32(1) 45987 return 45988 45989 _22: 45990 func() int32 { 45991 if ((_1_pTab.X8) == uint32(i32(1))) || ((((_1_pSel.X3) & uint32(i32(8192))) != 0) && ((_1_pTab.X8) == uint32(i32(2)))) { 45992 return i32(0) 45993 } 45994 return func() int32 { 45995 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120433), unsafe.Pointer((*int8)(unsafe.Pointer(&_withExpandØ00__func__Ø000))), unsafe.Pointer(str(51412))) 45996 crt.X__builtin_abort(tls) 45997 return i32(0) 45998 }() 45999 }() 46000 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(12 /* X3 */))) = str(51488) 46001 _1_pSavedWith = (*XWith)(unsafe.Pointer(_pParse.X70)) 46002 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X70 */))))) = _pWith 46003 if _1_bMayRecursive == 0 { 46004 goto _27 46005 } 46006 46007 _7_pPrior = (*XSelect)(unsafe.Pointer(_1_pSel.X13)) 46008 func() int32 { 46009 if (*XWith)(unsafe.Pointer(_7_pPrior.X17)) == (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { 46010 return i32(0) 46011 } 46012 return func() int32 { 46013 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120440), unsafe.Pointer((*int8)(unsafe.Pointer(&_withExpandØ00__func__Ø000))), unsafe.Pointer(str(51512))) 46014 crt.X__builtin_abort(tls) 46015 return i32(0) 46016 }() 46017 }() 46018 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pPrior)) + uintptr(76 /* X17 */))))) = (*XWith)(unsafe.Pointer(_1_pSel.X17)) 46019 _sqlite3WalkSelect(tls, _pWalker, _7_pPrior) 46020 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pPrior)) + uintptr(76 /* X17 */))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) 46021 goto _30 46022 46023 _27: 46024 _sqlite3WalkSelect(tls, _pWalker, _1_pSel) 46025 _30: 46026 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X70 */))))) = _pWith 46027 _1_pLeft = _1_pSel 46028 _31: 46029 if (*XSelect)(unsafe.Pointer(_1_pLeft.X13)) == nil { 46030 goto _34 46031 } 46032 46033 _1_pLeft = (*XSelect)(unsafe.Pointer(_1_pLeft.X13)) 46034 goto _31 46035 46036 _34: 46037 _1_pEList = (*XExprList)(unsafe.Pointer(_1_pLeft.X0)) 46038 if (*XExprList)(unsafe.Pointer(_pCte.X1)) == nil { 46039 goto _35 46040 } 46041 46042 if _1_pEList == nil || (_1_pEList.X0) == ((*XExprList)(unsafe.Pointer(_pCte.X1)).X0) { 46043 goto _37 46044 } 46045 46046 _sqlite3ErrorMsg(tls, _pParse, str(51532), unsafe.Pointer(_pCte.X0), _1_pEList.X0, (*XExprList)(unsafe.Pointer(_pCte.X1)).X0) 46047 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X70 */))))) = _1_pSavedWith 46048 r0 = i32(1) 46049 return 46050 46051 _37: 46052 _1_pEList = (*XExprList)(unsafe.Pointer(_pCte.X1)) 46053 _35: 46054 _sqlite3ColumnsFromExprList(tls, _pParse, _1_pEList, (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab))+uintptr(42 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab))+uintptr(4 /* X1 */)))))) 46055 if _1_bMayRecursive == 0 { 46056 goto _38 46057 } 46058 46059 if ((_1_pSel.X3) & uint32(i32(8192))) == 0 { 46060 goto _39 46061 } 46062 46063 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(12 /* X3 */))) = str(51572) 46064 goto _40 46065 46066 _39: 46067 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(12 /* X3 */))) = str(51608) 46068 _40: 46069 _sqlite3WalkSelect(tls, _pWalker, _1_pSel) 46070 _38: 46071 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCte)) + uintptr(12 /* X3 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 46072 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X70 */))))) = _1_pSavedWith 46073 _2: 46074 r0 = i32(0) 46075 return 46076 46077 } 46078 46079 var _withExpandØ00__func__Ø000 [11]int8 // - 46080 46081 func init() { 46082 crt.Xstrncpy(nil, &_withExpandØ00__func__Ø000[0], str(51648), 11) 46083 } 46084 46085 func _searchWith(tls *crt.TLS, _pWith *XWith, _pItem *T7840217, _ppContext **XWith) (r0 *T7850050) { // sqlite3.c:120308:1 46086 var _zName *int8 // sqlite3.c:120313:14 46087 _ = _zName 46088 var _1_p *XWith // sqlite3.c:120315:10 46089 _ = _1_p 46090 var _2_i int32 // sqlite3.c:120317:11 46091 _ = _2_i 46092 if (_pItem.X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || store1025(&_zName, _pItem.X2) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 46093 goto _1 46094 } 46095 46096 _1_p = _pWith 46097 _2: 46098 if _1_p == nil { 46099 goto _5 46100 } 46101 46102 _2_i = i32(0) 46103 _6: 46104 if _2_i >= (_1_p.X0) { 46105 goto _9 46106 } 46107 46108 if _sqlite3StrICmp(tls, _zName, (*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 46109 X0 *int8 46110 X1 unsafe.Pointer 46111 X2 unsafe.Pointer 46112 X3 *int8 46113 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))).X0) != i32(0) { 46114 goto _10 46115 } 46116 46117 *_ppContext = _1_p 46118 r0 = (*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 46119 X0 *int8 46120 X1 unsafe.Pointer 46121 X2 unsafe.Pointer 46122 X3 *int8 46123 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(8 /* X2 */))))) + 16*uintptr(_2_i))) 46124 return 46125 46126 _10: 46127 _2_i += 1 46128 goto _6 46129 46130 _9: 46131 _1_p = (*XWith)(unsafe.Pointer(_1_p.X1)) 46132 goto _2 46133 46134 _5: 46135 _1: 46136 r0 = (*T7850050)(unsafe.Pointer(uintptr(i32(0)))) 46137 return 46138 46139 } 46140 46141 func _cannotBeFunction(tls *crt.TLS, _pParse *XParse, _pFrom *T7840217) (r0 int32) { // sqlite3.c:120289:1 46142 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(36 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 46143 goto _0 46144 } 46145 46146 _sqlite3ErrorMsg(tls, _pParse, str(51660), unsafe.Pointer(_pFrom.X2)) 46147 r0 = i32(1) 46148 return 46149 46150 _0: 46151 r0 = i32(0) 46152 return 46153 46154 } 46155 46156 func _sqlite3LogEst(tls *crt.TLS, _x uint64) (r0 int16) { // sqlite3.c:29022:1 46157 var _y int16 // sqlite3.c:29024:10 46158 _ = _y 46159 _y = i16(40) 46160 if _x >= uint64(i32(8)) { 46161 goto _0 46162 } 46163 46164 if _x >= uint64(i32(2)) { 46165 goto _1 46166 } 46167 46168 r0 = int16(i32(0)) 46169 return 46170 46171 _1: 46172 _2: 46173 if _x >= uint64(i32(8)) { 46174 goto _3 46175 } 46176 46177 { 46178 p := &_y 46179 *p = int16(int32(*p) - i32(10)) 46180 sink955 = *p 46181 } 46182 { 46183 p := &_x 46184 *p = (*p) << uint(i32(1)) 46185 sink992 = *p 46186 } 46187 goto _2 46188 46189 _3: 46190 goto _4 46191 46192 _0: 46193 _5: 46194 if _x <= uint64(i32(255)) { 46195 goto _6 46196 } 46197 46198 { 46199 p := &_y 46200 *p = int16(int32(*p) + i32(40)) 46201 sink955 = *p 46202 } 46203 { 46204 p := &_x 46205 *p = (*p) >> uint(i32(4)) 46206 sink992 = *p 46207 } 46208 goto _5 46209 46210 _6: 46211 _7: 46212 if _x <= uint64(i32(15)) { 46213 goto _8 46214 } 46215 46216 { 46217 p := &_y 46218 *p = int16(int32(*p) + i32(10)) 46219 sink955 = *p 46220 } 46221 { 46222 p := &_x 46223 *p = (*p) >> uint(i32(1)) 46224 sink992 = *p 46225 } 46226 goto _7 46227 46228 _8: 46229 _4: 46230 r0 = int16((int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LogEstØ00aØ001)) + 2*uintptr(_x&uint64(i32(7)))))) + int32(_y)) - i32(10)) 46231 return 46232 46233 } 46234 46235 var _sqlite3LogEstØ00aØ001 [8]int16 // sqlite3.c:29023:17 46236 46237 func init() { 46238 _sqlite3LogEstØ00aØ001 = [8]int16{i16(0), i16(2), i16(3), i16(5), i16(6), i16(7), i16(8), i16(9)} 46239 } 46240 46241 func _sqlite3SelectDup(tls *crt.TLS, _db *Xsqlite3, _pDup *XSelect, _flags int32) (r0 *XSelect) { // sqlite3.c:92155:1 46242 var _pRet *XSelect // sqlite3.c:92156:10 46243 _ = _pRet 46244 var _pNext *XSelect // sqlite3.c:92157:10 46245 _ = _pNext 46246 var _pp **XSelect // sqlite3.c:92158:10 46247 _ = _pp 46248 var _p *XSelect // sqlite3.c:92159:10 46249 _ = _p 46250 var _1_pNew *XSelect // sqlite3.c:92163:12 46251 _ = _1_pNew 46252 _pRet = nil 46253 _pNext = nil 46254 _pp = &_pRet 46255 func() int32 { 46256 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 46257 return i32(0) 46258 } 46259 return func() int32 { 46260 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92161), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectDupØ00__func__Ø000))), unsafe.Pointer(str(1184))) 46261 crt.X__builtin_abort(tls) 46262 return i32(0) 46263 }() 46264 }() 46265 _p = _pDup 46266 _2: 46267 if _p == nil { 46268 goto _5 46269 } 46270 46271 _1_pNew = (*XSelect)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(80))))) 46272 if _1_pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 46273 goto _6 46274 } 46275 46276 goto _5 46277 46278 _6: 46279 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(0 /* X0 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_p.X0)), _flags) 46280 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(40 /* X8 */))))) = _sqlite3SrcListDup(tls, _db, (*XSrcList)(unsafe.Pointer(_p.X8)), _flags) 46281 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(44 /* X9 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X9)), _flags) 46282 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(48 /* X10 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_p.X10)), _flags) 46283 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(52 /* X11 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X11)), _flags) 46284 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(56 /* X12 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12)), _flags) 46285 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(4 /* X1 */))) = _p.X1 46286 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(64 /* X14 */))))) = _pNext 46287 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 46288 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(68 /* X15 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15)), _flags) 46289 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(72 /* X16 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X16)), _flags) 46290 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(12 /* X4 */))) = i32(0) 46291 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(16 /* X5 */))) = i32(0) 46292 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(8 /* X3 */))) = (_p.X3) & uint32(i32(-33)) 46293 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0)))) = i32(-1) 46294 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(1)))) = i32(-1) 46295 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(6 /* X2 */))) = _p.X2 46296 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(76 /* X17 */))))) = _withDup(tls, _db, (*XWith)(unsafe.Pointer(_p.X17))) 46297 _sqlite3SelectSetName(tls, _1_pNew, (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))) 46298 *_pp = _1_pNew 46299 _pp = (**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(60 /* X13 */))))) 46300 _pNext = _1_pNew 46301 _p = (*XSelect)(unsafe.Pointer(_p.X13)) 46302 goto _2 46303 46304 _5: 46305 r0 = _pRet 46306 return 46307 46308 } 46309 46310 var _sqlite3SelectDupØ00__func__Ø000 [17]int8 // - 46311 46312 func init() { 46313 crt.Xstrncpy(nil, &_sqlite3SelectDupØ00__func__Ø000[0], str(51684), 17) 46314 } 46315 46316 func _sqlite3ExprListDup(tls *crt.TLS, _db *Xsqlite3, _p *XExprList, _flags int32) (r0 *XExprList) { // sqlite3.c:92035:1 46317 var _pNew *XExprList // sqlite3.c:92036:12 46318 _ = _pNew 46319 var _pItem *T7850641 // sqlite3.c:92037:24 46320 _ = _pItem 46321 var _pOldItem *T7850641 // sqlite3.c:92037:32 46322 _ = _pOldItem 46323 var _i int32 // sqlite3.c:92038:7 46324 _ = _i 46325 var _pPriorSelectCol *XExpr // sqlite3.c:92039:8 46326 _ = _pPriorSelectCol 46327 var _3_pOldExpr *XExpr // sqlite3.c:92053:10 46328 _ = _3_pOldExpr 46329 var _3_pNewExpr *XExpr // sqlite3.c:92054:10 46330 _ = _3_pNewExpr 46331 _pPriorSelectCol = nil 46332 func() int32 { 46333 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 46334 return i32(0) 46335 } 46336 return func() int32 { 46337 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92040), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(1184))) 46338 crt.X__builtin_abort(tls) 46339 return i32(0) 46340 }() 46341 }() 46342 if _p != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 46343 goto _2 46344 } 46345 46346 r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 46347 return 46348 46349 _2: 46350 _pNew = (*XExprList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(8))))) 46351 if _pNew != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 46352 goto _3 46353 } 46354 46355 r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 46356 return 46357 46358 _3: 46359 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = store961(&_i, _p.X0) 46360 if (_flags & i32(1)) != i32(0) { 46361 goto _4 46362 } 46363 46364 _i = i32(1) 46365 _5: 46366 if _i >= (_p.X0) { 46367 goto _8 46368 } 46369 46370 { 46371 p := &_i 46372 *p = (*p) + _i 46373 sink961 = *p 46374 } 46375 goto _5 46376 46377 _8: 46378 _4: 46379 *(**T7850641)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))) = store7850529(&_pItem, (*T7850641)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(uint32(_i)*u32(20)))))) 46380 if _pItem != (*T7850641)(unsafe.Pointer(uintptr(i32(0)))) { 46381 goto _9 46382 } 46383 46384 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pNew)) 46385 r0 = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 46386 return 46387 46388 _9: 46389 _pOldItem = (*T7850641)(unsafe.Pointer(_p.X1)) 46390 _i = i32(0) 46391 _10: 46392 if _i >= (_p.X0) { 46393 goto _13 46394 } 46395 46396 _3_pOldExpr = (*XExpr)(unsafe.Pointer(_pOldItem.X0)) 46397 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(0 /* X0 */))))) = _sqlite3ExprDup(tls, _db, _3_pOldExpr, _flags) 46398 if _3_pOldExpr == nil || int32(_3_pOldExpr.X0) != i32(159) || store7851696(&_3_pNewExpr, (*XExpr)(unsafe.Pointer(_pItem.X0))) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 46399 goto _16 46400 } 46401 46402 func() int32 { 46403 if (int32(_3_pNewExpr.X9) == i32(0)) || (_i > i32(0)) { 46404 return i32(0) 46405 } 46406 return func() int32 { 46407 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92060), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(51704))) 46408 crt.X__builtin_abort(tls) 46409 return i32(0) 46410 }() 46411 }() 46412 if int32(_3_pNewExpr.X9) != i32(0) { 46413 goto _20 46414 } 46415 46416 func() int32 { 46417 if (*XExpr)(unsafe.Pointer(_3_pOldExpr.X4)) == (*XExpr)(unsafe.Pointer(_3_pOldExpr.X5)) { 46418 return i32(0) 46419 } 46420 return func() int32 { 46421 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92062), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(51732))) 46422 crt.X__builtin_abort(tls) 46423 return i32(0) 46424 }() 46425 }() 46426 _pPriorSelectCol = store7851696((**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNewExpr))+uintptr(12 /* X4 */))))), (*XExpr)(unsafe.Pointer(_3_pNewExpr.X5))) 46427 goto _23 46428 46429 _20: 46430 func() int32 { 46431 if _i > i32(0) { 46432 return i32(0) 46433 } 46434 return func() int32 { 46435 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92065), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(13220))) 46436 crt.X__builtin_abort(tls) 46437 return i32(0) 46438 }() 46439 }() 46440 func() int32 { 46441 if (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+20*uintptr(i32(-1)))).X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 46442 return i32(0) 46443 } 46444 return func() int32 { 46445 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92066), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(51768))) 46446 crt.X__builtin_abort(tls) 46447 return i32(0) 46448 }() 46449 }() 46450 func() int32 { 46451 if int32(_3_pNewExpr.X9) == (int32((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+20*uintptr(i32(-1)))).X0)).X9) + i32(1)) { 46452 return i32(0) 46453 } 46454 return func() int32 { 46455 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92067), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(51788))) 46456 crt.X__builtin_abort(tls) 46457 return i32(0) 46458 }() 46459 }() 46460 func() int32 { 46461 if _pPriorSelectCol == (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+20*uintptr(i32(-1)))).X0)).X4)) { 46462 return i32(0) 46463 } 46464 return func() int32 { 46465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92068), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListDupØ00__func__Ø000))), unsafe.Pointer(str(51836))) 46466 crt.X__builtin_abort(tls) 46467 return i32(0) 46468 }() 46469 }() 46470 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNewExpr)) + uintptr(12 /* X4 */))))) = _pPriorSelectCol 46471 _23: 46472 _16: 46473 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(4 /* X1 */))) = _sqlite3DbStrDup(tls, _db, _pOldItem.X1) 46474 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(8 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pOldItem.X2) 46475 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(12 /* X3 */))) = _pOldItem.X3 46476 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(13 /* X4 */))), int8(i32(0)), 1, 0) 46477 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(13 /* X4 */))), int8((uint32((_pOldItem.X4)>>uint(i32(1)))<<uint(i32(31)))>>uint(i32(31))), 2, 1) 46478 *(*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(16 /* X5 */))) = _pOldItem.X5 46479 *(*uintptr)(unsafe.Pointer(func() **T7850641 { 46480 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 46481 return &_pOldItem 46482 }())) += uintptr(20) 46483 goto _10 46484 46485 _13: 46486 r0 = _pNew 46487 return 46488 46489 } 46490 46491 var _sqlite3ExprListDupØ00__func__Ø000 [19]int8 // - 46492 46493 func init() { 46494 crt.Xstrncpy(nil, &_sqlite3ExprListDupØ00__func__Ø000[0], str(51876), 19) 46495 } 46496 46497 func _sqlite3ExprDup(tls *crt.TLS, _db *Xsqlite3, _p *XExpr, _flags int32) (r0 *XExpr) { // sqlite3.c:92031:1 46498 func() int32 { 46499 if (_flags == i32(0)) || (_flags == i32(1)) { 46500 return i32(0) 46501 } 46502 return func() int32 { 46503 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92032), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprDupØ00__func__Ø000))), unsafe.Pointer(str(51896))) 46504 crt.X__builtin_abort(tls) 46505 return i32(0) 46506 }() 46507 }() 46508 r0 = func() *XExpr { 46509 if _p != nil { 46510 return _exprDup(tls, _db, _p, _flags, (**uint8)(unsafe.Pointer(uintptr(i32(0))))) 46511 } 46512 return (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 46513 }() 46514 return 46515 46516 } 46517 46518 var _sqlite3ExprDupØ00__func__Ø000 [15]int8 // - 46519 46520 func init() { 46521 crt.Xstrncpy(nil, &_sqlite3ExprDupØ00__func__Ø000[0], str(51932), 15) 46522 } 46523 46524 func _exprDup(tls *crt.TLS, _db *Xsqlite3, _p *XExpr, _dupFlags int32, _pzBuffer **uint8) (r0 *XExpr) { // sqlite3.c:91894:1 46525 var _pNew *XExpr // sqlite3.c:91895:8 46526 _ = _pNew 46527 var _zAlloc *uint8 // sqlite3.c:91896:6 46528 _ = _zAlloc 46529 var _staticFlag uint32 // sqlite3.c:91897:7 46530 _ = _staticFlag 46531 var _3_nStructSize uint32 // sqlite3.c:91920:20 46532 _ = _3_nStructSize 46533 var _3_nNewSize int32 // sqlite3.c:91921:15 46534 _ = _3_nNewSize 46535 var _3_nToken int32 // sqlite3.c:91922:9 46536 _ = _3_nToken 46537 var _7_nSize uint32 // sqlite3.c:91932:11 46538 _ = _7_nSize 46539 var _9_zToken *int8 // sqlite3.c:91946:12 46540 _ = _9_zToken 46541 func() int32 { 46542 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 46543 return i32(0) 46544 } 46545 return func() int32 { 46546 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91899), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(1184))) 46547 crt.X__builtin_abort(tls) 46548 return i32(0) 46549 }() 46550 }() 46551 func() int32 { 46552 if _p != nil { 46553 return i32(0) 46554 } 46555 return func() int32 { 46556 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91900), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(3064))) 46557 crt.X__builtin_abort(tls) 46558 return i32(0) 46559 }() 46560 }() 46561 func() int32 { 46562 if (_dupFlags == i32(0)) || (_dupFlags == i32(1)) { 46563 return i32(0) 46564 } 46565 return func() int32 { 46566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91901), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(51948))) 46567 crt.X__builtin_abort(tls) 46568 return i32(0) 46569 }() 46570 }() 46571 func() int32 { 46572 if (_pzBuffer == (**uint8)(unsafe.Pointer(uintptr(i32(0))))) || (_dupFlags == i32(1)) { 46573 return i32(0) 46574 } 46575 return func() int32 { 46576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91902), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(51988))) 46577 crt.X__builtin_abort(tls) 46578 return i32(0) 46579 }() 46580 }() 46581 if _pzBuffer == nil { 46582 goto _10 46583 } 46584 46585 _zAlloc = *_pzBuffer 46586 _staticFlag = uint32(i32(32768)) 46587 goto _11 46588 46589 _10: 46590 _zAlloc = (*uint8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_dupedExprSize(tls, _p, _dupFlags))))) 46591 _staticFlag = uint32(i32(0)) 46592 _11: 46593 _pNew = (*XExpr)(unsafe.Pointer(_zAlloc)) 46594 if _pNew == nil { 46595 goto _12 46596 } 46597 46598 _3_nStructSize = uint32(_dupedExprStructSize(tls, _p, _dupFlags)) 46599 _3_nNewSize = int32(_3_nStructSize & uint32(i32(4095))) 46600 if ((_p.X2)&uint32(i32(1024))) != uint32(i32(0)) || (*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) == nil { 46601 goto _14 46602 } 46603 46604 _3_nToken = _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) + i32(1) 46605 goto _15 46606 46607 _14: 46608 _3_nToken = i32(0) 46609 _15: 46610 if _dupFlags == 0 { 46611 goto _16 46612 } 46613 46614 func() int32 { 46615 if bool2int(((_p.X2)&uint32(i32(8192))) != uint32(i32(0))) == i32(0) { 46616 return i32(0) 46617 } 46618 return func() int32 { 46619 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91929), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(52028))) 46620 crt.X__builtin_abort(tls) 46621 return i32(0) 46622 }() 46623 }() 46624 crt.Xmemcpy(tls, (unsafe.Pointer)(_zAlloc), (unsafe.Pointer)(_p), uint32(_3_nNewSize)) 46625 goto _19 46626 46627 _16: 46628 _7_nSize = uint32(_exprStructSize(tls, _p)) 46629 crt.Xmemcpy(tls, (unsafe.Pointer)(_zAlloc), (unsafe.Pointer)(_p), _7_nSize) 46630 if _7_nSize >= u32(48) { 46631 goto _20 46632 } 46633 46634 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAlloc))+1*uintptr(_7_nSize)))), i32(0), u32(48)-_7_nSize) 46635 _20: 46636 _19: 46637 { 46638 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) 46639 *p = (*p) & uint32(i32(-122881)) 46640 sink985 = *p 46641 } 46642 { 46643 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) 46644 *p = (*p) | (_3_nStructSize & uint32(i32(24576))) 46645 sink985 = *p 46646 } 46647 { 46648 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) 46649 *p = (*p) | _staticFlag 46650 sink985 = *p 46651 } 46652 if _3_nToken == 0 { 46653 goto _21 46654 } 46655 46656 _9_zToken = store1025((**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X3 */))))), (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAlloc))+1*uintptr(_3_nNewSize)))))) 46657 crt.Xmemcpy(tls, (unsafe.Pointer)(_9_zToken), (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))), uint32(_3_nToken)) 46658 _21: 46659 if uint32(i32(0)) != (((_p.X2) | (_pNew.X2)) & uint32(i32(8404992))) { 46660 goto _22 46661 } 46662 46663 if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { 46664 goto _23 46665 } 46666 46667 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X6 */))))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))), _dupFlags) 46668 goto _24 46669 46670 _23: 46671 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X6 */))))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))), _dupFlags) 46672 _24: 46673 _22: 46674 if ((_pNew.X2) & uint32(i32(24576))) == uint32(i32(0)) { 46675 goto _25 46676 } 46677 46678 { 46679 p := &_zAlloc 46680 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_dupedExprNodeSize(tls, _p, _dupFlags)))) 46681 sink6921 = *p 46682 } 46683 if ((_pNew.X2) & uint32(i32(8404992))) != uint32(i32(0)) { 46684 goto _26 46685 } 46686 46687 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X4 */))))) = func() *XExpr { 46688 if (*XExpr)(unsafe.Pointer(_p.X4)) != nil { 46689 return _exprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X4)), i32(1), &_zAlloc) 46690 } 46691 return (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 46692 }() 46693 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X5 */))))) = func() *XExpr { 46694 if (*XExpr)(unsafe.Pointer(_p.X5)) != nil { 46695 return _exprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X5)), i32(1), &_zAlloc) 46696 } 46697 return (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 46698 }() 46699 _26: 46700 if _pzBuffer == nil { 46701 goto _31 46702 } 46703 46704 *_pzBuffer = _zAlloc 46705 _31: 46706 goto _32 46707 46708 _25: 46709 if ((_p.X2) & uint32(i32(8404992))) != uint32(i32(0)) { 46710 goto _33 46711 } 46712 46713 if int32(_pNew.X0) != i32(159) { 46714 goto _34 46715 } 46716 46717 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(_p.X4)) 46718 func() int32 { 46719 if (int32(_p.X9) == i32(0)) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 46720 return i32(0) 46721 } 46722 return func() int32 { 46723 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91975), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(52064))) 46724 crt.X__builtin_abort(tls) 46725 return i32(0) 46726 }() 46727 }() 46728 func() int32 { 46729 if ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(_p.X4))) { 46730 return i32(0) 46731 } 46732 return func() int32 { 46733 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91976), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprDupØ00__func__Ø000))), unsafe.Pointer(str(52096))) 46734 crt.X__builtin_abort(tls) 46735 return i32(0) 46736 }() 46737 }() 46738 goto _41 46739 46740 _34: 46741 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X4 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X4)), i32(0)) 46742 _41: 46743 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X5 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_p.X5)), i32(0)) 46744 _33: 46745 _32: 46746 _12: 46747 r0 = _pNew 46748 return 46749 46750 } 46751 46752 var _exprDupØ00__func__Ø000 [8]int8 // - 46753 46754 func init() { 46755 crt.Xstrncpy(nil, &_exprDupØ00__func__Ø000[0], str(52132), 8) 46756 } 46757 46758 func _dupedExprSize(tls *crt.TLS, _p *XExpr, _flags int32) (r0 int32) { // sqlite3.c:91875:1 46759 var _nByte int32 // sqlite3.c:91876:7 46760 _ = _nByte 46761 _nByte = i32(0) 46762 if _p == nil { 46763 goto _0 46764 } 46765 46766 _nByte = _dupedExprNodeSize(tls, _p, _flags) 46767 if (_flags & i32(1)) == 0 { 46768 goto _1 46769 } 46770 46771 { 46772 p := &_nByte 46773 *p = (*p) + (_dupedExprSize(tls, (*XExpr)(unsafe.Pointer(_p.X4)), _flags) + _dupedExprSize(tls, (*XExpr)(unsafe.Pointer(_p.X5)), _flags)) 46774 sink961 = *p 46775 } 46776 _1: 46777 _0: 46778 r0 = _nByte 46779 return 46780 46781 } 46782 46783 func _dupedExprNodeSize(tls *crt.TLS, _p *XExpr, _flags int32) (r0 int32) { // sqlite3.c:91854:1 46784 var _nByte int32 // sqlite3.c:91855:7 46785 _ = _nByte 46786 _nByte = _dupedExprStructSize(tls, _p, _flags) & i32(4095) 46787 if ((_p.X2)&uint32(i32(1024))) != uint32(i32(0)) || (*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) == nil { 46788 goto _1 46789 } 46790 46791 { 46792 p := &_nByte 46793 *p = (*p) + (_sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) + i32(1)) 46794 sink961 = *p 46795 } 46796 _1: 46797 r0 = (_nByte + i32(7)) & i32(-8) 46798 return 46799 46800 } 46801 46802 func _dupedExprStructSize(tls *crt.TLS, _p *XExpr, _flags int32) (r0 int32) { // sqlite3.c:91827:1 46803 var _nSize int32 // sqlite3.c:91828:7 46804 _ = _nSize 46805 func() int32 { 46806 if (_flags == i32(1)) || (_flags == i32(0)) { 46807 return i32(0) 46808 } 46809 return func() int32 { 46810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91829), unsafe.Pointer((*int8)(unsafe.Pointer(&_dupedExprStructSizeØ00__func__Ø000))), unsafe.Pointer(str(52140))) 46811 crt.X__builtin_abort(tls) 46812 return i32(0) 46813 }() 46814 }() 46815 i32(0) 46816 i32(0) 46817 if i32(0) != _flags && int32(_p.X0) != i32(159) { 46818 goto _4 46819 } 46820 46821 _nSize = int32(u32(48)) 46822 goto _5 46823 46824 _4: 46825 func() int32 { 46826 if ((_p.X2) & uint32(i32(24576))) == uint32(i32(0)) { 46827 return i32(0) 46828 } 46829 return func() int32 { 46830 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91835), unsafe.Pointer((*int8)(unsafe.Pointer(&_dupedExprStructSizeØ00__func__Ø000))), unsafe.Pointer(str(52176))) 46831 crt.X__builtin_abort(tls) 46832 return i32(0) 46833 }() 46834 }() 46835 func() int32 { 46836 if ((_p.X2) & uint32(i32(1))) == uint32(i32(0)) { 46837 return i32(0) 46838 } 46839 return func() int32 { 46840 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91836), unsafe.Pointer((*int8)(unsafe.Pointer(&_dupedExprStructSizeØ00__func__Ø000))), unsafe.Pointer(str(52224))) 46841 crt.X__builtin_abort(tls) 46842 return i32(0) 46843 }() 46844 }() 46845 func() int32 { 46846 if ((_p.X2) & uint32(i32(65536))) == uint32(i32(0)) { 46847 return i32(0) 46848 } 46849 return func() int32 { 46850 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91837), unsafe.Pointer((*int8)(unsafe.Pointer(&_dupedExprStructSizeØ00__func__Ø000))), unsafe.Pointer(str(52260))) 46851 crt.X__builtin_abort(tls) 46852 return i32(0) 46853 }() 46854 }() 46855 func() int32 { 46856 if ((_p.X2) & uint32(i32(131072))) == uint32(i32(0)) { 46857 return i32(0) 46858 } 46859 return func() int32 { 46860 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91838), unsafe.Pointer((*int8)(unsafe.Pointer(&_dupedExprStructSizeØ00__func__Ø000))), unsafe.Pointer(str(52296))) 46861 crt.X__builtin_abort(tls) 46862 return i32(0) 46863 }() 46864 }() 46865 if (*XExpr)(unsafe.Pointer(_p.X4)) == nil && (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == nil { 46866 goto _15 46867 } 46868 46869 _nSize = int32(u32(8220)) 46870 goto _16 46871 46872 _15: 46873 func() int32 { 46874 if (*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 46875 return i32(0) 46876 } 46877 return func() int32 { 46878 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91842), unsafe.Pointer((*int8)(unsafe.Pointer(&_dupedExprStructSizeØ00__func__Ø000))), unsafe.Pointer(str(22084))) 46879 crt.X__builtin_abort(tls) 46880 return i32(0) 46881 }() 46882 }() 46883 _nSize = int32(u32(16396)) 46884 _16: 46885 _5: 46886 r0 = _nSize 46887 return 46888 46889 } 46890 46891 var _dupedExprStructSizeØ00__func__Ø000 [20]int8 // - 46892 46893 func init() { 46894 crt.Xstrncpy(nil, &_dupedExprStructSizeØ00__func__Ø000[0], str(52332), 20) 46895 } 46896 46897 func _exprStructSize(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:91787:1 46898 if ((_p.X2) & uint32(i32(16384))) == uint32(i32(0)) { 46899 goto _0 46900 } 46901 46902 r0 = int32(u32(12)) 46903 return 46904 46905 _0: 46906 if ((_p.X2) & uint32(i32(8192))) == uint32(i32(0)) { 46907 goto _1 46908 } 46909 46910 r0 = int32(u32(28)) 46911 return 46912 46913 _1: 46914 r0 = int32(u32(48)) 46915 return 46916 46917 } 46918 46919 func _sqlite3SrcListDup(tls *crt.TLS, _db *Xsqlite3, _p *XSrcList, _flags int32) (r0 *XSrcList) { // sqlite3.c:92090:1 46920 var _pNew *XSrcList // sqlite3.c:92091:11 46921 _ = _pNew 46922 var _i int32 // sqlite3.c:92092:7 46923 _ = _i 46924 var _nByte int32 // sqlite3.c:92093:7 46925 _ = _nByte 46926 var _1_pNewItem *T7840217 // sqlite3.c:92101:25 46927 _ = _1_pNewItem 46928 var _1_pOldItem *T7840217 // sqlite3.c:92102:25 46929 _ = _1_pOldItem 46930 var _1_pTab *XTable // sqlite3.c:92103:11 46931 _ = _1_pTab 46932 func() int32 { 46933 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 46934 return i32(0) 46935 } 46936 return func() int32 { 46937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92094), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListDupØ00__func__Ø000))), unsafe.Pointer(str(1184))) 46938 crt.X__builtin_abort(tls) 46939 return i32(0) 46940 }() 46941 }() 46942 if _p != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 46943 goto _2 46944 } 46945 46946 r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 46947 return 46948 46949 _2: 46950 _nByte = int32(u32(76) + func() uint32 { 46951 if (_p.X0) > i32(0) { 46952 return (u32(68) * uint32((_p.X0)-i32(1))) 46953 } 46954 return uint32(i32(0)) 46955 }()) 46956 _pNew = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nByte)))) 46957 if _pNew != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 46958 goto _5 46959 } 46960 46961 r0 = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 46962 return 46963 46964 _5: 46965 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = int32(store985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(4 /* X1 */))), uint32(_p.X0))) 46966 _i = i32(0) 46967 _6: 46968 if _i >= (_p.X0) { 46969 goto _9 46970 } 46971 46972 _1_pNewItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 46973 X0 unsafe.Pointer 46974 X1 *int8 46975 X2 *int8 46976 X3 *int8 46977 X4 unsafe.Pointer 46978 X5 unsafe.Pointer 46979 X6 int32 46980 X7 int32 46981 X8 int32 46982 X9 struct { 46983 X0 uint8 46984 X1 int8 46985 } 46986 X10 uint8 46987 X11 int32 46988 X12 unsafe.Pointer 46989 X13 unsafe.Pointer 46990 X14 uint64 46991 X15 struct { 46992 X [0]struct { 46993 X0 *int8 46994 X1 unsafe.Pointer 46995 } 46996 U [4]byte 46997 } 46998 X16 unsafe.Pointer 46999 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 47000 _1_pOldItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47001 X0 unsafe.Pointer 47002 X1 *int8 47003 X2 *int8 47004 X3 *int8 47005 X4 unsafe.Pointer 47006 X5 unsafe.Pointer 47007 X6 int32 47008 X7 int32 47009 X8 int32 47010 X9 struct { 47011 X0 uint8 47012 X1 int8 47013 } 47014 X10 uint8 47015 X11 int32 47016 X12 unsafe.Pointer 47017 X13 unsafe.Pointer 47018 X14 uint64 47019 X15 struct { 47020 X [0]struct { 47021 X0 *int8 47022 X1 unsafe.Pointer 47023 } 47024 U [4]byte 47025 } 47026 X16 unsafe.Pointer 47027 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 47028 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(0 /* X0 */))))) = (*XSchema)(unsafe.Pointer(_1_pOldItem.X0)) 47029 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(4 /* X1 */))) = _sqlite3DbStrDup(tls, _db, _1_pOldItem.X1) 47030 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(8 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _1_pOldItem.X2) 47031 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(12 /* X3 */))) = _sqlite3DbStrDup(tls, _db, _1_pOldItem.X3) 47032 *(*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(36 /* X9 */))) = _1_pOldItem.X9 47033 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(40 /* X11 */))) = _1_pOldItem.X11 47034 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(24 /* X6 */))) = _1_pOldItem.X6 47035 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(28 /* X7 */))) = _1_pOldItem.X7 47036 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { 47037 goto _10 47038 } 47039 47040 *(**int8)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(60 /* X15 */))))) = _sqlite3DbStrDup(tls, _db, *(**int8)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOldItem)) + uintptr(60 /* X15 */)))))) 47041 _10: 47042 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(64 /* X16 */))))) = (*XIndex)(unsafe.Pointer(_1_pOldItem.X16)) 47043 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 47044 goto _11 47045 } 47046 47047 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(60 /* X15 */))))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOldItem)) + uintptr(60 /* X15 */))))))), _flags) 47048 _11: 47049 _1_pTab = store7765325((**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem))+uintptr(16 /* X4 */))))), (*XTable)(unsafe.Pointer(_1_pOldItem.X4))) 47050 if _1_pTab == nil { 47051 goto _12 47052 } 47053 47054 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(32 /* X8 */))) += 1 47055 _12: 47056 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(20 /* X5 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_1_pOldItem.X5)), _flags) 47057 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(44 /* X12 */))))) = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_1_pOldItem.X12)), _flags) 47058 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(48 /* X13 */))))) = _sqlite3IdListDup(tls, _db, (*XIdList)(unsafe.Pointer(_1_pOldItem.X13))) 47059 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNewItem)) + uintptr(52 /* X14 */))) = _1_pOldItem.X14 47060 _i += 1 47061 goto _6 47062 47063 _9: 47064 r0 = _pNew 47065 return 47066 47067 } 47068 47069 var _sqlite3SrcListDupØ00__func__Ø000 [18]int8 // - 47070 47071 func init() { 47072 crt.Xstrncpy(nil, &_sqlite3SrcListDupØ00__func__Ø000[0], str(52352), 18) 47073 } 47074 47075 func _sqlite3IdListDup(tls *crt.TLS, _db *Xsqlite3, _p *XIdList) (r0 *XIdList) { // sqlite3.c:92131:1 47076 var _pNew *XIdList // sqlite3.c:92132:10 47077 _ = _pNew 47078 var _i int32 // sqlite3.c:92133:7 47079 _ = _i 47080 var _2_pNewItem *T8304487 // sqlite3.c:92148:24 47081 _ = _2_pNewItem 47082 var _2_pOldItem *T8304487 // sqlite3.c:92149:24 47083 _ = _2_pOldItem 47084 func() int32 { 47085 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 47086 return i32(0) 47087 } 47088 return func() int32 { 47089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92134), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IdListDupØ00__func__Ø000))), unsafe.Pointer(str(1184))) 47090 crt.X__builtin_abort(tls) 47091 return i32(0) 47092 }() 47093 }() 47094 if _p != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 47095 goto _2 47096 } 47097 47098 r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 47099 return 47100 47101 _2: 47102 _pNew = (*XIdList)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(8))))) 47103 if _pNew != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 47104 goto _3 47105 } 47106 47107 r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 47108 return 47109 47110 _3: 47111 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = _p.X1 47112 *(**T8304487)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = (*T8304487)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(uint32(_p.X1)*u32(8))))) 47113 if (*T8304487)(unsafe.Pointer(_pNew.X0)) != (*T8304487)(unsafe.Pointer(uintptr(i32(0)))) { 47114 goto _4 47115 } 47116 47117 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pNew)) 47118 r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 47119 return 47120 47121 _4: 47122 _i = i32(0) 47123 _5: 47124 if _i >= (_p.X1) { 47125 goto _8 47126 } 47127 47128 _2_pNewItem = (*T8304487)(unsafe.Pointer(uintptr(_pNew.X0) + 8*uintptr(_i))) 47129 _2_pOldItem = (*T8304487)(unsafe.Pointer(uintptr(_p.X0) + 8*uintptr(_i))) 47130 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pNewItem)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _2_pOldItem.X0) 47131 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pNewItem)) + uintptr(4 /* X1 */))) = _2_pOldItem.X1 47132 _i += 1 47133 goto _5 47134 47135 _8: 47136 r0 = _pNew 47137 return 47138 47139 } 47140 47141 var _sqlite3IdListDupØ00__func__Ø000 [17]int8 // - 47142 47143 func init() { 47144 crt.Xstrncpy(nil, &_sqlite3IdListDupØ00__func__Ø000[0], str(52372), 17) 47145 } 47146 47147 func _withDup(tls *crt.TLS, _db *Xsqlite3, _p *XWith) (r0 *XWith) { // sqlite3.c:91993:1 47148 var _pRet *XWith // sqlite3.c:91994:8 47149 _ = _pRet 47150 var _1_nByte int32 // sqlite3.c:91996:9 47151 _ = _1_nByte 47152 var _2_i int32 // sqlite3.c:91999:11 47153 _ = _2_i 47154 _pRet = nil 47155 if _p == nil { 47156 goto _0 47157 } 47158 47159 _1_nByte = int32(u32(24) + (u32(16) * uint32((_p.X0)-i32(1)))) 47160 _pRet = (*XWith)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_1_nByte)))) 47161 if _pRet == nil { 47162 goto _1 47163 } 47164 47165 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(0 /* X0 */))) = _p.X0 47166 _2_i = i32(0) 47167 _2: 47168 if _2_i >= (_p.X0) { 47169 goto _5 47170 } 47171 47172 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47173 X0 *int8 47174 X1 unsafe.Pointer 47175 X2 unsafe.Pointer 47176 X3 *int8 47177 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))))) + uintptr(8 /* X2 */))))) = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47178 X0 *int8 47179 X1 unsafe.Pointer 47180 X2 unsafe.Pointer 47181 X3 *int8 47182 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))).X2)), i32(0)) 47183 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47184 X0 *int8 47185 X1 unsafe.Pointer 47186 X2 unsafe.Pointer 47187 X3 *int8 47188 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))))) + uintptr(4 /* X1 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47189 X0 *int8 47190 X1 unsafe.Pointer 47191 X2 unsafe.Pointer 47192 X3 *int8 47193 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))).X1)), i32(0)) 47194 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47195 X0 *int8 47196 X1 unsafe.Pointer 47197 X2 unsafe.Pointer 47198 X3 *int8 47199 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))))) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, (*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 47200 X0 *int8 47201 X1 unsafe.Pointer 47202 X2 unsafe.Pointer 47203 X3 *int8 47204 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+16*uintptr(_2_i))).X0) 47205 _2_i += 1 47206 goto _2 47207 47208 _5: 47209 _1: 47210 _0: 47211 r0 = _pRet 47212 return 47213 47214 } 47215 47216 func _sqlite3SelectSetName(tls *crt.TLS, _p *XSelect, _zName *int8) { // sqlite3.c:116408:1 47217 if _p == nil || _zName == nil { 47218 goto _1 47219 } 47220 47221 Xsqlite3_snprintf(tls, int32(u32(12)), (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */))))), str(25612), unsafe.Pointer(_zName)) 47222 _1: 47223 return 47224 47225 } 47226 47227 func _sqlite3ColumnsFromExprList(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _pnCol *int16, _paCol **XColumn) (r0 int32) { // sqlite3.c:117888:1 47228 var _db *Xsqlite3 // sqlite3.c:117894:11 47229 _ = _db 47230 var _i int32 // sqlite3.c:117895:7 47231 _ = _i 47232 var _j int32 // sqlite3.c:117895:10 47233 _ = _j 47234 var _cnt uint32 // sqlite3.c:117896:7 47235 _ = _cnt 47236 var _aCol *XColumn // sqlite3.c:117897:10 47237 _ = _aCol 47238 var _pCol *XColumn // sqlite3.c:117897:17 47239 _ = _pCol 47240 var _nCol int32 // sqlite3.c:117898:7 47241 _ = _nCol 47242 var _p *XExpr // sqlite3.c:117899:8 47243 _ = _p 47244 var _zName *int8 // sqlite3.c:117900:8 47245 _ = _zName 47246 var _nName int32 // sqlite3.c:117901:7 47247 _ = _nName 47248 var _ht XHash // sqlite3.c:117902:8 47249 _ = _ht 47250 var _5_pColExpr *XExpr // sqlite3.c:117924:12 47251 _ = _5_pColExpr 47252 var _5_pTab *XTable // sqlite3.c:117925:13 47253 _ = _5_pTab 47254 var _7_iCol int32 // sqlite3.c:117932:13 47255 _ = _7_iCol 47256 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 47257 _sqlite3HashInit(tls, &_ht) 47258 if _pEList == nil { 47259 goto _0 47260 } 47261 47262 _nCol = _pEList.X0 47263 _aCol = (*XColumn)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(16)*uint32(_nCol))))) 47264 goto _1 47265 47266 _0: 47267 _nCol = i32(0) 47268 _aCol = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 47269 _1: 47270 func() int32 { 47271 if _nCol == int32(int16(_nCol)) { 47272 return i32(0) 47273 } 47274 return func() int32 { 47275 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117913), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ColumnsFromExprListØ00__func__Ø000))), unsafe.Pointer(str(52392))) 47276 crt.X__builtin_abort(tls) 47277 return i32(0) 47278 }() 47279 }() 47280 *_pnCol = int16(_nCol) 47281 *_paCol = _aCol 47282 *func() **XColumn { _i = i32(0); return &_pCol }() = _aCol 47283 _4: 47284 if _i >= _nCol || (_db.X17) != 0 { 47285 goto _8 47286 } 47287 47288 _p = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_i))).X0))) 47289 if store1025(&_zName, (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_i))).X1) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 47290 goto _9 47291 } 47292 47293 goto _10 47294 47295 _9: 47296 _5_pColExpr = _p 47297 _11: 47298 if int32(_5_pColExpr.X0) != i32(122) { 47299 goto _12 47300 } 47301 47302 _5_pColExpr = (*XExpr)(unsafe.Pointer(_5_pColExpr.X5)) 47303 func() int32 { 47304 if _5_pColExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 47305 return i32(0) 47306 } 47307 return func() int32 { 47308 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117928), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ColumnsFromExprListØ00__func__Ø000))), unsafe.Pointer(str(52408))) 47309 crt.X__builtin_abort(tls) 47310 return i32(0) 47311 }() 47312 }() 47313 goto _11 47314 47315 _12: 47316 if int32(_5_pColExpr.X0) != i32(152) || func() int32 { 47317 if (*XTable)(unsafe.Pointer(_5_pColExpr.X14)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 47318 return i32(1) 47319 } 47320 return func() int32 { 47321 func() int32 { 47322 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117930), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ColumnsFromExprListØ00__func__Ø000))), unsafe.Pointer(str(5204))) 47323 crt.X__builtin_abort(tls) 47324 return i32(0) 47325 }() 47326 return i32(0) 47327 }() 47328 }() == 0 { 47329 goto _18 47330 } 47331 47332 _7_iCol = int32(_5_pColExpr.X9) 47333 _5_pTab = (*XTable)(unsafe.Pointer(_5_pColExpr.X14)) 47334 if _7_iCol >= i32(0) { 47335 goto _19 47336 } 47337 47338 _7_iCol = int32(_5_pTab.X10) 47339 _19: 47340 _zName = func() *int8 { 47341 if _7_iCol >= i32(0) { 47342 return ((*XColumn)(unsafe.Pointer(uintptr(_5_pTab.X1) + 16*uintptr(_7_iCol))).X0) 47343 } 47344 return str(28688) 47345 }() 47346 goto _22 47347 47348 _18: 47349 if int32(_5_pColExpr.X0) != i32(55) { 47350 goto _23 47351 } 47352 47353 func() int32 { 47354 if ((_5_pColExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 47355 return i32(0) 47356 } 47357 return func() int32 { 47358 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117937), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ColumnsFromExprListØ00__func__Ø000))), unsafe.Pointer(str(52420))) 47359 crt.X__builtin_abort(tls) 47360 return i32(0) 47361 }() 47362 }() 47363 _zName = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pColExpr)) + uintptr(8 /* X3 */))))) 47364 goto _26 47365 47366 _23: 47367 _zName = (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X2 47368 _26: 47369 _22: 47370 _10: 47371 _zName = _sqlite3MPrintf(tls, _db, str(25612), unsafe.Pointer(_zName)) 47372 _cnt = uint32(i32(0)) 47373 _27: 47374 if _zName == nil || _sqlite3HashFind(tls, &_ht, _zName) == (unsafe.Pointer)(uintptr(i32(0))) { 47375 goto _28 47376 } 47377 47378 _nName = _sqlite3Strlen30(tls, _zName) 47379 if _nName <= i32(0) { 47380 goto _30 47381 } 47382 47383 _j = _nName - i32(1) 47384 _31: 47385 if _j <= i32(0) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(_j))))))))&i32(4)) == 0 { 47386 goto _35 47387 } 47388 47389 _j -= 1 47390 goto _31 47391 47392 _35: 47393 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(_j)))) != i32(58) { 47394 goto _36 47395 } 47396 47397 _nName = _j 47398 _36: 47399 _30: 47400 _zName = _sqlite3MPrintf(tls, _db, str(52460), _nName, unsafe.Pointer(_zName), preInc985(&_cnt, uint32(1))) 47401 if _cnt <= uint32(i32(3)) { 47402 goto _37 47403 } 47404 47405 Xsqlite3_randomness(tls, int32(u32(4)), (unsafe.Pointer)(&_cnt)) 47406 _37: 47407 goto _27 47408 47409 _28: 47410 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(0 /* X0 */))) = _zName 47411 if _zName == nil || unsafe.Pointer(_sqlite3HashInsert(tls, &_ht, _zName, (unsafe.Pointer)(_pCol))) != (unsafe.Pointer)(_pCol) { 47412 goto _39 47413 } 47414 47415 _sqlite3OomFault(tls, _db) 47416 _39: 47417 *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(16) 47418 goto _4 47419 47420 _8: 47421 _sqlite3HashClear(tls, &_ht) 47422 if (_db.X17) == 0 { 47423 goto _40 47424 } 47425 47426 _j = i32(0) 47427 _41: 47428 if _j >= _i { 47429 goto _44 47430 } 47431 47432 _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCol))+16*uintptr(_j))).X0)) 47433 _j += 1 47434 goto _41 47435 47436 _44: 47437 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aCol)) 47438 *_paCol = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 47439 *_pnCol = int16(i32(0)) 47440 r0 = _sqlite3NomemError(tls, i32(117973)) 47441 return 47442 47443 _40: 47444 r0 = i32(0) 47445 return 47446 47447 } 47448 47449 var _sqlite3ColumnsFromExprListØ00__func__Ø000 [27]int8 // - 47450 47451 func init() { 47452 crt.Xstrncpy(nil, &_sqlite3ColumnsFromExprListØ00__func__Ø000[0], str(52468), 27) 47453 } 47454 47455 func _sqlite3LocateTableItem(tls *crt.TLS, _pParse *XParse, _flags uint32, _p *T7840217) (r0 *XTable) { // sqlite3.c:99843:1 47456 var _zDb *int8 // sqlite3.c:99848:14 47457 _ = _zDb 47458 var _1_iDb int32 // sqlite3.c:99851:9 47459 _ = _1_iDb 47460 func() int32 { 47461 if ((*XSchema)(unsafe.Pointer(_p.X0)) == (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) || ((_p.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { 47462 return i32(0) 47463 } 47464 return func() int32 { 47465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99849), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3LocateTableItemØ00__func__Ø000))), unsafe.Pointer(str(52496))) 47466 crt.X__builtin_abort(tls) 47467 return i32(0) 47468 }() 47469 }() 47470 if (*XSchema)(unsafe.Pointer(_p.X0)) == nil { 47471 goto _3 47472 } 47473 47474 _1_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_p.X0))) 47475 _zDb = (*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 16*uintptr(_1_iDb))).X0 47476 goto _4 47477 47478 _3: 47479 _zDb = _p.X1 47480 _4: 47481 r0 = _sqlite3LocateTable(tls, _pParse, _flags, _p.X2, _zDb) 47482 return 47483 47484 } 47485 47486 var _sqlite3LocateTableItemØ00__func__Ø000 [23]int8 // - 47487 47488 func init() { 47489 crt.Xstrncpy(nil, &_sqlite3LocateTableItemØ00__func__Ø000[0], str(52532), 23) 47490 } 47491 47492 func _sqlite3LocateTable(tls *crt.TLS, _pParse *XParse, _flags uint32, _zName *int8, _zDbase *int8) (r0 *XTable) { // sqlite3.c:99790:1 47493 var _p *XTable // sqlite3.c:99796:9 47494 _ = _p 47495 var _2_zMsg *int8 // sqlite3.c:99806:16 47496 _ = _2_zMsg 47497 var _3_pMod *XModule // sqlite3.c:99812:14 47498 _ = _3_pMod 47499 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 47500 goto _0 47501 } 47502 47503 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 47504 return 47505 47506 _0: 47507 _p = _sqlite3FindTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zName, _zDbase) 47508 if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 47509 goto _1 47510 } 47511 47512 _2_zMsg = func() *int8 { 47513 if (_flags & uint32(i32(1))) != 0 { 47514 return str(52556) 47515 } 47516 return str(52572) 47517 }() 47518 if _sqlite3FindDbName(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zDbase) >= i32(1) { 47519 goto _4 47520 } 47521 47522 _3_pMod = (*XModule)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(316 /* X65 */))), _zName))) 47523 if _3_pMod != (*XModule)(unsafe.Pointer(uintptr(i32(0)))) || Xsqlite3_strnicmp(tls, _zName, str(52588), i32(7)) != i32(0) { 47524 goto _6 47525 } 47526 47527 _3_pMod = _sqlite3PragmaVtabRegister(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zName) 47528 _6: 47529 if _3_pMod == nil || _sqlite3VtabEponymousTableInit(tls, _pParse, _3_pMod) == 0 { 47530 goto _8 47531 } 47532 47533 r0 = (*XTable)(unsafe.Pointer(_3_pMod.X4)) 47534 return 47535 47536 _8: 47537 _4: 47538 if (_flags & uint32(i32(2))) != uint32(i32(0)) { 47539 goto _9 47540 } 47541 47542 if _zDbase == nil { 47543 goto _10 47544 } 47545 47546 _sqlite3ErrorMsg(tls, _pParse, str(52596), unsafe.Pointer(_2_zMsg), unsafe.Pointer(_zDbase), unsafe.Pointer(_zName)) 47547 goto _11 47548 47549 _10: 47550 _sqlite3ErrorMsg(tls, _pParse, str(52608), unsafe.Pointer(_2_zMsg), unsafe.Pointer(_zName)) 47551 _11: 47552 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 47553 _9: 47554 _1: 47555 r0 = _p 47556 return 47557 47558 } 47559 47560 func _sqlite3ReadSchema(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:115791:1 47561 var _rc int32 // sqlite3.c:115792:7 47562 _ = _rc 47563 var _db *Xsqlite3 // sqlite3.c:115793:11 47564 _ = _db 47565 _rc = i32(0) 47566 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 47567 func() int32 { 47568 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 47569 return i32(0) 47570 } 47571 return func() int32 { 47572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115794), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReadSchemaØ00__func__Ø000))), unsafe.Pointer(str(832))) 47573 crt.X__builtin_abort(tls) 47574 return i32(0) 47575 }() 47576 }() 47577 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 47578 goto _2 47579 } 47580 47581 _rc = _sqlite3Init(tls, _db, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(4 /* X1 */)))) 47582 _2: 47583 if _rc == i32(0) { 47584 goto _3 47585 } 47586 47587 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = _rc 47588 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X16 */))) += 1 47589 _3: 47590 r0 = _rc 47591 return 47592 47593 } 47594 47595 var _sqlite3ReadSchemaØ00__func__Ø000 [18]int8 // - 47596 47597 func init() { 47598 crt.Xstrncpy(nil, &_sqlite3ReadSchemaØ00__func__Ø000[0], str(52616), 18) 47599 } 47600 47601 func _sqlite3Init(tls *crt.TLS, _db *Xsqlite3, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:115747:1 47602 var _i int32 // sqlite3.c:115748:7 47603 _ = _i 47604 var _rc int32 // sqlite3.c:115748:10 47605 _ = _rc 47606 var _commit_internal int32 // sqlite3.c:115749:7 47607 _ = _commit_internal 47608 _commit_internal = bool2int(((_db.X6) & i32(2)) == 0) 47609 func() int32 { 47610 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 47611 return i32(0) 47612 } 47613 return func() int32 { 47614 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115751), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitØ00__func__Ø000))), unsafe.Pointer(str(832))) 47615 crt.X__builtin_abort(tls) 47616 return i32(0) 47617 }() 47618 }() 47619 func() int32 { 47620 if _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1))) != 0 { 47621 return i32(0) 47622 } 47623 return func() int32 { 47624 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115752), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitØ00__func__Ø000))), unsafe.Pointer(str(52636))) 47625 crt.X__builtin_abort(tls) 47626 return i32(0) 47627 }() 47628 }() 47629 func() int32 { 47630 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == i32(0) { 47631 return i32(0) 47632 } 47633 return func() int32 { 47634 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115753), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitØ00__func__Ø000))), unsafe.Pointer(str(52676))) 47635 crt.X__builtin_abort(tls) 47636 return i32(0) 47637 }() 47638 }() 47639 _rc = i32(0) 47640 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(1)) 47641 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(62 /* X14 */))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(i32(0)))).X4)).X8 47642 _i = i32(0) 47643 _6: 47644 if _rc != i32(0) || _i >= (_db.X5) { 47645 goto _10 47646 } 47647 47648 if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X4)).X9)&i32(1)) != i32(1) && _i != i32(1) { 47649 goto _12 47650 } 47651 47652 goto _7 47653 47654 _12: 47655 _rc = _sqlite3InitOne(tls, _db, _i, _pzErrMsg) 47656 if _rc == 0 { 47657 goto _13 47658 } 47659 47660 _sqlite3ResetOneSchema(tls, _db, _i) 47661 _13: 47662 _7: 47663 _i += 1 47664 goto _6 47665 47666 _10: 47667 func() int32 { 47668 if (_db.X5) > i32(1) { 47669 return i32(0) 47670 } 47671 return func() int32 { 47672 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115770), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitØ00__func__Ø000))), unsafe.Pointer(str(52696))) 47673 crt.X__builtin_abort(tls) 47674 return i32(0) 47675 }() 47676 }() 47677 if _rc != i32(0) || (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4)).X9)&i32(1)) == i32(1) { 47678 goto _17 47679 } 47680 47681 _rc = _sqlite3InitOne(tls, _db, i32(1), _pzErrMsg) 47682 if _rc == 0 { 47683 goto _18 47684 } 47685 47686 _sqlite3ResetOneSchema(tls, _db, i32(1)) 47687 _18: 47688 _17: 47689 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(0)) 47690 if _rc != i32(0) || _commit_internal == 0 { 47691 goto _20 47692 } 47693 47694 _sqlite3CommitInternalChanges(tls, _db) 47695 _20: 47696 r0 = _rc 47697 return 47698 47699 } 47700 47701 var _sqlite3InitØ00__func__Ø000 [12]int8 // - 47702 47703 func init() { 47704 crt.Xstrncpy(nil, &_sqlite3InitØ00__func__Ø000[0], str(52708), 12) 47705 } 47706 47707 func _sqlite3InitOne(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:115527:1 47708 var _rc int32 // sqlite3.c:115528:7 47709 _ = _rc 47710 var _i int32 // sqlite3.c:115529:7 47711 _ = _i 47712 var _size int32 // sqlite3.c:115531:7 47713 _ = _size 47714 var _pDb *XDb // sqlite3.c:115533:6 47715 _ = _pDb 47716 var _azArg [4]*int8 // sqlite3.c:115534:14 47717 _ = _azArg 47718 var _meta [5]int32 // sqlite3.c:115535:7 47719 _ = _meta 47720 var _initData XInitData // sqlite3.c:115536:12 47721 _ = _initData 47722 var _zMasterName *int8 // sqlite3.c:115537:14 47723 _ = _zMasterName 47724 var _openedTransaction int32 // sqlite3.c:115538:7 47725 _ = _openedTransaction 47726 var _8_encoding uint8 // sqlite3.c:115618:10 47727 _ = _8_encoding 47728 var _17_zSql *int8 // sqlite3.c:115680:10 47729 _ = _17_zSql 47730 var _18_xAuth func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 // sqlite3.c:115686:21 47731 _ = _18_xAuth 47732 _openedTransaction = i32(0) 47733 func() int32 { 47734 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 47735 return i32(0) 47736 } 47737 return func() int32 { 47738 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115540), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitOneØ00__func__Ø000))), unsafe.Pointer(str(22608))) 47739 crt.X__builtin_abort(tls) 47740 return i32(0) 47741 }() 47742 }() 47743 func() int32 { 47744 if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4)) != nil { 47745 return i32(0) 47746 } 47747 return func() int32 { 47748 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115541), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitOneØ00__func__Ø000))), unsafe.Pointer(str(52720))) 47749 crt.X__builtin_abort(tls) 47750 return i32(0) 47751 }() 47752 }() 47753 func() int32 { 47754 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 47755 return i32(0) 47756 } 47757 return func() int32 { 47758 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115542), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitOneØ00__func__Ø000))), unsafe.Pointer(str(832))) 47759 crt.X__builtin_abort(tls) 47760 return i32(0) 47761 }() 47762 }() 47763 func() int32 { 47764 if (_iDb == i32(1)) || _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X1))) != 0 { 47765 return i32(0) 47766 } 47767 return func() int32 { 47768 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115543), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitOneØ00__func__Ø000))), unsafe.Pointer(str(52744))) 47769 crt.X__builtin_abort(tls) 47770 return i32(0) 47771 }() 47772 }() 47773 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 4*uintptr(i32(0)))) = store1025(&_zMasterName, func() *int8 { 47774 if i32(1) != 0 && (_iDb == i32(1)) { 47775 return str(52796) 47776 } 47777 return str(52816) 47778 }()) 47779 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 4*uintptr(i32(1)))) = str(52832) 47780 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 4*uintptr(i32(2)))) = str(52836) 47781 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azArg)) + 4*uintptr(i32(3)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 47782 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(0 /* X0 */))))) = _db 47783 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(8 /* X2 */))) = _iDb 47784 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(12 /* X3 */))) = i32(0) 47785 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_initData)) + uintptr(4 /* X1 */))) = _pzErrMsg 47786 _sqlite3InitCallback(tls, (unsafe.Pointer)(&_initData), i32(3), (**int8)(unsafe.Pointer(&_azArg)), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 47787 if (_initData.X3) == 0 { 47788 goto _13 47789 } 47790 47791 _rc = _initData.X3 47792 goto _error_out 47793 47794 _13: 47795 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 47796 if (*XBtree)(unsafe.Pointer(_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 47797 goto _14 47798 } 47799 47800 if i32(1) == 0 || func() int32 { 47801 if _iDb == i32(1) { 47802 return i32(1) 47803 } 47804 return func() int32 { 47805 func() int32 { 47806 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115569), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitOneØ00__func__Ø000))), unsafe.Pointer(str(5204))) 47807 crt.X__builtin_abort(tls) 47808 return i32(0) 47809 }() 47810 return i32(0) 47811 }() 47812 }() == 0 { 47813 goto _18 47814 } 47815 47816 { 47817 p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4) + uintptr(78 /* X9 */))) 47818 *p = uint16(int32(*p) | i32(1)) 47819 sink6908 = *p 47820 } 47821 _18: 47822 r0 = i32(0) 47823 return 47824 47825 _14: 47826 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 47827 if _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) != 0 { 47828 goto _19 47829 } 47830 47831 _rc = _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), i32(0)) 47832 if _rc == i32(0) { 47833 goto _20 47834 } 47835 47836 _sqlite3SetString(tls, _pzErrMsg, _db, _sqlite3ErrStr(tls, _rc)) 47837 goto _initone_error_out 47838 47839 _20: 47840 _openedTransaction = i32(1) 47841 _19: 47842 _i = i32(0) 47843 _21: 47844 if _i >= i32(5) { 47845 goto _24 47846 } 47847 47848 _sqlite3BtreeGetMeta(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), _i+i32(1), (*uint32)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta))+4*uintptr(_i)))))) 47849 _i += 1 47850 goto _21 47851 47852 _24: 47853 *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(0 /* X0 */))) = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(0)))) 47854 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(4))))) == 0 { 47855 goto _25 47856 } 47857 47858 if _iDb != i32(0) { 47859 goto _26 47860 } 47861 47862 _8_encoding = uint8(int32(uint8(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(4)))))) & i32(3)) 47863 if int32(_8_encoding) != i32(0) { 47864 goto _27 47865 } 47866 47867 _8_encoding = uint8(i32(1)) 47868 _27: 47869 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(62 /* X14 */))) = _8_encoding 47870 goto _28 47871 47872 _26: 47873 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(4))))) == int32(_db.X14) { 47874 goto _29 47875 } 47876 47877 _sqlite3SetString(tls, _pzErrMsg, _db, str(52912)) 47878 _rc = i32(1) 47879 goto _initone_error_out 47880 47881 _29: 47882 _28: 47883 goto _30 47884 47885 _25: 47886 { 47887 p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(78 /* X9 */))) 47888 *p = uint16(int32(*p) | i32(4)) 47889 sink6908 = *p 47890 } 47891 _30: 47892 *(*uint8)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(77 /* X8 */))) = _db.X14 47893 if ((*XSchema)(unsafe.Pointer(_pDb.X4)).X10) != i32(0) { 47894 goto _31 47895 } 47896 47897 _size = _sqlite3AbsInt32(tls, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(2))))) 47898 if _size != i32(0) { 47899 goto _32 47900 } 47901 47902 _size = i32(-2000) 47903 _32: 47904 *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(80 /* X10 */))) = _size 47905 _sqlite3BtreeSetCacheSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), (*XSchema)(unsafe.Pointer(_pDb.X4)).X10) 47906 _31: 47907 *(*uint8)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(76 /* X7 */))) = uint8(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(1))))) 47908 if int32((*XSchema)(unsafe.Pointer(_pDb.X4)).X7) != i32(0) { 47909 goto _33 47910 } 47911 47912 *(*uint8)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(76 /* X7 */))) = uint8(i32(1)) 47913 _33: 47914 if int32((*XSchema)(unsafe.Pointer(_pDb.X4)).X7) <= i32(4) { 47915 goto _34 47916 } 47917 47918 _sqlite3SetString(tls, _pzErrMsg, _db, str(52980)) 47919 _rc = i32(1) 47920 goto _initone_error_out 47921 47922 _34: 47923 if _iDb != i32(0) || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_meta)) + 4*uintptr(i32(1))))) < i32(4) { 47924 goto _36 47925 } 47926 47927 { 47928 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 47929 *p = (*p) & i32(-32769) 47930 sink961 = *p 47931 } 47932 _36: 47933 func() int32 { 47934 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 47935 return i32(0) 47936 } 47937 return func() int32 { 47938 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115678), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitOneØ00__func__Ø000))), unsafe.Pointer(str(53004))) 47939 crt.X__builtin_abort(tls) 47940 return i32(0) 47941 }() 47942 }() 47943 _17_zSql = _sqlite3MPrintf(tls, _db, str(53020), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(_zMasterName)) 47944 _18_xAuth = _db.X59 47945 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(292 /* X59 */))) = nil 47946 _rc = Xsqlite3_exec(tls, _db, _17_zSql, _sqlite3InitCallback, (unsafe.Pointer)(&_initData), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 47947 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(292 /* X59 */))) = _18_xAuth 47948 if _rc != i32(0) { 47949 goto _39 47950 } 47951 47952 _rc = _initData.X3 47953 _39: 47954 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_17_zSql)) 47955 if _rc != i32(0) { 47956 goto _40 47957 } 47958 47959 _sqlite3AnalysisLoad(tls, _db, _iDb) 47960 _40: 47961 if (_db.X17) == 0 { 47962 goto _41 47963 } 47964 47965 _rc = _sqlite3NomemError(tls, i32(115704)) 47966 _sqlite3ResetAllSchemasOfConnection(tls, _db) 47967 _41: 47968 if _rc != i32(0) && ((_db.X6)&i32(65536)) == 0 { 47969 goto _43 47970 } 47971 47972 { 47973 p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(78 /* X9 */))) 47974 *p = uint16(int32(*p) | i32(1)) 47975 sink6908 = *p 47976 } 47977 _rc = i32(0) 47978 _43: 47979 _initone_error_out: 47980 if _openedTransaction == 0 { 47981 goto _44 47982 } 47983 47984 _sqlite3BtreeCommit(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 47985 _44: 47986 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 47987 _error_out: 47988 if _rc != i32(7) && _rc != i32(3082) { 47989 goto _46 47990 } 47991 47992 _sqlite3OomFault(tls, _db) 47993 _46: 47994 r0 = _rc 47995 return 47996 47997 } 47998 47999 var _sqlite3InitOneØ00__func__Ø000 [15]int8 // - 48000 48001 func init() { 48002 crt.Xstrncpy(nil, &_sqlite3InitOneØ00__func__Ø000[0], str(53076), 15) 48003 } 48004 48005 func _sqlite3InitCallback(tls *crt.TLS, _pInit unsafe.Pointer, _argc int32, _argv **int8, _NotUsed **int8) (r0 int32) { // sqlite3.c:115443:1 48006 var _pData *XInitData // sqlite3.c:115444:12 48007 _ = _pData 48008 var _db *Xsqlite3 // sqlite3.c:115445:11 48009 _ = _db 48010 var _iDb int32 // sqlite3.c:115446:7 48011 _ = _iDb 48012 var _3_rc int32 // sqlite3.c:115467:9 48013 _ = _3_rc 48014 var _3_saved_iDb uint8 // sqlite3.c:115468:8 48015 _ = _3_saved_iDb 48016 var _3_pStmt unsafe.Pointer // sqlite3.c:115469:18 48017 _ = _3_pStmt 48018 var _3_rcp int32 // sqlite3.c:115470:18 48019 _ = _3_rcp 48020 var _10_pIndex *XIndex // sqlite3.c:115503:11 48021 _ = _10_pIndex 48022 _pData = (*XInitData)(unsafe.Pointer(_pInit)) 48023 _db = (*Xsqlite3)(unsafe.Pointer(_pData.X0)) 48024 _iDb = _pData.X2 48025 func() int32 { 48026 if _argc == i32(3) { 48027 return i32(0) 48028 } 48029 return func() int32 { 48030 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115448), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(53092))) 48031 crt.X__builtin_abort(tls) 48032 return i32(0) 48033 }() 48034 }() 48035 func() int32 { ; return _argc }() 48036 func() int32 { 48037 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 48038 return i32(0) 48039 } 48040 return func() int32 { 48041 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115450), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(832))) 48042 crt.X__builtin_abort(tls) 48043 return i32(0) 48044 }() 48045 }() 48046 { 48047 p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(78 /* X9 */))) 48048 *p = uint16(int32(*p) & i32(-5)) 48049 sink6908 = *p 48050 } 48051 if (_db.X17) == 0 { 48052 goto _4 48053 } 48054 48055 _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 48056 r0 = i32(1) 48057 return 48058 48059 _4: 48060 func() int32 { 48061 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 48062 return i32(0) 48063 } 48064 return func() int32 { 48065 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115457), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(22608))) 48066 crt.X__builtin_abort(tls) 48067 return i32(0) 48068 }() 48069 }() 48070 if _argv != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 48071 goto _8 48072 } 48073 48074 r0 = i32(0) 48075 return 48076 48077 _8: 48078 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 48079 goto _9 48080 } 48081 48082 _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 48083 goto _10 48084 48085 _9: 48086 if Xsqlite3_strnicmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2)))), str(53100), i32(7)) != i32(0) { 48087 goto _11 48088 } 48089 48090 _3_saved_iDb = (*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X1 48091 func() int32 { 48092 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 48093 return i32(0) 48094 } 48095 return func() int32 { 48096 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115472), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(53004))) 48097 crt.X__builtin_abort(tls) 48098 return i32(0) 48099 }() 48100 }() 48101 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(_iDb) 48102 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(0 /* X0 */))) = _sqlite3Atoi(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 48103 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(6 /* X3 */))) = uint8(i32(0)) 48104 _3_rcp = Xsqlite3_prepare(tls, _db, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2)))), i32(-1), &_3_pStmt, (**int8)(unsafe.Pointer(uintptr(i32(0))))) 48105 _3_rc = _db.X10 48106 func() int32 { 48107 if (_3_rc & i32(255)) == (_3_rcp & i32(255)) { 48108 return i32(0) 48109 } 48110 return func() int32 { 48111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115478), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(53108))) 48112 crt.X__builtin_abort(tls) 48113 return i32(0) 48114 }() 48115 }() 48116 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(4 /* X1 */))) = _3_saved_iDb 48117 func() int32 { 48118 if (int32(_3_saved_iDb) == i32(0)) || (((_db.X6) & i32(268435456)) != i32(0)) { 48119 return i32(0) 48120 } 48121 return func() int32 { 48122 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115480), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(53132))) 48123 crt.X__builtin_abort(tls) 48124 return i32(0) 48125 }() 48126 }() 48127 if i32(0) == _3_rc { 48128 goto _19 48129 } 48130 48131 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X3) == 0 { 48132 goto _20 48133 } 48134 48135 func() int32 { 48136 if _iDb == i32(1) { 48137 return i32(0) 48138 } 48139 return func() int32 { 48140 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115483), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InitCallbackØ00__func__Ø000))), unsafe.Pointer(str(53180))) 48141 crt.X__builtin_abort(tls) 48142 return i32(0) 48143 }() 48144 }() 48145 goto _23 48146 48147 _20: 48148 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pData)) + uintptr(12 /* X3 */))) = _3_rc 48149 if _3_rc != i32(7) { 48150 goto _24 48151 } 48152 48153 _sqlite3OomFault(tls, _db) 48154 goto _25 48155 48156 _24: 48157 if _3_rc == i32(9) || (_3_rc&i32(255)) == i32(6) { 48158 goto _27 48159 } 48160 48161 _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), Xsqlite3_errmsg(tls, _db)) 48162 _27: 48163 _25: 48164 _23: 48165 _19: 48166 Xsqlite3_finalize(tls, _3_pStmt) 48167 goto _28 48168 48169 _11: 48170 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && ((*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2)))))) + 1*uintptr(i32(0))))) == i32(0)) { 48171 goto _31 48172 } 48173 48174 _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 48175 goto _32 48176 48177 _31: 48178 _10_pIndex = _sqlite3FindIndex(tls, _db, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) 48179 if _10_pIndex != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 48180 goto _33 48181 } 48182 48183 goto _34 48184 48185 _33: 48186 if _sqlite3GetInt32(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1)))), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pIndex))+uintptr(44 /* X11 */)))) != i32(0) { 48187 goto _35 48188 } 48189 48190 _corruptSchema(tls, _pData, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), str(53188)) 48191 _35: 48192 _34: 48193 _32: 48194 _28: 48195 _10: 48196 r0 = i32(0) 48197 return 48198 48199 } 48200 48201 var _sqlite3InitCallbackØ00__func__Ø000 [20]int8 // - 48202 48203 func init() { 48204 crt.Xstrncpy(nil, &_sqlite3InitCallbackØ00__func__Ø000[0], str(53208), 20) 48205 } 48206 48207 func _corruptSchema(tls *crt.TLS, _pData *XInitData, _zObj *int8, _zExtra *int8) { // sqlite3.c:115414:1 48208 var _db *Xsqlite3 // sqlite3.c:115419:11 48209 _ = _db 48210 var _1_z *int8 // sqlite3.c:115421:10 48211 _ = _1_z 48212 _db = (*Xsqlite3)(unsafe.Pointer(_pData.X0)) 48213 if (_db.X17) != 0 || ((_db.X6)&i32(65536)) != i32(0) { 48214 goto _1 48215 } 48216 48217 if _zObj != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 48218 goto _2 48219 } 48220 48221 _zObj = str(53228) 48222 _2: 48223 _1_z = _sqlite3MPrintf(tls, _db, str(53232), unsafe.Pointer(_zObj)) 48224 if _zExtra == nil { 48225 goto _3 48226 } 48227 48228 _1_z = _sqlite3MPrintf(tls, _db, str(53264), unsafe.Pointer(_1_z), unsafe.Pointer(_zExtra)) 48229 _3: 48230 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(_pData.X1))) 48231 *(_pData.X1) = _1_z 48232 _1: 48233 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pData)) + uintptr(12 /* X3 */))) = func() int32 { 48234 if (_db.X17) != 0 { 48235 return _sqlite3NomemError(tls, i32(115428)) 48236 } 48237 return _sqlite3CorruptError(tls, i32(115428)) 48238 }() 48239 return 48240 48241 } 48242 48243 func _sqlite3Atoi(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:28359:1 48244 var _x int32 // sqlite3.c:28360:7 48245 _ = _x 48246 _x = i32(0) 48247 if _z == nil { 48248 goto _0 48249 } 48250 48251 _sqlite3GetInt32(tls, _z, &_x) 48252 _0: 48253 r0 = _x 48254 return 48255 48256 } 48257 48258 func Xsqlite3_prepare(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:116131:12 48259 var _rc int32 // sqlite3.c:116138:7 48260 _ = _rc 48261 _rc = _sqlite3LockAndPrepare(tls, _db, _zSql, _nBytes, i32(0), (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))), _ppStmt, _pzTail) 48262 func() int32 { 48263 if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 48264 return i32(0) 48265 } 48266 return func() int32 { 48267 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116140), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_prepareØ00__func__Ø000))), unsafe.Pointer(str(53272))) 48268 crt.X__builtin_abort(tls) 48269 return i32(0) 48270 }() 48271 }() 48272 r0 = _rc 48273 return 48274 48275 } 48276 48277 func _sqlite3LockAndPrepare(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _saveSqlFlag int32, _pOld *XVdbe, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:116055:1 48278 var _rc int32 // sqlite3.c:116064:7 48279 _ = _rc 48280 if _ppStmt != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 48281 goto _0 48282 } 48283 48284 r0 = _sqlite3MisuseError(tls, i32(116067)) 48285 return 48286 48287 _0: 48288 *_ppStmt = (unsafe.Pointer)(uintptr(i32(0))) 48289 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 48290 goto _2 48291 } 48292 48293 r0 = _sqlite3MisuseError(tls, i32(116071)) 48294 return 48295 48296 _2: 48297 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 48298 _sqlite3BtreeEnterAll(tls, _db) 48299 _rc = _sqlite3Prepare(tls, _db, _zSql, _nBytes, _saveSqlFlag, _pOld, _ppStmt, _pzTail) 48300 if _rc != i32(17) { 48301 goto _3 48302 } 48303 48304 Xsqlite3_finalize(tls, *_ppStmt) 48305 _rc = _sqlite3Prepare(tls, _db, _zSql, _nBytes, _saveSqlFlag, _pOld, _ppStmt, _pzTail) 48306 _3: 48307 _sqlite3BtreeLeaveAll(tls, _db) 48308 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 48309 func() int32 { 48310 if (_rc == i32(0)) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 48311 return i32(0) 48312 } 48313 return func() int32 { 48314 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116082), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3LockAndPrepareØ00__func__Ø000))), unsafe.Pointer(str(53316))) 48315 crt.X__builtin_abort(tls) 48316 return i32(0) 48317 }() 48318 }() 48319 r0 = _rc 48320 return 48321 48322 } 48323 48324 func _sqlite3Prepare(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _saveSqlFlag int32, _pReprepare *XVdbe, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:115904:1 48325 var _zErrMsg *int8 // sqlite3.c:115913:8 48326 _ = _zErrMsg 48327 var _rc int32 // sqlite3.c:115914:7 48328 _ = _rc 48329 var _i int32 // sqlite3.c:115915:7 48330 _ = _i 48331 var _sParse XParse // sqlite3.c:115916:9 48332 _ = _sParse 48333 var _1_pBt *XBtree // sqlite3.c:115949:11 48334 _ = _1_pBt 48335 var _3_zDb *int8 // sqlite3.c:115954:20 48336 _ = _3_zDb 48337 var _4_zSqlCopy *int8 // sqlite3.c:115966:10 48338 _ = _4_zSqlCopy 48339 var _4_mxLen int32 // sqlite3.c:115967:9 48340 _ = _4_mxLen 48341 var _12_iFirst int32 // sqlite3.c:116006:9 48342 _ = _12_iFirst 48343 var _12_mx int32 // sqlite3.c:116006:17 48344 _ = _12_mx 48345 var _16_pVdbe *XVdbe // sqlite3.c:116024:10 48346 _ = _16_pVdbe 48347 var _21_pT *XTriggerPrg // sqlite3.c:116043:16 48348 _ = _21_pT 48349 _zErrMsg = nil 48350 _rc = i32(0) 48351 crt.Xmemset(tls, (unsafe.Pointer)(&_sParse), i32(0), u32(160)) 48352 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_sParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u32(400))))))))), i32(0), u32(84)) 48353 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(436 /* X61 */))))) = _pReprepare 48354 func() int32 { 48355 if (_ppStmt != nil) && (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 48356 return i32(0) 48357 } 48358 return func() int32 { 48359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115921), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PrepareØ00__func__Ø000))), unsafe.Pointer(str(53344))) 48360 crt.X__builtin_abort(tls) 48361 return i32(0) 48362 }() 48363 }() 48364 func() int32 { 48365 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 48366 return i32(0) 48367 } 48368 return func() int32 { 48369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115923), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PrepareØ00__func__Ø000))), unsafe.Pointer(str(832))) 48370 crt.X__builtin_abort(tls) 48371 return i32(0) 48372 }() 48373 }() 48374 _i = i32(0) 48375 _5: 48376 if _i >= (_db.X5) { 48377 goto _8 48378 } 48379 48380 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 48381 if _1_pBt == nil { 48382 goto _9 48383 } 48384 48385 func() int32 { 48386 if _sqlite3BtreeHoldsMutex(tls, _1_pBt) != 0 { 48387 return i32(0) 48388 } 48389 return func() int32 { 48390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115951), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PrepareØ00__func__Ø000))), unsafe.Pointer(str(53368))) 48391 crt.X__builtin_abort(tls) 48392 return i32(0) 48393 }() 48394 }() 48395 _rc = _sqlite3BtreeSchemaLocked(tls, _1_pBt) 48396 if _rc == 0 { 48397 goto _12 48398 } 48399 48400 _3_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X0 48401 _sqlite3ErrorWithMsg(tls, _db, _rc, str(53396), unsafe.Pointer(_3_zDb)) 48402 goto _end_prepare 48403 48404 _12: 48405 _9: 48406 _i += 1 48407 goto _5 48408 48409 _8: 48410 _sqlite3VtabUnlockList(tls, _db) 48411 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(0 /* X0 */))))) = _db 48412 if _nBytes < i32(0) || _nBytes != i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(_nBytes-i32(1))))) == i32(0) { 48413 goto _15 48414 } 48415 48416 _4_mxLen = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(1)))) 48417 if _nBytes <= _4_mxLen { 48418 goto _16 48419 } 48420 48421 _sqlite3ErrorWithMsg(tls, _db, i32(18), str(53428)) 48422 _rc = _sqlite3ApiExit(tls, _db, i32(18)) 48423 goto _end_prepare 48424 48425 _16: 48426 _4_zSqlCopy = _sqlite3DbStrNDup(tls, _db, _zSql, uint64(_nBytes)) 48427 if _4_zSqlCopy == nil { 48428 goto _17 48429 } 48430 48431 _sqlite3RunParser(tls, &_sParse, _4_zSqlCopy, &_zErrMsg) 48432 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(440 /* X62 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(int32((uintptr(unsafe.Pointer(_sParse.X62))-uintptr(unsafe.Pointer(_4_zSqlCopy)))/1)))) 48433 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_4_zSqlCopy)) 48434 goto _18 48435 48436 _17: 48437 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(440 /* X62 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(_nBytes))) 48438 _18: 48439 goto _19 48440 48441 _15: 48442 _sqlite3RunParser(tls, &_sParse, _zSql, &_zErrMsg) 48443 _19: 48444 func() int32 { 48445 if uint32(i32(0)) == (_sParse.X42) { 48446 return i32(0) 48447 } 48448 return func() int32 { 48449 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115986), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PrepareØ00__func__Ø000))), unsafe.Pointer(str(53448))) 48450 crt.X__builtin_abort(tls) 48451 return i32(0) 48452 }() 48453 }() 48454 if (_sParse.X3) != i32(101) { 48455 goto _22 48456 } 48457 48458 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(12 /* X3 */))) = i32(0) 48459 _22: 48460 if (_sParse.X5) == 0 { 48461 goto _23 48462 } 48463 48464 _schemaIsValid(tls, &_sParse) 48465 _23: 48466 if (_db.X17) == 0 { 48467 goto _24 48468 } 48469 48470 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(12 /* X3 */))) = _sqlite3NomemError(tls, i32(115993)) 48471 _24: 48472 if _pzTail == nil { 48473 goto _25 48474 } 48475 48476 *_pzTail = _sParse.X62 48477 _25: 48478 _rc = _sParse.X3 48479 if _rc != i32(0) || (*XVdbe)(unsafe.Pointer(_sParse.X2)) == nil || (_sParse.X54) == 0 { 48480 goto _28 48481 } 48482 48483 if int32(_sParse.X54) != i32(2) { 48484 goto _29 48485 } 48486 48487 _sqlite3VdbeSetNumCols(tls, (*XVdbe)(unsafe.Pointer(_sParse.X2)), i32(4)) 48488 _12_iFirst = i32(8) 48489 _12_mx = i32(12) 48490 goto _30 48491 48492 _29: 48493 _sqlite3VdbeSetNumCols(tls, (*XVdbe)(unsafe.Pointer(_sParse.X2)), i32(8)) 48494 _12_iFirst = i32(0) 48495 _12_mx = i32(8) 48496 _30: 48497 _i = _12_iFirst 48498 _31: 48499 if _i >= _12_mx { 48500 goto _34 48501 } 48502 48503 _sqlite3VdbeSetColName(tls, (*XVdbe)(unsafe.Pointer(_sParse.X2)), _i-_12_iFirst, i32(0), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PrepareØ00azColNameØ001)) + 4*uintptr(_i))), nil) 48504 _i += 1 48505 goto _31 48506 48507 _34: 48508 _28: 48509 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != i32(0) { 48510 goto _35 48511 } 48512 48513 _16_pVdbe = (*XVdbe)(unsafe.Pointer(_sParse.X2)) 48514 _sqlite3VdbeSetSql(tls, _16_pVdbe, _zSql, int32((uintptr(unsafe.Pointer(_sParse.X62))-uintptr(unsafe.Pointer(_zSql)))/1), _saveSqlFlag) 48515 _35: 48516 if (*XVdbe)(unsafe.Pointer(_sParse.X2)) == nil || _rc == i32(0) && (_db.X17) == 0 { 48517 goto _38 48518 } 48519 48520 _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_sParse.X2))) 48521 func() int32 { 48522 if (*_ppStmt) == nil { 48523 return i32(0) 48524 } 48525 return func() int32 { 48526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116029), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PrepareØ00__func__Ø000))), unsafe.Pointer(str(53472))) 48527 crt.X__builtin_abort(tls) 48528 return i32(0) 48529 }() 48530 }() 48531 goto _41 48532 48533 _38: 48534 *_ppStmt = _sParse.X2 48535 _41: 48536 if _zErrMsg == nil { 48537 goto _42 48538 } 48539 48540 _sqlite3ErrorWithMsg(tls, _db, _rc, str(25612), unsafe.Pointer(_zErrMsg)) 48541 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) 48542 goto _43 48543 48544 _42: 48545 _sqlite3Error(tls, _db, _rc) 48546 _43: 48547 _44: 48548 if (*XTriggerPrg)(unsafe.Pointer(_sParse.X69)) == nil { 48549 goto _45 48550 } 48551 48552 _21_pT = (*XTriggerPrg)(unsafe.Pointer(_sParse.X69)) 48553 *(**XTriggerPrg)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sParse)) + uintptr(472 /* X69 */))))) = (*XTriggerPrg)(unsafe.Pointer(_21_pT.X1)) 48554 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_21_pT)) 48555 goto _44 48556 48557 _45: 48558 _end_prepare: 48559 _sqlite3ParserReset(tls, &_sParse) 48560 _rc = _sqlite3ApiExit(tls, _db, _rc) 48561 func() int32 { 48562 if (_rc & (_db.X11)) == _rc { 48563 return i32(0) 48564 } 48565 return func() int32 { 48566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116052), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PrepareØ00__func__Ø000))), unsafe.Pointer(str(53484))) 48567 crt.X__builtin_abort(tls) 48568 return i32(0) 48569 }() 48570 }() 48571 r0 = _rc 48572 return 48573 48574 } 48575 48576 var _sqlite3PrepareØ00__func__Ø000 [15]int8 // - 48577 48578 func init() { 48579 crt.Xstrncpy(nil, &_sqlite3PrepareØ00__func__Ø000[0], str(53508), 15) 48580 } 48581 48582 func _sqlite3BtreeSchemaLocked(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68638:1 48583 var _rc int32 // sqlite3.c:68639:7 48584 _ = _rc 48585 func() int32 { 48586 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 48587 return i32(0) 48588 } 48589 return func() int32 { 48590 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68640), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSchemaLockedØ00__func__Ø000))), unsafe.Pointer(str(8940))) 48591 crt.X__builtin_abort(tls) 48592 return i32(0) 48593 }() 48594 }() 48595 _sqlite3BtreeEnter(tls, _p) 48596 _rc = _querySharedCacheTableLock(tls, _p, uint32(i32(1)), uint8(i32(1))) 48597 func() int32 { 48598 if (_rc == i32(0)) || (_rc == i32(262)) { 48599 return i32(0) 48600 } 48601 return func() int32 { 48602 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68643), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSchemaLockedØ00__func__Ø000))), unsafe.Pointer(str(53524))) 48603 crt.X__builtin_abort(tls) 48604 return i32(0) 48605 }() 48606 }() 48607 _sqlite3BtreeLeave(tls, _p) 48608 r0 = _rc 48609 return 48610 48611 } 48612 48613 var _sqlite3BtreeSchemaLockedØ00__func__Ø000 [25]int8 // - 48614 48615 func init() { 48616 crt.Xstrncpy(nil, &_sqlite3BtreeSchemaLockedØ00__func__Ø000[0], str(53572), 25) 48617 } 48618 48619 func _querySharedCacheTableLock(tls *crt.TLS, _p *XBtree, _iTab uint32, _eLock uint8) (r0 int32) { // sqlite3.c:59205:1 48620 var _pBt *XBtShared // sqlite3.c:59206:12 48621 _ = _pBt 48622 var _pIter *XBtLock // sqlite3.c:59207:10 48623 _ = _pIter 48624 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 48625 func() int32 { 48626 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 48627 return i32(0) 48628 } 48629 return func() int32 { 48630 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59209), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(17984))) 48631 crt.X__builtin_abort(tls) 48632 return i32(0) 48633 }() 48634 }() 48635 func() int32 { 48636 if (int32(_eLock) == i32(1)) || (int32(_eLock) == i32(2)) { 48637 return i32(0) 48638 } 48639 return func() int32 { 48640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59210), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53600))) 48641 crt.X__builtin_abort(tls) 48642 return i32(0) 48643 }() 48644 }() 48645 func() int32 { 48646 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 48647 return i32(0) 48648 } 48649 return func() int32 { 48650 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59211), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(24672))) 48651 crt.X__builtin_abort(tls) 48652 return i32(0) 48653 }() 48654 }() 48655 func() int32 { 48656 if (((((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(16384)) == 0) || (int32(_eLock) == i32(2))) || (_iTab == uint32(i32(1))) { 48657 return i32(0) 48658 } 48659 return func() int32 { 48660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59212), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53640))) 48661 crt.X__builtin_abort(tls) 48662 return i32(0) 48663 }() 48664 }() 48665 func() int32 { 48666 if (int32(_eLock) == i32(1)) || ((_p == (*XBtree)(unsafe.Pointer(_pBt.X26))) && (int32(_p.X2) == i32(2))) { 48667 return i32(0) 48668 } 48669 return func() int32 { 48670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59218), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53708))) 48671 crt.X__builtin_abort(tls) 48672 return i32(0) 48673 }() 48674 }() 48675 func() int32 { 48676 if (int32(_eLock) == i32(1)) || (int32(_pBt.X8) == i32(2)) { 48677 return i32(0) 48678 } 48679 return func() int32 { 48680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59219), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53776))) 48681 crt.X__builtin_abort(tls) 48682 return i32(0) 48683 }() 48684 }() 48685 if (_p.X3) != 0 { 48686 goto _18 48687 } 48688 48689 r0 = i32(0) 48690 return 48691 48692 _18: 48693 if (*XBtree)(unsafe.Pointer(_pBt.X26)) == _p || (int32(_pBt.X10)&i32(32)) == i32(0) { 48694 goto _20 48695 } 48696 48697 r0 = i32(262) 48698 return 48699 48700 _20: 48701 _pIter = (*XBtLock)(unsafe.Pointer(_pBt.X25)) 48702 _21: 48703 if _pIter == nil { 48704 goto _24 48705 } 48706 48707 func() int32 { 48708 if (int32(_pIter.X2) == i32(1)) || (int32(_pIter.X2) == i32(2)) { 48709 return i32(0) 48710 } 48711 return func() int32 { 48712 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59244), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53828))) 48713 crt.X__builtin_abort(tls) 48714 return i32(0) 48715 }() 48716 }() 48717 func() int32 { 48718 if ((int32(_eLock) == i32(1)) || ((*XBtree)(unsafe.Pointer(_pIter.X0)) == _p)) || (int32(_pIter.X2) == i32(1)) { 48719 return i32(0) 48720 } 48721 return func() int32 { 48722 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59245), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53880))) 48723 crt.X__builtin_abort(tls) 48724 return i32(0) 48725 }() 48726 }() 48727 if (*XBtree)(unsafe.Pointer(_pIter.X0)) == _p || (_pIter.X1) != _iTab || int32(_pIter.X2) == int32(_eLock) { 48728 goto _34 48729 } 48730 48731 if int32(_eLock) != i32(2) { 48732 goto _35 48733 } 48734 48735 func() int32 { 48736 if _p == (*XBtree)(unsafe.Pointer(_pBt.X26)) { 48737 return i32(0) 48738 } 48739 return func() int32 { 48740 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59249), unsafe.Pointer((*int8)(unsafe.Pointer(&_querySharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53944))) 48741 crt.X__builtin_abort(tls) 48742 return i32(0) 48743 }() 48744 }() 48745 { 48746 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 48747 *p = uint16(int32(*p) | i32(64)) 48748 sink6908 = *p 48749 } 48750 _35: 48751 r0 = i32(262) 48752 return 48753 48754 _34: 48755 _pIter = (*XBtLock)(unsafe.Pointer(_pIter.X3)) 48756 goto _21 48757 48758 _24: 48759 r0 = i32(0) 48760 return 48761 48762 } 48763 48764 var _querySharedCacheTableLockØ00__func__Ø000 [26]int8 // - 48765 48766 func init() { 48767 crt.Xstrncpy(nil, &_querySharedCacheTableLockØ00__func__Ø000[0], str(53960), 26) 48768 } 48769 48770 func _schemaIsValid(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:115811:1 48771 var _db *Xsqlite3 // sqlite3.c:115812:11 48772 _ = _db 48773 var _iDb int32 // sqlite3.c:115813:7 48774 _ = _iDb 48775 var _rc int32 // sqlite3.c:115814:7 48776 _ = _rc 48777 var _cookie int32 // sqlite3.c:115815:7 48778 _ = _cookie 48779 var _1_openedTransaction int32 // sqlite3.c:115820:9 48780 _ = _1_openedTransaction 48781 var _1_pBt *XBtree // sqlite3.c:115821:11 48782 _ = _1_pBt 48783 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 48784 func() int32 { 48785 if (_pParse.X5) != 0 { 48786 return i32(0) 48787 } 48788 return func() int32 { 48789 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115817), unsafe.Pointer((*int8)(unsafe.Pointer(&_schemaIsValidØ00__func__Ø000))), unsafe.Pointer(str(53988))) 48790 crt.X__builtin_abort(tls) 48791 return i32(0) 48792 }() 48793 }() 48794 func() int32 { 48795 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 48796 return i32(0) 48797 } 48798 return func() int32 { 48799 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115818), unsafe.Pointer((*int8)(unsafe.Pointer(&_schemaIsValidØ00__func__Ø000))), unsafe.Pointer(str(832))) 48800 crt.X__builtin_abort(tls) 48801 return i32(0) 48802 }() 48803 }() 48804 _iDb = i32(0) 48805 _4: 48806 if _iDb >= (_db.X5) { 48807 goto _7 48808 } 48809 48810 _1_openedTransaction = i32(0) 48811 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X1)) 48812 if _1_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 48813 goto _8 48814 } 48815 48816 goto _5 48817 48818 _8: 48819 if _sqlite3BtreeIsInReadTrans(tls, _1_pBt) != 0 { 48820 goto _9 48821 } 48822 48823 _rc = _sqlite3BtreeBeginTrans(tls, _1_pBt, i32(0)) 48824 if _rc != i32(7) && _rc != i32(3082) { 48825 goto _11 48826 } 48827 48828 _sqlite3OomFault(tls, _db) 48829 _11: 48830 if _rc == i32(0) { 48831 goto _12 48832 } 48833 48834 return 48835 48836 _12: 48837 _1_openedTransaction = i32(1) 48838 _9: 48839 _sqlite3BtreeGetMeta(tls, _1_pBt, i32(1), (*uint32)(unsafe.Pointer(&_cookie))) 48840 func() int32 { 48841 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 48842 return i32(0) 48843 } 48844 return func() int32 { 48845 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115840), unsafe.Pointer((*int8)(unsafe.Pointer(&_schemaIsValidØ00__func__Ø000))), unsafe.Pointer(str(54008))) 48846 crt.X__builtin_abort(tls) 48847 return i32(0) 48848 }() 48849 }() 48850 if _cookie == ((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)).X0) { 48851 goto _15 48852 } 48853 48854 _sqlite3ResetOneSchema(tls, _db, _iDb) 48855 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(17) 48856 _15: 48857 if _1_openedTransaction == 0 { 48858 goto _16 48859 } 48860 48861 _sqlite3BtreeCommit(tls, _1_pBt) 48862 _16: 48863 _5: 48864 _iDb += 1 48865 goto _4 48866 48867 _7: 48868 return 48869 48870 } 48871 48872 var _schemaIsValidØ00__func__Ø000 [14]int8 // - 48873 48874 func init() { 48875 crt.Xstrncpy(nil, &_schemaIsValidØ00__func__Ø000[0], str(54044), 14) 48876 } 48877 48878 func _sqlite3BtreeIsInReadTrans(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68590:1 48879 func() int32 { 48880 if _p != nil { 48881 return i32(0) 48882 } 48883 return func() int32 { 48884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68591), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIsInReadTransØ00__func__Ø000))), unsafe.Pointer(str(3064))) 48885 crt.X__builtin_abort(tls) 48886 return i32(0) 48887 }() 48888 }() 48889 func() int32 { 48890 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 48891 return i32(0) 48892 } 48893 return func() int32 { 48894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68592), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIsInReadTransØ00__func__Ø000))), unsafe.Pointer(str(8940))) 48895 crt.X__builtin_abort(tls) 48896 return i32(0) 48897 }() 48898 }() 48899 r0 = bool2int(int32(_p.X2) != i32(0)) 48900 return 48901 48902 } 48903 48904 var _sqlite3BtreeIsInReadTransØ00__func__Ø000 [26]int8 // - 48905 48906 func init() { 48907 crt.Xstrncpy(nil, &_sqlite3BtreeIsInReadTransØ00__func__Ø000[0], str(54060), 26) 48908 } 48909 48910 func _sqlite3BtreeBeginTrans(tls *crt.TLS, _p *XBtree, _wrflag int32) (r0 int32) { // sqlite3.c:62165:1 48911 var _pBt *XBtShared // sqlite3.c:62166:12 48912 _ = _pBt 48913 var _rc int32 // sqlite3.c:62167:7 48914 _ = _rc 48915 var _3_pBlock *Xsqlite3 // sqlite3.c:62189:13 48916 _ = _3_pBlock 48917 var _5_pIter *XBtLock // sqlite3.c:62199:14 48918 _ = _5_pIter 48919 var _19_pPage1 *XMemPage // sqlite3.c:62267:15 48920 _ = _19_pPage1 48921 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 48922 _rc = i32(0) 48923 _sqlite3BtreeEnter(tls, _p) 48924 func() int32 { 48925 if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { 48926 return i32(0) 48927 } 48928 return func() int32 { 48929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62170), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(10068))) 48930 crt.X__builtin_abort(tls) 48931 return i32(0) 48932 }() 48933 }() 48934 func() int32 { 48935 if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { 48936 return i32(0) 48937 } 48938 return func() int32 { 48939 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62170), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(10132))) 48940 crt.X__builtin_abort(tls) 48941 return i32(0) 48942 }() 48943 }() 48944 if int32(_p.X2) != i32(2) && (int32(_p.X2) != i32(1) || _wrflag != 0) { 48945 goto _7 48946 } 48947 48948 goto _trans_begun 48949 48950 _7: 48951 func() int32 { 48952 if (int32(_pBt.X8) == i32(2)) || (int32(_pBt.X7) == i32(0)) { 48953 return i32(0) 48954 } 48955 return func() int32 { 48956 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62179), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(54088))) 48957 crt.X__builtin_abort(tls) 48958 return i32(0) 48959 }() 48960 }() 48961 if (int32(_pBt.X10)&i32(1)) == i32(0) || _wrflag == 0 { 48962 goto _12 48963 } 48964 48965 _rc = i32(8) 48966 goto _trans_begun 48967 48968 _12: 48969 _3_pBlock = nil 48970 if (_wrflag == 0 || int32(_pBt.X8) != i32(2)) && (int32(_pBt.X10)&i32(64)) == i32(0) { 48971 goto _15 48972 } 48973 48974 _3_pBlock = (*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pBt.X26)).X0)) 48975 goto _16 48976 48977 _15: 48978 if _wrflag <= i32(1) { 48979 goto _17 48980 } 48981 48982 _5_pIter = (*XBtLock)(unsafe.Pointer(_pBt.X25)) 48983 _18: 48984 if _5_pIter == nil { 48985 goto _21 48986 } 48987 48988 if (*XBtree)(unsafe.Pointer(_5_pIter.X0)) == _p { 48989 goto _22 48990 } 48991 48992 _3_pBlock = (*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_5_pIter.X0)).X0)) 48993 goto _21 48994 48995 _22: 48996 _5_pIter = (*XBtLock)(unsafe.Pointer(_5_pIter.X3)) 48997 goto _18 48998 48999 _21: 49000 _17: 49001 _16: 49002 if _3_pBlock == nil { 49003 goto _23 49004 } 49005 49006 _rc = i32(262) 49007 goto _trans_begun 49008 49009 _23: 49010 _rc = _querySharedCacheTableLock(tls, _p, uint32(i32(1)), uint8(i32(1))) 49011 if i32(0) == _rc { 49012 goto _24 49013 } 49014 49015 goto _trans_begun 49016 49017 _24: 49018 { 49019 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 49020 *p = uint16(int32(*p) & i32(-9)) 49021 sink6908 = *p 49022 } 49023 if (_pBt.X18) != uint32(i32(0)) { 49024 goto _25 49025 } 49026 49027 { 49028 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 49029 *p = uint16(int32(*p) | i32(8)) 49030 sink6908 = *p 49031 } 49032 _25: 49033 _26: 49034 _27: 49035 if (*XMemPage)(unsafe.Pointer(_pBt.X3)) != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) != store961(&_rc, _lockBtree(tls, _pBt)) { 49036 goto _28 49037 } 49038 49039 goto _27 49040 49041 _28: 49042 if _rc != i32(0) || _wrflag == 0 { 49043 goto _31 49044 } 49045 49046 if (int32(_pBt.X10) & i32(1)) == i32(0) { 49047 goto _32 49048 } 49049 49050 _rc = i32(8) 49051 goto _33 49052 49053 _32: 49054 _rc = _sqlite3PagerBegin(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), bool2int(_wrflag > i32(1)), _sqlite3TempInMemory(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)))) 49055 if _rc != i32(0) { 49056 goto _34 49057 } 49058 49059 _rc = _newDatabase(tls, _pBt) 49060 _34: 49061 _33: 49062 _31: 49063 if _rc == i32(0) { 49064 goto _35 49065 } 49066 49067 _unlockBtreeIfUnused(tls, _pBt) 49068 _35: 49069 if (((_rc & i32(255)) == i32(5)) && (int32(_pBt.X8) == i32(0))) && _btreeInvokeBusyHandler(tls, (unsafe.Pointer)(_pBt)) != 0 { 49070 goto _26 49071 } 49072 49073 if _rc != i32(0) { 49074 goto _38 49075 } 49076 49077 if int32(_p.X2) != i32(0) { 49078 goto _39 49079 } 49080 49081 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(40 /* X17 */))) += 1 49082 if (_p.X3) == 0 { 49083 goto _40 49084 } 49085 49086 func() int32 { 49087 if ((*XBtree)(unsafe.Pointer((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X11 */))).X0)) == _p) && (((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X11 */))).X1) == uint32(i32(1))) { 49088 return i32(0) 49089 } 49090 return func() int32 { 49091 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62255), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(54156))) 49092 crt.X__builtin_abort(tls) 49093 return i32(0) 49094 }() 49095 }() 49096 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X11 */))))) + uintptr(8 /* X2 */))) = uint8(i32(1)) 49097 *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X11 */))))) + uintptr(12 /* X3 */))))) = (*XBtLock)(unsafe.Pointer(_pBt.X25)) 49098 *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(72 /* X25 */))))) = (*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X11 */))) 49099 _40: 49100 _39: 49101 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint8(func() int32 { 49102 if _wrflag != 0 { 49103 return i32(2) 49104 } 49105 return i32(1) 49106 }()) 49107 if int32(_p.X2) <= int32(_pBt.X8) { 49108 goto _46 49109 } 49110 49111 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(20 /* X8 */))) = _p.X2 49112 _46: 49113 if _wrflag == 0 { 49114 goto _47 49115 } 49116 49117 _19_pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) 49118 func() int32 { 49119 if (*XBtree)(unsafe.Pointer(_pBt.X26)) == nil { 49120 return i32(0) 49121 } 49122 return func() int32 { 49123 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62269), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(54196))) 49124 crt.X__builtin_abort(tls) 49125 return i32(0) 49126 }() 49127 }() 49128 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(76 /* X26 */))))) = _p 49129 { 49130 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 49131 *p = uint16(int32(*p) & i32(-33)) 49132 sink6908 = *p 49133 } 49134 if _wrflag <= i32(1) { 49135 goto _50 49136 } 49137 49138 { 49139 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 49140 *p = uint16(int32(*p) | i32(32)) 49141 sink6908 = *p 49142 } 49143 _50: 49144 if (_pBt.X18) == _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pPage1.X19))+1*uintptr(i32(28))))) { 49145 goto _51 49146 } 49147 49148 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_19_pPage1.X23))) 49149 if _rc != i32(0) { 49150 goto _52 49151 } 49152 49153 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pPage1.X19))+1*uintptr(i32(28)))), _pBt.X18) 49154 _52: 49155 _51: 49156 _47: 49157 _38: 49158 _trans_begun: 49159 if _rc != i32(0) || _wrflag == 0 { 49160 goto _54 49161 } 49162 49163 _rc = _sqlite3PagerOpenSavepoint(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(_p.X0)).X75) 49164 _54: 49165 func() int32 { 49166 if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { 49167 return i32(0) 49168 } 49169 return func() int32 { 49170 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62300), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(10068))) 49171 crt.X__builtin_abort(tls) 49172 return i32(0) 49173 }() 49174 }() 49175 func() int32 { 49176 if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { 49177 return i32(0) 49178 } 49179 return func() int32 { 49180 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62300), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginTransØ00__func__Ø000))), unsafe.Pointer(str(10132))) 49181 crt.X__builtin_abort(tls) 49182 return i32(0) 49183 }() 49184 }() 49185 _sqlite3BtreeLeave(tls, _p) 49186 r0 = _rc 49187 return 49188 49189 } 49190 49191 var _sqlite3BtreeBeginTransØ00__func__Ø000 [23]int8 // - 49192 49193 func init() { 49194 crt.Xstrncpy(nil, &_sqlite3BtreeBeginTransØ00__func__Ø000[0], str(54212), 23) 49195 } 49196 49197 func _lockBtree(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:61857:1 49198 var _rc int32 // sqlite3.c:61858:7 49199 _ = _rc 49200 var _pPage1 *XMemPage // sqlite3.c:61859:11 49201 _ = _pPage1 49202 var _nPage int32 // sqlite3.c:61860:7 49203 _ = _nPage 49204 var _nPageFile int32 // sqlite3.c:61861:7 49205 _ = _nPageFile 49206 var _nPageHeader int32 // sqlite3.c:61862:7 49207 _ = _nPageHeader 49208 var _2_pageSize uint32 // sqlite3.c:61880:9 49209 _ = _2_pageSize 49210 var _2_usableSize uint32 // sqlite3.c:61881:9 49211 _ = _2_usableSize 49212 var _2_page1 *uint8 // sqlite3.c:61882:8 49213 _ = _2_page1 49214 var _6_isOpen int32 // sqlite3.c:61915:11 49215 _ = _6_isOpen 49216 _nPageFile = i32(0) 49217 func() int32 { 49218 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 49219 return i32(0) 49220 } 49221 return func() int32 { 49222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61864), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeØ00__func__Ø000))), unsafe.Pointer(str(9252))) 49223 crt.X__builtin_abort(tls) 49224 return i32(0) 49225 }() 49226 }() 49227 func() int32 { 49228 if (*XMemPage)(unsafe.Pointer(_pBt.X3)) == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 49229 return i32(0) 49230 } 49231 return func() int32 { 49232 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61865), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeØ00__func__Ø000))), unsafe.Pointer(str(54236))) 49233 crt.X__builtin_abort(tls) 49234 return i32(0) 49235 }() 49236 }() 49237 _rc = _sqlite3PagerSharedLock(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) 49238 if _rc == i32(0) { 49239 goto _4 49240 } 49241 49242 r0 = _rc 49243 return 49244 49245 _4: 49246 _rc = _btreeGetPage(tls, _pBt, uint32(i32(1)), &_pPage1, i32(0)) 49247 if _rc == i32(0) { 49248 goto _5 49249 } 49250 49251 r0 = _rc 49252 return 49253 49254 _5: 49255 _nPage = store961(&_nPageHeader, int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(28))))))+uintptr(unsafe.Pointer(_pPage1.X19))))))) 49256 _sqlite3PagerPagecount(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), &_nPageFile) 49257 if _nPage != i32(0) && crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(24))))))+uintptr(unsafe.Pointer(_pPage1.X19))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(92))))))+uintptr(unsafe.Pointer(_pPage1.X19))))), uint32(i32(4))) == i32(0) { 49258 goto _7 49259 } 49260 49261 _nPage = _nPageFile 49262 _7: 49263 if _nPage <= i32(0) { 49264 goto _8 49265 } 49266 49267 _2_page1 = _pPage1.X19 49268 _rc = i32(26) 49269 if crt.Xmemcmp(tls, (unsafe.Pointer)(_2_page1), (unsafe.Pointer)(&_zMagicHeader), uint32(i32(16))) == i32(0) { 49270 goto _9 49271 } 49272 49273 goto _page1_init_failed 49274 49275 _9: 49276 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(18))))) <= i32(2) { 49277 goto _10 49278 } 49279 49280 { 49281 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 49282 *p = uint16(int32(*p) | i32(1)) 49283 sink6908 = *p 49284 } 49285 _10: 49286 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(19))))) <= i32(2) { 49287 goto _11 49288 } 49289 49290 goto _page1_init_failed 49291 49292 _11: 49293 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(19))))) != i32(2) || (int32(_pBt.X10)&i32(16)) != i32(0) { 49294 goto _13 49295 } 49296 49297 _6_isOpen = i32(0) 49298 _rc = _sqlite3PagerOpenWal(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), &_6_isOpen) 49299 if _rc == i32(0) { 49300 goto _14 49301 } 49302 49303 goto _page1_init_failed 49304 49305 _14: 49306 if _6_isOpen != i32(0) { 49307 goto _16 49308 } 49309 49310 _releasePage(tls, _pPage1) 49311 r0 = i32(0) 49312 return 49313 49314 _16: 49315 _rc = i32(26) 49316 goto _17 49317 49318 _13: 49319 _17: 49320 if crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1))+1*uintptr(i32(21))))), (unsafe.Pointer)(str(54252)), uint32(i32(3))) == i32(0) { 49321 goto _18 49322 } 49323 49324 goto _page1_init_failed 49325 49326 _18: 49327 _2_pageSize = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(16))))) << uint(i32(8))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(17))))) << uint(i32(16)))) 49328 if ((_2_pageSize-uint32(i32(1)))&_2_pageSize) == uint32(i32(0)) && _2_pageSize <= uint32(i32(65536)) && _2_pageSize > uint32(i32(256)) { 49329 goto _21 49330 } 49331 49332 goto _page1_init_failed 49333 49334 _21: 49335 func() int32 { 49336 if (_2_pageSize & uint32(i32(7))) == uint32(i32(0)) { 49337 return i32(0) 49338 } 49339 return func() int32 { 49340 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61953), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeØ00__func__Ø000))), unsafe.Pointer(str(54256))) 49341 crt.X__builtin_abort(tls) 49342 return i32(0) 49343 }() 49344 }() 49345 _2_usableSize = _2_pageSize - uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1)) + 1*uintptr(i32(20))))) 49346 if _2_pageSize == (_pBt.X15) { 49347 goto _24 49348 } 49349 49350 _releasePage(tls, _pPage1) 49351 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X16 */))) = _2_usableSize 49352 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(32 /* X15 */))) = _2_pageSize 49353 _freeTempSpace(tls, _pBt) 49354 _rc = _sqlite3PagerSetPagesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(32 /* X15 */))), int32(_2_pageSize-_2_usableSize)) 49355 r0 = _rc 49356 return 49357 49358 _24: 49359 if (((*Xsqlite3)(unsafe.Pointer(_pBt.X1)).X6)&i32(65536)) != i32(0) || _nPage <= _nPageFile { 49360 goto _26 49361 } 49362 49363 _rc = _sqlite3CorruptError(tls, i32(61978)) 49364 goto _page1_init_failed 49365 49366 _26: 49367 if _2_usableSize >= uint32(i32(480)) { 49368 goto _27 49369 } 49370 49371 goto _page1_init_failed 49372 49373 _27: 49374 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(32 /* X15 */))) = _2_pageSize 49375 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X16 */))) = _2_usableSize 49376 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(17 /* X5 */))) = uint8(func() int32 { 49377 if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1))+1*uintptr(i32(52))))) != 0 { 49378 return i32(1) 49379 } 49380 return i32(0) 49381 }()) 49382 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(18 /* X6 */))) = uint8(func() int32 { 49383 if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_page1))+1*uintptr(i32(64))))) != 0 { 49384 return i32(1) 49385 } 49386 return i32(0) 49387 }()) 49388 _8: 49389 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(24 /* X11 */))) = uint16(((((_pBt.X16) - uint32(i32(12))) * uint32(i32(64))) / uint32(i32(255))) - uint32(i32(23))) 49390 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(26 /* X12 */))) = uint16(((((_pBt.X16) - uint32(i32(12))) * uint32(i32(32))) / uint32(i32(255))) - uint32(i32(23))) 49391 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(28 /* X13 */))) = uint16((_pBt.X16) - uint32(i32(35))) 49392 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(30 /* X14 */))) = uint16(((((_pBt.X16) - uint32(i32(12))) * uint32(i32(32))) / uint32(i32(255))) - uint32(i32(23))) 49393 if int32(_pBt.X11) <= i32(127) { 49394 goto _32 49395 } 49396 49397 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(21 /* X9 */))) = uint8(i32(127)) 49398 goto _33 49399 49400 _32: 49401 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(21 /* X9 */))) = uint8(_pBt.X11) 49402 _33: 49403 func() int32 { 49404 if (int32(_pBt.X13) + i32(23)) <= int32((_pBt.X15)-uint32(i32(8))) { 49405 return i32(0) 49406 } 49407 return func() int32 { 49408 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62017), unsafe.Pointer((*int8)(unsafe.Pointer(&_lockBtreeØ00__func__Ø000))), unsafe.Pointer(str(54276))) 49409 crt.X__builtin_abort(tls) 49410 return i32(0) 49411 }() 49412 }() 49413 *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(12 /* X3 */))))) = _pPage1 49414 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) = uint32(_nPage) 49415 r0 = i32(0) 49416 return 49417 49418 _page1_init_failed: 49419 _releasePage(tls, _pPage1) 49420 *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(12 /* X3 */))))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 49421 r0 = _rc 49422 return 49423 49424 } 49425 49426 var _lockBtreeØ00__func__Ø000 [10]int8 // - 49427 49428 func init() { 49429 crt.Xstrncpy(nil, &_lockBtreeØ00__func__Ø000[0], str(54316), 10) 49430 } 49431 49432 func _sqlite3PagerSharedLock(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51954:1 49433 var _rc int32 // sqlite3.c:51955:7 49434 _ = _rc 49435 var _1_bHotJournal int32 // sqlite3.c:51967:9 49436 _ = _1_bHotJournal 49437 var _8_pVfs *Xsqlite3_vfs // sqlite3.c:52027:21 49438 _ = _8_pVfs 49439 var _8_bExists int32 // sqlite3.c:52028:13 49440 _ = _8_bExists 49441 var _9_fout int32 // sqlite3.c:52032:15 49442 _ = _9_fout 49443 var _9_f int32 // sqlite3.c:52033:15 49444 _ = _9_f 49445 var _15_nPage uint32 // sqlite3.c:52107:12 49446 _ = _15_nPage 49447 var _15_dbFileVers [16]int8 // sqlite3.c:52108:12 49448 _ = _15_dbFileVers 49449 _rc = i32(0) 49450 func() int32 { 49451 if _sqlite3PcacheRefCount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) == i32(0) { 49452 return i32(0) 49453 } 49454 return func() int32 { 49455 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51961), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54328))) 49456 crt.X__builtin_abort(tls) 49457 return i32(0) 49458 }() 49459 }() 49460 func() int32 { 49461 if _assert_pager_state(tls, _pPager) != 0 { 49462 return i32(0) 49463 } 49464 return func() int32 { 49465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51962), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(11184))) 49466 crt.X__builtin_abort(tls) 49467 return i32(0) 49468 }() 49469 }() 49470 func() int32 { 49471 if (int32(_pPager.X14) == i32(0)) || (int32(_pPager.X14) == i32(1)) { 49472 return i32(0) 49473 } 49474 return func() int32 { 49475 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51963), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54372))) 49476 crt.X__builtin_abort(tls) 49477 return i32(0) 49478 }() 49479 }() 49480 func() int32 { 49481 if (_pPager.X26) == i32(0) { 49482 return i32(0) 49483 } 49484 return func() int32 { 49485 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51964), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(11944))) 49486 crt.X__builtin_abort(tls) 49487 return i32(0) 49488 }() 49489 }() 49490 if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X14) != i32(0) { 49491 goto _10 49492 } 49493 49494 _1_bHotJournal = i32(1) 49495 func() int32 { 49496 if (_pPager.X13) == 0 { 49497 return i32(0) 49498 } 49499 return func() int32 { 49500 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51969), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(11936))) 49501 crt.X__builtin_abort(tls) 49502 return i32(0) 49503 }() 49504 }() 49505 func() int32 { 49506 if (int32(_pPager.X10) == i32(0)) || (int32(_pPager.X15) == i32(4)) { 49507 return i32(0) 49508 } 49509 return func() int32 { 49510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51970), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54432))) 49511 crt.X__builtin_abort(tls) 49512 return i32(0) 49513 }() 49514 }() 49515 _rc = _pager_wait_on_lock(tls, _pPager, i32(1)) 49516 if _rc == i32(0) { 49517 goto _16 49518 } 49519 49520 func() int32 { 49521 if (int32(_pPager.X15) == i32(0)) || (int32(_pPager.X15) == i32(5)) { 49522 return i32(0) 49523 } 49524 return func() int32 { 49525 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51974), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54488))) 49526 crt.X__builtin_abort(tls) 49527 return i32(0) 49528 }() 49529 }() 49530 goto _failed 49531 49532 _16: 49533 if int32(_pPager.X15) > i32(1) { 49534 goto _20 49535 } 49536 49537 _rc = _hasHotJournal(tls, _pPager, &_1_bHotJournal) 49538 _20: 49539 if _rc == i32(0) { 49540 goto _21 49541 } 49542 49543 goto _failed 49544 49545 _21: 49546 if _1_bHotJournal == 0 { 49547 goto _22 49548 } 49549 49550 if (_pPager.X12) == 0 { 49551 goto _23 49552 } 49553 49554 _rc = i32(776) 49555 goto _failed 49556 49557 _23: 49558 _rc = _pagerLockDb(tls, _pPager, i32(4)) 49559 if _rc == i32(0) { 49560 goto _24 49561 } 49562 49563 goto _failed 49564 49565 _24: 49566 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 49567 goto _25 49568 } 49569 49570 _8_pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) 49571 _rc = _sqlite3OsAccess(tls, _8_pVfs, _pPager.X52, i32(0), &_8_bExists) 49572 if _rc != i32(0) || _8_bExists == 0 { 49573 goto _27 49574 } 49575 49576 _9_fout = i32(0) 49577 _9_f = i32(2050) 49578 func() int32 { 49579 if (_pPager.X10) == 0 { 49580 return i32(0) 49581 } 49582 return func() int32 { 49583 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52034), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54544))) 49584 crt.X__builtin_abort(tls) 49585 return i32(0) 49586 }() 49587 }() 49588 _rc = _sqlite3OsOpen(tls, _8_pVfs, _pPager.X52, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _9_f, &_9_fout) 49589 func() int32 { 49590 if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 49591 return i32(0) 49592 } 49593 return func() int32 { 49594 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52036), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(13780))) 49595 crt.X__builtin_abort(tls) 49596 return i32(0) 49597 }() 49598 }() 49599 if _rc != i32(0) || (_9_fout&i32(1)) == 0 { 49600 goto _34 49601 } 49602 49603 _rc = _sqlite3CantopenError(tls, i32(52038)) 49604 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 49605 _34: 49606 _27: 49607 _25: 49608 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 49609 goto _35 49610 } 49611 49612 func() int32 { 49613 if _rc == i32(0) { 49614 return i32(0) 49615 } 49616 return func() int32 { 49617 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52053), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(15360))) 49618 crt.X__builtin_abort(tls) 49619 return i32(0) 49620 }() 49621 }() 49622 _rc = _pagerSyncHotJournal(tls, _pPager) 49623 if _rc != i32(0) { 49624 goto _38 49625 } 49626 49627 _rc = _pager_playback(tls, _pPager, bool2int((_pPager.X10) == 0)) 49628 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(0)) 49629 _38: 49630 goto _39 49631 49632 _35: 49633 if (_pPager.X1) != 0 { 49634 goto _40 49635 } 49636 49637 _pagerUnlockDb(tls, _pPager, i32(1)) 49638 _40: 49639 _39: 49640 if _rc == i32(0) { 49641 goto _41 49642 } 49643 49644 _pager_error(tls, _pPager, _rc) 49645 goto _failed 49646 49647 _41: 49648 func() int32 { 49649 if int32(_pPager.X14) == i32(0) { 49650 return i32(0) 49651 } 49652 return func() int32 { 49653 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52084), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54564))) 49654 crt.X__builtin_abort(tls) 49655 return i32(0) 49656 }() 49657 }() 49658 func() int32 { 49659 if (int32(_pPager.X15) == i32(1)) || (((_pPager.X1) != 0) && (int32(_pPager.X15) > i32(1))) { 49660 return i32(0) 49661 } 49662 return func() int32 { 49663 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52085), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54592))) 49664 crt.X__builtin_abort(tls) 49665 return i32(0) 49666 }() 49667 }() 49668 _22: 49669 if (_pPager.X10) != 0 || (_pPager.X21) == 0 { 49670 goto _49 49671 } 49672 49673 _15_nPage = u32(0) 49674 _rc = _pagerPagecount(tls, _pPager, &_15_nPage) 49675 if _rc == 0 { 49676 goto _50 49677 } 49678 49679 goto _failed 49680 49681 _50: 49682 if _15_nPage <= uint32(i32(0)) { 49683 goto _51 49684 } 49685 49686 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(&_15_dbFileVers), int32(u32(16)), int64(i32(24))) 49687 if _rc == i32(0) || _rc == i32(522) { 49688 goto _53 49689 } 49690 49691 goto _failed 49692 49693 _53: 49694 goto _54 49695 49696 _51: 49697 crt.Xmemset(tls, (unsafe.Pointer)(&_15_dbFileVers), i32(0), u32(16)) 49698 _54: 49699 if crt.Xmemcmp(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(108 /* X40 */)))), (unsafe.Pointer)(&_15_dbFileVers), u32(16)) == i32(0) { 49700 goto _55 49701 } 49702 49703 _pager_reset(tls, _pPager) 49704 if (_pPager.X20) == 0 { 49705 goto _56 49706 } 49707 49708 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) 49709 _56: 49710 _55: 49711 _49: 49712 _rc = _pagerOpenWalIfPresent(tls, _pPager) 49713 func() int32 { 49714 if ((*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0))))) || (_rc == i32(0)) { 49715 return i32(0) 49716 } 49717 return func() int32 { 49718 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52143), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54680))) 49719 crt.X__builtin_abort(tls) 49720 return i32(0) 49721 }() 49722 }() 49723 _10: 49724 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 49725 goto _60 49726 } 49727 49728 func() int32 { 49729 if _rc == i32(0) { 49730 return i32(0) 49731 } 49732 return func() int32 { 49733 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52148), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(15360))) 49734 crt.X__builtin_abort(tls) 49735 return i32(0) 49736 }() 49737 }() 49738 _rc = _pagerBeginReadTransaction(tls, _pPager) 49739 _60: 49740 if int32(_pPager.X10) != i32(0) || int32(_pPager.X14) != i32(0) || _rc != i32(0) { 49741 goto _65 49742 } 49743 49744 _rc = _pagerPagecount(tls, _pPager, (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(28 /* X22 */)))) 49745 _65: 49746 _failed: 49747 if _rc == i32(0) { 49748 goto _66 49749 } 49750 49751 func() int32 { 49752 if (_pPager.X13) == 0 { 49753 return i32(0) 49754 } 49755 return func() int32 { 49756 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52158), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(11936))) 49757 crt.X__builtin_abort(tls) 49758 return i32(0) 49759 }() 49760 }() 49761 _pager_unlock(tls, _pPager) 49762 func() int32 { 49763 if int32(_pPager.X14) == i32(0) { 49764 return i32(0) 49765 } 49766 return func() int32 { 49767 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52160), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSharedLockØ00__func__Ø000))), unsafe.Pointer(str(54564))) 49768 crt.X__builtin_abort(tls) 49769 return i32(0) 49770 }() 49771 }() 49772 goto _71 49773 49774 _66: 49775 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(1)) 49776 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(24 /* X21 */))) = uint8(i32(1)) 49777 _71: 49778 r0 = _rc 49779 return 49780 49781 } 49782 49783 var _sqlite3PagerSharedLockØ00__func__Ø000 [23]int8 // - 49784 49785 func init() { 49786 crt.Xstrncpy(nil, &_sqlite3PagerSharedLockØ00__func__Ø000[0], str(54716), 23) 49787 } 49788 49789 func _pager_wait_on_lock(tls *crt.TLS, _pPager *XPager, _locktype int32) (r0 int32) { // sqlite3.c:50740:1 49790 var _rc int32 // sqlite3.c:50741:7 49791 _ = _rc 49792 func() int32 { 49793 if ((int32(_pPager.X15) >= _locktype) || ((int32(_pPager.X15) == i32(0)) && (_locktype == i32(1)))) || ((int32(_pPager.X15) == i32(2)) && (_locktype == i32(4))) { 49794 return i32(0) 49795 } 49796 return func() int32 { 49797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50748), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_wait_on_lockØ00__func__Ø000))), unsafe.Pointer(str(54740))) 49798 crt.X__builtin_abort(tls) 49799 return i32(0) 49800 }() 49801 }() 49802 _6: 49803 _rc = _pagerLockDb(tls, _pPager, _locktype) 49804 if (_rc == i32(5)) && (_pPager.X53)(tls, _pPager.X54) != 0 { 49805 goto _6 49806 } 49807 49808 r0 = _rc 49809 return 49810 49811 } 49812 49813 var _pager_wait_on_lockØ00__func__Ø000 [19]int8 // - 49814 49815 func init() { 49816 crt.Xstrncpy(nil, &_pager_wait_on_lockØ00__func__Ø000[0], str(54884), 19) 49817 } 49818 49819 func _pagerLockDb(tls *crt.TLS, _pPager *XPager, _eLock int32) (r0 int32) { // sqlite3.c:48029:1 49820 var _rc int32 // sqlite3.c:48030:7 49821 _ = _rc 49822 _rc = i32(0) 49823 func() int32 { 49824 if ((_eLock == i32(1)) || (_eLock == i32(2))) || (_eLock == i32(4)) { 49825 return i32(0) 49826 } 49827 return func() int32 { 49828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48032), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerLockDbØ00__func__Ø000))), unsafe.Pointer(str(54904))) 49829 crt.X__builtin_abort(tls) 49830 return i32(0) 49831 }() 49832 }() 49833 if int32(_pPager.X15) >= _eLock && int32(_pPager.X15) != i32(5) { 49834 goto _5 49835 } 49836 49837 _rc = func() int32 { 49838 if (_pPager.X11) != 0 { 49839 return i32(0) 49840 } 49841 return _sqlite3OsLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _eLock) 49842 }() 49843 if _rc != i32(0) || int32(_pPager.X15) == i32(5) && _eLock != i32(4) { 49844 goto _10 49845 } 49846 49847 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(18 /* X15 */))) = uint8(_eLock) 49848 _10: 49849 _5: 49850 r0 = _rc 49851 return 49852 49853 } 49854 49855 var _pagerLockDbØ00__func__Ø000 [12]int8 // - 49856 49857 func init() { 49858 crt.Xstrncpy(nil, &_pagerLockDbØ00__func__Ø000[0], str(54972), 12) 49859 } 49860 49861 func _hasHotJournal(tls *crt.TLS, _pPager *XPager, _pExists *int32) (r0 int32) { // sqlite3.c:51834:1 49862 var _pVfs *Xsqlite3_vfs // sqlite3.c:51835:15 49863 _ = _pVfs 49864 var _rc int32 // sqlite3.c:51836:7 49865 _ = _rc 49866 var _exists int32 // sqlite3.c:51837:7 49867 _ = _exists 49868 var _jrnlOpen int32 // sqlite3.c:51838:7 49869 _ = _jrnlOpen 49870 var _2_locked int32 // sqlite3.c:51853:9 49871 _ = _2_locked 49872 var _3_nPage uint32 // sqlite3.c:51865:12 49873 _ = _3_nPage 49874 var _8_f int32 // sqlite3.c:51893:17 49875 _ = _8_f 49876 var _9_first uint8 // sqlite3.c:51897:16 49877 _ = _9_first 49878 _pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) 49879 _rc = i32(0) 49880 _exists = i32(1) 49881 _jrnlOpen = bool2int((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) 49882 func() int32 { 49883 if (_pPager.X3) != 0 { 49884 return i32(0) 49885 } 49886 return func() int32 { 49887 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51840), unsafe.Pointer((*int8)(unsafe.Pointer(&_hasHotJournalØ00__func__Ø000))), unsafe.Pointer(str(12608))) 49888 crt.X__builtin_abort(tls) 49889 return i32(0) 49890 }() 49891 }() 49892 func() int32 { 49893 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 49894 return i32(0) 49895 } 49896 return func() int32 { 49897 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51841), unsafe.Pointer((*int8)(unsafe.Pointer(&_hasHotJournalØ00__func__Ø000))), unsafe.Pointer(str(16944))) 49898 crt.X__builtin_abort(tls) 49899 return i32(0) 49900 }() 49901 }() 49902 func() int32 { 49903 if int32(_pPager.X14) == i32(0) { 49904 return i32(0) 49905 } 49906 return func() int32 { 49907 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51842), unsafe.Pointer((*int8)(unsafe.Pointer(&_hasHotJournalØ00__func__Ø000))), unsafe.Pointer(str(54564))) 49908 crt.X__builtin_abort(tls) 49909 return i32(0) 49910 }() 49911 }() 49912 func() int32 { 49913 if (_jrnlOpen == i32(0)) || (_sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)))&i32(2048)) != 0 { 49914 return i32(0) 49915 } 49916 return func() int32 { 49917 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51844), unsafe.Pointer((*int8)(unsafe.Pointer(&_hasHotJournalØ00__func__Ø000))), unsafe.Pointer(str(54984))) 49918 crt.X__builtin_abort(tls) 49919 return i32(0) 49920 }() 49921 }() 49922 *_pExists = i32(0) 49923 if _jrnlOpen != 0 { 49924 goto _9 49925 } 49926 49927 _rc = _sqlite3OsAccess(tls, _pVfs, _pPager.X52, i32(0), &_exists) 49928 _9: 49929 if _rc != i32(0) || _exists == 0 { 49930 goto _11 49931 } 49932 49933 _2_locked = i32(0) 49934 _rc = _sqlite3OsCheckReservedLock(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_2_locked) 49935 if _rc != i32(0) || _2_locked != 0 { 49936 goto _13 49937 } 49938 49939 func() int32 { 49940 if int32(_pPager.X10) == i32(0) { 49941 return i32(0) 49942 } 49943 return func() int32 { 49944 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51867), unsafe.Pointer((*int8)(unsafe.Pointer(&_hasHotJournalØ00__func__Ø000))), unsafe.Pointer(str(11212))) 49945 crt.X__builtin_abort(tls) 49946 return i32(0) 49947 }() 49948 }() 49949 _rc = _pagerPagecount(tls, _pPager, &_3_nPage) 49950 if _rc != i32(0) { 49951 goto _16 49952 } 49953 49954 if _3_nPage != uint32(i32(0)) || _jrnlOpen != 0 { 49955 goto _18 49956 } 49957 49958 _sqlite3BeginBenignMalloc(tls) 49959 if _pagerLockDb(tls, _pPager, i32(2)) != i32(0) { 49960 goto _19 49961 } 49962 49963 _sqlite3OsDelete(tls, _pVfs, _pPager.X52, i32(0)) 49964 if (_pPager.X1) != 0 { 49965 goto _20 49966 } 49967 49968 _pagerUnlockDb(tls, _pPager, i32(1)) 49969 _20: 49970 _19: 49971 _sqlite3EndBenignMalloc(tls) 49972 goto _21 49973 49974 _18: 49975 if _jrnlOpen != 0 { 49976 goto _22 49977 } 49978 49979 _8_f = i32(2049) 49980 _rc = _sqlite3OsOpen(tls, _pVfs, _pPager.X52, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _8_f, &_8_f) 49981 _22: 49982 if _rc != i32(0) { 49983 goto _23 49984 } 49985 49986 _9_first = u8(0) 49987 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_9_first), i32(1), int64(i32(0))) 49988 if _rc != i32(522) { 49989 goto _24 49990 } 49991 49992 _rc = i32(0) 49993 _24: 49994 if _jrnlOpen != 0 { 49995 goto _25 49996 } 49997 49998 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 49999 _25: 50000 *_pExists = bool2int(int32(_9_first) != i32(0)) 50001 goto _26 50002 50003 _23: 50004 if _rc != i32(14) { 50005 goto _27 50006 } 50007 50008 *_pExists = i32(1) 50009 _rc = i32(0) 50010 _27: 50011 _26: 50012 _21: 50013 _16: 50014 _13: 50015 _11: 50016 r0 = _rc 50017 return 50018 50019 } 50020 50021 var _hasHotJournalØ00__func__Ø000 [14]int8 // - 50022 50023 func init() { 50024 crt.Xstrncpy(nil, &_hasHotJournalØ00__func__Ø000[0], str(55084), 14) 50025 } 50026 50027 func _sqlite3OsCheckReservedLock(tls *crt.TLS, _id *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:20165:1 50028 r0 = (*(*func(*crt.TLS, *Xsqlite3_file, *int32) int32)(unsafe.Pointer(&struct { 50029 f func(*crt.TLS, unsafe.Pointer, *int32) int32 50030 }{((*Xsqlite3_io_methods)(unsafe.Pointer(_id.X0)).X9)})))(tls, _id, _pResOut) 50031 return 50032 50033 } 50034 50035 func _pagerPagecount(tls *crt.TLS, _pPager *XPager, _pnPage *uint32) (r0 int32) { // sqlite3.c:50086:1 50036 var _nPage uint32 // sqlite3.c:50087:8 50037 _ = _nPage 50038 var _1_n int64 // sqlite3.c:50107:9 50039 _ = _1_n 50040 var _1_rc int32 // sqlite3.c:50108:9 50041 _ = _1_rc 50042 func() int32 { 50043 if int32(_pPager.X14) == i32(0) { 50044 return i32(0) 50045 } 50046 return func() int32 { 50047 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50095), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(54564))) 50048 crt.X__builtin_abort(tls) 50049 return i32(0) 50050 }() 50051 }() 50052 func() int32 { 50053 if int32(_pPager.X15) >= i32(1) { 50054 return i32(0) 50055 } 50056 return func() int32 { 50057 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50096), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(55100))) 50058 crt.X__builtin_abort(tls) 50059 return i32(0) 50060 }() 50061 }() 50062 func() int32 { 50063 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 50064 return i32(0) 50065 } 50066 return func() int32 { 50067 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50097), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(16944))) 50068 crt.X__builtin_abort(tls) 50069 return i32(0) 50070 }() 50071 }() 50072 func() int32 { 50073 if int32(_pPager.X10) == i32(0) { 50074 return i32(0) 50075 } 50076 return func() int32 { 50077 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50098), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(11212))) 50078 crt.X__builtin_abort(tls) 50079 return i32(0) 50080 }() 50081 }() 50082 _nPage = _sqlite3WalDbsize(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 50083 if _nPage != uint32(i32(0)) || func() int32 { 50084 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 50085 return i32(1) 50086 } 50087 return func() int32 { 50088 func() int32 { 50089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50106), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerPagecountØ00__func__Ø000))), unsafe.Pointer(str(5204))) 50090 crt.X__builtin_abort(tls) 50091 return i32(0) 50092 }() 50093 return i32(0) 50094 }() 50095 }() == 0 { 50096 goto _11 50097 } 50098 50099 _1_n = i64(0) 50100 _1_rc = _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), &_1_n) 50101 if _1_rc == i32(0) { 50102 goto _12 50103 } 50104 50105 r0 = _1_rc 50106 return 50107 50108 _12: 50109 _nPage = uint32(((_1_n + int64(_pPager.X48)) - int64(i32(1))) / int64(_pPager.X48)) 50110 _11: 50111 if _nPage <= (_pPager.X49) { 50112 goto _13 50113 } 50114 50115 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(156 /* X49 */))) = _nPage 50116 _13: 50117 *_pnPage = _nPage 50118 r0 = i32(0) 50119 return 50120 50121 } 50122 50123 var _pagerPagecountØ00__func__Ø000 [15]int8 // - 50124 50125 func init() { 50126 crt.Xstrncpy(nil, &_pagerPagecountØ00__func__Ø000[0], str(55128), 15) 50127 } 50128 50129 func _sqlite3WalDbsize(tls *crt.TLS, _pWal *XWal) (r0 uint32) { // sqlite3.c:57102:1 50130 if _pWal == nil || func() int32 { 50131 if int32(_pWal.X9) >= i32(0) { 50132 return i32(1) 50133 } 50134 return func() int32 { 50135 func() int32 { 50136 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57103), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalDbsizeØ00__func__Ø000))), unsafe.Pointer(str(5204))) 50137 crt.X__builtin_abort(tls) 50138 return i32(0) 50139 }() 50140 return i32(0) 50141 }() 50142 }() == 0 { 50143 goto _3 50144 } 50145 50146 r0 = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X7 50147 return 50148 50149 _3: 50150 r0 = uint32(i32(0)) 50151 return 50152 50153 } 50154 50155 var _sqlite3WalDbsizeØ00__func__Ø000 [17]int8 // - 50156 50157 func init() { 50158 crt.Xstrncpy(nil, &_sqlite3WalDbsizeØ00__func__Ø000[0], str(55144), 17) 50159 } 50160 50161 func _pagerOpenWalIfPresent(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:50146:1 50162 var _rc int32 // sqlite3.c:50147:7 50163 _ = _rc 50164 var _1_isWal int32 // sqlite3.c:50152:9 50165 _ = _1_isWal 50166 var _1_nPage uint32 // sqlite3.c:50153:10 50167 _ = _1_nPage 50168 _rc = i32(0) 50169 func() int32 { 50170 if int32(_pPager.X14) == i32(0) { 50171 return i32(0) 50172 } 50173 return func() int32 { 50174 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50148), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenWalIfPresentØ00__func__Ø000))), unsafe.Pointer(str(54564))) 50175 crt.X__builtin_abort(tls) 50176 return i32(0) 50177 }() 50178 }() 50179 func() int32 { 50180 if int32(_pPager.X15) >= i32(1) { 50181 return i32(0) 50182 } 50183 return func() int32 { 50184 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50149), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenWalIfPresentØ00__func__Ø000))), unsafe.Pointer(str(55100))) 50185 crt.X__builtin_abort(tls) 50186 return i32(0) 50187 }() 50188 }() 50189 if (_pPager.X10) != 0 { 50190 goto _4 50191 } 50192 50193 _rc = _pagerPagecount(tls, _pPager, &_1_nPage) 50194 if _rc == 0 { 50195 goto _5 50196 } 50197 50198 r0 = _rc 50199 return 50200 50201 _5: 50202 if _1_nPage != uint32(i32(0)) { 50203 goto _6 50204 } 50205 50206 _rc = _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X61, i32(0)) 50207 if _rc != i32(5898) { 50208 goto _7 50209 } 50210 50211 _rc = i32(0) 50212 _7: 50213 _1_isWal = i32(0) 50214 goto _8 50215 50216 _6: 50217 _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X61, i32(0), &_1_isWal) 50218 _8: 50219 if _rc != i32(0) { 50220 goto _9 50221 } 50222 50223 if _1_isWal == 0 { 50224 goto _10 50225 } 50226 50227 _rc = _sqlite3PagerOpenWal(tls, _pPager, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 50228 goto _11 50229 50230 _10: 50231 if int32(_pPager.X2) != i32(5) { 50232 goto _12 50233 } 50234 50235 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(5 /* X2 */))) = uint8(i32(0)) 50236 _12: 50237 _11: 50238 _9: 50239 _4: 50240 r0 = _rc 50241 return 50242 50243 } 50244 50245 var _pagerOpenWalIfPresentØ00__func__Ø000 [22]int8 // - 50246 50247 func init() { 50248 crt.Xstrncpy(nil, &_pagerOpenWalIfPresentØ00__func__Ø000[0], str(55164), 22) 50249 } 50250 50251 func _sqlite3PagerOpenWal(tls *crt.TLS, _pPager *XPager, _pbOpen *int32) (r0 int32) { // sqlite3.c:54262:1 50252 var _rc int32 // sqlite3.c:54266:7 50253 _ = _rc 50254 _rc = i32(0) 50255 func() int32 { 50256 if _assert_pager_state(tls, _pPager) != 0 { 50257 return i32(0) 50258 } 50259 return func() int32 { 50260 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54268), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(11184))) 50261 crt.X__builtin_abort(tls) 50262 return i32(0) 50263 }() 50264 }() 50265 func() int32 { 50266 if (int32(_pPager.X14) == i32(0)) || (_pbOpen != nil) { 50267 return i32(0) 50268 } 50269 return func() int32 { 50270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54269), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(55188))) 50271 crt.X__builtin_abort(tls) 50272 return i32(0) 50273 }() 50274 }() 50275 func() int32 { 50276 if (int32(_pPager.X14) == i32(1)) || (_pbOpen == nil) { 50277 return i32(0) 50278 } 50279 return func() int32 { 50280 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54270), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(55228))) 50281 crt.X__builtin_abort(tls) 50282 return i32(0) 50283 }() 50284 }() 50285 func() int32 { 50286 if (_pbOpen == (*int32)(unsafe.Pointer(uintptr(i32(0))))) || ((*_pbOpen) == i32(0)) { 50287 return i32(0) 50288 } 50289 return func() int32 { 50290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54271), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(55268))) 50291 crt.X__builtin_abort(tls) 50292 return i32(0) 50293 }() 50294 }() 50295 func() int32 { 50296 if (_pbOpen != (*int32)(unsafe.Pointer(uintptr(i32(0))))) || (((_pPager.X10) == 0) && ((*XWal)(unsafe.Pointer(_pPager.X60)) == nil)) { 50297 return i32(0) 50298 } 50299 return func() int32 { 50300 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54272), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(55292))) 50301 crt.X__builtin_abort(tls) 50302 return i32(0) 50303 }() 50304 }() 50305 if (_pPager.X10) != 0 || (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { 50306 goto _16 50307 } 50308 50309 if _sqlite3PagerWalSupported(tls, _pPager) != 0 { 50310 goto _17 50311 } 50312 50313 r0 = i32(14) 50314 return 50315 50316 _17: 50317 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 50318 _rc = _pagerOpenWal(tls, _pPager) 50319 if _rc != i32(0) { 50320 goto _18 50321 } 50322 50323 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(5 /* X2 */))) = uint8(i32(5)) 50324 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(0)) 50325 _18: 50326 goto _19 50327 50328 _16: 50329 *_pbOpen = i32(1) 50330 _19: 50331 r0 = _rc 50332 return 50333 50334 } 50335 50336 var _sqlite3PagerOpenWalØ00__func__Ø000 [20]int8 // - 50337 50338 func init() { 50339 crt.Xstrncpy(nil, &_sqlite3PagerOpenWalØ00__func__Ø000[0], str(55344), 20) 50340 } 50341 50342 func _sqlite3PagerWalSupported(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54187:1 50343 var _pMethods *Xsqlite3_io_methods // sqlite3.c:54188:28 50344 _ = _pMethods 50345 _pMethods = (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) 50346 if (_pPager.X11) == 0 { 50347 goto _0 50348 } 50349 50350 r0 = i32(0) 50351 return 50352 50353 _0: 50354 r0 = bool2int(((_pPager.X1) != 0) || (((_pMethods.X0) >= i32(2)) && ((*(*func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 50355 f func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32 50356 }{(_pMethods.X13)}))) != nil))) 50357 return 50358 50359 } 50360 50361 func _pagerOpenWal(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54217:1 50362 var _rc int32 // sqlite3.c:54218:7 50363 _ = _rc 50364 _rc = i32(0) 50365 func() int32 { 50366 if ((*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0))))) && (int32(_pPager.X10) == i32(0)) { 50367 return i32(0) 50368 } 50369 return func() int32 { 50370 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54220), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(55364))) 50371 crt.X__builtin_abort(tls) 50372 return i32(0) 50373 }() 50374 }() 50375 func() int32 { 50376 if (int32(_pPager.X15) == i32(1)) || (int32(_pPager.X15) == i32(4)) { 50377 return i32(0) 50378 } 50379 return func() int32 { 50380 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54221), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenWalØ00__func__Ø000))), unsafe.Pointer(str(55404))) 50381 crt.X__builtin_abort(tls) 50382 return i32(0) 50383 }() 50384 }() 50385 if (_pPager.X1) == 0 { 50386 goto _6 50387 } 50388 50389 _rc = _pagerExclusiveLock(tls, _pPager) 50390 _6: 50391 if _rc != i32(0) { 50392 goto _7 50393 } 50394 50395 _rc = _sqlite3WalOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _pPager.X61, int32(_pPager.X1), _pPager.X50, (**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(212 /* X60 */)))))) 50396 _7: 50397 _pagerFixMaplimit(tls, _pPager) 50398 r0 = _rc 50399 return 50400 50401 } 50402 50403 var _pagerOpenWalØ00__func__Ø000 [13]int8 // - 50404 50405 func init() { 50406 crt.Xstrncpy(nil, &_pagerOpenWalØ00__func__Ø000[0], str(55464), 13) 50407 } 50408 50409 func _pagerExclusiveLock(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54197:1 50410 var _rc int32 // sqlite3.c:54198:7 50411 _ = _rc 50412 func() int32 { 50413 if (int32(_pPager.X15) == i32(1)) || (int32(_pPager.X15) == i32(4)) { 50414 return i32(0) 50415 } 50416 return func() int32 { 50417 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54200), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerExclusiveLockØ00__func__Ø000))), unsafe.Pointer(str(55404))) 50418 crt.X__builtin_abort(tls) 50419 return i32(0) 50420 }() 50421 }() 50422 _rc = _pagerLockDb(tls, _pPager, i32(4)) 50423 if _rc == i32(0) { 50424 goto _3 50425 } 50426 50427 _pagerUnlockDb(tls, _pPager, i32(1)) 50428 _3: 50429 r0 = _rc 50430 return 50431 50432 } 50433 50434 var _pagerExclusiveLockØ00__func__Ø000 [19]int8 // - 50435 50436 func init() { 50437 crt.Xstrncpy(nil, &_pagerExclusiveLockØ00__func__Ø000[0], str(55480), 19) 50438 } 50439 50440 func _sqlite3WalOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pDbFd *Xsqlite3_file, _zWalName *int8, _bNoShm int32, _mxWalSize int64, _ppWal **XWal) (r0 int32) { // sqlite3.c:55679:1 50441 var _rc int32 // sqlite3.c:55687:7 50442 _ = _rc 50443 var _pRet *XWal // sqlite3.c:55688:7 50444 _ = _pRet 50445 var _flags int32 // sqlite3.c:55689:7 50446 _ = _flags 50447 var _4_iDC int32 // sqlite3.c:55739:9 50448 _ = _4_iDC 50449 func() int32 { 50450 if (_zWalName != nil) && ((*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zWalName)) + 1*uintptr(i32(0))))) != 0) { 50451 return i32(0) 50452 } 50453 return func() int32 { 50454 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55691), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalOpenØ00__func__Ø000))), unsafe.Pointer(str(55500))) 50455 crt.X__builtin_abort(tls) 50456 return i32(0) 50457 }() 50458 }() 50459 func() int32 { 50460 if _pDbFd != nil { 50461 return i32(0) 50462 } 50463 return func() int32 { 50464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(55692), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalOpenØ00__func__Ø000))), unsafe.Pointer(str(55524))) 50465 crt.X__builtin_abort(tls) 50466 return i32(0) 50467 }() 50468 }() 50469 i32(0) 50470 i32(0) 50471 i32(0) 50472 *_ppWal = (*XWal)(unsafe.Pointer(uintptr(i32(0)))) 50473 _pRet = (*XWal)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(120)+uint32(_pVfs.X1))))) 50474 if _pRet != nil { 50475 goto _5 50476 } 50477 50478 r0 = _sqlite3NomemError(tls, i32(55714)) 50479 return 50480 50481 _5: 50482 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(0 /* X0 */))))) = _pVfs 50483 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(8 /* X2 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*XWal)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + 120*uintptr(i32(1)))))) 50484 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(4 /* X1 */))))) = _pDbFd 50485 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(40 /* X9 */))) = int16(i32(-1)) 50486 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(16 /* X4 */))) = _mxWalSize 50487 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(108 /* X21 */))) = _zWalName 50488 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(48 /* X16 */))) = uint8(i32(1)) 50489 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(49 /* X17 */))) = uint8(i32(1)) 50490 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(43 /* X11 */))) = uint8(func() int32 { 50491 if _bNoShm != 0 { 50492 return i32(2) 50493 } 50494 return i32(0) 50495 }()) 50496 _flags = i32(524294) 50497 _rc = _sqlite3OsOpen(tls, _pVfs, _zWalName, (*Xsqlite3_file)(unsafe.Pointer(_pRet.X2)), _flags, &_flags) 50498 if _rc != i32(0) || (_flags&i32(1)) == 0 { 50499 goto _9 50500 } 50501 50502 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(46 /* X14 */))) = uint8(i32(1)) 50503 _9: 50504 if _rc == i32(0) { 50505 goto _10 50506 } 50507 50508 _walIndexClose(tls, _pRet, i32(0)) 50509 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pRet.X2))) 50510 Xsqlite3_free(tls, (unsafe.Pointer)(_pRet)) 50511 goto _11 50512 50513 _10: 50514 _4_iDC = _sqlite3OsDeviceCharacteristics(tls, _pDbFd) 50515 if (_4_iDC & i32(1024)) == 0 { 50516 goto _12 50517 } 50518 50519 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(48 /* X16 */))) = uint8(i32(0)) 50520 _12: 50521 if (_4_iDC & i32(4096)) == 0 { 50522 goto _13 50523 } 50524 50525 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(49 /* X17 */))) = uint8(i32(0)) 50526 _13: 50527 *_ppWal = _pRet 50528 _11: 50529 r0 = _rc 50530 return 50531 50532 } 50533 50534 var _sqlite3WalOpenØ00__func__Ø000 [15]int8 // - 50535 50536 func init() { 50537 crt.Xstrncpy(nil, &_sqlite3WalOpenØ00__func__Ø000[0], str(55532), 15) 50538 } 50539 50540 func _pagerBeginReadTransaction(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:50053:1 50541 var _rc int32 // sqlite3.c:50054:7 50542 _ = _rc 50543 var _changed int32 // sqlite3.c:50055:7 50544 _ = _changed 50545 _changed = i32(0) 50546 func() int32 { 50547 if (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 50548 return i32(0) 50549 } 50550 return func() int32 { 50551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50057), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerBeginReadTransactionØ00__func__Ø000))), unsafe.Pointer(str(16216))) 50552 crt.X__builtin_abort(tls) 50553 return i32(0) 50554 }() 50555 }() 50556 func() int32 { 50557 if (int32(_pPager.X14) == i32(0)) || (int32(_pPager.X14) == i32(1)) { 50558 return i32(0) 50559 } 50560 return func() int32 { 50561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50058), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerBeginReadTransactionØ00__func__Ø000))), unsafe.Pointer(str(54372))) 50562 crt.X__builtin_abort(tls) 50563 return i32(0) 50564 }() 50565 }() 50566 _sqlite3WalEndReadTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 50567 _rc = _sqlite3WalBeginReadTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), &_changed) 50568 if _rc == i32(0) && _changed == 0 { 50569 goto _6 50570 } 50571 50572 _pager_reset(tls, _pPager) 50573 if (_pPager.X20) == 0 { 50574 goto _7 50575 } 50576 50577 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int64(i32(0)), (unsafe.Pointer)(uintptr(i32(0)))) 50578 _7: 50579 _6: 50580 r0 = _rc 50581 return 50582 50583 } 50584 50585 var _pagerBeginReadTransactionØ00__func__Ø000 [26]int8 // - 50586 50587 func init() { 50588 crt.Xstrncpy(nil, &_pagerBeginReadTransactionØ00__func__Ø000[0], str(55548), 26) 50589 } 50590 50591 func _sqlite3WalBeginReadTransaction(tls *crt.TLS, _pWal *XWal, _pChanged *int32) (r0 int32) { // sqlite3.c:56874:1 50592 var _rc int32 // sqlite3.c:56875:7 50593 _ = _rc 50594 var _cnt int32 // sqlite3.c:56876:7 50595 _ = _cnt 50596 _cnt = i32(0) 50597 _0: 50598 _rc = _walTryBeginRead(tls, _pWal, _pChanged, i32(0), preInc961(&_cnt, 1)) 50599 if _rc == i32(-1) { 50600 goto _0 50601 } 50602 50603 r0 = _rc 50604 return 50605 50606 } 50607 50608 func _walTryBeginRead(tls *crt.TLS, _pWal *XWal, _pChanged *int32, _useWal int32, _cnt int32) (r0 int32) { // sqlite3.c:56583:1 50609 var _pInfo *XWalCkptInfo // sqlite3.c:56584:24 50610 _ = _pInfo 50611 var _mxReadMark uint32 // sqlite3.c:56585:7 50612 _ = _mxReadMark 50613 var _mxI int32 // sqlite3.c:56586:7 50614 _ = _mxI 50615 var _i int32 // sqlite3.c:56587:7 50616 _ = _i 50617 var _rc int32 // sqlite3.c:56588:7 50618 _ = _rc 50619 var _mxFrame uint32 // sqlite3.c:56589:7 50620 _ = _mxFrame 50621 var _1_nDelay int32 // sqlite3.c:56611:9 50622 _ = _1_nDelay 50623 var _13_thisMark uint32 // sqlite3.c:56703:9 50624 _ = _13_thisMark 50625 _rc = i32(0) 50626 func() int32 { 50627 if int32(_pWal.X9) < i32(0) { 50628 return i32(0) 50629 } 50630 return func() int32 { 50631 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56591), unsafe.Pointer((*int8)(unsafe.Pointer(&_walTryBeginReadØ00__func__Ø000))), unsafe.Pointer(str(55576))) 50632 crt.X__builtin_abort(tls) 50633 return i32(0) 50634 }() 50635 }() 50636 if _cnt <= i32(5) { 50637 goto _2 50638 } 50639 50640 _1_nDelay = i32(1) 50641 if _cnt <= i32(100) { 50642 goto _3 50643 } 50644 50645 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(116 /* X23 */))) = uint8(i32(1)) 50646 r0 = i32(15) 50647 return 50648 50649 _3: 50650 if _cnt < i32(10) { 50651 goto _4 50652 } 50653 50654 _1_nDelay = ((_cnt - i32(9)) * (_cnt - i32(9))) * i32(39) 50655 _4: 50656 _sqlite3OsSleep(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pWal.X0)), _1_nDelay) 50657 _2: 50658 if _useWal != 0 { 50659 goto _5 50660 } 50661 50662 _rc = _walIndexReadHdr(tls, _pWal, _pChanged) 50663 if _rc != i32(5) { 50664 goto _6 50665 } 50666 50667 if (*(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal.X7)) + 4*uintptr(i32(0))))) != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 50668 goto _7 50669 } 50670 50671 _rc = i32(-1) 50672 goto _8 50673 50674 _7: 50675 if i32(0) != store961(&_rc, _walLockShared(tls, _pWal, i32(2))) { 50676 goto _9 50677 } 50678 50679 _walUnlockShared(tls, _pWal, i32(2)) 50680 _rc = i32(-1) 50681 goto _10 50682 50683 _9: 50684 if _rc != i32(5) { 50685 goto _11 50686 } 50687 50688 _rc = i32(261) 50689 _11: 50690 _10: 50691 _8: 50692 _6: 50693 if _rc == i32(0) { 50694 goto _12 50695 } 50696 50697 r0 = _rc 50698 return 50699 50700 _12: 50701 _5: 50702 _pInfo = _walCkptInfo(tls, _pWal) 50703 if _useWal != 0 || (_pInfo.X0) != ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X6) { 50704 goto _14 50705 } 50706 50707 _rc = _walLockShared(tls, _pWal, i32(3)) 50708 _walShmBarrier(tls, _pWal) 50709 if _rc != i32(0) { 50710 goto _15 50711 } 50712 50713 if crt.Xmemcmp(tls, (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), u32(48)) == 0 { 50714 goto _16 50715 } 50716 50717 _walUnlockShared(tls, _pWal, i32(3)) 50718 r0 = i32(-1) 50719 return 50720 50721 _16: 50722 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(40 /* X9 */))) = int16(i32(0)) 50723 r0 = i32(0) 50724 return 50725 50726 _15: 50727 if _rc == i32(5) { 50728 goto _18 50729 } 50730 50731 r0 = _rc 50732 return 50733 50734 _18: 50735 _14: 50736 _mxReadMark = uint32(i32(0)) 50737 _mxI = i32(0) 50738 _mxFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 50739 _i = i32(1) 50740 _19: 50741 if _i >= i32(5) { 50742 goto _22 50743 } 50744 50745 _13_thisMark = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_i))) 50746 if _mxReadMark > _13_thisMark || _13_thisMark > _mxFrame { 50747 goto _24 50748 } 50749 50750 func() int32 { 50751 if _13_thisMark != u32(4294967295) { 50752 return i32(0) 50753 } 50754 return func() int32 { 50755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56705), unsafe.Pointer((*int8)(unsafe.Pointer(&_walTryBeginReadØ00__func__Ø000))), unsafe.Pointer(str(55596))) 50756 crt.X__builtin_abort(tls) 50757 return i32(0) 50758 }() 50759 }() 50760 _mxReadMark = _13_thisMark 50761 _mxI = _i 50762 _24: 50763 _i += 1 50764 goto _19 50765 50766 _22: 50767 if (int32(_pWal.X14)&i32(2)) != i32(0) || _mxReadMark >= _mxFrame && _mxI != i32(0) { 50768 goto _29 50769 } 50770 50771 _i = i32(1) 50772 _30: 50773 if _i >= i32(5) { 50774 goto _33 50775 } 50776 50777 _rc = _walLockExclusive(tls, _pWal, i32(3)+_i, i32(1)) 50778 if _rc != i32(0) { 50779 goto _34 50780 } 50781 50782 _mxReadMark = store985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */)))))+4*uintptr(_i))), _mxFrame) 50783 _mxI = _i 50784 _walUnlockExclusive(tls, _pWal, i32(3)+_i, i32(1)) 50785 goto _33 50786 50787 _34: 50788 if _rc == i32(5) { 50789 goto _36 50790 } 50791 50792 r0 = _rc 50793 return 50794 50795 _36: 50796 _i += 1 50797 goto _30 50798 50799 _33: 50800 _29: 50801 if _mxI != i32(0) { 50802 goto _37 50803 } 50804 50805 func() int32 { 50806 if (_rc == i32(5)) || ((int32(_pWal.X14) & i32(2)) != i32(0)) { 50807 return i32(0) 50808 } 50809 return func() int32 { 50810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56726), unsafe.Pointer((*int8)(unsafe.Pointer(&_walTryBeginReadØ00__func__Ø000))), unsafe.Pointer(str(55624))) 50811 crt.X__builtin_abort(tls) 50812 return i32(0) 50813 }() 50814 }() 50815 r0 = func() int32 { 50816 if _rc == i32(5) { 50817 return i32(-1) 50818 } 50819 return i32(520) 50820 }() 50821 return 50822 50823 _37: 50824 _rc = _walLockShared(tls, _pWal, i32(3)+_mxI) 50825 if _rc == 0 { 50826 goto _43 50827 } 50828 50829 r0 = func() int32 { 50830 if _rc == i32(5) { 50831 return i32(-1) 50832 } 50833 return _rc 50834 }() 50835 return 50836 50837 _43: 50838 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(100 /* X19 */))) = (_pInfo.X0) + uint32(i32(1)) 50839 _walShmBarrier(tls, _pWal) 50840 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(4 /* X1 */))))) + 4*uintptr(_mxI)))) == _mxReadMark && crt.Xmemcmp(tls, (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), u32(48)) == 0 { 50841 goto _47 50842 } 50843 50844 _walUnlockShared(tls, _pWal, i32(3)+_mxI) 50845 r0 = i32(-1) 50846 return 50847 50848 _47: 50849 func() int32 { 50850 if _mxReadMark <= ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 50851 return i32(0) 50852 } 50853 return func() int32 { 50854 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(56776), unsafe.Pointer((*int8)(unsafe.Pointer(&_walTryBeginReadØ00__func__Ø000))), unsafe.Pointer(str(55680))) 50855 crt.X__builtin_abort(tls) 50856 return i32(0) 50857 }() 50858 }() 50859 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(40 /* X9 */))) = int16(_mxI) 50860 r0 = _rc 50861 return 50862 50863 } 50864 50865 var _walTryBeginReadØ00__func__Ø000 [16]int8 // - 50866 50867 func init() { 50868 crt.Xstrncpy(nil, &_walTryBeginReadØ00__func__Ø000[0], str(55712), 16) 50869 } 50870 50871 var _zMagicHeader [16]int8 // sqlite3.c:58980:19 50872 50873 func init() { 50874 crt.Xstrncpy(nil, &_zMagicHeader[0], str(55728), 16) 50875 } 50876 50877 func _sqlite3PagerBegin(tls *crt.TLS, _pPager *XPager, _exFlag int32, _subjInMemory int32) (r0 int32) { // sqlite3.c:52599:1 50878 var _rc int32 // sqlite3.c:52600:7 50879 _ = _rc 50880 _rc = i32(0) 50881 if (_pPager.X26) == 0 { 50882 goto _0 50883 } 50884 50885 r0 = _pPager.X26 50886 return 50887 50888 _0: 50889 func() int32 { 50890 if (int32(_pPager.X14) >= i32(1)) && (int32(_pPager.X14) < i32(6)) { 50891 return i32(0) 50892 } 50893 return func() int32 { 50894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52603), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerBeginØ00__func__Ø000))), unsafe.Pointer(str(55744))) 50895 crt.X__builtin_abort(tls) 50896 return i32(0) 50897 }() 50898 }() 50899 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(22 /* X19 */))) = uint8(_subjInMemory) 50900 if func() int32 { 50901 if int32(_pPager.X14) == i32(1) { 50902 return i32(1) 50903 } 50904 return func() int32 { 50905 func() int32 { 50906 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52606), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerBeginØ00__func__Ø000))), unsafe.Pointer(str(5204))) 50907 crt.X__builtin_abort(tls) 50908 return i32(0) 50909 }() 50910 return i32(0) 50911 }() 50912 }() == 0 { 50913 goto _6 50914 } 50915 50916 func() int32 { 50917 if (*XBitvec)(unsafe.Pointer(_pPager.X30)) == (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 50918 return i32(0) 50919 } 50920 return func() int32 { 50921 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52607), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerBeginØ00__func__Ø000))), unsafe.Pointer(str(13756))) 50922 crt.X__builtin_abort(tls) 50923 return i32(0) 50924 }() 50925 }() 50926 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 50927 goto _9 50928 } 50929 50930 if (_pPager.X1) == 0 || _sqlite3WalExclusiveMode(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), i32(-1)) == 0 { 50931 goto _11 50932 } 50933 50934 _rc = _pagerLockDb(tls, _pPager, i32(4)) 50935 if _rc == i32(0) { 50936 goto _12 50937 } 50938 50939 r0 = _rc 50940 return 50941 50942 _12: 50943 _sqlite3WalExclusiveMode(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), i32(1)) 50944 _11: 50945 _rc = _sqlite3WalBeginWriteTransaction(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 50946 goto _13 50947 50948 _9: 50949 _rc = _pagerLockDb(tls, _pPager, i32(2)) 50950 if _rc != i32(0) || _exFlag == 0 { 50951 goto _15 50952 } 50953 50954 _rc = _pager_wait_on_lock(tls, _pPager, i32(4)) 50955 _15: 50956 _13: 50957 if _rc != i32(0) { 50958 goto _16 50959 } 50960 50961 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(2)) 50962 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(40 /* X25 */))) = _pPager.X22 50963 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(36 /* X24 */))) = _pPager.X22 50964 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(32 /* X23 */))) = _pPager.X22 50965 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = int64(i32(0)) 50966 _16: 50967 func() int32 { 50968 if (_rc == i32(0)) || (int32(_pPager.X14) == i32(1)) { 50969 return i32(0) 50970 } 50971 return func() int32 { 50972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52656), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerBeginØ00__func__Ø000))), unsafe.Pointer(str(55804))) 50973 crt.X__builtin_abort(tls) 50974 return i32(0) 50975 }() 50976 }() 50977 func() int32 { 50978 if (_rc != i32(0)) || (int32(_pPager.X14) == i32(2)) { 50979 return i32(0) 50980 } 50981 return func() int32 { 50982 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52657), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerBeginØ00__func__Ø000))), unsafe.Pointer(str(55852))) 50983 crt.X__builtin_abort(tls) 50984 return i32(0) 50985 }() 50986 }() 50987 func() int32 { 50988 if _assert_pager_state(tls, _pPager) != 0 { 50989 return i32(0) 50990 } 50991 return func() int32 { 50992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52658), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerBeginØ00__func__Ø000))), unsafe.Pointer(str(11184))) 50993 crt.X__builtin_abort(tls) 50994 return i32(0) 50995 }() 50996 }() 50997 _6: 50998 r0 = _rc 50999 return 51000 51001 } 51002 51003 var _sqlite3PagerBeginØ00__func__Ø000 [18]int8 // - 51004 51005 func init() { 51006 crt.Xstrncpy(nil, &_sqlite3PagerBeginØ00__func__Ø000[0], str(55908), 18) 51007 } 51008 51009 func _sqlite3WalBeginWriteTransaction(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57123:1 51010 var _rc int32 // sqlite3.c:57124:7 51011 _ = _rc 51012 func() int32 { 51013 if int32(_pWal.X9) >= i32(0) { 51014 return i32(0) 51015 } 51016 return func() int32 { 51017 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57128), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalBeginWriteTransactionØ00__func__Ø000))), unsafe.Pointer(str(19944))) 51018 crt.X__builtin_abort(tls) 51019 return i32(0) 51020 }() 51021 }() 51022 func() int32 { 51023 if (int32(_pWal.X12) == i32(0)) && ((_pWal.X20) == uint32(i32(0))) { 51024 return i32(0) 51025 } 51026 return func() int32 { 51027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57129), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalBeginWriteTransactionØ00__func__Ø000))), unsafe.Pointer(str(55928))) 51028 crt.X__builtin_abort(tls) 51029 return i32(0) 51030 }() 51031 }() 51032 if (_pWal.X14) == 0 { 51033 goto _5 51034 } 51035 51036 r0 = i32(8) 51037 return 51038 51039 _5: 51040 _rc = _walLockExclusive(tls, _pWal, i32(0), i32(1)) 51041 if _rc == 0 { 51042 goto _6 51043 } 51044 51045 r0 = _rc 51046 return 51047 51048 _6: 51049 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(44 /* X12 */))) = uint8(i32(1)) 51050 if crt.Xmemcmp(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), (unsafe.Pointer)(_walIndexHdr(tls, _pWal)), u32(48)) == i32(0) { 51051 goto _7 51052 } 51053 51054 _walUnlockExclusive(tls, _pWal, i32(0), i32(1)) 51055 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(44 /* X12 */))) = uint8(i32(0)) 51056 _rc = i32(517) 51057 _7: 51058 r0 = _rc 51059 return 51060 51061 } 51062 51063 var _sqlite3WalBeginWriteTransactionØ00__func__Ø000 [32]int8 // - 51064 51065 func init() { 51066 crt.Xstrncpy(nil, &_sqlite3WalBeginWriteTransactionØ00__func__Ø000[0], str(55968), 32) 51067 } 51068 51069 func _sqlite3TempInMemory(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142116:1 51070 r0 = bool2int(int32(_db.X16) == i32(2)) 51071 return 51072 51073 } 51074 51075 func _newDatabase(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:62077:1 51076 var _pP1 *XMemPage // sqlite3.c:62078:11 51077 _ = _pP1 51078 var _data *uint8 // sqlite3.c:62079:17 51079 _ = _data 51080 var _rc int32 // sqlite3.c:62080:7 51081 _ = _rc 51082 func() int32 { 51083 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 51084 return i32(0) 51085 } 51086 return func() int32 { 51087 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62082), unsafe.Pointer((*int8)(unsafe.Pointer(&_newDatabaseØ00__func__Ø000))), unsafe.Pointer(str(9252))) 51088 crt.X__builtin_abort(tls) 51089 return i32(0) 51090 }() 51091 }() 51092 if (_pBt.X18) <= uint32(i32(0)) { 51093 goto _2 51094 } 51095 51096 r0 = i32(0) 51097 return 51098 51099 _2: 51100 _pP1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) 51101 func() int32 { 51102 if _pP1 != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 51103 return i32(0) 51104 } 51105 return func() int32 { 51106 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62087), unsafe.Pointer((*int8)(unsafe.Pointer(&_newDatabaseØ00__func__Ø000))), unsafe.Pointer(str(56000))) 51107 crt.X__builtin_abort(tls) 51108 return i32(0) 51109 }() 51110 }() 51111 _data = _pP1.X19 51112 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pP1.X23))) 51113 if _rc == 0 { 51114 goto _5 51115 } 51116 51117 r0 = _rc 51118 return 51119 51120 _5: 51121 crt.Xmemcpy(tls, (unsafe.Pointer)(_data), (unsafe.Pointer)(&_zMagicHeader), u32(16)) 51122 i32(0) 51123 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(16)))) = uint8(((_pBt.X15) >> uint(i32(8))) & uint32(i32(255))) 51124 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(17)))) = uint8(((_pBt.X15) >> uint(i32(16))) & uint32(i32(255))) 51125 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(18)))) = uint8(i32(1)) 51126 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(19)))) = uint8(i32(1)) 51127 func() int32 { 51128 if ((_pBt.X16) <= (_pBt.X15)) && (((_pBt.X16) + uint32(i32(255))) >= (_pBt.X15)) { 51129 return i32(0) 51130 } 51131 return func() int32 { 51132 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62097), unsafe.Pointer((*int8)(unsafe.Pointer(&_newDatabaseØ00__func__Ø000))), unsafe.Pointer(str(56008))) 51133 crt.X__builtin_abort(tls) 51134 return i32(0) 51135 }() 51136 }() 51137 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(20)))) = uint8((_pBt.X15) - (_pBt.X16)) 51138 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(21)))) = uint8(i32(64)) 51139 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(22)))) = uint8(i32(32)) 51140 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(23)))) = uint8(i32(32)) 51141 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(i32(24))))), i32(0), uint32(i32(76))) 51142 _zeroPage(tls, _pP1, i32(13)) 51143 { 51144 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 51145 *p = uint16(int32(*p) | i32(2)) 51146 sink6908 = *p 51147 } 51148 func() int32 { 51149 if (int32(_pBt.X5) == i32(1)) || (int32(_pBt.X5) == i32(0)) { 51150 return i32(0) 51151 } 51152 return func() int32 { 51153 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62106), unsafe.Pointer((*int8)(unsafe.Pointer(&_newDatabaseØ00__func__Ø000))), unsafe.Pointer(str(56080))) 51154 crt.X__builtin_abort(tls) 51155 return i32(0) 51156 }() 51157 }() 51158 func() int32 { 51159 if (int32(_pBt.X6) == i32(1)) || (int32(_pBt.X6) == i32(0)) { 51160 return i32(0) 51161 } 51162 return func() int32 { 51163 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62107), unsafe.Pointer((*int8)(unsafe.Pointer(&_newDatabaseØ00__func__Ø000))), unsafe.Pointer(str(56124))) 51164 crt.X__builtin_abort(tls) 51165 return i32(0) 51166 }() 51167 }() 51168 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(i32(52)))), uint32(_pBt.X5)) 51169 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(i32(64)))), uint32(_pBt.X6)) 51170 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) = uint32(i32(1)) 51171 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(i32(31)))) = uint8(i32(1)) 51172 r0 = i32(0) 51173 return 51174 51175 } 51176 51177 var _newDatabaseØ00__func__Ø000 [12]int8 // - 51178 51179 func init() { 51180 crt.Xstrncpy(nil, &_newDatabaseØ00__func__Ø000[0], str(56168), 12) 51181 } 51182 51183 func _zeroPage(tls *crt.TLS, _pPage *XMemPage, _flags int32) { // sqlite3.c:60876:1 51184 var _data *uint8 // sqlite3.c:60877:17 51185 _ = _data 51186 var _pBt *XBtShared // sqlite3.c:60878:12 51187 _ = _pBt 51188 var _hdr uint8 // sqlite3.c:60879:6 51189 _ = _hdr 51190 var _first uint16 // sqlite3.c:60880:7 51191 _ = _first 51192 _data = _pPage.X19 51193 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 51194 _hdr = _pPage.X6 51195 func() int32 { 51196 if _sqlite3PagerPagenumber(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) == (_pPage.X4) { 51197 return i32(0) 51198 } 51199 return func() int32 { 51200 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60882), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroPageØ00__func__Ø000))), unsafe.Pointer(str(56180))) 51201 crt.X__builtin_abort(tls) 51202 return i32(0) 51203 }() 51204 }() 51205 func() int32 { 51206 if unsafe.Pointer(_sqlite3PagerGetExtra(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_pPage) { 51207 return i32(0) 51208 } 51209 return func() int32 { 51210 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60883), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroPageØ00__func__Ø000))), unsafe.Pointer(str(21120))) 51211 crt.X__builtin_abort(tls) 51212 return i32(0) 51213 }() 51214 }() 51215 func() int32 { 51216 if unsafe.Pointer(_sqlite3PagerGetData(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == (unsafe.Pointer)(_data) { 51217 return i32(0) 51218 } 51219 return func() int32 { 51220 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60884), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroPageØ00__func__Ø000))), unsafe.Pointer(str(56232))) 51221 crt.X__builtin_abort(tls) 51222 return i32(0) 51223 }() 51224 }() 51225 func() int32 { 51226 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 51227 return i32(0) 51228 } 51229 return func() int32 { 51230 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60885), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroPageØ00__func__Ø000))), unsafe.Pointer(str(56276))) 51231 crt.X__builtin_abort(tls) 51232 return i32(0) 51233 }() 51234 }() 51235 func() int32 { 51236 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 51237 return i32(0) 51238 } 51239 return func() int32 { 51240 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60886), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroPageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 51241 crt.X__builtin_abort(tls) 51242 return i32(0) 51243 }() 51244 }() 51245 if (int32(_pBt.X10) & i32(4)) == 0 { 51246 goto _10 51247 } 51248 51249 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr)))), i32(0), (_pBt.X16)-uint32(_hdr)) 51250 _10: 51251 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr))) = uint8(int8(_flags)) 51252 _first = uint16(int32(_hdr) + func() int32 { 51253 if (_flags & i32(8)) == i32(0) { 51254 return i32(12) 51255 } 51256 return i32(8) 51257 }()) 51258 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(1))))), i32(0), uint32(i32(4))) 51259 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_hdr)+i32(7)))) = uint8(i32(0)) 51260 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 51261 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(0)))) = uint8((_pBt.X16) >> uint(i32(8))) 51262 return _data 51263 }()))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_pBt.X16) 51264 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) = uint16((_pBt.X16) - uint32(_first)) 51265 _decodeFlags(tls, _pPage, _flags) 51266 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(18 /* X12 */))) = _first 51267 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(60 /* X20 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_pBt.X16))) 51268 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(64 /* X21 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_first))) 51269 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(68 /* X22 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_pPage.X7))) 51270 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 51271 func() int32 { 51272 if ((_pBt.X15) >= uint32(i32(512))) && ((_pBt.X15) <= uint32(i32(65536))) { 51273 return i32(0) 51274 } 51275 return func() int32 { 51276 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60902), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroPageØ00__func__Ø000))), unsafe.Pointer(str(56316))) 51277 crt.X__builtin_abort(tls) 51278 return i32(0) 51279 }() 51280 }() 51281 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X15 */))) = uint16((_pBt.X15) - uint32(i32(1))) 51282 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(22 /* X14 */))) = uint16(i32(0)) 51283 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(1)) 51284 return 51285 51286 } 51287 51288 func _sqlite3PagerPagenumber(tls *crt.TLS, _pPg *XPgHdr) (r0 uint32) { // sqlite3.c:50999:1 51289 r0 = _pPg.X5 51290 return 51291 51292 } 51293 51294 var _zeroPageØ00__func__Ø000 [9]int8 // - 51295 51296 func init() { 51297 crt.Xstrncpy(nil, &_zeroPageØ00__func__Ø000[0], str(56360), 9) 51298 } 51299 51300 func _sqlite3PagerIswriteable(tls *crt.TLS, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:52935:1 51301 r0 = int32(_pPg.X6) & i32(4) 51302 return 51303 51304 } 51305 51306 func _decodeFlags(tls *crt.TLS, _pPage *XMemPage, _flagByte int32) (r0 int32) { // sqlite3.c:60682:1 51307 var _pBt *XBtShared // sqlite3.c:60683:12 51308 _ = _pBt 51309 func() int32 { 51310 if int32(_pPage.X6) == func() int32 { 51311 if (_pPage.X4) == uint32(i32(1)) { 51312 return i32(100) 51313 } 51314 return i32(0) 51315 }() { 51316 return i32(0) 51317 } 51318 return func() int32 { 51319 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60685), unsafe.Pointer((*int8)(unsafe.Pointer(&_decodeFlagsØ00__func__Ø000))), unsafe.Pointer(str(56372))) 51320 crt.X__builtin_abort(tls) 51321 return i32(0) 51322 }() 51323 }() 51324 func() int32 { 51325 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 51326 return i32(0) 51327 } 51328 return func() int32 { 51329 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60686), unsafe.Pointer((*int8)(unsafe.Pointer(&_decodeFlagsØ00__func__Ø000))), unsafe.Pointer(str(21228))) 51330 crt.X__builtin_abort(tls) 51331 return i32(0) 51332 }() 51333 }() 51334 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(8 /* X5 */))) = uint8(_flagByte >> uint(i32(3))) 51335 i32(0) 51336 { 51337 p := &_flagByte 51338 *p = (*p) & i32(-9) 51339 sink961 = *p 51340 } 51341 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(10 /* X7 */))) = uint8(i32(4) - (i32(4) * int32(_pPage.X5))) 51342 *(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8) uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(76 /* X24 */))))) = _cellSizePtr 51343 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 51344 if _flagByte != i32(5) { 51345 goto _6 51346 } 51347 51348 i32(0) 51349 i32(0) 51350 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 51351 if (_pPage.X5) == 0 { 51352 goto _7 51353 } 51354 51355 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(3 /* X3 */))) = uint8(i32(1)) 51356 *(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(80 /* X25 */))))) = _btreeParseCellPtr 51357 goto _8 51358 51359 _7: 51360 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 51361 *(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8) uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(76 /* X24 */))))) = _cellSizePtrNoPayload 51362 *(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(80 /* X25 */))))) = _btreeParseCellPtrNoPayload 51363 _8: 51364 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(14 /* X10 */))) = _pBt.X13 51365 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X11 */))) = _pBt.X14 51366 goto _9 51367 51368 _6: 51369 if _flagByte != i32(2) { 51370 goto _10 51371 } 51372 51373 i32(0) 51374 i32(0) 51375 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 51376 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 51377 *(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(80 /* X25 */))))) = _btreeParseCellPtrIndex 51378 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(14 /* X10 */))) = _pBt.X11 51379 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X11 */))) = _pBt.X12 51380 goto _11 51381 51382 _10: 51383 r0 = _sqlite3CorruptError(tls, i32(60725)) 51384 return 51385 51386 _11: 51387 _9: 51388 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(11 /* X8 */))) = _pBt.X9 51389 r0 = i32(0) 51390 return 51391 51392 } 51393 51394 var _decodeFlagsØ00__func__Ø000 [12]int8 // - 51395 51396 func init() { 51397 crt.Xstrncpy(nil, &_decodeFlagsØ00__func__Ø000[0], str(56420), 12) 51398 } 51399 51400 func _cellSizePtr(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8) (r0 uint16) { // sqlite3.c:60179:1 51401 var _pIter *uint8 // sqlite3.c:60180:6 51402 _ = _pIter 51403 var _pEnd *uint8 // sqlite3.c:60181:6 51404 _ = _pEnd 51405 var _nSize uint32 // sqlite3.c:60182:7 51406 _ = _nSize 51407 var _debuginfo XCellInfo // sqlite3.c:60189:12 51408 _ = _debuginfo 51409 var _5_minLocal int32 // sqlite3.c:60215:9 51410 _ = _5_minLocal 51411 _pIter = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPage.X7))))))) 51412 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 51413 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 51414 }{(_pPage.X25)})))(tls, _pPage, _pCell, &_debuginfo) 51415 _nSize = uint32(*_pIter) 51416 if _nSize < uint32(i32(128)) { 51417 goto _0 51418 } 51419 51420 _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(8)))) 51421 { 51422 p := &_nSize 51423 *p = (*p) & uint32(i32(127)) 51424 sink985 = *p 51425 } 51426 _1: 51427 _nSize = (_nSize << uint(i32(7))) | uint32(int32(*preInc6921(&_pIter, 1))&i32(127)) 51428 if (int32(*_pIter) >= i32(128)) && (uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_pEnd))) { 51429 goto _1 51430 } 51431 51432 _0: 51433 *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) 51434 if (_pPage.X2) == 0 { 51435 goto _3 51436 } 51437 51438 _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(9)))) 51439 _4: 51440 if (int32(*postInc6921(&_pIter, 1))&i32(128)) == 0 || uintptr(unsafe.Pointer(_pIter)) >= uintptr(unsafe.Pointer(_pEnd)) { 51441 goto _5 51442 } 51443 51444 goto _4 51445 51446 _5: 51447 _3: 51448 if _nSize > uint32(_pPage.X10) { 51449 goto _7 51450 } 51451 51452 { 51453 p := &_nSize 51454 *p = (*p) + uint32(int32((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)) 51455 sink985 = *p 51456 } 51457 if _nSize >= uint32(i32(4)) { 51458 goto _8 51459 } 51460 51461 _nSize = uint32(i32(4)) 51462 _8: 51463 goto _9 51464 51465 _7: 51466 _5_minLocal = int32(_pPage.X11) 51467 _nSize = uint32(_5_minLocal) + ((_nSize - uint32(_5_minLocal)) % (((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4)))) 51468 if _nSize <= uint32(_pPage.X10) { 51469 goto _10 51470 } 51471 51472 _nSize = uint32(_5_minLocal) 51473 _10: 51474 { 51475 p := &_nSize 51476 *p = (*p) + uint32(i32(4)+int32(uint16(int32((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) 51477 sink985 = *p 51478 } 51479 _9: 51480 func() int32 { 51481 if (_nSize == uint32(_debuginfo.X4)) || ((_sqlite3Config.X6) == i32(0)) { 51482 return i32(0) 51483 } 51484 return func() int32 { 51485 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60224), unsafe.Pointer((*int8)(unsafe.Pointer(&_cellSizePtrØ00__func__Ø000))), unsafe.Pointer(str(56432))) 51486 crt.X__builtin_abort(tls) 51487 return i32(0) 51488 }() 51489 }() 51490 r0 = uint16(_nSize) 51491 return 51492 51493 } 51494 51495 var _cellSizePtrØ00__func__Ø000 [12]int8 // - 51496 51497 func init() { 51498 crt.Xstrncpy(nil, &_cellSizePtrØ00__func__Ø000[0], str(56472), 12) 51499 } 51500 51501 func _btreeParseCellPtr(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:60054:1 51502 var _pIter *uint8 // sqlite3.c:60059:6 51503 _ = _pIter 51504 var _nPayload uint32 // sqlite3.c:60060:7 51505 _ = _nPayload 51506 var _iKey uint64 // sqlite3.c:60061:7 51507 _ = _iKey 51508 var _1_pEnd *uint8 // sqlite3.c:60077:8 51509 _ = _1_pEnd 51510 var _3_pEnd *uint8 // sqlite3.c:60093:8 51511 _ = _3_pEnd 51512 func() int32 { 51513 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 51514 return i32(0) 51515 } 51516 return func() int32 { 51517 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60063), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrØ00__func__Ø000))), unsafe.Pointer(str(21228))) 51518 crt.X__builtin_abort(tls) 51519 return i32(0) 51520 }() 51521 }() 51522 func() int32 { 51523 if (int32(_pPage.X5) == i32(0)) || (int32(_pPage.X5) == i32(1)) { 51524 return i32(0) 51525 } 51526 return func() int32 { 51527 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60064), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrØ00__func__Ø000))), unsafe.Pointer(str(56484))) 51528 crt.X__builtin_abort(tls) 51529 return i32(0) 51530 }() 51531 }() 51532 func() int32 { 51533 if (_pPage.X3) != 0 { 51534 return i32(0) 51535 } 51536 return func() int32 { 51537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60065), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrØ00__func__Ø000))), unsafe.Pointer(str(56520))) 51538 crt.X__builtin_abort(tls) 51539 return i32(0) 51540 }() 51541 }() 51542 func() int32 { 51543 if int32(_pPage.X7) == i32(0) { 51544 return i32(0) 51545 } 51546 return func() int32 { 51547 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60066), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrØ00__func__Ø000))), unsafe.Pointer(str(56540))) 51548 crt.X__builtin_abort(tls) 51549 return i32(0) 51550 }() 51551 }() 51552 _pIter = _pCell 51553 _nPayload = uint32(*_pIter) 51554 if _nPayload < uint32(i32(128)) { 51555 goto _9 51556 } 51557 51558 _1_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(8)))) 51559 { 51560 p := &_nPayload 51561 *p = (*p) & uint32(i32(127)) 51562 sink985 = *p 51563 } 51564 _10: 51565 _nPayload = (_nPayload << uint(i32(7))) | uint32(int32(*preInc6921(&_pIter, 1))&i32(127)) 51566 if (int32(*_pIter) >= i32(128)) && (uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_1_pEnd))) { 51567 goto _10 51568 } 51569 51570 _9: 51571 *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) 51572 _iKey = uint64(*_pIter) 51573 if _iKey < uint64(i32(128)) { 51574 goto _12 51575 } 51576 51577 _3_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(7)))) 51578 { 51579 p := &_iKey 51580 *p = (*p) & uint64(i32(127)) 51581 sink992 = *p 51582 } 51583 _13: 51584 _iKey = (_iKey << uint(i32(7))) | uint64(int32(*preInc6921(&_pIter, 1))&i32(127)) 51585 if int32(*_pIter) >= i32(128) { 51586 goto _15 51587 } 51588 51589 goto _14 51590 51591 _15: 51592 if uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_3_pEnd)) { 51593 goto _16 51594 } 51595 51596 _iKey = (_iKey << uint(i32(8))) | uint64(*preInc6921(&_pIter, 1)) 51597 goto _14 51598 51599 _16: 51600 goto _13 51601 51602 _14: 51603 _12: 51604 *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) 51605 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = *(*int64)(unsafe.Pointer(&_iKey)) 51606 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(12 /* X2 */))) = _nPayload 51607 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(8 /* X1 */))) = _pIter 51608 if _nPayload > uint32(_pPage.X10) { 51609 goto _17 51610 } 51611 51612 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(18 /* X4 */))) = uint16(_nPayload + uint32(uint16(int32((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) 51613 if int32(_pInfo.X4) >= i32(4) { 51614 goto _18 51615 } 51616 51617 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(18 /* X4 */))) = uint16(i32(4)) 51618 _18: 51619 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X3 */))) = uint16(_nPayload) 51620 goto _19 51621 51622 _17: 51623 _btreeParseCellAdjustSizeForOverflow(tls, _pPage, _pCell, _pInfo) 51624 _19: 51625 return 51626 51627 } 51628 51629 var _btreeParseCellPtrØ00__func__Ø000 [18]int8 // - 51630 51631 func init() { 51632 crt.Xstrncpy(nil, &_btreeParseCellPtrØ00__func__Ø000[0], str(56564), 18) 51633 } 51634 51635 func _btreeParseCellAdjustSizeForOverflow(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:59992:1 51636 var _minLocal int32 // sqlite3.c:60006:7 51637 _ = _minLocal 51638 var _maxLocal int32 // sqlite3.c:60007:7 51639 _ = _maxLocal 51640 var _surplus int32 // sqlite3.c:60008:7 51641 _ = _surplus 51642 _minLocal = int32(_pPage.X11) 51643 _maxLocal = int32(_pPage.X10) 51644 _surplus = int32(uint32(_minLocal) + (((_pInfo.X2) - uint32(_minLocal)) % (((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4))))) 51645 if _surplus > _maxLocal { 51646 goto _0 51647 } 51648 51649 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X3 */))) = uint16(_surplus) 51650 goto _1 51651 51652 _0: 51653 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X3 */))) = uint16(_minLocal) 51654 _1: 51655 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(18 /* X4 */))) = uint16(int32(uint16(int32((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo.X1))+1*uintptr(_pInfo.X3)))))-uintptr(unsafe.Pointer(_pCell)))/1))) + i32(4)) 51656 return 51657 51658 } 51659 51660 func _cellSizePtrNoPayload(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8) (r0 uint16) { // sqlite3.c:60227:1 51661 var _pIter *uint8 // sqlite3.c:60228:6 51662 _ = _pIter 51663 var _pEnd *uint8 // sqlite3.c:60229:6 51664 _ = _pEnd 51665 var _debuginfo XCellInfo // sqlite3.c:60236:12 51666 _ = _debuginfo 51667 _pIter = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))) 51668 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 51669 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 51670 }{(_pPage.X25)})))(tls, _pPage, _pCell, &_debuginfo) 51671 func() int32 { 51672 if int32(_pPage.X7) == i32(4) { 51673 return i32(0) 51674 } 51675 return func() int32 { 51676 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60242), unsafe.Pointer((*int8)(unsafe.Pointer(&_cellSizePtrNoPayloadØ00__func__Ø000))), unsafe.Pointer(str(56584))) 51677 crt.X__builtin_abort(tls) 51678 return i32(0) 51679 }() 51680 }() 51681 _pEnd = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pIter)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(9)))))))) 51682 _2: 51683 if (int32(*postInc6921(&_pIter, 1))&i32(128)) == 0 || uintptr(unsafe.Pointer(_pIter)) >= uintptr(unsafe.Pointer(_pEnd)) { 51684 goto _3 51685 } 51686 51687 goto _2 51688 51689 _3: 51690 func() int32 { 51691 if (int32(_debuginfo.X4) == int32(uint16(int32((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) || ((_sqlite3Config.X6) == i32(0)) { 51692 return i32(0) 51693 } 51694 return func() int32 { 51695 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60245), unsafe.Pointer((*int8)(unsafe.Pointer(&_cellSizePtrNoPayloadØ00__func__Ø000))), unsafe.Pointer(str(56608))) 51696 crt.X__builtin_abort(tls) 51697 return i32(0) 51698 }() 51699 }() 51700 r0 = uint16(int32((uintptr(unsafe.Pointer(_pIter)) - uintptr(unsafe.Pointer(_pCell))) / 1)) 51701 return 51702 51703 } 51704 51705 var _cellSizePtrNoPayloadØ00__func__Ø000 [21]int8 // - 51706 51707 func init() { 51708 crt.Xstrncpy(nil, &_cellSizePtrNoPayloadØ00__func__Ø000[0], str(56660), 21) 51709 } 51710 51711 func _btreeParseCellPtrNoPayload(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:60037:1 51712 func() int32 { 51713 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 51714 return i32(0) 51715 } 51716 return func() int32 { 51717 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60042), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrNoPayloadØ00__func__Ø000))), unsafe.Pointer(str(21228))) 51718 crt.X__builtin_abort(tls) 51719 return i32(0) 51720 }() 51721 }() 51722 func() int32 { 51723 if int32(_pPage.X5) == i32(0) { 51724 return i32(0) 51725 } 51726 return func() int32 { 51727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60043), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrNoPayloadØ00__func__Ø000))), unsafe.Pointer(str(56684))) 51728 crt.X__builtin_abort(tls) 51729 return i32(0) 51730 }() 51731 }() 51732 func() int32 { 51733 if int32(_pPage.X7) == i32(4) { 51734 return i32(0) 51735 } 51736 return func() int32 { 51737 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60044), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrNoPayloadØ00__func__Ø000))), unsafe.Pointer(str(56584))) 51738 crt.X__builtin_abort(tls) 51739 return i32(0) 51740 }() 51741 }() 51742 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(18 /* X4 */))) = uint16(i32(4) + int32(_sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(i32(4)))), (*uint64)(unsafe.Pointer((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(0 /* X0 */)))))))) 51743 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(12 /* X2 */))) = uint32(i32(0)) 51744 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X3 */))) = uint16(i32(0)) 51745 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(8 /* X1 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 51746 return 51747 51748 } 51749 51750 var _btreeParseCellPtrNoPayloadØ00__func__Ø000 [27]int8 // - 51751 51752 func init() { 51753 crt.Xstrncpy(nil, &_btreeParseCellPtrNoPayloadØ00__func__Ø000[0], str(56700), 27) 51754 } 51755 51756 func _sqlite3GetVarint(tls *crt.TLS, _p *uint8, _v *uint64) (r0 uint8) { // sqlite3.c:28448:1 51757 var _a uint32 // sqlite3.c:28449:7 51758 _ = _a 51759 var _b uint32 // sqlite3.c:28449:9 51760 _ = _b 51761 var _s uint32 // sqlite3.c:28449:11 51762 _ = _s 51763 _a = uint32(*_p) 51764 if (_a & uint32(i32(128))) != 0 { 51765 goto _0 51766 } 51767 51768 *_v = uint64(_a) 51769 r0 = uint8(i32(1)) 51770 return 51771 51772 _0: 51773 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51774 _b = uint32(*_p) 51775 if (_b & uint32(i32(128))) != 0 { 51776 goto _1 51777 } 51778 51779 { 51780 p := &_a 51781 *p = (*p) & uint32(i32(127)) 51782 sink985 = *p 51783 } 51784 _a = _a << uint(i32(7)) 51785 { 51786 p := &_a 51787 *p = (*p) | _b 51788 sink985 = *p 51789 } 51790 *_v = uint64(_a) 51791 r0 = uint8(i32(2)) 51792 return 51793 51794 _1: 51795 i32(0) 51796 i32(0) 51797 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51798 _a = _a << uint(i32(14)) 51799 { 51800 p := &_a 51801 *p = (*p) | uint32(*_p) 51802 sink985 = *p 51803 } 51804 if (_a & uint32(i32(128))) != 0 { 51805 goto _2 51806 } 51807 51808 { 51809 p := &_a 51810 *p = (*p) & uint32(i32(2080895)) 51811 sink985 = *p 51812 } 51813 { 51814 p := &_b 51815 *p = (*p) & uint32(i32(127)) 51816 sink985 = *p 51817 } 51818 _b = _b << uint(i32(7)) 51819 { 51820 p := &_a 51821 *p = (*p) | _b 51822 sink985 = *p 51823 } 51824 *_v = uint64(_a) 51825 r0 = uint8(i32(3)) 51826 return 51827 51828 _2: 51829 { 51830 p := &_a 51831 *p = (*p) & uint32(i32(2080895)) 51832 sink985 = *p 51833 } 51834 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51835 _b = _b << uint(i32(14)) 51836 { 51837 p := &_b 51838 *p = (*p) | uint32(*_p) 51839 sink985 = *p 51840 } 51841 if (_b & uint32(i32(128))) != 0 { 51842 goto _3 51843 } 51844 51845 { 51846 p := &_b 51847 *p = (*p) & uint32(i32(2080895)) 51848 sink985 = *p 51849 } 51850 _a = _a << uint(i32(7)) 51851 { 51852 p := &_a 51853 *p = (*p) | _b 51854 sink985 = *p 51855 } 51856 *_v = uint64(_a) 51857 r0 = uint8(i32(4)) 51858 return 51859 51860 _3: 51861 { 51862 p := &_b 51863 *p = (*p) & uint32(i32(2080895)) 51864 sink985 = *p 51865 } 51866 _s = _a 51867 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51868 _a = _a << uint(i32(14)) 51869 { 51870 p := &_a 51871 *p = (*p) | uint32(*_p) 51872 sink985 = *p 51873 } 51874 if (_a & uint32(i32(128))) != 0 { 51875 goto _4 51876 } 51877 51878 _b = _b << uint(i32(7)) 51879 { 51880 p := &_a 51881 *p = (*p) | _b 51882 sink985 = *p 51883 } 51884 _s = _s >> uint(i32(18)) 51885 *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) 51886 r0 = uint8(i32(5)) 51887 return 51888 51889 _4: 51890 _s = _s << uint(i32(7)) 51891 { 51892 p := &_s 51893 *p = (*p) | _b 51894 sink985 = *p 51895 } 51896 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51897 _b = _b << uint(i32(14)) 51898 { 51899 p := &_b 51900 *p = (*p) | uint32(*_p) 51901 sink985 = *p 51902 } 51903 if (_b & uint32(i32(128))) != 0 { 51904 goto _5 51905 } 51906 51907 { 51908 p := &_a 51909 *p = (*p) & uint32(i32(2080895)) 51910 sink985 = *p 51911 } 51912 _a = _a << uint(i32(7)) 51913 { 51914 p := &_a 51915 *p = (*p) | _b 51916 sink985 = *p 51917 } 51918 _s = _s >> uint(i32(18)) 51919 *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) 51920 r0 = uint8(i32(6)) 51921 return 51922 51923 _5: 51924 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51925 _a = _a << uint(i32(14)) 51926 { 51927 p := &_a 51928 *p = (*p) | uint32(*_p) 51929 sink985 = *p 51930 } 51931 if (_a & uint32(i32(128))) != 0 { 51932 goto _6 51933 } 51934 51935 { 51936 p := &_a 51937 *p = (*p) & u32(4028612735) 51938 sink985 = *p 51939 } 51940 { 51941 p := &_b 51942 *p = (*p) & uint32(i32(2080895)) 51943 sink985 = *p 51944 } 51945 _b = _b << uint(i32(7)) 51946 { 51947 p := &_a 51948 *p = (*p) | _b 51949 sink985 = *p 51950 } 51951 _s = _s >> uint(i32(11)) 51952 *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) 51953 r0 = uint8(i32(7)) 51954 return 51955 51956 _6: 51957 { 51958 p := &_a 51959 *p = (*p) & uint32(i32(2080895)) 51960 sink985 = *p 51961 } 51962 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51963 _b = _b << uint(i32(14)) 51964 { 51965 p := &_b 51966 *p = (*p) | uint32(*_p) 51967 sink985 = *p 51968 } 51969 if (_b & uint32(i32(128))) != 0 { 51970 goto _7 51971 } 51972 51973 { 51974 p := &_b 51975 *p = (*p) & u32(4028612735) 51976 sink985 = *p 51977 } 51978 _a = _a << uint(i32(7)) 51979 { 51980 p := &_a 51981 *p = (*p) | _b 51982 sink985 = *p 51983 } 51984 _s = _s >> uint(i32(4)) 51985 *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) 51986 r0 = uint8(i32(8)) 51987 return 51988 51989 _7: 51990 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 51991 _a = _a << uint(i32(15)) 51992 { 51993 p := &_a 51994 *p = (*p) | uint32(*_p) 51995 sink985 = *p 51996 } 51997 { 51998 p := &_b 51999 *p = (*p) & uint32(i32(2080895)) 52000 sink985 = *p 52001 } 52002 _b = _b << uint(i32(8)) 52003 { 52004 p := &_a 52005 *p = (*p) | _b 52006 sink985 = *p 52007 } 52008 _s = _s << uint(i32(4)) 52009 _b = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(-4))))) 52010 { 52011 p := &_b 52012 *p = (*p) & uint32(i32(127)) 52013 sink985 = *p 52014 } 52015 _b = _b >> uint(i32(3)) 52016 { 52017 p := &_s 52018 *p = (*p) | _b 52019 sink985 = *p 52020 } 52021 *_v = (uint64(_s) << uint(i32(32))) | uint64(_a) 52022 r0 = uint8(i32(9)) 52023 return 52024 52025 } 52026 52027 func _btreeParseCellPtrIndex(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) { // sqlite3.c:60122:1 52028 var _pIter *uint8 // sqlite3.c:60127:6 52029 _ = _pIter 52030 var _nPayload uint32 // sqlite3.c:60128:7 52031 _ = _nPayload 52032 var _1_pEnd *uint8 // sqlite3.c:60136:8 52033 _ = _1_pEnd 52034 func() int32 { 52035 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 52036 return i32(0) 52037 } 52038 return func() int32 { 52039 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60130), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrIndexØ00__func__Ø000))), unsafe.Pointer(str(21228))) 52040 crt.X__builtin_abort(tls) 52041 return i32(0) 52042 }() 52043 }() 52044 func() int32 { 52045 if (int32(_pPage.X5) == i32(0)) || (int32(_pPage.X5) == i32(1)) { 52046 return i32(0) 52047 } 52048 return func() int32 { 52049 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60131), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrIndexØ00__func__Ø000))), unsafe.Pointer(str(56484))) 52050 crt.X__builtin_abort(tls) 52051 return i32(0) 52052 }() 52053 }() 52054 func() int32 { 52055 if int32(_pPage.X3) == i32(0) { 52056 return i32(0) 52057 } 52058 return func() int32 { 52059 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60132), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeParseCellPtrIndexØ00__func__Ø000))), unsafe.Pointer(str(56728))) 52060 crt.X__builtin_abort(tls) 52061 return i32(0) 52062 }() 52063 }() 52064 _pIter = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPage.X7))))))) 52065 _nPayload = uint32(*_pIter) 52066 if _nPayload < uint32(i32(128)) { 52067 goto _7 52068 } 52069 52070 _1_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIter)) + 1*uintptr(i32(8)))) 52071 { 52072 p := &_nPayload 52073 *p = (*p) & uint32(i32(127)) 52074 sink985 = *p 52075 } 52076 _8: 52077 _nPayload = (_nPayload << uint(i32(7))) | uint32(int32(*preInc6921(&_pIter, 1))&i32(127)) 52078 if (int32(*_pIter) >= i32(128)) && (uintptr(unsafe.Pointer(_pIter)) < uintptr(unsafe.Pointer(_1_pEnd))) { 52079 goto _8 52080 } 52081 52082 _7: 52083 *(*uintptr)(unsafe.Pointer(&_pIter)) += uintptr(1) 52084 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(0 /* X0 */))) = int64(_nPayload) 52085 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(12 /* X2 */))) = _nPayload 52086 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(8 /* X1 */))) = _pIter 52087 if _nPayload > uint32(_pPage.X10) { 52088 goto _10 52089 } 52090 52091 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(18 /* X4 */))) = uint16(_nPayload + uint32(uint16(int32((uintptr(unsafe.Pointer(_pIter))-uintptr(unsafe.Pointer(_pCell)))/1)))) 52092 if int32(_pInfo.X4) >= i32(4) { 52093 goto _11 52094 } 52095 52096 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(18 /* X4 */))) = uint16(i32(4)) 52097 _11: 52098 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(16 /* X3 */))) = uint16(_nPayload) 52099 goto _12 52100 52101 _10: 52102 _btreeParseCellAdjustSizeForOverflow(tls, _pPage, _pCell, _pInfo) 52103 _12: 52104 return 52105 52106 } 52107 52108 var _btreeParseCellPtrIndexØ00__func__Ø000 [23]int8 // - 52109 52110 func init() { 52111 crt.Xstrncpy(nil, &_btreeParseCellPtrIndexØ00__func__Ø000[0], str(56752), 23) 52112 } 52113 52114 func _btreeInvokeBusyHandler(tls *crt.TLS, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:61122:1 52115 var _pBt *XBtShared // sqlite3.c:61123:12 52116 _ = _pBt 52117 _pBt = (*XBtShared)(unsafe.Pointer(_pArg)) 52118 func() int32 { 52119 if (*Xsqlite3)(unsafe.Pointer(_pBt.X1)) != nil { 52120 return i32(0) 52121 } 52122 return func() int32 { 52123 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61124), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInvokeBusyHandlerØ00__func__Ø000))), unsafe.Pointer(str(56776))) 52124 crt.X__builtin_abort(tls) 52125 return i32(0) 52126 }() 52127 }() 52128 func() int32 { 52129 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pBt.X1)).X3))) != 0 { 52130 return i32(0) 52131 } 52132 return func() int32 { 52133 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61125), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInvokeBusyHandlerØ00__func__Ø000))), unsafe.Pointer(str(56784))) 52134 crt.X__builtin_abort(tls) 52135 return i32(0) 52136 }() 52137 }() 52138 r0 = _sqlite3InvokeBusyHandler(tls, (*T7746641)(unsafe.Pointer(uintptr(_pBt.X1)+uintptr(376 /* X71 */)))) 52139 return 52140 52141 } 52142 52143 var _btreeInvokeBusyHandlerØ00__func__Ø000 [23]int8 // - 52144 52145 func init() { 52146 crt.Xstrncpy(nil, &_btreeInvokeBusyHandlerØ00__func__Ø000[0], str(56820), 23) 52147 } 52148 52149 func _sqlite3InvokeBusyHandler(tls *crt.TLS, _p *T7746641) (r0 int32) { // sqlite3.c:141401:1 52150 var _rc int32 // sqlite3.c:141402:7 52151 _ = _rc 52152 if func() int32 { 52153 if _p == (*T7746641)(unsafe.Pointer(uintptr(i32(0)))) { 52154 return func() int32 { 52155 func() int32 { 52156 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141403), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InvokeBusyHandlerØ00__func__Ø000))), unsafe.Pointer(str(5204))) 52157 crt.X__builtin_abort(tls) 52158 return i32(0) 52159 }() 52160 return i32(1) 52161 }() 52162 } 52163 return i32(0) 52164 }() == 0 && *(*unsafe.Pointer)(unsafe.Pointer(&struct { 52165 f func(*crt.TLS, unsafe.Pointer, int32) int32 52166 }{(_p.X0)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 52167 f func(*crt.TLS, unsafe.Pointer, int32) int32 52168 }{nil})) && (_p.X2) >= i32(0) { 52169 goto _4 52170 } 52171 52172 r0 = i32(0) 52173 return 52174 52175 _4: 52176 _rc = (_p.X0)(tls, _p.X1, _p.X2) 52177 if _rc != i32(0) { 52178 goto _5 52179 } 52180 52181 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = i32(-1) 52182 goto _6 52183 52184 _5: 52185 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) += 1 52186 _6: 52187 r0 = _rc 52188 return 52189 52190 } 52191 52192 var _sqlite3InvokeBusyHandlerØ00__func__Ø000 [25]int8 // - 52193 52194 func init() { 52195 crt.Xstrncpy(nil, &_sqlite3InvokeBusyHandlerØ00__func__Ø000[0], str(56844), 25) 52196 } 52197 52198 func _sqlite3PagerOpenSavepoint(tls *crt.TLS, _pPager *XPager, _nSavepoint int32) (r0 int32) { // sqlite3.c:53577:1 52199 func() int32 { 52200 if int32(_pPager.X14) >= i32(2) { 52201 return i32(0) 52202 } 52203 return func() int32 { 52204 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53578), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenSavepointØ00__func__Ø000))), unsafe.Pointer(str(11148))) 52205 crt.X__builtin_abort(tls) 52206 return i32(0) 52207 }() 52208 }() 52209 func() int32 { 52210 if _assert_pager_state(tls, _pPager) != 0 { 52211 return i32(0) 52212 } 52213 return func() int32 { 52214 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53579), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenSavepointØ00__func__Ø000))), unsafe.Pointer(str(11184))) 52215 crt.X__builtin_abort(tls) 52216 return i32(0) 52217 }() 52218 }() 52219 if _nSavepoint <= (_pPager.X38) || (_pPager.X3) == 0 { 52220 goto _5 52221 } 52222 52223 r0 = _pagerOpenSavepoint(tls, _pPager, _nSavepoint) 52224 return 52225 52226 _5: 52227 r0 = i32(0) 52228 return 52229 52230 } 52231 52232 var _sqlite3PagerOpenSavepointØ00__func__Ø000 [26]int8 // - 52233 52234 func init() { 52235 crt.Xstrncpy(nil, &_sqlite3PagerOpenSavepointØ00__func__Ø000[0], str(56872), 26) 52236 } 52237 52238 func _pagerOpenSavepoint(tls *crt.TLS, _pPager *XPager, _nSavepoint int32) (r0 int32) { // sqlite3.c:53532:1 52239 var _rc int32 // sqlite3.c:53533:7 52240 _ = _rc 52241 var _nCurrent int32 // sqlite3.c:53534:7 52242 _ = _nCurrent 52243 var _ii int32 // sqlite3.c:53535:7 52244 _ = _ii 52245 var _aNew *XPagerSavepoint // sqlite3.c:53536:18 52246 _ = _aNew 52247 _rc = i32(0) 52248 _nCurrent = _pPager.X38 52249 func() int32 { 52250 if int32(_pPager.X14) >= i32(2) { 52251 return i32(0) 52252 } 52253 return func() int32 { 52254 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53538), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenSavepointØ00__func__Ø000))), unsafe.Pointer(str(11148))) 52255 crt.X__builtin_abort(tls) 52256 return i32(0) 52257 }() 52258 }() 52259 func() int32 { 52260 if _assert_pager_state(tls, _pPager) != 0 { 52261 return i32(0) 52262 } 52263 return func() int32 { 52264 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53539), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenSavepointØ00__func__Ø000))), unsafe.Pointer(str(11184))) 52265 crt.X__builtin_abort(tls) 52266 return i32(0) 52267 }() 52268 }() 52269 func() int32 { 52270 if (_nSavepoint > _nCurrent) && ((_pPager.X3) != 0) { 52271 return i32(0) 52272 } 52273 return func() int32 { 52274 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53540), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenSavepointØ00__func__Ø000))), unsafe.Pointer(str(56900))) 52275 crt.X__builtin_abort(tls) 52276 return i32(0) 52277 }() 52278 }() 52279 _aNew = (*XPagerSavepoint)(unsafe.Pointer(_sqlite3Realloc(tls, _pPager.X37, uint64(u32(44)*uint32(_nSavepoint))))) 52280 if _aNew != nil { 52281 goto _7 52282 } 52283 52284 r0 = _sqlite3NomemError(tls, i32(53550)) 52285 return 52286 52287 _7: 52288 crt.Xmemset(tls, (unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_nCurrent)))), i32(0), uint32(_nSavepoint-_nCurrent)*u32(44)) 52289 *(**XPagerSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(96 /* X37 */))))) = _aNew 52290 _ii = _nCurrent 52291 _8: 52292 if _ii >= _nSavepoint { 52293 goto _11 52294 } 52295 52296 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii))))) + uintptr(20 /* X3 */))) = _pPager.X22 52297 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) || (_pPager.X34) <= int64(i32(0)) { 52298 goto _13 52299 } 52300 52301 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii))))) + uintptr(0 /* X0 */))) = _pPager.X34 52302 goto _14 52303 52304 _13: 52305 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii))))) + uintptr(0 /* X0 */))) = int64(_pPager.X47) 52306 _14: 52307 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii))))) + uintptr(24 /* X4 */))) = _pPager.X29 52308 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii))))) + uintptr(16 /* X2 */))))) = _sqlite3BitvecCreate(tls, _pPager.X22) 52309 if (*XBitvec)(unsafe.Pointer((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii))).X2)) != nil { 52310 goto _15 52311 } 52312 52313 r0 = _sqlite3NomemError(tls, i32(53566)) 52314 return 52315 52316 _15: 52317 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 52318 goto _16 52319 } 52320 52321 _sqlite3WalSavepoint(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), (*uint32)(unsafe.Pointer((*[4]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPagerSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+44*uintptr(_ii)))))+uintptr(28 /* X5 */)))))) 52322 _16: 52323 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(100 /* X38 */))) = _ii + i32(1) 52324 _ii += 1 52325 goto _8 52326 52327 _11: 52328 func() int32 { 52329 if (_pPager.X38) == _nSavepoint { 52330 return i32(0) 52331 } 52332 return func() int32 { 52333 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53573), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpenSavepointØ00__func__Ø000))), unsafe.Pointer(str(56944))) 52334 crt.X__builtin_abort(tls) 52335 return i32(0) 52336 }() 52337 }() 52338 _assertTruncateConstraint(tls, _pPager) 52339 r0 = _rc 52340 return 52341 52342 } 52343 52344 var _pagerOpenSavepointØ00__func__Ø000 [19]int8 // - 52345 52346 func init() { 52347 crt.Xstrncpy(nil, &_pagerOpenSavepointØ00__func__Ø000[0], str(56976), 19) 52348 } 52349 52350 func _sqlite3WalSavepoint(tls *crt.TLS, _pWal *XWal, _aWalData *uint32) { // sqlite3.c:57223:1 52351 func() int32 { 52352 if (_pWal.X12) != 0 { 52353 return i32(0) 52354 } 52355 return func() int32 { 52356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57224), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalSavepointØ00__func__Ø000))), unsafe.Pointer(str(15980))) 52357 crt.X__builtin_abort(tls) 52358 return i32(0) 52359 }() 52360 }() 52361 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(0)))) = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 52362 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) 52363 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(2)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) 52364 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aWalData)) + 4*uintptr(i32(3)))) = _pWal.X22 52365 return 52366 52367 } 52368 52369 var _sqlite3WalSavepointØ00__func__Ø000 [20]int8 // - 52370 52371 func init() { 52372 crt.Xstrncpy(nil, &_sqlite3WalSavepointØ00__func__Ø000[0], str(56996), 20) 52373 } 52374 52375 func _assertTruncateConstraint(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50786:1 52376 _sqlite3PcacheIterateDirty(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _assertTruncateConstraintCb) 52377 return 52378 52379 } 52380 52381 func _sqlite3PcacheIterateDirty(tls *crt.TLS, _pCache *XPCache, _xIter func(*crt.TLS, *XPgHdr)) { // sqlite3.c:44951:1 52382 var _pDirty *XPgHdr // sqlite3.c:44952:9 52383 _ = _pDirty 52384 _pDirty = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) 52385 _0: 52386 if _pDirty == nil { 52387 goto _3 52388 } 52389 52390 _xIter(tls, _pDirty) 52391 _pDirty = (*XPgHdr)(unsafe.Pointer(_pDirty.X9)) 52392 goto _0 52393 52394 _3: 52395 return 52396 52397 } 52398 52399 func _assertTruncateConstraintCb(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:50782:1 52400 func() int32 { 52401 if (int32(_pPg.X6) & i32(2)) != 0 { 52402 return i32(0) 52403 } 52404 return func() int32 { 52405 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50783), unsafe.Pointer((*int8)(unsafe.Pointer(&_assertTruncateConstraintCbØ00__func__Ø000))), unsafe.Pointer(str(57016))) 52406 crt.X__builtin_abort(tls) 52407 return i32(0) 52408 }() 52409 }() 52410 func() int32 { 52411 if (_subjRequiresPage(tls, _pPg) == 0) || ((_pPg.X5) <= ((*XPager)(unsafe.Pointer(_pPg.X4)).X22)) { 52412 return i32(0) 52413 } 52414 return func() int32 { 52415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50784), unsafe.Pointer((*int8)(unsafe.Pointer(&_assertTruncateConstraintCbØ00__func__Ø000))), unsafe.Pointer(str(57040))) 52416 crt.X__builtin_abort(tls) 52417 return i32(0) 52418 }() 52419 }() 52420 return 52421 52422 } 52423 52424 var _assertTruncateConstraintCbØ00__func__Ø000 [27]int8 // - 52425 52426 func init() { 52427 crt.Xstrncpy(nil, &_assertTruncateConstraintCbØ00__func__Ø000[0], str(57100), 27) 52428 } 52429 52430 func _sqlite3BtreeGetMeta(tls *crt.TLS, _p *XBtree, _idx int32, _pMeta *uint32) { // sqlite3.c:67775:1 52431 var _pBt *XBtShared // sqlite3.c:67776:12 52432 _ = _pBt 52433 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 52434 _sqlite3BtreeEnter(tls, _p) 52435 func() int32 { 52436 if int32(_p.X2) > i32(0) { 52437 return i32(0) 52438 } 52439 return func() int32 { 52440 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67779), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetMetaØ00__func__Ø000))), unsafe.Pointer(str(57128))) 52441 crt.X__builtin_abort(tls) 52442 return i32(0) 52443 }() 52444 }() 52445 func() int32 { 52446 if i32(0) == _querySharedCacheTableLock(tls, _p, uint32(i32(1)), uint8(i32(1))) { 52447 return i32(0) 52448 } 52449 return func() int32 { 52450 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67780), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetMetaØ00__func__Ø000))), unsafe.Pointer(str(57152))) 52451 crt.X__builtin_abort(tls) 52452 return i32(0) 52453 }() 52454 }() 52455 func() int32 { 52456 if (*XMemPage)(unsafe.Pointer(_pBt.X3)) != nil { 52457 return i32(0) 52458 } 52459 return func() int32 { 52460 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67781), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetMetaØ00__func__Ø000))), unsafe.Pointer(str(57216))) 52461 crt.X__builtin_abort(tls) 52462 return i32(0) 52463 }() 52464 }() 52465 func() int32 { 52466 if (_idx >= i32(0)) && (_idx <= i32(15)) { 52467 return i32(0) 52468 } 52469 return func() int32 { 52470 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67782), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetMetaØ00__func__Ø000))), unsafe.Pointer(str(57228))) 52471 crt.X__builtin_abort(tls) 52472 return i32(0) 52473 }() 52474 }() 52475 if _idx != i32(15) { 52476 goto _9 52477 } 52478 52479 *_pMeta = _sqlite3PagerDataVersion(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) + (_p.X8) 52480 goto _10 52481 52482 _9: 52483 *_pMeta = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36)+(_idx*i32(4)))))) 52484 _10: 52485 _sqlite3BtreeLeave(tls, _p) 52486 return 52487 52488 } 52489 52490 var _sqlite3BtreeGetMetaØ00__func__Ø000 [20]int8 // - 52491 52492 func init() { 52493 crt.Xstrncpy(nil, &_sqlite3BtreeGetMetaØ00__func__Ø000[0], str(57248), 20) 52494 } 52495 52496 func _sqlite3PagerDataVersion(tls *crt.TLS, _pPager *XPager) (r0 uint32) { // sqlite3.c:48611:1 52497 func() int32 { 52498 if int32(_pPager.X14) > i32(0) { 52499 return i32(0) 52500 } 52501 return func() int32 { 52502 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48612), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerDataVersionØ00__func__Ø000))), unsafe.Pointer(str(57268))) 52503 crt.X__builtin_abort(tls) 52504 return i32(0) 52505 }() 52506 }() 52507 r0 = _pPager.X39 52508 return 52509 52510 } 52511 52512 var _sqlite3PagerDataVersionØ00__func__Ø000 [24]int8 // - 52513 52514 func init() { 52515 crt.Xstrncpy(nil, &_sqlite3PagerDataVersionØ00__func__Ø000[0], str(57296), 24) 52516 } 52517 52518 func _sqlite3ResetOneSchema(tls *crt.TLS, _db *Xsqlite3, _iDb int32) { // sqlite3.c:99970:1 52519 var _pDb *XDb // sqlite3.c:99971:6 52520 _ = _pDb 52521 func() int32 { 52522 if _iDb < (_db.X5) { 52523 return i32(0) 52524 } 52525 return func() int32 { 52526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99972), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResetOneSchemaØ00__func__Ø000))), unsafe.Pointer(str(57320))) 52527 crt.X__builtin_abort(tls) 52528 return i32(0) 52529 }() 52530 }() 52531 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 52532 func() int32 { 52533 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 52534 return i32(0) 52535 } 52536 return func() int32 { 52537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99976), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResetOneSchemaØ00__func__Ø000))), unsafe.Pointer(str(54008))) 52538 crt.X__builtin_abort(tls) 52539 return i32(0) 52540 }() 52541 }() 52542 func() int32 { 52543 if (*XSchema)(unsafe.Pointer(_pDb.X4)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { 52544 return i32(0) 52545 } 52546 return func() int32 { 52547 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99977), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResetOneSchemaØ00__func__Ø000))), unsafe.Pointer(str(57332))) 52548 crt.X__builtin_abort(tls) 52549 return i32(0) 52550 }() 52551 }() 52552 _sqlite3SchemaClear(tls, _pDb.X4) 52553 if _iDb == i32(1) { 52554 goto _6 52555 } 52556 52557 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(i32(1)))) 52558 func() int32 { 52559 if (*XSchema)(unsafe.Pointer(_pDb.X4)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { 52560 return i32(0) 52561 } 52562 return func() int32 { 52563 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99986), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResetOneSchemaØ00__func__Ø000))), unsafe.Pointer(str(57332))) 52564 crt.X__builtin_abort(tls) 52565 return i32(0) 52566 }() 52567 }() 52568 _sqlite3SchemaClear(tls, _pDb.X4) 52569 _6: 52570 return 52571 52572 } 52573 52574 var _sqlite3ResetOneSchemaØ00__func__Ø000 [22]int8 // - 52575 52576 func init() { 52577 crt.Xstrncpy(nil, &_sqlite3ResetOneSchemaØ00__func__Ø000[0], str(57348), 22) 52578 } 52579 52580 func _sqlite3BtreeCommit(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:62875:1 52581 var _rc int32 // sqlite3.c:62876:7 52582 _ = _rc 52583 _sqlite3BtreeEnter(tls, _p) 52584 _rc = _sqlite3BtreeCommitPhaseOne(tls, _p, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 52585 if _rc != i32(0) { 52586 goto _0 52587 } 52588 52589 _rc = _sqlite3BtreeCommitPhaseTwo(tls, _p, i32(0)) 52590 _0: 52591 _sqlite3BtreeLeave(tls, _p) 52592 r0 = _rc 52593 return 52594 52595 } 52596 52597 func _sqlite3BtreeCommitPhaseOne(tls *crt.TLS, _p *XBtree, _zMaster *int8) (r0 int32) { // sqlite3.c:62754:1 52598 var _rc int32 // sqlite3.c:62755:7 52599 _ = _rc 52600 var _1_pBt *XBtShared // sqlite3.c:62757:14 52601 _ = _1_pBt 52602 _rc = i32(0) 52603 if int32(_p.X2) != i32(2) { 52604 goto _0 52605 } 52606 52607 _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 52608 _sqlite3BtreeEnter(tls, _p) 52609 if (_1_pBt.X5) == 0 { 52610 goto _1 52611 } 52612 52613 _rc = _autoVacuumCommit(tls, _1_pBt) 52614 if _rc == i32(0) { 52615 goto _2 52616 } 52617 52618 _sqlite3BtreeLeave(tls, _p) 52619 r0 = _rc 52620 return 52621 52622 _2: 52623 _1: 52624 if (_1_pBt.X7) == 0 { 52625 goto _3 52626 } 52627 52628 _sqlite3PagerTruncateImage(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), _1_pBt.X18) 52629 _3: 52630 _rc = _sqlite3PagerCommitPhaseOne(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), _zMaster, i32(0)) 52631 _sqlite3BtreeLeave(tls, _p) 52632 _0: 52633 r0 = _rc 52634 return 52635 52636 } 52637 52638 func _autoVacuumCommit(tls *crt.TLS, _pBt *XBtShared) (r0 int32) { // sqlite3.c:62675:1 52639 var _rc int32 // sqlite3.c:62676:7 52640 _ = _rc 52641 var _pPager *XPager // sqlite3.c:62677:9 52642 _ = _pPager 52643 var _nRef int32 // sqlite3.c:62678:17 52644 _ = _nRef 52645 var _1_nFin uint32 // sqlite3.c:62684:10 52646 _ = _1_nFin 52647 var _1_nFree uint32 // sqlite3.c:62685:10 52648 _ = _1_nFree 52649 var _1_iFree uint32 // sqlite3.c:62686:10 52650 _ = _1_iFree 52651 var _1_nOrig uint32 // sqlite3.c:62687:10 52652 _ = _1_nOrig 52653 _rc = i32(0) 52654 _pPager = (*XPager)(unsafe.Pointer(_pBt.X0)) 52655 _nRef = _sqlite3PagerRefcount(tls, _pPager) 52656 func() int32 { 52657 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 52658 return i32(0) 52659 } 52660 return func() int32 { 52661 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62680), unsafe.Pointer((*int8)(unsafe.Pointer(&_autoVacuumCommitØ00__func__Ø000))), unsafe.Pointer(str(9252))) 52662 crt.X__builtin_abort(tls) 52663 return i32(0) 52664 }() 52665 }() 52666 _invalidateAllOverflowCache(tls, _pBt) 52667 func() int32 { 52668 if (_pBt.X5) != 0 { 52669 return i32(0) 52670 } 52671 return func() int32 { 52672 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62682), unsafe.Pointer((*int8)(unsafe.Pointer(&_autoVacuumCommitØ00__func__Ø000))), unsafe.Pointer(str(57372))) 52673 crt.X__builtin_abort(tls) 52674 return i32(0) 52675 }() 52676 }() 52677 if (_pBt.X6) != 0 { 52678 goto _4 52679 } 52680 52681 _1_nOrig = _btreePagecount(tls, _pBt) 52682 if _ptrmapPageno(tls, _pBt, _1_nOrig) != _1_nOrig && _1_nOrig != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { 52683 goto _6 52684 } 52685 52686 r0 = _sqlite3CorruptError(tls, i32(62695)) 52687 return 52688 52689 _6: 52690 _1_nFree = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))) 52691 _1_nFin = _finalDbSize(tls, _pBt, _1_nOrig, _1_nFree) 52692 if _1_nFin <= _1_nOrig { 52693 goto _7 52694 } 52695 52696 r0 = _sqlite3CorruptError(tls, i32(62700)) 52697 return 52698 52699 _7: 52700 if _1_nFin >= _1_nOrig { 52701 goto _8 52702 } 52703 52704 _rc = _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) 52705 _8: 52706 _1_iFree = _1_nOrig 52707 _9: 52708 if _1_iFree <= _1_nFin || _rc != i32(0) { 52709 goto _13 52710 } 52711 52712 _rc = _incrVacuumStep(tls, _pBt, _1_nFin, _1_iFree, i32(1)) 52713 _1_iFree -= 1 52714 goto _9 52715 52716 _13: 52717 if _rc != i32(101) && _rc != i32(0) || _1_nFree <= uint32(i32(0)) { 52718 goto _16 52719 } 52720 52721 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) 52722 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(32)))), uint32(i32(0))) 52723 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36)))), uint32(i32(0))) 52724 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(28)))), _1_nFin) 52725 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(19 /* X7 */))) = uint8(i32(1)) 52726 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) = _1_nFin 52727 _16: 52728 if _rc == i32(0) { 52729 goto _17 52730 } 52731 52732 _sqlite3PagerRollback(tls, _pPager) 52733 _17: 52734 _4: 52735 func() int32 { 52736 if _nRef >= _sqlite3PagerRefcount(tls, _pPager) { 52737 return i32(0) 52738 } 52739 return func() int32 { 52740 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62720), unsafe.Pointer((*int8)(unsafe.Pointer(&_autoVacuumCommitØ00__func__Ø000))), unsafe.Pointer(str(57388))) 52741 crt.X__builtin_abort(tls) 52742 return i32(0) 52743 }() 52744 }() 52745 r0 = _rc 52746 return 52747 52748 } 52749 52750 var _autoVacuumCommitØ00__func__Ø000 [17]int8 // - 52751 52752 func init() { 52753 crt.Xstrncpy(nil, &_autoVacuumCommitØ00__func__Ø000[0], str(57424), 17) 52754 } 52755 52756 func _invalidateAllOverflowCache(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:59436:1 52757 var _p *XBtCursor // sqlite3.c:59437:12 52758 _ = _p 52759 func() int32 { 52760 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 52761 return i32(0) 52762 } 52763 return func() int32 { 52764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59438), unsafe.Pointer((*int8)(unsafe.Pointer(&_invalidateAllOverflowCacheØ00__func__Ø000))), unsafe.Pointer(str(9252))) 52765 crt.X__builtin_abort(tls) 52766 return i32(0) 52767 }() 52768 }() 52769 _p = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) 52770 _2: 52771 if _p == nil { 52772 goto _5 52773 } 52774 52775 { 52776 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X10 */))) 52777 *p = uint8(int32(*p) & i32(-5)) 52778 sink6915 = *p 52779 } 52780 _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) 52781 goto _2 52782 52783 _5: 52784 return 52785 52786 } 52787 52788 var _invalidateAllOverflowCacheØ00__func__Ø000 [27]int8 // - 52789 52790 func init() { 52791 crt.Xstrncpy(nil, &_invalidateAllOverflowCacheØ00__func__Ø000[0], str(57444), 27) 52792 } 52793 52794 func _finalDbSize(tls *crt.TLS, _pBt *XBtShared, _nOrig uint32, _nFree uint32) (r0 uint32) { // sqlite3.c:62607:1 52795 var _nEntry int32 // sqlite3.c:62608:7 52796 _ = _nEntry 52797 var _nPtrmap uint32 // sqlite3.c:62609:8 52798 _ = _nPtrmap 52799 var _nFin uint32 // sqlite3.c:62610:8 52800 _ = _nFin 52801 _nEntry = int32((_pBt.X16) / uint32(i32(5))) 52802 _nPtrmap = (((_nFree - _nOrig) + _ptrmapPageno(tls, _pBt, _nOrig)) + uint32(_nEntry)) / uint32(_nEntry) 52803 _nFin = (_nOrig - _nFree) - _nPtrmap 52804 if _nOrig <= ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) || _nFin >= ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { 52805 goto _1 52806 } 52807 52808 _nFin -= 1 52809 _1: 52810 _2: 52811 if _ptrmapPageno(tls, _pBt, _nFin) != _nFin && _nFin != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { 52812 goto _3 52813 } 52814 52815 _nFin -= 1 52816 goto _2 52817 52818 _3: 52819 r0 = _nFin 52820 return 52821 52822 } 52823 52824 func _incrVacuumStep(tls *crt.TLS, _pBt *XBtShared, _nFin uint32, _iLastPg uint32, _bCommit int32) (r0 int32) { // sqlite3.c:62511:1 52825 var _nFreeList uint32 // sqlite3.c:62512:8 52826 _ = _nFreeList 52827 var _rc int32 // sqlite3.c:62513:7 52828 _ = _rc 52829 var _1_eType uint8 // sqlite3.c:62519:8 52830 _ = _1_eType 52831 var _1_iPtrPage uint32 // sqlite3.c:62520:10 52832 _ = _1_iPtrPage 52833 var _6_iFreePg uint32 // sqlite3.c:62542:14 52834 _ = _6_iFreePg 52835 var _6_pFreePg *XMemPage // sqlite3.c:62543:17 52836 _ = _6_pFreePg 52837 var _8_iFreePg uint32 // sqlite3.c:62552:12 52838 _ = _8_iFreePg 52839 var _8_pLastPg *XMemPage // sqlite3.c:62553:15 52840 _ = _8_pLastPg 52841 var _8_eMode uint8 // sqlite3.c:62554:10 52842 _ = _8_eMode 52843 var _8_iNear uint32 // sqlite3.c:62555:12 52844 _ = _8_iNear 52845 var _11_pFreePg *XMemPage // sqlite3.c:62574:17 52846 _ = _11_pFreePg 52847 func() int32 { 52848 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 52849 return i32(0) 52850 } 52851 return func() int32 { 52852 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62515), unsafe.Pointer((*int8)(unsafe.Pointer(&_incrVacuumStepØ00__func__Ø000))), unsafe.Pointer(str(9252))) 52853 crt.X__builtin_abort(tls) 52854 return i32(0) 52855 }() 52856 }() 52857 func() int32 { 52858 if _iLastPg > _nFin { 52859 return i32(0) 52860 } 52861 return func() int32 { 52862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62516), unsafe.Pointer((*int8)(unsafe.Pointer(&_incrVacuumStepØ00__func__Ø000))), unsafe.Pointer(str(57472))) 52863 crt.X__builtin_abort(tls) 52864 return i32(0) 52865 }() 52866 }() 52867 if _ptrmapPageno(tls, _pBt, _iLastPg) == _iLastPg || _iLastPg == ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { 52868 goto _5 52869 } 52870 52871 _nFreeList = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))) 52872 if _nFreeList != uint32(i32(0)) { 52873 goto _6 52874 } 52875 52876 r0 = i32(101) 52877 return 52878 52879 _6: 52880 _rc = _ptrmapGet(tls, _pBt, _iLastPg, &_1_eType, &_1_iPtrPage) 52881 if _rc == i32(0) { 52882 goto _7 52883 } 52884 52885 r0 = _rc 52886 return 52887 52888 _7: 52889 if int32(_1_eType) != i32(1) { 52890 goto _8 52891 } 52892 52893 r0 = _sqlite3CorruptError(tls, i32(62532)) 52894 return 52895 52896 _8: 52897 if int32(_1_eType) != i32(2) { 52898 goto _9 52899 } 52900 52901 if _bCommit != i32(0) { 52902 goto _10 52903 } 52904 52905 _rc = _allocateBtreePage(tls, _pBt, &_6_pFreePg, &_6_iFreePg, _iLastPg, uint8(i32(1))) 52906 if _rc == i32(0) { 52907 goto _11 52908 } 52909 52910 r0 = _rc 52911 return 52912 52913 _11: 52914 func() int32 { 52915 if _6_iFreePg == _iLastPg { 52916 return i32(0) 52917 } 52918 return func() int32 { 52919 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62548), unsafe.Pointer((*int8)(unsafe.Pointer(&_incrVacuumStepØ00__func__Ø000))), unsafe.Pointer(str(57488))) 52920 crt.X__builtin_abort(tls) 52921 return i32(0) 52922 }() 52923 }() 52924 _releasePage(tls, _6_pFreePg) 52925 _10: 52926 goto _14 52927 52928 _9: 52929 _8_eMode = u8(0) 52930 _8_iNear = u32(0) 52931 _rc = _btreeGetPage(tls, _pBt, _iLastPg, &_8_pLastPg, i32(0)) 52932 if _rc == i32(0) { 52933 goto _15 52934 } 52935 52936 r0 = _rc 52937 return 52938 52939 _15: 52940 if _bCommit != i32(0) { 52941 goto _16 52942 } 52943 52944 _8_eMode = uint8(i32(2)) 52945 _8_iNear = _nFin 52946 _16: 52947 _17: 52948 _rc = _allocateBtreePage(tls, _pBt, &_11_pFreePg, &_8_iFreePg, _8_iNear, _8_eMode) 52949 if _rc == i32(0) { 52950 goto _18 52951 } 52952 52953 _releasePage(tls, _8_pLastPg) 52954 r0 = _rc 52955 return 52956 52957 _18: 52958 _releasePage(tls, _11_pFreePg) 52959 if _bCommit != 0 && (_8_iFreePg > _nFin) { 52960 goto _17 52961 } 52962 52963 func() int32 { 52964 if _8_iFreePg < _iLastPg { 52965 return i32(0) 52966 } 52967 return func() int32 { 52968 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62582), unsafe.Pointer((*int8)(unsafe.Pointer(&_incrVacuumStepØ00__func__Ø000))), unsafe.Pointer(str(57508))) 52969 crt.X__builtin_abort(tls) 52970 return i32(0) 52971 }() 52972 }() 52973 _rc = _relocatePage(tls, _pBt, _8_pLastPg, _1_eType, _1_iPtrPage, _8_iFreePg, _bCommit) 52974 _releasePage(tls, _8_pLastPg) 52975 if _rc == i32(0) { 52976 goto _22 52977 } 52978 52979 r0 = _rc 52980 return 52981 52982 _22: 52983 _14: 52984 _5: 52985 if _bCommit != i32(0) { 52986 goto _23 52987 } 52988 52989 _24: 52990 _iLastPg -= 1 52991 if (_iLastPg == ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1)))) || (_ptrmapPageno(tls, _pBt, _iLastPg) == _iLastPg) { 52992 goto _24 52993 } 52994 52995 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(19 /* X7 */))) = uint8(i32(1)) 52996 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) = _iLastPg 52997 _23: 52998 r0 = i32(0) 52999 return 53000 53001 } 53002 53003 var _incrVacuumStepØ00__func__Ø000 [15]int8 // - 53004 53005 func init() { 53006 crt.Xstrncpy(nil, &_incrVacuumStepØ00__func__Ø000[0], str(57524), 15) 53007 } 53008 53009 func _allocateBtreePage(tls *crt.TLS, _pBt *XBtShared, _ppPage **XMemPage, _pPgno *uint32, _nearby uint32, _eMode uint8) (r0 int32) { // sqlite3.c:64597:1 53010 var _pPage1 *XMemPage // sqlite3.c:64604:11 53011 _ = _pPage1 53012 var _rc int32 // sqlite3.c:64605:7 53013 _ = _rc 53014 var _n uint32 // sqlite3.c:64606:7 53015 _ = _n 53016 var _k uint32 // sqlite3.c:64607:7 53017 _ = _k 53018 var _pTrunk *XMemPage // sqlite3.c:64608:11 53019 _ = _pTrunk 53020 var _pPrevTrunk *XMemPage // sqlite3.c:64609:11 53021 _ = _pPrevTrunk 53022 var _mxPage uint32 // sqlite3.c:64610:8 53023 _ = _mxPage 53024 var _2_iTrunk uint32 // sqlite3.c:64625:10 53025 _ = _2_iTrunk 53026 var _2_searchList uint8 // sqlite3.c:64626:8 53027 _ = _2_searchList 53028 var _2_nSearch uint32 // sqlite3.c:64627:9 53029 _ = _2_nSearch 53030 var _4_eType uint8 // sqlite3.c:64636:12 53031 _ = _4_eType 53032 var _22_pNewTrunk *XMemPage // sqlite3.c:64737:19 53033 _ = _22_pNewTrunk 53034 var _22_iNewTrunk uint32 // sqlite3.c:64738:16 53035 _ = _22_iNewTrunk 53036 var _29_closest uint32 // sqlite3.c:64773:13 53037 _ = _29_closest 53038 var _29_iPage uint32 // sqlite3.c:64774:14 53039 _ = _29_iPage 53040 var _29_aData *uint8 // sqlite3.c:64775:23 53041 _ = _29_aData 53042 var _30_i uint32 // sqlite3.c:64777:15 53043 _ = _30_i 53044 var _34_dist int32 // sqlite3.c:64788:17 53045 _ = _34_dist 53046 var _35_d2 int32 // sqlite3.c:64791:19 53047 _ = _35_d2 53048 var _39_noContent int32 // sqlite3.c:64812:15 53049 _ = _39_noContent 53050 var _43_bNoContent int32 // sqlite3.c:64857:9 53051 _ = _43_bNoContent 53052 var _44_pPg *XMemPage // sqlite3.c:64870:15 53053 _ = _44_pPg 53054 _pTrunk = nil 53055 _pPrevTrunk = nil 53056 func() int32 { 53057 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 53058 return i32(0) 53059 } 53060 return func() int32 { 53061 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64612), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 53062 crt.X__builtin_abort(tls) 53063 return i32(0) 53064 }() 53065 }() 53066 func() int32 { 53067 if (int32(_eMode) == i32(0)) || ((_nearby > uint32(i32(0))) && ((_pBt.X5) != 0)) { 53068 return i32(0) 53069 } 53070 return func() int32 { 53071 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64613), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57540))) 53072 crt.X__builtin_abort(tls) 53073 return i32(0) 53074 }() 53075 }() 53076 _pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) 53077 _mxPage = _btreePagecount(tls, _pBt) 53078 _n = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36))))) 53079 if _n < _mxPage { 53080 goto _6 53081 } 53082 53083 r0 = _sqlite3CorruptError(tls, i32(64621)) 53084 return 53085 53086 _6: 53087 if _n <= uint32(i32(0)) { 53088 goto _7 53089 } 53090 53091 _2_searchList = u8(0) 53092 _2_nSearch = u32(0) 53093 if int32(_eMode) != i32(1) { 53094 goto _8 53095 } 53096 53097 if _nearby > _mxPage { 53098 goto _9 53099 } 53100 53101 func() int32 { 53102 if _nearby > uint32(i32(0)) { 53103 return i32(0) 53104 } 53105 return func() int32 { 53106 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64637), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57608))) 53107 crt.X__builtin_abort(tls) 53108 return i32(0) 53109 }() 53110 }() 53111 func() int32 { 53112 if (_pBt.X5) != 0 { 53113 return i32(0) 53114 } 53115 return func() int32 { 53116 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64638), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57372))) 53117 crt.X__builtin_abort(tls) 53118 return i32(0) 53119 }() 53120 }() 53121 _rc = _ptrmapGet(tls, _pBt, _nearby, &_4_eType, (*uint32)(unsafe.Pointer(uintptr(i32(0))))) 53122 if _rc == 0 { 53123 goto _14 53124 } 53125 53126 r0 = _rc 53127 return 53128 53129 _14: 53130 if int32(_4_eType) != i32(2) { 53131 goto _15 53132 } 53133 53134 _2_searchList = uint8(i32(1)) 53135 _15: 53136 _9: 53137 goto _16 53138 53139 _8: 53140 if int32(_eMode) != i32(2) { 53141 goto _17 53142 } 53143 53144 _2_searchList = uint8(i32(1)) 53145 _17: 53146 _16: 53147 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage1.X23))) 53148 if _rc == 0 { 53149 goto _18 53150 } 53151 53152 r0 = _rc 53153 return 53154 53155 _18: 53156 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36)))), _n-uint32(i32(1))) 53157 _19: 53158 _pPrevTrunk = _pTrunk 53159 if _pPrevTrunk == nil { 53160 goto _20 53161 } 53162 53163 _2_iTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrevTrunk.X19))+1*uintptr(i32(0))))) 53164 goto _21 53165 53166 _20: 53167 _2_iTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32))))) 53168 _21: 53169 if _2_iTrunk <= _mxPage && postInc985(&_2_nSearch, uint32(1)) <= _n { 53170 goto _23 53171 } 53172 53173 _rc = _sqlite3CorruptError(tls, i32(64677)) 53174 goto _24 53175 53176 _23: 53177 _rc = _btreeGetUnusedPage(tls, _pBt, _2_iTrunk, &_pTrunk, i32(0)) 53178 _24: 53179 if _rc == 0 { 53180 goto _25 53181 } 53182 53183 _pTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53184 goto _end_allocate_page 53185 53186 _25: 53187 func() int32 { 53188 if _pTrunk != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 53189 return i32(0) 53190 } 53191 return func() int32 { 53192 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64685), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57620))) 53193 crt.X__builtin_abort(tls) 53194 return i32(0) 53195 }() 53196 }() 53197 func() int32 { 53198 if (_pTrunk.X19) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 53199 return i32(0) 53200 } 53201 return func() int32 { 53202 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64686), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57632))) 53203 crt.X__builtin_abort(tls) 53204 return i32(0) 53205 }() 53206 }() 53207 _k = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(4))))) 53208 if _k != uint32(i32(0)) || _2_searchList != 0 { 53209 goto _31 53210 } 53211 53212 func() int32 { 53213 if _pPrevTrunk == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 53214 return i32(0) 53215 } 53216 return func() int32 { 53217 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64694), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57652))) 53218 crt.X__builtin_abort(tls) 53219 return i32(0) 53220 }() 53221 }() 53222 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) 53223 if _rc == 0 { 53224 goto _34 53225 } 53226 53227 goto _end_allocate_page 53228 53229 _34: 53230 *_pPgno = _2_iTrunk 53231 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(0))))), uint32(i32(4))) 53232 *_ppPage = _pTrunk 53233 _pTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53234 goto _35 53235 53236 _31: 53237 if _k <= (((_pBt.X16) / uint32(i32(4))) - uint32(i32(2))) { 53238 goto _36 53239 } 53240 53241 _rc = _sqlite3CorruptError(tls, i32(64706)) 53242 goto _end_allocate_page 53243 53244 _36: 53245 if _2_searchList == 0 || _nearby != _2_iTrunk && (_2_iTrunk >= _nearby || int32(_eMode) != i32(2)) { 53246 goto _41 53247 } 53248 53249 *_pPgno = _2_iTrunk 53250 *_ppPage = _pTrunk 53251 _2_searchList = uint8(i32(0)) 53252 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) 53253 if _rc == 0 { 53254 goto _42 53255 } 53256 53257 goto _end_allocate_page 53258 53259 _42: 53260 if _k != uint32(i32(0)) { 53261 goto _43 53262 } 53263 53264 if _pPrevTrunk != nil { 53265 goto _44 53266 } 53267 53268 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(0))))), uint32(i32(4))) 53269 goto _45 53270 53271 _44: 53272 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPrevTrunk.X23))) 53273 if _rc == i32(0) { 53274 goto _46 53275 } 53276 53277 goto _end_allocate_page 53278 53279 _46: 53280 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrevTrunk.X19))+1*uintptr(i32(0))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(0))))), uint32(i32(4))) 53281 _45: 53282 goto _47 53283 53284 _43: 53285 _22_iNewTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(8))))) 53286 if _22_iNewTrunk <= _mxPage { 53287 goto _48 53288 } 53289 53290 _rc = _sqlite3CorruptError(tls, i32(64740)) 53291 goto _end_allocate_page 53292 53293 _48: 53294 _rc = _btreeGetUnusedPage(tls, _pBt, _22_iNewTrunk, &_22_pNewTrunk, i32(0)) 53295 if _rc == i32(0) { 53296 goto _49 53297 } 53298 53299 goto _end_allocate_page 53300 53301 _49: 53302 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_22_pNewTrunk.X23))) 53303 if _rc == i32(0) { 53304 goto _50 53305 } 53306 53307 _releasePage(tls, _22_pNewTrunk) 53308 goto _end_allocate_page 53309 53310 _50: 53311 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_22_pNewTrunk.X19))+1*uintptr(i32(0))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(0))))), uint32(i32(4))) 53312 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_22_pNewTrunk.X19))+1*uintptr(i32(4)))), _k-uint32(i32(1))) 53313 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_22_pNewTrunk.X19))+1*uintptr(i32(8))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(12))))), (_k-uint32(i32(1)))*uint32(i32(4))) 53314 _releasePage(tls, _22_pNewTrunk) 53315 if _pPrevTrunk != nil { 53316 goto _51 53317 } 53318 53319 func() int32 { 53320 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage1.X23))) != 0 { 53321 return i32(0) 53322 } 53323 return func() int32 { 53324 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64758), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57668))) 53325 crt.X__builtin_abort(tls) 53326 return i32(0) 53327 }() 53328 }() 53329 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32)))), _22_iNewTrunk) 53330 goto _54 53331 53332 _51: 53333 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPrevTrunk.X23))) 53334 if _rc == 0 { 53335 goto _55 53336 } 53337 53338 goto _end_allocate_page 53339 53340 _55: 53341 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrevTrunk.X19))+1*uintptr(i32(0)))), _22_iNewTrunk) 53342 _54: 53343 _47: 53344 _pTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53345 goto _56 53346 53347 _41: 53348 if _k <= uint32(i32(0)) { 53349 goto _57 53350 } 53351 53352 _29_aData = _pTrunk.X19 53353 if _nearby <= uint32(i32(0)) { 53354 goto _58 53355 } 53356 53357 _29_closest = uint32(i32(0)) 53358 if int32(_eMode) != i32(2) { 53359 goto _59 53360 } 53361 53362 _30_i = uint32(i32(0)) 53363 _60: 53364 if _30_i >= _k { 53365 goto _63 53366 } 53367 53368 _29_iPage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(8))+(_30_i*uint32(i32(4))))))) 53369 if _29_iPage > _nearby { 53370 goto _64 53371 } 53372 53373 _29_closest = _30_i 53374 goto _63 53375 53376 _64: 53377 _30_i += 1 53378 goto _60 53379 53380 _63: 53381 goto _65 53382 53383 _59: 53384 _34_dist = _sqlite3AbsInt32(tls, int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(i32(8)))))-_nearby)) 53385 _30_i = uint32(i32(1)) 53386 _66: 53387 if _30_i >= _k { 53388 goto _69 53389 } 53390 53391 _35_d2 = _sqlite3AbsInt32(tls, int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(8))+(_30_i*uint32(i32(4)))))))-_nearby)) 53392 if _35_d2 >= _34_dist { 53393 goto _70 53394 } 53395 53396 _29_closest = _30_i 53397 _34_dist = _35_d2 53398 _70: 53399 _30_i += 1 53400 goto _66 53401 53402 _69: 53403 _65: 53404 goto _71 53405 53406 _58: 53407 _29_closest = uint32(i32(0)) 53408 _71: 53409 _29_iPage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(8))+(_29_closest*uint32(i32(4))))))) 53410 if _29_iPage <= _mxPage { 53411 goto _72 53412 } 53413 53414 _rc = _sqlite3CorruptError(tls, i32(64805)) 53415 goto _end_allocate_page 53416 53417 _72: 53418 if _2_searchList != 0 && (_29_iPage != _nearby && (_29_iPage >= _nearby || int32(_eMode) != i32(2))) { 53419 goto _76 53420 } 53421 53422 *_pPgno = _29_iPage 53423 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) 53424 if _rc == 0 { 53425 goto _77 53426 } 53427 53428 goto _end_allocate_page 53429 53430 _77: 53431 if _29_closest >= (_k - uint32(i32(1))) { 53432 goto _78 53433 } 53434 53435 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(8))+(_29_closest*uint32(i32(4))))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(uint32(i32(4))+(_k*uint32(i32(4))))))), uint32(i32(4))) 53436 _78: 53437 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_29_aData))+1*uintptr(i32(4)))), _k-uint32(i32(1))) 53438 _39_noContent = func() int32 { 53439 if _btreeGetHasContent(tls, _pBt, *_pPgno) == 0 { 53440 return i32(1) 53441 } 53442 return i32(0) 53443 }() 53444 _rc = _btreeGetUnusedPage(tls, _pBt, *_pPgno, _ppPage, _39_noContent) 53445 if _rc != i32(0) { 53446 goto _81 53447 } 53448 53449 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) 53450 if _rc == i32(0) { 53451 goto _82 53452 } 53453 53454 _releasePage(tls, *_ppPage) 53455 *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53456 _82: 53457 _81: 53458 _2_searchList = uint8(i32(0)) 53459 _76: 53460 _57: 53461 _56: 53462 _35: 53463 _releasePage(tls, _pPrevTrunk) 53464 _pPrevTrunk = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53465 if _2_searchList != 0 { 53466 goto _19 53467 } 53468 53469 goto _83 53470 53471 _7: 53472 _43_bNoContent = func() int32 { 53473 if i32(0) == int32(_pBt.X7) { 53474 return i32(1) 53475 } 53476 return i32(0) 53477 }() 53478 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) 53479 if _rc == 0 { 53480 goto _86 53481 } 53482 53483 r0 = _rc 53484 return 53485 53486 _86: 53487 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) += 1 53488 if (_pBt.X18) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 53489 goto _87 53490 } 53491 53492 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) += 1 53493 _87: 53494 if (_pBt.X5) == 0 || _ptrmapPageno(tls, _pBt, _pBt.X18) != (_pBt.X18) { 53495 goto _89 53496 } 53497 53498 _44_pPg = nil 53499 func() int32 { 53500 if (_pBt.X18) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 53501 return i32(0) 53502 } 53503 return func() int32 { 53504 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64872), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57712))) 53505 crt.X__builtin_abort(tls) 53506 return i32(0) 53507 }() 53508 }() 53509 _rc = _btreeGetUnusedPage(tls, _pBt, _pBt.X18, &_44_pPg, _43_bNoContent) 53510 if _rc != i32(0) { 53511 goto _92 53512 } 53513 53514 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_44_pPg.X23))) 53515 _releasePage(tls, _44_pPg) 53516 _92: 53517 if _rc == 0 { 53518 goto _93 53519 } 53520 53521 r0 = _rc 53522 return 53523 53524 _93: 53525 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) += 1 53526 if (_pBt.X18) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 53527 goto _94 53528 } 53529 53530 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(44 /* X18 */))) += 1 53531 _94: 53532 _89: 53533 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(28))))))+uintptr(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19)))), _pBt.X18) 53534 *_pPgno = _pBt.X18 53535 func() int32 { 53536 if (*_pPgno) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 53537 return i32(0) 53538 } 53539 return func() int32 { 53540 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64886), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57748))) 53541 crt.X__builtin_abort(tls) 53542 return i32(0) 53543 }() 53544 }() 53545 _rc = _btreeGetUnusedPage(tls, _pBt, *_pPgno, _ppPage, _43_bNoContent) 53546 if _rc == 0 { 53547 goto _97 53548 } 53549 53550 r0 = _rc 53551 return 53552 53553 _97: 53554 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) 53555 if _rc == i32(0) { 53556 goto _98 53557 } 53558 53559 _releasePage(tls, *_ppPage) 53560 *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53561 _98: 53562 _83: 53563 func() int32 { 53564 if (*_pPgno) != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 53565 return i32(0) 53566 } 53567 return func() int32 { 53568 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64897), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57748))) 53569 crt.X__builtin_abort(tls) 53570 return i32(0) 53571 }() 53572 }() 53573 _end_allocate_page: 53574 _releasePage(tls, _pTrunk) 53575 _releasePage(tls, _pPrevTrunk) 53576 func() int32 { 53577 if (_rc != i32(0)) || (_sqlite3PagerPageRefcount(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) <= i32(1)) { 53578 return i32(0) 53579 } 53580 return func() int32 { 53581 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64902), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57780))) 53582 crt.X__builtin_abort(tls) 53583 return i32(0) 53584 }() 53585 }() 53586 func() int32 { 53587 if (_rc != i32(0)) || (int32((*_ppPage).X0) == i32(0)) { 53588 return i32(0) 53589 } 53590 return func() int32 { 53591 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64903), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateBtreePageØ00__func__Ø000))), unsafe.Pointer(str(57848))) 53592 crt.X__builtin_abort(tls) 53593 return i32(0) 53594 }() 53595 }() 53596 r0 = _rc 53597 return 53598 53599 } 53600 53601 var _allocateBtreePageØ00__func__Ø000 [18]int8 // - 53602 53603 func init() { 53604 crt.Xstrncpy(nil, &_allocateBtreePageØ00__func__Ø000[0], str(57888), 18) 53605 } 53606 53607 func _btreeGetUnusedPage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _ppPage **XMemPage, _flags int32) (r0 int32) { // sqlite3.c:61071:1 53608 var _rc int32 // sqlite3.c:61077:7 53609 _ = _rc 53610 _rc = _btreeGetPage(tls, _pBt, _pgno, _ppPage, _flags) 53611 if _rc != i32(0) { 53612 goto _0 53613 } 53614 53615 if _sqlite3PagerPageRefcount(tls, (*XPgHdr)(unsafe.Pointer((*_ppPage).X23))) <= i32(1) { 53616 goto _1 53617 } 53618 53619 _releasePage(tls, *_ppPage) 53620 *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53621 r0 = _sqlite3CorruptError(tls, i32(61082)) 53622 return 53623 53624 _1: 53625 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_ppPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 53626 goto _2 53627 53628 _0: 53629 *_ppPage = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 53630 _2: 53631 r0 = _rc 53632 return 53633 53634 } 53635 53636 func _sqlite3PagerPageRefcount(tls *crt.TLS, _pPage *XPgHdr) (r0 int32) { // sqlite3.c:53466:1 53637 r0 = _sqlite3PcachePageRefcount(tls, _pPage) 53638 return 53639 53640 } 53641 53642 func _sqlite3AbsInt32(tls *crt.TLS, _x int32) (r0 int32) { // sqlite3.c:28952:1 53643 if _x < i32(0) { 53644 goto _0 53645 } 53646 53647 r0 = _x 53648 return 53649 53650 _0: 53651 if _x != i32(-2147483648) { 53652 goto _1 53653 } 53654 53655 r0 = i32(2147483647) 53656 return 53657 53658 _1: 53659 r0 = -_x 53660 return 53661 53662 } 53663 53664 func _btreeGetHasContent(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 int32) { // sqlite3.c:59539:1 53665 var _p *XBitvec // sqlite3.c:59540:10 53666 _ = _p 53667 _p = (*XBitvec)(unsafe.Pointer(_pBt.X22)) 53668 r0 = bool2int((_p != nil) && ((_pgno > _sqlite3BitvecSize(tls, _p)) || _sqlite3BitvecTest(tls, _p, _pgno) != 0)) 53669 return 53670 53671 } 53672 53673 func _sqlite3BitvecSize(tls *crt.TLS, _p *XBitvec) (r0 uint32) { // sqlite3.c:43956:1 53674 r0 = _p.X0 53675 return 53676 53677 } 53678 53679 func _relocatePage(tls *crt.TLS, _pBt *XBtShared, _pDbPage *XMemPage, _eType uint8, _iPtrPage uint32, _iFreePage uint32, _isCommit int32) (r0 int32) { // sqlite3.c:62418:1 53680 var _pPtrPage *XMemPage // sqlite3.c:62426:11 53681 _ = _pPtrPage 53682 var _iDbPage uint32 // sqlite3.c:62427:8 53683 _ = _iDbPage 53684 var _pPager *XPager // sqlite3.c:62428:9 53685 _ = _pPager 53686 var _rc int32 // sqlite3.c:62429:7 53687 _ = _rc 53688 var _4_nextOvfl uint32 // sqlite3.c:62459:10 53689 _ = _4_nextOvfl 53690 _iDbPage = _pDbPage.X4 53691 _pPager = (*XPager)(unsafe.Pointer(_pBt.X0)) 53692 func() int32 { 53693 if (((int32(_eType) == i32(4)) || (int32(_eType) == i32(3))) || (int32(_eType) == i32(5))) || (int32(_eType) == i32(1)) { 53694 return i32(0) 53695 } 53696 return func() int32 { 53697 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62431), unsafe.Pointer((*int8)(unsafe.Pointer(&_relocatePageØ00__func__Ø000))), unsafe.Pointer(str(57908))) 53698 crt.X__builtin_abort(tls) 53699 return i32(0) 53700 }() 53701 }() 53702 func() int32 { 53703 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 53704 return i32(0) 53705 } 53706 return func() int32 { 53707 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62433), unsafe.Pointer((*int8)(unsafe.Pointer(&_relocatePageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 53708 crt.X__builtin_abort(tls) 53709 return i32(0) 53710 }() 53711 }() 53712 func() int32 { 53713 if (*XBtShared)(unsafe.Pointer(_pDbPage.X18)) == _pBt { 53714 return i32(0) 53715 } 53716 return func() int32 { 53717 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62434), unsafe.Pointer((*int8)(unsafe.Pointer(&_relocatePageØ00__func__Ø000))), unsafe.Pointer(str(58008))) 53718 crt.X__builtin_abort(tls) 53719 return i32(0) 53720 }() 53721 }() 53722 _rc = _sqlite3PagerMovepage(tls, _pPager, (*XPgHdr)(unsafe.Pointer(_pDbPage.X23)), _iFreePage, _isCommit) 53723 if _rc == i32(0) { 53724 goto _9 53725 } 53726 53727 r0 = _rc 53728 return 53729 53730 _9: 53731 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDbPage)) + uintptr(4 /* X4 */))) = _iFreePage 53732 if int32(_eType) != i32(5) && int32(_eType) != i32(1) { 53733 goto _11 53734 } 53735 53736 _rc = _setChildPtrmaps(tls, _pDbPage) 53737 if _rc == i32(0) { 53738 goto _12 53739 } 53740 53741 r0 = _rc 53742 return 53743 53744 _12: 53745 goto _13 53746 53747 _11: 53748 _4_nextOvfl = _sqlite3Get4byte(tls, _pDbPage.X19) 53749 if _4_nextOvfl == uint32(i32(0)) { 53750 goto _14 53751 } 53752 53753 _ptrmapPut(tls, _pBt, _4_nextOvfl, uint8(i32(4)), _iFreePage, &_rc) 53754 if _rc == i32(0) { 53755 goto _15 53756 } 53757 53758 r0 = _rc 53759 return 53760 53761 _15: 53762 _14: 53763 _13: 53764 if int32(_eType) == i32(1) { 53765 goto _16 53766 } 53767 53768 _rc = _btreeGetPage(tls, _pBt, _iPtrPage, &_pPtrPage, i32(0)) 53769 if _rc == i32(0) { 53770 goto _17 53771 } 53772 53773 r0 = _rc 53774 return 53775 53776 _17: 53777 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPtrPage.X23))) 53778 if _rc == i32(0) { 53779 goto _18 53780 } 53781 53782 _releasePage(tls, _pPtrPage) 53783 r0 = _rc 53784 return 53785 53786 _18: 53787 _rc = _modifyPagePointer(tls, _pPtrPage, _iDbPage, _iFreePage, _eType) 53788 _releasePage(tls, _pPtrPage) 53789 if _rc != i32(0) { 53790 goto _19 53791 } 53792 53793 _ptrmapPut(tls, _pBt, _iFreePage, _eType, _iPtrPage, &_rc) 53794 _19: 53795 _16: 53796 r0 = _rc 53797 return 53798 53799 } 53800 53801 var _relocatePageØ00__func__Ø000 [13]int8 // - 53802 53803 func init() { 53804 crt.Xstrncpy(nil, &_relocatePageØ00__func__Ø000[0], str(58028), 13) 53805 } 53806 53807 func _sqlite3PagerMovepage(tls *crt.TLS, _pPager *XPager, _pPg *XPgHdr, _pgno uint32, _isCommit int32) (r0 int32) { // sqlite3.c:53804:1 53808 var _pPgOld *XPgHdr // sqlite3.c:53805:9 53809 _ = _pPgOld 53810 var _needSyncPgno uint32 // sqlite3.c:53806:8 53811 _ = _needSyncPgno 53812 var _rc int32 // sqlite3.c:53807:7 53813 _ = _rc 53814 var _origPgno uint32 // sqlite3.c:53808:8 53815 _ = _origPgno 53816 var _8_pPgHdr *XPgHdr // sqlite3.c:53914:11 53817 _ = _8_pPgHdr 53818 _needSyncPgno = u32(0) 53819 func() int32 { 53820 if int32(_pPg.X7) > i32(0) { 53821 return i32(0) 53822 } 53823 return func() int32 { 53824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53810), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(58044))) 53825 crt.X__builtin_abort(tls) 53826 return i32(0) 53827 }() 53828 }() 53829 func() int32 { 53830 if (int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4)) { 53831 return i32(0) 53832 } 53833 return func() int32 { 53834 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(58056))) 53835 crt.X__builtin_abort(tls) 53836 return i32(0) 53837 }() 53838 }() 53839 func() int32 { 53840 if _assert_pager_state(tls, _pPager) != 0 { 53841 return i32(0) 53842 } 53843 return func() int32 { 53844 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53814), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(11184))) 53845 crt.X__builtin_abort(tls) 53846 return i32(0) 53847 }() 53848 }() 53849 func() int32 { 53850 if ((_pPager.X10) != 0) || ((_pPager.X13) == 0) { 53851 return i32(0) 53852 } 53853 return func() int32 { 53854 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53819), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(58132))) 53855 crt.X__builtin_abort(tls) 53856 return i32(0) 53857 }() 53858 }() 53859 if (_pPager.X10) == 0 { 53860 goto _10 53861 } 53862 53863 _rc = _sqlite3PagerWrite(tls, _pPg) 53864 if _rc == 0 { 53865 goto _11 53866 } 53867 53868 r0 = _rc 53869 return 53870 53871 _11: 53872 _10: 53873 if (int32(_pPg.X6)&i32(2)) == i32(0) || i32(0) == store961(&_rc, _subjournalPageIfRequired(tls, _pPg)) { 53874 goto _13 53875 } 53876 53877 r0 = _rc 53878 return 53879 53880 _13: 53881 if (int32(_pPg.X6)&i32(8)) == 0 || _isCommit != 0 { 53882 goto _15 53883 } 53884 53885 _needSyncPgno = _pPg.X5 53886 func() int32 { 53887 if ((int32(_pPager.X2) == i32(2)) || _pageInJournal(tls, _pPager, _pPg) != 0) || ((_pPg.X5) > (_pPager.X23)) { 53888 return i32(0) 53889 } 53890 return func() int32 { 53891 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53862), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(58160))) 53892 crt.X__builtin_abort(tls) 53893 return i32(0) 53894 }() 53895 }() 53896 func() int32 { 53897 if (int32(_pPg.X6) & i32(2)) != 0 { 53898 return i32(0) 53899 } 53900 return func() int32 { 53901 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53864), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(57016))) 53902 crt.X__builtin_abort(tls) 53903 return i32(0) 53904 }() 53905 }() 53906 _15: 53907 { 53908 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 53909 *p = uint16(int32(*p) & i32(-9)) 53910 sink6908 = *p 53911 } 53912 _pPgOld = _sqlite3PagerLookup(tls, _pPager, _pgno) 53913 func() int32 { 53914 if (_pPgOld == nil) || (int32(_pPgOld.X7) == i32(1)) { 53915 return i32(0) 53916 } 53917 return func() int32 { 53918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53874), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(58268))) 53919 crt.X__builtin_abort(tls) 53920 return i32(0) 53921 }() 53922 }() 53923 if _pPgOld == nil { 53924 goto _25 53925 } 53926 53927 { 53928 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 53929 *p = uint16(int32(*p) | (int32(_pPgOld.X6) & i32(8))) 53930 sink6908 = *p 53931 } 53932 if (_pPager.X10) == 0 { 53933 goto _26 53934 } 53935 53936 _sqlite3PcacheMove(tls, _pPgOld, (_pPager.X22)+uint32(i32(1))) 53937 goto _27 53938 53939 _26: 53940 _sqlite3PcacheDrop(tls, _pPgOld) 53941 _27: 53942 _25: 53943 _origPgno = _pPg.X5 53944 _sqlite3PcacheMove(tls, _pPg, _pgno) 53945 _sqlite3PcacheMakeDirty(tls, _pPg) 53946 if (_pPager.X10) == 0 || _pPgOld == nil { 53947 goto _29 53948 } 53949 53950 _sqlite3PcacheMove(tls, _pPgOld, _origPgno) 53951 _sqlite3PagerUnrefNotNull(tls, _pPgOld) 53952 _29: 53953 if _needSyncPgno == 0 { 53954 goto _30 53955 } 53956 53957 _rc = _sqlite3PagerGet(tls, _pPager, _needSyncPgno, &_8_pPgHdr, i32(0)) 53958 if _rc == i32(0) { 53959 goto _31 53960 } 53961 53962 if _needSyncPgno > (_pPager.X23) { 53963 goto _32 53964 } 53965 53966 func() int32 { 53967 if (_pPager.X58) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 53968 return i32(0) 53969 } 53970 return func() int32 { 53971 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53918), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMovepageØ00__func__Ø000))), unsafe.Pointer(str(58296))) 53972 crt.X__builtin_abort(tls) 53973 return i32(0) 53974 }() 53975 }() 53976 _sqlite3BitvecClear(tls, (*XBitvec)(unsafe.Pointer(_pPager.X30)), _needSyncPgno, (unsafe.Pointer)(_pPager.X58)) 53977 _32: 53978 r0 = _rc 53979 return 53980 53981 _31: 53982 { 53983 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pPgHdr)) + uintptr(24 /* X6 */))) 53984 *p = uint16(int32(*p) | i32(8)) 53985 sink6908 = *p 53986 } 53987 _sqlite3PcacheMakeDirty(tls, _8_pPgHdr) 53988 _sqlite3PagerUnrefNotNull(tls, _8_pPgHdr) 53989 _30: 53990 r0 = i32(0) 53991 return 53992 53993 } 53994 53995 var _sqlite3PagerMovepageØ00__func__Ø000 [21]int8 // - 53996 53997 func init() { 53998 crt.Xstrncpy(nil, &_sqlite3PagerMovepageØ00__func__Ø000[0], str(58320), 21) 53999 } 54000 54001 func _sqlite3PcacheMove(tls *crt.TLS, _p *XPgHdr, _newPgno uint32) { // sqlite3.c:44704:1 54002 var _pCache *XPCache // sqlite3.c:44705:10 54003 _ = _pCache 54004 _pCache = (*XPCache)(unsafe.Pointer(_p.X8)) 54005 func() int32 { 54006 if int32(_p.X7) > i32(0) { 54007 return i32(0) 54008 } 54009 return func() int32 { 54010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44706), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMoveØ00__func__Ø000))), unsafe.Pointer(str(3248))) 54011 crt.X__builtin_abort(tls) 54012 return i32(0) 54013 }() 54014 }() 54015 func() int32 { 54016 if _newPgno > uint32(i32(0)) { 54017 return i32(0) 54018 } 54019 return func() int32 { 54020 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44707), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMoveØ00__func__Ø000))), unsafe.Pointer(str(58344))) 54021 crt.X__builtin_abort(tls) 54022 return i32(0) 54023 }() 54024 }() 54025 func() int32 { 54026 if _sqlite3PcachePageSanity(tls, _p) != 0 { 54027 return i32(0) 54028 } 54029 return func() int32 { 54030 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44708), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheMoveØ00__func__Ø000))), unsafe.Pointer(str(14152))) 54031 crt.X__builtin_abort(tls) 54032 return i32(0) 54033 }() 54034 }() 54035 (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, uint32, uint32))(unsafe.Pointer(&struct { 54036 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32) 54037 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X9)})))(tls, _pCache.X12, (*Xsqlite3_pcache_page)(unsafe.Pointer(_p.X0)), _p.X5, _newPgno) 54038 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = _newPgno 54039 if (int32(_p.X6)&i32(2)) == 0 || (int32(_p.X6)&i32(8)) == 0 { 54040 goto _7 54041 } 54042 54043 _pcacheManageDirtyList(tls, _p, uint8(i32(3))) 54044 _7: 54045 return 54046 54047 } 54048 54049 var _sqlite3PcacheMoveØ00__func__Ø000 [18]int8 // - 54050 54051 func init() { 54052 crt.Xstrncpy(nil, &_sqlite3PcacheMoveØ00__func__Ø000[0], str(58356), 18) 54053 } 54054 54055 func _sqlite3BitvecClear(tls *crt.TLS, _p *XBitvec, _i uint32, _pBuf unsafe.Pointer) { // sqlite3.c:43904:1 54056 var _1_bin uint32 // sqlite3.c:43909:9 54057 _ = _1_bin 54058 var _4_j uint32 // sqlite3.c:43919:18 54059 _ = _4_j 54060 var _4_aiValues *uint32 // sqlite3.c:43920:9 54061 _ = _4_aiValues 54062 var _6_h uint32 // sqlite3.c:43926:13 54063 _ = _6_h 54064 if _p != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) { 54065 goto _0 54066 } 54067 54068 return 54069 54070 _0: 54071 func() int32 { 54072 if _i > uint32(i32(0)) { 54073 return i32(0) 54074 } 54075 return func() int32 { 54076 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43906), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BitvecClearØ00__func__Ø000))), unsafe.Pointer(str(13220))) 54077 crt.X__builtin_abort(tls) 54078 return i32(0) 54079 }() 54080 }() 54081 _i -= 1 54082 _3: 54083 if (_p.X2) == 0 { 54084 goto _4 54085 } 54086 54087 _1_bin = _i / (_p.X2) 54088 _i = _i % (_p.X2) 54089 _p = *(**XBitvec)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]unsafe.Pointer)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_1_bin))) 54090 if _p != nil { 54091 goto _5 54092 } 54093 54094 return 54095 54096 _5: 54097 goto _3 54098 54099 _4: 54100 if (_p.X0) > u32(4000) { 54101 goto _6 54102 } 54103 54104 { 54105 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[500]uint8)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 1*uintptr(_i/uint32(i32(8))))) 54106 *p = uint8(int32(*p) & (^(i32(1) << uint(int32(_i&uint32(i32(7))))))) 54107 sink6915 = *p 54108 } 54109 goto _7 54110 54111 _6: 54112 _4_aiValues = (*uint32)(unsafe.Pointer(_pBuf)) 54113 crt.Xmemcpy(tls, (unsafe.Pointer)(_4_aiValues), (unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */)))))), u32(500)) 54114 crt.Xmemset(tls, (unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */)))))), i32(0), u32(500)) 54115 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = uint32(i32(0)) 54116 _4_j = uint32(i32(0)) 54117 _8: 54118 if _4_j >= u32(125) { 54119 goto _11 54120 } 54121 54122 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aiValues)) + 4*uintptr(_4_j)))) == 0 || (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aiValues)) + 4*uintptr(_4_j)))) == (_i+uint32(i32(1))) { 54123 goto _13 54124 } 54125 54126 _6_h = (((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aiValues)) + 4*uintptr(_4_j)))) - uint32(i32(1))) * uint32(i32(1))) % u32(125) 54127 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) += 1 54128 _14: 54129 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_6_h)))) == 0 { 54130 goto _15 54131 } 54132 54133 _6_h += 1 54134 if _6_h < u32(125) { 54135 goto _16 54136 } 54137 54138 _6_h = uint32(i32(0)) 54139 _16: 54140 goto _14 54141 54142 _15: 54143 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[125]uint32)(unsafe.Pointer((*T7883996)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))))))) + 4*uintptr(_6_h))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_aiValues)) + 4*uintptr(_4_j))) 54144 _13: 54145 _4_j += 1 54146 goto _8 54147 54148 _11: 54149 _7: 54150 return 54151 54152 } 54153 54154 var _sqlite3BitvecClearØ00__func__Ø000 [19]int8 // - 54155 54156 func init() { 54157 crt.Xstrncpy(nil, &_sqlite3BitvecClearØ00__func__Ø000[0], str(58376), 19) 54158 } 54159 54160 func _setChildPtrmaps(tls *crt.TLS, _pPage *XMemPage) (r0 int32) { // sqlite3.c:62312:1 54161 var _i int32 // sqlite3.c:62313:7 54162 _ = _i 54163 var _nCell int32 // sqlite3.c:62314:7 54164 _ = _nCell 54165 var _rc int32 // sqlite3.c:62315:7 54166 _ = _rc 54167 var _pBt *XBtShared // sqlite3.c:62316:12 54168 _ = _pBt 54169 var _pgno uint32 // sqlite3.c:62317:8 54170 _ = _pgno 54171 var _1_pCell *uint8 // sqlite3.c:62325:8 54172 _ = _1_pCell 54173 var _2_childPgno uint32 // sqlite3.c:62330:12 54174 _ = _2_childPgno 54175 var _3_childPgno uint32 // sqlite3.c:62336:10 54176 _ = _3_childPgno 54177 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 54178 _pgno = _pPage.X4 54179 func() int32 { 54180 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 54181 return i32(0) 54182 } 54183 return func() int32 { 54184 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62319), unsafe.Pointer((*int8)(unsafe.Pointer(&_setChildPtrmapsØ00__func__Ø000))), unsafe.Pointer(str(21228))) 54185 crt.X__builtin_abort(tls) 54186 return i32(0) 54187 }() 54188 }() 54189 _rc = _btreeInitPage(tls, _pPage) 54190 if _rc == i32(0) { 54191 goto _2 54192 } 54193 54194 r0 = _rc 54195 return 54196 54197 _2: 54198 _nCell = int32(_pPage.X14) 54199 _i = i32(0) 54200 _3: 54201 if _i >= _nCell { 54202 goto _6 54203 } 54204 54205 _1_pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_i))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_i))))) + 1*uintptr(i32(1))))))))))))) 54206 _ptrmapPutOvflPtr(tls, _pPage, _1_pCell, &_rc) 54207 if (_pPage.X5) != 0 { 54208 goto _7 54209 } 54210 54211 _2_childPgno = _sqlite3Get4byte(tls, _1_pCell) 54212 _ptrmapPut(tls, _pBt, _2_childPgno, uint8(i32(5)), _pgno, &_rc) 54213 _7: 54214 _i += 1 54215 goto _3 54216 54217 _6: 54218 if (_pPage.X5) != 0 { 54219 goto _8 54220 } 54221 54222 _3_childPgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8))))) 54223 _ptrmapPut(tls, _pBt, _3_childPgno, uint8(i32(5)), _pgno, &_rc) 54224 _8: 54225 r0 = _rc 54226 return 54227 54228 } 54229 54230 var _setChildPtrmapsØ00__func__Ø000 [16]int8 // - 54231 54232 func init() { 54233 crt.Xstrncpy(nil, &_setChildPtrmapsØ00__func__Ø000[0], str(58396), 16) 54234 } 54235 54236 func _btreeInitPage(tls *crt.TLS, _pPage *XMemPage) (r0 int32) { // sqlite3.c:60740:1 54237 var _1_pc int32 // sqlite3.c:60750:9 54238 _ = _1_pc 54239 var _1_hdr uint8 // sqlite3.c:60751:8 54240 _ = _1_hdr 54241 var _1_data *uint8 // sqlite3.c:60752:8 54242 _ = _1_data 54243 var _1_pBt *XBtShared // sqlite3.c:60753:14 54244 _ = _1_pBt 54245 var _1_usableSize int32 // sqlite3.c:60754:9 54246 _ = _1_usableSize 54247 var _1_cellOffset uint16 // sqlite3.c:60755:9 54248 _ = _1_cellOffset 54249 var _1_nFree int32 // sqlite3.c:60756:9 54250 _ = _1_nFree 54251 var _1_top int32 // sqlite3.c:60757:9 54252 _ = _1_top 54253 var _1_iCellFirst int32 // sqlite3.c:60758:9 54254 _ = _1_iCellFirst 54255 var _1_iCellLast int32 // sqlite3.c:60759:9 54256 _ = _1_iCellLast 54257 var _3_i int32 // sqlite3.c:60804:11 54258 _ = _3_i 54259 var _3_sz int32 // sqlite3.c:60805:11 54260 _ = _3_sz 54261 var _7_next uint32 // sqlite3.c:60831:11 54262 _ = _7_next 54263 var _7_size uint32 // sqlite3.c:60831:17 54264 _ = _7_size 54265 func() int32 { 54266 if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { 54267 return i32(0) 54268 } 54269 return func() int32 { 54270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60742), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(58412))) 54271 crt.X__builtin_abort(tls) 54272 return i32(0) 54273 }() 54274 }() 54275 func() int32 { 54276 if (*Xsqlite3)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X1)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 54277 return i32(0) 54278 } 54279 return func() int32 { 54280 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60743), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(58428))) 54281 crt.X__builtin_abort(tls) 54282 return i32(0) 54283 }() 54284 }() 54285 func() int32 { 54286 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 54287 return i32(0) 54288 } 54289 return func() int32 { 54290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60744), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(21228))) 54291 crt.X__builtin_abort(tls) 54292 return i32(0) 54293 }() 54294 }() 54295 func() int32 { 54296 if (_pPage.X4) == _sqlite3PagerPagenumber(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) { 54297 return i32(0) 54298 } 54299 return func() int32 { 54300 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60745), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(58448))) 54301 crt.X__builtin_abort(tls) 54302 return i32(0) 54303 }() 54304 }() 54305 func() int32 { 54306 if _pPage == (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))))) { 54307 return i32(0) 54308 } 54309 return func() int32 { 54310 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60746), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(58500))) 54311 crt.X__builtin_abort(tls) 54312 return i32(0) 54313 }() 54314 }() 54315 func() int32 { 54316 if (_pPage.X19) == (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))))) { 54317 return i32(0) 54318 } 54319 return func() int32 { 54320 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60747), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(58548))) 54321 crt.X__builtin_abort(tls) 54322 return i32(0) 54323 }() 54324 }() 54325 if (_pPage.X0) != 0 { 54326 goto _12 54327 } 54328 54329 _1_pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 54330 _1_hdr = _pPage.X6 54331 _1_data = _pPage.X19 54332 if _decodeFlags(tls, _pPage, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_1_hdr))))) == 0 { 54333 goto _13 54334 } 54335 54336 r0 = _sqlite3CorruptError(tls, i32(60767)) 54337 return 54338 54339 _13: 54340 func() int32 { 54341 if ((_1_pBt.X15) >= uint32(i32(512))) && ((_1_pBt.X15) <= uint32(i32(65536))) { 54342 return i32(0) 54343 } 54344 return func() int32 { 54345 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60768), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(56316))) 54346 crt.X__builtin_abort(tls) 54347 return i32(0) 54348 }() 54349 }() 54350 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X15 */))) = uint16((_1_pBt.X15) - uint32(i32(1))) 54351 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 54352 _1_usableSize = int32(_1_pBt.X16) 54353 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(18 /* X12 */))) = store6908(&_1_cellOffset, uint16((int32(_1_hdr)+i32(8))+int32(_pPage.X7))) 54354 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(60 /* X20 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_1_usableSize))) 54355 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(64 /* X21 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_1_cellOffset))) 54356 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(68 /* X22 */))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(_pPage.X7))) 54357 _1_top = ((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_hdr)+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_hdr)+i32(5)))))) + 1*uintptr(i32(1)))))) - i32(1)) & i32(65535)) + i32(1) 54358 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(22 /* X14 */))) = uint16((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_hdr)+i32(3)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_hdr)+i32(3)))))) + 1*uintptr(i32(1)))))) 54359 if uint32(_pPage.X14) <= (((_1_pBt.X15) - uint32(i32(8))) / uint32(i32(6))) { 54360 goto _17 54361 } 54362 54363 r0 = _sqlite3CorruptError(tls, i32(60785)) 54364 return 54365 54366 _17: 54367 func() int32 { 54368 if ((int32(_pPage.X14) > i32(0)) || (_1_top == _1_usableSize)) || ((_sqlite3Config.X6) == i32(0)) { 54369 return i32(0) 54370 } 54371 return func() int32 { 54372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60792), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeInitPageØ00__func__Ø000))), unsafe.Pointer(str(58600))) 54373 crt.X__builtin_abort(tls) 54374 return i32(0) 54375 }() 54376 }() 54377 _1_iCellFirst = int32(_1_cellOffset) + (i32(2) * int32(_pPage.X14)) 54378 _1_iCellLast = _1_usableSize - i32(4) 54379 if (((*Xsqlite3)(unsafe.Pointer(_1_pBt.X1)).X6) & i32(536870912)) == 0 { 54380 goto _22 54381 } 54382 54383 if (_pPage.X5) != 0 { 54384 goto _23 54385 } 54386 54387 _1_iCellLast -= 1 54388 _23: 54389 _3_i = i32(0) 54390 _24: 54391 if _3_i >= int32(_pPage.X14) { 54392 goto _27 54393 } 54394 54395 _1_pc = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_cellOffset)+(_3_i*i32(2))))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_cellOffset)+(_3_i*i32(2))))))) + 1*uintptr(i32(1))))) 54396 if _1_pc >= _1_iCellFirst && _1_pc <= _1_iCellLast { 54397 goto _29 54398 } 54399 54400 r0 = _sqlite3CorruptError(tls, i32(60813)) 54401 return 54402 54403 _29: 54404 _3_sz = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 54405 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 54406 }{(_pPage.X24)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(_1_pc))))) 54407 if (_1_pc + _3_sz) <= _1_usableSize { 54408 goto _30 54409 } 54410 54411 r0 = _sqlite3CorruptError(tls, i32(60818)) 54412 return 54413 54414 _30: 54415 _3_i += 1 54416 goto _24 54417 54418 _27: 54419 if (_pPage.X5) != 0 { 54420 goto _31 54421 } 54422 54423 _1_iCellLast += 1 54424 _31: 54425 _22: 54426 _1_pc = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_hdr)+i32(1)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(int32(_1_hdr)+i32(1)))))) + 1*uintptr(i32(1))))) 54427 _1_nFree = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data)) + 1*uintptr(int32(_1_hdr)+i32(7))))) + _1_top 54428 if _1_pc <= i32(0) { 54429 goto _32 54430 } 54431 54432 if _1_pc >= _1_iCellFirst { 54433 goto _33 54434 } 54435 54436 r0 = _sqlite3CorruptError(tls, i32(60836)) 54437 return 54438 54439 _33: 54440 _34: 54441 if _1_pc <= _1_iCellLast { 54442 goto _36 54443 } 54444 54445 r0 = _sqlite3CorruptError(tls, i32(60840)) 54446 return 54447 54448 _36: 54449 _7_next = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(_1_pc))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(_1_pc))))) + 1*uintptr(i32(1)))))) 54450 _7_size = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(_1_pc+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_data))+1*uintptr(_1_pc+i32(2)))))) + 1*uintptr(i32(1)))))) 54451 _1_nFree = int32(uint32(_1_nFree) + _7_size) 54452 if _7_next > ((uint32(_1_pc) + _7_size) + uint32(i32(3))) { 54453 goto _37 54454 } 54455 54456 goto _35 54457 54458 _37: 54459 _1_pc = int32(_7_next) 54460 goto _34 54461 54462 _35: 54463 if _7_next <= uint32(i32(0)) { 54464 goto _38 54465 } 54466 54467 r0 = _sqlite3CorruptError(tls, i32(60849)) 54468 return 54469 54470 _38: 54471 if (uint32(_1_pc) + _7_size) <= uint32(_1_usableSize) { 54472 goto _39 54473 } 54474 54475 r0 = _sqlite3CorruptError(tls, i32(60852)) 54476 return 54477 54478 _39: 54479 _32: 54480 if _1_nFree <= _1_usableSize { 54481 goto _40 54482 } 54483 54484 r0 = _sqlite3CorruptError(tls, i32(60864)) 54485 return 54486 54487 _40: 54488 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) = uint16(_1_nFree - _1_iCellFirst) 54489 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(1)) 54490 _12: 54491 r0 = i32(0) 54492 return 54493 54494 } 54495 54496 var _btreeInitPageØ00__func__Ø000 [14]int8 // - 54497 54498 func init() { 54499 crt.Xstrncpy(nil, &_btreeInitPageØ00__func__Ø000[0], str(58648), 14) 54500 } 54501 54502 func _ptrmapPutOvflPtr(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pRC *int32) { // sqlite3.c:60264:1 54503 var _info XCellInfo // sqlite3.c:60265:12 54504 _ = _info 54505 var _1_ovfl uint32 // sqlite3.c:60270:10 54506 _ = _1_ovfl 54507 if (*_pRC) == 0 { 54508 goto _0 54509 } 54510 54511 return 54512 54513 _0: 54514 func() int32 { 54515 if _pCell != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 54516 return i32(0) 54517 } 54518 return func() int32 { 54519 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60267), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapPutOvflPtrØ00__func__Ø000))), unsafe.Pointer(str(58664))) 54520 crt.X__builtin_abort(tls) 54521 return i32(0) 54522 }() 54523 }() 54524 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 54525 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 54526 }{(_pPage.X25)})))(tls, _pPage, _pCell, &_info) 54527 if uint32(_info.X3) >= (_info.X2) { 54528 goto _3 54529 } 54530 54531 _1_ovfl = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(int32(_info.X4)-i32(4))))) 54532 _ptrmapPut(tls, (*XBtShared)(unsafe.Pointer(_pPage.X18)), _1_ovfl, uint8(i32(3)), _pPage.X4, _pRC) 54533 _3: 54534 return 54535 54536 } 54537 54538 var _ptrmapPutOvflPtrØ00__func__Ø000 [17]int8 // - 54539 54540 func init() { 54541 crt.Xstrncpy(nil, &_ptrmapPutOvflPtrØ00__func__Ø000[0], str(58676), 17) 54542 } 54543 54544 func _ptrmapPut(tls *crt.TLS, _pBt *XBtShared, _key uint32, _eType uint8, _parent uint32, _pRC *int32) { // sqlite3.c:59881:1 54545 var _pDbPage *XPgHdr // sqlite3.c:59882:10 54546 _ = _pDbPage 54547 var _pPtrmap *uint8 // sqlite3.c:59883:6 54548 _ = _pPtrmap 54549 var _iPtrmap uint32 // sqlite3.c:59884:8 54550 _ = _iPtrmap 54551 var _offset int32 // sqlite3.c:59885:7 54552 _ = _offset 54553 var _rc int32 // sqlite3.c:59886:7 54554 _ = _rc 54555 if (*_pRC) == 0 { 54556 goto _0 54557 } 54558 54559 return 54560 54561 _0: 54562 func() int32 { 54563 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 54564 return i32(0) 54565 } 54566 return func() int32 { 54567 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59890), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapPutØ00__func__Ø000))), unsafe.Pointer(str(9252))) 54568 crt.X__builtin_abort(tls) 54569 return i32(0) 54570 }() 54571 }() 54572 func() int32 { 54573 if i32(0) == bool2int(_ptrmapPageno(tls, _pBt, (uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) == ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1)))) { 54574 return i32(0) 54575 } 54576 return func() int32 { 54577 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59892), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapPutØ00__func__Ø000))), unsafe.Pointer(str(58696))) 54578 crt.X__builtin_abort(tls) 54579 return i32(0) 54580 }() 54581 }() 54582 func() int32 { 54583 if (_pBt.X5) != 0 { 54584 return i32(0) 54585 } 54586 return func() int32 { 54587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59894), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapPutØ00__func__Ø000))), unsafe.Pointer(str(57372))) 54588 crt.X__builtin_abort(tls) 54589 return i32(0) 54590 }() 54591 }() 54592 if _key != uint32(i32(0)) { 54593 goto _7 54594 } 54595 54596 *_pRC = _sqlite3CorruptError(tls, i32(59896)) 54597 return 54598 54599 _7: 54600 _iPtrmap = _ptrmapPageno(tls, _pBt, _key) 54601 _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _iPtrmap, &_pDbPage, i32(0)) 54602 if _rc == i32(0) { 54603 goto _8 54604 } 54605 54606 *_pRC = _rc 54607 return 54608 54609 _8: 54610 _offset = int32(uint32(i32(5)) * ((_key - _iPtrmap) - uint32(i32(1)))) 54611 if _offset >= i32(0) { 54612 goto _9 54613 } 54614 54615 *_pRC = _sqlite3CorruptError(tls, i32(59907)) 54616 goto _ptrmap_exit 54617 54618 _9: 54619 func() int32 { 54620 if _offset <= (int32(_pBt.X16) - i32(5)) { 54621 return i32(0) 54622 } 54623 return func() int32 { 54624 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59910), unsafe.Pointer((*int8)(unsafe.Pointer(&_ptrmapPutØ00__func__Ø000))), unsafe.Pointer(str(20864))) 54625 crt.X__builtin_abort(tls) 54626 return i32(0) 54627 }() 54628 }() 54629 _pPtrmap = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) 54630 if int32(_eType) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap)) + 1*uintptr(_offset)))) && _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap))+1*uintptr(_offset+i32(1))))) == _parent { 54631 goto _13 54632 } 54633 54634 *_pRC = store961(&_rc, _sqlite3PagerWrite(tls, _pDbPage)) 54635 if _rc != i32(0) { 54636 goto _14 54637 } 54638 54639 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap)) + 1*uintptr(_offset))) = _eType 54640 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPtrmap))+1*uintptr(_offset+i32(1)))), _parent) 54641 _14: 54642 _13: 54643 _ptrmap_exit: 54644 _sqlite3PagerUnref(tls, _pDbPage) 54645 return 54646 54647 } 54648 54649 var _ptrmapPutØ00__func__Ø000 [10]int8 // - 54650 54651 func init() { 54652 crt.Xstrncpy(nil, &_ptrmapPutØ00__func__Ø000[0], str(58744), 10) 54653 } 54654 54655 func _modifyPagePointer(tls *crt.TLS, _pPage *XMemPage, _iFrom uint32, _iTo uint32, _eType uint8) (r0 int32) { // sqlite3.c:62357:1 54656 var _3_i int32 // sqlite3.c:62367:9 54657 _ = _3_i 54658 var _3_nCell int32 // sqlite3.c:62368:9 54659 _ = _3_nCell 54660 var _3_rc int32 // sqlite3.c:62369:9 54661 _ = _3_rc 54662 var _4_pCell *uint8 // sqlite3.c:62376:10 54663 _ = _4_pCell 54664 var _5_info XCellInfo // sqlite3.c:62378:18 54665 _ = _5_info 54666 func() int32 { 54667 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 54668 return i32(0) 54669 } 54670 return func() int32 { 54671 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62358), unsafe.Pointer((*int8)(unsafe.Pointer(&_modifyPagePointerØ00__func__Ø000))), unsafe.Pointer(str(21228))) 54672 crt.X__builtin_abort(tls) 54673 return i32(0) 54674 }() 54675 }() 54676 func() int32 { 54677 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 54678 return i32(0) 54679 } 54680 return func() int32 { 54681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62359), unsafe.Pointer((*int8)(unsafe.Pointer(&_modifyPagePointerØ00__func__Ø000))), unsafe.Pointer(str(56276))) 54682 crt.X__builtin_abort(tls) 54683 return i32(0) 54684 }() 54685 }() 54686 if int32(_eType) != i32(4) { 54687 goto _4 54688 } 54689 54690 if _sqlite3Get4byte(tls, _pPage.X19) == _iFrom { 54691 goto _5 54692 } 54693 54694 r0 = _sqlite3CorruptError(tls, i32(62363)) 54695 return 54696 54697 _5: 54698 _sqlite3Put4byte(tls, _pPage.X19, _iTo) 54699 goto _6 54700 54701 _4: 54702 _3_rc = _btreeInitPage(tls, _pPage) 54703 if _3_rc == 0 { 54704 goto _7 54705 } 54706 54707 r0 = _3_rc 54708 return 54709 54710 _7: 54711 _3_nCell = int32(_pPage.X14) 54712 _3_i = i32(0) 54713 _8: 54714 if _3_i >= _3_nCell { 54715 goto _11 54716 } 54717 54718 _4_pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_3_i))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_3_i))))) + 1*uintptr(i32(1))))))))))))) 54719 if int32(_eType) != i32(3) { 54720 goto _12 54721 } 54722 54723 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 54724 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 54725 }{(_pPage.X25)})))(tls, _pPage, _4_pCell, &_5_info) 54726 if uint32(_5_info.X3) >= (_5_info.X2) { 54727 goto _13 54728 } 54729 54730 if uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_4_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_5_info.X4))))))))) <= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16))))))))) { 54731 goto _14 54732 } 54733 54734 r0 = _sqlite3CorruptError(tls, i32(62382)) 54735 return 54736 54737 _14: 54738 if _iFrom != _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_4_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_5_info.X4)))))))))-uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4))))))))) { 54739 goto _15 54740 } 54741 54742 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_4_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_5_info.X4)))))))))-uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))), _iTo) 54743 goto _11 54744 54745 _15: 54746 _13: 54747 goto _16 54748 54749 _12: 54750 if _sqlite3Get4byte(tls, _4_pCell) != _iFrom { 54751 goto _17 54752 } 54753 54754 _sqlite3Put4byte(tls, _4_pCell, _iTo) 54755 goto _11 54756 54757 _17: 54758 _16: 54759 _3_i += 1 54760 goto _8 54761 54762 _11: 54763 if _3_i != _3_nCell { 54764 goto _18 54765 } 54766 54767 if int32(_eType) == i32(5) && _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8))))) == _iFrom { 54768 goto _20 54769 } 54770 54771 r0 = _sqlite3CorruptError(tls, i32(62400)) 54772 return 54773 54774 _20: 54775 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8)))), _iTo) 54776 _18: 54777 _6: 54778 r0 = i32(0) 54779 return 54780 54781 } 54782 54783 var _modifyPagePointerØ00__func__Ø000 [18]int8 // - 54784 54785 func init() { 54786 crt.Xstrncpy(nil, &_modifyPagePointerØ00__func__Ø000[0], str(58756), 18) 54787 } 54788 54789 func _sqlite3PagerTruncateImage(tls *crt.TLS, _pPager *XPager, _nPage uint32) { // sqlite3.c:50804:1 54790 func() int32 { 54791 if (_pPager.X22) >= _nPage { 54792 return i32(0) 54793 } 54794 return func() int32 { 54795 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50805), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerTruncateImageØ00__func__Ø000))), unsafe.Pointer(str(58776))) 54796 crt.X__builtin_abort(tls) 54797 return i32(0) 54798 }() 54799 }() 54800 func() int32 { 54801 if int32(_pPager.X14) >= i32(3) { 54802 return i32(0) 54803 } 54804 return func() int32 { 54805 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50806), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerTruncateImageØ00__func__Ø000))), unsafe.Pointer(str(13596))) 54806 crt.X__builtin_abort(tls) 54807 return i32(0) 54808 }() 54809 }() 54810 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(28 /* X22 */))) = _nPage 54811 return 54812 54813 } 54814 54815 var _sqlite3PagerTruncateImageØ00__func__Ø000 [26]int8 // - 54816 54817 func init() { 54818 crt.Xstrncpy(nil, &_sqlite3PagerTruncateImageØ00__func__Ø000[0], str(58800), 26) 54819 } 54820 54821 func _sqlite3PagerCommitPhaseOne(tls *crt.TLS, _pPager *XPager, _zMaster *int8, _noSync int32) (r0 int32) { // sqlite3.c:53145:1 54822 var _rc int32 // sqlite3.c:53150:7 54823 _ = _rc 54824 var _3_pList *XPgHdr // sqlite3.c:53180:13 54825 _ = _3_pList 54826 var _3_pPageOne *XPgHdr // sqlite3.c:53181:13 54827 _ = _3_pPageOne 54828 var _9_nNew uint32 // sqlite3.c:53285:14 54829 _ = _9_nNew 54830 _rc = i32(0) 54831 func() int32 { 54832 if (((int32(_pPager.X14) == i32(2)) || (int32(_pPager.X14) == i32(3))) || (int32(_pPager.X14) == i32(4))) || (int32(_pPager.X14) == i32(6)) { 54833 return i32(0) 54834 } 54835 return func() int32 { 54836 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53152), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(58828))) 54837 crt.X__builtin_abort(tls) 54838 return i32(0) 54839 }() 54840 }() 54841 func() int32 { 54842 if _assert_pager_state(tls, _pPager) != 0 { 54843 return i32(0) 54844 } 54845 return func() int32 { 54846 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53157), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(11184))) 54847 crt.X__builtin_abort(tls) 54848 return i32(0) 54849 }() 54850 }() 54851 if func() int32 { 54852 if (_pPager.X26) != 0 { 54853 return func() int32 { 54854 func() int32 { 54855 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53160), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(5204))) 54856 crt.X__builtin_abort(tls) 54857 return i32(0) 54858 }() 54859 return i32(1) 54860 }() 54861 } 54862 return i32(0) 54863 }() == 0 { 54864 goto _9 54865 } 54866 54867 r0 = _pPager.X26 54868 return 54869 54870 _9: 54871 if _sqlite3FaultSim(tls, i32(400)) == 0 { 54872 goto _10 54873 } 54874 54875 r0 = i32(10) 54876 return 54877 54878 _10: 54879 if int32(_pPager.X14) >= i32(3) { 54880 goto _11 54881 } 54882 54883 r0 = i32(0) 54884 return 54885 54886 _11: 54887 func() int32 { 54888 if (int32(_pPager.X13) == i32(0)) || ((_pPager.X10) != 0) { 54889 return i32(0) 54890 } 54891 return func() int32 { 54892 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53171), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(58976))) 54893 crt.X__builtin_abort(tls) 54894 return i32(0) 54895 }() 54896 }() 54897 func() int32 { 54898 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X10) != 0) { 54899 return i32(0) 54900 } 54901 return func() int32 { 54902 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53172), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(20304))) 54903 crt.X__builtin_abort(tls) 54904 return i32(0) 54905 }() 54906 }() 54907 if i32(0) != _pagerFlushOnCommit(tls, _pPager, i32(1)) { 54908 goto _18 54909 } 54910 54911 _sqlite3BackupRestart(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36))) 54912 goto _19 54913 54914 _18: 54915 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 54916 goto _20 54917 } 54918 54919 _3_pList = _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 54920 _3_pPageOne = nil 54921 if _3_pList != (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 54922 goto _21 54923 } 54924 54925 _rc = _sqlite3PagerGet(tls, _pPager, uint32(i32(1)), &_3_pPageOne, i32(0)) 54926 _3_pList = _3_pPageOne 54927 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pList)) + uintptr(12 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 54928 _21: 54929 func() int32 { 54930 if _rc == i32(0) { 54931 return i32(0) 54932 } 54933 return func() int32 { 54934 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53189), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(15360))) 54935 crt.X__builtin_abort(tls) 54936 return i32(0) 54937 }() 54938 }() 54939 if func() int32 { 54940 if _3_pList != nil { 54941 return i32(1) 54942 } 54943 return func() int32 { 54944 func() int32 { 54945 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53190), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(5204))) 54946 crt.X__builtin_abort(tls) 54947 return i32(0) 54948 }() 54949 return i32(0) 54950 }() 54951 }() == 0 { 54952 goto _26 54953 } 54954 54955 _rc = _pagerWalFrames(tls, _pPager, _3_pList, _pPager.X22, i32(1)) 54956 _26: 54957 _sqlite3PagerUnref(tls, _3_pPageOne) 54958 if _rc != i32(0) { 54959 goto _27 54960 } 54961 54962 _sqlite3PcacheCleanAll(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 54963 _27: 54964 goto _28 54965 54966 _20: 54967 _rc = _pager_incr_changecounter(tls, _pPager, i32(0)) 54968 if _rc == i32(0) { 54969 goto _29 54970 } 54971 54972 goto _commit_phase_one_exit 54973 54974 _29: 54975 _rc = _writeMasterJournal(tls, _pPager, _zMaster) 54976 if _rc == i32(0) { 54977 goto _30 54978 } 54979 54980 goto _commit_phase_one_exit 54981 54982 _30: 54983 _rc = _syncJournal(tls, _pPager, i32(0)) 54984 if _rc == i32(0) { 54985 goto _31 54986 } 54987 54988 goto _commit_phase_one_exit 54989 54990 _31: 54991 _rc = _pager_write_pagelist(tls, _pPager, _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)))) 54992 if _rc == i32(0) { 54993 goto _32 54994 } 54995 54996 func() int32 { 54997 if _rc != i32(2826) { 54998 return i32(0) 54999 } 55000 return func() int32 { 55001 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53273), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(59008))) 55002 crt.X__builtin_abort(tls) 55003 return i32(0) 55004 }() 55005 }() 55006 goto _commit_phase_one_exit 55007 55008 _32: 55009 _sqlite3PcacheCleanAll(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 55010 if (_pPager.X22) <= (_pPager.X24) { 55011 goto _35 55012 } 55013 55014 _9_nNew = (_pPager.X22) - uint32(bool2int((_pPager.X22) == uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)))) 55015 func() int32 { 55016 if int32(_pPager.X14) == i32(4) { 55017 return i32(0) 55018 } 55019 return func() int32 { 55020 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53286), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseOneØ00__func__Ø000))), unsafe.Pointer(str(59036))) 55021 crt.X__builtin_abort(tls) 55022 return i32(0) 55023 }() 55024 }() 55025 _rc = _pager_truncate(tls, _pPager, _9_nNew) 55026 if _rc == i32(0) { 55027 goto _38 55028 } 55029 55030 goto _commit_phase_one_exit 55031 55032 _38: 55033 _35: 55034 if _noSync != 0 { 55035 goto _39 55036 } 55037 55038 _rc = _sqlite3PagerSync(tls, _pPager, _zMaster) 55039 _39: 55040 _28: 55041 _19: 55042 _commit_phase_one_exit: 55043 if _rc != i32(0) || (*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 55044 goto _41 55045 } 55046 55047 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(5)) 55048 _41: 55049 r0 = _rc 55050 return 55051 55052 } 55053 55054 var _sqlite3PagerCommitPhaseOneØ00__func__Ø000 [27]int8 // - 55055 55056 func init() { 55057 crt.Xstrncpy(nil, &_sqlite3PagerCommitPhaseOneØ00__func__Ø000[0], str(59072), 27) 55058 } 55059 55060 func _sqlite3FaultSim(tls *crt.TLS, _iTest int32) (r0 int32) { // sqlite3.c:27660:1 55061 var _xCallback func(*crt.TLS, int32) int32 // sqlite3.c:27661:7 55062 _ = _xCallback 55063 _xCallback = _sqlite3Config.X37 55064 r0 = func() int32 { 55065 if _xCallback != nil { 55066 return _xCallback(tls, _iTest) 55067 } 55068 return i32(0) 55069 }() 55070 return 55071 55072 } 55073 55074 func _pagerWalFrames(tls *crt.TLS, _pPager *XPager, _pList *XPgHdr, _nTruncate uint32, _isCommit int32) (r0 int32) { // sqlite3.c:49986:1 55075 var _rc int32 // sqlite3.c:49992:7 55076 _ = _rc 55077 var _nList int32 // sqlite3.c:49993:7 55078 _ = _nList 55079 var _p *XPgHdr // sqlite3.c:49994:9 55080 _ = _p 55081 var _2_ppNext **XPgHdr // sqlite3.c:50011:11 55082 _ = _2_ppNext 55083 func() int32 { 55084 if (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { 55085 return i32(0) 55086 } 55087 return func() int32 { 55088 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49996), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWalFramesØ00__func__Ø000))), unsafe.Pointer(str(59100))) 55089 crt.X__builtin_abort(tls) 55090 return i32(0) 55091 }() 55092 }() 55093 func() int32 { 55094 if _pList != nil { 55095 return i32(0) 55096 } 55097 return func() int32 { 55098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(49997), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWalFramesØ00__func__Ø000))), unsafe.Pointer(str(59116))) 55099 crt.X__builtin_abort(tls) 55100 return i32(0) 55101 }() 55102 }() 55103 _p = _pList 55104 _4: 55105 if _p == nil || (*XPgHdr)(unsafe.Pointer(_p.X3)) == nil { 55106 goto _8 55107 } 55108 55109 func() int32 { 55110 if (_p.X5) < ((*XPgHdr)(unsafe.Pointer(_p.X3)).X5) { 55111 return i32(0) 55112 } 55113 return func() int32 { 55114 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50001), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWalFramesØ00__func__Ø000))), unsafe.Pointer(str(59124))) 55115 crt.X__builtin_abort(tls) 55116 return i32(0) 55117 }() 55118 }() 55119 _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) 55120 goto _4 55121 55122 _8: 55123 func() int32 { 55124 if ((*XPgHdr)(unsafe.Pointer(_pList.X3)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) || _isCommit != 0 { 55125 return i32(0) 55126 } 55127 return func() int32 { 55128 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50005), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWalFramesØ00__func__Ø000))), unsafe.Pointer(str(59152))) 55129 crt.X__builtin_abort(tls) 55130 return i32(0) 55131 }() 55132 }() 55133 if _isCommit == 0 { 55134 goto _14 55135 } 55136 55137 _2_ppNext = &_pList 55138 _nList = i32(0) 55139 _p = _pList 55140 _15: 55141 if store7885869(_2_ppNext, _p) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) { 55142 goto _18 55143 } 55144 55145 if (_p.X5) > _nTruncate { 55146 goto _19 55147 } 55148 55149 _2_ppNext = (**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) 55150 _nList += 1 55151 _19: 55152 _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) 55153 goto _15 55154 55155 _18: 55156 func() int32 { 55157 if _pList != nil { 55158 return i32(0) 55159 } 55160 return func() int32 { 55161 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50019), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerWalFramesØ00__func__Ø000))), unsafe.Pointer(str(59116))) 55162 crt.X__builtin_abort(tls) 55163 return i32(0) 55164 }() 55165 }() 55166 goto _22 55167 55168 _14: 55169 _nList = i32(1) 55170 _22: 55171 { 55172 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(184 /* X55 */))))) + 4*uintptr(i32(2)))) 55173 *p = (*p) + _nList 55174 sink961 = *p 55175 } 55176 if (_pList.X5) != uint32(i32(1)) { 55177 goto _23 55178 } 55179 55180 _pager_write_changecounter(tls, _pList) 55181 _23: 55182 _rc = _sqlite3WalFrames(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _pPager.X48, _pList, _nTruncate, _isCommit, int32(_pPager.X8)) 55183 if _rc != i32(0) || (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)) == nil { 55184 goto _25 55185 } 55186 55187 _p = _pList 55188 _26: 55189 if _p == nil { 55190 goto _29 55191 } 55192 55193 _sqlite3BackupUpdate(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)), _p.X5, (*uint8)(unsafe.Pointer(_p.X1))) 55194 _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) 55195 goto _26 55196 55197 _29: 55198 _25: 55199 r0 = _rc 55200 return 55201 55202 } 55203 55204 var _pagerWalFramesØ00__func__Ø000 [15]int8 // - 55205 55206 func init() { 55207 crt.Xstrncpy(nil, &_pagerWalFramesØ00__func__Ø000[0], str(59184), 15) 55208 } 55209 55210 func _pager_write_changecounter(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:49888:1 55211 var _change_counter uint32 // sqlite3.c:49889:7 55212 _ = _change_counter 55213 _change_counter = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer((*[16]int8)(unsafe.Pointer(uintptr(_pPg.X4)+uintptr(108 /* X40 */)))))))) + uint32(i32(1)) 55214 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(_pPg.X1))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(24)))))))), _change_counter) 55215 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(_pPg.X1))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(92)))))))), _change_counter) 55216 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(_pPg.X1))))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(96)))))))), uint32(i32(3018000))) 55217 return 55218 55219 } 55220 55221 func _sqlite3WalFrames(tls *crt.TLS, _pWal *XWal, _szPage int32, _pList *XPgHdr, _nTruncate uint32, _isCommit int32, _sync_flags int32) (r0 int32) { // sqlite3.c:57441:1 55222 var _rc int32 // sqlite3.c:57449:7 55223 _ = _rc 55224 var _iFrame uint32 // sqlite3.c:57450:7 55225 _ = _iFrame 55226 var _p *XPgHdr // sqlite3.c:57451:9 55227 _ = _p 55228 var _pLast *XPgHdr // sqlite3.c:57452:9 55229 _ = _pLast 55230 var _nExtra int32 // sqlite3.c:57453:7 55231 _ = _nExtra 55232 var _szFrame int32 // sqlite3.c:57454:7 55233 _ = _szFrame 55234 var _iOffset int64 // sqlite3.c:57455:7 55235 _ = _iOffset 55236 var _w XWalWriter // sqlite3.c:57456:13 55237 _ = _w 55238 var _iFirst uint32 // sqlite3.c:57457:7 55239 _ = _iFirst 55240 var _pLive *XWalIndexHdr // sqlite3.c:57458:15 55241 _ = _pLive 55242 var _3_aWalHdr [32]uint8 // sqlite3.c:57492:8 55243 _ = _3_aWalHdr 55244 var _3_aCksum [2]uint32 // sqlite3.c:57493:9 55245 _ = _3_aCksum 55246 var _6_nDbSize int32 // sqlite3.c:57542:9 55247 _ = _6_nDbSize 55248 var _7_iWrite uint32 // sqlite3.c:57549:11 55249 _ = _7_iWrite 55250 var _8_iOff int64 // sqlite3.c:57553:13 55251 _ = _8_iOff 55252 var _8_pData unsafe.Pointer // sqlite3.c:57554:14 55253 _ = _8_pData 55254 var _11_bSync int32 // sqlite3.c:57601:9 55255 _ = _11_bSync 55256 var _12_sectorSize int32 // sqlite3.c:57603:11 55257 _ = _12_sectorSize 55258 var _15_sz int64 // sqlite3.c:57625:9 55259 _ = _15_sz 55260 _pLast = nil 55261 _nExtra = i32(0) 55262 _iFirst = u32(0) 55263 func() int32 { 55264 if _pList != nil { 55265 return i32(0) 55266 } 55267 return func() int32 { 55268 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57460), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(59116))) 55269 crt.X__builtin_abort(tls) 55270 return i32(0) 55271 }() 55272 }() 55273 func() int32 { 55274 if (_pWal.X12) != 0 { 55275 return i32(0) 55276 } 55277 return func() int32 { 55278 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57461), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(15980))) 55279 crt.X__builtin_abort(tls) 55280 return i32(0) 55281 }() 55282 }() 55283 func() int32 { 55284 if (_isCommit != i32(0)) == (_nTruncate != uint32(i32(0))) { 55285 return i32(0) 55286 } 55287 return func() int32 { 55288 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57465), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(59200))) 55289 crt.X__builtin_abort(tls) 55290 return i32(0) 55291 }() 55292 }() 55293 _pLive = _walIndexHdr(tls, _pWal) 55294 if crt.Xmemcmp(tls, (unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))), (unsafe.Pointer)(_pLive), u32(48)) == i32(0) { 55295 goto _6 55296 } 55297 55298 _iFirst = (_pLive.X6) + uint32(i32(1)) 55299 _6: 55300 if i32(0) == store961(&_rc, _walRestartLog(tls, _pWal)) { 55301 goto _7 55302 } 55303 55304 r0 = _rc 55305 return 55306 55307 _7: 55308 _iFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 55309 if _iFrame != uint32(i32(0)) { 55310 goto _8 55311 } 55312 55313 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(0)))), uint32(i32(931071618))) 55314 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(4)))), uint32(i32(3007000))) 55315 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(8)))), uint32(_szPage)) 55316 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(12)))), _pWal.X22) 55317 if (_pWal.X22) != uint32(i32(0)) { 55318 goto _9 55319 } 55320 55321 Xsqlite3_randomness(tls, i32(8), (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(32 /* X9 */))))) 55322 _9: 55323 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(16))))), (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(32 /* X9 */)))), uint32(i32(8))) 55324 _walChecksumBytes(tls, i32(1), (*uint8)(unsafe.Pointer(&_3_aWalHdr)), i32(24), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*uint32)(unsafe.Pointer(&_3_aCksum))) 55325 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(24)))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aCksum)) + 4*uintptr(i32(0))))) 55326 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aWalHdr))+1*uintptr(i32(28)))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aCksum)) + 4*uintptr(i32(1))))) 55327 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(36 /* X8 */))) = uint32(_szPage) 55328 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(13 /* X4 */))) = uint8(i32(0)) 55329 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aCksum)) + 4*uintptr(i32(0)))) 55330 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_aCksum)) + 4*uintptr(i32(1)))) 55331 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(47 /* X15 */))) = uint8(i32(1)) 55332 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(&_3_aWalHdr), int32(u32(32)), int64(i32(0))) 55333 if _rc == i32(0) { 55334 goto _10 55335 } 55336 55337 r0 = _rc 55338 return 55339 55340 _10: 55341 if (_pWal.X16) == 0 || _sync_flags == 0 { 55342 goto _12 55343 } 55344 55345 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _sync_flags&i32(19)) 55346 if _rc == 0 { 55347 goto _13 55348 } 55349 55350 r0 = _rc 55351 return 55352 55353 _13: 55354 _12: 55355 _8: 55356 func() int32 { 55357 if int32(_pWal.X8) == _szPage { 55358 return i32(0) 55359 } 55360 return func() int32 { 55361 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57529), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(59232))) 55362 crt.X__builtin_abort(tls) 55363 return i32(0) 55364 }() 55365 }() 55366 *(**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pWal 55367 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)) 55368 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))) = int64(i32(0)) 55369 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X3 */))) = _sync_flags 55370 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(20 /* X4 */))) = _szPage 55371 _iOffset = int64(i32(32)) + (int64((_iFrame+uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24))) 55372 _szFrame = _szPage + i32(24) 55373 _p = _pList 55374 _16: 55375 if _p == nil { 55376 goto _19 55377 } 55378 55379 if _iFirst == 0 || (*XPgHdr)(unsafe.Pointer(_p.X3)) == nil && _isCommit != i32(0) { 55380 goto _22 55381 } 55382 55383 _7_iWrite = uint32(i32(0)) 55384 _rc = _sqlite3WalFindFrame(tls, _pWal, _p.X5, &_7_iWrite) 55385 func() int32 { 55386 if (_rc == i32(0)) || (_7_iWrite == uint32(i32(0))) { 55387 return i32(0) 55388 } 55389 return func() int32 { 55390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57551), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(59260))) 55391 crt.X__builtin_abort(tls) 55392 return i32(0) 55393 }() 55394 }() 55395 if _7_iWrite < _iFirst { 55396 goto _26 55397 } 55398 55399 _8_iOff = (int64(i32(32)) + (int64(_7_iWrite-uint32(i32(1))) * int64(_szPage+i32(24)))) + int64(i32(24)) 55400 if (_pWal.X20) != uint32(i32(0)) && _7_iWrite >= (_pWal.X20) { 55401 goto _28 55402 } 55403 55404 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(104 /* X20 */))) = _7_iWrite 55405 _28: 55406 _8_pData = _p.X1 55407 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), _8_pData, _szPage, _8_iOff) 55408 if _rc == 0 { 55409 goto _29 55410 } 55411 55412 r0 = _rc 55413 return 55414 55415 _29: 55416 { 55417 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 55418 *p = uint16(int32(*p) & i32(-65)) 55419 sink6908 = *p 55420 } 55421 goto _17 55422 55423 _26: 55424 _22: 55425 _iFrame += 1 55426 func() int32 { 55427 if _iOffset == (int64(i32(32)) + (int64(_iFrame-uint32(i32(1))) * int64(_szPage+i32(24)))) { 55428 return i32(0) 55429 } 55430 return func() int32 { 55431 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57571), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(59288))) 55432 crt.X__builtin_abort(tls) 55433 return i32(0) 55434 }() 55435 }() 55436 _6_nDbSize = int32(func() uint32 { 55437 if _isCommit != 0 && ((*XPgHdr)(unsafe.Pointer(_p.X3)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { 55438 return _nTruncate 55439 } 55440 return uint32(i32(0)) 55441 }()) 55442 _rc = _walWriteOneFrame(tls, &_w, _p, _6_nDbSize, _iOffset) 55443 if _rc == 0 { 55444 goto _35 55445 } 55446 55447 r0 = _rc 55448 return 55449 55450 _35: 55451 _pLast = _p 55452 { 55453 p := &_iOffset 55454 *p = (*p) + int64(_szFrame) 55455 sink967 = *p 55456 } 55457 { 55458 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 55459 *p = uint16(int32(*p) | i32(64)) 55460 sink6908 = *p 55461 } 55462 _17: 55463 _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) 55464 goto _16 55465 55466 _19: 55467 if _isCommit == 0 || (_pWal.X20) == 0 { 55468 goto _37 55469 } 55470 55471 _rc = _walRewriteChecksums(tls, _pWal, _iFrame) 55472 if _rc == 0 { 55473 goto _38 55474 } 55475 55476 r0 = _rc 55477 return 55478 55479 _38: 55480 _37: 55481 if _isCommit == 0 || (_sync_flags&i32(32)) == i32(0) { 55482 goto _40 55483 } 55484 55485 _11_bSync = i32(1) 55486 if (_pWal.X17) == 0 { 55487 goto _41 55488 } 55489 55490 _12_sectorSize = _sqlite3SectorSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2))) 55491 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))) = (((_iOffset + int64(_12_sectorSize)) - int64(i32(1))) / int64(_12_sectorSize)) * int64(_12_sectorSize) 55492 _11_bSync = bool2int((_w.X2) == _iOffset) 55493 _42: 55494 if _iOffset >= (_w.X2) { 55495 goto _43 55496 } 55497 55498 _rc = _walWriteOneFrame(tls, &_w, _pLast, int32(_nTruncate), _iOffset) 55499 if _rc == 0 { 55500 goto _44 55501 } 55502 55503 r0 = _rc 55504 return 55505 55506 _44: 55507 { 55508 p := &_iOffset 55509 *p = (*p) + int64(_szFrame) 55510 sink967 = *p 55511 } 55512 _nExtra += 1 55513 goto _42 55514 55515 _43: 55516 _41: 55517 if _11_bSync == 0 { 55518 goto _45 55519 } 55520 55521 func() int32 { 55522 if _rc == i32(0) { 55523 return i32(0) 55524 } 55525 return func() int32 { 55526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57615), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WalFramesØ00__func__Ø000))), unsafe.Pointer(str(15360))) 55527 crt.X__builtin_abort(tls) 55528 return i32(0) 55529 }() 55530 }() 55531 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_w.X1)), _sync_flags&i32(19)) 55532 _45: 55533 _40: 55534 if _isCommit == 0 || (_pWal.X15) == 0 || (_pWal.X4) < int64(i32(0)) { 55535 goto _50 55536 } 55537 55538 _15_sz = _pWal.X4 55539 if (int64(i32(32)) + (int64(((_iFrame+uint32(_nExtra))+uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24)))) <= (_pWal.X4) { 55540 goto _51 55541 } 55542 55543 _15_sz = int64(i32(32)) + (int64(((_iFrame+uint32(_nExtra))+uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24))) 55544 _51: 55545 _walLimitSize(tls, _pWal, _15_sz) 55546 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(47 /* X15 */))) = uint8(i32(0)) 55547 _50: 55548 _iFrame = (*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6 55549 _p = _pList 55550 _52: 55551 if _p == nil || _rc != i32(0) { 55552 goto _56 55553 } 55554 55555 if (int32(_p.X6) & i32(64)) != i32(0) { 55556 goto _57 55557 } 55558 55559 goto _53 55560 55561 _57: 55562 _iFrame += 1 55563 _rc = _walIndexAppend(tls, _pWal, _iFrame, _p.X5) 55564 _53: 55565 _p = (*XPgHdr)(unsafe.Pointer(_p.X3)) 55566 goto _52 55567 55568 _56: 55569 _58: 55570 if _rc != i32(0) || _nExtra <= i32(0) { 55571 goto _59 55572 } 55573 55574 _iFrame += 1 55575 _nExtra -= 1 55576 _rc = _walIndexAppend(tls, _pWal, _iFrame, _pLast.X5) 55577 goto _58 55578 55579 _59: 55580 if _rc != i32(0) { 55581 goto _61 55582 } 55583 55584 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(14 /* X5 */))) = uint16((_szPage & i32(65280)) | (_szPage >> uint(i32(16)))) 55585 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(16 /* X6 */))) = _iFrame 55586 if _isCommit == 0 { 55587 goto _62 55588 } 55589 55590 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(8 /* X2 */))) += 1 55591 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(20 /* X7 */))) = _nTruncate 55592 _62: 55593 if _isCommit == 0 { 55594 goto _63 55595 } 55596 55597 _walIndexWriteHdr(tls, _pWal) 55598 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(12 /* X3 */))) = _iFrame 55599 _63: 55600 _61: 55601 r0 = _rc 55602 return 55603 55604 } 55605 55606 var _sqlite3WalFramesØ00__func__Ø000 [17]int8 // - 55607 55608 func init() { 55609 crt.Xstrncpy(nil, &_sqlite3WalFramesØ00__func__Ø000[0], str(59328), 17) 55610 } 55611 55612 func _walRestartLog(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57274:1 55613 var _rc int32 // sqlite3.c:57275:7 55614 _ = _rc 55615 var _cnt int32 // sqlite3.c:57276:7 55616 _ = _cnt 55617 var _1_pInfo *XWalCkptInfo // sqlite3.c:57279:26 55618 _ = _1_pInfo 55619 var _2_salt1 uint32 // sqlite3.c:57282:11 55620 _ = _2_salt1 55621 var _5_notUsed int32 // sqlite3.c:57305:11 55622 _ = _5_notUsed 55623 _rc = i32(0) 55624 if int32(_pWal.X9) != i32(0) { 55625 goto _0 55626 } 55627 55628 _1_pInfo = _walCkptInfo(tls, _pWal) 55629 func() int32 { 55630 if (_1_pInfo.X0) == ((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(52 /* X18 */))).X6) { 55631 return i32(0) 55632 } 55633 return func() int32 { 55634 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57280), unsafe.Pointer((*int8)(unsafe.Pointer(&_walRestartLogØ00__func__Ø000))), unsafe.Pointer(str(23916))) 55635 crt.X__builtin_abort(tls) 55636 return i32(0) 55637 }() 55638 }() 55639 if (_1_pInfo.X0) <= uint32(i32(0)) { 55640 goto _3 55641 } 55642 55643 Xsqlite3_randomness(tls, i32(4), (unsafe.Pointer)(&_2_salt1)) 55644 _rc = _walLockExclusive(tls, _pWal, i32(4), i32(4)) 55645 if _rc != i32(0) { 55646 goto _4 55647 } 55648 55649 _walRestartHdr(tls, _pWal, _2_salt1) 55650 _walUnlockExclusive(tls, _pWal, i32(4), i32(4)) 55651 goto _5 55652 55653 _4: 55654 if _rc == i32(5) { 55655 goto _6 55656 } 55657 55658 r0 = _rc 55659 return 55660 55661 _6: 55662 _5: 55663 _3: 55664 _walUnlockShared(tls, _pWal, i32(3)) 55665 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(40 /* X9 */))) = int16(i32(-1)) 55666 _cnt = i32(0) 55667 _7: 55668 _rc = _walTryBeginRead(tls, _pWal, &_5_notUsed, i32(1), preInc961(&_cnt, 1)) 55669 if _rc == i32(-1) { 55670 goto _7 55671 } 55672 55673 func() int32 { 55674 if (_rc & i32(255)) != i32(5) { 55675 return i32(0) 55676 } 55677 return func() int32 { 55678 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57308), unsafe.Pointer((*int8)(unsafe.Pointer(&_walRestartLogØ00__func__Ø000))), unsafe.Pointer(str(59348))) 55679 crt.X__builtin_abort(tls) 55680 return i32(0) 55681 }() 55682 }() 55683 _0: 55684 r0 = _rc 55685 return 55686 55687 } 55688 55689 var _walRestartLogØ00__func__Ø000 [14]int8 // - 55690 55691 func init() { 55692 crt.Xstrncpy(nil, &_walRestartLogØ00__func__Ø000[0], str(59372), 14) 55693 } 55694 55695 func _walWriteOneFrame(tls *crt.TLS, _p *XWalWriter, _pPage *XPgHdr, _nTruncate int32, _iOffset int64) (r0 int32) { // sqlite3.c:57362:1 55696 var _rc int32 // sqlite3.c:57368:7 55697 _ = _rc 55698 var _pData unsafe.Pointer // sqlite3.c:57369:8 55699 _ = _pData 55700 var _aFrame [24]uint8 // sqlite3.c:57370:6 55701 _ = _aFrame 55702 _pData = _pPage.X1 55703 _walEncodeFrame(tls, (*XWal)(unsafe.Pointer(_p.X0)), _pPage.X5, uint32(_nTruncate), (*uint8)(unsafe.Pointer(_pData)), (*uint8)(unsafe.Pointer(&_aFrame))) 55704 _rc = _walWriteToLog(tls, _p, (unsafe.Pointer)(&_aFrame), int32(u32(24)), _iOffset) 55705 if _rc == 0 { 55706 goto _0 55707 } 55708 55709 r0 = _rc 55710 return 55711 55712 _0: 55713 _rc = _walWriteToLog(tls, _p, _pData, _p.X4, _iOffset+int64(u32(24))) 55714 r0 = _rc 55715 return 55716 55717 } 55718 55719 func _walEncodeFrame(tls *crt.TLS, _pWal *XWal, _iPage uint32, _nTruncate uint32, _aData *uint8, _aFrame *uint8) { // sqlite3.c:55090:1 55720 var _nativeCksum int32 // sqlite3.c:55097:7 55721 _ = _nativeCksum 55722 var _aCksum *uint32 // sqlite3.c:55098:7 55723 _ = _aCksum 55724 _aCksum = (*uint32)(unsafe.Pointer((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))))) + uintptr(24 /* X8 */))))) 55725 i32(0) 55726 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(0)))), _iPage) 55727 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(4)))), _nTruncate) 55728 if (_pWal.X20) != uint32(i32(0)) { 55729 goto _0 55730 } 55731 55732 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(8))))), (unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(32 /* X9 */)))), uint32(i32(8))) 55733 _nativeCksum = bool2int(int32((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */))).X4) == i32(0)) 55734 _walChecksumBytes(tls, _nativeCksum, _aFrame, i32(8), _aCksum, _aCksum) 55735 _walChecksumBytes(tls, _nativeCksum, _aData, int32(_pWal.X8), _aCksum, _aCksum) 55736 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(16)))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCksum)) + 4*uintptr(i32(0))))) 55737 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(20)))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCksum)) + 4*uintptr(i32(1))))) 55738 goto _1 55739 55740 _0: 55741 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrame))+1*uintptr(i32(8))))), i32(0), uint32(i32(16))) 55742 _1: 55743 return 55744 55745 } 55746 55747 func _walWriteToLog(tls *crt.TLS, _p *XWalWriter, _pContent unsafe.Pointer, _iAmt int32, _iOffset int64) (r0 int32) { // sqlite3.c:57337:1 55748 var _rc int32 // sqlite3.c:57343:7 55749 _ = _rc 55750 var _1_iFirstAmt int32 // sqlite3.c:57345:9 55751 _ = _1_iFirstAmt 55752 if _iOffset >= (_p.X2) || (_iOffset+int64(_iAmt)) < (_p.X2) { 55753 goto _1 55754 } 55755 55756 _1_iFirstAmt = int32((_p.X2) - _iOffset) 55757 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X1)), _pContent, _1_iFirstAmt, _iOffset) 55758 if _rc == 0 { 55759 goto _2 55760 } 55761 55762 r0 = _rc 55763 return 55764 55765 _2: 55766 { 55767 p := &_iOffset 55768 *p = (*p) + int64(_1_iFirstAmt) 55769 sink967 = *p 55770 } 55771 { 55772 p := &_iAmt 55773 *p = (*p) - _1_iFirstAmt 55774 sink961 = *p 55775 } 55776 _pContent = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_1_iFirstAmt))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pContent))))))) 55777 func() int32 { 55778 if ((_p.X3) & i32(3)) != 0 { 55779 return i32(0) 55780 } 55781 return func() int32 { 55782 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57351), unsafe.Pointer((*int8)(unsafe.Pointer(&_walWriteToLogØ00__func__Ø000))), unsafe.Pointer(str(59388))) 55783 crt.X__builtin_abort(tls) 55784 return i32(0) 55785 }() 55786 }() 55787 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X1)), (_p.X3)&i32(19)) 55788 if _iAmt != i32(0) && _rc == 0 { 55789 goto _6 55790 } 55791 55792 r0 = _rc 55793 return 55794 55795 _6: 55796 _1: 55797 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X1)), _pContent, _iAmt, _iOffset) 55798 r0 = _rc 55799 return 55800 55801 } 55802 55803 var _walWriteToLogØ00__func__Ø000 [14]int8 // - 55804 55805 func init() { 55806 crt.Xstrncpy(nil, &_walWriteToLogØ00__func__Ø000[0], str(59444), 14) 55807 } 55808 55809 func _walRewriteChecksums(tls *crt.TLS, _pWal *XWal, _iLast uint32) (r0 int32) { // sqlite3.c:57392:1 55810 var _szPage int32 // sqlite3.c:57393:13 55811 _ = _szPage 55812 var _rc int32 // sqlite3.c:57394:7 55813 _ = _rc 55814 var _aBuf *uint8 // sqlite3.c:57395:6 55815 _ = _aBuf 55816 var _aFrame [24]uint8 // sqlite3.c:57396:6 55817 _ = _aFrame 55818 var _iRead uint32 // sqlite3.c:57397:7 55819 _ = _iRead 55820 var _iCksumOff int64 // sqlite3.c:57398:7 55821 _ = _iCksumOff 55822 var _3_iOff int64 // sqlite3.c:57421:9 55823 _ = _3_iOff 55824 var _4_iPgno uint32 // sqlite3.c:57424:11 55825 _ = _4_iPgno 55826 var _4_nDbSize uint32 // sqlite3.c:57424:18 55827 _ = _4_nDbSize 55828 _szPage = int32(_pWal.X8) 55829 _rc = i32(0) 55830 _aBuf = (*uint8)(unsafe.Pointer(Xsqlite3_malloc(tls, _szPage+i32(24)))) 55831 if _aBuf != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 55832 goto _0 55833 } 55834 55835 r0 = _sqlite3NomemError(tls, i32(57401)) 55836 return 55837 55838 _0: 55839 func() int32 { 55840 if (_pWal.X20) > uint32(i32(0)) { 55841 return i32(0) 55842 } 55843 return func() int32 { 55844 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(57408), unsafe.Pointer((*int8)(unsafe.Pointer(&_walRewriteChecksumsØ00__func__Ø000))), unsafe.Pointer(str(59460))) 55845 crt.X__builtin_abort(tls) 55846 return i32(0) 55847 }() 55848 }() 55849 if (_pWal.X20) != uint32(i32(1)) { 55850 goto _3 55851 } 55852 55853 _iCksumOff = int64(i32(24)) 55854 goto _4 55855 55856 _3: 55857 _iCksumOff = (int64(i32(32)) + (int64(((_pWal.X20)-uint32(i32(1)))-uint32(i32(1))) * int64(_szPage+i32(24)))) + int64(i32(16)) 55858 _4: 55859 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_aBuf), int32(u32(8)), _iCksumOff) 55860 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(0)))) = _sqlite3Get4byte(tls, _aBuf) 55861 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWalIndexHdr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal))+uintptr(52 /* X18 */)))))+uintptr(24 /* X8 */))))) + 4*uintptr(i32(1)))) = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aBuf))+1*uintptr(u32(4))))) 55862 _iRead = _pWal.X20 55863 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(104 /* X20 */))) = uint32(i32(0)) 55864 _5: 55865 if _rc != i32(0) || _iRead > _iLast { 55866 goto _9 55867 } 55868 55869 _3_iOff = int64(i32(32)) + (int64(_iRead-uint32(i32(1))) * int64(_szPage+i32(24))) 55870 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(_aBuf), _szPage+i32(24), _3_iOff) 55871 if _rc != i32(0) { 55872 goto _10 55873 } 55874 55875 _4_iPgno = _sqlite3Get4byte(tls, _aBuf) 55876 _4_nDbSize = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aBuf))+1*uintptr(i32(4))))) 55877 _walEncodeFrame(tls, _pWal, _4_iPgno, _4_nDbSize, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aBuf))+1*uintptr(i32(24)))), (*uint8)(unsafe.Pointer(&_aFrame))) 55878 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)), (unsafe.Pointer)(&_aFrame), int32(u32(24)), _3_iOff) 55879 _10: 55880 _iRead += 1 55881 goto _5 55882 55883 _9: 55884 Xsqlite3_free(tls, (unsafe.Pointer)(_aBuf)) 55885 r0 = _rc 55886 return 55887 55888 } 55889 55890 var _walRewriteChecksumsØ00__func__Ø000 [20]int8 // - 55891 55892 func init() { 55893 crt.Xstrncpy(nil, &_walRewriteChecksumsØ00__func__Ø000[0], str(59480), 20) 55894 } 55895 55896 func _pager_incr_changecounter(tls *crt.TLS, _pPager *XPager, _isDirectMode int32) (r0 int32) { // sqlite3.c:52994:1 55897 var _rc int32 // sqlite3.c:52995:7 55898 _ = _rc 55899 var _1_pPgHdr *XPgHdr // sqlite3.c:53021:11 55900 _ = _1_pPgHdr 55901 var _4_zBuf unsafe.Pointer // sqlite3.c:53044:20 55902 _ = _4_zBuf 55903 var _6_pCopy unsafe.Pointer // sqlite3.c:53055:22 55904 _ = _6_pCopy 55905 _rc = i32(0) 55906 func() int32 { 55907 if (int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4)) { 55908 return i32(0) 55909 } 55910 return func() int32 { 55911 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(52997), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(58056))) 55912 crt.X__builtin_abort(tls) 55913 return i32(0) 55914 }() 55915 }() 55916 func() int32 { 55917 if _assert_pager_state(tls, _pPager) != 0 { 55918 return i32(0) 55919 } 55920 return func() int32 { 55921 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53000), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(11184))) 55922 crt.X__builtin_abort(tls) 55923 return i32(0) 55924 }() 55925 }() 55926 func() int32 { 55927 if _isDirectMode == i32(0) { 55928 return i32(0) 55929 } 55930 return func() int32 { 55931 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53014), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(59500))) 55932 crt.X__builtin_abort(tls) 55933 return i32(0) 55934 }() 55935 }() 55936 55937 if (_pPager.X16) != 0 || func() int32 { 55938 if (_pPager.X22) > uint32(i32(0)) { 55939 return i32(1) 55940 } 55941 return func() int32 { 55942 func() int32 { 55943 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53020), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(5204))) 55944 crt.X__builtin_abort(tls) 55945 return i32(0) 55946 }() 55947 return i32(0) 55948 }() 55949 }() == 0 { 55950 goto _10 55951 } 55952 55953 func() int32 { 55954 if ((_pPager.X10) == 0) && ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 55955 return i32(0) 55956 } 55957 return func() int32 { 55958 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53023), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(59516))) 55959 crt.X__builtin_abort(tls) 55960 return i32(0) 55961 }() 55962 }() 55963 _rc = _sqlite3PagerGet(tls, _pPager, uint32(i32(1)), &_1_pPgHdr, i32(0)) 55964 func() int32 { 55965 if (_1_pPgHdr == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) || (_rc == i32(0)) { 55966 return i32(0) 55967 } 55968 return func() int32 { 55969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53027), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(59556))) 55970 crt.X__builtin_abort(tls) 55971 return i32(0) 55972 }() 55973 }() 55974 if i32(1) == 0 || func() int32 { 55975 if _rc == i32(0) { 55976 return i32(1) 55977 } 55978 return func() int32 { 55979 func() int32 { 55980 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53034), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_incr_changecounterØ00__func__Ø000))), unsafe.Pointer(str(5204))) 55981 crt.X__builtin_abort(tls) 55982 return i32(0) 55983 }() 55984 return i32(0) 55985 }() 55986 }() == 0 { 55987 goto _20 55988 } 55989 55990 _rc = _sqlite3PagerWrite(tls, _1_pPgHdr) 55991 _20: 55992 if _rc != i32(0) { 55993 goto _21 55994 } 55995 55996 _pager_write_changecounter(tls, _1_pPgHdr) 55997 goto _22 55998 55999 _22: 56000 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = uint8(i32(1)) 56001 _21: 56002 _sqlite3PagerUnref(tls, _1_pPgHdr) 56003 _10: 56004 r0 = _rc 56005 return 56006 56007 } 56008 56009 var _pager_incr_changecounterØ00__func__Ø000 [25]int8 // - 56010 56011 func init() { 56012 crt.Xstrncpy(nil, &_pager_incr_changecounterØ00__func__Ø000[0], str(59584), 25) 56013 } 56014 56015 func _writeMasterJournal(tls *crt.TLS, _pPager *XPager, _zMaster *int8) (r0 int32) { // sqlite3.c:48534:1 56016 var _rc int32 // sqlite3.c:48535:7 56017 _ = _rc 56018 var _nMaster int32 // sqlite3.c:48536:7 56019 _ = _nMaster 56020 var _iHdrOff int64 // sqlite3.c:48537:7 56021 _ = _iHdrOff 56022 var _jrnlSize int64 // sqlite3.c:48538:7 56023 _ = _jrnlSize 56024 var _cksum uint32 // sqlite3.c:48539:7 56025 _ = _cksum 56026 _cksum = u32(0) 56027 func() int32 { 56028 if int32(_pPager.X17) == i32(0) { 56029 return i32(0) 56030 } 56031 return func() int32 { 56032 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48541), unsafe.Pointer((*int8)(unsafe.Pointer(&_writeMasterJournalØ00__func__Ø000))), unsafe.Pointer(str(12224))) 56033 crt.X__builtin_abort(tls) 56034 return i32(0) 56035 }() 56036 }() 56037 func() int32 { 56038 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 56039 return i32(0) 56040 } 56041 return func() int32 { 56042 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48542), unsafe.Pointer((*int8)(unsafe.Pointer(&_writeMasterJournalØ00__func__Ø000))), unsafe.Pointer(str(12376))) 56043 crt.X__builtin_abort(tls) 56044 return i32(0) 56045 }() 56046 }() 56047 if _zMaster != nil && int32(_pPager.X2) != i32(4) && (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 56048 goto _6 56049 } 56050 56051 r0 = i32(0) 56052 return 56053 56054 _6: 56055 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(20 /* X17 */))) = uint8(i32(1)) 56056 func() int32 { 56057 if (_pPager.X35) <= (_pPager.X34) { 56058 return i32(0) 56059 } 56060 return func() int32 { 56061 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(48551), unsafe.Pointer((*int8)(unsafe.Pointer(&_writeMasterJournalØ00__func__Ø000))), unsafe.Pointer(str(13964))) 56062 crt.X__builtin_abort(tls) 56063 return i32(0) 56064 }() 56065 }() 56066 _nMaster = i32(0) 56067 _9: 56068 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_nMaster)))) == 0 { 56069 goto _12 56070 } 56071 56072 { 56073 p := &_cksum 56074 *p = (*p) + uint32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zMaster)) + 1*uintptr(_nMaster)))) 56075 sink985 = *p 56076 } 56077 _nMaster += 1 56078 goto _9 56079 56080 _12: 56081 if (_pPager.X5) == 0 { 56082 goto _13 56083 } 56084 56085 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) = _journalHdrOffset(tls, _pPager) 56086 _13: 56087 _iHdrOff = _pPager.X34 56088 if i32(0) == store961(&_rc, _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _iHdrOff, uint32((_sqlite3PendingByte/(_pPager.X48))+i32(1)))) && i32(0) == store961(&_rc, _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(_zMaster), _nMaster, _iHdrOff+int64(i32(4)))) && i32(0) == store961(&_rc, _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (_iHdrOff+int64(i32(4)))+int64(_nMaster), uint32(_nMaster))) && i32(0) == store961(&_rc, _write32bits(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), ((_iHdrOff+int64(i32(4)))+int64(_nMaster))+int64(i32(4)), _cksum)) && i32(0) == store961(&_rc, _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_aJournalMagic), i32(8), ((_iHdrOff+int64(i32(4)))+int64(_nMaster))+int64(i32(8)))) { 56089 goto _18 56090 } 56091 56092 r0 = _rc 56093 return 56094 56095 _18: 56096 { 56097 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(76 /* X34 */))) 56098 *p = (*p) + int64(_nMaster+i32(20)) 56099 sink967 = *p 56100 } 56101 if i32(0) != store961(&_rc, _sqlite3OsFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), &_jrnlSize)) || _jrnlSize <= (_pPager.X34) { 56102 goto _20 56103 } 56104 56105 _rc = _sqlite3OsTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), _pPager.X34) 56106 _20: 56107 r0 = _rc 56108 return 56109 56110 } 56111 56112 var _writeMasterJournalØ00__func__Ø000 [19]int8 // - 56113 56114 func init() { 56115 crt.Xstrncpy(nil, &_writeMasterJournalØ00__func__Ø000[0], str(59612), 19) 56116 } 56117 56118 func _syncJournal(tls *crt.TLS, _pPager *XPager, _newHdr int32) (r0 int32) { // sqlite3.c:51046:1 56119 var _rc int32 // sqlite3.c:51047:7 56120 _ = _rc 56121 var _2_iDc int32 // sqlite3.c:51061:17 56122 _ = _2_iDc 56123 var _3_iNextHdrOffset int64 // sqlite3.c:51087:13 56124 _ = _3_iNextHdrOffset 56125 var _3_aMagic [8]uint8 // sqlite3.c:51088:12 56126 _ = _3_aMagic 56127 var _3_zHeader [12]uint8 // sqlite3.c:51089:12 56128 _ = _3_zHeader 56129 func() int32 { 56130 if (int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4)) { 56131 return i32(0) 56132 } 56133 return func() int32 { 56134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51049), unsafe.Pointer((*int8)(unsafe.Pointer(&_syncJournalØ00__func__Ø000))), unsafe.Pointer(str(58056))) 56135 crt.X__builtin_abort(tls) 56136 return i32(0) 56137 }() 56138 }() 56139 func() int32 { 56140 if _assert_pager_state(tls, _pPager) != 0 { 56141 return i32(0) 56142 } 56143 return func() int32 { 56144 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51052), unsafe.Pointer((*int8)(unsafe.Pointer(&_syncJournalØ00__func__Ø000))), unsafe.Pointer(str(11184))) 56145 crt.X__builtin_abort(tls) 56146 return i32(0) 56147 }() 56148 }() 56149 func() int32 { 56150 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 56151 return i32(0) 56152 } 56153 return func() int32 { 56154 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51053), unsafe.Pointer((*int8)(unsafe.Pointer(&_syncJournalØ00__func__Ø000))), unsafe.Pointer(str(12376))) 56155 crt.X__builtin_abort(tls) 56156 return i32(0) 56157 }() 56158 }() 56159 _rc = _sqlite3PagerExclusiveLock(tls, _pPager) 56160 if _rc == i32(0) { 56161 goto _7 56162 } 56163 56164 r0 = _rc 56165 return 56166 56167 _7: 56168 if (_pPager.X4) != 0 { 56169 goto _8 56170 } 56171 56172 func() int32 { 56173 if (_pPager.X10) == 0 { 56174 return i32(0) 56175 } 56176 return func() int32 { 56177 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51059), unsafe.Pointer((*int8)(unsafe.Pointer(&_syncJournalØ00__func__Ø000))), unsafe.Pointer(str(54544))) 56178 crt.X__builtin_abort(tls) 56179 return i32(0) 56180 }() 56181 }() 56182 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pPager.X2) == i32(4) { 56183 goto _12 56184 } 56185 56186 _2_iDc = _sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) 56187 func() int32 { 56188 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 56189 return i32(0) 56190 } 56191 return func() int32 { 56192 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51062), unsafe.Pointer((*int8)(unsafe.Pointer(&_syncJournalØ00__func__Ø000))), unsafe.Pointer(str(13904))) 56193 crt.X__builtin_abort(tls) 56194 return i32(0) 56195 }() 56196 }() 56197 if i32(0) != (_2_iDc & i32(512)) { 56198 goto _15 56199 } 56200 56201 crt.Xmemcpy(tls, (unsafe.Pointer)(&_3_zHeader), (unsafe.Pointer)(&_aJournalMagic), u32(8)) 56202 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_zHeader))+1*uintptr(u32(8)))), uint32(_pPager.X27)) 56203 _3_iNextHdrOffset = _journalHdrOffset(tls, _pPager) 56204 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_3_aMagic), i32(8), _3_iNextHdrOffset) 56205 if _rc != i32(0) || i32(0) != crt.Xmemcmp(tls, (unsafe.Pointer)(&_3_aMagic), (unsafe.Pointer)(&_aJournalMagic), uint32(i32(8))) { 56206 goto _17 56207 } 56208 56209 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_syncJournalØ00zerobyteØ001), i32(1), _3_iNextHdrOffset) 56210 _17: 56211 if _rc == i32(0) || _rc == i32(522) { 56212 goto _19 56213 } 56214 56215 r0 = _rc 56216 return 56217 56218 _19: 56219 if (_pPager.X5) == 0 || i32(0) != (_2_iDc&i32(1024)) { 56220 goto _21 56221 } 56222 56223 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int32(_pPager.X9)) 56224 if _rc == i32(0) { 56225 goto _22 56226 } 56227 56228 r0 = _rc 56229 return 56230 56231 _22: 56232 _21: 56233 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), (unsafe.Pointer)(&_3_zHeader), int32(u32(12)), _pPager.X35) 56234 if _rc == i32(0) { 56235 goto _23 56236 } 56237 56238 r0 = _rc 56239 return 56240 56241 _23: 56242 _15: 56243 if i32(0) != (_2_iDc & i32(1024)) { 56244 goto _24 56245 } 56246 56247 _rc = _sqlite3OsSync(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)), int32(_pPager.X9)|func() int32 { 56248 if int32(_pPager.X9) == i32(3) { 56249 return i32(16) 56250 } 56251 return i32(0) 56252 }()) 56253 if _rc == i32(0) { 56254 goto _27 56255 } 56256 56257 r0 = _rc 56258 return 56259 56260 _27: 56261 _24: 56262 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(84 /* X35 */))) = _pPager.X34 56263 if _newHdr == 0 || i32(0) != (_2_iDc&i32(512)) { 56264 goto _29 56265 } 56266 56267 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(48 /* X27 */))) = i32(0) 56268 _rc = _writeJournalHdr(tls, _pPager) 56269 if _rc == i32(0) { 56270 goto _30 56271 } 56272 56273 r0 = _rc 56274 return 56275 56276 _30: 56277 _29: 56278 goto _31 56279 56280 _12: 56281 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(84 /* X35 */))) = _pPager.X34 56282 _31: 56283 _8: 56284 _sqlite3PcacheClearSyncFlags(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 56285 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(4)) 56286 func() int32 { 56287 if _assert_pager_state(tls, _pPager) != 0 { 56288 return i32(0) 56289 } 56290 return func() int32 { 56291 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51153), unsafe.Pointer((*int8)(unsafe.Pointer(&_syncJournalØ00__func__Ø000))), unsafe.Pointer(str(11184))) 56292 crt.X__builtin_abort(tls) 56293 return i32(0) 56294 }() 56295 }() 56296 r0 = i32(0) 56297 return 56298 56299 } 56300 56301 var _syncJournalØ00__func__Ø000 [12]int8 // - 56302 56303 func init() { 56304 crt.Xstrncpy(nil, &_syncJournalØ00__func__Ø000[0], str(59632), 12) 56305 } 56306 56307 func _sqlite3PagerExclusiveLock(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53103:1 56308 var _rc int32 // sqlite3.c:53104:7 56309 _ = _rc 56310 _rc = _pPager.X26 56311 func() int32 { 56312 if _assert_pager_state(tls, _pPager) != 0 { 56313 return i32(0) 56314 } 56315 return func() int32 { 56316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53105), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerExclusiveLockØ00__func__Ø000))), unsafe.Pointer(str(11184))) 56317 crt.X__builtin_abort(tls) 56318 return i32(0) 56319 }() 56320 }() 56321 if _rc != i32(0) { 56322 goto _2 56323 } 56324 56325 func() int32 { 56326 if ((int32(_pPager.X14) == i32(3)) || (int32(_pPager.X14) == i32(4))) || (int32(_pPager.X14) == i32(2)) { 56327 return i32(0) 56328 } 56329 return func() int32 { 56330 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53107), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerExclusiveLockØ00__func__Ø000))), unsafe.Pointer(str(59644))) 56331 crt.X__builtin_abort(tls) 56332 return i32(0) 56333 }() 56334 }() 56335 func() int32 { 56336 if _assert_pager_state(tls, _pPager) != 0 { 56337 return i32(0) 56338 } 56339 return func() int32 { 56340 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerExclusiveLockØ00__func__Ø000))), unsafe.Pointer(str(11184))) 56341 crt.X__builtin_abort(tls) 56342 return i32(0) 56343 }() 56344 }() 56345 if i32(0) != bool2int((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) { 56346 goto _9 56347 } 56348 56349 _rc = _pager_wait_on_lock(tls, _pPager, i32(4)) 56350 _9: 56351 _2: 56352 r0 = _rc 56353 return 56354 56355 } 56356 56357 var _sqlite3PagerExclusiveLockØ00__func__Ø000 [26]int8 // - 56358 56359 func init() { 56360 crt.Xstrncpy(nil, &_sqlite3PagerExclusiveLockØ00__func__Ø000[0], str(59760), 26) 56361 } 56362 56363 var _syncJournalØ00zerobyteØ001 uint8 // sqlite3.c:51097:27 56364 56365 func _sqlite3PcacheClearSyncFlags(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44693:1 56366 var _p *XPgHdr // sqlite3.c:44694:9 56367 _ = _p 56368 _p = (*XPgHdr)(unsafe.Pointer(_pCache.X0)) 56369 _0: 56370 if _p == nil { 56371 goto _3 56372 } 56373 56374 { 56375 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) 56376 *p = uint16(int32(*p) & i32(-9)) 56377 sink6908 = *p 56378 } 56379 _p = (*XPgHdr)(unsafe.Pointer(_p.X9)) 56380 goto _0 56381 56382 _3: 56383 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(8 /* X2 */))))) = (*XPgHdr)(unsafe.Pointer(_pCache.X1)) 56384 return 56385 56386 } 56387 56388 func _pager_write_pagelist(tls *crt.TLS, _pPager *XPager, _pList *XPgHdr) (r0 int32) { // sqlite3.c:51189:1 56389 var _rc int32 // sqlite3.c:51190:7 56390 _ = _rc 56391 var _2_szFile int64 // sqlite3.c:51215:19 56392 _ = _2_szFile 56393 var _3_pgno uint32 // sqlite3.c:51221:10 56394 _ = _3_pgno 56395 var _4_offset int64 // sqlite3.c:51232:11 56396 _ = _4_offset 56397 var _4_pData *int8 // sqlite3.c:51233:12 56398 _ = _4_pData 56399 _rc = i32(0) 56400 func() int32 { 56401 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 56402 return i32(0) 56403 } 56404 return func() int32 { 56405 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51193), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(12376))) 56406 crt.X__builtin_abort(tls) 56407 return i32(0) 56408 }() 56409 }() 56410 func() int32 { 56411 if ((_pPager.X10) != 0) || (int32(_pPager.X14) == i32(4)) { 56412 return i32(0) 56413 } 56414 return func() int32 { 56415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51194), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(59788))) 56416 crt.X__builtin_abort(tls) 56417 return i32(0) 56418 }() 56419 }() 56420 func() int32 { 56421 if int32(_pPager.X15) == i32(4) { 56422 return i32(0) 56423 } 56424 return func() int32 { 56425 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51195), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(19588))) 56426 crt.X__builtin_abort(tls) 56427 return i32(0) 56428 }() 56429 }() 56430 func() int32 { 56431 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((*XPgHdr)(unsafe.Pointer(_pList.X3)) == (*XPgHdr)(unsafe.Pointer(uintptr(i32(0))))) { 56432 return i32(0) 56433 } 56434 return func() int32 { 56435 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51196), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(59844))) 56436 crt.X__builtin_abort(tls) 56437 return i32(0) 56438 }() 56439 }() 56440 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 56441 goto _10 56442 } 56443 56444 func() int32 { 56445 if ((_pPager.X10) != 0) && (_rc == i32(0)) { 56446 return i32(0) 56447 } 56448 return func() int32 { 56449 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51203), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(59884))) 56450 crt.X__builtin_abort(tls) 56451 return i32(0) 56452 }() 56453 }() 56454 _rc = _pagerOpentemp(tls, _pPager, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), int32(_pPager.X46)) 56455 _10: 56456 func() int32 { 56457 if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 56458 return i32(0) 56459 } 56460 return func() int32 { 56461 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51210), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(59920))) 56462 crt.X__builtin_abort(tls) 56463 return i32(0) 56464 }() 56465 }() 56466 if _rc != i32(0) || (_pPager.X25) >= (_pPager.X22) || (*XPgHdr)(unsafe.Pointer(_pList.X3)) == nil && (_pList.X5) <= (_pPager.X25) { 56467 goto _20 56468 } 56469 56470 _2_szFile = int64(_pPager.X48) * int64(_pPager.X22) 56471 _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(5), (unsafe.Pointer)(&_2_szFile)) 56472 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(40 /* X25 */))) = _pPager.X22 56473 _20: 56474 _21: 56475 if _rc != i32(0) || _pList == nil { 56476 goto _22 56477 } 56478 56479 _3_pgno = _pList.X5 56480 if _3_pgno > (_pPager.X22) || i32(0) != (int32(_pList.X6)&i32(16)) { 56481 goto _25 56482 } 56483 56484 _4_offset = int64(_3_pgno-uint32(i32(1))) * int64(_pPager.X48) 56485 func() int32 { 56486 if (int32(_pList.X6) & i32(8)) == i32(0) { 56487 return i32(0) 56488 } 56489 return func() int32 { 56490 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51235), unsafe.Pointer((*int8)(unsafe.Pointer(&_pager_write_pagelistØ00__func__Ø000))), unsafe.Pointer(str(59956))) 56491 crt.X__builtin_abort(tls) 56492 return i32(0) 56493 }() 56494 }() 56495 if (_pList.X5) != uint32(i32(1)) { 56496 goto _28 56497 } 56498 56499 _pager_write_changecounter(tls, _pList) 56500 _28: 56501 _4_pData = (*int8)(unsafe.Pointer(_pList.X1)) 56502 _rc = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_4_pData), _pPager.X48, _4_offset) 56503 if _3_pgno != uint32(i32(1)) { 56504 goto _29 56505 } 56506 56507 crt.Xmemcpy(tls, (unsafe.Pointer)((*[16]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(108 /* X40 */)))), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pData))+1*uintptr(i32(24))))), u32(16)) 56508 _29: 56509 if _3_pgno <= (_pPager.X24) { 56510 goto _30 56511 } 56512 56513 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(36 /* X24 */))) = _3_pgno 56514 _30: 56515 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(184 /* X55 */))))) + 4*uintptr(i32(2)))) += 1 56516 _sqlite3BackupUpdate(tls, (*Xsqlite3_backup)(unsafe.Pointer(_pPager.X36)), _3_pgno, (*uint8)(unsafe.Pointer(_pList.X1))) 56517 goto _31 56518 56519 _25: 56520 _31: 56521 _pList = (*XPgHdr)(unsafe.Pointer(_pList.X3)) 56522 goto _21 56523 56524 _22: 56525 r0 = _rc 56526 return 56527 56528 } 56529 56530 var _pager_write_pagelistØ00__func__Ø000 [21]int8 // - 56531 56532 func init() { 56533 crt.Xstrncpy(nil, &_pager_write_pagelistØ00__func__Ø000[0], str(59992), 21) 56534 } 56535 56536 func _pagerOpentemp(tls *crt.TLS, _pPager *XPager, _pFile *Xsqlite3_file, _vfsFlags int32) (r0 int32) { // sqlite3.c:50485:1 56537 var _rc int32 // sqlite3.c:50490:7 56538 _ = _rc 56539 { 56540 p := &_vfsFlags 56541 *p = (*p) | i32(30) 56542 sink961 = *p 56543 } 56544 _rc = _sqlite3OsOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _pFile, _vfsFlags, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 56545 func() int32 { 56546 if (_rc != i32(0)) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_pFile.X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) { 56547 return i32(0) 56548 } 56549 return func() int32 { 56550 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50499), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerOpentempØ00__func__Ø000))), unsafe.Pointer(str(60016))) 56551 crt.X__builtin_abort(tls) 56552 return i32(0) 56553 }() 56554 }() 56555 r0 = _rc 56556 return 56557 56558 } 56559 56560 var _pagerOpentempØ00__func__Ø000 [14]int8 // - 56561 56562 func init() { 56563 crt.Xstrncpy(nil, &_pagerOpentempØ00__func__Ø000[0], str(60048), 14) 56564 } 56565 56566 func _sqlite3BtreeCommitPhaseTwo(tls *crt.TLS, _p *XBtree, _bCleanup int32) (r0 int32) { // sqlite3.c:62843:1 56567 var _1_rc int32 // sqlite3.c:62853:9 56568 _ = _1_rc 56569 var _1_pBt *XBtShared // sqlite3.c:62854:14 56570 _ = _1_pBt 56571 if int32(_p.X2) != i32(0) { 56572 goto _0 56573 } 56574 56575 r0 = i32(0) 56576 return 56577 56578 _0: 56579 _sqlite3BtreeEnter(tls, _p) 56580 func() int32 { 56581 if (int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) != i32(0)) || (((*XBtShared)(unsafe.Pointer(_p.X1)).X17) == i32(0)) { 56582 return i32(0) 56583 } 56584 return func() int32 { 56585 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62847), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(10068))) 56586 crt.X__builtin_abort(tls) 56587 return i32(0) 56588 }() 56589 }() 56590 func() int32 { 56591 if int32((*XBtShared)(unsafe.Pointer(_p.X1)).X8) >= int32(_p.X2) { 56592 return i32(0) 56593 } 56594 return func() int32 { 56595 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62847), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(10132))) 56596 crt.X__builtin_abort(tls) 56597 return i32(0) 56598 }() 56599 }() 56600 if int32(_p.X2) != i32(2) { 56601 goto _6 56602 } 56603 56604 _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 56605 func() int32 { 56606 if int32(_1_pBt.X8) == i32(2) { 56607 return i32(0) 56608 } 56609 return func() int32 { 56610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62855), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(60064))) 56611 crt.X__builtin_abort(tls) 56612 return i32(0) 56613 }() 56614 }() 56615 func() int32 { 56616 if (_1_pBt.X17) > i32(0) { 56617 return i32(0) 56618 } 56619 return func() int32 { 56620 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62856), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(60096))) 56621 crt.X__builtin_abort(tls) 56622 return i32(0) 56623 }() 56624 }() 56625 _1_rc = _sqlite3PagerCommitPhaseTwo(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0))) 56626 if _1_rc == i32(0) || _bCleanup != i32(0) { 56627 goto _12 56628 } 56629 56630 _sqlite3BtreeLeave(tls, _p) 56631 r0 = _1_rc 56632 return 56633 56634 _12: 56635 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X8 */))) -= 1 56636 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(20 /* X8 */))) = uint8(i32(1)) 56637 _btreeClearHasContent(tls, _1_pBt) 56638 _6: 56639 _btreeEndTransaction(tls, _p) 56640 _sqlite3BtreeLeave(tls, _p) 56641 r0 = i32(0) 56642 return 56643 56644 } 56645 56646 var _sqlite3BtreeCommitPhaseTwoØ00__func__Ø000 [27]int8 // - 56647 56648 func init() { 56649 crt.Xstrncpy(nil, &_sqlite3BtreeCommitPhaseTwoØ00__func__Ø000[0], str(60116), 27) 56650 } 56651 56652 func _sqlite3PagerCommitPhaseTwo(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53322:1 56653 var _rc int32 // sqlite3.c:53323:7 56654 _ = _rc 56655 _rc = i32(0) 56656 if func() int32 { 56657 if (_pPager.X26) != 0 { 56658 return func() int32 { 56659 func() int32 { 56660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53328), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(5204))) 56661 crt.X__builtin_abort(tls) 56662 return i32(0) 56663 }() 56664 return i32(1) 56665 }() 56666 } 56667 return i32(0) 56668 }() == 0 { 56669 goto _2 56670 } 56671 56672 r0 = _pPager.X26 56673 return 56674 56675 _2: 56676 func() int32 { 56677 if ((int32(_pPager.X14) == i32(2)) || (int32(_pPager.X14) == i32(5))) || (((*XWal)(unsafe.Pointer(_pPager.X60)) != (*XWal)(unsafe.Pointer(uintptr(i32(0))))) && (int32(_pPager.X14) == i32(3))) { 56678 return i32(0) 56679 } 56680 return func() int32 { 56681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53330), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(60144))) 56682 crt.X__builtin_abort(tls) 56683 return i32(0) 56684 }() 56685 }() 56686 func() int32 { 56687 if _assert_pager_state(tls, _pPager) != 0 { 56688 return i32(0) 56689 } 56690 return func() int32 { 56691 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53334), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(11184))) 56692 crt.X__builtin_abort(tls) 56693 return i32(0) 56694 }() 56695 }() 56696 if int32(_pPager.X14) != i32(2) || (_pPager.X1) == 0 || int32(_pPager.X2) != i32(1) { 56697 goto _12 56698 } 56699 56700 func() int32 { 56701 if ((_pPager.X34) == int64(_pPager.X47)) || ((_pPager.X34) == 0) { 56702 return i32(0) 56703 } 56704 return func() int32 { 56705 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53351), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCommitPhaseTwoØ00__func__Ø000))), unsafe.Pointer(str(60288))) 56706 crt.X__builtin_abort(tls) 56707 return i32(0) 56708 }() 56709 }() 56710 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(1)) 56711 r0 = i32(0) 56712 return 56713 56714 _12: 56715 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(104 /* X39 */))) += 1 56716 _rc = _pager_end_transaction(tls, _pPager, int32(_pPager.X17), i32(1)) 56717 r0 = _pager_error(tls, _pPager, _rc) 56718 return 56719 56720 } 56721 56722 var _sqlite3PagerCommitPhaseTwoØ00__func__Ø000 [27]int8 // - 56723 56724 func init() { 56725 crt.Xstrncpy(nil, &_sqlite3PagerCommitPhaseTwoØ00__func__Ø000[0], str(60356), 27) 56726 } 56727 56728 func _sqlite3VdbeSetNumCols(tls *crt.TLS, _p *XVdbe, _nResColumn int32) { // sqlite3.c:73491:1 56729 var _pColName *XMem // sqlite3.c:73492:7 56730 _ = _pColName 56731 var _n int32 // sqlite3.c:73493:7 56732 _ = _n 56733 var _db *Xsqlite3 // sqlite3.c:73494:11 56734 _ = _db 56735 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 56736 _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X20)), int32(_p.X29)*i32(2)) 56737 _sqlite3DbFree(tls, _db, _p.X20) 56738 _n = _nResColumn * i32(2) 56739 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(136 /* X29 */))) = uint16(_nResColumn) 56740 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(96 /* X20 */))))) = store7779437(&_pColName, (*XMem)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(48)*uint32(_n)))))) 56741 if (*XMem)(unsafe.Pointer(_p.X20)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 56742 goto _0 56743 } 56744 56745 return 56746 56747 _0: 56748 _initMemArray(tls, (*XMem)(unsafe.Pointer(_p.X20)), _n, (*Xsqlite3)(unsafe.Pointer(_p.X0)), uint16(i32(1))) 56749 return 56750 56751 } 56752 56753 func _releaseMemArray(tls *crt.TLS, _p *XMem, _N int32) { // sqlite3.c:72858:1 56754 var _1_pEnd *XMem // sqlite3.c:72860:9 56755 _ = _1_pEnd 56756 var _1_db *Xsqlite3 // sqlite3.c:72861:13 56757 _ = _1_db 56758 if _p == nil || _N == 0 { 56759 goto _1 56760 } 56761 56762 _1_pEnd = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 48*uintptr(_N))) 56763 _1_db = (*Xsqlite3)(unsafe.Pointer(_p.X9)) 56764 if (_1_db.X79) == nil { 56765 goto _2 56766 } 56767 56768 _3: 56769 if (_p.X7) == 0 { 56770 goto _4 56771 } 56772 56773 _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_p.X6)) 56774 _4: 56775 if uintptr(unsafe.Pointer(preInc7779437(&_p, 48))) < uintptr(unsafe.Pointer(_1_pEnd)) { 56776 goto _3 56777 } 56778 56779 return 56780 56781 _2: 56782 _5: 56783 func() int32 { 56784 if ((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+48*uintptr(i32(1)))) == _1_pEnd) || ((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+48*uintptr(i32(0)))).X9)) == (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+48*uintptr(i32(1)))).X9))) { 56785 return i32(0) 56786 } 56787 return func() int32 { 56788 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72869), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseMemArrayØ00__func__Ø000))), unsafe.Pointer(str(60384))) 56789 crt.X__builtin_abort(tls) 56790 return i32(0) 56791 }() 56792 }() 56793 func() int32 { 56794 if _sqlite3VdbeCheckMemInvariants(tls, _p) != 0 { 56795 return i32(0) 56796 } 56797 return func() int32 { 56798 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72870), unsafe.Pointer((*int8)(unsafe.Pointer(&_releaseMemArrayØ00__func__Ø000))), unsafe.Pointer(str(5788))) 56799 crt.X__builtin_abort(tls) 56800 return i32(0) 56801 }() 56802 }() 56803 if (int32(_p.X1) & i32(9312)) == 0 { 56804 goto _11 56805 } 56806 56807 _sqlite3VdbeMemRelease(tls, _p) 56808 goto _12 56809 56810 _11: 56811 if (_p.X7) == 0 { 56812 goto _13 56813 } 56814 56815 _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_p.X6)) 56816 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))) = i32(0) 56817 _13: 56818 _12: 56819 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = uint16(i32(128)) 56820 if uintptr(unsafe.Pointer(preInc7779437(&_p, 48))) < uintptr(unsafe.Pointer(_1_pEnd)) { 56821 goto _5 56822 } 56823 56824 _1: 56825 return 56826 56827 } 56828 56829 var _releaseMemArrayØ00__func__Ø000 [16]int8 // - 56830 56831 func init() { 56832 crt.Xstrncpy(nil, &_releaseMemArrayØ00__func__Ø000[0], str(60420), 16) 56833 } 56834 56835 func _initMemArray(tls *crt.TLS, _p *XMem, _N int32, _db *Xsqlite3, _flags uint16) { // sqlite3.c:72843:1 56836 _0: 56837 if postInc961(&_N, int32(-1)) <= i32(0) { 56838 goto _1 56839 } 56840 56841 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X9 */))))) = _db 56842 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = _flags 56843 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))) = i32(0) 56844 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 56845 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(48) 56846 goto _0 56847 56848 _1: 56849 return 56850 56851 } 56852 56853 func _sqlite3VdbeSetColName(tls *crt.TLS, _p *XVdbe, _idx int32, _var int32, _zName *int8, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:73515:1 56854 var _rc int32 // sqlite3.c:73522:7 56855 _ = _rc 56856 var _pColName *XMem // sqlite3.c:73523:7 56857 _ = _pColName 56858 func() int32 { 56859 if _idx < int32(_p.X29) { 56860 return i32(0) 56861 } 56862 return func() int32 { 56863 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73524), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetColNameØ00__func__Ø000))), unsafe.Pointer(str(60436))) 56864 crt.X__builtin_abort(tls) 56865 return i32(0) 56866 }() 56867 }() 56868 func() int32 { 56869 if _var < i32(2) { 56870 return i32(0) 56871 } 56872 return func() int32 { 56873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73525), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetColNameØ00__func__Ø000))), unsafe.Pointer(str(60456))) 56874 crt.X__builtin_abort(tls) 56875 return i32(0) 56876 }() 56877 }() 56878 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { 56879 goto _4 56880 } 56881 56882 func() int32 { 56883 if (_zName == nil) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 56884 f func(*crt.TLS, unsafe.Pointer) 56885 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 56886 f func(*crt.TLS, unsafe.Pointer) 56887 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 56888 f func(*crt.TLS, unsafe.Pointer) int32 56889 }{_sqlite3MallocSize})))}))) { 56890 return i32(0) 56891 } 56892 return func() int32 { 56893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73527), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetColNameØ00__func__Ø000))), unsafe.Pointer(str(60472))) 56894 crt.X__builtin_abort(tls) 56895 return i32(0) 56896 }() 56897 }() 56898 r0 = _sqlite3NomemError(tls, i32(73528)) 56899 return 56900 56901 _4: 56902 func() int32 { 56903 if (*XMem)(unsafe.Pointer(_p.X20)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 56904 return i32(0) 56905 } 56906 return func() int32 { 56907 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73530), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetColNameØ00__func__Ø000))), unsafe.Pointer(str(60504))) 56908 crt.X__builtin_abort(tls) 56909 return i32(0) 56910 }() 56911 }() 56912 _pColName = (*XMem)(unsafe.Pointer(uintptr(_p.X20) + 48*uintptr(_idx+(_var*int32(_p.X29))))) 56913 _rc = _sqlite3VdbeMemSetStr(tls, _pColName, _zName, i32(-1), uint8(i32(1)), _xDel) 56914 func() int32 { 56915 if ((_rc != i32(0)) || (_zName == nil)) || ((int32(_pColName.X1) & i32(512)) != i32(0)) { 56916 return i32(0) 56917 } 56918 return func() int32 { 56919 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73533), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetColNameØ00__func__Ø000))), unsafe.Pointer(str(60520))) 56920 crt.X__builtin_abort(tls) 56921 return i32(0) 56922 }() 56923 }() 56924 r0 = _rc 56925 return 56926 56927 } 56928 56929 var _sqlite3VdbeSetColNameØ00__func__Ø000 [22]int8 // - 56930 56931 func init() { 56932 crt.Xstrncpy(nil, &_sqlite3VdbeSetColNameØ00__func__Ø000[0], str(60572), 22) 56933 } 56934 56935 var _sqlite3PrepareØ00azColNameØ001 [12]*int8 // sqlite3.c:116002:23 56936 56937 func init() { 56938 _sqlite3PrepareØ00azColNameØ001 = [12]*int8{str(60596), str(60604), str(60612), str(60616), str(60620), str(60624), str(60628), str(60632), str(60640), str(60652), str(27736), str(60660)} 56939 } 56940 56941 func _sqlite3VdbeSetSql(tls *crt.TLS, _p *XVdbe, _z *int8, _n int32, _isPrepareV2 int32) { // sqlite3.c:71386:1 56942 func() int32 { 56943 if (_isPrepareV2 == i32(1)) || (_isPrepareV2 == i32(0)) { 56944 return i32(0) 56945 } 56946 return func() int32 { 56947 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71387), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetSqlØ00__func__Ø000))), unsafe.Pointer(str(60668))) 56948 crt.X__builtin_abort(tls) 56949 return i32(0) 56950 }() 56951 }() 56952 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 56953 goto _3 56954 } 56955 56956 return 56957 56958 _3: 56959 if _isPrepareV2 != 0 { 56960 goto _4 56961 } 56962 56963 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(192 /* X41 */))) = uint32(i32(0)) 56964 _4: 56965 func() int32 { 56966 if (_p.X36) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 56967 return i32(0) 56968 } 56969 return func() int32 { 56970 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71393), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetSqlØ00__func__Ø000))), unsafe.Pointer(str(60704))) 56971 crt.X__builtin_abort(tls) 56972 return i32(0) 56973 }() 56974 }() 56975 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(172 /* X36 */))) = _sqlite3DbStrNDup(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _z, uint64(_n)) 56976 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(uint8(_isPrepareV2)), 512, 9) 56977 return 56978 56979 } 56980 56981 var _sqlite3VdbeSetSqlØ00__func__Ø000 [18]int8 // - 56982 56983 func init() { 56984 crt.Xstrncpy(nil, &_sqlite3VdbeSetSqlØ00__func__Ø000[0], str(60716), 18) 56985 } 56986 56987 func _sqlite3VdbeFinalize(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:74271:1 56988 var _rc int32 // sqlite3.c:74272:7 56989 _ = _rc 56990 _rc = i32(0) 56991 if (_p.X5) != uint32(i32(770837923)) && (_p.X5) != uint32(i32(832317811)) { 56992 goto _1 56993 } 56994 56995 _rc = _sqlite3VdbeReset(tls, _p) 56996 func() int32 { 56997 if (_rc & ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X11)) == _rc { 56998 return i32(0) 56999 } 57000 return func() int32 { 57001 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74275), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeFinalizeØ00__func__Ø000))), unsafe.Pointer(str(60736))) 57002 crt.X__builtin_abort(tls) 57003 return i32(0) 57004 }() 57005 }() 57006 _1: 57007 _sqlite3VdbeDelete(tls, _p) 57008 r0 = _rc 57009 return 57010 57011 } 57012 57013 func _sqlite3VdbeReset(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:74191:1 57014 var _db *Xsqlite3 // sqlite3.c:74192:11 57015 _ = _db 57016 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 57017 _sqlite3VdbeHalt(tls, _p) 57018 if (_p.X9) < i32(0) { 57019 goto _0 57020 } 57021 57022 _sqlite3VdbeTransferError(tls, _p) 57023 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) 57024 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 57025 if ((uint32((_p.X32)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { 57026 goto _1 57027 } 57028 57029 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 57030 _1: 57031 goto _2 57032 57033 _0: 57034 if (_p.X10) == 0 || ((uint32(_p.X32)<<uint(i32(31)))>>uint(i32(31))) == 0 { 57035 goto _4 57036 } 57037 57038 _sqlite3ErrorWithMsg(tls, _db, _p.X10, func() *int8 { 57039 if (_p.X22) != nil { 57040 return str(25612) 57041 } 57042 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 57043 }(), unsafe.Pointer(_p.X22)) 57044 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) 57045 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 57046 _4: 57047 _2: 57048 _Cleanup(tls, _p) 57049 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X13 */))) = int64(i32(0)) 57050 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = uint32(i32(1224384374)) 57051 r0 = (_p.X10) & (_db.X11) 57052 return 57053 57054 } 57055 57056 func _sqlite3VdbeHalt(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:73929:1 57057 var _rc int32 // sqlite3.c:73930:7 57058 _ = _rc 57059 var _db *Xsqlite3 // sqlite3.c:73931:11 57060 _ = _db 57061 var _3_mrc int32 // sqlite3.c:73961:9 57062 _ = _3_mrc 57063 var _3_eStatementOp int32 // sqlite3.c:73962:9 57064 _ = _3_eStatementOp 57065 var _3_isSpecialError int32 // sqlite3.c:73963:9 57066 _ = _3_isSpecialError 57067 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 57068 if (_p.X5) == uint32(i32(770837923)) { 57069 goto _0 57070 } 57071 57072 r0 = i32(0) 57073 return 57074 57075 _0: 57076 if (_db.X17) == 0 { 57077 goto _1 57078 } 57079 57080 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _sqlite3NomemError(tls, i32(73953)) 57081 _1: 57082 _closeAllCursors(tls, _p) 57083 _checkActiveVdbeCnt(tls, _db) 57084 if (_p.X9) < i32(0) || ((uint32((_p.X32)>>uint(i32(8)))<<uint(i32(31)))>>uint(i32(31))) == 0 { 57085 goto _3 57086 } 57087 57088 _3_eStatementOp = i32(0) 57089 _sqlite3VdbeEnter(tls, _p) 57090 _3_mrc = (_p.X10) & i32(255) 57091 _3_isSpecialError = bool2int((((_3_mrc == i32(7)) || (_3_mrc == i32(10))) || (_3_mrc == i32(9))) || (_3_mrc == i32(13))) 57092 if _3_isSpecialError == 0 { 57093 goto _7 57094 } 57095 57096 if ((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) != 0 && _3_mrc == i32(9) { 57097 goto _9 57098 } 57099 57100 if _3_mrc != i32(7) && _3_mrc != i32(13) || ((uint32((_p.X32)>>uint(i32(6)))<<uint(i32(31)))>>uint(i32(31))) == 0 { 57101 goto _12 57102 } 57103 57104 _3_eStatementOp = i32(2) 57105 goto _13 57106 57107 _12: 57108 _sqlite3RollbackAll(tls, _db, i32(516)) 57109 _sqlite3CloseSavepoints(tls, _db) 57110 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 57111 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 57112 _13: 57113 _9: 57114 _7: 57115 if (_p.X10) != i32(0) { 57116 goto _14 57117 } 57118 57119 _sqlite3VdbeCheckFk(tls, _p, i32(0)) 57120 _14: 57121 if (_db.X64) > i32(0) && (**XVTable)(unsafe.Pointer(_db.X67)) == (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) || (_db.X15) == 0 || (_db.X36) != bool2int(int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0)) { 57122 goto _18 57123 } 57124 57125 if (_p.X10) != i32(0) && (int32(_p.X30) != i32(3) || _3_isSpecialError != 0) { 57126 goto _21 57127 } 57128 57129 _rc = _sqlite3VdbeCheckFk(tls, _p, i32(1)) 57130 if _rc == i32(0) { 57131 goto _22 57132 } 57133 57134 if func() int32 { 57135 if ((uint32((_p.X32)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { 57136 return func() int32 { 57137 func() int32 { 57138 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74018), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeHaltØ00__func__Ø000))), unsafe.Pointer(str(5204))) 57139 crt.X__builtin_abort(tls) 57140 return i32(0) 57141 }() 57142 return i32(1) 57143 }() 57144 } 57145 return i32(0) 57146 }() == 0 { 57147 goto _25 57148 } 57149 57150 _sqlite3VdbeLeave(tls, _p) 57151 r0 = i32(1) 57152 return 57153 57154 _25: 57155 _rc = i32(787) 57156 goto _26 57157 57158 _22: 57159 _rc = _vdbeCommit(tls, _db, _p) 57160 _26: 57161 if _rc != i32(5) || ((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == 0 { 57162 goto _28 57163 } 57164 57165 _sqlite3VdbeLeave(tls, _p) 57166 r0 = i32(5) 57167 return 57168 57169 _28: 57170 if _rc == i32(0) { 57171 goto _30 57172 } 57173 57174 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _rc 57175 _sqlite3RollbackAll(tls, _db, i32(0)) 57176 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 57177 goto _31 57178 57179 _30: 57180 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(436 /* X77 */))) = int64(i32(0)) 57181 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(444 /* X78 */))) = int64(i32(0)) 57182 { 57183 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 57184 *p = (*p) & i32(-33554433) 57185 sink961 = *p 57186 } 57187 _sqlite3CommitInternalChanges(tls, _db) 57188 _31: 57189 goto _32 57190 57191 _21: 57192 _sqlite3RollbackAll(tls, _db, i32(0)) 57193 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 57194 _32: 57195 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(432 /* X76 */))) = i32(0) 57196 goto _33 57197 57198 _18: 57199 if _3_eStatementOp != i32(0) { 57200 goto _34 57201 } 57202 57203 if (_p.X10) != i32(0) && int32(_p.X30) != i32(3) { 57204 goto _36 57205 } 57206 57207 _3_eStatementOp = i32(1) 57208 goto _37 57209 57210 _36: 57211 if int32(_p.X30) != i32(2) { 57212 goto _38 57213 } 57214 57215 _3_eStatementOp = i32(2) 57216 goto _39 57217 57218 _38: 57219 _sqlite3RollbackAll(tls, _db, i32(516)) 57220 _sqlite3CloseSavepoints(tls, _db) 57221 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 57222 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 57223 _39: 57224 _37: 57225 _34: 57226 _33: 57227 if _3_eStatementOp == 0 { 57228 goto _40 57229 } 57230 57231 _rc = _sqlite3VdbeCloseStatement(tls, _p, _3_eStatementOp) 57232 if _rc == 0 { 57233 goto _41 57234 } 57235 57236 if (_p.X10) != i32(0) && ((_p.X10)&i32(255)) != i32(19) { 57237 goto _43 57238 } 57239 57240 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _rc 57241 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) 57242 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 57243 _43: 57244 _sqlite3RollbackAll(tls, _db, i32(516)) 57245 _sqlite3CloseSavepoints(tls, _db) 57246 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 57247 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 57248 _41: 57249 _40: 57250 if ((uint32((_p.X32)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { 57251 goto _44 57252 } 57253 57254 if _3_eStatementOp == i32(2) { 57255 goto _45 57256 } 57257 57258 _sqlite3VdbeSetChanges(tls, _db, _p.X11) 57259 goto _46 57260 57261 _45: 57262 _sqlite3VdbeSetChanges(tls, _db, i32(0)) 57263 _46: 57264 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 57265 _44: 57266 _sqlite3VdbeLeave(tls, _p) 57267 _3: 57268 if (_p.X9) < i32(0) { 57269 goto _47 57270 } 57271 57272 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(152 /* X34 */))) -= 1 57273 if ((uint32((_p.X32)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { 57274 goto _48 57275 } 57276 57277 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(160 /* X36 */))) -= 1 57278 _48: 57279 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) == 0 { 57280 goto _49 57281 } 57282 57283 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(156 /* X35 */))) -= 1 57284 _49: 57285 func() int32 { 57286 if (_db.X34) >= (_db.X35) { 57287 return i32(0) 57288 } 57289 return func() int32 { 57290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74103), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeHaltØ00__func__Ø000))), unsafe.Pointer(str(60764))) 57291 crt.X__builtin_abort(tls) 57292 return i32(0) 57293 }() 57294 }() 57295 func() int32 { 57296 if (_db.X35) >= (_db.X36) { 57297 return i32(0) 57298 } 57299 return func() int32 { 57300 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74104), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeHaltØ00__func__Ø000))), unsafe.Pointer(str(60796))) 57301 crt.X__builtin_abort(tls) 57302 return i32(0) 57303 }() 57304 }() 57305 func() int32 { 57306 if (_db.X36) >= i32(0) { 57307 return i32(0) 57308 } 57309 return func() int32 { 57310 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74105), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeHaltØ00__func__Ø000))), unsafe.Pointer(str(60828))) 57311 crt.X__builtin_abort(tls) 57312 return i32(0) 57313 }() 57314 }() 57315 _47: 57316 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = uint32(i32(832317811)) 57317 _checkActiveVdbeCnt(tls, _db) 57318 if (_db.X17) == 0 { 57319 goto _56 57320 } 57321 57322 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _sqlite3NomemError(tls, i32(74110)) 57323 _56: 57324 if (_db.X15) == 0 { 57325 goto _57 57326 } 57327 57328 _57: 57329 func() int32 { 57330 if (((_db.X34) > i32(0)) || (int32(_db.X15) == i32(0))) || ((_db.X76) == i32(0)) { 57331 return i32(0) 57332 } 57333 return func() int32 { 57334 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74121), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeHaltØ00__func__Ø000))), unsafe.Pointer(str(60848))) 57335 crt.X__builtin_abort(tls) 57336 return i32(0) 57337 }() 57338 }() 57339 r0 = func() int32 { 57340 if (_p.X10) == i32(5) { 57341 return i32(5) 57342 } 57343 return i32(0) 57344 }() 57345 return 57346 57347 } 57348 57349 func _closeAllCursors(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:73440:1 57350 var _1_pFrame *XVdbeFrame // sqlite3.c:73442:15 57351 _ = _1_pFrame 57352 var _3_pDel *XVdbeFrame // sqlite3.c:73454:15 57353 _ = _3_pDel 57354 if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { 57355 goto _0 57356 } 57357 57358 _1_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 57359 _1: 57360 if (*XVdbeFrame)(unsafe.Pointer(_1_pFrame.X1)) == nil { 57361 goto _4 57362 } 57363 57364 _1_pFrame = (*XVdbeFrame)(unsafe.Pointer(_1_pFrame.X1)) 57365 goto _1 57366 57367 _4: 57368 _sqlite3VdbeFrameRestore(tls, _1_pFrame) 57369 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(180 /* X38 */))))) = (*XVdbeFrame)(unsafe.Pointer(uintptr(i32(0)))) 57370 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(188 /* X40 */))) = i32(0) 57371 _0: 57372 func() int32 { 57373 if (_p.X40) == i32(0) { 57374 return i32(0) 57375 } 57376 return func() int32 { 57377 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73448), unsafe.Pointer((*int8)(unsafe.Pointer(&_closeAllCursorsØ00__func__Ø000))), unsafe.Pointer(str(60908))) 57378 crt.X__builtin_abort(tls) 57379 return i32(0) 57380 }() 57381 }() 57382 _closeCursorsInFrame(tls, _p) 57383 if (*XMem)(unsafe.Pointer(_p.X18)) == nil { 57384 goto _7 57385 } 57386 57387 _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X18)), _p.X6) 57388 _7: 57389 _8: 57390 if (*XVdbeFrame)(unsafe.Pointer(_p.X39)) == nil { 57391 goto _9 57392 } 57393 57394 _3_pDel = (*XVdbeFrame)(unsafe.Pointer(_p.X39)) 57395 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(184 /* X39 */))))) = (*XVdbeFrame)(unsafe.Pointer(_3_pDel.X1)) 57396 _sqlite3VdbeFrameDelete(tls, _3_pDel) 57397 goto _8 57398 57399 _9: 57400 if (*XAuxData)(unsafe.Pointer(_p.X43)) == nil { 57401 goto _10 57402 } 57403 57404 _sqlite3VdbeDeleteAuxData(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(200 /* X43 */))))), i32(-1), i32(0)) 57405 _10: 57406 func() int32 { 57407 if (*XAuxData)(unsafe.Pointer(_p.X43)) == (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) { 57408 return i32(0) 57409 } 57410 return func() int32 { 57411 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73461), unsafe.Pointer((*int8)(unsafe.Pointer(&_closeAllCursorsØ00__func__Ø000))), unsafe.Pointer(str(60924))) 57412 crt.X__builtin_abort(tls) 57413 return i32(0) 57414 }() 57415 }() 57416 return 57417 57418 } 57419 57420 func _sqlite3VdbeFrameRestore(tls *crt.TLS, _pFrame *XVdbeFrame) (r0 int32) { // sqlite3.c:73411:1 57421 var _v *XVdbe // sqlite3.c:73412:8 57422 _ = _v 57423 _v = (*XVdbe)(unsafe.Pointer(_pFrame.X0)) 57424 _closeCursorsInFrame(tls, _v) 57425 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(84 /* X17 */))))) = (*XVdbeOp)(unsafe.Pointer(_pFrame.X2)) 57426 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(128 /* X27 */))) = _pFrame.X12 57427 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(88 /* X18 */))))) = (*XMem)(unsafe.Pointer(_pFrame.X4)) 57428 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(24 /* X6 */))) = _pFrame.X13 57429 *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(108 /* X23 */))))) = (**XVdbeCursor)(unsafe.Pointer(_pFrame.X5)) 57430 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(28 /* X7 */))) = _pFrame.X10 57431 *(*int64)(unsafe.Pointer(uintptr(_v.X0) + uintptr(28 /* X7 */))) = _pFrame.X8 57432 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(44 /* X11 */))) = _pFrame.X16 57433 *(*int32)(unsafe.Pointer(uintptr(_v.X0) + uintptr(84 /* X29 */))) = _pFrame.X17 57434 _sqlite3VdbeDeleteAuxData(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0)), (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(200 /* X43 */))))), i32(-1), i32(0)) 57435 *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(200 /* X43 */))))) = (*XAuxData)(unsafe.Pointer(_pFrame.X9)) 57436 *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrame)) + uintptr(40 /* X9 */))))) = (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) 57437 r0 = _pFrame.X11 57438 return 57439 57440 } 57441 57442 func _closeCursorsInFrame(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:73393:1 57443 var _1_i int32 // sqlite3.c:73395:9 57444 _ = _1_i 57445 var _2_pC *XVdbeCursor // sqlite3.c:73397:18 57446 _ = _2_pC 57447 if (**XVdbeCursor)(unsafe.Pointer(_p.X23)) == nil { 57448 goto _0 57449 } 57450 57451 _1_i = i32(0) 57452 _1: 57453 if _1_i >= (_p.X7) { 57454 goto _4 57455 } 57456 57457 _2_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_1_i))) 57458 if _2_pC == nil { 57459 goto _5 57460 } 57461 57462 _sqlite3VdbeFreeCursor(tls, _p, _2_pC) 57463 *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_1_i))) = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) 57464 _5: 57465 _1_i += 1 57466 goto _1 57467 57468 _4: 57469 _0: 57470 return 57471 57472 } 57473 57474 func _sqlite3VdbeFreeCursor(tls *crt.TLS, _p *XVdbe, _pCx *XVdbeCursor) { // sqlite3.c:73356:1 57475 var _7_pVCur *Xsqlite3_file // sqlite3.c:73379:27 57476 _ = _7_pVCur 57477 var _7_pModule *Xsqlite3_module // sqlite3.c:73380:28 57478 _ = _7_pModule 57479 if _pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 57480 goto _0 57481 } 57482 57483 return 57484 57485 _0: 57486 func() int32 { 57487 if ((*XBtree)(unsafe.Pointer(_pCx.X8)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pCx.X0) == i32(0)) { 57488 return i32(0) 57489 } 57490 return func() int32 { 57491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73360), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeFreeCursorØ00__func__Ø000))), unsafe.Pointer(str(60940))) 57492 crt.X__builtin_abort(tls) 57493 return i32(0) 57494 }() 57495 }() 57496 switch int32(_pCx.X0) { 57497 case i32(0): 57498 goto _6 57499 case i32(1): 57500 goto _5 57501 case i32(2): 57502 goto _7 57503 default: 57504 goto _8 57505 } 57506 57507 _5: 57508 _sqlite3VdbeSorterClose(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _pCx) 57509 goto _8 57510 57511 _6: 57512 if (*XBtree)(unsafe.Pointer(_pCx.X8)) == nil { 57513 goto _9 57514 } 57515 57516 _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_pCx.X8))) 57517 goto _10 57518 57519 _9: 57520 func() int32 { 57521 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 57522 return i32(0) 57523 } 57524 return func() int32 { 57525 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73372), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeFreeCursorØ00__func__Ø000))), unsafe.Pointer(str(60988))) 57526 crt.X__builtin_abort(tls) 57527 return i32(0) 57528 }() 57529 }() 57530 _sqlite3BtreeCloseCursor(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(36 /* X14 */)))))))) 57531 _10: 57532 goto _8 57533 57534 _7: 57535 _7_pVCur = (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(36 /* X14 */))))))) 57536 _7_pModule = (*Xsqlite3_module)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_7_pVCur.X0)).X0)) 57537 func() int32 { 57538 if ((*Xsqlite3_vtab)(unsafe.Pointer(_7_pVCur.X0)).X1) > i32(0) { 57539 return i32(0) 57540 } 57541 return func() int32 { 57542 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73381), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeFreeCursorØ00__func__Ø000))), unsafe.Pointer(str(61008))) 57543 crt.X__builtin_abort(tls) 57544 return i32(0) 57545 }() 57546 }() 57547 *(*int32)(unsafe.Pointer(uintptr(_7_pVCur.X0) + uintptr(4 /* X1 */))) -= 1 57548 (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 57549 f func(*crt.TLS, unsafe.Pointer) int32 57550 }{(_7_pModule.X7)})))(tls, _7_pVCur) 57551 goto _8 57552 57553 _8: 57554 return 57555 57556 } 57557 57558 var _sqlite3VdbeFreeCursorØ00__func__Ø000 [22]int8 // - 57559 57560 func init() { 57561 crt.Xstrncpy(nil, &_sqlite3VdbeFreeCursorØ00__func__Ø000[0], str(61032), 22) 57562 } 57563 57564 func _sqlite3VdbeSorterClose(tls *crt.TLS, _db *Xsqlite3, _pCsr *XVdbeCursor) { // sqlite3.c:87109:1 57565 var _pSorter *XVdbeSorter // sqlite3.c:87110:14 57566 _ = _pSorter 57567 func() int32 { 57568 if int32(_pCsr.X0) == i32(1) { 57569 return i32(0) 57570 } 57571 return func() int32 { 57572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterCloseØ00__func__Ø000))), unsafe.Pointer(str(61056))) 57573 crt.X__builtin_abort(tls) 57574 return i32(0) 57575 }() 57576 }() 57577 _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) 57578 if _pSorter == nil { 57579 goto _2 57580 } 57581 57582 _sqlite3VdbeSorterReset(tls, _db, _pSorter) 57583 Xsqlite3_free(tls, (unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X1)) 57584 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSorter)) 57585 *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) = (*XVdbeSorter)(unsafe.Pointer(uintptr(i32(0)))) 57586 _2: 57587 return 57588 57589 } 57590 57591 var _sqlite3VdbeSorterCloseØ00__func__Ø000 [23]int8 // - 57592 57593 func init() { 57594 crt.Xstrncpy(nil, &_sqlite3VdbeSorterCloseØ00__func__Ø000[0], str(61088), 23) 57595 } 57596 57597 func _sqlite3VdbeSorterReset(tls *crt.TLS, _db *Xsqlite3, _pSorter *XVdbeSorter) { // sqlite3.c:87076:1 57598 var _i int32 // sqlite3.c:87077:7 57599 _ = _i 57600 var _2_pTask *XSortSubtask // sqlite3.c:87090:17 57601 _ = _2_pTask 57602 _vdbeSorterJoinAll(tls, _pSorter, i32(0)) 57603 func() int32 { 57604 if ((_pSorter.X13) != 0) || ((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0))))) { 57605 return i32(0) 57606 } 57607 return func() int32 { 57608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87079), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterResetØ00__func__Ø000))), unsafe.Pointer(str(61112))) 57609 crt.X__builtin_abort(tls) 57610 return i32(0) 57611 }() 57612 }() 57613 if (*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == nil { 57614 goto _3 57615 } 57616 57617 _vdbePmaReaderClear(tls, (*XPmaReader)(unsafe.Pointer(_pSorter.X4))) 57618 _sqlite3DbFree(tls, _db, _pSorter.X4) 57619 *(**XPmaReader)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(16 /* X4 */))))) = (*XPmaReader)(unsafe.Pointer(uintptr(i32(0)))) 57620 _3: 57621 _vdbeMergeEngineFree(tls, (*XMergeEngine)(unsafe.Pointer(_pSorter.X5))) 57622 *(**XMergeEngine)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(20 /* X5 */))))) = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 57623 _i = i32(0) 57624 _4: 57625 if _i >= int32(_pSorter.X15) { 57626 goto _7 57627 } 57628 57629 _2_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(_i))) 57630 _vdbeSortSubtaskCleanup(tls, _db, _2_pTask) 57631 *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pTask)) + uintptr(8 /* X2 */))))) = _pSorter 57632 _i += 1 57633 goto _4 57634 57635 _7: 57636 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 57637 goto _8 57638 } 57639 57640 _vdbeSorterRecordFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0))) 57641 _8: 57642 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 57643 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(8 /* X2 */))) = i32(0) 57644 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X12 */))) = uint8(i32(0)) 57645 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(48 /* X10 */))) = i32(0) 57646 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(8 /* X2 */))) = i32(0) 57647 _sqlite3DbFree(tls, _db, _pSorter.X8) 57648 *(**XUnpackedRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(32 /* X8 */))))) = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) 57649 return 57650 57651 } 57652 57653 func _vdbeSorterJoinAll(tls *crt.TLS, _pSorter *XVdbeSorter, _rcin int32) (r0 int32) { // sqlite3.c:86992:1 57654 var _rc int32 // sqlite3.c:86993:7 57655 _ = _rc 57656 var _i int32 // sqlite3.c:86994:7 57657 _ = _i 57658 var _1_pTask *XSortSubtask // sqlite3.c:87004:17 57659 _ = _1_pTask 57660 var _1_rc2 int32 // sqlite3.c:87005:9 57661 _ = _1_rc2 57662 _rc = _rcin 57663 _i = int32(_pSorter.X15) - i32(1) 57664 _0: 57665 if _i < i32(0) { 57666 goto _3 57667 } 57668 57669 _1_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(_i))) 57670 _1_rc2 = _vdbeSorterJoinThread(tls, _1_pTask) 57671 if _rc != i32(0) { 57672 goto _4 57673 } 57674 57675 _rc = _1_rc2 57676 _4: 57677 _i -= 1 57678 goto _0 57679 57680 _3: 57681 r0 = _rc 57682 return 57683 57684 } 57685 57686 func _vdbeSorterJoinThread(tls *crt.TLS, _pTask *XSortSubtask) (r0 int32) { // sqlite3.c:86958:1 57687 var _rc int32 // sqlite3.c:86959:7 57688 _ = _rc 57689 var _1_pRet unsafe.Pointer // sqlite3.c:86964:10 57690 _ = _1_pRet 57691 _rc = i32(0) 57692 if (*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) == nil { 57693 goto _0 57694 } 57695 57696 _1_pRet = (unsafe.Pointer)(uintptr(1)) 57697 _sqlite3ThreadJoin(tls, (*XSQLiteThread)(unsafe.Pointer(_pTask.X0)), &_1_pRet) 57698 _rc = int32(uintptr(unsafe.Pointer(_1_pRet))) 57699 func() int32 { 57700 if (_pTask.X1) == i32(1) { 57701 return i32(0) 57702 } 57703 return func() int32 { 57704 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86969), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterJoinThreadØ00__func__Ø000))), unsafe.Pointer(str(61156))) 57705 crt.X__builtin_abort(tls) 57706 return i32(0) 57707 }() 57708 }() 57709 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(4 /* X1 */))) = i32(0) 57710 *(**XSQLiteThread)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(0 /* X0 */))))) = (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) 57711 _0: 57712 r0 = _rc 57713 return 57714 57715 } 57716 57717 func _sqlite3ThreadJoin(tls *crt.TLS, _p *XSQLiteThread, _ppOut *unsafe.Pointer) (r0 int32) { // sqlite3.c:26988:1 57718 var _rc uint32 // sqlite3.c:26989:9 57719 _ = _rc 57720 var _bRc int32 // sqlite3.c:26990:8 57721 _ = _bRc 57722 func() int32 { 57723 if _ppOut != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 57724 return i32(0) 57725 } 57726 return func() int32 { 57727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26992), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(61172))) 57728 crt.X__builtin_abort(tls) 57729 return i32(0) 57730 }() 57731 }() 57732 if func() int32 { 57733 if _p == (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { 57734 return func() int32 { 57735 func() int32 { 57736 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26993), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(5204))) 57737 crt.X__builtin_abort(tls) 57738 return i32(0) 57739 }() 57740 return i32(1) 57741 }() 57742 } 57743 return i32(0) 57744 }() == 0 { 57745 goto _4 57746 } 57747 57748 r0 = _sqlite3NomemError(tls, i32(26993)) 57749 return 57750 57751 _4: 57752 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 57753 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 57754 }{(_p.X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 57755 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 57756 }{nil})) { 57757 goto _5 57758 } 57759 57760 _rc = u32(0) 57761 func() int32 { 57762 if unsafe.Pointer(_p.X0) == (unsafe.Pointer)(uintptr(i32(0))) { 57763 return i32(0) 57764 } 57765 return func() int32 { 57766 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26997), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(61184))) 57767 crt.X__builtin_abort(tls) 57768 return i32(0) 57769 }() 57770 }() 57771 goto _8 57772 57773 _5: 57774 func() int32 { 57775 if ((_p.X1) != uint32(i32(0))) && ((_p.X1) != crt.XGetCurrentThreadId(tls)) { 57776 return i32(0) 57777 } 57778 return func() int32 { 57779 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26999), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(61196))) 57780 crt.X__builtin_abort(tls) 57781 return i32(0) 57782 }() 57783 }() 57784 _rc = _sqlite3Win32Wait(tls, _p.X0) 57785 func() int32 { 57786 if _rc != u32(192) { 57787 return i32(0) 57788 } 57789 return func() int32 { 57790 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27001), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(61236))) 57791 crt.X__builtin_abort(tls) 57792 return i32(0) 57793 }() 57794 }() 57795 _bRc = crt.XCloseHandle(tls, _p.X0) 57796 func() int32 { 57797 if _bRc != 0 { 57798 return i32(0) 57799 } 57800 return func() int32 { 57801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27003), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadJoinØ00__func__Ø000))), unsafe.Pointer(str(61260))) 57802 crt.X__builtin_abort(tls) 57803 return i32(0) 57804 }() 57805 }() 57806 _8: 57807 if _rc != u32(0) { 57808 goto _16 57809 } 57810 57811 *_ppOut = _p.X4 57812 _16: 57813 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 57814 r0 = func() int32 { 57815 if _rc == u32(0) { 57816 return i32(0) 57817 } 57818 return i32(1) 57819 }() 57820 return 57821 57822 } 57823 57824 var _sqlite3ThreadJoinØ00__func__Ø000 [18]int8 // - 57825 57826 func init() { 57827 crt.Xstrncpy(nil, &_sqlite3ThreadJoinØ00__func__Ø000[0], str(61264), 18) 57828 } 57829 57830 func _sqlite3Win32Wait(tls *crt.TLS, _hObject unsafe.Pointer) (r0 uint32) { // sqlite3.c:39074:1 57831 var _rc uint32 // sqlite3.c:39075:9 57832 _ = _rc 57833 _0: 57834 if store985(&_rc, (*(*func(*crt.TLS, unsafe.Pointer, uint32, int32) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(64)))).X1)})))(tls, _hObject, u32(4294967295), i32(1))) != u32(192) { 57835 goto _1 57836 } 57837 57838 goto _0 57839 57840 _1: 57841 r0 = _rc 57842 return 57843 57844 } 57845 57846 var _vdbeSorterJoinThreadØ00__func__Ø000 [21]int8 // - 57847 57848 func init() { 57849 crt.Xstrncpy(nil, &_vdbeSorterJoinThreadØ00__func__Ø000[0], str(61284), 21) 57850 } 57851 57852 var _sqlite3VdbeSorterResetØ00__func__Ø000 [23]int8 // - 57853 57854 func init() { 57855 crt.Xstrncpy(nil, &_sqlite3VdbeSorterResetØ00__func__Ø000[0], str(61308), 23) 57856 } 57857 57858 func _vdbePmaReaderClear(tls *crt.TLS, _pReadr *XPmaReader) { // sqlite3.c:86318:1 57859 Xsqlite3_free(tls, (unsafe.Pointer)(_pReadr.X5)) 57860 Xsqlite3_free(tls, (unsafe.Pointer)(_pReadr.X7)) 57861 if (_pReadr.X9) == nil { 57862 goto _0 57863 } 57864 57865 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pReadr.X4)), int64(i32(0)), (unsafe.Pointer)(_pReadr.X9)) 57866 _0: 57867 _vdbeIncrFree(tls, (*XIncrMerger)(unsafe.Pointer(_pReadr.X10))) 57868 crt.Xmemset(tls, (unsafe.Pointer)(_pReadr), i32(0), u32(52)) 57869 return 57870 57871 } 57872 57873 func _vdbeIncrFree(tls *crt.TLS, _pIncr *XIncrMerger) { // sqlite3.c:87059:1 57874 if _pIncr == nil { 57875 goto _0 57876 } 57877 57878 if (_pIncr.X5) == 0 { 57879 goto _1 57880 } 57881 57882 _vdbeSorterJoinThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0))) 57883 if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(0)))).X0)) == nil { 57884 goto _2 57885 } 57886 57887 _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(0)))).X0))) 57888 _2: 57889 if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(1)))).X0)) == nil { 57890 goto _3 57891 } 57892 57893 _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(1)))).X0))) 57894 _3: 57895 _1: 57896 _vdbeMergeEngineFree(tls, (*XMergeEngine)(unsafe.Pointer(_pIncr.X1))) 57897 Xsqlite3_free(tls, (unsafe.Pointer)(_pIncr)) 57898 _0: 57899 return 57900 57901 } 57902 57903 func _sqlite3OsCloseFree(tls *crt.TLS, _pFile *Xsqlite3_file) { // sqlite3.c:20355:1 57904 func() int32 { 57905 if _pFile != nil { 57906 return i32(0) 57907 } 57908 return func() int32 { 57909 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(20356), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OsCloseFreeØ00__func__Ø000))), unsafe.Pointer(str(61332))) 57910 crt.X__builtin_abort(tls) 57911 return i32(0) 57912 }() 57913 }() 57914 _sqlite3OsClose(tls, _pFile) 57915 Xsqlite3_free(tls, (unsafe.Pointer)(_pFile)) 57916 return 57917 57918 } 57919 57920 var _sqlite3OsCloseFreeØ00__func__Ø000 [19]int8 // - 57921 57922 func init() { 57923 crt.Xstrncpy(nil, &_sqlite3OsCloseFreeØ00__func__Ø000[0], str(61340), 19) 57924 } 57925 57926 func _vdbeMergeEngineFree(tls *crt.TLS, _pMerger *XMergeEngine) { // sqlite3.c:87045:1 57927 var _i int32 // sqlite3.c:87046:7 57928 _ = _i 57929 if _pMerger == nil { 57930 goto _0 57931 } 57932 57933 _i = i32(0) 57934 _1: 57935 if _i >= (_pMerger.X0) { 57936 goto _4 57937 } 57938 57939 _vdbePmaReaderClear(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+52*uintptr(_i)))) 57940 _i += 1 57941 goto _1 57942 57943 _4: 57944 _0: 57945 Xsqlite3_free(tls, (unsafe.Pointer)(_pMerger)) 57946 return 57947 57948 } 57949 57950 func _vdbeSortSubtaskCleanup(tls *crt.TLS, _db *Xsqlite3, _pTask *XSortSubtask) { // sqlite3.c:86893:1 57951 _sqlite3DbFree(tls, _db, _pTask.X3) 57952 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(16 /* X4 */))).X1) == nil { 57953 goto _0 57954 } 57955 57956 Xsqlite3_free(tls, (unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(16 /* X4 */))).X1)) 57957 goto _1 57958 57959 _0: 57960 func() int32 { 57961 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(16 /* X4 */))).X1) == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 57962 return i32(0) 57963 } 57964 return func() int32 { 57965 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86903), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSortSubtaskCleanupØ00__func__Ø000))), unsafe.Pointer(str(61360))) 57966 crt.X__builtin_abort(tls) 57967 return i32(0) 57968 }() 57969 }() 57970 _vdbeSorterRecordFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(16 /* X4 */))).X0))) 57971 _1: 57972 if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X0)) == nil { 57973 goto _4 57974 } 57975 57976 _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X0))) 57977 _4: 57978 if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))).X0)) == nil { 57979 goto _5 57980 } 57981 57982 _sqlite3OsCloseFree(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))).X0))) 57983 _5: 57984 crt.Xmemset(tls, (unsafe.Pointer)(_pTask), i32(0), u32(60)) 57985 return 57986 57987 } 57988 57989 var _vdbeSortSubtaskCleanupØ00__func__Ø000 [23]int8 // - 57990 57991 func init() { 57992 crt.Xstrncpy(nil, &_vdbeSortSubtaskCleanupØ00__func__Ø000[0], str(61384), 23) 57993 } 57994 57995 func _vdbeSorterRecordFree(tls *crt.TLS, _db *Xsqlite3, _pRecord *XSorterRecord) { // sqlite3.c:86880:1 57996 var _p *XSorterRecord // sqlite3.c:86881:16 57997 _ = _p 57998 var _pNext *XSorterRecord // sqlite3.c:86882:16 57999 _ = _pNext 58000 _p = _pRecord 58001 _0: 58002 if _p == nil { 58003 goto _3 58004 } 58005 58006 _pNext = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))))) 58007 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 58008 _p = _pNext 58009 goto _0 58010 58011 _3: 58012 return 58013 58014 } 58015 58016 func _sqlite3VdbeDeleteAuxData(tls *crt.TLS, _db *Xsqlite3, _pp **XAuxData, _iOp int32, _mask int32) { // sqlite3.c:74297:1 58017 var _1_pAux *XAuxData // sqlite3.c:74299:13 58018 _ = _1_pAux 58019 _0: 58020 if (*_pp) == nil { 58021 goto _1 58022 } 58023 58024 _1_pAux = *_pp 58025 if _iOp >= i32(0) && ((_1_pAux.X0) != _iOp || (_1_pAux.X1) <= i32(31) && (uint32(_mask)&(u32(1)<<uint(_1_pAux.X1))) != 0) { 58026 goto _5 58027 } 58028 58029 if (_1_pAux.X3) == nil { 58030 goto _6 58031 } 58032 58033 (_1_pAux.X3)(tls, _1_pAux.X2) 58034 _6: 58035 *_pp = (*XAuxData)(unsafe.Pointer(_1_pAux.X4)) 58036 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pAux)) 58037 goto _7 58038 58039 _5: 58040 _pp = (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pAux)) + uintptr(16 /* X4 */))))) 58041 _7: 58042 goto _0 58043 58044 _1: 58045 return 58046 58047 } 58048 58049 var _closeAllCursorsØ00__func__Ø000 [16]int8 // - 58050 58051 func init() { 58052 crt.Xstrncpy(nil, &_closeAllCursorsØ00__func__Ø000[0], str(61408), 16) 58053 } 58054 58055 func _sqlite3VdbeFrameDelete(tls *crt.TLS, _p *XVdbeFrame) { // sqlite3.c:72904:1 58056 var _i int32 // sqlite3.c:72905:7 58057 _ = _i 58058 var _aMem *XMem // sqlite3.c:72906:7 58059 _ = _aMem 58060 var _apCsr **XVdbeCursor // sqlite3.c:72907:14 58061 _ = _apCsr 58062 _aMem = (*XMem)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(u32(80)))))) 58063 _apCsr = (**XVdbeCursor)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_p.X14))))) 58064 _i = i32(0) 58065 _0: 58066 if _i >= (_p.X15) { 58067 goto _3 58068 } 58069 58070 _sqlite3VdbeFreeCursor(tls, (*XVdbe)(unsafe.Pointer(_p.X0)), *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apCsr)) + 4*uintptr(_i)))) 58071 _i += 1 58072 goto _0 58073 58074 _3: 58075 _releaseMemArray(tls, _aMem, _p.X14) 58076 _sqlite3VdbeDeleteAuxData(tls, (*Xsqlite3)(unsafe.Pointer((*XVdbe)(unsafe.Pointer(_p.X0)).X0)), (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(40 /* X9 */))))), i32(-1), i32(0)) 58077 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer((*XVdbe)(unsafe.Pointer(_p.X0)).X0)), (unsafe.Pointer)(_p)) 58078 return 58079 58080 } 58081 58082 func _checkActiveVdbeCnt(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:73805:1 58083 var _p *XVdbe // sqlite3.c:73806:8 58084 _ = _p 58085 var _cnt int32 // sqlite3.c:73807:7 58086 _ = _cnt 58087 var _nWrite int32 // sqlite3.c:73808:7 58088 _ = _nWrite 58089 var _nRead int32 // sqlite3.c:73809:7 58090 _ = _nRead 58091 _cnt = i32(0) 58092 _nWrite = i32(0) 58093 _nRead = i32(0) 58094 _p = (*XVdbe)(unsafe.Pointer(_db.X1)) 58095 _0: 58096 if _p == nil { 58097 goto _1 58098 } 58099 58100 if Xsqlite3_stmt_busy(tls, (unsafe.Pointer)(_p)) == 0 { 58101 goto _2 58102 } 58103 58104 _cnt += 1 58105 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 58106 goto _3 58107 } 58108 58109 _nWrite += 1 58110 _3: 58111 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) == 0 { 58112 goto _4 58113 } 58114 58115 _nRead += 1 58116 _4: 58117 _2: 58118 _p = (*XVdbe)(unsafe.Pointer(_p.X2)) 58119 goto _0 58120 58121 _1: 58122 func() int32 { 58123 if _cnt == (_db.X34) { 58124 return i32(0) 58125 } 58126 return func() int32 { 58127 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73819), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkActiveVdbeCntØ00__func__Ø000))), unsafe.Pointer(str(61424))) 58128 crt.X__builtin_abort(tls) 58129 return i32(0) 58130 }() 58131 }() 58132 func() int32 { 58133 if _nWrite == (_db.X36) { 58134 return i32(0) 58135 } 58136 return func() int32 { 58137 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73820), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkActiveVdbeCntØ00__func__Ø000))), unsafe.Pointer(str(61448))) 58138 crt.X__builtin_abort(tls) 58139 return i32(0) 58140 }() 58141 }() 58142 func() int32 { 58143 if _nRead == (_db.X35) { 58144 return i32(0) 58145 } 58146 return func() int32 { 58147 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73821), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkActiveVdbeCntØ00__func__Ø000))), unsafe.Pointer(str(61472))) 58148 crt.X__builtin_abort(tls) 58149 return i32(0) 58150 }() 58151 }() 58152 return 58153 58154 } 58155 58156 func Xsqlite3_stmt_busy(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77563:12 58157 var _v *XVdbe // sqlite3.c:77564:8 58158 _ = _v 58159 _v = (*XVdbe)(unsafe.Pointer(_pStmt)) 58160 r0 = bool2int(((_v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0))))) && ((_v.X5) == uint32(i32(770837923)))) && ((_v.X9) >= i32(0))) 58161 return 58162 58163 } 58164 58165 var _checkActiveVdbeCntØ00__func__Ø000 [19]int8 // - 58166 58167 func init() { 58168 crt.Xstrncpy(nil, &_checkActiveVdbeCntØ00__func__Ø000[0], str(61496), 19) 58169 } 58170 58171 func _sqlite3VdbeEnter(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:72772:1 58172 var _i int32 // sqlite3.c:72773:7 58173 _ = _i 58174 var _db *Xsqlite3 // sqlite3.c:72774:11 58175 _ = _db 58176 var _aDb *XDb // sqlite3.c:72775:6 58177 _ = _aDb 58178 var _nDb int32 // sqlite3.c:72776:7 58179 _ = _nDb 58180 if (_p.X34) != uint32(i32(0)) { 58181 goto _0 58182 } 58183 58184 return 58185 58186 _0: 58187 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 58188 _aDb = (*XDb)(unsafe.Pointer(_db.X4)) 58189 _nDb = _db.X5 58190 _i = i32(0) 58191 _1: 58192 if _i >= _nDb { 58193 goto _4 58194 } 58195 58196 if _i == i32(1) || ((_p.X34)&(u32(1)<<uint(_i))) == uint32(i32(0)) || func() int32 { 58197 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDb))+16*uintptr(_i))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 58198 return i32(1) 58199 } 58200 return func() int32 { 58201 func() int32 { 58202 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72782), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeEnterØ00__func__Ø000))), unsafe.Pointer(str(5204))) 58203 crt.X__builtin_abort(tls) 58204 return i32(0) 58205 }() 58206 return i32(0) 58207 }() 58208 }() == 0 { 58209 goto _9 58210 } 58211 58212 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDb))+16*uintptr(_i))).X1))) 58213 _9: 58214 _i += 1 58215 goto _1 58216 58217 _4: 58218 return 58219 58220 } 58221 58222 var _sqlite3VdbeEnterØ00__func__Ø000 [17]int8 // - 58223 58224 func init() { 58225 crt.Xstrncpy(nil, &_sqlite3VdbeEnterØ00__func__Ø000[0], str(61516), 17) 58226 } 58227 58228 func _sqlite3VdbeCheckFk(tls *crt.TLS, _p *XVdbe, _deferred int32) (r0 int32) { // sqlite3.c:73902:1 58229 var _db *Xsqlite3 // sqlite3.c:73903:11 58230 _ = _db 58231 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 58232 if (_deferred == 0 || ((_db.X77)+(_db.X78)) <= int64(i32(0))) && (_deferred != 0 || (_p.X14) <= int64(i32(0))) { 58233 goto _3 58234 } 58235 58236 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(787) 58237 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(138 /* X30 */))) = uint8(i32(2)) 58238 _sqlite3VdbeError(tls, _p, str(61536)) 58239 r0 = i32(1) 58240 return 58241 58242 _3: 58243 r0 = i32(0) 58244 return 58245 58246 } 58247 58248 func _sqlite3VdbeError(tls *crt.TLS, _p *XVdbe, _zFormat *int8, args ...interface{}) { // sqlite3.c:71375:1 58249 var _ap []interface{} // sqlite3.c:71376:11 58250 _ = _ap 58251 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_p.X22)) 58252 _ap = args 58253 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = _sqlite3VMPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _zFormat, _ap) 58254 _ap = nil 58255 return 58256 58257 } 58258 58259 var _sqlite3VdbeHaltØ00__func__Ø000 [16]int8 // - 58260 58261 func init() { 58262 crt.Xstrncpy(nil, &_sqlite3VdbeHaltØ00__func__Ø000[0], str(61568), 16) 58263 } 58264 58265 func _sqlite3VdbeLeave(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:72807:1 58266 if (_p.X34) != uint32(i32(0)) { 58267 goto _0 58268 } 58269 58270 return 58271 58272 _0: 58273 _vdbeLeave(tls, _p) 58274 return 58275 58276 } 58277 58278 func _vdbeLeave(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:72793:1 58279 var _i int32 // sqlite3.c:72794:7 58280 _ = _i 58281 var _db *Xsqlite3 // sqlite3.c:72795:11 58282 _ = _db 58283 var _aDb *XDb // sqlite3.c:72796:6 58284 _ = _aDb 58285 var _nDb int32 // sqlite3.c:72797:7 58286 _ = _nDb 58287 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 58288 _aDb = (*XDb)(unsafe.Pointer(_db.X4)) 58289 _nDb = _db.X5 58290 _i = i32(0) 58291 _0: 58292 if _i >= _nDb { 58293 goto _3 58294 } 58295 58296 if _i == i32(1) || ((_p.X34)&(u32(1)<<uint(_i))) == uint32(i32(0)) || func() int32 { 58297 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDb))+16*uintptr(_i))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 58298 return i32(1) 58299 } 58300 return func() int32 { 58301 func() int32 { 58302 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72802), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeLeaveØ00__func__Ø000))), unsafe.Pointer(str(5204))) 58303 crt.X__builtin_abort(tls) 58304 return i32(0) 58305 }() 58306 return i32(0) 58307 }() 58308 }() == 0 { 58309 goto _8 58310 } 58311 58312 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aDb))+16*uintptr(_i))).X1))) 58313 _8: 58314 _i += 1 58315 goto _0 58316 58317 _3: 58318 return 58319 58320 } 58321 58322 var _vdbeLeaveØ00__func__Ø000 [10]int8 // - 58323 58324 func init() { 58325 crt.Xstrncpy(nil, &_vdbeLeaveØ00__func__Ø000[0], str(61584), 10) 58326 } 58327 58328 func _vdbeCommit(tls *crt.TLS, _db *Xsqlite3, _p *XVdbe) (r0 int32) { // sqlite3.c:73543:1 58329 var _i int32 // sqlite3.c:73544:7 58330 _ = _i 58331 var _nTrans int32 // sqlite3.c:73545:7 58332 _ = _nTrans 58333 var _rc int32 // sqlite3.c:73548:7 58334 _ = _rc 58335 var _needXcommit int32 // sqlite3.c:73549:7 58336 _ = _needXcommit 58337 var _1_pBt *XBtree // sqlite3.c:73573:11 58338 _ = _1_pBt 58339 var _2_pPager *XPager // sqlite3.c:73586:13 58340 _ = _2_pPager 58341 var _8_pBt *XBtree // sqlite3.c:73625:13 58342 _ = _8_pBt 58343 var _10_pBt *XBtree // sqlite3.c:73637:13 58344 _ = _10_pBt 58345 var _13_pVfs *Xsqlite3_vfs // sqlite3.c:73653:17 58346 _ = _13_pVfs 58347 var _13_zMaster *int8 // sqlite3.c:73654:10 58348 _ = _13_zMaster 58349 var _13_zMainFile *int8 // sqlite3.c:73655:16 58350 _ = _13_zMainFile 58351 var _13_pMaster *Xsqlite3_file // sqlite3.c:73656:18 58352 _ = _13_pMaster 58353 var _13_offset int64 // sqlite3.c:73657:9 58354 _ = _13_offset 58355 var _13_res int32 // sqlite3.c:73658:9 58356 _ = _13_res 58357 var _13_retryCount int32 // sqlite3.c:73659:9 58358 _ = _13_retryCount 58359 var _13_nMainFile int32 // sqlite3.c:73660:9 58360 _ = _13_nMainFile 58361 var _14_iRandom uint32 // sqlite3.c:73667:11 58362 _ = _14_iRandom 58363 var _20_pBt *XBtree // sqlite3.c:73706:13 58364 _ = _20_pBt 58365 var _21_zFile *int8 // sqlite3.c:73708:20 58366 _ = _21_zFile 58367 var _25_pBt *XBtree // sqlite3.c:73747:13 58368 _ = _25_pBt 58369 var _29_pBt *XBtree // sqlite3.c:73780:13 58370 _ = _29_pBt 58371 _nTrans = i32(0) 58372 _rc = i32(0) 58373 _needXcommit = i32(0) 58374 _rc = _sqlite3VtabSync(tls, _db, _p) 58375 _i = i32(0) 58376 _0: 58377 if _rc != i32(0) || _i >= (_db.X5) { 58378 goto _4 58379 } 58380 58381 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58382 if _sqlite3BtreeIsInTrans(tls, _1_pBt) == 0 { 58383 goto _5 58384 } 58385 58386 _needXcommit = i32(1) 58387 _sqlite3BtreeEnter(tls, _1_pBt) 58388 _2_pPager = _sqlite3BtreePager(tls, _1_pBt) 58389 if int32((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X2) == i32(1) || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_vdbeCommitØ00aMJNeededØ001)) + 1*uintptr(_sqlite3PagerGetJournalMode(tls, _2_pPager))))) == 0 { 58390 goto _7 58391 } 58392 58393 func() int32 { 58394 if _i != i32(1) { 58395 return i32(0) 58396 } 58397 return func() int32 { 58398 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73593), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCommitØ00__func__Ø000))), unsafe.Pointer(str(61596))) 58399 crt.X__builtin_abort(tls) 58400 return i32(0) 58401 }() 58402 }() 58403 _nTrans += 1 58404 _7: 58405 _rc = _sqlite3PagerExclusiveLock(tls, _2_pPager) 58406 _sqlite3BtreeLeave(tls, _1_pBt) 58407 _5: 58408 _i += 1 58409 goto _0 58410 58411 _4: 58412 if _rc == i32(0) { 58413 goto _10 58414 } 58415 58416 r0 = _rc 58417 return 58418 58419 _10: 58420 if _needXcommit == 0 || (_db.X46) == nil { 58421 goto _12 58422 } 58423 58424 _rc = (_db.X46)(tls, _db.X45) 58425 if _rc == 0 { 58426 goto _13 58427 } 58428 58429 r0 = i32(531) 58430 return 58431 58432 _13: 58433 _12: 58434 if i32(0) != _sqlite3Strlen30(tls, _sqlite3BtreeGetFilename(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1)))) && _nTrans > i32(1) { 58435 goto _15 58436 } 58437 58438 _i = i32(0) 58439 _16: 58440 if _rc != i32(0) || _i >= (_db.X5) { 58441 goto _20 58442 } 58443 58444 _8_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58445 if _8_pBt == nil { 58446 goto _21 58447 } 58448 58449 _rc = _sqlite3BtreeCommitPhaseOne(tls, _8_pBt, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 58450 _21: 58451 _i += 1 58452 goto _16 58453 58454 _20: 58455 _i = i32(0) 58456 _22: 58457 if _rc != i32(0) || _i >= (_db.X5) { 58458 goto _26 58459 } 58460 58461 _10_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58462 if _10_pBt == nil { 58463 goto _27 58464 } 58465 58466 _rc = _sqlite3BtreeCommitPhaseTwo(tls, _10_pBt, i32(0)) 58467 _27: 58468 _i += 1 58469 goto _22 58470 58471 _26: 58472 if _rc != i32(0) { 58473 goto _28 58474 } 58475 58476 _sqlite3VtabCommit(tls, _db) 58477 _28: 58478 goto _29 58479 58480 _15: 58481 _13_pVfs = (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)) 58482 _13_zMaster = nil 58483 _13_zMainFile = _sqlite3BtreeGetFilename(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1))) 58484 _13_pMaster = nil 58485 _13_offset = i64(0) 58486 _13_retryCount = i32(0) 58487 _13_nMainFile = _sqlite3Strlen30(tls, _13_zMainFile) 58488 _13_zMaster = _sqlite3MPrintf(tls, _db, str(61604), unsafe.Pointer(_13_zMainFile)) 58489 if _13_zMaster != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 58490 goto _30 58491 } 58492 58493 r0 = _sqlite3NomemError(tls, i32(73665)) 58494 return 58495 58496 _30: 58497 _31: 58498 if _13_retryCount == 0 { 58499 goto _32 58500 } 58501 58502 if _13_retryCount <= i32(100) { 58503 goto _33 58504 } 58505 58506 Xsqlite3_log(tls, i32(13), str(61620), unsafe.Pointer(_13_zMaster)) 58507 _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(0)) 58508 goto _34 58509 58510 _33: 58511 if _13_retryCount != i32(1) { 58512 goto _36 58513 } 58514 58515 Xsqlite3_log(tls, i32(13), str(61636), unsafe.Pointer(_13_zMaster)) 58516 _36: 58517 _32: 58518 _13_retryCount += 1 58519 Xsqlite3_randomness(tls, int32(u32(4)), (unsafe.Pointer)(&_14_iRandom)) 58520 Xsqlite3_snprintf(tls, i32(13), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_zMaster))+1*uintptr(_13_nMainFile))), str(61652), (_14_iRandom>>uint(i32(8)))&uint32(i32(16777215)), _14_iRandom&uint32(i32(255))) 58521 func() int32 { 58522 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_zMaster)) + 1*uintptr(_sqlite3Strlen30(tls, _13_zMaster)-i32(3))))) == i32(57) { 58523 return i32(0) 58524 } 58525 return func() int32 { 58526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73683), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCommitØ00__func__Ø000))), unsafe.Pointer(str(61668))) 58527 crt.X__builtin_abort(tls) 58528 return i32(0) 58529 }() 58530 }() 58531 _rc = _sqlite3OsAccess(tls, _13_pVfs, _13_zMaster, i32(0), &_13_res) 58532 if (_rc == i32(0)) && _13_res != 0 { 58533 goto _31 58534 } 58535 58536 _34: 58537 if _rc != i32(0) { 58538 goto _40 58539 } 58540 58541 _rc = _sqlite3OsOpenMalloc(tls, _13_pVfs, _13_zMaster, &_13_pMaster, i32(16406), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 58542 _40: 58543 if _rc == i32(0) { 58544 goto _41 58545 } 58546 58547 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) 58548 r0 = _rc 58549 return 58550 58551 _41: 58552 _i = i32(0) 58553 _42: 58554 if _i >= (_db.X5) { 58555 goto _45 58556 } 58557 58558 _20_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58559 if _sqlite3BtreeIsInTrans(tls, _20_pBt) == 0 { 58560 goto _46 58561 } 58562 58563 _21_zFile = _sqlite3BtreeGetJournalname(tls, _20_pBt) 58564 if _21_zFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 58565 goto _47 58566 } 58567 58568 goto _43 58569 58570 _47: 58571 func() int32 { 58572 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_zFile)) + 1*uintptr(i32(0))))) != i32(0) { 58573 return i32(0) 58574 } 58575 return func() int32 { 58576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73712), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCommitØ00__func__Ø000))), unsafe.Pointer(str(61712))) 58577 crt.X__builtin_abort(tls) 58578 return i32(0) 58579 }() 58580 }() 58581 _rc = _sqlite3OsWrite(tls, _13_pMaster, (unsafe.Pointer)(_21_zFile), _sqlite3Strlen30(tls, _21_zFile)+i32(1), _13_offset) 58582 { 58583 p := &_13_offset 58584 *p = (*p) + int64(_sqlite3Strlen30(tls, _21_zFile)+i32(1)) 58585 sink967 = *p 58586 } 58587 if _rc == i32(0) { 58588 goto _50 58589 } 58590 58591 _sqlite3OsCloseFree(tls, _13_pMaster) 58592 _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(0)) 58593 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) 58594 r0 = _rc 58595 return 58596 58597 _50: 58598 _46: 58599 _43: 58600 _i += 1 58601 goto _42 58602 58603 _45: 58604 if i32(0) != (_sqlite3OsDeviceCharacteristics(tls, _13_pMaster)&i32(1024)) || i32(0) == store961(&_rc, _sqlite3OsSync(tls, _13_pMaster, i32(2))) { 58605 goto _52 58606 } 58607 58608 _sqlite3OsCloseFree(tls, _13_pMaster) 58609 _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(0)) 58610 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) 58611 r0 = _rc 58612 return 58613 58614 _52: 58615 _i = i32(0) 58616 _53: 58617 if _rc != i32(0) || _i >= (_db.X5) { 58618 goto _57 58619 } 58620 58621 _25_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58622 if _25_pBt == nil { 58623 goto _58 58624 } 58625 58626 _rc = _sqlite3BtreeCommitPhaseOne(tls, _25_pBt, _13_zMaster) 58627 _58: 58628 _i += 1 58629 goto _53 58630 58631 _57: 58632 _sqlite3OsCloseFree(tls, _13_pMaster) 58633 func() int32 { 58634 if _rc != i32(5) { 58635 return i32(0) 58636 } 58637 return func() int32 { 58638 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73753), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCommitØ00__func__Ø000))), unsafe.Pointer(str(61724))) 58639 crt.X__builtin_abort(tls) 58640 return i32(0) 58641 }() 58642 }() 58643 if _rc == i32(0) { 58644 goto _61 58645 } 58646 58647 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) 58648 r0 = _rc 58649 return 58650 58651 _61: 58652 _rc = _sqlite3OsDelete(tls, _13_pVfs, _13_zMaster, i32(1)) 58653 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_13_zMaster)) 58654 _13_zMaster = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 58655 if _rc == 0 { 58656 goto _62 58657 } 58658 58659 r0 = _rc 58660 return 58661 58662 _62: 58663 _sqlite3BeginBenignMalloc(tls) 58664 _i = i32(0) 58665 _63: 58666 if _i >= (_db.X5) { 58667 goto _66 58668 } 58669 58670 _29_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58671 if _29_pBt == nil { 58672 goto _67 58673 } 58674 58675 _sqlite3BtreeCommitPhaseTwo(tls, _29_pBt, i32(1)) 58676 _67: 58677 _i += 1 58678 goto _63 58679 58680 _66: 58681 _sqlite3EndBenignMalloc(tls) 58682 _sqlite3VtabCommit(tls, _db) 58683 _29: 58684 r0 = _rc 58685 return 58686 58687 } 58688 58689 func _sqlite3VtabSync(tls *crt.TLS, _db *Xsqlite3, _p *XVdbe) (r0 int32) { // sqlite3.c:125410:1 58690 var _i int32 // sqlite3.c:125411:7 58691 _ = _i 58692 var _rc int32 // sqlite3.c:125412:7 58693 _ = _rc 58694 var _aVTrans **XVTable // sqlite3.c:125413:10 58695 _ = _aVTrans 58696 var _1_x func(*crt.TLS, *Xsqlite3_vtab) int32 // sqlite3.c:125417:9 58697 _ = _1_x 58698 var _1_pVtab *Xsqlite3_vtab // sqlite3.c:125418:18 58699 _ = _1_pVtab 58700 _rc = i32(0) 58701 _aVTrans = (**XVTable)(unsafe.Pointer(_db.X67)) 58702 *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X67 */))))) = (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) 58703 _i = i32(0) 58704 _0: 58705 if _rc != i32(0) || _i >= (_db.X64) { 58706 goto _4 58707 } 58708 58709 _1_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aVTrans)) + 4*uintptr(_i)))).X2)) 58710 if _1_pVtab == nil || *(*unsafe.Pointer)(unsafe.Pointer(&struct { 58711 f func(*crt.TLS, *Xsqlite3_vtab) int32 58712 }{store8872912(&_1_x, *(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { 58713 f func(*crt.TLS, unsafe.Pointer) int32 58714 }{((*Xsqlite3_module)(unsafe.Pointer(_1_pVtab.X0)).X15)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 58715 f func(*crt.TLS, *Xsqlite3_vtab) int32 58716 }{nil})) { 58717 goto _6 58718 } 58719 58720 _rc = _1_x(tls, _1_pVtab) 58721 _sqlite3VtabImportErrmsg(tls, _p, _1_pVtab) 58722 _6: 58723 _i += 1 58724 goto _0 58725 58726 _4: 58727 *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X67 */))))) = _aVTrans 58728 r0 = _rc 58729 return 58730 58731 } 58732 58733 func _sqlite3VtabImportErrmsg(tls *crt.TLS, _p *XVdbe, _pVtab *Xsqlite3_vtab) { // sqlite3.c:75903:1 58734 var _1_db *Xsqlite3 // sqlite3.c:75905:13 58735 _ = _1_db 58736 if (_pVtab.X2) == nil { 58737 goto _0 58738 } 58739 58740 _1_db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 58741 _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_p.X22)) 58742 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = _sqlite3DbStrDup(tls, _1_db, _pVtab.X2) 58743 Xsqlite3_free(tls, (unsafe.Pointer)(_pVtab.X2)) 58744 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVtab)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 58745 _0: 58746 return 58747 58748 } 58749 58750 var _vdbeCommitØ00aMJNeededØ001 [6]uint8 // sqlite3.c:73578:23 58751 58752 func init() { 58753 _vdbeCommitØ00aMJNeededØ001 = [6]uint8{1, 1, 0, 1, 0, 0} 58754 } 58755 58756 func _sqlite3PagerGetJournalMode(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54101:1 58757 r0 = int32(_pPager.X2) 58758 return 58759 58760 } 58761 58762 var _vdbeCommitØ00__func__Ø000 [11]int8 // - 58763 58764 func init() { 58765 crt.Xstrncpy(nil, &_vdbeCommitØ00__func__Ø000[0], str(61740), 11) 58766 } 58767 58768 func _sqlite3BtreeGetFilename(tls *crt.TLS, _p *XBtree) (r0 *int8) { // sqlite3.c:68536:1 58769 func() int32 { 58770 if (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)) != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { 58771 return i32(0) 58772 } 58773 return func() int32 { 58774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68537), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetFilenameØ00__func__Ø000))), unsafe.Pointer(str(61752))) 58775 crt.X__builtin_abort(tls) 58776 return i32(0) 58777 }() 58778 }() 58779 r0 = _sqlite3PagerFilename(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)), i32(1)) 58780 return 58781 58782 } 58783 58784 var _sqlite3BtreeGetFilenameØ00__func__Ø000 [24]int8 // - 58785 58786 func init() { 58787 crt.Xstrncpy(nil, &_sqlite3BtreeGetFilenameØ00__func__Ø000[0], str(61772), 24) 58788 } 58789 58790 func _sqlite3PagerFilename(tls *crt.TLS, _pPager *XPager, _nullIfMemDb int32) (r0 *int8) { // sqlite3.c:53695:1 58791 r0 = func() *int8 { 58792 if _nullIfMemDb != 0 && ((_pPager.X13) != 0) { 58793 return str(196) 58794 } 58795 return (_pPager.X51) 58796 }() 58797 return 58798 58799 } 58800 58801 func _sqlite3VtabCommit(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125441:1 58802 _callFinaliser(tls, _db, int32(u32(64))) 58803 r0 = i32(0) 58804 return 58805 58806 } 58807 58808 func _sqlite3OsOpenMalloc(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFile *int8, _ppFile **Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) { // sqlite3.c:20333:1 58809 var _rc int32 // sqlite3.c:20340:7 58810 _ = _rc 58811 var _pFile *Xsqlite3_file // sqlite3.c:20341:16 58812 _ = _pFile 58813 _pFile = (*Xsqlite3_file)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_pVfs.X1)))) 58814 if _pFile == nil { 58815 goto _0 58816 } 58817 58818 _rc = _sqlite3OsOpen(tls, _pVfs, _zFile, _pFile, _flags, _pOutFlags) 58819 if _rc == i32(0) { 58820 goto _1 58821 } 58822 58823 Xsqlite3_free(tls, (unsafe.Pointer)(_pFile)) 58824 goto _2 58825 58826 _1: 58827 *_ppFile = _pFile 58828 _2: 58829 goto _3 58830 58831 _0: 58832 _rc = _sqlite3NomemError(tls, i32(20351)) 58833 _3: 58834 r0 = _rc 58835 return 58836 58837 } 58838 58839 func _sqlite3BtreeGetJournalname(tls *crt.TLS, _p *XBtree) (r0 *int8) { // sqlite3.c:68549:1 58840 func() int32 { 58841 if (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)) != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { 58842 return i32(0) 58843 } 58844 return func() int32 { 58845 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68550), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeGetJournalnameØ00__func__Ø000))), unsafe.Pointer(str(61752))) 58846 crt.X__builtin_abort(tls) 58847 return i32(0) 58848 }() 58849 }() 58850 r0 = _sqlite3PagerJournalname(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0))) 58851 return 58852 58853 } 58854 58855 var _sqlite3BtreeGetJournalnameØ00__func__Ø000 [27]int8 // - 58856 58857 func init() { 58858 crt.Xstrncpy(nil, &_sqlite3BtreeGetJournalnameØ00__func__Ø000[0], str(61796), 27) 58859 } 58860 58861 func _sqlite3PagerJournalname(tls *crt.TLS, _pPager *XPager) (r0 *int8) { // sqlite3.c:53730:1 58862 r0 = _pPager.X52 58863 return 58864 58865 } 58866 58867 func _sqlite3CommitInternalChanges(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:100014:1 58868 { 58869 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 58870 *p = (*p) & i32(-3) 58871 sink961 = *p 58872 } 58873 return 58874 58875 } 58876 58877 func _sqlite3VdbeCloseStatement(tls *crt.TLS, _p *XVdbe, _eOp int32) (r0 int32) { // sqlite3.c:73883:1 58878 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X76) == 0 || (_p.X12) == 0 { 58879 goto _1 58880 } 58881 58882 r0 = _vdbeCloseStatement(tls, _p, _eOp) 58883 return 58884 58885 _1: 58886 r0 = i32(0) 58887 return 58888 58889 } 58890 58891 func _vdbeCloseStatement(tls *crt.TLS, _p *XVdbe, _eOp int32) (r0 int32) { // sqlite3.c:73837:1 58892 var _db *Xsqlite3 // sqlite3.c:73838:11 58893 _ = _db 58894 var _rc int32 // sqlite3.c:73839:7 58895 _ = _rc 58896 var _i int32 // sqlite3.c:73840:7 58897 _ = _i 58898 var _iSavepoint int32 // sqlite3.c:73841:13 58899 _ = _iSavepoint 58900 var _1_rc2 int32 // sqlite3.c:73848:9 58901 _ = _1_rc2 58902 var _1_pBt *XBtree // sqlite3.c:73849:11 58903 _ = _1_pBt 58904 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 58905 _rc = i32(0) 58906 _iSavepoint = (_p.X12) - i32(1) 58907 func() int32 { 58908 if (_eOp == i32(2)) || (_eOp == i32(1)) { 58909 return i32(0) 58910 } 58911 return func() int32 { 58912 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73843), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCloseStatementØ00__func__Ø000))), unsafe.Pointer(str(61824))) 58913 crt.X__builtin_abort(tls) 58914 return i32(0) 58915 }() 58916 }() 58917 func() int32 { 58918 if (_db.X76) > i32(0) { 58919 return i32(0) 58920 } 58921 return func() int32 { 58922 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73844), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCloseStatementØ00__func__Ø000))), unsafe.Pointer(str(61876))) 58923 crt.X__builtin_abort(tls) 58924 return i32(0) 58925 }() 58926 }() 58927 func() int32 { 58928 if (_p.X12) == ((_db.X76) + (_db.X75)) { 58929 return i32(0) 58930 } 58931 return func() int32 { 58932 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73845), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeCloseStatementØ00__func__Ø000))), unsafe.Pointer(str(61896))) 58933 crt.X__builtin_abort(tls) 58934 return i32(0) 58935 }() 58936 }() 58937 _i = i32(0) 58938 _7: 58939 if _i >= (_db.X5) { 58940 goto _10 58941 } 58942 58943 _1_rc2 = i32(0) 58944 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 58945 if _1_pBt == nil { 58946 goto _11 58947 } 58948 58949 if _eOp != i32(2) { 58950 goto _12 58951 } 58952 58953 _1_rc2 = _sqlite3BtreeSavepoint(tls, _1_pBt, i32(2), _iSavepoint) 58954 _12: 58955 if _1_rc2 != i32(0) { 58956 goto _13 58957 } 58958 58959 _1_rc2 = _sqlite3BtreeSavepoint(tls, _1_pBt, i32(1), _iSavepoint) 58960 _13: 58961 if _rc != i32(0) { 58962 goto _14 58963 } 58964 58965 _rc = _1_rc2 58966 _14: 58967 _11: 58968 _i += 1 58969 goto _7 58970 58971 _10: 58972 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(432 /* X76 */))) -= 1 58973 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X12 */))) = i32(0) 58974 if _rc != i32(0) { 58975 goto _15 58976 } 58977 58978 if _eOp != i32(2) { 58979 goto _16 58980 } 58981 58982 _rc = _sqlite3VtabSavepoint(tls, _db, i32(2), _iSavepoint) 58983 _16: 58984 if _rc != i32(0) { 58985 goto _17 58986 } 58987 58988 _rc = _sqlite3VtabSavepoint(tls, _db, i32(1), _iSavepoint) 58989 _17: 58990 _15: 58991 if _eOp != i32(2) { 58992 goto _18 58993 } 58994 58995 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(436 /* X77 */))) = _p.X15 58996 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(444 /* X78 */))) = _p.X16 58997 _18: 58998 r0 = _rc 58999 return 59000 59001 } 59002 59003 var _vdbeCloseStatementØ00__func__Ø000 [19]int8 // - 59004 59005 func init() { 59006 crt.Xstrncpy(nil, &_vdbeCloseStatementØ00__func__Ø000[0], str(61944), 19) 59007 } 59008 59009 func _sqlite3BtreeSavepoint(tls *crt.TLS, _p *XBtree, _op int32, _iSavepoint int32) (r0 int32) { // sqlite3.c:63055:1 59010 var _rc int32 // sqlite3.c:63056:7 59011 _ = _rc 59012 var _1_pBt *XBtShared // sqlite3.c:63058:14 59013 _ = _1_pBt 59014 _rc = i32(0) 59015 if _p == nil || int32(_p.X2) != i32(2) { 59016 goto _1 59017 } 59018 59019 _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 59020 func() int32 { 59021 if (_op == i32(1)) || (_op == i32(2)) { 59022 return i32(0) 59023 } 59024 return func() int32 { 59025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63059), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSavepointØ00__func__Ø000))), unsafe.Pointer(str(15272))) 59026 crt.X__builtin_abort(tls) 59027 return i32(0) 59028 }() 59029 }() 59030 func() int32 { 59031 if (_iSavepoint >= i32(0)) || ((_iSavepoint == i32(-1)) && (_op == i32(2))) { 59032 return i32(0) 59033 } 59034 return func() int32 { 59035 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63060), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSavepointØ00__func__Ø000))), unsafe.Pointer(str(61964))) 59036 crt.X__builtin_abort(tls) 59037 return i32(0) 59038 }() 59039 }() 59040 _sqlite3BtreeEnter(tls, _p) 59041 if _op != i32(2) { 59042 goto _9 59043 } 59044 59045 _rc = _saveAllCursors(tls, _1_pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) 59046 _9: 59047 if _rc != i32(0) { 59048 goto _10 59049 } 59050 59051 _rc = _sqlite3PagerSavepoint(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), _op, _iSavepoint) 59052 _10: 59053 if _rc != i32(0) { 59054 goto _11 59055 } 59056 59057 if _iSavepoint >= i32(0) || (int32(_1_pBt.X10)&i32(8)) == i32(0) { 59058 goto _13 59059 } 59060 59061 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(44 /* X18 */))) = uint32(i32(0)) 59062 _13: 59063 _rc = _newDatabase(tls, _1_pBt) 59064 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pBt)) + uintptr(44 /* X18 */))) = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(28))))))+uintptr(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_1_pBt.X3)).X19))))) 59065 func() int32 { 59066 if (_1_pBt.X18) > uint32(i32(0)) { 59067 return i32(0) 59068 } 59069 return func() int32 { 59070 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63078), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSavepointØ00__func__Ø000))), unsafe.Pointer(str(62024))) 59071 crt.X__builtin_abort(tls) 59072 return i32(0) 59073 }() 59074 }() 59075 _11: 59076 _sqlite3BtreeLeave(tls, _p) 59077 _1: 59078 r0 = _rc 59079 return 59080 59081 } 59082 59083 var _sqlite3BtreeSavepointØ00__func__Ø000 [22]int8 // - 59084 59085 func init() { 59086 crt.Xstrncpy(nil, &_sqlite3BtreeSavepointØ00__func__Ø000[0], str(62040), 22) 59087 } 59088 59089 func _sqlite3VtabSavepoint(tls *crt.TLS, _db *Xsqlite3, _op int32, _iSavepoint int32) (r0 int32) { // sqlite3.c:125514:1 59090 var _rc int32 // sqlite3.c:125515:7 59091 _ = _rc 59092 var _1_i int32 // sqlite3.c:125520:9 59093 _ = _1_i 59094 var _2_pVTab *XVTable // sqlite3.c:125522:14 59095 _ = _2_pVTab 59096 var _2_pMod *Xsqlite3_module // sqlite3.c:125523:28 59097 _ = _2_pMod 59098 var _3_xMethod func(*crt.TLS, *Xsqlite3_vtab, int32) int32 // sqlite3.c:125525:13 59099 _ = _3_xMethod 59100 _rc = i32(0) 59101 func() int32 { 59102 if ((_op == i32(1)) || (_op == i32(2))) || (_op == i32(0)) { 59103 return i32(0) 59104 } 59105 return func() int32 { 59106 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125517), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabSavepointØ00__func__Ø000))), unsafe.Pointer(str(62064))) 59107 crt.X__builtin_abort(tls) 59108 return i32(0) 59109 }() 59110 }() 59111 func() int32 { 59112 if _iSavepoint >= i32(-1) { 59113 return i32(0) 59114 } 59115 return func() int32 { 59116 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125518), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabSavepointØ00__func__Ø000))), unsafe.Pointer(str(62132))) 59117 crt.X__builtin_abort(tls) 59118 return i32(0) 59119 }() 59120 }() 59121 if (**XVTable)(unsafe.Pointer(_db.X67)) == nil { 59122 goto _6 59123 } 59124 59125 _1_i = i32(0) 59126 _7: 59127 if _rc != i32(0) || _1_i >= (_db.X64) { 59128 goto _11 59129 } 59130 59131 _2_pVTab = *(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X67)) + 4*uintptr(_1_i))) 59132 _2_pMod = (*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer(_2_pVTab.X1)).X0)) 59133 if (*Xsqlite3_vtab)(unsafe.Pointer(_2_pVTab.X2)) == nil || (_2_pMod.X0) < i32(2) { 59134 goto _13 59135 } 59136 59137 switch _op { 59138 case i32(0): 59139 goto _15 59140 case i32(2): 59141 goto _16 59142 default: 59143 goto _17 59144 } 59145 59146 _15: 59147 _3_xMethod = *(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { 59148 f func(*crt.TLS, unsafe.Pointer, int32) int32 59149 }{(_2_pMod.X20)})) 59150 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pVTab)) + uintptr(20 /* X5 */))) = _iSavepoint + i32(1) 59151 goto _18 59152 59153 _16: 59154 _3_xMethod = *(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { 59155 f func(*crt.TLS, unsafe.Pointer, int32) int32 59156 }{(_2_pMod.X22)})) 59157 goto _18 59158 59159 _17: 59160 _3_xMethod = *(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { 59161 f func(*crt.TLS, unsafe.Pointer, int32) int32 59162 }{(_2_pMod.X21)})) 59163 goto _18 59164 59165 _18: 59166 if _3_xMethod == nil || (_2_pVTab.X5) <= _iSavepoint { 59167 goto _20 59168 } 59169 59170 _rc = _3_xMethod(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_2_pVTab.X2)), _iSavepoint) 59171 _20: 59172 _13: 59173 _1_i += 1 59174 goto _7 59175 59176 _11: 59177 _6: 59178 r0 = _rc 59179 return 59180 59181 } 59182 59183 var _sqlite3VtabSavepointØ00__func__Ø000 [21]int8 // - 59184 59185 func init() { 59186 crt.Xstrncpy(nil, &_sqlite3VtabSavepointØ00__func__Ø000[0], str(62148), 21) 59187 } 59188 59189 func _sqlite3VdbeSetChanges(tls *crt.TLS, _db *Xsqlite3, _nChange int32) { // sqlite3.c:75821:1 59190 func() int32 { 59191 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 59192 return i32(0) 59193 } 59194 return func() int32 { 59195 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75822), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetChangesØ00__func__Ø000))), unsafe.Pointer(str(832))) 59196 crt.X__builtin_abort(tls) 59197 return i32(0) 59198 }() 59199 }() 59200 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(84 /* X29 */))) = _nChange 59201 { 59202 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(88 /* X30 */))) 59203 *p = (*p) + _nChange 59204 sink961 = *p 59205 } 59206 return 59207 59208 } 59209 59210 var _sqlite3VdbeSetChangesØ00__func__Ø000 [22]int8 // - 59211 59212 func init() { 59213 crt.Xstrncpy(nil, &_sqlite3VdbeSetChangesØ00__func__Ø000[0], str(62172), 22) 59214 } 59215 59216 func _sqlite3VdbeTransferError(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:74142:1 59217 var _db *Xsqlite3 // sqlite3.c:74143:11 59218 _ = _db 59219 var _rc int32 // sqlite3.c:74144:7 59220 _ = _rc 59221 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 59222 _rc = _p.X10 59223 if (_p.X22) == nil { 59224 goto _0 59225 } 59226 59227 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(66 /* X18 */))) += 1 59228 _sqlite3BeginBenignMalloc(tls) 59229 if (*XMem)(unsafe.Pointer(_db.X56)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 59230 goto _1 59231 } 59232 59233 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(240 /* X56 */))))) = _sqlite3ValueNew(tls, _db) 59234 _1: 59235 _sqlite3ValueSetStr(tls, (*XMem)(unsafe.Pointer(_db.X56)), i32(-1), (unsafe.Pointer)(_p.X22), uint8(i32(1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 59236 _sqlite3EndBenignMalloc(tls) 59237 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(66 /* X18 */))) -= 1 59238 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = _rc 59239 goto _2 59240 59241 _0: 59242 _sqlite3Error(tls, _db, _rc) 59243 _2: 59244 r0 = _rc 59245 return 59246 59247 } 59248 59249 func _Cleanup(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:73467:1 59250 var _db *Xsqlite3 // sqlite3.c:73468:11 59251 _ = _db 59252 var _i int32 // sqlite3.c:73473:7 59253 _ = _i 59254 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 59255 if (**XVdbeCursor)(unsafe.Pointer(_p.X23)) == nil { 59256 goto _0 59257 } 59258 59259 _i = i32(0) 59260 _1: 59261 if _i >= (_p.X7) { 59262 goto _4 59263 } 59264 59265 func() int32 { 59266 if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_i)))) == (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 59267 return i32(0) 59268 } 59269 return func() int32 { 59270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73474), unsafe.Pointer((*int8)(unsafe.Pointer(&_CleanupØ00__func__Ø000))), unsafe.Pointer(str(62196))) 59271 crt.X__builtin_abort(tls) 59272 return i32(0) 59273 }() 59274 }() 59275 _i += 1 59276 goto _1 59277 59278 _4: 59279 _0: 59280 if (*XMem)(unsafe.Pointer(_p.X18)) == nil { 59281 goto _7 59282 } 59283 59284 _i = i32(0) 59285 _8: 59286 if _i >= (_p.X6) { 59287 goto _11 59288 } 59289 59290 func() int32 { 59291 if int32((*XMem)(unsafe.Pointer(uintptr(_p.X18)+48*uintptr(_i))).X1) == i32(128) { 59292 return i32(0) 59293 } 59294 return func() int32 { 59295 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73476), unsafe.Pointer((*int8)(unsafe.Pointer(&_CleanupØ00__func__Ø000))), unsafe.Pointer(str(62212))) 59296 crt.X__builtin_abort(tls) 59297 return i32(0) 59298 }() 59299 }() 59300 _i += 1 59301 goto _8 59302 59303 _11: 59304 _7: 59305 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) 59306 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 59307 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(100 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 59308 return 59309 59310 } 59311 59312 var _CleanupØ00__func__Ø000 [8]int8 // - 59313 59314 func init() { 59315 crt.Xstrncpy(nil, &_CleanupØ00__func__Ø000[0], str(62244), 8) 59316 } 59317 59318 var _sqlite3VdbeFinalizeØ00__func__Ø000 [20]int8 // - 59319 59320 func init() { 59321 crt.Xstrncpy(nil, &_sqlite3VdbeFinalizeØ00__func__Ø000[0], str(62252), 20) 59322 } 59323 59324 func _sqlite3VdbeDelete(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:74354:1 59325 var _db *Xsqlite3 // sqlite3.c:74355:11 59326 _ = _db 59327 if func() int32 { 59328 if _p == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 59329 return func() int32 { 59330 func() int32 { 59331 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74357), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeDeleteØ00__func__Ø000))), unsafe.Pointer(str(5204))) 59332 crt.X__builtin_abort(tls) 59333 return i32(0) 59334 }() 59335 return i32(1) 59336 }() 59337 } 59338 return i32(0) 59339 }() == 0 { 59340 goto _2 59341 } 59342 59343 return 59344 59345 _2: 59346 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 59347 func() int32 { 59348 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 59349 return i32(0) 59350 } 59351 return func() int32 { 59352 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74359), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeDeleteØ00__func__Ø000))), unsafe.Pointer(str(832))) 59353 crt.X__builtin_abort(tls) 59354 return i32(0) 59355 }() 59356 }() 59357 _sqlite3VdbeClearObject(tls, _db, _p) 59358 if (*XVdbe)(unsafe.Pointer(_p.X1)) == nil { 59359 goto _5 59360 } 59361 59362 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X1) + uintptr(8 /* X2 */))))) = (*XVdbe)(unsafe.Pointer(_p.X2)) 59363 goto _6 59364 59365 _5: 59366 func() int32 { 59367 if (*XVdbe)(unsafe.Pointer(_db.X1)) == _p { 59368 return i32(0) 59369 } 59370 return func() int32 { 59371 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74364), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeDeleteØ00__func__Ø000))), unsafe.Pointer(str(62272))) 59372 crt.X__builtin_abort(tls) 59373 return i32(0) 59374 }() 59375 }() 59376 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(4 /* X1 */))))) = (*XVdbe)(unsafe.Pointer(_p.X2)) 59377 _6: 59378 if (*XVdbe)(unsafe.Pointer(_p.X2)) == nil { 59379 goto _9 59380 } 59381 59382 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X2) + uintptr(4 /* X1 */))))) = (*XVdbe)(unsafe.Pointer(_p.X1)) 59383 _9: 59384 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = uint32(i32(1443283912)) 59385 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 59386 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 59387 return 59388 59389 } 59390 59391 var _sqlite3VdbeDeleteØ00__func__Ø000 [18]int8 // - 59392 59393 func init() { 59394 crt.Xstrncpy(nil, &_sqlite3VdbeDeleteØ00__func__Ø000[0], str(62288), 18) 59395 } 59396 59397 func _sqlite3VdbeClearObject(tls *crt.TLS, _db *Xsqlite3, _p *XVdbe) { // sqlite3.c:74323:1 59398 var _pSub *XSubProgram // sqlite3.c:74324:14 59399 _ = _pSub 59400 var _pNext *XSubProgram // sqlite3.c:74324:21 59401 _ = _pNext 59402 func() int32 { 59403 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || ((*Xsqlite3)(unsafe.Pointer(_p.X0)) == _db) { 59404 return i32(0) 59405 } 59406 return func() int32 { 59407 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74325), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeClearObjectØ00__func__Ø000))), unsafe.Pointer(str(62308))) 59408 crt.X__builtin_abort(tls) 59409 return i32(0) 59410 }() 59411 }() 59412 _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X20)), int32(_p.X29)*i32(2)) 59413 _pSub = (*XSubProgram)(unsafe.Pointer(_p.X42)) 59414 _3: 59415 if _pSub == nil { 59416 goto _6 59417 } 59418 59419 _pNext = (*XSubProgram)(unsafe.Pointer(_pSub.X6)) 59420 _vdbeFreeOpArray(tls, _db, (*XVdbeOp)(unsafe.Pointer(_pSub.X0)), _pSub.X1) 59421 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSub)) 59422 _pSub = _pNext 59423 goto _3 59424 59425 _6: 59426 if (_p.X5) == uint32(i32(381479589)) { 59427 goto _7 59428 } 59429 59430 _releaseMemArray(tls, (*XMem)(unsafe.Pointer(_p.X24)), int32(_p.X4)) 59431 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X25)) 59432 _sqlite3DbFree(tls, _db, _p.X37) 59433 _7: 59434 _vdbeFreeOpArray(tls, _db, (*XVdbeOp)(unsafe.Pointer(_p.X17)), _p.X27) 59435 _sqlite3DbFree(tls, _db, _p.X20) 59436 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X36)) 59437 return 59438 59439 } 59440 59441 var _sqlite3VdbeClearObjectØ00__func__Ø000 [23]int8 // - 59442 59443 func init() { 59444 crt.Xstrncpy(nil, &_sqlite3VdbeClearObjectØ00__func__Ø000[0], str(62332), 23) 59445 } 59446 59447 func _vdbeFreeOpArray(tls *crt.TLS, _db *Xsqlite3, _aOp *XVdbeOp, _nOp int32) { // sqlite3.c:72208:1 59448 var _1_pOp *XVdbeOp // sqlite3.c:72210:8 59449 _ = _1_pOp 59450 if _aOp == nil { 59451 goto _0 59452 } 59453 59454 _1_pOp = _aOp 59455 _1: 59456 if uintptr(unsafe.Pointer(_1_pOp)) >= uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr(_nOp))))) { 59457 goto _4 59458 } 59459 59460 if (_1_pOp.X1) == 0 { 59461 goto _5 59462 } 59463 59464 _freeP4(tls, _db, int32(_1_pOp.X1), *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */)))))) 59465 _5: 59466 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pOp.X7)) 59467 *(*uintptr)(unsafe.Pointer(&_1_pOp)) += uintptr(24) 59468 goto _1 59469 59470 _4: 59471 _0: 59472 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aOp)) 59473 return 59474 59475 } 59476 59477 func _sqlite3ParserReset(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:115888:1 59478 var _1_db *Xsqlite3 // sqlite3.c:115890:13 59479 _ = _1_db 59480 if _pParse == nil { 59481 goto _0 59482 } 59483 59484 _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 59485 _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_pParse.X26)) 59486 _sqlite3ExprListDelete(tls, _1_db, (*XExprList)(unsafe.Pointer(_pParse.X27))) 59487 if _1_db == nil { 59488 goto _1 59489 } 59490 59491 func() int32 { 59492 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db)) + uintptr(252 /* X58 */))).X0) >= uint32(_pParse.X12) { 59493 return i32(0) 59494 } 59495 return func() int32 { 59496 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115894), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ParserResetØ00__func__Ø000))), unsafe.Pointer(str(62356))) 59497 crt.X__builtin_abort(tls) 59498 return i32(0) 59499 }() 59500 }() 59501 { 59502 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) 59503 *p = (*p) - uint32(_pParse.X12) 59504 sink985 = *p 59505 } 59506 _1: 59507 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X12 */))) = uint8(i32(0)) 59508 _0: 59509 return 59510 59511 } 59512 59513 var _sqlite3ParserResetØ00__func__Ø000 [19]int8 // - 59514 59515 func init() { 59516 crt.Xstrncpy(nil, &_sqlite3ParserResetØ00__func__Ø000[0], str(62408), 19) 59517 } 59518 59519 func Xsqlite3_finalize(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76101:12 59520 var _rc int32 // sqlite3.c:76102:7 59521 _ = _rc 59522 var _2_v *XVdbe // sqlite3.c:76108:10 59523 _ = _2_v 59524 var _2_db *Xsqlite3 // sqlite3.c:76109:13 59525 _ = _2_db 59526 if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { 59527 goto _0 59528 } 59529 59530 _rc = i32(0) 59531 goto _1 59532 59533 _0: 59534 _2_v = (*XVdbe)(unsafe.Pointer(_pStmt)) 59535 _2_db = (*Xsqlite3)(unsafe.Pointer(_2_v.X0)) 59536 if _vdbeSafety(tls, _2_v) == 0 { 59537 goto _2 59538 } 59539 59540 r0 = _sqlite3MisuseError(tls, i32(76110)) 59541 return 59542 59543 _2: 59544 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_2_db.X3))) 59545 if (_2_v.X26) <= int64(i32(0)) { 59546 goto _3 59547 } 59548 59549 _invokeProfileCallback(tls, _2_db, _2_v) 59550 _3: 59551 _rc = _sqlite3VdbeFinalize(tls, _2_v) 59552 _rc = _sqlite3ApiExit(tls, _2_db, _rc) 59553 _sqlite3LeaveMutexAndCloseZombie(tls, _2_db) 59554 _1: 59555 r0 = _rc 59556 return 59557 59558 } 59559 59560 func _invokeProfileCallback(tls *crt.TLS, _db *Xsqlite3, _p *XVdbe) { // sqlite3.c:76065:1 59561 var _iNow int64 // sqlite3.c:76066:17 59562 _ = _iNow 59563 var _iElapse int64 // sqlite3.c:76067:17 59564 _ = _iElapse 59565 func() int32 { 59566 if (_p.X26) > int64(i32(0)) { 59567 return i32(0) 59568 } 59569 return func() int32 { 59570 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76068), unsafe.Pointer((*int8)(unsafe.Pointer(&_invokeProfileCallbackØ00__func__Ø000))), unsafe.Pointer(str(62428))) 59571 crt.X__builtin_abort(tls) 59572 return i32(0) 59573 }() 59574 }() 59575 func() int32 { 59576 if (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 59577 f func(*crt.TLS, unsafe.Pointer, *int8, uint64) 59578 }{(_db.X43)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 59579 f func(*crt.TLS, unsafe.Pointer, *int8, uint64) 59580 }{nil}))) || ((int32(_db.X24) & i32(2)) != i32(0)) { 59581 return i32(0) 59582 } 59583 return func() int32 { 59584 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76069), unsafe.Pointer((*int8)(unsafe.Pointer(&_invokeProfileCallbackØ00__func__Ø000))), unsafe.Pointer(str(62444))) 59585 crt.X__builtin_abort(tls) 59586 return i32(0) 59587 }() 59588 }() 59589 func() int32 { 59590 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == i32(0) { 59591 return i32(0) 59592 } 59593 return func() int32 { 59594 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76070), unsafe.Pointer((*int8)(unsafe.Pointer(&_invokeProfileCallbackØ00__func__Ø000))), unsafe.Pointer(str(52676))) 59595 crt.X__builtin_abort(tls) 59596 return i32(0) 59597 }() 59598 }() 59599 func() int32 { 59600 if (_p.X36) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 59601 return i32(0) 59602 } 59603 return func() int32 { 59604 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76071), unsafe.Pointer((*int8)(unsafe.Pointer(&_invokeProfileCallbackØ00__func__Ø000))), unsafe.Pointer(str(62504))) 59605 crt.X__builtin_abort(tls) 59606 return i32(0) 59607 }() 59608 }() 59609 _sqlite3OsCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), &_iNow) 59610 _iElapse = (_iNow - (_p.X26)) * int64(i32(1000000)) 59611 if (_db.X43) == nil { 59612 goto _9 59613 } 59614 59615 (_db.X43)(tls, _db.X44, _p.X36, uint64(_iElapse)) 59616 _9: 59617 if (int32(_db.X24) & i32(2)) == 0 { 59618 goto _10 59619 } 59620 59621 (_db.X41)(tls, uint32(i32(2)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(&_iElapse)) 59622 _10: 59623 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(120 /* X26 */))) = int64(i32(0)) 59624 return 59625 59626 } 59627 59628 var _invokeProfileCallbackØ00__func__Ø000 [22]int8 // - 59629 59630 func init() { 59631 crt.Xstrncpy(nil, &_invokeProfileCallbackØ00__func__Ø000[0], str(62516), 22) 59632 } 59633 59634 var _sqlite3LockAndPrepareØ00__func__Ø000 [22]int8 // - 59635 59636 func init() { 59637 crt.Xstrncpy(nil, &_sqlite3LockAndPrepareØ00__func__Ø000[0], str(62540), 22) 59638 } 59639 59640 var _sqlite3_prepareØ00__func__Ø000 [16]int8 // - 59641 59642 func init() { 59643 crt.Xstrncpy(nil, &_sqlite3_prepareØ00__func__Ø000[0], str(62564), 16) 59644 } 59645 59646 func Xsqlite3_errmsg(tls *crt.TLS, _db *Xsqlite3) (r0 *int8) { // sqlite3.c:142137:12 59647 var _z *int8 // sqlite3.c:142138:14 59648 _ = _z 59649 if _db != nil { 59650 goto _0 59651 } 59652 59653 r0 = _sqlite3ErrStr(tls, _sqlite3NomemError(tls, i32(142140))) 59654 return 59655 59656 _0: 59657 if _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { 59658 goto _1 59659 } 59660 59661 r0 = _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, i32(142143))) 59662 return 59663 59664 _1: 59665 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 59666 if (_db.X17) == 0 { 59667 goto _2 59668 } 59669 59670 _z = _sqlite3ErrStr(tls, _sqlite3NomemError(tls, i32(142147))) 59671 goto _3 59672 59673 _2: 59674 _z = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, (*XMem)(unsafe.Pointer(_db.X56))))) 59675 func() int32 { 59676 if (_db.X17) == 0 { 59677 return i32(0) 59678 } 59679 return func() int32 { 59680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142151), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_errmsgØ00__func__Ø000))), unsafe.Pointer(str(24884))) 59681 crt.X__builtin_abort(tls) 59682 return i32(0) 59683 }() 59684 }() 59685 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 59686 goto _6 59687 } 59688 59689 _z = _sqlite3ErrStr(tls, _db.X10) 59690 _6: 59691 _3: 59692 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 59693 r0 = _z 59694 return 59695 59696 } 59697 59698 func _sqlite3ErrStr(tls *crt.TLS, _rc int32) (r0 *int8) { // sqlite3.c:141302:1 59699 var _zErr *int8 // sqlite3.c:141332:14 59700 _ = _zErr 59701 _zErr = str(62580) 59702 switch _rc { 59703 case i32(516): 59704 goto _1 59705 default: 59706 goto _2 59707 } 59708 59709 _1: 59710 _zErr = str(62596) 59711 goto _3 59712 59713 _2: 59714 { 59715 p := &_rc 59716 *p = (*p) & i32(255) 59717 sink961 = *p 59718 } 59719 if func() int32 { 59720 if _rc >= i32(0) { 59721 return i32(1) 59722 } 59723 return func() int32 { 59724 func() int32 { 59725 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(141340), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ErrStrØ00__func__Ø000))), unsafe.Pointer(str(5204))) 59726 crt.X__builtin_abort(tls) 59727 return i32(0) 59728 }() 59729 return i32(0) 59730 }() 59731 }() == 0 || _rc >= i32(27) || (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3ErrStrØ00aMsgØ001)) + 4*uintptr(_rc)))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 59732 goto _8 59733 } 59734 59735 _zErr = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3ErrStrØ00aMsgØ001)) + 4*uintptr(_rc))) 59736 _8: 59737 goto _3 59738 59739 _3: 59740 r0 = _zErr 59741 return 59742 59743 } 59744 59745 var _sqlite3ErrStrØ00__func__Ø000 [14]int8 // - 59746 59747 func init() { 59748 crt.Xstrncpy(nil, &_sqlite3ErrStrØ00__func__Ø000[0], str(62620), 14) 59749 } 59750 59751 var _sqlite3ErrStrØ00aMsgØ001 [27]*int8 // sqlite3.c:141303:20 59752 59753 func init() { 59754 _sqlite3ErrStrØ00aMsgØ001 = [27]*int8{str(62636), str(62652), nil, str(62688), str(62716), str(62748), str(62768), str(62796), str(62812), str(62852), str(62864), str(62880), str(62916), str(62936), str(62964), str(62996), str(63016), str(63040), str(6464), str(63068), str(63088), str(63108), str(63148), str(63180), str(63204), str(63236), str(63272)} 59755 } 59756 59757 var _sqlite3_errmsgØ00__func__Ø000 [15]int8 // - 59758 59759 func init() { 59760 crt.Xstrncpy(nil, &_sqlite3_errmsgØ00__func__Ø000[0], str(63312), 15) 59761 } 59762 59763 func _sqlite3FindIndex(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _zDb *int8) (r0 *XIndex) { // sqlite3.c:99871:1 59764 var _p *XIndex // sqlite3.c:99872:9 59765 _ = _p 59766 var _i int32 // sqlite3.c:99873:7 59767 _ = _i 59768 var _1_j int32 // sqlite3.c:99877:9 59769 _ = _1_j 59770 var _1_pSchema *XSchema // sqlite3.c:99878:12 59771 _ = _1_pSchema 59772 _p = nil 59773 func() int32 { 59774 if (_zDb != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 59775 return i32(0) 59776 } 59777 return func() int32 { 59778 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99875), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindIndexØ00__func__Ø000))), unsafe.Pointer(str(63328))) 59779 crt.X__builtin_abort(tls) 59780 return i32(0) 59781 }() 59782 }() 59783 _i = i32(0) 59784 _3: 59785 if _i >= (_db.X5) { 59786 goto _6 59787 } 59788 59789 _1_j = func() int32 { 59790 if _i < i32(2) { 59791 return (_i ^ i32(1)) 59792 } 59793 return _i 59794 }() 59795 _1_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_1_j))).X4)) 59796 func() int32 { 59797 if _1_pSchema != nil { 59798 return i32(0) 59799 } 59800 return func() int32 { 59801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99879), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindIndexØ00__func__Ø000))), unsafe.Pointer(str(63372))) 59802 crt.X__builtin_abort(tls) 59803 return i32(0) 59804 }() 59805 }() 59806 if _zDb == nil || _sqlite3StrICmp(tls, _zDb, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_1_j))).X0) == 0 { 59807 goto _12 59808 } 59809 59810 goto _4 59811 59812 _12: 59813 func() int32 { 59814 if _sqlite3SchemaMutexHeld(tls, _db, _1_j, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 59815 return i32(0) 59816 } 59817 return func() int32 { 59818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99881), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindIndexØ00__func__Ø000))), unsafe.Pointer(str(63380))) 59819 crt.X__builtin_abort(tls) 59820 return i32(0) 59821 }() 59822 }() 59823 _p = (*XIndex)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSchema))+uintptr(24 /* X3 */))), _zName))) 59824 if _p == nil { 59825 goto _15 59826 } 59827 59828 goto _6 59829 59830 _15: 59831 _4: 59832 _i += 1 59833 goto _3 59834 59835 _6: 59836 r0 = _p 59837 return 59838 59839 } 59840 59841 var _sqlite3FindIndexØ00__func__Ø000 [17]int8 // - 59842 59843 func init() { 59844 crt.Xstrncpy(nil, &_sqlite3FindIndexØ00__func__Ø000[0], str(63416), 17) 59845 } 59846 59847 func _sqlite3SetString(tls *crt.TLS, _pz **int8, _db *Xsqlite3, _zNew *int8) { // sqlite3.c:24955:1 59848 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*_pz)) 59849 *_pz = _sqlite3DbStrDup(tls, _db, _zNew) 59850 return 59851 59852 } 59853 59854 func _sqlite3BtreeSetCacheSize(tls *crt.TLS, _p *XBtree, _mxPage int32) (r0 int32) { // sqlite3.c:61583:1 59855 var _pBt *XBtShared // sqlite3.c:61584:12 59856 _ = _pBt 59857 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 59858 func() int32 { 59859 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 59860 return i32(0) 59861 } 59862 return func() int32 { 59863 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetCacheSizeØ00__func__Ø000))), unsafe.Pointer(str(8940))) 59864 crt.X__builtin_abort(tls) 59865 return i32(0) 59866 }() 59867 }() 59868 _sqlite3BtreeEnter(tls, _p) 59869 _sqlite3PagerSetCachesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _mxPage) 59870 _sqlite3BtreeLeave(tls, _p) 59871 r0 = i32(0) 59872 return 59873 59874 } 59875 59876 var _sqlite3BtreeSetCacheSizeØ00__func__Ø000 [25]int8 // - 59877 59878 func init() { 59879 crt.Xstrncpy(nil, &_sqlite3BtreeSetCacheSizeØ00__func__Ø000[0], str(63436), 25) 59880 } 59881 59882 func _sqlite3PagerSetCachesize(tls *crt.TLS, _pPager *XPager, _mxPage int32) { // sqlite3.c:50327:1 59883 _sqlite3PcacheSetCachesize(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _mxPage) 59884 return 59885 59886 } 59887 59888 func _sqlite3PcacheSetCachesize(tls *crt.TLS, _pCache *XPCache, _mxPage int32) { // sqlite3.c:44893:1 59889 func() int32 { 59890 if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 59891 return i32(0) 59892 } 59893 return func() int32 { 59894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44894), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheSetCachesizeØ00__func__Ø000))), unsafe.Pointer(str(16356))) 59895 crt.X__builtin_abort(tls) 59896 return i32(0) 59897 }() 59898 }() 59899 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(16 /* X4 */))) = _mxPage 59900 ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X5)(tls, _pCache.X12, _numberOfCachePages(tls, _pCache)) 59901 return 59902 59903 } 59904 59905 var _sqlite3PcacheSetCachesizeØ00__func__Ø000 [26]int8 // - 59906 59907 func init() { 59908 crt.Xstrncpy(nil, &_sqlite3PcacheSetCachesizeØ00__func__Ø000[0], str(63464), 26) 59909 } 59910 59911 func Xsqlite3_exec(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _xCallback func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, _pArg unsafe.Pointer, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:110861:12 59912 var _rc int32 // sqlite3.c:110868:7 59913 _ = _rc 59914 var _zLeftover *int8 // sqlite3.c:110869:14 59915 _ = _zLeftover 59916 var _pStmt unsafe.Pointer // sqlite3.c:110870:16 59917 _ = _pStmt 59918 var _azCols **int8 // sqlite3.c:110871:8 59919 _ = _azCols 59920 var _callbackIsInit int32 // sqlite3.c:110872:7 59921 _ = _callbackIsInit 59922 var _1_nCol int32 // sqlite3.c:110880:9 59923 _ = _1_nCol 59924 var _1_azVals **int8 // sqlite3.c:110881:10 59925 _ = _1_azVals 59926 var _4_i int32 // sqlite3.c:110899:11 59927 _ = _4_i 59928 var _14_nErrMsg int32 // sqlite3.c:110961:9 59929 _ = _14_nErrMsg 59930 _rc = i32(0) 59931 _pStmt = nil 59932 _azCols = nil 59933 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 59934 goto _0 59935 } 59936 59937 r0 = _sqlite3MisuseError(tls, i32(110874)) 59938 return 59939 59940 _0: 59941 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 59942 goto _1 59943 } 59944 59945 _zSql = str(196) 59946 _1: 59947 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 59948 _sqlite3Error(tls, _db, i32(0)) 59949 _2: 59950 if _rc != i32(0) || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == 0 { 59951 goto _3 59952 } 59953 59954 _1_azVals = (**int8)(unsafe.Pointer(uintptr(i32(0)))) 59955 _pStmt = (unsafe.Pointer)(uintptr(i32(0))) 59956 _rc = Xsqlite3_prepare_v2(tls, _db, _zSql, i32(-1), &_pStmt, &_zLeftover) 59957 func() int32 { 59958 if (_rc == i32(0)) || (unsafe.Pointer(_pStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 59959 return i32(0) 59960 } 59961 return func() int32 { 59962 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110885), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_execØ00__func__Ø000))), unsafe.Pointer(str(63492))) 59963 crt.X__builtin_abort(tls) 59964 return i32(0) 59965 }() 59966 }() 59967 if _rc == i32(0) { 59968 goto _8 59969 } 59970 59971 goto _2 59972 59973 _8: 59974 if _pStmt != nil { 59975 goto _9 59976 } 59977 59978 _zSql = _zLeftover 59979 goto _2 59980 59981 _9: 59982 _callbackIsInit = i32(0) 59983 _1_nCol = Xsqlite3_column_count(tls, _pStmt) 59984 _10: 59985 _rc = Xsqlite3_step(tls, _pStmt) 59986 if _xCallback == nil || i32(100) != _rc && (i32(101) != _rc || _callbackIsInit != 0 || ((_db.X6)&i32(256)) == 0) { 59987 goto _16 59988 } 59989 59990 if _callbackIsInit != 0 { 59991 goto _17 59992 } 59993 59994 _azCols = (**int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64(uint32((i32(2)*_1_nCol)+i32(1))*u32(4))))) 59995 if _azCols != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 59996 goto _18 59997 } 59998 59999 goto _exec_out 60000 60001 _18: 60002 _4_i = i32(0) 60003 _19: 60004 if _4_i >= _1_nCol { 60005 goto _22 60006 } 60007 60008 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azCols)) + 4*uintptr(_4_i))) = Xsqlite3_column_name(tls, _pStmt, _4_i) 60009 func() int32 { 60010 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azCols)) + 4*uintptr(_4_i)))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 60011 return i32(0) 60012 } 60013 return func() int32 { 60014 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110915), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_execØ00__func__Ø000))), unsafe.Pointer(str(63520))) 60015 crt.X__builtin_abort(tls) 60016 return i32(0) 60017 }() 60018 }() 60019 _4_i += 1 60020 goto _19 60021 60022 _22: 60023 _callbackIsInit = i32(1) 60024 _17: 60025 if _rc != i32(100) { 60026 goto _25 60027 } 60028 60029 _1_azVals = (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azCols)) + 4*uintptr(_1_nCol))) 60030 _4_i = i32(0) 60031 _26: 60032 if _4_i >= _1_nCol { 60033 goto _29 60034 } 60035 60036 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_azVals)) + 4*uintptr(_4_i))) = (*int8)(unsafe.Pointer(Xsqlite3_column_text(tls, _pStmt, _4_i))) 60037 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_azVals)) + 4*uintptr(_4_i)))) != nil || Xsqlite3_column_type(tls, _pStmt, _4_i) == i32(5) { 60038 goto _31 60039 } 60040 60041 _sqlite3OomFault(tls, _db) 60042 goto _exec_out 60043 60044 _31: 60045 _4_i += 1 60046 goto _26 60047 60048 _29: 60049 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_azVals)) + 4*uintptr(_4_i))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 60050 _25: 60051 if _xCallback(tls, _pArg, _1_nCol, _1_azVals, _azCols) == 0 { 60052 goto _32 60053 } 60054 60055 _rc = i32(4) 60056 _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_pStmt))) 60057 _pStmt = (unsafe.Pointer)(uintptr(i32(0))) 60058 _sqlite3Error(tls, _db, i32(4)) 60059 goto _exec_out 60060 60061 _32: 60062 _16: 60063 if _rc == i32(100) { 60064 goto _33 60065 } 60066 60067 _rc = _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_pStmt))) 60068 _pStmt = (unsafe.Pointer)(uintptr(i32(0))) 60069 _zSql = _zLeftover 60070 _34: 60071 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))))))) & i32(1)) == 0 { 60072 goto _35 60073 } 60074 60075 *(*uintptr)(unsafe.Pointer(&_zSql)) += uintptr(1) 60076 goto _34 60077 60078 _35: 60079 goto _11 60080 60081 _33: 60082 goto _10 60083 60084 _11: 60085 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_azCols)) 60086 _azCols = (**int8)(unsafe.Pointer(uintptr(i32(0)))) 60087 goto _2 60088 60089 _3: 60090 _exec_out: 60091 if _pStmt == nil { 60092 goto _36 60093 } 60094 60095 _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_pStmt))) 60096 _36: 60097 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_azCols)) 60098 _rc = _sqlite3ApiExit(tls, _db, _rc) 60099 if _rc == i32(0) || _pzErrMsg == nil { 60100 goto _38 60101 } 60102 60103 _14_nErrMsg = i32(1) + _sqlite3Strlen30(tls, Xsqlite3_errmsg(tls, _db)) 60104 *_pzErrMsg = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_14_nErrMsg)))) 60105 if (*_pzErrMsg) == nil { 60106 goto _39 60107 } 60108 60109 crt.Xmemcpy(tls, (unsafe.Pointer)(*_pzErrMsg), (unsafe.Pointer)(Xsqlite3_errmsg(tls, _db)), uint32(_14_nErrMsg)) 60110 goto _40 60111 60112 _39: 60113 _rc = _sqlite3NomemError(tls, i32(110966)) 60114 _sqlite3Error(tls, _db, i32(7)) 60115 _40: 60116 goto _41 60117 60118 _38: 60119 if _pzErrMsg == nil { 60120 goto _42 60121 } 60122 60123 *_pzErrMsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 60124 _42: 60125 _41: 60126 func() int32 { 60127 if (_rc & (_db.X11)) == _rc { 60128 return i32(0) 60129 } 60130 return func() int32 { 60131 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110973), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_execØ00__func__Ø000))), unsafe.Pointer(str(53484))) 60132 crt.X__builtin_abort(tls) 60133 return i32(0) 60134 }() 60135 }() 60136 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 60137 r0 = _rc 60138 return 60139 60140 } 60141 60142 func Xsqlite3_prepare_v2(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _nBytes int32, _ppStmt *unsafe.Pointer, _pzTail **int8) (r0 int32) { // sqlite3.c:116143:12 60143 var _rc int32 // sqlite3.c:116150:7 60144 _ = _rc 60145 _rc = _sqlite3LockAndPrepare(tls, _db, _zSql, _nBytes, i32(1), (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))), _ppStmt, _pzTail) 60146 func() int32 { 60147 if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 60148 return i32(0) 60149 } 60150 return func() int32 { 60151 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116152), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_prepare_v2Ø00__func__Ø000))), unsafe.Pointer(str(53272))) 60152 crt.X__builtin_abort(tls) 60153 return i32(0) 60154 }() 60155 }() 60156 r0 = _rc 60157 return 60158 60159 } 60160 60161 var _sqlite3_prepare_v2Ø00__func__Ø000 [19]int8 // - 60162 60163 func init() { 60164 crt.Xstrncpy(nil, &_sqlite3_prepare_v2Ø00__func__Ø000[0], str(63536), 19) 60165 } 60166 60167 var _sqlite3_execØ00__func__Ø000 [13]int8 // - 60168 60169 func init() { 60170 crt.Xstrncpy(nil, &_sqlite3_execØ00__func__Ø000[0], str(63556), 13) 60171 } 60172 60173 func Xsqlite3_step(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76655:12 60174 var _rc int32 // sqlite3.c:76656:7 60175 _ = _rc 60176 var _rc2 int32 // sqlite3.c:76657:7 60177 _ = _rc2 60178 var _v *XVdbe // sqlite3.c:76658:8 60179 _ = _v 60180 var _cnt int32 // sqlite3.c:76659:7 60181 _ = _cnt 60182 var _db *Xsqlite3 // sqlite3.c:76660:11 60183 _ = _db 60184 var _2_savedPc int32 // sqlite3.c:76670:9 60185 _ = _2_savedPc 60186 var _3_zErr *int8 // sqlite3.c:76686:16 60187 _ = _3_zErr 60188 _rc = i32(0) 60189 _rc2 = i32(0) 60190 _v = (*XVdbe)(unsafe.Pointer(_pStmt)) 60191 _cnt = i32(0) 60192 if _vdbeSafetyNotNull(tls, _v) == 0 { 60193 goto _0 60194 } 60195 60196 r0 = _sqlite3MisuseError(tls, i32(76663)) 60197 return 60198 60199 _0: 60200 _db = (*Xsqlite3)(unsafe.Pointer(_v.X0)) 60201 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 60202 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(140 /* X32 */))), int16(i32(0)), 2, 1) 60203 _1: 60204 if store961(&_rc, _sqlite3Step(tls, _v)) != i32(17) || postInc961(&_cnt, int32(1)) >= i32(50) { 60205 goto _2 60206 } 60207 60208 _2_savedPc = _v.X9 60209 _rc2 = store961(&_rc, _sqlite3Reprepare(tls, _v)) 60210 if _rc == i32(0) { 60211 goto _4 60212 } 60213 60214 goto _2 60215 60216 _4: 60217 Xsqlite3_reset(tls, _pStmt) 60218 if _2_savedPc < i32(0) { 60219 goto _5 60220 } 60221 60222 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(140 /* X32 */))), int16(i32(1)), 2, 1) 60223 _5: 60224 func() int32 { 60225 if int32((uint32(_v.X32)<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 60226 return i32(0) 60227 } 60228 return func() int32 { 60229 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76675), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_stepØ00__func__Ø000))), unsafe.Pointer(str(63572))) 60230 crt.X__builtin_abort(tls) 60231 return i32(0) 60232 }() 60233 }() 60234 goto _1 60235 60236 _2: 60237 if _rc2 == i32(0) { 60238 goto _8 60239 } 60240 60241 _3_zErr = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, (*XMem)(unsafe.Pointer(_db.X56))))) 60242 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_v.X22)) 60243 if (_db.X17) != 0 { 60244 goto _9 60245 } 60246 60247 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(104 /* X22 */))) = _sqlite3DbStrDup(tls, _db, _3_zErr) 60248 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(40 /* X10 */))) = _rc2 60249 goto _10 60250 60251 _9: 60252 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(104 /* X22 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 60253 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(40 /* X10 */))) = store961(&_rc, _sqlite3NomemError(tls, i32(76693))) 60254 _10: 60255 _8: 60256 _rc = _sqlite3ApiExit(tls, _db, _rc) 60257 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 60258 r0 = _rc 60259 return 60260 60261 } 60262 60263 func _sqlite3Step(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:76525:1 60264 var _db *Xsqlite3 // sqlite3.c:76526:11 60265 _ = _db 60266 var _rc int32 // sqlite3.c:76527:7 60267 _ = _rc 60268 func() int32 { 60269 if _p != nil { 60270 return i32(0) 60271 } 60272 return func() int32 { 60273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76529), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StepØ00__func__Ø000))), unsafe.Pointer(str(3064))) 60274 crt.X__builtin_abort(tls) 60275 return i32(0) 60276 }() 60277 }() 60278 if (_p.X5) == uint32(i32(770837923)) { 60279 goto _2 60280 } 60281 60282 Xsqlite3_reset(tls, (unsafe.Pointer)(_p)) 60283 _2: 60284 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 60285 if (_db.X17) == 0 { 60286 goto _3 60287 } 60288 60289 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(7) 60290 r0 = _sqlite3NomemError(tls, i32(76562)) 60291 return 60292 60293 _3: 60294 if (_p.X9) > i32(0) || ((uint32(_p.X32)<<uint(i32(31)))>>uint(i32(31))) == 0 { 60295 goto _5 60296 } 60297 60298 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(17) 60299 _rc = i32(1) 60300 goto _end_of_step 60301 60302 _5: 60303 if (_p.X9) >= i32(0) { 60304 goto _6 60305 } 60306 60307 if (_db.X34) != i32(0) { 60308 goto _7 60309 } 60310 60311 *(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */))))) = i32(0) 60312 _7: 60313 func() int32 { 60314 if (((_db.X36) > i32(0)) || (int32(_db.X15) == i32(0))) || (((_db.X77) == int64(i32(0))) && ((_db.X78) == int64(i32(0)))) { 60315 return i32(0) 60316 } 60317 return func() int32 { 60318 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76579), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StepØ00__func__Ø000))), unsafe.Pointer(str(63588))) 60319 crt.X__builtin_abort(tls) 60320 return i32(0) 60321 }() 60322 }() 60323 if (_db.X43) == nil && (int32(_db.X24)&i32(2)) == i32(0) || ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != 0 || (_p.X36) == nil { 60324 goto _16 60325 } 60326 60327 _sqlite3OsCurrentTimeInt64(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(120 /* X26 */)))) 60328 goto _17 60329 60330 _16: 60331 func() int32 { 60332 if (_p.X26) == int64(i32(0)) { 60333 return i32(0) 60334 } 60335 return func() int32 { 60336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76588), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StepØ00__func__Ø000))), unsafe.Pointer(str(63680))) 60337 crt.X__builtin_abort(tls) 60338 return i32(0) 60339 }() 60340 }() 60341 _17: 60342 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(152 /* X34 */))) += 1 60343 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 60344 goto _20 60345 } 60346 60347 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(160 /* X36 */))) += 1 60348 _20: 60349 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) == 0 { 60350 goto _21 60351 } 60352 60353 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(156 /* X35 */))) += 1 60354 _21: 60355 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = i32(0) 60356 _6: 60357 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(132 /* X28 */))) = i32(0) 60358 if ((uint32((_p.X32)>>uint(i32(2))) << uint(i32(30))) >> uint(i32(30))) == 0 { 60359 goto _22 60360 } 60361 60362 _rc = _sqlite3VdbeList(tls, _p) 60363 goto _23 60364 60365 _22: 60366 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X37 */))) += 1 60367 _rc = _sqlite3VdbeExec(tls, _p) 60368 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(164 /* X37 */))) -= 1 60369 _23: 60370 if _rc == i32(100) { 60371 goto _24 60372 } 60373 60374 if (_p.X26) <= int64(i32(0)) { 60375 goto _25 60376 } 60377 60378 _invokeProfileCallback(tls, _db, _p) 60379 _25: 60380 _24: 60381 if _rc != i32(101) { 60382 goto _26 60383 } 60384 60385 func() int32 { 60386 if (_p.X10) == i32(0) { 60387 return i32(0) 60388 } 60389 return func() int32 { 60390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76617), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StepØ00__func__Ø000))), unsafe.Pointer(str(63696))) 60391 crt.X__builtin_abort(tls) 60392 return i32(0) 60393 }() 60394 }() 60395 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _doWalCallbacks(tls, _db) 60396 if (_p.X10) == i32(0) { 60397 goto _29 60398 } 60399 60400 _rc = i32(1) 60401 _29: 60402 _26: 60403 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = _rc 60404 if i32(7) != _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _p.X10) { 60405 goto _30 60406 } 60407 60408 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _sqlite3NomemError(tls, i32(76626)) 60409 _30: 60410 _end_of_step: 60411 func() int32 { 60412 if ((((_rc == i32(100)) || (_rc == i32(101))) || (_rc == i32(1))) || ((_rc & i32(255)) == i32(5))) || (_rc == i32(21)) { 60413 return i32(0) 60414 } 60415 return func() int32 { 60416 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76636), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StepØ00__func__Ø000))), unsafe.Pointer(str(63716))) 60417 crt.X__builtin_abort(tls) 60418 return i32(0) 60419 }() 60420 }() 60421 func() int32 { 60422 if (((_p.X10) != i32(100)) && ((_p.X10) != i32(101))) || ((_p.X10) == (_p.X28)) { 60423 return i32(0) 60424 } 60425 return func() int32 { 60426 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76639), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StepØ00__func__Ø000))), unsafe.Pointer(str(63820))) 60427 crt.X__builtin_abort(tls) 60428 return i32(0) 60429 }() 60430 }() 60431 if ((uint32((_p.X32)>>uint(i32(9)))<<uint(i32(31)))>>uint(i32(31))) == 0 || _rc == i32(100) || _rc == i32(101) { 60432 goto _43 60433 } 60434 60435 _rc = _sqlite3VdbeTransferError(tls, _p) 60436 _43: 60437 r0 = _rc & (_db.X11) 60438 return 60439 60440 } 60441 60442 var _sqlite3StepØ00__func__Ø000 [12]int8 // - 60443 60444 func init() { 60445 crt.Xstrncpy(nil, &_sqlite3StepØ00__func__Ø000[0], str(63884), 12) 60446 } 60447 60448 func Xsqlite3_reset(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76128:12 60449 var _rc int32 // sqlite3.c:76129:7 60450 _ = _rc 60451 var _2_v *XVdbe // sqlite3.c:76133:10 60452 _ = _2_v 60453 var _2_db *Xsqlite3 // sqlite3.c:76134:13 60454 _ = _2_db 60455 if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { 60456 goto _0 60457 } 60458 60459 _rc = i32(0) 60460 goto _1 60461 60462 _0: 60463 _2_v = (*XVdbe)(unsafe.Pointer(_pStmt)) 60464 _2_db = (*Xsqlite3)(unsafe.Pointer(_2_v.X0)) 60465 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_2_db.X3))) 60466 if (_2_v.X26) <= int64(i32(0)) { 60467 goto _2 60468 } 60469 60470 _invokeProfileCallback(tls, _2_db, _2_v) 60471 _2: 60472 _rc = _sqlite3VdbeReset(tls, _2_v) 60473 _sqlite3VdbeRewind(tls, _2_v) 60474 func() int32 { 60475 if (_rc & (_2_db.X11)) == _rc { 60476 return i32(0) 60477 } 60478 return func() int32 { 60479 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76139), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_resetØ00__func__Ø000))), unsafe.Pointer(str(63896))) 60480 crt.X__builtin_abort(tls) 60481 return i32(0) 60482 }() 60483 }() 60484 _rc = _sqlite3ApiExit(tls, _2_db, _rc) 60485 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_2_db.X3))) 60486 _1: 60487 r0 = _rc 60488 return 60489 60490 } 60491 60492 func _sqlite3VdbeRewind(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:73204:1 60493 var _i int32 // sqlite3.c:73206:7 60494 _ = _i 60495 func() int32 { 60496 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 60497 return i32(0) 60498 } 60499 return func() int32 { 60500 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73208), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRewindØ00__func__Ø000))), unsafe.Pointer(str(824))) 60501 crt.X__builtin_abort(tls) 60502 return i32(0) 60503 }() 60504 }() 60505 func() int32 { 60506 if ((_p.X5) == uint32(i32(381479589))) || ((_p.X5) == uint32(i32(1224384374))) { 60507 return i32(0) 60508 } 60509 return func() int32 { 60510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73209), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRewindØ00__func__Ø000))), unsafe.Pointer(str(63924))) 60511 crt.X__builtin_abort(tls) 60512 return i32(0) 60513 }() 60514 }() 60515 func() int32 { 60516 if (_p.X27) > i32(0) { 60517 return i32(0) 60518 } 60519 return func() int32 { 60520 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73213), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRewindØ00__func__Ø000))), unsafe.Pointer(str(43976))) 60521 crt.X__builtin_abort(tls) 60522 return i32(0) 60523 }() 60524 }() 60525 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = uint32(i32(770837923)) 60526 _i = i32(0) 60527 _7: 60528 if _i >= (_p.X6) { 60529 goto _10 60530 } 60531 60532 func() int32 { 60533 if (*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(_p.X18)+48*uintptr(_i))).X9)) == (*Xsqlite3)(unsafe.Pointer(_p.X0)) { 60534 return i32(0) 60535 } 60536 return func() int32 { 60537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73220), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRewindØ00__func__Ø000))), unsafe.Pointer(str(63980))) 60538 crt.X__builtin_abort(tls) 60539 return i32(0) 60540 }() 60541 }() 60542 _i += 1 60543 goto _7 60544 60545 _10: 60546 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = i32(-1) 60547 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(0) 60548 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(138 /* X30 */))) = uint8(i32(2)) 60549 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 60550 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 60551 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(139 /* X31 */))) = uint8(i32(255)) 60552 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X12 */))) = i32(0) 60553 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X14 */))) = int64(i32(0)) 60554 return 60555 60556 } 60557 60558 var _sqlite3VdbeRewindØ00__func__Ø000 [18]int8 // - 60559 60560 func init() { 60561 crt.Xstrncpy(nil, &_sqlite3VdbeRewindØ00__func__Ø000[0], str(64004), 18) 60562 } 60563 60564 var _sqlite3_resetØ00__func__Ø000 [14]int8 // - 60565 60566 func init() { 60567 crt.Xstrncpy(nil, &_sqlite3_resetØ00__func__Ø000[0], str(64024), 14) 60568 } 60569 60570 func _sqlite3VdbeList(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:72932:1 60571 var _nRow int32 // sqlite3.c:72935:7 60572 _ = _nRow 60573 var _nSub int32 // sqlite3.c:72936:7 60574 _ = _nSub 60575 var _apSub **XSubProgram // sqlite3.c:72937:14 60576 _ = _apSub 60577 var _pSub *XMem // sqlite3.c:72938:7 60578 _ = _pSub 60579 var _db *Xsqlite3 // sqlite3.c:72939:11 60580 _ = _db 60581 var _i int32 // sqlite3.c:72940:7 60582 _ = _i 60583 var _rc int32 // sqlite3.c:72941:7 60584 _ = _rc 60585 var _pMem *XMem // sqlite3.c:72942:7 60586 _ = _pMem 60587 var _8_zP4 *int8 // sqlite3.c:72999:10 60588 _ = _8_zP4 60589 var _8_pOp *XVdbeOp // sqlite3.c:73000:8 60590 _ = _8_pOp 60591 var _10_j int32 // sqlite3.c:73008:11 60592 _ = _10_j 60593 var _13_nByte int32 // sqlite3.c:73033:13 60594 _ = _13_nByte 60595 var _13_j int32 // sqlite3.c:73034:13 60596 _ = _13_j 60597 _nSub = i32(0) 60598 _apSub = nil 60599 _pSub = nil 60600 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 60601 _rc = i32(0) 60602 _pMem = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 48*uintptr(i32(1)))) 60603 func() int32 { 60604 if ((uint32((_p.X32)>>uint(i32(2))) << uint(i32(30))) >> uint(i32(30))) != 0 { 60605 return i32(0) 60606 } 60607 return func() int32 { 60608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72944), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64040))) 60609 crt.X__builtin_abort(tls) 60610 return i32(0) 60611 }() 60612 }() 60613 func() int32 { 60614 if (_p.X5) == uint32(i32(770837923)) { 60615 return i32(0) 60616 } 60617 return func() int32 { 60618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72945), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64052))) 60619 crt.X__builtin_abort(tls) 60620 return i32(0) 60621 }() 60622 }() 60623 func() int32 { 60624 if (((_p.X10) == i32(0)) || ((_p.X10) == i32(5))) || ((_p.X10) == i32(7)) { 60625 return i32(0) 60626 } 60627 return func() int32 { 60628 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72946), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64080))) 60629 crt.X__builtin_abort(tls) 60630 return i32(0) 60631 }() 60632 }() 60633 _releaseMemArray(tls, _pMem, i32(8)) 60634 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(100 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 60635 if (_p.X10) != _sqlite3NomemError(tls, i32(72955)) { 60636 goto _8 60637 } 60638 60639 _sqlite3OomFault(tls, _db) 60640 r0 = i32(1) 60641 return 60642 60643 _8: 60644 _nRow = _p.X27 60645 if int32((uint32((_p.X32)>>uint(i32(2)))<<uint(i32(30)))>>uint(i32(30))) != i32(1) { 60646 goto _9 60647 } 60648 60649 func() int32 { 60650 if (_p.X6) > i32(9) { 60651 return i32(0) 60652 } 60653 return func() int32 { 60654 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72975), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64144))) 60655 crt.X__builtin_abort(tls) 60656 return i32(0) 60657 }() 60658 }() 60659 _pSub = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 48*uintptr(i32(9)))) 60660 if (int32(_pSub.X1) & i32(16)) == 0 { 60661 goto _12 60662 } 60663 60664 _nSub = int32(uint32(_pSub.X4) / u32(4)) 60665 _apSub = (**XSubProgram)(unsafe.Pointer(_pSub.X5)) 60666 _12: 60667 _i = i32(0) 60668 _13: 60669 if _i >= _nSub { 60670 goto _16 60671 } 60672 60673 { 60674 p := &_nRow 60675 *p = (*p) + ((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 4*uintptr(_i)))).X1) 60676 sink961 = *p 60677 } 60678 _i += 1 60679 goto _13 60680 60681 _16: 60682 _9: 60683 _17: 60684 _i = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X9 */))), int32(1)) 60685 if ((_i < _nRow) && (int32((uint32((_p.X32)>>uint(i32(2)))<<uint(i32(30)))>>uint(i32(30))) == i32(2))) && (int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_i))).X0) != i32(163)) { 60686 goto _17 60687 } 60688 60689 if _i < _nRow { 60690 goto _20 60691 } 60692 60693 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(0) 60694 _rc = i32(101) 60695 goto _21 60696 60697 _20: 60698 if (*(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */)))))) == 0 { 60699 goto _22 60700 } 60701 60702 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(9) 60703 _rc = i32(1) 60704 _sqlite3VdbeError(tls, _p, _sqlite3ErrStr(tls, _p.X10)) 60705 goto _23 60706 60707 _22: 60708 if _i >= (_p.X27) { 60709 goto _24 60710 } 60711 60712 _8_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_i))) 60713 goto _25 60714 60715 _24: 60716 { 60717 p := &_i 60718 *p = (*p) - (_p.X27) 60719 sink961 = *p 60720 } 60721 _10_j = i32(0) 60722 _26: 60723 if _i < ((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 4*uintptr(_10_j)))).X1) { 60724 goto _29 60725 } 60726 60727 { 60728 p := &_i 60729 *p = (*p) - ((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 4*uintptr(_10_j)))).X1) 60730 sink961 = *p 60731 } 60732 _10_j += 1 60733 goto _26 60734 60735 _29: 60736 _8_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 4*uintptr(_10_j)))).X0) + 24*uintptr(_i))) 60737 _25: 60738 if int32((uint32((_p.X32)>>uint(i32(2)))<<uint(i32(30)))>>uint(i32(30))) != i32(1) { 60739 goto _30 60740 } 60741 60742 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 60743 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_i) 60744 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60745 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(2562)) 60746 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = _sqlite3OpcodeName(tls, int32(_8_pOp.X0)) 60747 func() int32 { 60748 if (_pMem.X5) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 60749 return i32(0) 60750 } 60751 return func() int32 { 60752 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73022), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64156))) 60753 crt.X__builtin_abort(tls) 60754 return i32(0) 60755 }() 60756 }() 60757 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pMem.X5) 60758 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 60759 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60760 if int32(_8_pOp.X1) != i32(-13) { 60761 goto _33 60762 } 60763 60764 _13_nByte = int32(uint32(_nSub+i32(1)) * u32(4)) 60765 _13_j = i32(0) 60766 _34: 60767 if _13_j >= _nSub { 60768 goto _37 60769 } 60770 60771 if (*(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 4*uintptr(_13_j)))) != (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pOp)) + uintptr(16 /* X6 */))))))) { 60772 goto _38 60773 } 60774 60775 goto _37 60776 60777 _38: 60778 _13_j += 1 60779 goto _34 60780 60781 _37: 60782 if _13_j != _nSub || i32(0) != _sqlite3VdbeMemGrow(tls, _pSub, _13_nByte, bool2int(_nSub != i32(0))) { 60783 goto _40 60784 } 60785 60786 _apSub = (**XSubProgram)(unsafe.Pointer(_pSub.X5)) 60787 *(**XSubProgram)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apSub)) + 4*uintptr(postInc961(&_nSub, int32(1))))) = (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pOp)) + uintptr(16 /* X6 */))))))) 60788 { 60789 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(8 /* X1 */))) 60790 *p = uint16(int32(*p) | i32(16)) 60791 sink6908 = *p 60792 } 60793 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(12 /* X4 */))) = int32(uint32(_nSub) * u32(4)) 60794 _40: 60795 _33: 60796 _30: 60797 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 60798 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_8_pOp.X3) 60799 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60800 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 60801 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_8_pOp.X4) 60802 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60803 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 60804 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_8_pOp.X5) 60805 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60806 if _sqlite3VdbeMemClearAndResize(tls, _pMem, i32(100)) == 0 { 60807 goto _41 60808 } 60809 60810 func() int32 { 60811 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0 { 60812 return i32(0) 60813 } 60814 return func() int32 { 60815 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73060), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64168))) 60816 crt.X__builtin_abort(tls) 60817 return i32(0) 60818 }() 60819 }() 60820 r0 = i32(1) 60821 return 60822 60823 _41: 60824 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(514)) 60825 _8_zP4 = _displayP4(tls, _8_pOp, _pMem.X5, _pMem.X7) 60826 if _8_zP4 == (_pMem.X5) { 60827 goto _44 60828 } 60829 60830 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = i32(0) 60831 _sqlite3VdbeMemSetStr(tls, _pMem, _8_zP4, i32(-1), uint8(i32(1)), nil) 60832 goto _45 60833 60834 _44: 60835 func() int32 { 60836 if (_pMem.X5) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 60837 return i32(0) 60838 } 60839 return func() int32 { 60840 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73069), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64156))) 60841 crt.X__builtin_abort(tls) 60842 return i32(0) 60843 }() 60844 }() 60845 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pMem.X5) 60846 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 60847 _45: 60848 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60849 if int32((uint32((_p.X32)>>uint(i32(2)))<<uint(i32(30)))>>uint(i32(30))) != i32(1) { 60850 goto _48 60851 } 60852 60853 if _sqlite3VdbeMemClearAndResize(tls, _pMem, i32(4)) == 0 { 60854 goto _49 60855 } 60856 60857 func() int32 { 60858 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0 { 60859 return i32(0) 60860 } 60861 return func() int32 { 60862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73077), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64168))) 60863 crt.X__builtin_abort(tls) 60864 return i32(0) 60865 }() 60866 }() 60867 r0 = i32(1) 60868 return 60869 60870 _49: 60871 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(514)) 60872 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = i32(2) 60873 Xsqlite3_snprintf(tls, i32(3), _pMem.X5, str(64188), int32(_8_pOp.X2)) 60874 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 60875 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 60876 if _sqlite3VdbeMemClearAndResize(tls, _pMem, i32(500)) == 0 { 60877 goto _52 60878 } 60879 60880 func() int32 { 60881 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) != 0 { 60882 return i32(0) 60883 } 60884 return func() int32 { 60885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73088), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeListØ00__func__Ø000))), unsafe.Pointer(str(64168))) 60886 crt.X__builtin_abort(tls) 60887 return i32(0) 60888 }() 60889 }() 60890 r0 = i32(1) 60891 return 60892 60893 _52: 60894 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(514)) 60895 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = _displayComment(tls, _8_pOp, _8_zP4, _pMem.X5, i32(500)) 60896 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 60897 _48: 60898 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(136 /* X29 */))) = uint16(i32(8) - (i32(4) * (int32((uint32((_p.X32)>>uint(i32(2)))<<uint(i32(30)))>>uint(i32(30))) - i32(1)))) 60899 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(100 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 48*uintptr(i32(1)))) 60900 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(0) 60901 _rc = i32(100) 60902 _23: 60903 _21: 60904 r0 = _rc 60905 return 60906 60907 } 60908 60909 var _sqlite3VdbeListØ00__func__Ø000 [16]int8 // - 60910 60911 func init() { 60912 crt.Xstrncpy(nil, &_sqlite3VdbeListØ00__func__Ø000[0], str(64196), 16) 60913 } 60914 60915 func _sqlite3VdbeExec(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:78741:1 60916 var _aOp *XVdbeOp // sqlite3.c:78744:6 60917 _ = _aOp 60918 var _pOp *XVdbeOp // sqlite3.c:78745:6 60919 _ = _pOp 60920 var _pOrigOp *XVdbeOp // sqlite3.c:78747:6 60921 _ = _pOrigOp 60922 var _nExtraDelete int32 // sqlite3.c:78750:7 60923 _ = _nExtraDelete 60924 var _rc int32 // sqlite3.c:78752:7 60925 _ = _rc 60926 var _db *Xsqlite3 // sqlite3.c:78753:11 60927 _ = _db 60928 var _resetSchemaOnFault uint8 // sqlite3.c:78754:6 60929 _ = _resetSchemaOnFault 60930 var _encoding uint8 // sqlite3.c:78755:6 60931 _ = _encoding 60932 var _iCompare int32 // sqlite3.c:78756:7 60933 _ = _iCompare 60934 var _nVmStep uint32 // sqlite3.c:78757:12 60935 _ = _nVmStep 60936 var _nProgressLimit uint32 // sqlite3.c:78759:12 60937 _ = _nProgressLimit 60938 var _aMem *XMem // sqlite3.c:78761:7 60939 _ = _aMem 60940 var _pIn1 *XMem // sqlite3.c:78762:7 60941 _ = _pIn1 60942 var _pIn2 *XMem // sqlite3.c:78763:7 60943 _ = _pIn2 60944 var _pIn3 *XMem // sqlite3.c:78764:7 60945 _ = _pIn3 60946 var _pOut *XMem // sqlite3.c:78765:7 60947 _ = _pOut 60948 var _2_iPrior uint32 // sqlite3.c:78788:9 60949 _ = _2_iPrior 60950 var _3_i int32 // sqlite3.c:78798:9 60951 _ = _3_i 60952 var _3_once int32 // sqlite3.c:78799:9 60953 _ = _3_once 60954 var _11_opProperty uint8 // sqlite3.c:78858:10 60955 _ = _11_opProperty 60956 var _24_pCaller *XVdbeOp // sqlite3.c:79047:10 60957 _ = _24_pCaller 60958 var _25_pcDest int32 // sqlite3.c:79073:7 60959 _ = _25_pcDest 60960 var _27_pFrame *XVdbeFrame // sqlite3.c:79129:13 60961 _ = _27_pFrame 60962 var _27_pcx int32 // sqlite3.c:79130:7 60963 _ = _27_pcx 60964 var _45_cnt int32 // sqlite3.c:79309:7 60965 _ = _45_cnt 60966 var _45_nullFlag uint16 // sqlite3.c:79310:7 60967 _ = _45_nullFlag 60968 var _49_pVar *XMem // sqlite3.c:79366:7 60969 _ = _49_pVar 60970 var _51_n int32 // sqlite3.c:79390:7 60971 _ = _51_n 60972 var _51_p1 int32 // sqlite3.c:79391:7 60973 _ = _51_p1 60974 var _51_p2 int32 // sqlite3.c:79392:7 60975 _ = _51_p2 60976 var _55_n int32 // sqlite3.c:79430:7 60977 _ = _55_n 60978 var _60_pMem *XMem // sqlite3.c:79500:7 60979 _ = _60_pMem 60980 var _60_i int32 // sqlite3.c:79501:7 60981 _ = _60_i 60982 var _66_nByte int64 // sqlite3.c:79589:7 60983 _ = _66_nByte 60984 var _73_bIntint int8 // sqlite3.c:79666:8 60985 _ = _73_bIntint 60986 var _73_flags uint16 // sqlite3.c:79667:7 60987 _ = _73_flags 60988 var _73_type1 uint16 // sqlite3.c:79668:7 60989 _ = _73_type1 60990 var _73_type2 uint16 // sqlite3.c:79669:7 60991 _ = _73_type2 60992 var _73_iA int64 // sqlite3.c:79670:7 60993 _ = _73_iA 60994 var _73_iB int64 // sqlite3.c:79671:7 60995 _ = _73_iB 60996 var _73_rA float64 // sqlite3.c:79672:10 60997 _ = _73_rA 60998 var _73_rB float64 // sqlite3.c:79673:10 60999 _ = _73_rB 61000 var _86_n int32 // sqlite3.c:79815:7 61001 _ = _86_n 61002 var _86_pCtx *Xsqlite3_context // sqlite3.c:79816:19 61003 _ = _86_pCtx 61004 var _87_i int32 // sqlite3.c:79836:7 61005 _ = _87_i 61006 var _87_pCtx *Xsqlite3_context // sqlite3.c:79837:19 61007 _ = _87_pCtx 61008 var _93_iA int64 // sqlite3.c:79918:7 61009 _ = _93_iA 61010 var _93_uA uint64 // sqlite3.c:79919:7 61011 _ = _93_uA 61012 var _93_iB int64 // sqlite3.c:79920:7 61013 _ = _93_iB 61014 var _93_op uint8 // sqlite3.c:79921:6 61015 _ = _93_op 61016 var _112_res int32 // sqlite3.c:80161:7 61017 _ = _112_res 61018 var _112_res2 int32 // sqlite3.c:80161:12 61019 _ = _112_res2 61020 var _112_affinity int8 // sqlite3.c:80162:8 61021 _ = _112_affinity 61022 var _112_flags1 uint16 // sqlite3.c:80163:7 61023 _ = _112_flags1 61024 var _112_flags3 uint16 // sqlite3.c:80164:7 61025 _ = _112_flags3 61026 var _139_n int32 // sqlite3.c:80356:7 61027 _ = _139_n 61028 var _139_i int32 // sqlite3.c:80357:7 61029 _ = _139_i 61030 var _139_p1 int32 // sqlite3.c:80358:7 61031 _ = _139_p1 61032 var _139_p2 int32 // sqlite3.c:80359:7 61033 _ = _139_p2 61034 var _139_pKeyInfo *XKeyInfo // sqlite3.c:80360:17 61035 _ = _139_pKeyInfo 61036 var _139_idx int32 // sqlite3.c:80361:7 61037 _ = _139_idx 61038 var _139_pColl *XCollSeq // sqlite3.c:80362:11 61039 _ = _139_pColl 61040 var _139_bRev int32 // sqlite3.c:80363:7 61041 _ = _139_bRev 61042 var _139_aPermute *int32 // sqlite3.c:80364:7 61043 _ = _139_aPermute 61044 var _142_k int32 // sqlite3.c:80383:9 61045 _ = _142_k 61046 var _142_mx int32 // sqlite3.c:80383:12 61047 _ = _142_mx 61048 var _150_v1 int32 // sqlite3.c:80449:7 61049 _ = _150_v1 61050 var _150_v2 int32 // sqlite3.c:80450:7 61051 _ = _150_v2 61052 var _163_iAddr uint32 // sqlite3.c:80535:7 61053 _ = _163_iAddr 61054 var _168_c int32 // sqlite3.c:80569:7 61055 _ = _168_c 61056 var _176_p2 int32 // sqlite3.c:80642:7 61057 _ = _176_p2 61058 var _176_pC *XVdbeCursor // sqlite3.c:80643:14 61059 _ = _176_pC 61060 var _176_pCrsr *XBtCursor // sqlite3.c:80644:12 61061 _ = _176_pCrsr 61062 var _176_aOffset *uint32 // sqlite3.c:80645:7 61063 _ = _176_aOffset 61064 var _176_len int32 // sqlite3.c:80646:7 61065 _ = _176_len 61066 var _176_i int32 // sqlite3.c:80647:7 61067 _ = _176_i 61068 var _176_pDest *XMem // sqlite3.c:80648:7 61069 _ = _176_pDest 61070 var _176_sMem XMem // sqlite3.c:80649:7 61071 _ = _176_sMem 61072 var _176_zData *uint8 // sqlite3.c:80650:12 61073 _ = _176_zData 61074 var _176_zHdr *uint8 // sqlite3.c:80651:12 61075 _ = _176_zHdr 61076 var _176_zEndHdr *uint8 // sqlite3.c:80652:12 61077 _ = _176_zEndHdr 61078 var _176_offset uint32 // sqlite3.c:80653:7 61079 _ = _176_offset 61080 var _176_offset64 uint64 // sqlite3.c:80654:7 61081 _ = _176_offset64 61082 var _176_avail uint32 // sqlite3.c:80655:7 61083 _ = _176_avail 61084 var _176_t uint32 // sqlite3.c:80656:7 61085 _ = _176_t 61086 var _176_pReg *XMem // sqlite3.c:80657:7 61087 _ = _176_pReg 61088 var _210_zAffinity *int8 // sqlite3.c:80896:14 61089 _ = _210_zAffinity 61090 var _210_cAff int8 // sqlite3.c:80897:8 61091 _ = _210_cAff 61092 var _212_zNewRecord *uint8 // sqlite3.c:80929:6 61093 _ = _212_zNewRecord 61094 var _212_pRec *XMem // sqlite3.c:80930:7 61095 _ = _212_pRec 61096 var _212_nData uint64 // sqlite3.c:80931:7 61097 _ = _212_nData 61098 var _212_nHdr int32 // sqlite3.c:80932:7 61099 _ = _212_nHdr 61100 var _212_nByte int64 // sqlite3.c:80933:7 61101 _ = _212_nByte 61102 var _212_nZero int64 // sqlite3.c:80934:7 61103 _ = _212_nZero 61104 var _212_nVarint int32 // sqlite3.c:80935:7 61105 _ = _212_nVarint 61106 var _212_serial_type uint32 // sqlite3.c:80936:7 61107 _ = _212_serial_type 61108 var _212_pData0 *XMem // sqlite3.c:80937:7 61109 _ = _212_pData0 61110 var _212_pLast *XMem // sqlite3.c:80938:7 61111 _ = _212_pLast 61112 var _212_nField int32 // sqlite3.c:80939:7 61113 _ = _212_nField 61114 var _212_zAffinity *int8 // sqlite3.c:80940:8 61115 _ = _212_zAffinity 61116 var _212_file_format int32 // sqlite3.c:80941:7 61117 _ = _212_file_format 61118 var _212_i int32 // sqlite3.c:80942:7 61119 _ = _212_i 61120 var _212_j int32 // sqlite3.c:80943:7 61121 _ = _212_j 61122 var _212_len uint32 // sqlite3.c:80944:7 61123 _ = _212_len 61124 var _225_nEntry int64 // sqlite3.c:81093:7 61125 _ = _225_nEntry 61126 var _225_pCrsr *XBtCursor // sqlite3.c:81094:12 61127 _ = _225_pCrsr 61128 var _226_p1 int32 // sqlite3.c:81115:7 61129 _ = _226_p1 61130 var _226_zName *int8 // sqlite3.c:81116:8 61131 _ = _226_zName 61132 var _226_nName int32 // sqlite3.c:81117:7 61133 _ = _226_nName 61134 var _226_pNew *XSavepoint // sqlite3.c:81118:13 61135 _ = _226_pNew 61136 var _226_pSavepoint *XSavepoint // sqlite3.c:81119:13 61137 _ = _226_pSavepoint 61138 var _226_pTmp *XSavepoint // sqlite3.c:81120:13 61139 _ = _226_pTmp 61140 var _226_iSavepoint int32 // sqlite3.c:81121:7 61141 _ = _226_iSavepoint 61142 var _226_ii int32 // sqlite3.c:81122:7 61143 _ = _226_ii 61144 var _237_isTransaction int32 // sqlite3.c:81207:11 61145 _ = _237_isTransaction 61146 var _241_isSchemaChange int32 // sqlite3.c:81222:13 61147 _ = _241_isSchemaChange 61148 var _253_desiredAutoCommit int32 // sqlite3.c:81294:7 61149 _ = _253_desiredAutoCommit 61150 var _253_iRollback int32 // sqlite3.c:81295:7 61151 _ = _253_iRollback 61152 var _263_pBt *XBtree // sqlite3.c:81383:9 61153 _ = _263_pBt 61154 var _263_iMeta int32 // sqlite3.c:81384:7 61155 _ = _263_iMeta 61156 var _263_iGen int32 // sqlite3.c:81385:7 61157 _ = _263_iGen 61158 var _274_iMeta int32 // sqlite3.c:81482:7 61159 _ = _274_iMeta 61160 var _274_iDb int32 // sqlite3.c:81483:7 61161 _ = _274_iDb 61162 var _274_iCookie int32 // sqlite3.c:81484:7 61163 _ = _274_iCookie 61164 var _275_pDb *XDb // sqlite3.c:81511:6 61165 _ = _275_pDb 61166 var _279_nField int32 // sqlite3.c:81605:7 61167 _ = _279_nField 61168 var _279_pKeyInfo *XKeyInfo // sqlite3.c:81606:11 61169 _ = _279_pKeyInfo 61170 var _279_p2 int32 // sqlite3.c:81607:7 61171 _ = _279_p2 61172 var _279_iDb int32 // sqlite3.c:81608:7 61173 _ = _279_iDb 61174 var _279_wrFlag int32 // sqlite3.c:81609:7 61175 _ = _279_wrFlag 61176 var _279_pX *XBtree // sqlite3.c:81610:9 61177 _ = _279_pX 61178 var _279_pCur *XVdbeCursor // sqlite3.c:81611:14 61179 _ = _279_pCur 61180 var _279_pDb *XDb // sqlite3.c:81612:6 61181 _ = _279_pDb 61182 var _288_pCx *XVdbeCursor // sqlite3.c:81737:14 61183 _ = _288_pCx 61184 var _288_pKeyInfo *XKeyInfo // sqlite3.c:81738:11 61185 _ = _288_pKeyInfo 61186 var _291_pgno int32 // sqlite3.c:81764:11 61187 _ = _291_pgno 61188 var _294_pCx *XVdbeCursor // sqlite3.c:81797:14 61189 _ = _294_pCx 61190 var _295_pC *XVdbeCursor // sqlite3.c:81819:14 61191 _ = _295_pC 61192 var _297_pCx *XVdbeCursor // sqlite3.c:81846:14 61193 _ = _297_pCx 61194 var _299_res int32 // sqlite3.c:81981:7 61195 _ = _299_res 61196 var _299_oc int32 // sqlite3.c:81982:7 61197 _ = _299_oc 61198 var _299_pC *XVdbeCursor // sqlite3.c:81983:14 61199 _ = _299_pC 61200 var _299_r XUnpackedRecord // sqlite3.c:81984:18 61201 _ = _299_r 61202 var _299_nField int32 // sqlite3.c:81985:7 61203 _ = _299_nField 61204 var _299_iKey int64 // sqlite3.c:81986:7 61205 _ = _299_iKey 61206 var _299_eqOnly int32 // sqlite3.c:81987:7 61207 _ = _299_eqOnly 61208 var _309_i int32 // sqlite3.c:82094:11 61209 _ = _309_i 61210 var _320_alreadyExists int32 // sqlite3.c:82206:7 61211 _ = _320_alreadyExists 61212 var _320_takeJump int32 // sqlite3.c:82207:7 61213 _ = _320_takeJump 61214 var _320_ii int32 // sqlite3.c:82208:7 61215 _ = _320_ii 61216 var _320_pC *XVdbeCursor // sqlite3.c:82209:14 61217 _ = _320_pC 61218 var _320_res int32 // sqlite3.c:82210:7 61219 _ = _320_res 61220 var _320_pFree *XUnpackedRecord // sqlite3.c:82211:18 61221 _ = _320_pFree 61222 var _320_pIdxKey *XUnpackedRecord // sqlite3.c:82212:18 61223 _ = _320_pIdxKey 61224 var _320_r XUnpackedRecord // sqlite3.c:82213:18 61225 _ = _320_r 61226 var _330_pC *XVdbeCursor // sqlite3.c:82331:14 61227 _ = _330_pC 61228 var _330_pCrsr *XBtCursor // sqlite3.c:82332:12 61229 _ = _330_pCrsr 61230 var _330_res int32 // sqlite3.c:82333:7 61231 _ = _330_res 61232 var _330_iKey uint64 // sqlite3.c:82334:7 61233 _ = _330_iKey 61234 var _336_v int64 // sqlite3.c:82411:7 61235 _ = _336_v 61236 var _336_pC *XVdbeCursor // sqlite3.c:82412:14 61237 _ = _336_pC 61238 var _336_res int32 // sqlite3.c:82413:7 61239 _ = _336_res 61240 var _336_cnt int32 // sqlite3.c:82414:7 61241 _ = _336_cnt 61242 var _336_pMem *XMem // sqlite3.c:82415:7 61243 _ = _336_pMem 61244 var _336_pFrame *XVdbeFrame // sqlite3.c:82416:13 61245 _ = _336_pFrame 61246 var _352_pData *XMem // sqlite3.c:82574:7 61247 _ = _352_pData 61248 var _352_pKey *XMem // sqlite3.c:82575:7 61249 _ = _352_pKey 61250 var _352_pC *XVdbeCursor // sqlite3.c:82576:14 61251 _ = _352_pC 61252 var _352_seekResult int32 // sqlite3.c:82577:7 61253 _ = _352_seekResult 61254 var _352_zDb *int8 // sqlite3.c:82578:14 61255 _ = _352_zDb 61256 var _352_pTab *XTable // sqlite3.c:82579:9 61257 _ = _352_pTab 61258 var _352_op int32 // sqlite3.c:82580:7 61259 _ = _352_op 61260 var _352_x XBtreePayload // sqlite3.c:82581:16 61261 _ = _352_x 61262 var _362_pC *XVdbeCursor // sqlite3.c:82695:14 61263 _ = _362_pC 61264 var _362_zDb *int8 // sqlite3.c:82696:14 61265 _ = _362_zDb 61266 var _362_pTab *XTable // sqlite3.c:82697:9 61267 _ = _362_pTab 61268 var _362_opflags int32 // sqlite3.c:82698:7 61269 _ = _362_opflags 61270 var _363_iKey int64 // sqlite3.c:82713:9 61271 _ = _363_iKey 61272 var _373_pC *XVdbeCursor // sqlite3.c:82817:14 61273 _ = _373_pC 61274 var _373_res int32 // sqlite3.c:82818:7 61275 _ = _373_res 61276 var _373_nKeyCol int32 // sqlite3.c:82819:7 61277 _ = _373_nKeyCol 61278 var _374_pC *XVdbeCursor // sqlite3.c:82847:14 61279 _ = _374_pC 61280 var _375_pC *XVdbeCursor // sqlite3.c:82889:14 61281 _ = _375_pC 61282 var _375_pCrsr *XBtCursor // sqlite3.c:82890:12 61283 _ = _375_pCrsr 61284 var _375_n uint32 // sqlite3.c:82891:7 61285 _ = _375_n 61286 var _378_pC *XVdbeCursor // sqlite3.c:82943:14 61287 _ = _378_pC 61288 var _378_v int64 // sqlite3.c:82944:7 61289 _ = _378_v 61290 var _378_pVtab *Xsqlite3_vtab // sqlite3.c:82945:16 61291 _ = _378_pVtab 61292 var _378_pModule *Xsqlite3_module // sqlite3.c:82946:24 61293 _ = _378_pModule 61294 var _384_pC *XVdbeCursor // sqlite3.c:82990:14 61295 _ = _384_pC 61296 var _386_pC *XVdbeCursor // sqlite3.c:83024:14 61297 _ = _386_pC 61298 var _386_pCrsr *XBtCursor // sqlite3.c:83025:12 61299 _ = _386_pCrsr 61300 var _386_res int32 // sqlite3.c:83026:7 61301 _ = _386_res 61302 var _390_pC *XVdbeCursor // sqlite3.c:83061:14 61303 _ = _390_pC 61304 var _390_pCrsr *XBtCursor // sqlite3.c:83062:12 61305 _ = _390_pCrsr 61306 var _390_res int32 // sqlite3.c:83063:7 61307 _ = _390_res 61308 var _390_sz int64 // sqlite3.c:83064:7 61309 _ = _390_sz 61310 var _393_pC *XVdbeCursor // sqlite3.c:83126:14 61311 _ = _393_pC 61312 var _393_pCrsr *XBtCursor // sqlite3.c:83127:12 61313 _ = _393_pCrsr 61314 var _393_res int32 // sqlite3.c:83128:7 61315 _ = _393_res 61316 var _396_pC *XVdbeCursor // sqlite3.c:83227:14 61317 _ = _396_pC 61318 var _396_res int32 // sqlite3.c:83228:7 61319 _ = _396_res 61320 var _399_pC *XVdbeCursor // sqlite3.c:83319:14 61321 _ = _399_pC 61322 var _399_x XBtreePayload // sqlite3.c:83320:16 61323 _ = _399_x 61324 var _402_pC *XVdbeCursor // sqlite3.c:83359:14 61325 _ = _402_pC 61326 var _402_pCrsr *XBtCursor // sqlite3.c:83360:12 61327 _ = _402_pCrsr 61328 var _402_res int32 // sqlite3.c:83361:7 61329 _ = _402_res 61330 var _402_r XUnpackedRecord // sqlite3.c:83362:18 61331 _ = _402_r 61332 var _404_pC *XVdbeCursor // sqlite3.c:83419:14 61333 _ = _404_pC 61334 var _404_pTabCur *XVdbeCursor // sqlite3.c:83420:14 61335 _ = _404_pTabCur 61336 var _404_rowid int64 // sqlite3.c:83421:7 61337 _ = _404_rowid 61338 var _410_pC *XVdbeCursor // sqlite3.c:83519:14 61339 _ = _410_pC 61340 var _410_res int32 // sqlite3.c:83520:7 61341 _ = _410_res 61342 var _410_r XUnpackedRecord // sqlite3.c:83521:18 61343 _ = _410_r 61344 var _413_i int32 // sqlite3.c:83543:9 61345 _ = _413_i 61346 var _416_iMoved int32 // sqlite3.c:83582:7 61347 _ = _416_iMoved 61348 var _416_iDb int32 // sqlite3.c:83583:7 61349 _ = _416_iDb 61350 var _420_nChange int32 // sqlite3.c:83632:7 61351 _ = _420_nChange 61352 var _423_pC *XVdbeCursor // sqlite3.c:83661:14 61353 _ = _423_pC 61354 var _426_pgno int32 // sqlite3.c:83703:7 61355 _ = _426_pgno 61356 var _426_flags int32 // sqlite3.c:83704:7 61357 _ = _426_flags 61358 var _426_pDb *XDb // sqlite3.c:83705:6 61359 _ = _426_pDb 61360 var _430_iDb int32 // sqlite3.c:83747:7 61361 _ = _430_iDb 61362 var _430_zMaster *int8 // sqlite3.c:83748:14 61363 _ = _430_zMaster 61364 var _430_zSql *int8 // sqlite3.c:83749:8 61365 _ = _430_zSql 61366 var _430_initData XInitData // sqlite3.c:83750:12 61367 _ = _430_initData 61368 var _441_nRoot int32 // sqlite3.c:83872:7 61369 _ = _441_nRoot 61370 var _441_aRoot *int32 // sqlite3.c:83873:7 61371 _ = _441_aRoot 61372 var _441_nErr int32 // sqlite3.c:83874:7 61373 _ = _441_nErr 61374 var _441_z *int8 // sqlite3.c:83875:8 61375 _ = _441_z 61376 var _441_pnErr *XMem // sqlite3.c:83876:7 61377 _ = _441_pnErr 61378 var _447_val int64 // sqlite3.c:83935:7 61379 _ = _447_val 61380 var _450_iSet int32 // sqlite3.c:83978:7 61381 _ = _450_iSet 61382 var _450_exists int32 // sqlite3.c:83979:7 61383 _ = _450_exists 61384 var _454_nMem int32 // sqlite3.c:84026:7 61385 _ = _454_nMem 61386 var _454_nByte int32 // sqlite3.c:84027:7 61387 _ = _454_nByte 61388 var _454_pRt *XMem // sqlite3.c:84028:7 61389 _ = _454_pRt 61390 var _454_pMem *XMem // sqlite3.c:84029:7 61391 _ = _454_pMem 61392 var _454_pEnd *XMem // sqlite3.c:84030:7 61393 _ = _454_pEnd 61394 var _454_pFrame *XVdbeFrame // sqlite3.c:84031:13 61395 _ = _454_pFrame 61396 var _454_pProgram *XSubProgram // sqlite3.c:84032:14 61397 _ = _454_pProgram 61398 var _454_t unsafe.Pointer // sqlite3.c:84033:8 61399 _ = _454_t 61400 var _461_pFrame *XVdbeFrame // sqlite3.c:84154:13 61401 _ = _461_pFrame 61402 var _461_pIn *XMem // sqlite3.c:84155:7 61403 _ = _461_pIn 61404 var _469_pFrame *XVdbeFrame // sqlite3.c:84222:13 61405 _ = _469_pFrame 61406 var _475_x int64 // sqlite3.c:84280:7 61407 _ = _475_x 61408 var _481_n int32 // sqlite3.c:84366:7 61409 _ = _481_n 61410 var _481_pCtx *Xsqlite3_context // sqlite3.c:84367:19 61411 _ = _481_pCtx 61412 var _482_i int32 // sqlite3.c:84387:7 61413 _ = _482_i 61414 var _482_pCtx *Xsqlite3_context // sqlite3.c:84388:19 61415 _ = _482_pCtx 61416 var _482_pMem *XMem // sqlite3.c:84389:7 61417 _ = _482_pMem 61418 var _482_t XMem // sqlite3.c:84390:7 61419 _ = _482_t 61420 var _489_pMem *XMem // sqlite3.c:84450:7 61421 _ = _489_pMem 61422 var _492_i int32 // sqlite3.c:84480:7 61423 _ = _492_i 61424 var _492_aRes [3]int32 // sqlite3.c:84481:7 61425 _ = _492_aRes 61426 var _492_pMem *XMem // sqlite3.c:84482:7 61427 _ = _492_pMem 61428 var _495_pBt *XBtree // sqlite3.c:84518:9 61429 _ = _495_pBt 61430 var _495_pPager *XPager // sqlite3.c:84519:9 61431 _ = _495_pPager 61432 var _495_eNew int32 // sqlite3.c:84520:7 61433 _ = _495_eNew 61434 var _495_eOld int32 // sqlite3.c:84521:7 61435 _ = _495_eOld 61436 var _495_zFilename *int8 // sqlite3.c:84523:14 61437 _ = _495_zFilename 61438 var _505_pBt *XBtree // sqlite3.c:84632:9 61439 _ = _505_pBt 61440 var _510_isWriteLock uint8 // sqlite3.c:84685:6 61441 _ = _510_isWriteLock 61442 var _511_p1 int32 // sqlite3.c:84687:9 61443 _ = _511_p1 61444 var _513_z *int8 // sqlite3.c:84694:20 61445 _ = _513_z 61446 var _514_pVTab *XVTable // sqlite3.c:84715:10 61447 _ = _514_pVTab 61448 var _515_sMem XMem // sqlite3.c:84731:7 61449 _ = _515_sMem 61450 var _515_zTab *int8 // sqlite3.c:84732:14 61451 _ = _515_zTab 61452 var _518_pCur *XVdbeCursor // sqlite3.c:84776:14 61453 _ = _518_pCur 61454 var _518_pVCur *Xsqlite3_file // sqlite3.c:84777:23 61455 _ = _518_pVCur 61456 var _518_pVtab *Xsqlite3_vtab // sqlite3.c:84778:16 61457 _ = _518_pVtab 61458 var _518_pModule *Xsqlite3_module // sqlite3.c:84779:24 61459 _ = _518_pModule 61460 var _522_nArg int32 // sqlite3.c:84832:7 61461 _ = _522_nArg 61462 var _522_iQuery int32 // sqlite3.c:84833:7 61463 _ = _522_iQuery 61464 var _522_pModule *Xsqlite3_module // sqlite3.c:84834:24 61465 _ = _522_pModule 61466 var _522_pQuery *XMem // sqlite3.c:84835:7 61467 _ = _522_pQuery 61468 var _522_pArgc *XMem // sqlite3.c:84836:7 61469 _ = _522_pArgc 61470 var _522_pVCur *Xsqlite3_file // sqlite3.c:84837:23 61471 _ = _522_pVCur 61472 var _522_pVtab *Xsqlite3_vtab // sqlite3.c:84838:16 61473 _ = _522_pVtab 61474 var _522_pCur *XVdbeCursor // sqlite3.c:84839:14 61475 _ = _522_pCur 61476 var _522_res int32 // sqlite3.c:84840:7 61477 _ = _522_res 61478 var _522_i int32 // sqlite3.c:84841:7 61479 _ = _522_i 61480 var _522_apArg **XMem // sqlite3.c:84842:7 61481 _ = _522_apArg 61482 var _524_pVtab *Xsqlite3_vtab // sqlite3.c:84885:16 61483 _ = _524_pVtab 61484 var _524_pModule *Xsqlite3_module // sqlite3.c:84886:24 61485 _ = _524_pModule 61486 var _524_pDest *XMem // sqlite3.c:84887:7 61487 _ = _524_pDest 61488 var _524_sContext Xsqlite3_context // sqlite3.c:84888:19 61489 _ = _524_sContext 61490 var _524_pCur *XVdbeCursor // sqlite3.c:84890:14 61491 _ = _524_pCur 61492 var _528_pVtab *Xsqlite3_vtab // sqlite3.c:84930:16 61493 _ = _528_pVtab 61494 var _528_pModule *Xsqlite3_module // sqlite3.c:84931:24 61495 _ = _528_pModule 61496 var _528_res int32 // sqlite3.c:84932:7 61497 _ = _528_res 61498 var _528_pCur *XVdbeCursor // sqlite3.c:84933:14 61499 _ = _528_pCur 61500 var _531_pVtab *Xsqlite3_vtab // sqlite3.c:84972:16 61501 _ = _531_pVtab 61502 var _531_pName *XMem // sqlite3.c:84973:7 61503 _ = _531_pName 61504 var _532_pVtab *Xsqlite3_vtab // sqlite3.c:85024:16 61505 _ = _532_pVtab 61506 var _532_pModule *Xsqlite3_module // sqlite3.c:85025:24 61507 _ = _532_pModule 61508 var _532_nArg int32 // sqlite3.c:85026:7 61509 _ = _532_nArg 61510 var _532_i int32 // sqlite3.c:85027:7 61511 _ = _532_i 61512 var _532_rowid int64 // sqlite3.c:85028:16 61513 _ = _532_rowid 61514 var _532_apArg **XMem // sqlite3.c:85029:7 61515 _ = _532_apArg 61516 var _532_pX *XMem // sqlite3.c:85030:7 61517 _ = _532_pX 61518 var _534_vtabOnConflict uint8 // sqlite3.c:85045:8 61519 _ = _534_vtabOnConflict 61520 var _542_newMax uint32 // sqlite3.c:85100:16 61521 _ = _542_newMax 61522 var _542_pBt *XBtree // sqlite3.c:85101:9 61523 _ = _542_pBt 61524 var _544_zTrace *int8 // sqlite3.c:85132:8 61525 _ = _544_zTrace 61526 var _544_i int32 // sqlite3.c:85133:7 61527 _ = _544_i 61528 var _546_x func(*crt.TLS, unsafe.Pointer, *int8) // sqlite3.c:85154:12 61529 _ = _546_x 61530 var _546_z *int8 // sqlite3.c:85155:12 61531 _ = _546_z 61532 var _547_z *int8 // sqlite3.c:85161:12 61533 _ = _547_z 61534 var _553_opProperty uint8 // sqlite3.c:85262:10 61535 _ = _553_opProperty 61536 _aOp = (*XVdbeOp)(unsafe.Pointer(_p.X17)) 61537 _pOp = _aOp 61538 _nExtraDelete = i32(0) 61539 _rc = i32(0) 61540 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 61541 _resetSchemaOnFault = u8(0) 61542 _encoding = _db.X14 61543 _iCompare = i32(0) 61544 _nVmStep = u32(0) 61545 _nProgressLimit = u32(0) 61546 _aMem = (*XMem)(unsafe.Pointer(_p.X18)) 61547 _pIn1 = nil 61548 _pIn2 = nil 61549 _pIn3 = nil 61550 _pOut = nil 61551 func() int32 { 61552 if (_p.X5) == uint32(i32(770837923)) { 61553 return i32(0) 61554 } 61555 return func() int32 { 61556 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78771), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64052))) 61557 crt.X__builtin_abort(tls) 61558 return i32(0) 61559 }() 61560 }() 61561 _sqlite3VdbeEnter(tls, _p) 61562 if (_p.X10) != i32(7) { 61563 goto _2 61564 } 61565 61566 goto _no_mem 61567 61568 _2: 61569 func() int32 { 61570 if ((_p.X10) == i32(0)) || (((_p.X10) & i32(255)) == i32(5)) { 61571 return i32(0) 61572 } 61573 return func() int32 { 61574 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78778), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64212))) 61575 crt.X__builtin_abort(tls) 61576 return i32(0) 61577 }() 61578 }() 61579 func() int32 { 61580 if (((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0) || (int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) != i32(0)) { 61581 return i32(0) 61582 } 61583 return func() int32 { 61584 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78779), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64260))) 61585 crt.X__builtin_abort(tls) 61586 return i32(0) 61587 }() 61588 }() 61589 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X13 */))) = int64(i32(0)) 61590 func() int32 { 61591 if int32((uint32((_p.X32)>>uint(i32(2)))<<uint(i32(30)))>>uint(i32(30))) == i32(0) { 61592 return i32(0) 61593 } 61594 return func() int32 { 61595 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78781), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64292))) 61596 crt.X__builtin_abort(tls) 61597 return i32(0) 61598 }() 61599 }() 61600 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(100 /* X21 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 61601 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(376 /* X71 */))))) + uintptr(8 /* X2 */))) = i32(0) 61602 if (*(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */)))))) == 0 { 61603 goto _11 61604 } 61605 61606 goto _abort_due_to_interrupt 61607 61608 _11: 61609 if (_db.X61) == nil { 61610 goto _12 61611 } 61612 61613 _2_iPrior = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(152 /* X35 */))))) + 4*uintptr(i32(4)))) 61614 func() int32 { 61615 if uint32(i32(0)) < (_db.X63) { 61616 return i32(0) 61617 } 61618 return func() int32 { 61619 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78789), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64308))) 61620 crt.X__builtin_abort(tls) 61621 return i32(0) 61622 }() 61623 }() 61624 _nProgressLimit = (_db.X63) - (_2_iPrior % (_db.X63)) 61625 _12: 61626 _sqlite3BeginBenignMalloc(tls) 61627 if (_p.X9) != i32(0) || (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6)&i32(134218753)) == i32(0) { 61628 goto _16 61629 } 61630 61631 _3_once = i32(1) 61632 _sqlite3VdbePrintSql(tls, _p) 61633 if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(1024)) == 0 { 61634 goto _17 61635 } 61636 61637 crt.Xprintf(tls, str(64332)) 61638 _3_i = i32(0) 61639 _18: 61640 if _3_i >= (_p.X27) { 61641 goto _21 61642 } 61643 61644 _sqlite3VdbePrintOp(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout)), _3_i, (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr(_3_i)))) 61645 _3_i += 1 61646 goto _18 61647 61648 _21: 61649 _17: 61650 if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(134217728)) == 0 { 61651 goto _22 61652 } 61653 61654 _3_i = i32(0) 61655 _23: 61656 if _3_i >= (_p.X27) { 61657 goto _26 61658 } 61659 61660 if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr(_3_i))).X0) != i32(163) { 61661 goto _27 61662 } 61663 61664 if _3_once == 0 { 61665 goto _28 61666 } 61667 61668 crt.Xprintf(tls, str(64356)) 61669 _28: 61670 crt.Xprintf(tls, str(64376), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr(_3_i))))) + uintptr(16 /* X6 */))))))) 61671 _3_once = i32(0) 61672 _27: 61673 _3_i += 1 61674 goto _23 61675 61676 _26: 61677 _22: 61678 if (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(1)) == 0 { 61679 goto _29 61680 } 61681 61682 crt.Xprintf(tls, str(64380)) 61683 _29: 61684 _16: 61685 _sqlite3EndBenignMalloc(tls) 61686 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(_p.X9))) 61687 _30: 61688 func() int32 { 61689 if _rc == i32(0) { 61690 return i32(0) 61691 } 61692 return func() int32 { 61693 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78823), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(15360))) 61694 crt.X__builtin_abort(tls) 61695 return i32(0) 61696 }() 61697 }() 61698 func() int32 { 61699 if (uintptr(unsafe.Pointer(_pOp)) >= uintptr(unsafe.Pointer(_aOp))) && (uintptr(unsafe.Pointer(_pOp)) < uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr(_p.X27)))))) { 61700 return i32(0) 61701 } 61702 return func() int32 { 61703 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78825), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64396))) 61704 crt.X__builtin_abort(tls) 61705 return i32(0) 61706 }() 61707 }() 61708 _nVmStep += 1 61709 if ((_db.X6) & i32(1)) == 0 { 61710 goto _39 61711 } 61712 61713 _sqlite3VdbePrintOp(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout)), int32((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/24), _pOp) 61714 _39: 61715 _11_opProperty = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_pOp.X0))) 61716 if (int32(_11_opProperty) & i32(2)) == i32(0) { 61717 goto _40 61718 } 61719 61720 func() int32 { 61721 if (_pOp.X3) > i32(0) { 61722 return i32(0) 61723 } 61724 return func() int32 { 61725 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78860), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64428))) 61726 crt.X__builtin_abort(tls) 61727 return i32(0) 61728 }() 61729 }() 61730 func() int32 { 61731 if (_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7)) { 61732 return i32(0) 61733 } 61734 return func() int32 { 61735 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78861), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64440))) 61736 crt.X__builtin_abort(tls) 61737 return i32(0) 61738 }() 61739 }() 61740 func() int32 { 61741 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X3))).X1) & i32(128)) == i32(0) { 61742 return i32(0) 61743 } 61744 return func() int32 { 61745 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78862), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64476))) 61746 crt.X__builtin_abort(tls) 61747 return i32(0) 61748 }() 61749 }() 61750 func() int32 { 61751 if _sqlite3VdbeCheckMemInvariants(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X3)))) != 0 { 61752 return i32(0) 61753 } 61754 return func() int32 { 61755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78863), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64504))) 61756 crt.X__builtin_abort(tls) 61757 return i32(0) 61758 }() 61759 }() 61760 if ((_db.X6) & i32(1)) == 0 { 61761 goto _49 61762 } 61763 61764 _registerTrace(tls, _pOp.X3, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X3)))) 61765 _49: 61766 _40: 61767 if (int32(_11_opProperty) & i32(4)) == i32(0) { 61768 goto _50 61769 } 61770 61771 func() int32 { 61772 if (_pOp.X4) > i32(0) { 61773 return i32(0) 61774 } 61775 return func() int32 { 61776 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78867), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64552))) 61777 crt.X__builtin_abort(tls) 61778 return i32(0) 61779 }() 61780 }() 61781 func() int32 { 61782 if (_pOp.X4) <= (((_p.X6) + i32(1)) - (_p.X7)) { 61783 return i32(0) 61784 } 61785 return func() int32 { 61786 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78868), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64564))) 61787 crt.X__builtin_abort(tls) 61788 return i32(0) 61789 }() 61790 }() 61791 func() int32 { 61792 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4))).X1) & i32(128)) == i32(0) { 61793 return i32(0) 61794 } 61795 return func() int32 { 61796 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78869), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64600))) 61797 crt.X__builtin_abort(tls) 61798 return i32(0) 61799 }() 61800 }() 61801 func() int32 { 61802 if _sqlite3VdbeCheckMemInvariants(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4)))) != 0 { 61803 return i32(0) 61804 } 61805 return func() int32 { 61806 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78870), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64628))) 61807 crt.X__builtin_abort(tls) 61808 return i32(0) 61809 }() 61810 }() 61811 if ((_db.X6) & i32(1)) == 0 { 61812 goto _59 61813 } 61814 61815 _registerTrace(tls, _pOp.X4, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4)))) 61816 _59: 61817 _50: 61818 if (int32(_11_opProperty) & i32(8)) == i32(0) { 61819 goto _60 61820 } 61821 61822 func() int32 { 61823 if (_pOp.X5) > i32(0) { 61824 return i32(0) 61825 } 61826 return func() int32 { 61827 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78874), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64676))) 61828 crt.X__builtin_abort(tls) 61829 return i32(0) 61830 }() 61831 }() 61832 func() int32 { 61833 if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { 61834 return i32(0) 61835 } 61836 return func() int32 { 61837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78875), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64688))) 61838 crt.X__builtin_abort(tls) 61839 return i32(0) 61840 }() 61841 }() 61842 func() int32 { 61843 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5))).X1) & i32(128)) == i32(0) { 61844 return i32(0) 61845 } 61846 return func() int32 { 61847 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78876), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64724))) 61848 crt.X__builtin_abort(tls) 61849 return i32(0) 61850 }() 61851 }() 61852 func() int32 { 61853 if _sqlite3VdbeCheckMemInvariants(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5)))) != 0 { 61854 return i32(0) 61855 } 61856 return func() int32 { 61857 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78877), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64752))) 61858 crt.X__builtin_abort(tls) 61859 return i32(0) 61860 }() 61861 }() 61862 if ((_db.X6) & i32(1)) == 0 { 61863 goto _69 61864 } 61865 61866 _registerTrace(tls, _pOp.X5, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5)))) 61867 _69: 61868 _60: 61869 if (int32(_11_opProperty) & i32(16)) == i32(0) { 61870 goto _70 61871 } 61872 61873 func() int32 { 61874 if (_pOp.X4) > i32(0) { 61875 return i32(0) 61876 } 61877 return func() int32 { 61878 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78881), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64552))) 61879 crt.X__builtin_abort(tls) 61880 return i32(0) 61881 }() 61882 }() 61883 func() int32 { 61884 if (_pOp.X4) <= (((_p.X6) + i32(1)) - (_p.X7)) { 61885 return i32(0) 61886 } 61887 return func() int32 { 61888 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78882), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64564))) 61889 crt.X__builtin_abort(tls) 61890 return i32(0) 61891 }() 61892 }() 61893 _sqlite3VdbeMemAboutToChange(tls, _p, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4)))) 61894 _70: 61895 if (int32(_11_opProperty) & i32(32)) == i32(0) { 61896 goto _75 61897 } 61898 61899 func() int32 { 61900 if (_pOp.X5) > i32(0) { 61901 return i32(0) 61902 } 61903 return func() int32 { 61904 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78886), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64676))) 61905 crt.X__builtin_abort(tls) 61906 return i32(0) 61907 }() 61908 }() 61909 func() int32 { 61910 if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { 61911 return i32(0) 61912 } 61913 return func() int32 { 61914 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78887), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64688))) 61915 crt.X__builtin_abort(tls) 61916 return i32(0) 61917 }() 61918 }() 61919 _sqlite3VdbeMemAboutToChange(tls, _p, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5)))) 61920 _75: 61921 _pOrigOp = _pOp 61922 switch int32(_pOp.X0) { 61923 case i32(0): 61924 goto _143 61925 case i32(1): 61926 goto _144 61927 case i32(2): 61928 goto _145 61929 case i32(3): 61930 goto _182 61931 case i32(4): 61932 goto _183 61933 case i32(5): 61934 goto _184 61935 case i32(6): 61936 goto _185 61937 case i32(7): 61938 goto _186 61939 case i32(8): 61940 goto _223 61941 case i32(9): 61942 goto _224 61943 case i32(10): 61944 goto _225 61945 case i32(11): 61946 goto _233 61947 case i32(12): 61948 goto _237 61949 case i32(13): 61950 goto _81 61951 case i32(14): 61952 goto _82 61953 case i32(15): 61954 goto _84 61955 case i32(16): 61956 goto _86 61957 case i32(17): 61958 goto _117 61959 case i32(18): 61960 goto _129 61961 case i32(19): 61962 goto _132 61963 case i32(20): 61964 goto _134 61965 case i32(21): 61966 goto _135 61967 case i32(22): 61968 goto _136 61969 case i32(23): 61970 goto _157 61971 case i32(24): 61972 goto _158 61973 case i32(25): 61974 goto _159 61975 case i32(26): 61976 goto _160 61977 case i32(27): 61978 goto _131 61979 case i32(28): 61980 goto _130 61981 case i32(29): 61982 goto _161 61983 case i32(30): 61984 goto _162 61985 case i32(31): 61986 goto _163 61987 case i32(32): 61988 goto _164 61989 case i32(33): 61990 goto _165 61991 case i32(34): 61992 goto _137 61993 case i32(35): 61994 goto _138 61995 case i32(36): 61996 goto _121 61997 case i32(37): 61998 goto _120 61999 case i32(38): 62000 goto _124 62001 case i32(39): 62002 goto _123 62003 case i32(40): 62004 goto _122 62005 case i32(41): 62006 goto _125 62007 case i32(42): 62008 goto _126 62009 case i32(43): 62010 goto _112 62011 case i32(44): 62012 goto _113 62013 case i32(45): 62014 goto _114 62015 case i32(46): 62016 goto _115 62017 case i32(47): 62018 goto _104 62019 case i32(48): 62020 goto _105 62021 case i32(49): 62022 goto _106 62023 case i32(50): 62024 goto _107 62025 case i32(51): 62026 goto _108 62027 case i32(52): 62028 goto _103 62029 case i32(53): 62030 goto _177 62031 case i32(54): 62032 goto _133 62033 case i32(55): 62034 goto _178 62035 case i32(56): 62036 goto _179 62037 case i32(57): 62038 goto _180 62039 case i32(58): 62040 goto _181 62041 case i32(59): 62042 goto _192 62043 case i32(60): 62044 goto _193 62045 case i32(61): 62046 goto _194 62047 case i32(62): 62048 goto _195 62049 case i32(63): 62050 goto _209 62051 case i32(64): 62052 goto _210 62053 case i32(65): 62054 goto _211 62055 case i32(66): 62056 goto _214 62057 case i32(67): 62058 goto _216 62059 case i32(68): 62060 goto _218 62061 case i32(69): 62062 goto _219 62063 case i32(70): 62064 goto _226 62065 case i32(71): 62066 goto _235 62067 case i32(72): 62068 goto _240 62069 case i32(73): 62070 goto _83 62071 case i32(74): 62072 goto _85 62073 case i32(75): 62074 goto _87 62075 case i32(76): 62076 goto _88 62077 case i32(77): 62078 goto _89 62079 case i32(78): 62080 goto _90 62081 case i32(79): 62082 goto _93 62083 case i32(80): 62084 goto _94 62085 case i32(81): 62086 goto _95 62087 case i32(82): 62088 goto _96 62089 case i32(83): 62090 goto _97 62091 case i32(84): 62092 goto _98 62093 case i32(85): 62094 goto _99 62095 case i32(86): 62096 goto _100 62097 case i32(87): 62098 goto _101 62099 case i32(88): 62100 goto _102 62101 case i32(89): 62102 goto _109 62103 case i32(90): 62104 goto _110 62105 case i32(91): 62106 goto _111 62107 case i32(92): 62108 goto _116 62109 case i32(93): 62110 goto _118 62111 case i32(94): 62112 goto _119 62113 case i32(95): 62114 goto _127 62115 case i32(96): 62116 goto _128 62117 case i32(97): 62118 goto _92 62119 case i32(98): 62120 goto _139 62121 case i32(99): 62122 goto _140 62123 case i32(100): 62124 goto _141 62125 case i32(101): 62126 goto _142 62127 case i32(102): 62128 goto _146 62129 case i32(103): 62130 goto _147 62131 case i32(104): 62132 goto _148 62133 case i32(105): 62134 goto _149 62135 case i32(106): 62136 goto _150 62137 case i32(107): 62138 goto _151 62139 case i32(108): 62140 goto _152 62141 case i32(109): 62142 goto _153 62143 case i32(110): 62144 goto _154 62145 case i32(111): 62146 goto _155 62147 case i32(112): 62148 goto _156 62149 case i32(114): 62150 goto _166 62151 case i32(115): 62152 goto _167 62153 case i32(116): 62154 goto _168 62155 case i32(117): 62156 goto _169 62157 case i32(118): 62158 goto _170 62159 case i32(119): 62160 goto _171 62161 case i32(120): 62162 goto _172 62163 case i32(121): 62164 goto _173 62165 case i32(122): 62166 goto _174 62167 case i32(123): 62168 goto _175 62169 case i32(124): 62170 goto _176 62171 case i32(125): 62172 goto _187 62173 case i32(126): 62174 goto _188 62175 case i32(127): 62176 goto _189 62177 case i32(128): 62178 goto _190 62179 case i32(129): 62180 goto _191 62181 case i32(130): 62182 goto _196 62183 case i32(131): 62184 goto _197 62185 case i32(132): 62186 goto _91 62187 case i32(133): 62188 goto _198 62189 case i32(134): 62190 goto _199 62191 case i32(135): 62192 goto _200 62193 case i32(136): 62194 goto _201 62195 case i32(137): 62196 goto _202 62197 case i32(138): 62198 goto _203 62199 case i32(139): 62200 goto _204 62201 case i32(140): 62202 goto _205 62203 case i32(141): 62204 goto _206 62205 case i32(142): 62206 goto _207 62207 case i32(143): 62208 goto _208 62209 case i32(144): 62210 goto _212 62211 case i32(145): 62212 goto _213 62213 case i32(146): 62214 goto _215 62215 case i32(147): 62216 goto _217 62217 case i32(148): 62218 goto _220 62219 case i32(149): 62220 goto _221 62221 case i32(150): 62222 goto _222 62223 case i32(151): 62224 goto _227 62225 case i32(152): 62226 goto _228 62227 case i32(153): 62228 goto _229 62229 case i32(154): 62230 goto _230 62231 case i32(155): 62232 goto _231 62233 case i32(156): 62234 goto _232 62235 case i32(157): 62236 goto _234 62237 case i32(158): 62238 goto _236 62239 case i32(159): 62240 goto _238 62241 case i32(160): 62242 goto _239 62243 default: 62244 goto _241 62245 } 62246 62247 _81: 62248 _jump_to_p2_and_check_for_interrupt: 62249 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr((_pOp.X4)-i32(1)))) 62250 _check_for_interrupt: 62251 if (*(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */)))))) == 0 { 62252 goto _242 62253 } 62254 62255 goto _abort_due_to_interrupt 62256 62257 _242: 62258 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 62259 f func(*crt.TLS, unsafe.Pointer) int32 62260 }{(_db.X61)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 62261 f func(*crt.TLS, unsafe.Pointer) int32 62262 }{nil})) || _nVmStep < _nProgressLimit { 62263 goto _244 62264 } 62265 62266 func() int32 { 62267 if (_db.X63) != uint32(i32(0)) { 62268 return i32(0) 62269 } 62270 return func() int32 { 62271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78969), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64800))) 62272 crt.X__builtin_abort(tls) 62273 return i32(0) 62274 }() 62275 }() 62276 _nProgressLimit = (_nVmStep + (_db.X63)) - (_nVmStep % (_db.X63)) 62277 if (_db.X61)(tls, _db.X62) == 0 { 62278 goto _247 62279 } 62280 62281 _rc = i32(9) 62282 goto _abort_due_to_error 62283 62284 _247: 62285 _244: 62286 goto _248 62287 62288 _82: 62289 func() int32 { 62290 if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { 62291 return i32(0) 62292 } 62293 return func() int32 { 62294 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78987), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64820))) 62295 crt.X__builtin_abort(tls) 62296 return i32(0) 62297 }() 62298 }() 62299 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62300 func() int32 { 62301 if bool2int((int32(_pIn1.X1)&i32(9312)) != i32(0)) == i32(0) { 62302 return i32(0) 62303 } 62304 return func() int32 { 62305 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78989), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64868))) 62306 crt.X__builtin_abort(tls) 62307 return i32(0) 62308 }() 62309 }() 62310 _sqlite3VdbeMemAboutToChange(tls, _p, _pIn1) 62311 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 62312 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) = int64(int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24)) 62313 if ((_db.X6) & i32(1)) == 0 { 62314 goto _254 62315 } 62316 62317 _registerTrace(tls, _pOp.X3, _pIn1) 62318 _254: 62319 _jump_to_p2: 62320 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr((_pOp.X4)-i32(1)))) 62321 goto _248 62322 62323 _83: 62324 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62325 func() int32 { 62326 if int32(_pIn1.X1) == i32(4) { 62327 return i32(0) 62328 } 62329 return func() int32 { 62330 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79009), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64892))) 62331 crt.X__builtin_abort(tls) 62332 return i32(0) 62333 }() 62334 }() 62335 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))))) 62336 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(128)) 62337 goto _248 62338 62339 _84: 62340 func() int32 { 62341 if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { 62342 return i32(0) 62343 } 62344 return func() int32 { 62345 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79027), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64820))) 62346 crt.X__builtin_abort(tls) 62347 return i32(0) 62348 }() 62349 }() 62350 func() int32 { 62351 if ((_pOp.X4) >= i32(0)) && ((_pOp.X4) < (_p.X27)) { 62352 return i32(0) 62353 } 62354 return func() int32 { 62355 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79028), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64916))) 62356 crt.X__builtin_abort(tls) 62357 return i32(0) 62358 }() 62359 }() 62360 func() int32 { 62361 if ((_pOp.X5) >= i32(0)) && ((_pOp.X5) < (_p.X27)) { 62362 return i32(0) 62363 } 62364 return func() int32 { 62365 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79029), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64948))) 62366 crt.X__builtin_abort(tls) 62367 return i32(0) 62368 }() 62369 }() 62370 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62371 func() int32 { 62372 if (int32(_pOut.X1) & i32(9312)) == i32(0) { 62373 return i32(0) 62374 } 62375 return func() int32 { 62376 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64980))) 62377 crt.X__builtin_abort(tls) 62378 return i32(0) 62379 }() 62380 }() 62381 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64((_pOp.X5) - i32(1)) 62382 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 62383 if (_pOp.X4) == 0 { 62384 goto _268 62385 } 62386 62387 goto _jump_to_p2 62388 62389 _268: 62390 goto _248 62391 62392 _85: 62393 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62394 func() int32 { 62395 if int32(_pIn1.X1) == i32(4) { 62396 return i32(0) 62397 } 62398 return func() int32 { 62399 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79049), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64892))) 62400 crt.X__builtin_abort(tls) 62401 return i32(0) 62402 }() 62403 }() 62404 func() int32 { 62405 if ((*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) >= int64(i32(0))) && ((*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) < int64(_p.X27)) { 62406 return i32(0) 62407 } 62408 return func() int32 { 62409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79050), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65004))) 62410 crt.X__builtin_abort(tls) 62411 return i32(0) 62412 }() 62413 }() 62414 _24_pCaller = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))))) 62415 func() int32 { 62416 if int32(_24_pCaller.X0) == i32(16) { 62417 return i32(0) 62418 } 62419 return func() int32 { 62420 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79052), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65040))) 62421 crt.X__builtin_abort(tls) 62422 return i32(0) 62423 }() 62424 }() 62425 func() int32 { 62426 if ((_24_pCaller.X4) >= i32(0)) && ((_24_pCaller.X4) < (_p.X27)) { 62427 return i32(0) 62428 } 62429 return func() int32 { 62430 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79053), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65068))) 62431 crt.X__builtin_abort(tls) 62432 return i32(0) 62433 }() 62434 }() 62435 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr((_24_pCaller.X4)-i32(1)))) 62436 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(128)) 62437 goto _248 62438 62439 _86: 62440 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62441 func() int32 { 62442 if bool2int((int32(_pIn1.X1)&i32(9312)) != i32(0)) == i32(0) { 62443 return i32(0) 62444 } 62445 return func() int32 { 62446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79075), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64868))) 62447 crt.X__builtin_abort(tls) 62448 return i32(0) 62449 }() 62450 }() 62451 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 62452 _25_pcDest = int32(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) 62453 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) = int64(int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24)) 62454 if ((_db.X6) & i32(1)) == 0 { 62455 goto _281 62456 } 62457 62458 _registerTrace(tls, _pOp.X3, _pIn1) 62459 _281: 62460 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(_25_pcDest))) 62461 goto _248 62462 62463 _87: 62464 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 62465 if (int32(_pIn3.X1) & i32(1)) != i32(0) { 62466 goto _282 62467 } 62468 62469 goto _248 62470 62471 _282: 62472 _88: 62473 _27_pcx = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 62474 if (_pOp.X3) != i32(0) || (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { 62475 goto _284 62476 } 62477 62478 _27_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 62479 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(180 /* X38 */))))) = (*XVdbeFrame)(unsafe.Pointer(_27_pFrame.X1)) 62480 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(188 /* X40 */))) -= 1 62481 _sqlite3VdbeSetChanges(tls, _db, _p.X11) 62482 _27_pcx = _sqlite3VdbeFrameRestore(tls, _27_pFrame) 62483 if (_pOp.X4) != i32(4) { 62484 goto _285 62485 } 62486 62487 _27_pcx = ((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_27_pcx))).X4) - i32(1) 62488 _285: 62489 _aOp = (*XVdbeOp)(unsafe.Pointer(_p.X17)) 62490 _aMem = (*XMem)(unsafe.Pointer(_p.X18)) 62491 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(_27_pcx))) 62492 goto _248 62493 62494 _284: 62495 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _pOp.X3 62496 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(138 /* X30 */))) = uint8(_pOp.X4) 62497 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = _27_pcx 62498 func() int32 { 62499 if int32(_pOp.X2) <= i32(4) { 62500 return i32(0) 62501 } 62502 return func() int32 { 62503 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79156), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65108))) 62504 crt.X__builtin_abort(tls) 62505 return i32(0) 62506 }() 62507 }() 62508 if (_p.X10) == 0 { 62509 goto _288 62510 } 62511 62512 if (_pOp.X2) == 0 { 62513 goto _289 62514 } 62515 62516 _sqlite3VdbeError(tls, _p, str(65120), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00azTypeØ001)) + 4*uintptr(int32(_pOp.X2)-i32(1)))))) 62517 if (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == nil { 62518 goto _290 62519 } 62520 62521 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = _sqlite3MPrintf(tls, _db, str(65144), unsafe.Pointer(_p.X22), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 62522 _290: 62523 goto _291 62524 62525 _289: 62526 _sqlite3VdbeError(tls, _p, str(25612), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 62527 _291: 62528 Xsqlite3_log(tls, _pOp.X3, str(65152), _27_pcx, unsafe.Pointer(_p.X36), unsafe.Pointer(_p.X22)) 62529 _288: 62530 _rc = _sqlite3VdbeHalt(tls, _p) 62531 func() int32 { 62532 if ((_rc == i32(5)) || (_rc == i32(0))) || (_rc == i32(1)) { 62533 return i32(0) 62534 } 62535 return func() int32 { 62536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79175), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65176))) 62537 crt.X__builtin_abort(tls) 62538 return i32(0) 62539 }() 62540 }() 62541 if _rc != i32(5) { 62542 goto _296 62543 } 62544 62545 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(5) 62546 goto _297 62547 62548 _296: 62549 func() int32 { 62550 if (_rc == i32(0)) || (((_p.X10) & i32(255)) == i32(19)) { 62551 return i32(0) 62552 } 62553 return func() int32 { 62554 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79179), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65232))) 62555 crt.X__builtin_abort(tls) 62556 return i32(0) 62557 }() 62558 }() 62559 func() int32 { 62560 if ((_rc == i32(0)) || ((_db.X77) > int64(i32(0)))) || ((_db.X78) > int64(i32(0))) { 62561 return i32(0) 62562 } 62563 return func() int32 { 62564 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79180), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65284))) 62565 crt.X__builtin_abort(tls) 62566 return i32(0) 62567 }() 62568 }() 62569 _rc = func() int32 { 62570 if (_p.X10) != 0 { 62571 return i32(1) 62572 } 62573 return i32(101) 62574 }() 62575 _297: 62576 goto _vdbe_return 62577 62578 _89: 62579 _pOut = _out2Prerelease(tls, _p, _pOp) 62580 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_pOp.X3) 62581 goto _248 62582 62583 _90: 62584 _pOut = _out2Prerelease(tls, _p, _pOp) 62585 func() int32 { 62586 if (*(**int64)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != (*int64)(unsafe.Pointer(uintptr(i32(0)))) { 62587 return i32(0) 62588 } 62589 return func() int32 { 62590 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79205), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65348))) 62591 crt.X__builtin_abort(tls) 62592 return i32(0) 62593 }() 62594 }() 62595 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = *(*(**int64)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 62596 goto _248 62597 62598 _91: 62599 _pOut = _out2Prerelease(tls, _p, _pOp) 62600 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(8)) 62601 func() int32 { 62602 if _sqlite3IsNaN(tls, *(*(**float64)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) == 0 { 62603 return i32(0) 62604 } 62605 return func() int32 { 62606 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79220), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65364))) 62607 crt.X__builtin_abort(tls) 62608 return i32(0) 62609 }() 62610 }() 62611 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = *(*(**float64)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 62612 goto _248 62613 62614 _92: 62615 func() int32 { 62616 if (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 62617 return i32(0) 62618 } 62619 return func() int32 { 62620 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79235), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65396))) 62621 crt.X__builtin_abort(tls) 62622 return i32(0) 62623 }() 62624 }() 62625 _pOut = _out2Prerelease(tls, _p, _pOp) 62626 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(79)) 62627 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 62628 if int32(_encoding) == i32(1) { 62629 goto _313 62630 } 62631 62632 _rc = _sqlite3VdbeMemSetStr(tls, _pOut, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), i32(-1), uint8(i32(1)), nil) 62633 func() int32 { 62634 if (_rc == i32(0)) || (_rc == i32(18)) { 62635 return i32(0) 62636 } 62637 return func() int32 { 62638 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79243), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65412))) 62639 crt.X__builtin_abort(tls) 62640 return i32(0) 62641 }() 62642 }() 62643 if i32(0) == _sqlite3VdbeChangeEncoding(tls, _pOut, int32(_encoding)) { 62644 goto _317 62645 } 62646 62647 goto _no_mem 62648 62649 _317: 62650 func() int32 { 62651 if ((_pOut.X7) > i32(0)) && ((_pOut.X6) == (_pOut.X5)) { 62652 return i32(0) 62653 } 62654 return func() int32 { 62655 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79245), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65448))) 62656 crt.X__builtin_abort(tls) 62657 return i32(0) 62658 }() 62659 }() 62660 func() int32 { 62661 if bool2int((int32(_pOut.X1)&i32(9312)) != i32(0)) == i32(0) { 62662 return i32(0) 62663 } 62664 return func() int32 { 62665 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79246), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65492))) 62666 crt.X__builtin_abort(tls) 62667 return i32(0) 62668 }() 62669 }() 62670 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(24 /* X7 */))) = i32(0) 62671 { 62672 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) 62673 *p = uint16(int32(*p) | i32(2048)) 62674 sink6908 = *p 62675 } 62676 if int32(_pOp.X1) != i32(-1) { 62677 goto _323 62678 } 62679 62680 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 62681 _323: 62682 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-1)) 62683 *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = _pOut.X5 62684 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _pOut.X4 62685 _313: 62686 if (_pOp.X3) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 62687 goto _324 62688 } 62689 62690 goto _too_big 62691 62692 _324: 62693 func() int32 { 62694 if _rc == i32(0) { 62695 return i32(0) 62696 } 62697 return func() int32 { 62698 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79261), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(15360))) 62699 crt.X__builtin_abort(tls) 62700 return i32(0) 62701 }() 62702 }() 62703 _93: 62704 func() int32 { 62705 if (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 62706 return i32(0) 62707 } 62708 return func() int32 { 62709 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79278), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65396))) 62710 crt.X__builtin_abort(tls) 62711 return i32(0) 62712 }() 62713 }() 62714 _pOut = _out2Prerelease(tls, _p, _pOp) 62715 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(2562)) 62716 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X5 */))) = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 62717 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = _pOp.X3 62718 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = _encoding 62719 if (_pOp.X5) <= i32(0) { 62720 goto _329 62721 } 62722 62723 func() int32 { 62724 if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { 62725 return i32(0) 62726 } 62727 return func() int32 { 62728 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79287), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64688))) 62729 crt.X__builtin_abort(tls) 62730 return i32(0) 62731 }() 62732 }() 62733 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 62734 func() int32 { 62735 if (int32(_pIn3.X1) & i32(4)) != 0 { 62736 return i32(0) 62737 } 62738 return func() int32 { 62739 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79289), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65516))) 62740 crt.X__builtin_abort(tls) 62741 return i32(0) 62742 }() 62743 }() 62744 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) != int64(_pOp.X2) { 62745 goto _334 62746 } 62747 62748 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(2576)) 62749 _334: 62750 _329: 62751 goto _248 62752 62753 _94: 62754 _pOut = _out2Prerelease(tls, _p, _pOp) 62755 _45_cnt = (_pOp.X5) - (_pOp.X4) 62756 func() int32 { 62757 if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { 62758 return i32(0) 62759 } 62760 return func() int32 { 62761 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79313), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64688))) 62762 crt.X__builtin_abort(tls) 62763 return i32(0) 62764 }() 62765 }() 62766 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = store6908(&_45_nullFlag, uint16(func() int32 { 62767 if (_pOp.X3) != 0 { 62768 return i32(257) 62769 } 62770 return i32(1) 62771 }())) 62772 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = i32(0) 62773 _339: 62774 if _45_cnt <= i32(0) { 62775 goto _340 62776 } 62777 62778 *(*uintptr)(unsafe.Pointer(&_pOut)) += uintptr(48) 62779 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 62780 _sqlite3VdbeMemSetNull(tls, _pOut) 62781 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = _45_nullFlag 62782 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = i32(0) 62783 _45_cnt -= 1 62784 goto _339 62785 62786 _340: 62787 goto _248 62788 62789 _95: 62790 func() int32 { 62791 if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { 62792 return i32(0) 62793 } 62794 return func() int32 { 62795 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79336), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64820))) 62796 crt.X__builtin_abort(tls) 62797 return i32(0) 62798 }() 62799 }() 62800 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62801 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) | i32(1)) & i32(-129)) 62802 goto _248 62803 62804 _96: 62805 func() int32 { 62806 if (_pOp.X3) <= i32(1000000000) { 62807 return i32(0) 62808 } 62809 return func() int32 { 62810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79349), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65540))) 62811 crt.X__builtin_abort(tls) 62812 return i32(0) 62813 }() 62814 }() 62815 _pOut = _out2Prerelease(tls, _p, _pOp) 62816 _sqlite3VdbeMemSetStr(tls, _pOut, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), _pOp.X3, uint8(i32(0)), nil) 62817 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = _encoding 62818 goto _248 62819 62820 _97: 62821 func() int32 { 62822 if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= int32(_p.X4)) { 62823 return i32(0) 62824 } 62825 return func() int32 { 62826 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65572))) 62827 crt.X__builtin_abort(tls) 62828 return i32(0) 62829 }() 62830 }() 62831 func() int32 { 62832 if ((*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || ((*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == _sqlite3VListNumToName(tls, _p.X25, _pOp.X3)) { 62833 return i32(0) 62834 } 62835 return func() int32 { 62836 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65604))) 62837 crt.X__builtin_abort(tls) 62838 return i32(0) 62839 }() 62840 }() 62841 _49_pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 48*uintptr((_pOp.X3)-i32(1)))) 62842 if _sqlite3VdbeMemTooBig(tls, _49_pVar) == 0 { 62843 goto _352 62844 } 62845 62846 goto _too_big 62847 62848 _352: 62849 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 62850 _sqlite3VdbeMemShallowCopy(tls, _pOut, _49_pVar, i32(2048)) 62851 goto _248 62852 62853 _98: 62854 _51_n = _pOp.X5 62855 _51_p1 = _pOp.X3 62856 _51_p2 = _pOp.X4 62857 func() int32 { 62858 if ((_51_n > i32(0)) && (_51_p1 > i32(0))) && (_51_p2 > i32(0)) { 62859 return i32(0) 62860 } 62861 return func() int32 { 62862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79397), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65672))) 62863 crt.X__builtin_abort(tls) 62864 return i32(0) 62865 }() 62866 }() 62867 func() int32 { 62868 if ((_51_p1 + _51_n) <= _51_p2) || ((_51_p2 + _51_n) <= _51_p1) { 62869 return i32(0) 62870 } 62871 return func() int32 { 62872 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79398), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65692))) 62873 crt.X__builtin_abort(tls) 62874 return i32(0) 62875 }() 62876 }() 62877 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_51_p1))) 62878 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_51_p2))) 62879 _360: 62880 func() int32 { 62881 if uintptr(unsafe.Pointer(_pOut)) <= uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(((_p.X6)+i32(1))-(_p.X7)))))) { 62882 return i32(0) 62883 } 62884 return func() int32 { 62885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79403), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65716))) 62886 crt.X__builtin_abort(tls) 62887 return i32(0) 62888 }() 62889 }() 62890 func() int32 { 62891 if uintptr(unsafe.Pointer(_pIn1)) <= uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(((_p.X6)+i32(1))-(_p.X7)))))) { 62892 return i32(0) 62893 } 62894 return func() int32 { 62895 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79404), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65756))) 62896 crt.X__builtin_abort(tls) 62897 return i32(0) 62898 }() 62899 }() 62900 func() int32 { 62901 if (int32(_pIn1.X1) & i32(128)) == i32(0) { 62902 return i32(0) 62903 } 62904 return func() int32 { 62905 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79405), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65796))) 62906 crt.X__builtin_abort(tls) 62907 return i32(0) 62908 }() 62909 }() 62910 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 62911 _sqlite3VdbeMemMove(tls, _pOut, _pIn1) 62912 if uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(_pOut.X11)))) < uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_51_p1))))) || uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(_pOut.X11)))) >= uintptr(unsafe.Pointer(_pOut)) { 62913 goto _368 62914 } 62915 62916 { 62917 p := (**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(40 /* X11 */))))) 62918 *p = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 48*uintptr((_pOp.X4)-_51_p1))) 62919 sink7779437 = *p 62920 } 62921 _368: 62922 if (int32(_pOut.X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, _pOut) == 0 { 62923 goto _370 62924 } 62925 62926 goto _no_mem 62927 62928 _370: 62929 if ((_db.X6) & i32(1)) == 0 { 62930 goto _371 62931 } 62932 62933 _registerTrace(tls, postInc961(&_51_p2, int32(1)), _pOut) 62934 _371: 62935 *(*uintptr)(unsafe.Pointer(&_pIn1)) += uintptr(48) 62936 *(*uintptr)(unsafe.Pointer(&_pOut)) += uintptr(48) 62937 if preInc961(&_51_n, -1) != 0 { 62938 goto _360 62939 } 62940 62941 goto _248 62942 62943 _99: 62944 _55_n = _pOp.X5 62945 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62946 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 62947 func() int32 { 62948 if _pOut != _pIn1 { 62949 return i32(0) 62950 } 62951 return func() int32 { 62952 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79435), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65816))) 62953 crt.X__builtin_abort(tls) 62954 return i32(0) 62955 }() 62956 }() 62957 _374: 62958 _sqlite3VdbeMemShallowCopy(tls, _pOut, _pIn1, i32(4096)) 62959 if (int32(_pOut.X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, _pOut) == 0 { 62960 goto _377 62961 } 62962 62963 goto _no_mem 62964 62965 _377: 62966 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(40 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 62967 if ((_db.X6) & i32(1)) == 0 { 62968 goto _378 62969 } 62970 62971 _registerTrace(tls, ((_pOp.X4)+(_pOp.X5))-_55_n, _pOut) 62972 _378: 62973 if postInc961(&_55_n, int32(-1)) != i32(0) { 62974 goto _379 62975 } 62976 62977 goto _375 62978 62979 _379: 62980 *(*uintptr)(unsafe.Pointer(&_pOut)) += uintptr(48) 62981 *(*uintptr)(unsafe.Pointer(&_pIn1)) += uintptr(48) 62982 goto _374 62983 62984 _375: 62985 goto _248 62986 62987 _100: 62988 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 62989 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 62990 func() int32 { 62991 if _pOut != _pIn1 { 62992 return i32(0) 62993 } 62994 return func() int32 { 62995 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79466), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65816))) 62996 crt.X__builtin_abort(tls) 62997 return i32(0) 62998 }() 62999 }() 63000 _sqlite3VdbeMemShallowCopy(tls, _pOut, _pIn1, i32(4096)) 63001 if (*XMem)(unsafe.Pointer(_pOut.X11)) != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 63002 goto _382 63003 } 63004 63005 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(40 /* X11 */))))) = _pIn1 63006 _382: 63007 goto _248 63008 63009 _101: 63010 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63011 func() int32 { 63012 if (int32(_pIn1.X1) & i32(4)) != i32(0) { 63013 return i32(0) 63014 } 63015 return func() int32 { 63016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79484), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65828))) 63017 crt.X__builtin_abort(tls) 63018 return i32(0) 63019 }() 63020 }() 63021 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 63022 _sqlite3VdbeMemSetInt64(tls, _pOut, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) 63023 goto _248 63024 63025 _102: 63026 func() int32 { 63027 if int32(_p.X29) == (_pOp.X4) { 63028 return i32(0) 63029 } 63030 return func() int32 { 63031 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79502), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65856))) 63032 crt.X__builtin_abort(tls) 63033 return i32(0) 63034 }() 63035 }() 63036 func() int32 { 63037 if (_pOp.X3) > i32(0) { 63038 return i32(0) 63039 } 63040 return func() int32 { 63041 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79503), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64428))) 63042 crt.X__builtin_abort(tls) 63043 return i32(0) 63044 }() 63045 }() 63046 func() int32 { 63047 if ((_pOp.X3) + (_pOp.X4)) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1)) { 63048 return i32(0) 63049 } 63050 return func() int32 { 63051 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79504), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65880))) 63052 crt.X__builtin_abort(tls) 63053 return i32(0) 63054 }() 63055 }() 63056 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 63057 f func(*crt.TLS, unsafe.Pointer) int32 63058 }{(_db.X61)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 63059 f func(*crt.TLS, unsafe.Pointer) int32 63060 }{nil})) || _nVmStep < _nProgressLimit || (_db.X61)(tls, _db.X62) == i32(0) { 63061 goto _393 63062 } 63063 63064 _rc = i32(9) 63065 goto _abort_due_to_error 63066 63067 _393: 63068 if i32(0) == store961(&_rc, _sqlite3VdbeCheckFk(tls, _p, i32(0))) { 63069 goto _394 63070 } 63071 63072 func() int32 { 63073 if ((_db.X6) & i32(128)) != 0 { 63074 return i32(0) 63075 } 63076 return func() int32 { 63077 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79522), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65924))) 63078 crt.X__builtin_abort(tls) 63079 return i32(0) 63080 }() 63081 }() 63082 func() int32 { 63083 if ((uint32((_p.X32)>>uint(i32(6))) << uint(i32(31))) >> uint(i32(31))) != 0 { 63084 return i32(0) 63085 } 63086 return func() int32 { 63087 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79523), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65952))) 63088 crt.X__builtin_abort(tls) 63089 return i32(0) 63090 }() 63091 }() 63092 goto _abort_due_to_error 63093 63094 _394: 63095 func() int32 { 63096 if ((_p.X12) == i32(0)) || ((_db.X6)&i32(128)) != 0 { 63097 return i32(0) 63098 } 63099 return func() int32 { 63100 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79542), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65972))) 63101 crt.X__builtin_abort(tls) 63102 return i32(0) 63103 }() 63104 }() 63105 _rc = _sqlite3VdbeCloseStatement(tls, _p, i32(1)) 63106 func() int32 { 63107 if _rc == i32(0) { 63108 return i32(0) 63109 } 63110 return func() int32 { 63111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79544), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(15360))) 63112 crt.X__builtin_abort(tls) 63113 return i32(0) 63114 }() 63115 }() 63116 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X8 */))) = ((_p.X8) + uint32(i32(2))) | uint32(i32(1)) 63117 _60_pMem = store7779437((**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(100 /* X21 */))))), (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X3)))) 63118 _60_i = i32(0) 63119 _404: 63120 if _60_i >= (_pOp.X4) { 63121 goto _407 63122 } 63123 63124 func() int32 { 63125 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i))).X1) & i32(128)) == i32(0) { 63126 return i32(0) 63127 } 63128 return func() int32 { 63129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79555), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66020))) 63130 crt.X__builtin_abort(tls) 63131 return i32(0) 63132 }() 63133 }() 63134 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i))).X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i)))) == 0 { 63135 goto _411 63136 } 63137 63138 goto _no_mem 63139 63140 _411: 63141 func() int32 { 63142 if ((int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i))).X1) & i32(4096)) == i32(0)) || ((int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i))).X1) & i32(18)) == i32(0)) { 63143 return i32(0) 63144 } 63145 return func() int32 { 63146 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79557), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66044))) 63147 crt.X__builtin_abort(tls) 63148 return i32(0) 63149 }() 63150 }() 63151 _sqlite3VdbeMemNulTerminate(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i)))) 63152 if ((_db.X6) & i32(1)) == 0 { 63153 goto _415 63154 } 63155 63156 _registerTrace(tls, (_pOp.X3)+_60_i, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_60_pMem))+48*uintptr(_60_i)))) 63157 _415: 63158 _60_i += 1 63159 goto _404 63160 63161 _407: 63162 if (_db.X17) == 0 { 63163 goto _416 63164 } 63165 63166 goto _no_mem 63167 63168 _416: 63169 if (int32(_db.X24) & i32(4)) == 0 { 63170 goto _417 63171 } 63172 63173 (_db.X41)(tls, uint32(i32(4)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(uintptr(i32(0)))) 63174 _417: 63175 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = int32((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/24) + i32(1) 63176 _rc = i32(100) 63177 goto _vdbe_return 63178 63179 _103: 63180 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63181 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 63182 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 63183 func() int32 { 63184 if _pIn1 != _pOut { 63185 return i32(0) 63186 } 63187 return func() int32 { 63188 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79594), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66120))) 63189 crt.X__builtin_abort(tls) 63190 return i32(0) 63191 }() 63192 }() 63193 if ((int32(_pIn1.X1) | int32(_pIn2.X1)) & i32(1)) == 0 { 63194 goto _420 63195 } 63196 63197 _sqlite3VdbeMemSetNull(tls, _pOut) 63198 goto _248 63199 63200 _420: 63201 if func() int32 { 63202 if (int32(_pIn1.X1) & i32(16384)) != 0 { 63203 return _sqlite3VdbeMemExpandBlob(tls, _pIn1) 63204 } 63205 return i32(0) 63206 }() == 0 && func() int32 { 63207 if (int32(_pIn2.X1) & i32(16384)) != 0 { 63208 return _sqlite3VdbeMemExpandBlob(tls, _pIn2) 63209 } 63210 return i32(0) 63211 }() == 0 { 63212 goto _426 63213 } 63214 63215 goto _no_mem 63216 63217 _426: 63218 if (int32(_pIn1.X1)&i32(18)) != i32(0) || _sqlite3VdbeMemStringify(tls, _pIn1, _encoding, uint8(i32(0))) == 0 { 63219 goto _428 63220 } 63221 63222 goto _no_mem 63223 63224 _428: 63225 if (int32(_pIn2.X1)&i32(18)) != i32(0) || _sqlite3VdbeMemStringify(tls, _pIn2, _encoding, uint8(i32(0))) == 0 { 63226 goto _430 63227 } 63228 63229 goto _no_mem 63230 63231 _430: 63232 _66_nByte = int64((_pIn1.X4) + (_pIn2.X4)) 63233 if _66_nByte <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 63234 goto _431 63235 } 63236 63237 goto _too_big 63238 63239 _431: 63240 if _sqlite3VdbeMemGrow(tls, _pOut, int32(_66_nByte)+i32(2), bool2int(_pOut == _pIn2)) == 0 { 63241 goto _432 63242 } 63243 63244 goto _no_mem 63245 63246 _432: 63247 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(2)) 63248 if _pOut == _pIn2 { 63249 goto _433 63250 } 63251 63252 crt.Xmemcpy(tls, (unsafe.Pointer)(_pOut.X5), (unsafe.Pointer)(_pIn2.X5), uint32(_pIn2.X4)) 63253 _433: 63254 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut.X5))+1*uintptr(_pIn2.X4)))), (unsafe.Pointer)(_pIn1.X5), uint32(_pIn1.X4)) 63255 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut.X5)) + 1*uintptr(_66_nByte))) = int8(i32(0)) 63256 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut.X5)) + 1*uintptr(_66_nByte+int64(i32(1))))) = int8(i32(0)) 63257 { 63258 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) 63259 *p = uint16(int32(*p) | i32(512)) 63260 sink6908 = *p 63261 } 63262 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = int32(_66_nByte) 63263 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = _encoding 63264 goto _248 63265 63266 _104: 63267 _105: 63268 _106: 63269 _107: 63270 _108: 63271 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63272 _73_type1 = _numericType(tls, _pIn1) 63273 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 63274 _73_type2 = _numericType(tls, _pIn2) 63275 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 63276 _73_flags = uint16(int32(_pIn1.X1) | int32(_pIn2.X1)) 63277 if (int32(_73_flags) & i32(1)) == i32(0) { 63278 goto _434 63279 } 63280 63281 goto _arithmetic_result_is_null 63282 63283 _434: 63284 if ((int32(_73_type1) & int32(_73_type2)) & i32(4)) == i32(0) { 63285 goto _435 63286 } 63287 63288 _73_iA = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) 63289 _73_iB = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */))))) 63290 _73_bIntint = int8(i32(1)) 63291 switch int32(_pOp.X0) { 63292 case i32(47): 63293 goto _437 63294 case i32(48): 63295 goto _438 63296 case i32(49): 63297 goto _439 63298 case i32(50): 63299 goto _440 63300 default: 63301 goto _441 63302 } 63303 63304 _437: 63305 if _sqlite3AddInt64(tls, &_73_iB, _73_iA) == 0 { 63306 goto _442 63307 } 63308 63309 goto _fp_math 63310 63311 _442: 63312 goto _443 63313 63314 _438: 63315 if _sqlite3SubInt64(tls, &_73_iB, _73_iA) == 0 { 63316 goto _444 63317 } 63318 63319 goto _fp_math 63320 63321 _444: 63322 goto _443 63323 63324 _439: 63325 if _sqlite3MulInt64(tls, &_73_iB, _73_iA) == 0 { 63326 goto _445 63327 } 63328 63329 goto _fp_math 63330 63331 _445: 63332 goto _443 63333 63334 _440: 63335 if _73_iA != int64(i32(0)) { 63336 goto _446 63337 } 63338 63339 goto _arithmetic_result_is_null 63340 63341 _446: 63342 if _73_iA != int64(i32(-1)) || _73_iB != i64(-9223372036854775808) { 63343 goto _448 63344 } 63345 63346 goto _fp_math 63347 63348 _448: 63349 { 63350 p := &_73_iB 63351 *p = (*p) / _73_iA 63352 sink967 = *p 63353 } 63354 goto _443 63355 63356 _441: 63357 if _73_iA != int64(i32(0)) { 63358 goto _449 63359 } 63360 63361 goto _arithmetic_result_is_null 63362 63363 _449: 63364 if _73_iA != int64(i32(-1)) { 63365 goto _450 63366 } 63367 63368 _73_iA = int64(i32(1)) 63369 _450: 63370 { 63371 p := &_73_iB 63372 *p = (*p) % _73_iA 63373 sink967 = *p 63374 } 63375 goto _443 63376 63377 _443: 63378 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _73_iB 63379 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) 63380 goto _451 63381 63382 _435: 63383 _73_bIntint = int8(i32(0)) 63384 _fp_math: 63385 _73_rA = _sqlite3VdbeRealValue(tls, _pIn1) 63386 _73_rB = _sqlite3VdbeRealValue(tls, _pIn2) 63387 switch int32(_pOp.X0) { 63388 case i32(47): 63389 goto _453 63390 case i32(48): 63391 goto _454 63392 case i32(49): 63393 goto _455 63394 case i32(50): 63395 goto _456 63396 default: 63397 goto _457 63398 } 63399 63400 _453: 63401 { 63402 p := &_73_rB 63403 *p = (*p) + _73_rA 63404 sink6895 = *p 63405 } 63406 goto _458 63407 63408 _454: 63409 { 63410 p := &_73_rB 63411 *p = (*p) - _73_rA 63412 sink6895 = *p 63413 } 63414 goto _458 63415 63416 _455: 63417 { 63418 p := &_73_rB 63419 *p = (*p) * _73_rA 63420 sink6895 = *p 63421 } 63422 goto _458 63423 63424 _456: 63425 if _73_rA != float64(0) { 63426 goto _459 63427 } 63428 63429 goto _arithmetic_result_is_null 63430 63431 _459: 63432 { 63433 p := &_73_rB 63434 *p = (*p) / _73_rA 63435 sink6895 = *p 63436 } 63437 goto _458 63438 63439 _457: 63440 _73_iA = int64(_73_rA) 63441 _73_iB = int64(_73_rB) 63442 if _73_iA != int64(i32(0)) { 63443 goto _460 63444 } 63445 63446 goto _arithmetic_result_is_null 63447 63448 _460: 63449 if _73_iA != int64(i32(-1)) { 63450 goto _461 63451 } 63452 63453 _73_iA = int64(i32(1)) 63454 _461: 63455 _73_rB = float64(_73_iB % _73_iA) 63456 goto _458 63457 63458 _458: 63459 if _sqlite3IsNaN(tls, _73_rB) == 0 { 63460 goto _462 63461 } 63462 63463 goto _arithmetic_result_is_null 63464 63465 _462: 63466 *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _73_rB 63467 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(8)) 63468 if ((int32(_73_type1)|int32(_73_type2))&i32(8)) != i32(0) || _73_bIntint != 0 { 63469 goto _464 63470 } 63471 63472 _sqlite3VdbeIntegerAffinity(tls, _pOut) 63473 _464: 63474 _451: 63475 goto _248 63476 63477 _arithmetic_result_is_null: 63478 _sqlite3VdbeMemSetNull(tls, _pOut) 63479 goto _248 63480 63481 _109: 63482 func() int32 { 63483 if int32(_pOp.X1) == i32(-3) { 63484 return i32(0) 63485 } 63486 return func() int32 { 63487 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79766), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66132))) 63488 crt.X__builtin_abort(tls) 63489 return i32(0) 63490 }() 63491 }() 63492 if (_pOp.X3) == 0 { 63493 goto _467 63494 } 63495 63496 _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X3))), int64(i32(0))) 63497 _467: 63498 goto _248 63499 63500 _110: 63501 func() int32 { 63502 if int32(_pOp.X1) == i32(-4) { 63503 return i32(0) 63504 } 63505 return func() int32 { 63506 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79818), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66156))) 63507 crt.X__builtin_abort(tls) 63508 return i32(0) 63509 }() 63510 }() 63511 _86_n = int32(_pOp.X2) 63512 func() int32 { 63513 if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { 63514 return i32(0) 63515 } 63516 return func() int32 { 63517 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79820), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66180))) 63518 crt.X__builtin_abort(tls) 63519 return i32(0) 63520 }() 63521 }() 63522 func() int32 { 63523 if (_86_n == i32(0)) || (((_pOp.X4) > i32(0)) && (((_pOp.X4) + _86_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1)))) { 63524 return i32(0) 63525 } 63526 return func() int32 { 63527 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79821), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66228))) 63528 crt.X__builtin_abort(tls) 63529 return i32(0) 63530 }() 63531 }() 63532 func() int32 { 63533 if ((_pOp.X5) < (_pOp.X4)) || ((_pOp.X5) >= ((_pOp.X4) + _86_n)) { 63534 return i32(0) 63535 } 63536 return func() int32 { 63537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79822), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66292))) 63538 crt.X__builtin_abort(tls) 63539 return i32(0) 63540 }() 63541 }() 63542 _86_pCtx = (*Xsqlite3_context)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(32)+(uint32(_86_n-i32(1))*u32(4)))))) 63543 if _86_pCtx != (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0)))) { 63544 goto _480 63545 } 63546 63547 goto _no_mem 63548 63549 _480: 63550 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(0 /* X0 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 63551 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(4 /* X1 */))))) = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 63552 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(16 /* X4 */))) = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 63553 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(12 /* X3 */))))) = _p 63554 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_86_pCtx)) + uintptr(26 /* X8 */))) = uint8(_86_n) 63555 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-16)) 63556 *(**Xsqlite3_context)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _86_pCtx 63557 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(91)) 63558 _111: 63559 func() int32 { 63560 if int32(_pOp.X1) == i32(-16) { 63561 return i32(0) 63562 } 63563 return func() int32 { 63564 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79839), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66332))) 63565 crt.X__builtin_abort(tls) 63566 return i32(0) 63567 }() 63568 }() 63569 _87_pCtx = (*Xsqlite3_context)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 63570 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 63571 if (*XMem)(unsafe.Pointer(_87_pCtx.X0)) == _pOut { 63572 goto _483 63573 } 63574 63575 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx)) + uintptr(0 /* X0 */))))) = _pOut 63576 _87_i = int32(_87_pCtx.X8) - i32(1) 63577 _484: 63578 if _87_i < i32(0) { 63579 goto _487 63580 } 63581 63582 *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(28 /* X9 */))))) + 4*uintptr(_87_i))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr((_pOp.X4)+_87_i))) 63583 _87_i -= 1 63584 goto _484 63585 63586 _487: 63587 _483: 63588 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 63589 _87_i = i32(0) 63590 _488: 63591 if _87_i >= int32(_87_pCtx.X8) { 63592 goto _491 63593 } 63594 63595 func() int32 { 63596 if (int32((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(28 /* X9 */))))) + 4*uintptr(_87_i)))).X1) & i32(128)) == i32(0) { 63597 return i32(0) 63598 } 63599 return func() int32 { 63600 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79855), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66356))) 63601 crt.X__builtin_abort(tls) 63602 return i32(0) 63603 }() 63604 }() 63605 if ((_db.X6) & i32(1)) == 0 { 63606 goto _494 63607 } 63608 63609 _registerTrace(tls, (_pOp.X4)+_87_i, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(28 /* X9 */))))) + 4*uintptr(_87_i)))) 63610 _494: 63611 _87_i += 1 63612 goto _488 63613 63614 _491: 63615 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(1)) 63616 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(0)) 63617 (*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { 63618 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) 63619 }{((*XFuncDef)(unsafe.Pointer(_87_pCtx.X1)).X4)})))(tls, _87_pCtx, int32(_87_pCtx.X8), (**XMem)(unsafe.Pointer((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_87_pCtx))+uintptr(28 /* X9 */)))))) 63620 if (_87_pCtx.X7) == 0 { 63621 goto _495 63622 } 63623 63624 if (_87_pCtx.X5) == 0 { 63625 goto _496 63626 } 63627 63628 _sqlite3VdbeError(tls, _p, str(25612), unsafe.Pointer(Xsqlite3_value_text(tls, _pOut))) 63629 _rc = _87_pCtx.X5 63630 _496: 63631 _sqlite3VdbeDeleteAuxData(tls, _db, (**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(200 /* X43 */))))), _87_pCtx.X4, _pOp.X3) 63632 if _rc == 0 { 63633 goto _497 63634 } 63635 63636 goto _abort_due_to_error 63637 63638 _497: 63639 _495: 63640 if (int32(_pOut.X1) & i32(18)) == 0 { 63641 goto _498 63642 } 63643 63644 _sqlite3VdbeChangeEncoding(tls, _pOut, int32(_encoding)) 63645 if _sqlite3VdbeMemTooBig(tls, _pOut) == 0 { 63646 goto _499 63647 } 63648 63649 goto _too_big 63650 63651 _499: 63652 _498: 63653 if ((_db.X6) & i32(1)) == 0 { 63654 goto _500 63655 } 63656 63657 _registerTrace(tls, _pOp.X5, _pOut) 63658 _500: 63659 goto _248 63660 63661 _112: 63662 _113: 63663 _114: 63664 _115: 63665 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63666 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 63667 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 63668 if ((int32(_pIn1.X1) | int32(_pIn2.X1)) & i32(1)) == 0 { 63669 goto _501 63670 } 63671 63672 _sqlite3VdbeMemSetNull(tls, _pOut) 63673 goto _248 63674 63675 _501: 63676 _93_iA = _sqlite3VdbeIntValue(tls, _pIn2) 63677 _93_iB = _sqlite3VdbeIntValue(tls, _pIn1) 63678 _93_op = _pOp.X0 63679 if int32(_93_op) != i32(43) { 63680 goto _502 63681 } 63682 63683 { 63684 p := &_93_iA 63685 *p = (*p) & _93_iB 63686 sink967 = *p 63687 } 63688 goto _503 63689 63690 _502: 63691 if int32(_93_op) != i32(44) { 63692 goto _504 63693 } 63694 63695 { 63696 p := &_93_iA 63697 *p = (*p) | _93_iB 63698 sink967 = *p 63699 } 63700 goto _505 63701 63702 _504: 63703 if _93_iB == int64(i32(0)) { 63704 goto _506 63705 } 63706 63707 func() int32 { 63708 if (int32(_93_op) == i32(46)) || (int32(_93_op) == i32(45)) { 63709 return i32(0) 63710 } 63711 return func() int32 { 63712 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(79938), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66384))) 63713 crt.X__builtin_abort(tls) 63714 return i32(0) 63715 }() 63716 }() 63717 if _93_iB >= int64(i32(0)) { 63718 goto _510 63719 } 63720 63721 i32(0) 63722 _93_op = uint8(i32(91) - int32(_93_op)) 63723 _93_iB = func() int64 { 63724 if _93_iB > int64(i32(-64)) { 63725 return (-_93_iB) 63726 } 63727 return int64(i32(64)) 63728 }() 63729 _510: 63730 if _93_iB < int64(i32(64)) { 63731 goto _513 63732 } 63733 63734 _93_iA = int64(func() int32 { 63735 if (_93_iA >= int64(i32(0))) || (int32(_93_op) == i32(45)) { 63736 return i32(0) 63737 } 63738 return i32(-1) 63739 }()) 63740 goto _517 63741 63742 _513: 63743 crt.Xmemcpy(tls, (unsafe.Pointer)(&_93_uA), (unsafe.Pointer)(&_93_iA), u32(8)) 63744 if int32(_93_op) != i32(45) { 63745 goto _518 63746 } 63747 63748 { 63749 p := &_93_uA 63750 *p = (*p) << uint(int32(_93_iB)) 63751 sink992 = *p 63752 } 63753 goto _519 63754 63755 _518: 63756 { 63757 p := &_93_uA 63758 *p = (*p) >> uint(int32(_93_iB)) 63759 sink992 = *p 63760 } 63761 if _93_iA >= int64(i32(0)) { 63762 goto _520 63763 } 63764 63765 { 63766 p := &_93_uA 63767 *p = (*p) | (u64(18446744073709551615) << uint(int32(int64(i32(64))-_93_iB))) 63768 sink992 = *p 63769 } 63770 _520: 63771 _519: 63772 crt.Xmemcpy(tls, (unsafe.Pointer)(&_93_iA), (unsafe.Pointer)(&_93_uA), u32(8)) 63773 _517: 63774 _506: 63775 _505: 63776 _503: 63777 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _93_iA 63778 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) 63779 goto _248 63780 63781 _116: 63782 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63783 _sqlite3VdbeMemAboutToChange(tls, _p, _pIn1) 63784 _sqlite3VdbeMemIntegerify(tls, _pIn1) 63785 { 63786 p := (*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) 63787 *p = (*p) + int64(_pOp.X4) 63788 sink967 = *p 63789 } 63790 goto _248 63791 63792 _117: 63793 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63794 if (int32(_pIn1.X1) & i32(4)) != i32(0) { 63795 goto _521 63796 } 63797 63798 _applyAffinity(tls, _pIn1, int8(i32(67)), _encoding) 63799 if (int32(_pIn1.X1) & i32(4)) != i32(0) { 63800 goto _522 63801 } 63802 63803 if (_pOp.X4) != i32(0) { 63804 goto _523 63805 } 63806 63807 _rc = i32(20) 63808 goto _abort_due_to_error 63809 63810 _523: 63811 goto _jump_to_p2 63812 63813 _522: 63814 _521: 63815 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = uint16((int32(_pIn1.X1) & i32(-49664)) | i32(4)) 63816 goto _248 63817 63818 _118: 63819 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63820 if (int32(_pIn1.X1) & i32(4)) == 0 { 63821 goto _525 63822 } 63823 63824 _sqlite3VdbeMemRealify(tls, _pIn1) 63825 _525: 63826 goto _248 63827 63828 _119: 63829 func() int32 { 63830 if ((_pOp.X4) >= i32(65)) && ((_pOp.X4) <= i32(69)) { 63831 return i32(0) 63832 } 63833 return func() int32 { 63834 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80043), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66424))) 63835 crt.X__builtin_abort(tls) 63836 return i32(0) 63837 }() 63838 }() 63839 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63840 _sqlite3VdbeMemAboutToChange(tls, _p, _pIn1) 63841 _rc = func() int32 { 63842 if (int32(_pIn1.X1) & i32(16384)) != 0 { 63843 return _sqlite3VdbeMemExpandBlob(tls, _pIn1) 63844 } 63845 return i32(0) 63846 }() 63847 _sqlite3VdbeMemCast(tls, _pIn1, uint8(_pOp.X4), _encoding) 63848 if _rc == 0 { 63849 goto _531 63850 } 63851 63852 goto _abort_due_to_error 63853 63854 _531: 63855 goto _248 63856 63857 _120: 63858 _121: 63859 _122: 63860 _123: 63861 _124: 63862 _125: 63863 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 63864 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 63865 _112_flags1 = _pIn1.X1 63866 _112_flags3 = _pIn3.X1 63867 if ((int32(_112_flags1) | int32(_112_flags3)) & i32(1)) == 0 { 63868 goto _532 63869 } 63870 63871 if (int32(_pOp.X2) & i32(128)) == 0 { 63872 goto _533 63873 } 63874 63875 func() int32 { 63876 if (int32(_pOp.X0) == i32(37)) || (int32(_pOp.X0) == i32(36)) { 63877 return i32(0) 63878 } 63879 return func() int32 { 63880 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80177), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66480))) 63881 crt.X__builtin_abort(tls) 63882 return i32(0) 63883 }() 63884 }() 63885 func() int32 { 63886 if (int32(_112_flags1) & i32(256)) == i32(0) { 63887 return i32(0) 63888 } 63889 return func() int32 { 63890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80178), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66524))) 63891 crt.X__builtin_abort(tls) 63892 return i32(0) 63893 }() 63894 }() 63895 func() int32 { 63896 if (int32(_pOp.X2) & i32(16)) == i32(0) { 63897 return i32(0) 63898 } 63899 return func() int32 { 63900 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80179), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66552))) 63901 crt.X__builtin_abort(tls) 63902 return i32(0) 63903 }() 63904 }() 63905 if ((int32(_112_flags1)&int32(_112_flags3))&i32(1)) == i32(0) || (int32(_112_flags3)&i32(256)) != i32(0) { 63906 goto _542 63907 } 63908 63909 _112_res = i32(0) 63910 goto _543 63911 63912 _542: 63913 _112_res = i32(1) 63914 _543: 63915 goto _544 63916 63917 _533: 63918 if (int32(_pOp.X2) & i32(32)) == 0 { 63919 goto _545 63920 } 63921 63922 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 63923 _iCompare = i32(1) 63924 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 63925 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(1)) 63926 if ((_db.X6) & i32(1)) == 0 { 63927 goto _546 63928 } 63929 63930 _registerTrace(tls, _pOp.X4, _pOut) 63931 _546: 63932 goto _547 63933 63934 _545: 63935 if (int32(_pOp.X2) & i32(16)) == 0 { 63936 goto _548 63937 } 63938 63939 goto _jump_to_p2 63940 63941 _548: 63942 _547: 63943 goto _248 63944 63945 _544: 63946 goto _549 63947 63948 _532: 63949 _112_affinity = int8(int32(_pOp.X2) & i32(71)) 63950 if int32(_112_affinity) < i32(67) { 63951 goto _550 63952 } 63953 63954 if ((int32(_112_flags1) | int32(_112_flags3)) & i32(2)) == 0 { 63955 goto _551 63956 } 63957 63958 if (int32(_112_flags1) & i32(14)) != i32(2) { 63959 goto _552 63960 } 63961 63962 _applyNumericAffinity(tls, _pIn1, i32(0)) 63963 _112_flags3 = _pIn3.X1 63964 _552: 63965 if (int32(_112_flags3) & i32(14)) != i32(2) { 63966 goto _553 63967 } 63968 63969 _applyNumericAffinity(tls, _pIn3, i32(0)) 63970 _553: 63971 _551: 63972 if ((int32(_pIn1.X1) & int32(_pIn3.X1)) & i32(4)) == i32(0) { 63973 goto _554 63974 } 63975 63976 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) <= (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) { 63977 goto _555 63978 } 63979 63980 _112_res = i32(1) 63981 goto _compare_op 63982 63983 _555: 63984 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) >= (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) { 63985 goto _556 63986 } 63987 63988 _112_res = i32(-1) 63989 goto _compare_op 63990 63991 _556: 63992 _112_res = i32(0) 63993 goto _compare_op 63994 63995 _554: 63996 goto _557 63997 63998 _550: 63999 if int32(_112_affinity) != i32(66) { 64000 goto _558 64001 } 64002 64003 if (int32(_112_flags1)&i32(2)) != i32(0) || (int32(_112_flags1)&i32(12)) == i32(0) { 64004 goto _560 64005 } 64006 64007 _sqlite3VdbeMemStringify(tls, _pIn1, _encoding, uint8(i32(1))) 64008 _112_flags1 = uint16((int32(_pIn1.X1) & i32(-33280)) | (int32(_112_flags1) & i32(33279))) 64009 func() int32 { 64010 if _pIn1 != _pIn3 { 64011 return i32(0) 64012 } 64013 return func() int32 { 64014 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80235), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66588))) 64015 crt.X__builtin_abort(tls) 64016 return i32(0) 64017 }() 64018 }() 64019 _560: 64020 if (int32(_112_flags3)&i32(2)) != i32(0) || (int32(_112_flags3)&i32(12)) == i32(0) { 64021 goto _564 64022 } 64023 64024 _sqlite3VdbeMemStringify(tls, _pIn3, _encoding, uint8(i32(1))) 64025 _112_flags3 = uint16((int32(_pIn3.X1) & i32(-33280)) | (int32(_112_flags3) & i32(33279))) 64026 _564: 64027 _558: 64028 _557: 64029 func() int32 { 64030 if (int32(_pOp.X1) == i32(-3)) || ((*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0))))) { 64031 return i32(0) 64032 } 64033 return func() int32 { 64034 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80245), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66600))) 64035 crt.X__builtin_abort(tls) 64036 return i32(0) 64037 }() 64038 }() 64039 _112_res = _sqlite3MemCompare(tls, _pIn3, _pIn1, (*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))))) 64040 _549: 64041 _compare_op: 64042 switch int32(_pOp.X0) { 64043 case i32(36): 64044 goto _570 64045 case i32(37): 64046 goto _569 64047 case i32(38): 64048 goto _573 64049 case i32(39): 64050 goto _572 64051 case i32(40): 64052 goto _571 64053 default: 64054 goto _574 64055 } 64056 64057 _569: 64058 _112_res2 = bool2int(_112_res == i32(0)) 64059 goto _575 64060 64061 _570: 64062 _112_res2 = _112_res 64063 goto _575 64064 64065 _571: 64066 _112_res2 = bool2int(_112_res < i32(0)) 64067 goto _575 64068 64069 _572: 64070 _112_res2 = bool2int(_112_res <= i32(0)) 64071 goto _575 64072 64073 _573: 64074 _112_res2 = bool2int(_112_res > i32(0)) 64075 goto _575 64076 64077 _574: 64078 _112_res2 = bool2int(_112_res >= i32(0)) 64079 goto _575 64080 64081 _575: 64082 func() int32 { 64083 if (int32(_pIn1.X1) & i32(1024)) == (int32(_112_flags1) & i32(1024)) { 64084 return i32(0) 64085 } 64086 return func() int32 { 64087 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80259), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66644))) 64088 crt.X__builtin_abort(tls) 64089 return i32(0) 64090 }() 64091 }() 64092 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(8 /* X1 */))) = _112_flags1 64093 func() int32 { 64094 if (int32(_pIn3.X1) & i32(1024)) == (int32(_112_flags3) & i32(1024)) { 64095 return i32(0) 64096 } 64097 return func() int32 { 64098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80261), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66692))) 64099 crt.X__builtin_abort(tls) 64100 return i32(0) 64101 }() 64102 }() 64103 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(8 /* X1 */))) = _112_flags3 64104 if (int32(_pOp.X2) & i32(32)) == 0 { 64105 goto _580 64106 } 64107 64108 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 64109 _iCompare = _112_res 64110 _112_res2 = bool2int(_112_res2 != i32(0)) 64111 if (int32(_pOp.X2) & i32(8)) == i32(0) { 64112 goto _581 64113 } 64114 64115 func() int32 { 64116 if (int32(_pOp.X0) == i32(36)) || (int32(_pOp.X0) == i32(37)) { 64117 return i32(0) 64118 } 64119 return func() int32 { 64120 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80276), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66740))) 64121 crt.X__builtin_abort(tls) 64122 return i32(0) 64123 }() 64124 }() 64125 func() int32 { 64126 if (_112_res2 == i32(0)) || (_112_res2 == i32(1)) { 64127 return i32(0) 64128 } 64129 return func() int32 { 64130 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80277), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66784))) 64131 crt.X__builtin_abort(tls) 64132 return i32(0) 64133 }() 64134 }() 64135 if bool2int(int32(_pOp.X0) == i32(37)) != _112_res2 { 64136 goto _588 64137 } 64138 64139 goto _248 64140 64141 _588: 64142 _581: 64143 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 64144 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) 64145 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_112_res2) 64146 if ((_db.X6) & i32(1)) == 0 { 64147 goto _589 64148 } 64149 64150 _registerTrace(tls, _pOp.X4, _pOut) 64151 _589: 64152 goto _590 64153 64154 _580: 64155 if _112_res2 == 0 { 64156 goto _591 64157 } 64158 64159 goto _jump_to_p2 64160 64161 _591: 64162 _590: 64163 goto _248 64164 64165 _126: 64166 func() int32 { 64167 if uintptr(unsafe.Pointer(_pOp)) > uintptr(unsafe.Pointer(_aOp)) { 64168 return i32(0) 64169 } 64170 return func() int32 { 64171 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80306), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66804))) 64172 crt.X__builtin_abort(tls) 64173 return i32(0) 64174 }() 64175 }() 64176 func() int32 { 64177 if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X0) == i32(40)) || (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X0) == i32(38)) { 64178 return i32(0) 64179 } 64180 return func() int32 { 64181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80307), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66812))) 64182 crt.X__builtin_abort(tls) 64183 return i32(0) 64184 }() 64185 }() 64186 func() int32 { 64187 if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X2) & i32(32)) != 0 { 64188 return i32(0) 64189 } 64190 return func() int32 { 64191 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80308), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66860))) 64192 crt.X__builtin_abort(tls) 64193 return i32(0) 64194 }() 64195 }() 64196 if _iCompare == i32(0) { 64197 goto _599 64198 } 64199 64200 goto _jump_to_p2 64201 64202 _599: 64203 goto _248 64204 64205 _127: 64206 func() int32 { 64207 if int32(_pOp.X1) == i32(-12) { 64208 return i32(0) 64209 } 64210 return func() int32 { 64211 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80328), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66888))) 64212 crt.X__builtin_abort(tls) 64213 return i32(0) 64214 }() 64215 }() 64216 func() int32 { 64217 if (*(**int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != nil { 64218 return i32(0) 64219 } 64220 return func() int32 { 64221 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80329), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66916))) 64222 crt.X__builtin_abort(tls) 64223 return i32(0) 64224 }() 64225 }() 64226 func() int32 { 64227 if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))).X0) == i32(96) { 64228 return i32(0) 64229 } 64230 return func() int32 { 64231 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80330), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66928))) 64232 crt.X__builtin_abort(tls) 64233 return i32(0) 64234 }() 64235 }() 64236 func() int32 { 64237 if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))).X2) & i32(1)) != 0 { 64238 return i32(0) 64239 } 64240 return func() int32 { 64241 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80331), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66956))) 64242 crt.X__builtin_abort(tls) 64243 return i32(0) 64244 }() 64245 }() 64246 goto _248 64247 64248 _128: 64249 if (int32(_pOp.X2) & i32(1)) != i32(0) { 64250 goto _608 64251 } 64252 64253 _139_aPermute = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 64254 goto _609 64255 64256 _608: 64257 func() int32 { 64258 if uintptr(unsafe.Pointer(_pOp)) > uintptr(unsafe.Pointer(_aOp)) { 64259 return i32(0) 64260 } 64261 return func() int32 { 64262 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66804))) 64263 crt.X__builtin_abort(tls) 64264 return i32(0) 64265 }() 64266 }() 64267 func() int32 { 64268 if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X0) == i32(95) { 64269 return i32(0) 64270 } 64271 return func() int32 { 64272 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80370), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66984))) 64273 crt.X__builtin_abort(tls) 64274 return i32(0) 64275 }() 64276 }() 64277 func() int32 { 64278 if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X1) == i32(-12) { 64279 return i32(0) 64280 } 64281 return func() int32 { 64282 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80371), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67016))) 64283 crt.X__builtin_abort(tls) 64284 return i32(0) 64285 }() 64286 }() 64287 _139_aPermute = (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(*(**int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))))) + uintptr(16 /* X6 */))))))) + uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(4))))))))))) 64288 func() int32 { 64289 if _139_aPermute != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 64290 return i32(0) 64291 } 64292 return func() int32 { 64293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80373), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67044))) 64294 crt.X__builtin_abort(tls) 64295 return i32(0) 64296 }() 64297 }() 64298 _609: 64299 _139_n = _pOp.X5 64300 _139_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 64301 func() int32 { 64302 if _139_n > i32(0) { 64303 return i32(0) 64304 } 64305 return func() int32 { 64306 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80377), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(1352))) 64307 crt.X__builtin_abort(tls) 64308 return i32(0) 64309 }() 64310 }() 64311 func() int32 { 64312 if _139_pKeyInfo != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { 64313 return i32(0) 64314 } 64315 return func() int32 { 64316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80378), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(47520))) 64317 crt.X__builtin_abort(tls) 64318 return i32(0) 64319 }() 64320 }() 64321 _139_p1 = _pOp.X3 64322 _139_p2 = _pOp.X4 64323 if _139_aPermute == nil { 64324 goto _622 64325 } 64326 64327 _142_mx = i32(0) 64328 _142_k = i32(0) 64329 _623: 64330 if _142_k >= _139_n { 64331 goto _626 64332 } 64333 64334 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aPermute)) + 4*uintptr(_142_k)))) <= _142_mx { 64335 goto _627 64336 } 64337 64338 _142_mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aPermute)) + 4*uintptr(_142_k))) 64339 _627: 64340 _142_k += 1 64341 goto _623 64342 64343 _626: 64344 func() int32 { 64345 if (_139_p1 > i32(0)) && ((_139_p1 + _142_mx) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { 64346 return i32(0) 64347 } 64348 return func() int32 { 64349 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80385), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67056))) 64350 crt.X__builtin_abort(tls) 64351 return i32(0) 64352 }() 64353 }() 64354 func() int32 { 64355 if (_139_p2 > i32(0)) && ((_139_p2 + _142_mx) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { 64356 return i32(0) 64357 } 64358 return func() int32 { 64359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80386), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67100))) 64360 crt.X__builtin_abort(tls) 64361 return i32(0) 64362 }() 64363 }() 64364 goto _634 64365 64366 _622: 64367 func() int32 { 64368 if (_139_p1 > i32(0)) && ((_139_p1 + _139_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { 64369 return i32(0) 64370 } 64371 return func() int32 { 64372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80388), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67144))) 64373 crt.X__builtin_abort(tls) 64374 return i32(0) 64375 }() 64376 }() 64377 func() int32 { 64378 if (_139_p2 > i32(0)) && ((_139_p2 + _139_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { 64379 return i32(0) 64380 } 64381 return func() int32 { 64382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80389), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67188))) 64383 crt.X__builtin_abort(tls) 64384 return i32(0) 64385 }() 64386 }() 64387 _634: 64388 _139_i = i32(0) 64389 _641: 64390 if _139_i >= _139_n { 64391 goto _644 64392 } 64393 64394 _139_idx = func() int32 { 64395 if _139_aPermute != nil { 64396 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_aPermute)) + 4*uintptr(_139_i)))) 64397 } 64398 return _139_i 64399 }() 64400 func() int32 { 64401 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_139_p1+_139_idx))).X1) & i32(128)) == i32(0) { 64402 return i32(0) 64403 } 64404 return func() int32 { 64405 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80394), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67232))) 64406 crt.X__builtin_abort(tls) 64407 return i32(0) 64408 }() 64409 }() 64410 func() int32 { 64411 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_139_p2+_139_idx))).X1) & i32(128)) == i32(0) { 64412 return i32(0) 64413 } 64414 return func() int32 { 64415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80395), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67260))) 64416 crt.X__builtin_abort(tls) 64417 return i32(0) 64418 }() 64419 }() 64420 if ((_db.X6) & i32(1)) == 0 { 64421 goto _651 64422 } 64423 64424 _registerTrace(tls, _139_p1+_139_idx, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_139_p1+_139_idx)))) 64425 _651: 64426 if ((_db.X6) & i32(1)) == 0 { 64427 goto _652 64428 } 64429 64430 _registerTrace(tls, _139_p2+_139_idx, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_139_p2+_139_idx)))) 64431 _652: 64432 func() int32 { 64433 if _139_i < int32(_139_pKeyInfo.X2) { 64434 return i32(0) 64435 } 64436 return func() int32 { 64437 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80398), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67288))) 64438 crt.X__builtin_abort(tls) 64439 return i32(0) 64440 }() 64441 }() 64442 _139_pColl = *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_139_i))) 64443 _139_bRev = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_139_pKeyInfo.X5)) + 1*uintptr(_139_i)))) 64444 _iCompare = _sqlite3MemCompare(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_139_p1+_139_idx))), (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_139_p2+_139_idx))), _139_pColl) 64445 if _iCompare == 0 { 64446 goto _655 64447 } 64448 64449 if _139_bRev == 0 { 64450 goto _656 64451 } 64452 64453 _iCompare = -_iCompare 64454 _656: 64455 goto _644 64456 64457 _655: 64458 _139_i += 1 64459 goto _641 64460 64461 _644: 64462 goto _248 64463 64464 _129: 64465 if _iCompare >= i32(0) { 64466 goto _657 64467 } 64468 64469 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr((_pOp.X3)-i32(1)))) 64470 goto _658 64471 64472 _657: 64473 if _iCompare != i32(0) { 64474 goto _659 64475 } 64476 64477 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr((_pOp.X4)-i32(1)))) 64478 goto _660 64479 64480 _659: 64481 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr((_pOp.X5)-i32(1)))) 64482 _660: 64483 _658: 64484 goto _248 64485 64486 _130: 64487 _131: 64488 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 64489 if (int32(_pIn1.X1) & i32(1)) == 0 { 64490 goto _661 64491 } 64492 64493 _150_v1 = i32(2) 64494 goto _662 64495 64496 _661: 64497 _150_v1 = bool2int(_sqlite3VdbeIntValue(tls, _pIn1) != int64(i32(0))) 64498 _662: 64499 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 64500 if (int32(_pIn2.X1) & i32(1)) == 0 { 64501 goto _663 64502 } 64503 64504 _150_v2 = i32(2) 64505 goto _664 64506 64507 _663: 64508 _150_v2 = bool2int(_sqlite3VdbeIntValue(tls, _pIn2) != int64(i32(0))) 64509 _664: 64510 if int32(_pOp.X0) != i32(28) { 64511 goto _665 64512 } 64513 64514 _150_v1 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00and_logicØ002)) + 1*uintptr((_150_v1*i32(3))+_150_v2)))) 64515 goto _666 64516 64517 _665: 64518 _150_v1 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00or_logicØ003)) + 1*uintptr((_150_v1*i32(3))+_150_v2)))) 64519 _666: 64520 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 64521 if _150_v1 != i32(2) { 64522 goto _667 64523 } 64524 64525 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(1)) 64526 goto _668 64527 64528 _667: 64529 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_150_v1) 64530 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(4)) 64531 _668: 64532 goto _248 64533 64534 _132: 64535 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 64536 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 64537 _sqlite3VdbeMemSetNull(tls, _pOut) 64538 if (int32(_pIn1.X1) & i32(1)) != i32(0) { 64539 goto _669 64540 } 64541 64542 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 64543 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(bool2int(_sqlite3VdbeIntValue(tls, _pIn1) == 0)) 64544 _669: 64545 goto _248 64546 64547 _133: 64548 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 64549 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 64550 _sqlite3VdbeMemSetNull(tls, _pOut) 64551 if (int32(_pIn1.X1) & i32(1)) != i32(0) { 64552 goto _670 64553 } 64554 64555 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 64556 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = ^_sqlite3VdbeIntValue(tls, _pIn1) 64557 _670: 64558 goto _248 64559 64560 _134: 64561 func() int32 { 64562 if int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(i32(0)))).X0) == i32(72) { 64563 return i32(0) 64564 } 64565 return func() int32 { 64566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80536), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67308))) 64567 crt.X__builtin_abort(tls) 64568 return i32(0) 64569 }() 64570 }() 64571 if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { 64572 goto _673 64573 } 64574 64575 _163_iAddr = uint32(int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(_p.X17))))) / 24)) 64576 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeFrame)(unsafe.Pointer(_p.X38)).X6)) + 1*uintptr(_163_iAddr/uint32(i32(8)))))) & (i32(1) << uint(int32(_163_iAddr&uint32(i32(7)))))) == i32(0) { 64577 goto _674 64578 } 64579 64580 goto _jump_to_p2 64581 64582 _674: 64583 { 64584 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeFrame)(unsafe.Pointer(_p.X38)).X6)) + 1*uintptr(_163_iAddr/uint32(i32(8))))) 64585 *p = uint8(int32(*p) | (i32(1) << uint(int32(_163_iAddr&uint32(i32(7)))))) 64586 sink6915 = *p 64587 } 64588 goto _675 64589 64590 _673: 64591 if ((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(i32(0)))).X3) != (_pOp.X3) { 64592 goto _676 64593 } 64594 64595 goto _jump_to_p2 64596 64597 _676: 64598 _675: 64599 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(i32(0)))).X3 64600 goto _248 64601 64602 _135: 64603 _136: 64604 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 64605 if (int32(_pIn1.X1) & i32(1)) == 0 { 64606 goto _677 64607 } 64608 64609 _168_c = _pOp.X5 64610 goto _678 64611 64612 _677: 64613 _168_c = bool2int(_sqlite3VdbeRealValue(tls, _pIn1) != float64(0)) 64614 if int32(_pOp.X0) != i32(22) { 64615 goto _679 64616 } 64617 64618 _168_c = bool2int(_168_c == 0) 64619 _679: 64620 _678: 64621 if _168_c == 0 { 64622 goto _680 64623 } 64624 64625 goto _jump_to_p2 64626 64627 _680: 64628 goto _248 64629 64630 _137: 64631 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 64632 if (int32(_pIn1.X1) & i32(1)) == i32(0) { 64633 goto _681 64634 } 64635 64636 goto _jump_to_p2 64637 64638 _681: 64639 goto _248 64640 64641 _138: 64642 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 64643 if (int32(_pIn1.X1) & i32(1)) != i32(0) { 64644 goto _682 64645 } 64646 64647 goto _jump_to_p2 64648 64649 _682: 64650 goto _248 64651 64652 _139: 64653 _176_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 64654 _176_p2 = _pOp.X4 64655 _rc = _sqlite3VdbeCursorMoveto(tls, &_176_pC, &_176_p2) 64656 if _rc == 0 { 64657 goto _683 64658 } 64659 64660 goto _abort_due_to_error 64661 64662 _683: 64663 func() int32 { 64664 if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { 64665 return i32(0) 64666 } 64667 return func() int32 { 64668 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80666), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66180))) 64669 crt.X__builtin_abort(tls) 64670 return i32(0) 64671 }() 64672 }() 64673 _176_pDest = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 64674 _sqlite3VdbeMemAboutToChange(tls, _p, _176_pDest) 64675 func() int32 { 64676 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 64677 return i32(0) 64678 } 64679 return func() int32 { 64680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80669), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 64681 crt.X__builtin_abort(tls) 64682 return i32(0) 64683 }() 64684 }() 64685 func() int32 { 64686 if _176_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 64687 return i32(0) 64688 } 64689 return func() int32 { 64690 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80670), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 64691 crt.X__builtin_abort(tls) 64692 return i32(0) 64693 }() 64694 }() 64695 func() int32 { 64696 if _176_p2 < int32(_176_pC.X18) { 64697 return i32(0) 64698 } 64699 return func() int32 { 64700 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80671), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67380))) 64701 crt.X__builtin_abort(tls) 64702 return i32(0) 64703 }() 64704 }() 64705 _176_aOffset = _176_pC.X21 64706 func() int32 { 64707 if int32(_176_pC.X0) != i32(2) { 64708 return i32(0) 64709 } 64710 return func() int32 { 64711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80673), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67396))) 64712 crt.X__builtin_abort(tls) 64713 return i32(0) 64714 }() 64715 }() 64716 func() int32 { 64717 if (int32(_176_pC.X0) != i32(3)) || ((_176_pC.X2) != 0) { 64718 return i32(0) 64719 } 64720 return func() int32 { 64721 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80674), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67424))) 64722 crt.X__builtin_abort(tls) 64723 return i32(0) 64724 }() 64725 }() 64726 func() int32 { 64727 if int32(_176_pC.X0) != i32(1) { 64728 return i32(0) 64729 } 64730 return func() int32 { 64731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80675), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67468))) 64732 crt.X__builtin_abort(tls) 64733 return i32(0) 64734 }() 64735 }() 64736 if (_176_pC.X11) == (_p.X8) { 64737 goto _701 64738 } 64739 64740 if (_176_pC.X2) == 0 { 64741 goto _702 64742 } 64743 64744 if int32(_176_pC.X0) != i32(3) { 64745 goto _703 64746 } 64747 64748 func() int32 { 64749 if (*(*int32)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(36 /* X14 */)))))) > i32(0) { 64750 return i32(0) 64751 } 64752 return func() int32 { 64753 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80680), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67500))) 64754 crt.X__builtin_abort(tls) 64755 return i32(0) 64756 }() 64757 }() 64758 _176_pReg = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(*(*int32)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(36 /* X14 */)))))))) 64759 func() int32 { 64760 if (int32(_176_pReg.X1) & i32(16)) != 0 { 64761 return i32(0) 64762 } 64763 return func() int32 { 64764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80682), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67524))) 64765 crt.X__builtin_abort(tls) 64766 return i32(0) 64767 }() 64768 }() 64769 func() int32 { 64770 if (int32(_176_pReg.X1) & i32(128)) == i32(0) { 64771 return i32(0) 64772 } 64773 return func() int32 { 64774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80683), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67548))) 64775 crt.X__builtin_abort(tls) 64776 return i32(0) 64777 }() 64778 }() 64779 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(72 /* X23 */))) = store985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(76 /* X24 */))), store985(&_176_avail, uint32(_176_pReg.X4))) 64780 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(68 /* X22 */))) = (*uint8)(unsafe.Pointer(_176_pReg.X5)) 64781 goto _710 64782 64783 _703: 64784 _sqlite3VdbeMemSetNull(tls, _176_pDest) 64785 goto _op_column_out 64786 64787 _710: 64788 goto _711 64789 64790 _702: 64791 _176_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(36 /* X14 */))))))) 64792 func() int32 { 64793 if int32(_176_pC.X0) == i32(0) { 64794 return i32(0) 64795 } 64796 return func() int32 { 64797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80692), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 64798 crt.X__builtin_abort(tls) 64799 return i32(0) 64800 }() 64801 }() 64802 func() int32 { 64803 if _176_pCrsr != nil { 64804 return i32(0) 64805 } 64806 return func() int32 { 64807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80693), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67596))) 64808 crt.X__builtin_abort(tls) 64809 return i32(0) 64810 }() 64811 }() 64812 func() int32 { 64813 if _sqlite3BtreeCursorIsValid(tls, _176_pCrsr) != 0 { 64814 return i32(0) 64815 } 64816 return func() int32 { 64817 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80694), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67604))) 64818 crt.X__builtin_abort(tls) 64819 return i32(0) 64820 }() 64821 }() 64822 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(72 /* X23 */))) = _sqlite3BtreePayloadSize(tls, _176_pCrsr) 64823 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(68 /* X22 */))) = (*uint8)(unsafe.Pointer(_sqlite3BtreePayloadFetch(tls, _176_pCrsr, &_176_avail))) 64824 func() int32 { 64825 if _176_avail <= uint32(i32(65536)) { 64826 return i32(0) 64827 } 64828 return func() int32 { 64829 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80697), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67640))) 64830 crt.X__builtin_abort(tls) 64831 return i32(0) 64832 }() 64833 }() 64834 if (_176_pC.X23) > _176_avail { 64835 goto _720 64836 } 64837 64838 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(76 /* X24 */))) = _176_pC.X23 64839 goto _721 64840 64841 _720: 64842 if (_176_pC.X23) <= uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 64843 goto _722 64844 } 64845 64846 goto _too_big 64847 64848 _722: 64849 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(76 /* X24 */))) = _176_avail 64850 _721: 64851 _711: 64852 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(24 /* X11 */))) = _p.X8 64853 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(44 /* X16 */))) = uint32(uint8(func() int32 { 64854 if int32(*(_176_pC.X22)) < int32(u8(128)) { 64855 return func() int32 { _176_offset = uint32(*(_176_pC.X22)); return i32(1) }() 64856 } 64857 return int32(_sqlite3GetVarint32(tls, _176_pC.X22, &_176_offset)) 64858 }())) 64859 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(54 /* X19 */))) = uint16(i32(0)) 64860 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0)))) = _176_offset 64861 if _176_avail >= _176_offset { 64862 goto _726 64863 } 64864 64865 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(68 /* X22 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 64866 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(76 /* X24 */))) = uint32(i32(0)) 64867 if _176_offset <= uint32(i32(98307)) && _176_offset <= (_176_pC.X23) { 64868 goto _728 64869 } 64870 64871 _rc = _sqlite3CorruptError(tls, i32(80730)) 64872 goto _abort_due_to_error 64873 64874 _728: 64875 goto _729 64876 64877 _726: 64878 if _176_offset <= uint32(i32(0)) { 64879 goto _730 64880 } 64881 64882 _176_zData = _176_pC.X22 64883 func() int32 { 64884 if int32(_176_pC.X19) <= _176_p2 { 64885 return i32(0) 64886 } 64887 return func() int32 { 64888 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80739), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67656))) 64889 crt.X__builtin_abort(tls) 64890 return i32(0) 64891 }() 64892 }() 64893 goto _op_column_read_header 64894 64895 _730: 64896 _729: 64897 _701: 64898 if int32(_176_pC.X19) > _176_p2 { 64899 goto _733 64900 } 64901 64902 if (_176_pC.X16) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0))))) { 64903 goto _734 64904 } 64905 64906 if (_176_pC.X22) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 64907 goto _735 64908 } 64909 64910 crt.Xmemset(tls, (unsafe.Pointer)(&_176_sMem), i32(0), u32(48)) 64911 _rc = _sqlite3VdbeMemFromBtree(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(36 /* X14 */))))))), uint32(i32(0)), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0)))), &_176_sMem) 64912 if _rc == i32(0) { 64913 goto _736 64914 } 64915 64916 goto _abort_due_to_error 64917 64918 _736: 64919 _176_zData = (*uint8)(unsafe.Pointer(_176_sMem.X5)) 64920 goto _737 64921 64922 _735: 64923 _176_zData = _176_pC.X22 64924 _737: 64925 _op_column_read_header: 64926 _176_i = int32(_176_pC.X19) 64927 _176_offset64 = uint64(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_i)))) 64928 _176_zHdr = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_176_zData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_176_pC.X16))))))) 64929 _176_zEndHdr = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_176_zData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(i32(0))))))))))) 64930 _738: 64931 if store985(&_176_t, uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_zHdr)) + 1*uintptr(i32(0)))))) >= uint32(i32(128)) { 64932 goto _739 64933 } 64934 64935 *(*uintptr)(unsafe.Pointer(&_176_zHdr)) += uintptr(1) 64936 { 64937 p := &_176_offset64 64938 *p = (*p) + uint64(_sqlite3VdbeOneByteSerialTypeLen(tls, uint8(_176_t))) 64939 sink992 = *p 64940 } 64941 goto _740 64942 64943 _739: 64944 { 64945 p := &_176_zHdr 64946 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3GetVarint32(tls, _176_zHdr, &_176_t)))) 64947 sink6921 = *p 64948 } 64949 { 64950 p := &_176_offset64 64951 *p = (*p) + uint64(_sqlite3VdbeSerialTypeLen(tls, _176_t)) 64952 sink992 = *p 64953 } 64954 _740: 64955 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(80 /* X25 */))))) + 4*uintptr(postInc961(&_176_i, int32(1))))) = _176_t 64956 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_i))) = uint32(_176_offset64 & uint64(u32(4294967295))) 64957 if (_176_i <= _176_p2) && (uintptr(unsafe.Pointer(_176_zHdr)) < uintptr(unsafe.Pointer(_176_zEndHdr))) { 64958 goto _738 64959 } 64960 64961 if (uintptr(unsafe.Pointer(_176_zHdr)) < uintptr(unsafe.Pointer(_176_zEndHdr)) || uintptr(unsafe.Pointer(_176_zHdr)) <= uintptr(unsafe.Pointer(_176_zEndHdr)) && _176_offset64 == uint64(_176_pC.X23)) && _176_offset64 <= uint64(_176_pC.X23) { 64962 goto _745 64963 } 64964 64965 if (_176_pC.X22) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 64966 goto _746 64967 } 64968 64969 _sqlite3VdbeMemRelease(tls, &_176_sMem) 64970 _746: 64971 _rc = _sqlite3CorruptError(tls, i32(80789)) 64972 goto _abort_due_to_error 64973 64974 _745: 64975 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(54 /* X19 */))) = uint16(_176_i) 64976 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(44 /* X16 */))) = uint32(int32((uintptr(unsafe.Pointer(_176_zHdr)) - uintptr(unsafe.Pointer(_176_zData))) / 1)) 64977 if (_176_pC.X22) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 64978 goto _747 64979 } 64980 64981 _sqlite3VdbeMemRelease(tls, &_176_sMem) 64982 _747: 64983 goto _748 64984 64985 _734: 64986 _176_t = uint32(i32(0)) 64987 _748: 64988 if int32(_176_pC.X19) > _176_p2 { 64989 goto _749 64990 } 64991 64992 if int32(_pOp.X1) != i32(-7) { 64993 goto _750 64994 } 64995 64996 _sqlite3VdbeMemShallowCopy(tls, _176_pDest, (*XMem)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))), i32(2048)) 64997 goto _751 64998 64999 _750: 65000 _sqlite3VdbeMemSetNull(tls, _176_pDest) 65001 _751: 65002 goto _op_column_out 65003 65004 _749: 65005 goto _752 65006 65007 _733: 65008 _176_t = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(80 /* X25 */))))) + 4*uintptr(_176_p2))) 65009 _752: 65010 func() int32 { 65011 if _176_p2 < int32(_176_pC.X19) { 65012 return i32(0) 65013 } 65014 return func() int32 { 65015 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80820), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67676))) 65016 crt.X__builtin_abort(tls) 65017 return i32(0) 65018 }() 65019 }() 65020 func() int32 { 65021 if _rc == i32(0) { 65022 return i32(0) 65023 } 65024 return func() int32 { 65025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80821), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(15360))) 65026 crt.X__builtin_abort(tls) 65027 return i32(0) 65028 }() 65029 }() 65030 func() int32 { 65031 if _sqlite3VdbeCheckMemInvariants(tls, _176_pDest) != 0 { 65032 return i32(0) 65033 } 65034 return func() int32 { 65035 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80822), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67696))) 65036 crt.X__builtin_abort(tls) 65037 return i32(0) 65038 }() 65039 }() 65040 if (int32(_176_pDest.X1) & i32(9312)) == i32(0) { 65041 goto _759 65042 } 65043 65044 _sqlite3VdbeMemSetNull(tls, _176_pDest) 65045 _759: 65046 func() int32 { 65047 if _176_t == (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC))+uintptr(80 /* X25 */))))) + 4*uintptr(_176_p2)))) { 65048 return i32(0) 65049 } 65050 return func() int32 { 65051 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80826), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67736))) 65052 crt.X__builtin_abort(tls) 65053 return i32(0) 65054 }() 65055 }() 65056 if (_176_pC.X24) < (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_p2+i32(1))))) { 65057 goto _762 65058 } 65059 65060 _176_zData = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_176_pC.X22)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_p2)))))))))) 65061 if _176_t >= uint32(i32(12)) { 65062 goto _763 65063 } 65064 65065 _sqlite3VdbeSerialGet(tls, _176_zData, _176_t, _176_pDest) 65066 goto _764 65067 65068 _763: 65069 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(12 /* X4 */))) = store961(&_176_len, int32((_176_t-uint32(i32(12)))/uint32(i32(2)))) 65070 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(10 /* X2 */))) = _encoding 65071 if (_176_pDest.X7) >= (_176_len + i32(2)) { 65072 goto _765 65073 } 65074 65075 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 65076 if _sqlite3VdbeMemGrow(tls, _176_pDest, _176_len+i32(2), i32(0)) == 0 { 65077 goto _766 65078 } 65079 65080 goto _no_mem 65081 65082 _766: 65083 goto _767 65084 65085 _765: 65086 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(16 /* X5 */))) = _176_pDest.X6 65087 _767: 65088 crt.Xmemcpy(tls, (unsafe.Pointer)(_176_pDest.X5), (unsafe.Pointer)(_176_zData), uint32(_176_len)) 65089 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest.X5)) + 1*uintptr(_176_len))) = int8(i32(0)) 65090 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest.X5)) + 1*uintptr(_176_len+i32(1)))) = int8(i32(0)) 65091 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(8 /* X1 */))) = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeExecØ00aFlagØ004)) + 2*uintptr(_176_t&uint32(i32(1))))) 65092 _764: 65093 goto _768 65094 65095 _762: 65096 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(10 /* X2 */))) = _encoding 65097 if ((int32(_pOp.X2)&i32(192)) == i32(0) || (_176_t < uint32(i32(12)) || (_176_t&uint32(i32(1))) != uint32(i32(0))) && (int32(_pOp.X2)&i32(128)) == i32(0)) && store961(&_176_len, int32(_sqlite3VdbeSerialTypeLen(tls, _176_t))) != i32(0) { 65098 goto _773 65099 } 65100 65101 _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(&_sqlite3VdbeExecØ00aZeroØ005)), _176_t, _176_pDest) 65102 goto _774 65103 65104 _773: 65105 _rc = _sqlite3VdbeMemFromBtree(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pC)) + uintptr(36 /* X14 */))))))), *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_aOffset)) + 4*uintptr(_176_p2))), uint32(_176_len), _176_pDest) 65106 if _rc == i32(0) { 65107 goto _775 65108 } 65109 65110 goto _abort_due_to_error 65111 65112 _775: 65113 _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(_176_pDest.X5)), _176_t, _176_pDest) 65114 { 65115 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_176_pDest)) + uintptr(8 /* X1 */))) 65116 *p = uint16(int32(*p) & i32(-4097)) 65117 sink6908 = *p 65118 } 65119 _774: 65120 _768: 65121 _op_column_out: 65122 if ((_db.X6) & i32(1)) == 0 { 65123 goto _776 65124 } 65125 65126 _registerTrace(tls, _pOp.X5, _176_pDest) 65127 _776: 65128 goto _248 65129 65130 _140: 65131 _210_zAffinity = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 65132 func() int32 { 65133 if _210_zAffinity != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 65134 return i32(0) 65135 } 65136 return func() int32 { 65137 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80900), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67756))) 65138 crt.X__builtin_abort(tls) 65139 return i32(0) 65140 }() 65141 }() 65142 func() int32 { 65143 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_210_zAffinity)) + 1*uintptr(_pOp.X4)))) == i32(0) { 65144 return i32(0) 65145 } 65146 return func() int32 { 65147 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80901), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67772))) 65148 crt.X__builtin_abort(tls) 65149 return i32(0) 65150 }() 65151 }() 65152 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 65153 _781: 65154 if int32(store973(&_210_cAff, *postInc1025(&_210_zAffinity, 1))) == i32(0) { 65155 goto _782 65156 } 65157 65158 func() int32 { 65159 if uintptr(unsafe.Pointer(_pIn1)) <= uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(_p.X18)+48*uintptr(((_p.X6)+i32(1))-(_p.X7)))))) { 65160 return i32(0) 65161 } 65162 return func() int32 { 65163 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80904), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67796))) 65164 crt.X__builtin_abort(tls) 65165 return i32(0) 65166 }() 65167 }() 65168 func() int32 { 65169 if (int32(_pIn1.X1) & i32(128)) == i32(0) { 65170 return i32(0) 65171 } 65172 return func() int32 { 65173 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80905), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65796))) 65174 crt.X__builtin_abort(tls) 65175 return i32(0) 65176 }() 65177 }() 65178 _applyAffinity(tls, _pIn1, _210_cAff, _encoding) 65179 *(*uintptr)(unsafe.Pointer(&_pIn1)) += uintptr(48) 65180 goto _781 65181 65182 _782: 65183 goto _248 65184 65185 _141: 65186 _212_nData = uint64(i32(0)) 65187 _212_nHdr = i32(0) 65188 _212_nZero = int64(i32(0)) 65189 _212_nField = _pOp.X3 65190 _212_zAffinity = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 65191 func() int32 { 65192 if ((_212_nField > i32(0)) && ((_pOp.X4) > i32(0))) && (((_pOp.X4) + _212_nField) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { 65193 return i32(0) 65194 } 65195 return func() int32 { 65196 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80966), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67840))) 65197 crt.X__builtin_abort(tls) 65198 return i32(0) 65199 }() 65200 }() 65201 _212_pData0 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_212_nField))) 65202 _212_nField = _pOp.X4 65203 _212_pLast = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pData0)) + 48*uintptr(_212_nField-i32(1)))) 65204 _212_file_format = int32(_p.X31) 65205 func() int32 { 65206 if ((_pOp.X5) < (_pOp.X3)) || ((_pOp.X5) >= ((_pOp.X3) + (_pOp.X4))) { 65207 return i32(0) 65208 } 65209 return func() int32 { 65210 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80973), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67908))) 65211 crt.X__builtin_abort(tls) 65212 return i32(0) 65213 }() 65214 }() 65215 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 65216 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 65217 func() int32 { 65218 if uintptr(unsafe.Pointer(_212_pData0)) <= uintptr(unsafe.Pointer(_212_pLast)) { 65219 return i32(0) 65220 } 65221 return func() int32 { 65222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80979), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67952))) 65223 crt.X__builtin_abort(tls) 65224 return i32(0) 65225 }() 65226 }() 65227 if _212_zAffinity == nil { 65228 goto _796 65229 } 65230 65231 _212_pRec = _212_pData0 65232 _797: 65233 _applyAffinity(tls, postInc7779437(&_212_pRec, 48), *postInc1025(&_212_zAffinity, 1), _encoding) 65234 func() int32 { 65235 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zAffinity)) + 1*uintptr(i32(0))))) == i32(0)) || (uintptr(unsafe.Pointer(_212_pRec)) <= uintptr(unsafe.Pointer(_212_pLast))) { 65236 return i32(0) 65237 } 65238 return func() int32 { 65239 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(80984), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67968))) 65240 crt.X__builtin_abort(tls) 65241 return i32(0) 65242 }() 65243 }() 65244 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zAffinity)) + 1*uintptr(i32(0))))) != 0 { 65245 goto _797 65246 } 65247 65248 _796: 65249 _212_pRec = _212_pLast 65250 _801: 65251 func() int32 { 65252 if (int32(_212_pRec.X1) & i32(128)) == i32(0) { 65253 return i32(0) 65254 } 65255 return func() int32 { 65256 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81007), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68000))) 65257 crt.X__builtin_abort(tls) 65258 return i32(0) 65259 }() 65260 }() 65261 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pRec)) + uintptr(28 /* X8 */))) = store985(&_212_serial_type, _sqlite3VdbeSerialType(tls, _212_pRec, _212_file_format, &_212_len)) 65262 if (int32(_212_pRec.X1) & i32(16384)) == 0 { 65263 goto _804 65264 } 65265 65266 if _212_nData == 0 { 65267 goto _805 65268 } 65269 65270 if _sqlite3VdbeMemExpandBlob(tls, _212_pRec) == 0 { 65271 goto _806 65272 } 65273 65274 goto _no_mem 65275 65276 _806: 65277 goto _807 65278 65279 _805: 65280 { 65281 p := &_212_nZero 65282 *p = (*p) + int64(*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pRec)) + uintptr(0 /* X0 */)))))) 65283 sink967 = *p 65284 } 65285 { 65286 p := &_212_len 65287 *p = (*p) - uint32(*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_pRec)) + uintptr(0 /* X0 */)))))) 65288 sink985 = *p 65289 } 65290 _807: 65291 _804: 65292 { 65293 p := &_212_nData 65294 *p = (*p) + uint64(_212_len) 65295 sink992 = *p 65296 } 65297 { 65298 p := &_212_nHdr 65299 *p = (*p) + func() int32 { 65300 if _212_serial_type <= uint32(i32(127)) { 65301 return i32(1) 65302 } 65303 return _sqlite3VarintLen(tls, uint64(_212_serial_type)) 65304 }() 65305 sink961 = *p 65306 } 65307 if _212_pRec != _212_pData0 { 65308 goto _810 65309 } 65310 65311 goto _811 65312 65313 _810: 65314 *(*uintptr)(unsafe.Pointer(&_212_pRec)) += uintptr(4294967248) 65315 goto _801 65316 65317 _811: 65318 if _212_nHdr > i32(126) { 65319 goto _812 65320 } 65321 65322 { 65323 p := &_212_nHdr 65324 *p = (*p) + i32(1) 65325 sink961 = *p 65326 } 65327 goto _813 65328 65329 _812: 65330 _212_nVarint = _sqlite3VarintLen(tls, uint64(_212_nHdr)) 65331 { 65332 p := &_212_nHdr 65333 *p = (*p) + _212_nVarint 65334 sink961 = *p 65335 } 65336 if _212_nVarint >= _sqlite3VarintLen(tls, uint64(_212_nHdr)) { 65337 goto _814 65338 } 65339 65340 _212_nHdr += 1 65341 _814: 65342 _813: 65343 _212_nByte = int64(uint64(_212_nHdr) + _212_nData) 65344 if (_212_nByte + _212_nZero) <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 65345 goto _815 65346 } 65347 65348 goto _too_big 65349 65350 _815: 65351 if _sqlite3VdbeMemClearAndResize(tls, _pOut, int32(_212_nByte)) == 0 { 65352 goto _816 65353 } 65354 65355 goto _no_mem 65356 65357 _816: 65358 _212_zNewRecord = (*uint8)(unsafe.Pointer(_pOut.X5)) 65359 _212_i = int32(uint8(func() int32 { 65360 if uint32(_212_nHdr) < u32(128) { 65361 return func() int32 { *_212_zNewRecord = uint8(_212_nHdr); return i32(1) }() 65362 } 65363 return _sqlite3PutVarint(tls, _212_zNewRecord, uint64(_212_nHdr)) 65364 }())) 65365 _212_j = _212_nHdr 65366 func() int32 { 65367 if uintptr(unsafe.Pointer(_212_pData0)) <= uintptr(unsafe.Pointer(_212_pLast)) { 65368 return i32(0) 65369 } 65370 return func() int32 { 65371 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81058), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67952))) 65372 crt.X__builtin_abort(tls) 65373 return i32(0) 65374 }() 65375 }() 65376 _212_pRec = _212_pData0 65377 _821: 65378 _212_serial_type = _212_pRec.X8 65379 { 65380 p := &_212_i 65381 *p = (*p) + int32(uint8(func() int32 { 65382 if _212_serial_type < u32(128) { 65383 return func() int32 { 65384 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zNewRecord)) + 1*uintptr(_212_i))) = uint8(_212_serial_type) 65385 return i32(1) 65386 }() 65387 } 65388 return _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zNewRecord))+1*uintptr(_212_i))), uint64(_212_serial_type)) 65389 }())) 65390 sink961 = *p 65391 } 65392 { 65393 p := &_212_j 65394 *p = int32(uint32(*p) + _sqlite3VdbeSerialPut(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_212_zNewRecord))+1*uintptr(_212_j))), _212_pRec, _212_serial_type)) 65395 sink961 = *p 65396 } 65397 if uintptr(unsafe.Pointer(preInc7779437(&_212_pRec, 48))) <= uintptr(unsafe.Pointer(_212_pLast)) { 65398 goto _821 65399 } 65400 65401 func() int32 { 65402 if _212_i == _212_nHdr { 65403 return i32(0) 65404 } 65405 return func() int32 { 65406 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81069), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68020))) 65407 crt.X__builtin_abort(tls) 65408 return i32(0) 65409 }() 65410 }() 65411 func() int32 { 65412 if int64(_212_j) == _212_nByte { 65413 return i32(0) 65414 } 65415 return func() int32 { 65416 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81070), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68028))) 65417 crt.X__builtin_abort(tls) 65418 return i32(0) 65419 }() 65420 }() 65421 func() int32 { 65422 if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { 65423 return i32(0) 65424 } 65425 return func() int32 { 65426 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81072), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66180))) 65427 crt.X__builtin_abort(tls) 65428 return i32(0) 65429 }() 65430 }() 65431 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = int32(_212_nByte) 65432 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(16)) 65433 if _212_nZero == 0 { 65434 goto _831 65435 } 65436 65437 *(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int32(_212_nZero) 65438 { 65439 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) 65440 *p = uint16(int32(*p) | i32(16384)) 65441 sink6908 = *p 65442 } 65443 _831: 65444 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 65445 if ((_db.X6) & i32(1)) == 0 { 65446 goto _832 65447 } 65448 65449 _registerTrace(tls, _pOp.X5, _pOut) 65450 _832: 65451 goto _248 65452 65453 _142: 65454 func() int32 { 65455 if int32((*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3)))).X0) == i32(0) { 65456 return i32(0) 65457 } 65458 return func() int32 { 65459 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81096), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68040))) 65460 crt.X__builtin_abort(tls) 65461 return i32(0) 65462 }() 65463 }() 65464 _225_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))))) + uintptr(36 /* X14 */))))))) 65465 func() int32 { 65466 if _225_pCrsr != nil { 65467 return i32(0) 65468 } 65469 return func() int32 { 65470 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81098), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67596))) 65471 crt.X__builtin_abort(tls) 65472 return i32(0) 65473 }() 65474 }() 65475 _225_nEntry = int64(i32(0)) 65476 _rc = _sqlite3BtreeCount(tls, _225_pCrsr, &_225_nEntry) 65477 if _rc == 0 { 65478 goto _837 65479 } 65480 65481 goto _abort_due_to_error 65482 65483 _837: 65484 _pOut = _out2Prerelease(tls, _p, _pOp) 65485 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _225_nEntry 65486 goto _248 65487 65488 _143: 65489 _226_p1 = _pOp.X3 65490 _226_zName = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 65491 func() int32 { 65492 if ((*XSavepoint)(unsafe.Pointer(_db.X73)) == (*XSavepoint)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_db.X15) == i32(0)) { 65493 return i32(0) 65494 } 65495 return func() int32 { 65496 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81130), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68084))) 65497 crt.X__builtin_abort(tls) 65498 return i32(0) 65499 }() 65500 }() 65501 func() int32 { 65502 if ((_226_p1 == i32(0)) || (_226_p1 == i32(1))) || (_226_p1 == i32(2)) { 65503 return i32(0) 65504 } 65505 return func() int32 { 65506 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81131), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68124))) 65507 crt.X__builtin_abort(tls) 65508 return i32(0) 65509 }() 65510 }() 65511 func() int32 { 65512 if ((*XSavepoint)(unsafe.Pointer(_db.X73)) != nil) || (int32(_db.X23) == i32(0)) { 65513 return i32(0) 65514 } 65515 return func() int32 { 65516 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81132), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68192))) 65517 crt.X__builtin_abort(tls) 65518 return i32(0) 65519 }() 65520 }() 65521 func() int32 { 65522 if _checkSavepointCount(tls, _db) != 0 { 65523 return i32(0) 65524 } 65525 return func() int32 { 65526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81133), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68240))) 65527 crt.X__builtin_abort(tls) 65528 return i32(0) 65529 }() 65530 }() 65531 func() int32 { 65532 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 65533 return i32(0) 65534 } 65535 return func() int32 { 65536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81134), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 65537 crt.X__builtin_abort(tls) 65538 return i32(0) 65539 }() 65540 }() 65541 if _226_p1 != i32(0) { 65542 goto _852 65543 } 65544 65545 if (_db.X36) <= i32(0) { 65546 goto _853 65547 } 65548 65549 _sqlite3VdbeError(tls, _p, str(68280)) 65550 _rc = i32(5) 65551 goto _854 65552 65553 _853: 65554 _226_nName = _sqlite3Strlen30(tls, _226_zName) 65555 func() int32 { 65556 if (int32(_db.X15) == i32(0)) || ((_db.X64) == i32(0)) { 65557 return i32(0) 65558 } 65559 return func() int32 { 65560 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81151), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68332))) 65561 crt.X__builtin_abort(tls) 65562 return i32(0) 65563 }() 65564 }() 65565 _rc = _sqlite3VtabSavepoint(tls, _db, i32(0), (_db.X76)+(_db.X75)) 65566 if _rc == i32(0) { 65567 goto _858 65568 } 65569 65570 goto _abort_due_to_error 65571 65572 _858: 65573 _226_pNew = (*XSavepoint)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64((u32(24)+uint32(_226_nName))+uint32(i32(1)))))) 65574 if _226_pNew == nil { 65575 goto _859 65576 } 65577 65578 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer((*XSavepoint)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + 24*uintptr(i32(1)))))) 65579 crt.Xmemcpy(tls, (unsafe.Pointer)(_226_pNew.X0), (unsafe.Pointer)(_226_zName), uint32(_226_nName+i32(1))) 65580 if (_db.X15) == 0 { 65581 goto _860 65582 } 65583 65584 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(0)) 65585 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(71 /* X23 */))) = uint8(i32(1)) 65586 goto _861 65587 65588 _860: 65589 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(428 /* X75 */))) += 1 65590 _861: 65591 *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(20 /* X3 */))))) = (*XSavepoint)(unsafe.Pointer(_db.X73)) 65592 *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(420 /* X73 */))))) = _226_pNew 65593 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(4 /* X1 */))) = _db.X77 65594 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_226_pNew)) + uintptr(12 /* X2 */))) = _db.X78 65595 _859: 65596 _854: 65597 goto _862 65598 65599 _852: 65600 _226_iSavepoint = i32(0) 65601 _226_pSavepoint = (*XSavepoint)(unsafe.Pointer(_db.X73)) 65602 _863: 65603 if _226_pSavepoint == nil || _sqlite3StrICmp(tls, _226_pSavepoint.X0, _226_zName) == 0 { 65604 goto _867 65605 } 65606 65607 _226_iSavepoint += 1 65608 _226_pSavepoint = (*XSavepoint)(unsafe.Pointer(_226_pSavepoint.X3)) 65609 goto _863 65610 65611 _867: 65612 if _226_pSavepoint != nil { 65613 goto _868 65614 } 65615 65616 _sqlite3VdbeError(tls, _p, str(68368), unsafe.Pointer(_226_zName)) 65617 _rc = i32(1) 65618 goto _869 65619 65620 _868: 65621 if (_db.X36) <= i32(0) || _226_p1 != i32(1) { 65622 goto _871 65623 } 65624 65625 _sqlite3VdbeError(tls, _p, str(68392)) 65626 _rc = i32(5) 65627 goto _872 65628 65629 _871: 65630 _237_isTransaction = bool2int(((*XSavepoint)(unsafe.Pointer(_226_pSavepoint.X3)) == (*XSavepoint)(unsafe.Pointer(uintptr(i32(0))))) && ((_db.X23) != 0)) 65631 if _237_isTransaction == 0 || _226_p1 != i32(1) { 65632 goto _875 65633 } 65634 65635 if store961(&_rc, _sqlite3VdbeCheckFk(tls, _p, i32(1))) == i32(0) { 65636 goto _876 65637 } 65638 65639 goto _vdbe_return 65640 65641 _876: 65642 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 65643 if _sqlite3VdbeHalt(tls, _p) != i32(5) { 65644 goto _877 65645 } 65646 65647 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 65648 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(0)) 65649 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = store961(&_rc, i32(5)) 65650 goto _vdbe_return 65651 65652 _877: 65653 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(71 /* X23 */))) = uint8(i32(0)) 65654 _rc = _p.X10 65655 goto _878 65656 65657 _875: 65658 _226_iSavepoint = ((_db.X75) - _226_iSavepoint) - i32(1) 65659 if _226_p1 != i32(2) { 65660 goto _879 65661 } 65662 65663 _241_isSchemaChange = bool2int(((_db.X6) & i32(2)) != i32(0)) 65664 _226_ii = i32(0) 65665 _880: 65666 if _226_ii >= (_db.X5) { 65667 goto _883 65668 } 65669 65670 _rc = _sqlite3BtreeTripAllCursors(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_226_ii))).X1)), i32(516), bool2int(_241_isSchemaChange == i32(0))) 65671 if _rc == i32(0) { 65672 goto _884 65673 } 65674 65675 goto _abort_due_to_error 65676 65677 _884: 65678 _226_ii += 1 65679 goto _880 65680 65681 _883: 65682 goto _885 65683 65684 _879: 65685 _241_isSchemaChange = i32(0) 65686 _885: 65687 _226_ii = i32(0) 65688 _886: 65689 if _226_ii >= (_db.X5) { 65690 goto _889 65691 } 65692 65693 _rc = _sqlite3BtreeSavepoint(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_226_ii))).X1)), _226_p1, _226_iSavepoint) 65694 if _rc == i32(0) { 65695 goto _890 65696 } 65697 65698 goto _abort_due_to_error 65699 65700 _890: 65701 _226_ii += 1 65702 goto _886 65703 65704 _889: 65705 if _241_isSchemaChange == 0 { 65706 goto _891 65707 } 65708 65709 _sqlite3ExpirePreparedStatements(tls, _db) 65710 _sqlite3ResetAllSchemasOfConnection(tls, _db) 65711 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) = (_db.X6) | i32(2) 65712 _891: 65713 _878: 65714 _892: 65715 if (*XSavepoint)(unsafe.Pointer(_db.X73)) == _226_pSavepoint { 65716 goto _893 65717 } 65718 65719 _226_pTmp = (*XSavepoint)(unsafe.Pointer(_db.X73)) 65720 *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(420 /* X73 */))))) = (*XSavepoint)(unsafe.Pointer(_226_pTmp.X3)) 65721 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_226_pTmp)) 65722 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(428 /* X75 */))) -= 1 65723 goto _892 65724 65725 _893: 65726 if _226_p1 != i32(1) { 65727 goto _894 65728 } 65729 65730 func() int32 { 65731 if _226_pSavepoint == (*XSavepoint)(unsafe.Pointer(_db.X73)) { 65732 return i32(0) 65733 } 65734 return func() int32 { 65735 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81262), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68448))) 65736 crt.X__builtin_abort(tls) 65737 return i32(0) 65738 }() 65739 }() 65740 *(**XSavepoint)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(420 /* X73 */))))) = (*XSavepoint)(unsafe.Pointer(_226_pSavepoint.X3)) 65741 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_226_pSavepoint)) 65742 if _237_isTransaction != 0 { 65743 goto _897 65744 } 65745 65746 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(428 /* X75 */))) -= 1 65747 _897: 65748 goto _898 65749 65750 _894: 65751 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(436 /* X77 */))) = _226_pSavepoint.X1 65752 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(444 /* X78 */))) = _226_pSavepoint.X2 65753 _898: 65754 if _237_isTransaction != 0 && _226_p1 != i32(2) { 65755 goto _900 65756 } 65757 65758 _rc = _sqlite3VtabSavepoint(tls, _db, _226_p1, _226_iSavepoint) 65759 if _rc == i32(0) { 65760 goto _901 65761 } 65762 65763 goto _abort_due_to_error 65764 65765 _901: 65766 _900: 65767 _872: 65768 _869: 65769 _862: 65770 if _rc == 0 { 65771 goto _902 65772 } 65773 65774 goto _abort_due_to_error 65775 65776 _902: 65777 goto _248 65778 65779 _144: 65780 _253_desiredAutoCommit = _pOp.X3 65781 _253_iRollback = _pOp.X4 65782 func() int32 { 65783 if (_253_desiredAutoCommit == i32(1)) || (_253_desiredAutoCommit == i32(0)) { 65784 return i32(0) 65785 } 65786 return func() int32 { 65787 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81299), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68476))) 65788 crt.X__builtin_abort(tls) 65789 return i32(0) 65790 }() 65791 }() 65792 func() int32 { 65793 if (_253_desiredAutoCommit == i32(1)) || (_253_iRollback == i32(0)) { 65794 return i32(0) 65795 } 65796 return func() int32 { 65797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81300), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68524))) 65798 crt.X__builtin_abort(tls) 65799 return i32(0) 65800 }() 65801 }() 65802 func() int32 { 65803 if (_db.X34) > i32(0) { 65804 return i32(0) 65805 } 65806 return func() int32 { 65807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81301), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68564))) 65808 crt.X__builtin_abort(tls) 65809 return i32(0) 65810 }() 65811 }() 65812 func() int32 { 65813 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 65814 return i32(0) 65815 } 65816 return func() int32 { 65817 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81302), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 65818 crt.X__builtin_abort(tls) 65819 return i32(0) 65820 }() 65821 }() 65822 if _253_desiredAutoCommit == int32(_db.X15) { 65823 goto _913 65824 } 65825 65826 if _253_iRollback == 0 { 65827 goto _914 65828 } 65829 65830 func() int32 { 65831 if _253_desiredAutoCommit == i32(1) { 65832 return i32(0) 65833 } 65834 return func() int32 { 65835 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81306), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68584))) 65836 crt.X__builtin_abort(tls) 65837 return i32(0) 65838 }() 65839 }() 65840 _sqlite3RollbackAll(tls, _db, i32(516)) 65841 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 65842 goto _917 65843 65844 _914: 65845 if _253_desiredAutoCommit == 0 || (_db.X36) <= i32(0) { 65846 goto _919 65847 } 65848 65849 _sqlite3VdbeError(tls, _p, str(68608)) 65850 _rc = i32(5) 65851 goto _abort_due_to_error 65852 65853 _919: 65854 if store961(&_rc, _sqlite3VdbeCheckFk(tls, _p, i32(1))) == i32(0) { 65855 goto _921 65856 } 65857 65858 goto _vdbe_return 65859 65860 _921: 65861 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(_253_desiredAutoCommit) 65862 _917: 65863 if _sqlite3VdbeHalt(tls, _p) != i32(5) { 65864 goto _923 65865 } 65866 65867 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 65868 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1) - _253_desiredAutoCommit) 65869 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = store961(&_rc, i32(5)) 65870 goto _vdbe_return 65871 65872 _923: 65873 func() int32 { 65874 if (_db.X76) == i32(0) { 65875 return i32(0) 65876 } 65877 return func() int32 { 65878 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81328), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68664))) 65879 crt.X__builtin_abort(tls) 65880 return i32(0) 65881 }() 65882 }() 65883 _sqlite3CloseSavepoints(tls, _db) 65884 if (_p.X10) != i32(0) { 65885 goto _926 65886 } 65887 65888 _rc = i32(101) 65889 goto _927 65890 65891 _926: 65892 _rc = i32(1) 65893 _927: 65894 goto _vdbe_return 65895 65896 _913: 65897 _sqlite3VdbeError(tls, _p, func() *int8 { 65898 if _253_desiredAutoCommit == 0 { 65899 return str(68684) 65900 } 65901 return func() *int8 { 65902 if _253_iRollback != 0 { 65903 return str(68732) 65904 } 65905 return str(68776) 65906 }() 65907 }()) 65908 _rc = i32(1) 65909 goto _abort_due_to_error 65910 65911 _145: 65912 func() int32 { 65913 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 65914 return i32(0) 65915 } 65916 return func() int32 { 65917 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81387), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 65918 crt.X__builtin_abort(tls) 65919 return i32(0) 65920 }() 65921 }() 65922 func() int32 { 65923 if (int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0)) || ((_pOp.X4) == i32(0)) { 65924 return i32(0) 65925 } 65926 return func() int32 { 65927 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81388), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68820))) 65928 crt.X__builtin_abort(tls) 65929 return i32(0) 65930 }() 65931 }() 65932 func() int32 { 65933 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { 65934 return i32(0) 65935 } 65936 return func() int32 { 65937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81389), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68852))) 65938 crt.X__builtin_abort(tls) 65939 return i32(0) 65940 }() 65941 }() 65942 func() int32 { 65943 if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { 65944 return i32(0) 65945 } 65946 return func() int32 { 65947 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81390), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68884))) 65948 crt.X__builtin_abort(tls) 65949 return i32(0) 65950 }() 65951 }() 65952 if (_pOp.X4) == 0 || ((_db.X6)&i32(67108864)) == i32(0) { 65953 goto _944 65954 } 65955 65956 _rc = i32(8) 65957 goto _abort_due_to_error 65958 65959 _944: 65960 _263_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))).X1)) 65961 if _263_pBt == nil { 65962 goto _945 65963 } 65964 65965 _rc = _sqlite3BtreeBeginTrans(tls, _263_pBt, _pOp.X4) 65966 if _rc == i32(0) { 65967 goto _946 65968 } 65969 65970 if (_rc & i32(255)) != i32(5) { 65971 goto _947 65972 } 65973 65974 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 65975 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _rc 65976 goto _vdbe_return 65977 65978 _947: 65979 goto _abort_due_to_error 65980 65981 _946: 65982 if (_pOp.X4) == 0 || ((uint32((_p.X32)>>uint(i32(6)))<<uint(i32(31)))>>uint(i32(31))) == 0 || int32(_db.X15) != i32(0) && (_db.X35) <= i32(1) { 65983 goto _951 65984 } 65985 65986 func() int32 { 65987 if _sqlite3BtreeIsInTrans(tls, _263_pBt) != 0 { 65988 return i32(0) 65989 } 65990 return func() int32 { 65991 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81413), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68920))) 65992 crt.X__builtin_abort(tls) 65993 return i32(0) 65994 }() 65995 }() 65996 if (_p.X12) != i32(0) { 65997 goto _954 65998 } 65999 66000 func() int32 { 66001 if ((_db.X76) >= i32(0)) && ((_db.X75) >= i32(0)) { 66002 return i32(0) 66003 } 66004 return func() int32 { 66005 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81415), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68948))) 66006 crt.X__builtin_abort(tls) 66007 return i32(0) 66008 }() 66009 }() 66010 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(432 /* X76 */))) += 1 66011 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X12 */))) = (_db.X75) + (_db.X76) 66012 _954: 66013 _rc = _sqlite3VtabSavepoint(tls, _db, i32(0), (_p.X12)-i32(1)) 66014 if _rc != i32(0) { 66015 goto _958 66016 } 66017 66018 _rc = _sqlite3BtreeBeginStmt(tls, _263_pBt, _p.X12) 66019 _958: 66020 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))) = _db.X77 66021 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(76 /* X16 */))) = _db.X78 66022 _951: 66023 _sqlite3BtreeGetMeta(tls, _263_pBt, i32(1), (*uint32)(unsafe.Pointer(&_263_iMeta))) 66024 _263_iGen = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))).X4)).X1 66025 goto _959 66026 66027 _945: 66028 _263_iGen = store961(&_263_iMeta, i32(0)) 66029 _959: 66030 func() int32 { 66031 if (int32(_pOp.X2) == i32(0)) || (int32(_pOp.X1) == i32(-11)) { 66032 return i32(0) 66033 } 66034 return func() int32 { 66035 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81442), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68988))) 66036 crt.X__builtin_abort(tls) 66037 return i32(0) 66038 }() 66039 }() 66040 if (_pOp.X2) == 0 || _263_iMeta == (_pOp.X5) && _263_iGen == (*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) { 66041 goto _965 66042 } 66043 66044 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X22)) 66045 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) = _sqlite3DbStrDup(tls, _db, str(63040)) 66046 if ((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))).X4)).X0) == _263_iMeta { 66047 goto _966 66048 } 66049 66050 _sqlite3ResetOneSchema(tls, _db, _pOp.X3) 66051 _966: 66052 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 66053 _rc = i32(17) 66054 _965: 66055 if _rc == 0 { 66056 goto _967 66057 } 66058 66059 goto _abort_due_to_error 66060 66061 _967: 66062 goto _248 66063 66064 _146: 66065 func() int32 { 66066 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 66067 return i32(0) 66068 } 66069 return func() int32 { 66070 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81486), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 66071 crt.X__builtin_abort(tls) 66072 return i32(0) 66073 }() 66074 }() 66075 _274_iDb = _pOp.X3 66076 _274_iCookie = _pOp.X5 66077 func() int32 { 66078 if (_pOp.X5) < i32(16) { 66079 return i32(0) 66080 } 66081 return func() int32 { 66082 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81489), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69024))) 66083 crt.X__builtin_abort(tls) 66084 return i32(0) 66085 }() 66086 }() 66087 func() int32 { 66088 if (_274_iDb >= i32(0)) && (_274_iDb < (_db.X5)) { 66089 return i32(0) 66090 } 66091 return func() int32 { 66092 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81490), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(22608))) 66093 crt.X__builtin_abort(tls) 66094 return i32(0) 66095 }() 66096 }() 66097 func() int32 { 66098 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_274_iDb))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 66099 return i32(0) 66100 } 66101 return func() int32 { 66102 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81491), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69052))) 66103 crt.X__builtin_abort(tls) 66104 return i32(0) 66105 }() 66106 }() 66107 func() int32 { 66108 if ((_p.X33) & (u32(1) << uint(_274_iDb))) != uint32(i32(0)) { 66109 return i32(0) 66110 } 66111 return func() int32 { 66112 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81492), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69072))) 66113 crt.X__builtin_abort(tls) 66114 return i32(0) 66115 }() 66116 }() 66117 _sqlite3BtreeGetMeta(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_274_iDb))).X1)), _274_iCookie, (*uint32)(unsafe.Pointer(&_274_iMeta))) 66118 _pOut = _out2Prerelease(tls, _p, _pOp) 66119 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_274_iMeta) 66120 goto _248 66121 66122 _147: 66123 func() int32 { 66124 if (_pOp.X4) < i32(16) { 66125 return i32(0) 66126 } 66127 return func() int32 { 66128 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81512), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69104))) 66129 crt.X__builtin_abort(tls) 66130 return i32(0) 66131 }() 66132 }() 66133 func() int32 { 66134 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { 66135 return i32(0) 66136 } 66137 return func() int32 { 66138 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81513), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68852))) 66139 crt.X__builtin_abort(tls) 66140 return i32(0) 66141 }() 66142 }() 66143 func() int32 { 66144 if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { 66145 return i32(0) 66146 } 66147 return func() int32 { 66148 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81514), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68884))) 66149 crt.X__builtin_abort(tls) 66150 return i32(0) 66151 }() 66152 }() 66153 func() int32 { 66154 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 66155 return i32(0) 66156 } 66157 return func() int32 { 66158 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81515), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 66159 crt.X__builtin_abort(tls) 66160 return i32(0) 66161 }() 66162 }() 66163 _275_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))) 66164 func() int32 { 66165 if (*XBtree)(unsafe.Pointer(_275_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 66166 return i32(0) 66167 } 66168 return func() int32 { 66169 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81517), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69148))) 66170 crt.X__builtin_abort(tls) 66171 return i32(0) 66172 }() 66173 }() 66174 func() int32 { 66175 if _sqlite3SchemaMutexHeld(tls, _db, _pOp.X3, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 66176 return i32(0) 66177 } 66178 return func() int32 { 66179 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81518), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69160))) 66180 crt.X__builtin_abort(tls) 66181 return i32(0) 66182 }() 66183 }() 66184 _rc = _sqlite3BtreeUpdateMeta(tls, (*XBtree)(unsafe.Pointer(_275_pDb.X1)), _pOp.X4, uint32(_pOp.X5)) 66185 if (_pOp.X4) != i32(1) { 66186 goto _992 66187 } 66188 66189 *(*int32)(unsafe.Pointer(uintptr(_275_pDb.X4) + uintptr(0 /* X0 */))) = _pOp.X5 66190 { 66191 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 66192 *p = (*p) | i32(2) 66193 sink961 = *p 66194 } 66195 goto _993 66196 66197 _992: 66198 if (_pOp.X4) != i32(2) { 66199 goto _994 66200 } 66201 66202 *(*uint8)(unsafe.Pointer(uintptr(_275_pDb.X4) + uintptr(76 /* X7 */))) = uint8(_pOp.X5) 66203 _994: 66204 _993: 66205 if (_pOp.X3) != i32(1) { 66206 goto _995 66207 } 66208 66209 _sqlite3ExpirePreparedStatements(tls, _db) 66210 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 1, 0) 66211 _995: 66212 if _rc == 0 { 66213 goto _996 66214 } 66215 66216 goto _abort_due_to_error 66217 66218 _996: 66219 goto _248 66220 66221 _148: 66222 func() int32 { 66223 if (int32(_pOp.X2) == i32(0)) || (int32(_pOp.X2) == i32(2)) { 66224 return i32(0) 66225 } 66226 return func() int32 { 66227 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81614), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69200))) 66228 crt.X__builtin_abort(tls) 66229 return i32(0) 66230 }() 66231 }() 66232 func() int32 { 66233 if int32(_pOp.X1) == i32(-5) { 66234 return i32(0) 66235 } 66236 return func() int32 { 66237 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81615), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69240))) 66238 crt.X__builtin_abort(tls) 66239 return i32(0) 66240 }() 66241 }() 66242 _279_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 66243 if _279_pCur == nil || (_279_pCur.X17) != uint32(_pOp.X4) { 66244 goto _1003 66245 } 66246 66247 func() int32 { 66248 if int32(_279_pCur.X1) == (_pOp.X5) { 66249 return i32(0) 66250 } 66251 return func() int32 { 66252 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81618), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69264))) 66253 crt.X__builtin_abort(tls) 66254 return i32(0) 66255 }() 66256 }() 66257 goto _open_cursor_set_hints 66258 66259 _1003: 66260 _149: 66261 _150: 66262 func() int32 { 66263 if ((int32(_pOp.X0) == i32(106)) || (int32(_pOp.X2) == i32(0))) || (int32(_pOp.X2) == i32(2)) { 66264 return i32(0) 66265 } 66266 return func() int32 { 66267 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81626), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69284))) 66268 crt.X__builtin_abort(tls) 66269 return i32(0) 66270 }() 66271 }() 66272 func() int32 { 66273 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 66274 return i32(0) 66275 } 66276 return func() int32 { 66277 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81627), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 66278 crt.X__builtin_abort(tls) 66279 return i32(0) 66280 }() 66281 }() 66282 func() int32 { 66283 if ((int32(_pOp.X0) == i32(105)) || (int32(_pOp.X0) == i32(104))) || (int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0)) { 66284 return i32(0) 66285 } 66286 return func() int32 { 66287 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81628), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69352))) 66288 crt.X__builtin_abort(tls) 66289 return i32(0) 66290 }() 66291 }() 66292 if ((uint32(_p.X32) << uint(i32(31))) >> uint(i32(31))) == 0 { 66293 goto _1016 66294 } 66295 66296 _rc = i32(516) 66297 goto _abort_due_to_error 66298 66299 _1016: 66300 _279_nField = i32(0) 66301 _279_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) 66302 _279_p2 = _pOp.X4 66303 _279_iDb = _pOp.X5 66304 func() int32 { 66305 if (_279_iDb >= i32(0)) && (_279_iDb < (_db.X5)) { 66306 return i32(0) 66307 } 66308 return func() int32 { 66309 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81640), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(22608))) 66310 crt.X__builtin_abort(tls) 66311 return i32(0) 66312 }() 66313 }() 66314 func() int32 { 66315 if ((_p.X33) & (u32(1) << uint(_279_iDb))) != uint32(i32(0)) { 66316 return i32(0) 66317 } 66318 return func() int32 { 66319 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81641), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69072))) 66320 crt.X__builtin_abort(tls) 66321 return i32(0) 66322 }() 66323 }() 66324 _279_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_279_iDb))) 66325 _279_pX = (*XBtree)(unsafe.Pointer(_279_pDb.X1)) 66326 func() int32 { 66327 if _279_pX != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 66328 return i32(0) 66329 } 66330 return func() int32 { 66331 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81644), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69424))) 66332 crt.X__builtin_abort(tls) 66333 return i32(0) 66334 }() 66335 }() 66336 if int32(_pOp.X0) != i32(106) { 66337 goto _1024 66338 } 66339 66340 i32(0) 66341 _279_wrFlag = i32(4) | (int32(_pOp.X2) & i32(8)) 66342 func() int32 { 66343 if _sqlite3SchemaMutexHeld(tls, _db, _279_iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 66344 return i32(0) 66345 } 66346 return func() int32 { 66347 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81648), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(54008))) 66348 crt.X__builtin_abort(tls) 66349 return i32(0) 66350 }() 66351 }() 66352 if int32((*XSchema)(unsafe.Pointer(_279_pDb.X4)).X7) >= int32(_p.X31) { 66353 goto _1027 66354 } 66355 66356 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(139 /* X31 */))) = (*XSchema)(unsafe.Pointer(_279_pDb.X4)).X7 66357 _1027: 66358 goto _1028 66359 66360 _1024: 66361 _279_wrFlag = i32(0) 66362 _1028: 66363 if (int32(_pOp.X2) & i32(16)) == 0 { 66364 goto _1029 66365 } 66366 66367 func() int32 { 66368 if _279_p2 > i32(0) { 66369 return i32(0) 66370 } 66371 return func() int32 { 66372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81656), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69432))) 66373 crt.X__builtin_abort(tls) 66374 return i32(0) 66375 }() 66376 }() 66377 func() int32 { 66378 if _279_p2 <= (((_p.X6) + i32(1)) - (_p.X7)) { 66379 return i32(0) 66380 } 66381 return func() int32 { 66382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81657), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69440))) 66383 crt.X__builtin_abort(tls) 66384 return i32(0) 66385 }() 66386 }() 66387 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_279_p2))) 66388 func() int32 { 66389 if (int32(_pIn2.X1) & i32(128)) == i32(0) { 66390 return i32(0) 66391 } 66392 return func() int32 { 66393 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81659), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69472))) 66394 crt.X__builtin_abort(tls) 66395 return i32(0) 66396 }() 66397 }() 66398 func() int32 { 66399 if (int32(_pIn2.X1) & i32(4)) != i32(0) { 66400 return i32(0) 66401 } 66402 return func() int32 { 66403 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81660), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69492))) 66404 crt.X__builtin_abort(tls) 66405 return i32(0) 66406 }() 66407 }() 66408 _sqlite3VdbeMemIntegerify(tls, _pIn2) 66409 _279_p2 = int32(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */)))))) 66410 func() int32 { 66411 if _279_p2 >= i32(2) { 66412 return i32(0) 66413 } 66414 return func() int32 { 66415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81667), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69520))) 66416 crt.X__builtin_abort(tls) 66417 return i32(0) 66418 }() 66419 }() 66420 _1029: 66421 if int32(_pOp.X1) != i32(-5) { 66422 goto _1040 66423 } 66424 66425 _279_pKeyInfo = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 66426 func() int32 { 66427 if int32(_279_pKeyInfo.X1) == int32(_db.X14) { 66428 return i32(0) 66429 } 66430 return func() int32 { 66431 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81671), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69528))) 66432 crt.X__builtin_abort(tls) 66433 return i32(0) 66434 }() 66435 }() 66436 func() int32 { 66437 if (*Xsqlite3)(unsafe.Pointer(_279_pKeyInfo.X4)) == _db { 66438 return i32(0) 66439 } 66440 return func() int32 { 66441 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81672), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69552))) 66442 crt.X__builtin_abort(tls) 66443 return i32(0) 66444 }() 66445 }() 66446 _279_nField = int32(_279_pKeyInfo.X2) + int32(_279_pKeyInfo.X3) 66447 goto _1045 66448 66449 _1040: 66450 if int32(_pOp.X1) != i32(-11) { 66451 goto _1046 66452 } 66453 66454 _279_nField = *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 66455 _1046: 66456 _1045: 66457 func() int32 { 66458 if (_pOp.X3) >= i32(0) { 66459 return i32(0) 66460 } 66461 return func() int32 { 66462 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81677), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69572))) 66463 crt.X__builtin_abort(tls) 66464 return i32(0) 66465 }() 66466 }() 66467 func() int32 { 66468 if _279_nField >= i32(0) { 66469 return i32(0) 66470 } 66471 return func() int32 { 66472 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81678), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69584))) 66473 crt.X__builtin_abort(tls) 66474 return i32(0) 66475 }() 66476 }() 66477 _279_pCur = _allocateCursor(tls, _p, _pOp.X3, _279_nField, _279_iDb, uint8(i32(0))) 66478 if _279_pCur != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 66479 goto _1051 66480 } 66481 66482 goto _no_mem 66483 66484 _1051: 66485 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 66486 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur))+uintptr(7 /* X7 */))), int8(i32(1)), 4, 2) 66487 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(48 /* X17 */))) = uint32(_279_p2) 66488 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(6 /* X6 */))) = uint8(_279_wrFlag) 66489 _rc = _sqlite3BtreeCursor(tls, _279_pX, _279_p2, _279_wrFlag, _279_pKeyInfo, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(36 /* X14 */)))))))) 66490 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(40 /* X15 */))))) = _279_pKeyInfo 66491 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(4 /* X4 */))) = uint8(bool2int(int32(_pOp.X1) != i32(-5))) 66492 _open_cursor_set_hints: 66493 i32(0) 66494 i32(0) 66495 _sqlite3BtreeCursorHintFlags(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_279_pCur)) + uintptr(36 /* X14 */))))))), uint32(int32(_pOp.X2)&i32(3))) 66496 if _rc == 0 { 66497 goto _1052 66498 } 66499 66500 goto _abort_due_to_error 66501 66502 _1052: 66503 goto _248 66504 66505 _151: 66506 _152: 66507 func() int32 { 66508 if (_pOp.X3) >= i32(0) { 66509 return i32(0) 66510 } 66511 return func() int32 { 66512 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81746), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69572))) 66513 crt.X__builtin_abort(tls) 66514 return i32(0) 66515 }() 66516 }() 66517 func() int32 { 66518 if (_pOp.X4) >= i32(0) { 66519 return i32(0) 66520 } 66521 return func() int32 { 66522 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81747), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69596))) 66523 crt.X__builtin_abort(tls) 66524 return i32(0) 66525 }() 66526 }() 66527 _288_pCx = _allocateCursor(tls, _p, _pOp.X3, _pOp.X4, i32(-1), uint8(i32(0))) 66528 if _288_pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 66529 goto _1057 66530 } 66531 66532 goto _no_mem 66533 66534 _1057: 66535 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 66536 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(7 /* X7 */))), int8(i32(1)), 1, 0) 66537 _rc = _sqlite3BtreeOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _db, (**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(8 /* X8 */))))), i32(5)|int32(_pOp.X2), _sqlite3VdbeExecØ00vfsFlagsØ006) 66538 if _rc != i32(0) { 66539 goto _1058 66540 } 66541 66542 _rc = _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), i32(1)) 66543 _1058: 66544 if _rc != i32(0) { 66545 goto _1059 66546 } 66547 66548 if store7997238((**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(40 /* X15 */))))), store7997238(&_288_pKeyInfo, (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))))) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { 66549 goto _1060 66550 } 66551 66552 func() int32 { 66553 if int32(_pOp.X1) == i32(-5) { 66554 return i32(0) 66555 } 66556 return func() int32 { 66557 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81765), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69240))) 66558 crt.X__builtin_abort(tls) 66559 return i32(0) 66560 }() 66561 }() 66562 _rc = _sqlite3BtreeCreateTable(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), &_291_pgno, i32(2)|int32(_pOp.X2)) 66563 if _rc != i32(0) { 66564 goto _1063 66565 } 66566 66567 func() int32 { 66568 if _291_pgno == i32(2) { 66569 return i32(0) 66570 } 66571 return func() int32 { 66572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81768), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69608))) 66573 crt.X__builtin_abort(tls) 66574 return i32(0) 66575 }() 66576 }() 66577 func() int32 { 66578 if (*Xsqlite3)(unsafe.Pointer(_288_pKeyInfo.X4)) == _db { 66579 return i32(0) 66580 } 66581 return func() int32 { 66582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81769), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69552))) 66583 crt.X__builtin_abort(tls) 66584 return i32(0) 66585 }() 66586 }() 66587 func() int32 { 66588 if int32(_288_pKeyInfo.X1) == int32(_db.X14) { 66589 return i32(0) 66590 } 66591 return func() int32 { 66592 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81770), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69528))) 66593 crt.X__builtin_abort(tls) 66594 return i32(0) 66595 }() 66596 }() 66597 _rc = _sqlite3BtreeCursor(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), _291_pgno, i32(4), _288_pKeyInfo, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(36 /* X14 */)))))))) 66598 _1063: 66599 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(4 /* X4 */))) = uint8(i32(0)) 66600 goto _1070 66601 66602 _1060: 66603 _rc = _sqlite3BtreeCursor(tls, (*XBtree)(unsafe.Pointer(_288_pCx.X8)), i32(1), i32(4), (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))), (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(36 /* X14 */)))))))) 66604 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx)) + uintptr(4 /* X4 */))) = uint8(i32(1)) 66605 _1070: 66606 _1059: 66607 if _rc == 0 { 66608 goto _1071 66609 } 66610 66611 goto _abort_due_to_error 66612 66613 _1071: 66614 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_288_pCx))+uintptr(7 /* X7 */))), int8(bool2int(int32(_pOp.X2) != i32(8))), 4, 2) 66615 goto _248 66616 66617 _153: 66618 func() int32 { 66619 if (_pOp.X3) >= i32(0) { 66620 return i32(0) 66621 } 66622 return func() int32 { 66623 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69572))) 66624 crt.X__builtin_abort(tls) 66625 return i32(0) 66626 }() 66627 }() 66628 func() int32 { 66629 if (_pOp.X4) >= i32(0) { 66630 return i32(0) 66631 } 66632 return func() int32 { 66633 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81800), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69596))) 66634 crt.X__builtin_abort(tls) 66635 return i32(0) 66636 }() 66637 }() 66638 _294_pCx = _allocateCursor(tls, _p, _pOp.X3, _pOp.X4, i32(-1), uint8(i32(1))) 66639 if _294_pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 66640 goto _1076 66641 } 66642 66643 goto _no_mem 66644 66645 _1076: 66646 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_294_pCx)) + uintptr(40 /* X15 */))))) = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 66647 func() int32 { 66648 if (*Xsqlite3)(unsafe.Pointer((*XKeyInfo)(unsafe.Pointer(_294_pCx.X15)).X4)) == _db { 66649 return i32(0) 66650 } 66651 return func() int32 { 66652 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81804), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69628))) 66653 crt.X__builtin_abort(tls) 66654 return i32(0) 66655 }() 66656 }() 66657 func() int32 { 66658 if int32((*XKeyInfo)(unsafe.Pointer(_294_pCx.X15)).X1) == int32(_db.X14) { 66659 return i32(0) 66660 } 66661 return func() int32 { 66662 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81805), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69652))) 66663 crt.X__builtin_abort(tls) 66664 return i32(0) 66665 }() 66666 }() 66667 _rc = _sqlite3VdbeSorterInit(tls, _db, _pOp.X5, _294_pCx) 66668 if _rc == 0 { 66669 goto _1081 66670 } 66671 66672 goto _abort_due_to_error 66673 66674 _1081: 66675 goto _248 66676 66677 _154: 66678 func() int32 { 66679 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 66680 return i32(0) 66681 } 66682 return func() int32 { 66683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81820), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 66684 crt.X__builtin_abort(tls) 66685 return i32(0) 66686 }() 66687 }() 66688 _295_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 66689 func() int32 { 66690 if int32(_295_pC.X0) == i32(1) { 66691 return i32(0) 66692 } 66693 return func() int32 { 66694 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81822), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69680))) 66695 crt.X__builtin_abort(tls) 66696 return i32(0) 66697 }() 66698 }() 66699 if postInc967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_295_pC))+uintptr(12 /* X9 */))), int64(1)) != int64(i32(0)) { 66700 goto _1087 66701 } 66702 66703 goto _jump_to_p2 66704 66705 _1087: 66706 goto _248 66707 66708 _155: 66709 func() int32 { 66710 if (_pOp.X3) >= i32(0) { 66711 return i32(0) 66712 } 66713 return func() int32 { 66714 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81848), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69572))) 66715 crt.X__builtin_abort(tls) 66716 return i32(0) 66717 }() 66718 }() 66719 func() int32 { 66720 if (_pOp.X5) >= i32(0) { 66721 return i32(0) 66722 } 66723 return func() int32 { 66724 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81849), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69696))) 66725 crt.X__builtin_abort(tls) 66726 return i32(0) 66727 }() 66728 }() 66729 _297_pCx = _allocateCursor(tls, _p, _pOp.X3, _pOp.X5, i32(-1), uint8(i32(3))) 66730 if _297_pCx != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 66731 goto _1092 66732 } 66733 66734 goto _no_mem 66735 66736 _1092: 66737 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_297_pCx)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 66738 *(*int32)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_297_pCx)) + uintptr(36 /* X14 */))))) = _pOp.X4 66739 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_297_pCx)) + uintptr(4 /* X4 */))) = uint8(i32(1)) 66740 func() int32 { 66741 if int32(_pOp.X2) == i32(0) { 66742 return i32(0) 66743 } 66744 return func() int32 { 66745 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81855), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69708))) 66746 crt.X__builtin_abort(tls) 66747 return i32(0) 66748 }() 66749 }() 66750 goto _248 66751 66752 _156: 66753 func() int32 { 66754 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 66755 return i32(0) 66756 } 66757 return func() int32 { 66758 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81865), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 66759 crt.X__builtin_abort(tls) 66760 return i32(0) 66761 }() 66762 }() 66763 _sqlite3VdbeFreeCursor(tls, _p, *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3)))) 66764 *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) 66765 goto _248 66766 66767 _157: 66768 _158: 66769 _159: 66770 _160: 66771 func() int32 { 66772 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 66773 return i32(0) 66774 } 66775 return func() int32 { 66776 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81989), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 66777 crt.X__builtin_abort(tls) 66778 return i32(0) 66779 }() 66780 }() 66781 func() int32 { 66782 if (_pOp.X4) != i32(0) { 66783 return i32(0) 66784 } 66785 return func() int32 { 66786 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81990), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69720))) 66787 crt.X__builtin_abort(tls) 66788 return i32(0) 66789 }() 66790 }() 66791 _299_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 66792 func() int32 { 66793 if _299_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 66794 return i32(0) 66795 } 66796 return func() int32 { 66797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81992), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 66798 crt.X__builtin_abort(tls) 66799 return i32(0) 66800 }() 66801 }() 66802 func() int32 { 66803 if int32(_299_pC.X0) == i32(0) { 66804 return i32(0) 66805 } 66806 return func() int32 { 66807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81993), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 66808 crt.X__builtin_abort(tls) 66809 return i32(0) 66810 }() 66811 }() 66812 i32(0) 66813 i32(0) 66814 i32(0) 66815 func() int32 { 66816 if ((uint32((_299_pC.X7)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) != 0 { 66817 return i32(0) 66818 } 66819 return func() int32 { 66820 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81997), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69732))) 66821 crt.X__builtin_abort(tls) 66822 return i32(0) 66823 }() 66824 }() 66825 func() int32 { 66826 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 66827 return i32(0) 66828 } 66829 return func() int32 { 66830 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(81998), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 66831 crt.X__builtin_abort(tls) 66832 return i32(0) 66833 }() 66834 }() 66835 _299_oc = int32(_pOp.X0) 66836 _299_eqOnly = i32(0) 66837 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 66838 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(5 /* X5 */))) = _pOp.X0 66839 if (_299_pC.X4) == 0 { 66840 goto _1111 66841 } 66842 66843 func() int32 { 66844 if (_sqlite3BtreeCursorHasHint(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))), uint32(i32(2))) == i32(0)) || ((_sqlite3Config.X6) == i32(0)) { 66845 return i32(0) 66846 } 66847 return func() int32 { 66848 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82008), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69768))) 66849 crt.X__builtin_abort(tls) 66850 return i32(0) 66851 }() 66852 }() 66853 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 66854 if (int32(_pIn3.X1) & i32(14)) != i32(2) { 66855 goto _1115 66856 } 66857 66858 _applyNumericAffinity(tls, _pIn3, i32(0)) 66859 _1115: 66860 _299_iKey = _sqlite3VdbeIntValue(tls, _pIn3) 66861 if (int32(_pIn3.X1) & i32(4)) != i32(0) { 66862 goto _1116 66863 } 66864 66865 if (int32(_pIn3.X1) & i32(8)) != i32(0) { 66866 goto _1117 66867 } 66868 66869 goto _jump_to_p2 66870 66871 _1117: 66872 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) >= float64(_299_iKey) { 66873 goto _1118 66874 } 66875 66876 i32(0) 66877 i32(0) 66878 i32(0) 66879 if (_299_oc & i32(1)) != i32(0) { 66880 goto _1119 66881 } 66882 66883 _299_oc -= 1 66884 _1119: 66885 goto _1120 66886 66887 _1118: 66888 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) <= float64(_299_iKey) { 66889 goto _1121 66890 } 66891 66892 i32(0) 66893 i32(0) 66894 i32(0) 66895 if (_299_oc & i32(1)) != i32(1) { 66896 goto _1122 66897 } 66898 66899 _299_oc += 1 66900 _1122: 66901 _1121: 66902 _1120: 66903 _1116: 66904 _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))), (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), int64(uint64(_299_iKey)), i32(0), &_299_res) 66905 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(56 /* X20 */))) = _299_iKey 66906 if _rc == i32(0) { 66907 goto _1123 66908 } 66909 66910 goto _abort_due_to_error 66911 66912 _1123: 66913 goto _1124 66914 66915 _1111: 66916 if _sqlite3BtreeCursorHasHint(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))), uint32(i32(2))) == 0 { 66917 goto _1125 66918 } 66919 66920 _299_eqOnly = i32(1) 66921 func() int32 { 66922 if (int32(_pOp.X0) == i32(25)) || (int32(_pOp.X0) == i32(24)) { 66923 return i32(0) 66924 } 66925 return func() int32 { 66926 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82065), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69844))) 66927 crt.X__builtin_abort(tls) 66928 return i32(0) 66929 }() 66930 }() 66931 func() int32 { 66932 if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))).X0) == i32(61)) || (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))).X0) == i32(60)) { 66933 return i32(0) 66934 } 66935 return func() int32 { 66936 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82066), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69896))) 66937 crt.X__builtin_abort(tls) 66938 return i32(0) 66939 }() 66940 }() 66941 func() int32 { 66942 if ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(1)))).X3) == ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(0)))).X3) { 66943 return i32(0) 66944 } 66945 return func() int32 { 66946 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82067), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69948))) 66947 crt.X__builtin_abort(tls) 66948 return i32(0) 66949 }() 66950 }() 66951 func() int32 { 66952 if ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(1)))).X4) == ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(0)))).X4) { 66953 return i32(0) 66954 } 66955 return func() int32 { 66956 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82068), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69972))) 66957 crt.X__builtin_abort(tls) 66958 return i32(0) 66959 }() 66960 }() 66961 func() int32 { 66962 if ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(1)))).X5) == ((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(0)))).X5) { 66963 return i32(0) 66964 } 66965 return func() int32 { 66966 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82069), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69996))) 66967 crt.X__builtin_abort(tls) 66968 return i32(0) 66969 }() 66970 }() 66971 func() int32 { 66972 if (*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))))) + uintptr(16 /* X6 */)))))) == (*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(0)))))) + uintptr(16 /* X6 */)))))) { 66973 return i32(0) 66974 } 66975 return func() int32 { 66976 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82070), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70020))) 66977 crt.X__builtin_abort(tls) 66978 return i32(0) 66979 }() 66980 }() 66981 _1125: 66982 _299_nField = *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 66983 func() int32 { 66984 if int32(_pOp.X1) == i32(-11) { 66985 return i32(0) 66986 } 66987 return func() int32 { 66988 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82074), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70048))) 66989 crt.X__builtin_abort(tls) 66990 return i32(0) 66991 }() 66992 }() 66993 func() int32 { 66994 if _299_nField > i32(0) { 66995 return i32(0) 66996 } 66997 return func() int32 { 66998 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82075), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70072))) 66999 crt.X__builtin_abort(tls) 67000 return i32(0) 67001 }() 67002 }() 67003 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_299_pC.X15)) 67004 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(8 /* X2 */))) = uint16(_299_nField) 67005 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(10 /* X3 */))) = int8(func() int32 { 67006 if (i32(1) & (_299_oc - i32(23))) != 0 { 67007 return i32(-1) 67008 } 67009 return i32(1) 67010 }()) 67011 func() int32 { 67012 if (_299_oc != i32(26)) || (int32(_299_r.X3) == i32(-1)) { 67013 return i32(0) 67014 } 67015 return func() int32 { 67016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82087), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70084))) 67017 crt.X__builtin_abort(tls) 67018 return i32(0) 67019 }() 67020 }() 67021 func() int32 { 67022 if (_299_oc != i32(24)) || (int32(_299_r.X3) == i32(-1)) { 67023 return i32(0) 67024 } 67025 return func() int32 { 67026 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82088), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70120))) 67027 crt.X__builtin_abort(tls) 67028 return i32(0) 67029 }() 67030 }() 67031 func() int32 { 67032 if (_299_oc != i32(25)) || (int32(_299_r.X3) == i32(1)) { 67033 return i32(0) 67034 } 67035 return func() int32 { 67036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82089), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70156))) 67037 crt.X__builtin_abort(tls) 67038 return i32(0) 67039 }() 67040 }() 67041 func() int32 { 67042 if (_299_oc != i32(23)) || (int32(_299_r.X3) == i32(1)) { 67043 return i32(0) 67044 } 67045 return func() int32 { 67046 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82090), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70192))) 67047 crt.X__builtin_abort(tls) 67048 return i32(0) 67049 }() 67050 }() 67051 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(4 /* X1 */))))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 67052 _309_i = i32(0) 67053 _1158: 67054 if _309_i >= int32(_299_r.X2) { 67055 goto _1161 67056 } 67057 67058 func() int32 { 67059 if (int32((*XMem)(unsafe.Pointer(uintptr(_299_r.X1)+48*uintptr(_309_i))).X1) & i32(128)) == i32(0) { 67060 return i32(0) 67061 } 67062 return func() int32 { 67063 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82094), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70228))) 67064 crt.X__builtin_abort(tls) 67065 return i32(0) 67066 }() 67067 }() 67068 _309_i += 1 67069 goto _1158 67070 67071 _1161: 67072 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_299_r)) + uintptr(14 /* X7 */))) = uint8(i32(0)) 67073 _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))), &_299_r, int64(i32(0)), i32(0), &_299_res) 67074 if _rc == i32(0) { 67075 goto _1164 67076 } 67077 67078 goto _abort_due_to_error 67079 67080 _1164: 67081 if _299_eqOnly == 0 || int32(_299_r.X7) != i32(0) { 67082 goto _1166 67083 } 67084 67085 func() int32 { 67086 if _299_res != i32(0) { 67087 return i32(0) 67088 } 67089 return func() int32 { 67090 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82102), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70252))) 67091 crt.X__builtin_abort(tls) 67092 return i32(0) 67093 }() 67094 }() 67095 goto _seek_not_found 67096 67097 _1166: 67098 _1124: 67099 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 67100 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 67101 if _299_oc < i32(25) { 67102 goto _1169 67103 } 67104 67105 func() int32 { 67106 if (_299_oc == i32(25)) || (_299_oc == i32(26)) { 67107 return i32(0) 67108 } 67109 return func() int32 { 67110 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70260))) 67111 crt.X__builtin_abort(tls) 67112 return i32(0) 67113 }() 67114 }() 67115 if _299_res >= i32(0) && (_299_res != i32(0) || _299_oc != i32(26)) { 67116 goto _1175 67117 } 67118 67119 _299_res = i32(0) 67120 _rc = _sqlite3BtreeNext(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))), &_299_res) 67121 if _rc == i32(0) { 67122 goto _1176 67123 } 67124 67125 goto _abort_due_to_error 67126 67127 _1176: 67128 goto _1177 67129 67130 _1175: 67131 _299_res = i32(0) 67132 _1177: 67133 goto _1178 67134 67135 _1169: 67136 func() int32 { 67137 if (_299_oc == i32(23)) || (_299_oc == i32(24)) { 67138 return i32(0) 67139 } 67140 return func() int32 { 67141 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82120), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70292))) 67142 crt.X__builtin_abort(tls) 67143 return i32(0) 67144 }() 67145 }() 67146 if _299_res <= i32(0) && (_299_res != i32(0) || _299_oc != i32(23)) { 67147 goto _1184 67148 } 67149 67150 _299_res = i32(0) 67151 _rc = _sqlite3BtreePrevious(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */))))))), &_299_res) 67152 if _rc == i32(0) { 67153 goto _1185 67154 } 67155 67156 goto _abort_due_to_error 67157 67158 _1185: 67159 goto _1186 67160 67161 _1184: 67162 _299_res = _sqlite3BtreeEof(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_299_pC)) + uintptr(36 /* X14 */)))))))) 67163 _1186: 67164 _1178: 67165 _seek_not_found: 67166 func() int32 { 67167 if (_pOp.X4) > i32(0) { 67168 return i32(0) 67169 } 67170 return func() int32 { 67171 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82133), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64552))) 67172 crt.X__builtin_abort(tls) 67173 return i32(0) 67174 }() 67175 }() 67176 if _299_res == 0 { 67177 goto _1189 67178 } 67179 67180 goto _jump_to_p2 67181 67182 _1189: 67183 if _299_eqOnly == 0 { 67184 goto _1191 67185 } 67186 67187 func() int32 { 67188 if (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))).X0) == i32(61)) || (int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(1)))).X0) == i32(60)) { 67189 return i32(0) 67190 } 67191 return func() int32 { 67192 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82138), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69896))) 67193 crt.X__builtin_abort(tls) 67194 return i32(0) 67195 }() 67196 }() 67197 *(*uintptr)(unsafe.Pointer(&_pOp)) += uintptr(24) 67198 _1191: 67199 goto _248 67200 67201 _161: 67202 _162: 67203 _163: 67204 func() int32 { 67205 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 67206 return i32(0) 67207 } 67208 return func() int32 { 67209 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82219), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 67210 crt.X__builtin_abort(tls) 67211 return i32(0) 67212 }() 67213 }() 67214 func() int32 { 67215 if int32(_pOp.X1) == i32(-11) { 67216 return i32(0) 67217 } 67218 return func() int32 { 67219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82220), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70048))) 67220 crt.X__builtin_abort(tls) 67221 return i32(0) 67222 }() 67223 }() 67224 _320_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 67225 func() int32 { 67226 if _320_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67227 return i32(0) 67228 } 67229 return func() int32 { 67230 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82222), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 67231 crt.X__builtin_abort(tls) 67232 return i32(0) 67233 }() 67234 }() 67235 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(5 /* X5 */))) = _pOp.X0 67236 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 67237 func() int32 { 67238 if int32(_320_pC.X0) == i32(0) { 67239 return i32(0) 67240 } 67241 return func() int32 { 67242 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82227), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 67243 crt.X__builtin_abort(tls) 67244 return i32(0) 67245 }() 67246 }() 67247 func() int32 { 67248 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67249 return i32(0) 67250 } 67251 return func() int32 { 67252 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82228), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 67253 crt.X__builtin_abort(tls) 67254 return i32(0) 67255 }() 67256 }() 67257 func() int32 { 67258 if int32(_320_pC.X4) == i32(0) { 67259 return i32(0) 67260 } 67261 return func() int32 { 67262 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82229), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70324))) 67263 crt.X__builtin_abort(tls) 67264 return i32(0) 67265 }() 67266 }() 67267 if (*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) <= i32(0) { 67268 goto _1208 67269 } 67270 67271 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_320_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_320_pC.X15)) 67272 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_320_r)) + uintptr(8 /* X2 */))) = uint16(*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 67273 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_320_r)) + uintptr(4 /* X1 */))))) = _pIn3 67274 _320_ii = i32(0) 67275 _1209: 67276 if _320_ii >= int32(_320_r.X2) { 67277 goto _1212 67278 } 67279 67280 func() int32 { 67281 if (int32((*XMem)(unsafe.Pointer(uintptr(_320_r.X1)+48*uintptr(_320_ii))).X1) & i32(128)) == i32(0) { 67282 return i32(0) 67283 } 67284 return func() int32 { 67285 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82236), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70340))) 67286 crt.X__builtin_abort(tls) 67287 return i32(0) 67288 }() 67289 }() 67290 func() int32 { 67291 if ((int32((*XMem)(unsafe.Pointer(uintptr(_320_r.X1)+48*uintptr(_320_ii))).X1) & i32(16384)) == i32(0)) || (((*XMem)(unsafe.Pointer(uintptr(_320_r.X1) + 48*uintptr(_320_ii))).X4) == i32(0)) { 67292 return i32(0) 67293 } 67294 return func() int32 { 67295 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82237), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70364))) 67296 crt.X__builtin_abort(tls) 67297 return i32(0) 67298 }() 67299 }() 67300 if _320_ii == 0 { 67301 goto _1218 67302 } 67303 67304 if ((_db.X6) & i32(1)) == 0 { 67305 goto _1219 67306 } 67307 67308 _registerTrace(tls, (_pOp.X5)+_320_ii, (*XMem)(unsafe.Pointer(uintptr(_320_r.X1)+48*uintptr(_320_ii)))) 67309 _1219: 67310 _1218: 67311 _320_ii += 1 67312 goto _1209 67313 67314 _1212: 67315 _320_pIdxKey = &_320_r 67316 _320_pFree = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) 67317 goto _1220 67318 67319 _1208: 67320 _320_pFree = store7996831(&_320_pIdxKey, _sqlite3VdbeAllocUnpackedRecord(tls, (*XKeyInfo)(unsafe.Pointer(_320_pC.X15)))) 67321 if _320_pIdxKey != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 67322 goto _1221 67323 } 67324 67325 goto _no_mem 67326 67327 _1221: 67328 func() int32 { 67329 if (int32(_pIn3.X1) & i32(16)) != 0 { 67330 return i32(0) 67331 } 67332 return func() int32 { 67333 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82246), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70416))) 67334 crt.X__builtin_abort(tls) 67335 return i32(0) 67336 }() 67337 }() 67338 func() int32 { 67339 if (int32(_pIn3.X1) & i32(16384)) != 0 { 67340 return _sqlite3VdbeMemExpandBlob(tls, _pIn3) 67341 } 67342 return i32(0) 67343 }() 67344 _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer(_320_pC.X15)), _pIn3.X4, (unsafe.Pointer)(_pIn3.X5), _320_pIdxKey) 67345 _1220: 67346 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pIdxKey)) + uintptr(10 /* X3 */))) = int8(i32(0)) 67347 _320_takeJump = i32(0) 67348 if int32(_pOp.X0) != i32(29) { 67349 goto _1226 67350 } 67351 67352 _320_ii = i32(0) 67353 _1227: 67354 if _320_ii >= int32(_320_pIdxKey.X2) { 67355 goto _1230 67356 } 67357 67358 if (int32((*XMem)(unsafe.Pointer(uintptr(_320_pIdxKey.X1)+48*uintptr(_320_ii))).X1) & i32(1)) == 0 { 67359 goto _1231 67360 } 67361 67362 _320_takeJump = i32(1) 67363 goto _1230 67364 67365 _1231: 67366 _320_ii += 1 67367 goto _1227 67368 67369 _1230: 67370 _1226: 67371 _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(36 /* X14 */))))))), _320_pIdxKey, int64(i32(0)), i32(0), &_320_res) 67372 if _320_pFree == nil { 67373 goto _1232 67374 } 67375 67376 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_320_pFree)) 67377 _1232: 67378 if _rc == i32(0) { 67379 goto _1233 67380 } 67381 67382 goto _abort_due_to_error 67383 67384 _1233: 67385 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(28 /* X12 */))) = _320_res 67386 _320_alreadyExists = bool2int(_320_res == i32(0)) 67387 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(2 /* X2 */))) = uint8(i32(1) - _320_alreadyExists) 67388 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 67389 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_320_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 67390 if int32(_pOp.X0) != i32(31) { 67391 goto _1234 67392 } 67393 67394 if _320_alreadyExists == 0 { 67395 goto _1235 67396 } 67397 67398 goto _jump_to_p2 67399 67400 _1235: 67401 goto _1236 67402 67403 _1234: 67404 if _320_takeJump == 0 && _320_alreadyExists != 0 { 67405 goto _1238 67406 } 67407 67408 goto _jump_to_p2 67409 67410 _1238: 67411 _1236: 67412 goto _248 67413 67414 _164: 67415 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 67416 if (int32(_pIn3.X1) & i32(4)) != i32(0) { 67417 goto _1239 67418 } 67419 67420 _applyAffinity(tls, _pIn3, int8(i32(67)), _encoding) 67421 if (int32(_pIn3.X1) & i32(4)) != i32(0) { 67422 goto _1240 67423 } 67424 67425 goto _jump_to_p2 67426 67427 _1240: 67428 _1239: 67429 _165: 67430 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 67431 func() int32 { 67432 if (int32(_pIn3.X1) & i32(4)) != 0 { 67433 return i32(0) 67434 } 67435 return func() int32 { 67436 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82344), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65516))) 67437 crt.X__builtin_abort(tls) 67438 return i32(0) 67439 }() 67440 }() 67441 func() int32 { 67442 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 67443 return i32(0) 67444 } 67445 return func() int32 { 67446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82345), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 67447 crt.X__builtin_abort(tls) 67448 return i32(0) 67449 }() 67450 }() 67451 _330_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 67452 func() int32 { 67453 if _330_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67454 return i32(0) 67455 } 67456 return func() int32 { 67457 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82347), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 67458 crt.X__builtin_abort(tls) 67459 return i32(0) 67460 }() 67461 }() 67462 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(5 /* X5 */))) = uint8(i32(0)) 67463 func() int32 { 67464 if (_330_pC.X4) != 0 { 67465 return i32(0) 67466 } 67467 return func() int32 { 67468 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82351), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70440))) 67469 crt.X__builtin_abort(tls) 67470 return i32(0) 67471 }() 67472 }() 67473 func() int32 { 67474 if int32(_330_pC.X0) == i32(0) { 67475 return i32(0) 67476 } 67477 return func() int32 { 67478 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82352), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 67479 crt.X__builtin_abort(tls) 67480 return i32(0) 67481 }() 67482 }() 67483 _330_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(36 /* X14 */))))))) 67484 func() int32 { 67485 if _330_pCrsr != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67486 return i32(0) 67487 } 67488 return func() int32 { 67489 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82354), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70452))) 67490 crt.X__builtin_abort(tls) 67491 return i32(0) 67492 }() 67493 }() 67494 _330_res = i32(0) 67495 _330_iKey = uint64(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) 67496 _rc = _sqlite3BtreeMovetoUnpacked(tls, _330_pCrsr, (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), int64(_330_iKey), i32(0), &_330_res) 67497 func() int32 { 67498 if (_rc == i32(0)) || (_330_res == i32(0)) { 67499 return i32(0) 67500 } 67501 return func() int32 { 67502 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82358), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70464))) 67503 crt.X__builtin_abort(tls) 67504 return i32(0) 67505 }() 67506 }() 67507 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(56 /* X20 */))) = int64(_330_iKey) 67508 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 67509 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 67510 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 67511 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_330_pC)) + uintptr(28 /* X12 */))) = _330_res 67512 if _330_res == i32(0) { 67513 goto _1257 67514 } 67515 67516 func() int32 { 67517 if _rc == i32(0) { 67518 return i32(0) 67519 } 67520 return func() int32 { 67521 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82366), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(15360))) 67522 crt.X__builtin_abort(tls) 67523 return i32(0) 67524 }() 67525 }() 67526 if (_pOp.X4) != i32(0) { 67527 goto _1260 67528 } 67529 67530 _rc = _sqlite3CorruptError(tls, i32(82368)) 67531 goto _1261 67532 67533 _1260: 67534 goto _jump_to_p2 67535 67536 _1261: 67537 _1257: 67538 if _rc == 0 { 67539 goto _1262 67540 } 67541 67542 goto _abort_due_to_error 67543 67544 _1262: 67545 goto _248 67546 67547 _166: 67548 func() int32 { 67549 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 67550 return i32(0) 67551 } 67552 return func() int32 { 67553 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82386), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 67554 crt.X__builtin_abort(tls) 67555 return i32(0) 67556 }() 67557 }() 67558 func() int32 { 67559 if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3)))) != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67560 return i32(0) 67561 } 67562 return func() int32 { 67563 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82387), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70488))) 67564 crt.X__builtin_abort(tls) 67565 return i32(0) 67566 }() 67567 }() 67568 func() int32 { 67569 if int32((*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3)))).X0) != i32(2) { 67570 return i32(0) 67571 } 67572 return func() int32 { 67573 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82388), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70512))) 67574 crt.X__builtin_abort(tls) 67575 return i32(0) 67576 }() 67577 }() 67578 _pOut = _out2Prerelease(tls, _p, _pOp) 67579 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = postInc967((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3)))))+uintptr(12 /* X9 */))), int64(1)) 67580 goto _248 67581 67582 _167: 67583 _336_v = int64(i32(0)) 67584 _336_res = i32(0) 67585 _pOut = _out2Prerelease(tls, _p, _pOp) 67586 func() int32 { 67587 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 67588 return i32(0) 67589 } 67590 return func() int32 { 67591 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82421), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 67592 crt.X__builtin_abort(tls) 67593 return i32(0) 67594 }() 67595 }() 67596 _336_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 67597 func() int32 { 67598 if _336_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67599 return i32(0) 67600 } 67601 return func() int32 { 67602 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82423), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 67603 crt.X__builtin_abort(tls) 67604 return i32(0) 67605 }() 67606 }() 67607 func() int32 { 67608 if int32(_336_pC.X0) == i32(0) { 67609 return i32(0) 67610 } 67611 return func() int32 { 67612 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82424), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 67613 crt.X__builtin_abort(tls) 67614 return i32(0) 67615 }() 67616 }() 67617 func() int32 { 67618 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67619 return i32(0) 67620 } 67621 return func() int32 { 67622 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82425), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 67623 crt.X__builtin_abort(tls) 67624 return i32(0) 67625 }() 67626 }() 67627 func() int32 { 67628 if (_336_pC.X4) != 0 { 67629 return i32(0) 67630 } 67631 return func() int32 { 67632 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82440), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70440))) 67633 crt.X__builtin_abort(tls) 67634 return i32(0) 67635 }() 67636 }() 67637 if ((uint32((_336_pC.X7)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) != 0 { 67638 goto _1281 67639 } 67640 67641 _rc = _sqlite3BtreeLast(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(36 /* X14 */))))))), &_336_res) 67642 if _rc == i32(0) { 67643 goto _1282 67644 } 67645 67646 goto _abort_due_to_error 67647 67648 _1282: 67649 if _336_res == 0 { 67650 goto _1283 67651 } 67652 67653 _336_v = int64(i32(1)) 67654 goto _1284 67655 67656 _1283: 67657 func() int32 { 67658 if _sqlite3BtreeCursorIsValid(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(36 /* X14 */)))))))) != 0 { 67659 return i32(0) 67660 } 67661 return func() int32 { 67662 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82460), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70556))) 67663 crt.X__builtin_abort(tls) 67664 return i32(0) 67665 }() 67666 }() 67667 _336_v = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(36 /* X14 */)))))))) 67668 if _336_v < i64(9223372036854775807) { 67669 goto _1287 67670 } 67671 67672 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC))+uintptr(7 /* X7 */))), int8(i32(1)), 2, 1) 67673 goto _1288 67674 67675 _1287: 67676 _336_v += 1 67677 _1288: 67678 _1284: 67679 _1281: 67680 if (_pOp.X5) == 0 { 67681 goto _1289 67682 } 67683 67684 func() int32 { 67685 if (_pOp.X5) > i32(0) { 67686 return i32(0) 67687 } 67688 return func() int32 { 67689 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82473), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64676))) 67690 crt.X__builtin_abort(tls) 67691 return i32(0) 67692 }() 67693 }() 67694 if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { 67695 goto _1292 67696 } 67697 67698 _336_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 67699 _1293: 67700 if (*XVdbeFrame)(unsafe.Pointer(_336_pFrame.X1)) == nil { 67701 goto _1296 67702 } 67703 67704 _336_pFrame = (*XVdbeFrame)(unsafe.Pointer(_336_pFrame.X1)) 67705 goto _1293 67706 67707 _1296: 67708 func() int32 { 67709 if (_pOp.X5) <= (_336_pFrame.X13) { 67710 return i32(0) 67711 } 67712 return func() int32 { 67713 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82477), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70600))) 67714 crt.X__builtin_abort(tls) 67715 return i32(0) 67716 }() 67717 }() 67718 _336_pMem = (*XMem)(unsafe.Pointer(uintptr(_336_pFrame.X4) + 48*uintptr(_pOp.X5))) 67719 goto _1299 67720 67721 _1292: 67722 func() int32 { 67723 if (_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7)) { 67724 return i32(0) 67725 } 67726 return func() int32 { 67727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82481), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64688))) 67728 crt.X__builtin_abort(tls) 67729 return i32(0) 67730 }() 67731 }() 67732 _336_pMem = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 67733 _sqlite3VdbeMemAboutToChange(tls, _p, _336_pMem) 67734 _1299: 67735 func() int32 { 67736 if (int32(_336_pMem.X1) & i32(128)) == i32(0) { 67737 return i32(0) 67738 } 67739 return func() int32 { 67740 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82485), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70624))) 67741 crt.X__builtin_abort(tls) 67742 return i32(0) 67743 }() 67744 }() 67745 if ((_db.X6) & i32(1)) == 0 { 67746 goto _1304 67747 } 67748 67749 _registerTrace(tls, _pOp.X5, _336_pMem) 67750 _1304: 67751 _sqlite3VdbeMemIntegerify(tls, _336_pMem) 67752 func() int32 { 67753 if (int32(_336_pMem.X1) & i32(4)) != i32(0) { 67754 return i32(0) 67755 } 67756 return func() int32 { 67757 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82489), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70644))) 67758 crt.X__builtin_abort(tls) 67759 return i32(0) 67760 }() 67761 }() 67762 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */)))))) != i64(9223372036854775807) && ((uint32((_336_pC.X7)>>uint(i32(1)))<<uint(i32(31)))>>uint(i32(31))) == 0 { 67763 goto _1308 67764 } 67765 67766 _rc = i32(13) 67767 goto _abort_due_to_error 67768 67769 _1308: 67770 if _336_v >= ((*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */)))))) + int64(i32(1))) { 67771 goto _1309 67772 } 67773 67774 _336_v = (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */)))))) + int64(i32(1)) 67775 _1309: 67776 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pMem)) + uintptr(0 /* X0 */))))) = _336_v 67777 _1289: 67778 if ((uint32((_336_pC.X7)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { 67779 goto _1310 67780 } 67781 67782 func() int32 { 67783 if (_pOp.X5) == i32(0) { 67784 return i32(0) 67785 } 67786 return func() int32 { 67787 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82505), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70672))) 67788 crt.X__builtin_abort(tls) 67789 return i32(0) 67790 }() 67791 }() 67792 _336_cnt = i32(0) 67793 _1313: 67794 Xsqlite3_randomness(tls, int32(u32(8)), (unsafe.Pointer)(&_336_v)) 67795 { 67796 p := &_336_v 67797 *p = (*p) & i64(4611686018427387903) 67798 sink967 = *p 67799 } 67800 _336_v += 1 67801 if ((store961(&_rc, _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(36 /* X14 */))))))), (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), int64(uint64(_336_v)), i32(0), &_336_res)) == i32(0)) && (_336_res == i32(0))) && (preInc961(&_336_cnt, 1) < i32(100)) { 67802 goto _1313 67803 } 67804 67805 if _rc == 0 { 67806 goto _1316 67807 } 67808 67809 goto _abort_due_to_error 67810 67811 _1316: 67812 if _336_res != i32(0) { 67813 goto _1317 67814 } 67815 67816 _rc = i32(13) 67817 goto _abort_due_to_error 67818 67819 _1317: 67820 func() int32 { 67821 if _336_v > int64(i32(0)) { 67822 return i32(0) 67823 } 67824 return func() int32 { 67825 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82520), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70684))) 67826 crt.X__builtin_abort(tls) 67827 return i32(0) 67828 }() 67829 }() 67830 _1310: 67831 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 67832 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_336_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 67833 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _336_v 67834 goto _248 67835 67836 _168: 67837 _169: 67838 _352_op = i32(0) 67839 _352_pData = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 67840 func() int32 { 67841 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 67842 return i32(0) 67843 } 67844 return func() int32 { 67845 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 67846 crt.X__builtin_abort(tls) 67847 return i32(0) 67848 }() 67849 }() 67850 func() int32 { 67851 if (int32(_352_pData.X1) & i32(128)) == i32(0) { 67852 return i32(0) 67853 } 67854 return func() int32 { 67855 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82586), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70688))) 67856 crt.X__builtin_abort(tls) 67857 return i32(0) 67858 }() 67859 }() 67860 _352_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 67861 func() int32 { 67862 if _352_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67863 return i32(0) 67864 } 67865 return func() int32 { 67866 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82588), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 67867 crt.X__builtin_abort(tls) 67868 return i32(0) 67869 }() 67870 }() 67871 func() int32 { 67872 if int32(_352_pC.X0) == i32(0) { 67873 return i32(0) 67874 } 67875 return func() int32 { 67876 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82589), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 67877 crt.X__builtin_abort(tls) 67878 return i32(0) 67879 }() 67880 }() 67881 func() int32 { 67882 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 67883 return i32(0) 67884 } 67885 return func() int32 { 67886 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82590), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 67887 crt.X__builtin_abort(tls) 67888 return i32(0) 67889 }() 67890 }() 67891 func() int32 { 67892 if (int32(_pOp.X2)&i32(64)) != 0 || ((_352_pC.X4) != 0) { 67893 return i32(0) 67894 } 67895 return func() int32 { 67896 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82591), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70708))) 67897 crt.X__builtin_abort(tls) 67898 return i32(0) 67899 }() 67900 }() 67901 func() int32 { 67902 if (int32(_pOp.X1) == i32(-15)) || (int32(_pOp.X1) >= i32(-2)) { 67903 return i32(0) 67904 } 67905 return func() int32 { 67906 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82592), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70752))) 67907 crt.X__builtin_abort(tls) 67908 return i32(0) 67909 }() 67910 }() 67911 if ((_db.X6) & i32(1)) == 0 { 67912 goto _1337 67913 } 67914 67915 _registerTrace(tls, _pOp.X4, _352_pData) 67916 _1337: 67917 if int32(_pOp.X0) != i32(116) { 67918 goto _1338 67919 } 67920 67921 _352_pKey = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 67922 func() int32 { 67923 if (int32(_352_pKey.X1) & i32(4)) != 0 { 67924 return i32(0) 67925 } 67926 return func() int32 { 67927 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82597), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70800))) 67928 crt.X__builtin_abort(tls) 67929 return i32(0) 67930 }() 67931 }() 67932 func() int32 { 67933 if (int32(_352_pKey.X1) & i32(128)) == i32(0) { 67934 return i32(0) 67935 } 67936 return func() int32 { 67937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82598), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70824))) 67938 crt.X__builtin_abort(tls) 67939 return i32(0) 67940 }() 67941 }() 67942 if ((_db.X6) & i32(1)) == 0 { 67943 goto _1343 67944 } 67945 67946 _registerTrace(tls, _pOp.X5, _352_pKey) 67947 _1343: 67948 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(4 /* X1 */))) = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pKey)) + uintptr(0 /* X0 */))))) 67949 goto _1344 67950 67951 _1338: 67952 func() int32 { 67953 if int32(_pOp.X0) == i32(117) { 67954 return i32(0) 67955 } 67956 return func() int32 { 67957 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82602), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70844))) 67958 crt.X__builtin_abort(tls) 67959 return i32(0) 67960 }() 67961 }() 67962 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(4 /* X1 */))) = int64(_pOp.X5) 67963 _1344: 67964 if int32(_pOp.X1) != i32(-15) || (_db.X50) == nil { 67965 goto _1348 67966 } 67967 67968 func() int32 { 67969 if int32(_352_pC.X1) >= i32(0) { 67970 return i32(0) 67971 } 67972 return func() int32 { 67973 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82607), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70872))) 67974 crt.X__builtin_abort(tls) 67975 return i32(0) 67976 }() 67977 }() 67978 _352_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_352_pC.X1))).X0 67979 _352_pTab = (*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 67980 func() int32 { 67981 if (int32(_pOp.X2)&i32(64)) != 0 || (((_352_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) { 67982 return i32(0) 67983 } 67984 return func() int32 { 67985 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82610), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70884))) 67986 crt.X__builtin_abort(tls) 67987 return i32(0) 67988 }() 67989 }() 67990 _352_op = func() int32 { 67991 if (int32(_pOp.X2) & i32(4)) != 0 { 67992 return i32(23) 67993 } 67994 return i32(18) 67995 }() 67996 goto _1356 67997 67998 _1348: 67999 _352_pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 68000 _352_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 68001 _1356: 68002 if (int32(_pOp.X2) & i32(1)) == 0 { 68003 goto _1357 68004 } 68005 68006 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) += 1 68007 _1357: 68008 if (int32(_pOp.X2) & i32(32)) == 0 { 68009 goto _1358 68010 } 68011 68012 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(28 /* X7 */))) = _352_x.X1 68013 _1358: 68014 if (int32(_352_pData.X1) & i32(1)) == 0 { 68015 goto _1359 68016 } 68017 68018 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(12 /* X2 */))) = (unsafe.Pointer)(uintptr(i32(0))) 68019 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(24 /* X5 */))) = i32(0) 68020 goto _1360 68021 68022 _1359: 68023 func() int32 { 68024 if (int32(_352_pData.X1) & i32(18)) != 0 { 68025 return i32(0) 68026 } 68027 return func() int32 { 68028 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82634), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70928))) 68029 crt.X__builtin_abort(tls) 68030 return i32(0) 68031 }() 68032 }() 68033 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(12 /* X2 */))) = (unsafe.Pointer)(_352_pData.X5) 68034 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(24 /* X5 */))) = _352_pData.X4 68035 _1360: 68036 _352_seekResult = func() int32 { 68037 if (int32(_pOp.X2) & i32(16)) != 0 { 68038 return (_352_pC.X12) 68039 } 68040 return i32(0) 68041 }() 68042 if (int32(_352_pData.X1) & i32(16384)) == 0 { 68043 goto _1365 68044 } 68045 68046 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(28 /* X6 */))) = *(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pData)) + uintptr(0 /* X0 */))))) 68047 goto _1366 68048 68049 _1365: 68050 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(28 /* X6 */))) = i32(0) 68051 _1366: 68052 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_352_x)) + uintptr(0 /* X0 */))) = (unsafe.Pointer)(uintptr(i32(0))) 68053 _rc = _sqlite3BtreeInsert(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(36 /* X14 */))))))), &_352_x, int32(_pOp.X2)&i32(10), _352_seekResult) 68054 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 68055 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_352_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 68056 if _rc == 0 { 68057 goto _1367 68058 } 68059 68060 goto _abort_due_to_error 68061 68062 _1367: 68063 if (_db.X50) == nil || _352_op == 0 { 68064 goto _1369 68065 } 68066 68067 (_db.X50)(tls, _db.X49, _352_op, _352_zDb, _352_pTab.X0, _352_x.X1) 68068 _1369: 68069 goto _248 68070 68071 _170: 68072 _362_opflags = _pOp.X4 68073 func() int32 { 68074 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68075 return i32(0) 68076 } 68077 return func() int32 { 68078 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82701), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68079 crt.X__builtin_abort(tls) 68080 return i32(0) 68081 }() 68082 }() 68083 _362_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68084 func() int32 { 68085 if _362_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68086 return i32(0) 68087 } 68088 return func() int32 { 68089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82703), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68090 crt.X__builtin_abort(tls) 68091 return i32(0) 68092 }() 68093 }() 68094 func() int32 { 68095 if int32(_362_pC.X0) == i32(0) { 68096 return i32(0) 68097 } 68098 return func() int32 { 68099 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82704), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 68100 crt.X__builtin_abort(tls) 68101 return i32(0) 68102 }() 68103 }() 68104 func() int32 { 68105 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68106 return i32(0) 68107 } 68108 return func() int32 { 68109 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82705), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 68110 crt.X__builtin_abort(tls) 68111 return i32(0) 68112 }() 68113 }() 68114 func() int32 { 68115 if int32(_362_pC.X3) == i32(0) { 68116 return i32(0) 68117 } 68118 return func() int32 { 68119 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82706), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 68120 crt.X__builtin_abort(tls) 68121 return i32(0) 68122 }() 68123 }() 68124 if int32(_pOp.X1) != i32(-15) || (((*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X9)&uint32(i32(32))) != uint32(i32(0)) || int32(_pOp.X2) != i32(0) { 68125 goto _1383 68126 } 68127 68128 _363_iKey = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(36 /* X14 */)))))))) 68129 func() int32 { 68130 if (_362_pC.X20) == _363_iKey { 68131 return i32(0) 68132 } 68133 return func() int32 { 68134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82714), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70988))) 68135 crt.X__builtin_abort(tls) 68136 return i32(0) 68137 }() 68138 }() 68139 _1383: 68140 if int32(_pOp.X1) != i32(-15) || (_db.X50) == nil { 68141 goto _1387 68142 } 68143 68144 func() int32 { 68145 if int32(_362_pC.X1) >= i32(0) { 68146 return i32(0) 68147 } 68148 return func() int32 { 68149 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70872))) 68150 crt.X__builtin_abort(tls) 68151 return i32(0) 68152 }() 68153 }() 68154 func() int32 { 68155 if (*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 68156 return i32(0) 68157 } 68158 return func() int32 { 68159 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82725), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71012))) 68160 crt.X__builtin_abort(tls) 68161 return i32(0) 68162 }() 68163 }() 68164 _362_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_362_pC.X1))).X0 68165 _362_pTab = (*XTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 68166 if (int32(_pOp.X2)&i32(2)) == i32(0) || (_362_pC.X4) == 0 { 68167 goto _1393 68168 } 68169 68170 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(56 /* X20 */))) = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(36 /* X14 */)))))))) 68171 _1393: 68172 goto _1394 68173 68174 _1387: 68175 _362_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 68176 _362_pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 68177 _1394: 68178 func() int32 { 68179 if (int32(_pOp.X2) & i32(-7)) == i32(0) { 68180 return i32(0) 68181 } 68182 return func() int32 { 68183 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82753), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71028))) 68184 crt.X__builtin_abort(tls) 68185 return i32(0) 68186 }() 68187 }() 68188 i32(0) 68189 i32(0) 68190 if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) != (*XVdbeFrame)(unsafe.Pointer(uintptr(i32(0)))) { 68191 goto _1397 68192 } 68193 68194 if int32((uint32(_362_pC.X7)<<uint(i32(31)))>>uint(i32(31))) != i32(0) || (int32(_pOp.X2)&i32(4)) != i32(0) || (int32(_362_pC.X6)&i32(8)) != i32(0) { 68195 goto _1400 68196 } 68197 68198 _nExtraDelete += 1 68199 _1400: 68200 if ((_pOp.X4) & i32(1)) == 0 { 68201 goto _1401 68202 } 68203 68204 _nExtraDelete -= 1 68205 _1401: 68206 _1397: 68207 _rc = _sqlite3BtreeDelete(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(36 /* X14 */))))))), uint8(_pOp.X2)) 68208 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 68209 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_362_pC)) + uintptr(28 /* X12 */))) = i32(0) 68210 if _rc == 0 { 68211 goto _1402 68212 } 68213 68214 goto _abort_due_to_error 68215 68216 _1402: 68217 if (_362_opflags & i32(1)) == 0 { 68218 goto _1403 68219 } 68220 68221 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) += 1 68222 if (_db.X50) == nil || ((_362_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) { 68223 goto _1405 68224 } 68225 68226 (_db.X50)(tls, _db.X49, i32(9), _362_zDb, _362_pTab.X0, _362_pC.X20) 68227 func() int32 { 68228 if int32(_362_pC.X1) >= i32(0) { 68229 return i32(0) 68230 } 68231 return func() int32 { 68232 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82782), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70872))) 68233 crt.X__builtin_abort(tls) 68234 return i32(0) 68235 }() 68236 }() 68237 _1405: 68238 _1403: 68239 goto _248 68240 68241 _171: 68242 _sqlite3VdbeSetChanges(tls, _db, _p.X11) 68243 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 68244 goto _248 68245 68246 _172: 68247 _373_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68248 func() int32 { 68249 if int32(_373_pC.X0) == i32(1) { 68250 return i32(0) 68251 } 68252 return func() int32 { 68253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82822), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69680))) 68254 crt.X__builtin_abort(tls) 68255 return i32(0) 68256 }() 68257 }() 68258 func() int32 { 68259 if int32(_pOp.X1) == i32(-11) { 68260 return i32(0) 68261 } 68262 return func() int32 { 68263 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82823), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70048))) 68264 crt.X__builtin_abort(tls) 68265 return i32(0) 68266 }() 68267 }() 68268 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 68269 _373_nKeyCol = *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 68270 _373_res = i32(0) 68271 _rc = _sqlite3VdbeSorterCompare(tls, _373_pC, _pIn3, _373_nKeyCol, &_373_res) 68272 if _rc == 0 { 68273 goto _1412 68274 } 68275 68276 goto _abort_due_to_error 68277 68278 _1412: 68279 if _373_res == 0 { 68280 goto _1413 68281 } 68282 68283 goto _jump_to_p2 68284 68285 _1413: 68286 goto _248 68287 68288 _173: 68289 _pOut = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 68290 _374_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68291 func() int32 { 68292 if int32(_374_pC.X0) == i32(1) { 68293 return i32(0) 68294 } 68295 return func() int32 { 68296 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82851), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69680))) 68297 crt.X__builtin_abort(tls) 68298 return i32(0) 68299 }() 68300 }() 68301 _rc = _sqlite3VdbeSorterRowkey(tls, _374_pC, _pOut) 68302 func() int32 { 68303 if (_rc != i32(0)) || (int32(_pOut.X1)&i32(16)) != 0 { 68304 return i32(0) 68305 } 68306 return func() int32 { 68307 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82853), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71084))) 68308 crt.X__builtin_abort(tls) 68309 return i32(0) 68310 }() 68311 }() 68312 func() int32 { 68313 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68314 return i32(0) 68315 } 68316 return func() int32 { 68317 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82854), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68318 crt.X__builtin_abort(tls) 68319 return i32(0) 68320 }() 68321 }() 68322 if _rc == 0 { 68323 goto _1422 68324 } 68325 68326 goto _abort_due_to_error 68327 68328 _1422: 68329 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X5))))) + uintptr(24 /* X11 */))) = uint32(i32(0)) 68330 goto _248 68331 68332 _174: 68333 _pOut = _out2Prerelease(tls, _p, _pOp) 68334 func() int32 { 68335 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68336 return i32(0) 68337 } 68338 return func() int32 { 68339 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82895), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68340 crt.X__builtin_abort(tls) 68341 return i32(0) 68342 }() 68343 }() 68344 _375_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68345 func() int32 { 68346 if _375_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68347 return i32(0) 68348 } 68349 return func() int32 { 68350 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82897), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68351 crt.X__builtin_abort(tls) 68352 return i32(0) 68353 }() 68354 }() 68355 func() int32 { 68356 if int32(_375_pC.X0) == i32(0) { 68357 return i32(0) 68358 } 68359 return func() int32 { 68360 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82898), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 68361 crt.X__builtin_abort(tls) 68362 return i32(0) 68363 }() 68364 }() 68365 func() int32 { 68366 if bool2int(int32(_375_pC.X0) == i32(1)) == i32(0) { 68367 return i32(0) 68368 } 68369 return func() int32 { 68370 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82899), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71128))) 68371 crt.X__builtin_abort(tls) 68372 return i32(0) 68373 }() 68374 }() 68375 func() int32 { 68376 if int32(_375_pC.X2) == i32(0) { 68377 return i32(0) 68378 } 68379 return func() int32 { 68380 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82900), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71144))) 68381 crt.X__builtin_abort(tls) 68382 return i32(0) 68383 }() 68384 }() 68385 func() int32 { 68386 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_375_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68387 return i32(0) 68388 } 68389 return func() int32 { 68390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82901), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 68391 crt.X__builtin_abort(tls) 68392 return i32(0) 68393 }() 68394 }() 68395 _375_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_375_pC)) + uintptr(36 /* X14 */))))))) 68396 func() int32 { 68397 if int32(_375_pC.X3) == i32(0) { 68398 return i32(0) 68399 } 68400 return func() int32 { 68401 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82912), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 68402 crt.X__builtin_abort(tls) 68403 return i32(0) 68404 }() 68405 }() 68406 func() int32 { 68407 if _sqlite3BtreeCursorIsValid(tls, _375_pCrsr) != 0 { 68408 return i32(0) 68409 } 68410 return func() int32 { 68411 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82913), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67604))) 68412 crt.X__builtin_abort(tls) 68413 return i32(0) 68414 }() 68415 }() 68416 _375_n = _sqlite3BtreePayloadSize(tls, _375_pCrsr) 68417 if _375_n <= uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 68418 goto _1440 68419 } 68420 68421 goto _too_big 68422 68423 _1440: 68424 _rc = _sqlite3VdbeMemFromBtree(tls, _375_pCrsr, uint32(i32(0)), _375_n, _pOut) 68425 if _rc == 0 { 68426 goto _1441 68427 } 68428 68429 goto _abort_due_to_error 68430 68431 _1441: 68432 if (_pOp.X5) != 0 { 68433 goto _1442 68434 } 68435 68436 if (int32(_pOut.X1)&i32(4096)) == i32(0) || _sqlite3VdbeMemMakeWriteable(tls, _pOut) == 0 { 68437 goto _1444 68438 } 68439 68440 goto _no_mem 68441 68442 _1444: 68443 _1442: 68444 if ((_db.X6) & i32(1)) == 0 { 68445 goto _1445 68446 } 68447 68448 _registerTrace(tls, _pOp.X4, _pOut) 68449 _1445: 68450 goto _248 68451 68452 _175: 68453 _pOut = _out2Prerelease(tls, _p, _pOp) 68454 func() int32 { 68455 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68456 return i32(0) 68457 } 68458 return func() int32 { 68459 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82949), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68460 crt.X__builtin_abort(tls) 68461 return i32(0) 68462 }() 68463 }() 68464 _378_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68465 func() int32 { 68466 if _378_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68467 return i32(0) 68468 } 68469 return func() int32 { 68470 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82951), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68471 crt.X__builtin_abort(tls) 68472 return i32(0) 68473 }() 68474 }() 68475 func() int32 { 68476 if (int32(_378_pC.X0) != i32(3)) || ((_378_pC.X2) != 0) { 68477 return i32(0) 68478 } 68479 return func() int32 { 68480 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82952), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67424))) 68481 crt.X__builtin_abort(tls) 68482 return i32(0) 68483 }() 68484 }() 68485 if (_378_pC.X2) == 0 { 68486 goto _1454 68487 } 68488 68489 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 68490 goto _248 68491 68492 _1454: 68493 if (_378_pC.X3) == 0 { 68494 goto _1456 68495 } 68496 68497 _378_v = _378_pC.X20 68498 goto _1457 68499 68500 _1456: 68501 if int32(_378_pC.X0) != i32(2) { 68502 goto _1458 68503 } 68504 68505 func() int32 { 68506 if (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(36 /* X14 */))))))) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 68507 return i32(0) 68508 } 68509 return func() int32 { 68510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82960), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71160))) 68511 crt.X__builtin_abort(tls) 68512 return i32(0) 68513 }() 68514 }() 68515 _378_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(36 /* X14 */))))))).X0)) 68516 _378_pModule = (*Xsqlite3_module)(unsafe.Pointer(_378_pVtab.X0)) 68517 func() int32 { 68518 if (*(*func(*crt.TLS, *Xsqlite3_file, *int64) int32)(unsafe.Pointer(&struct { 68519 f func(*crt.TLS, unsafe.Pointer, *int64) int32 68520 }{(_378_pModule.X12)}))) != nil { 68521 return i32(0) 68522 } 68523 return func() int32 { 68524 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82963), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71176))) 68525 crt.X__builtin_abort(tls) 68526 return i32(0) 68527 }() 68528 }() 68529 _rc = (*(*func(*crt.TLS, *Xsqlite3_file, *int64) int32)(unsafe.Pointer(&struct { 68530 f func(*crt.TLS, unsafe.Pointer, *int64) int32 68531 }{(_378_pModule.X12)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(36 /* X14 */))))))), &_378_v) 68532 _sqlite3VtabImportErrmsg(tls, _p, _378_pVtab) 68533 if _rc == 0 { 68534 goto _1463 68535 } 68536 68537 goto _abort_due_to_error 68538 68539 _1463: 68540 goto _1464 68541 68542 _1458: 68543 func() int32 { 68544 if int32(_378_pC.X0) == i32(0) { 68545 return i32(0) 68546 } 68547 return func() int32 { 68548 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82969), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 68549 crt.X__builtin_abort(tls) 68550 return i32(0) 68551 }() 68552 }() 68553 func() int32 { 68554 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68555 return i32(0) 68556 } 68557 return func() int32 { 68558 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82970), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 68559 crt.X__builtin_abort(tls) 68560 return i32(0) 68561 }() 68562 }() 68563 _rc = _sqlite3VdbeCursorRestore(tls, _378_pC) 68564 if _rc == 0 { 68565 goto _1469 68566 } 68567 68568 goto _abort_due_to_error 68569 68570 _1469: 68571 if (_378_pC.X2) == 0 { 68572 goto _1470 68573 } 68574 68575 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 68576 goto _248 68577 68578 _1470: 68579 _378_v = _sqlite3BtreeIntegerKey(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_378_pC)) + uintptr(36 /* X14 */)))))))) 68580 _1464: 68581 _1457: 68582 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _378_v 68583 goto _248 68584 68585 _176: 68586 func() int32 { 68587 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68588 return i32(0) 68589 } 68590 return func() int32 { 68591 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82992), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68592 crt.X__builtin_abort(tls) 68593 return i32(0) 68594 }() 68595 }() 68596 _384_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68597 func() int32 { 68598 if _384_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68599 return i32(0) 68600 } 68601 return func() int32 { 68602 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82994), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68603 crt.X__builtin_abort(tls) 68604 return i32(0) 68605 }() 68606 }() 68607 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 68608 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 68609 if int32(_384_pC.X0) != i32(0) { 68610 goto _1476 68611 } 68612 68613 func() int32 { 68614 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68615 return i32(0) 68616 } 68617 return func() int32 { 68618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(82998), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 68619 crt.X__builtin_abort(tls) 68620 return i32(0) 68621 }() 68622 }() 68623 _sqlite3BtreeClearCursor(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_384_pC)) + uintptr(36 /* X14 */)))))))) 68624 _1476: 68625 goto _248 68626 68627 _177: 68628 func() int32 { 68629 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68630 return i32(0) 68631 } 68632 return func() int32 { 68633 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83028), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68634 crt.X__builtin_abort(tls) 68635 return i32(0) 68636 }() 68637 }() 68638 _386_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68639 func() int32 { 68640 if _386_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68641 return i32(0) 68642 } 68643 return func() int32 { 68644 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83030), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68645 crt.X__builtin_abort(tls) 68646 return i32(0) 68647 }() 68648 }() 68649 func() int32 { 68650 if int32(_386_pC.X0) == i32(0) { 68651 return i32(0) 68652 } 68653 return func() int32 { 68654 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 68655 crt.X__builtin_abort(tls) 68656 return i32(0) 68657 }() 68658 }() 68659 _386_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(36 /* X14 */))))))) 68660 _386_res = i32(0) 68661 func() int32 { 68662 if _386_pCrsr != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68663 return i32(0) 68664 } 68665 return func() int32 { 68666 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83034), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70452))) 68667 crt.X__builtin_abort(tls) 68668 return i32(0) 68669 }() 68670 }() 68671 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(28 /* X12 */))) = _pOp.X5 68672 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(5 /* X5 */))) = uint8(i32(53)) 68673 if (_pOp.X5) != i32(0) && _sqlite3BtreeCursorIsValidNN(tls, _386_pCrsr) != 0 { 68674 goto _1489 68675 } 68676 68677 _rc = _sqlite3BtreeLast(tls, _386_pCrsr, &_386_res) 68678 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(2 /* X2 */))) = uint8(_386_res) 68679 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 68680 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_386_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 68681 if _rc == 0 { 68682 goto _1490 68683 } 68684 68685 goto _abort_due_to_error 68686 68687 _1490: 68688 if (_pOp.X4) <= i32(0) { 68689 goto _1491 68690 } 68691 68692 if _386_res == 0 { 68693 goto _1492 68694 } 68695 68696 goto _jump_to_p2 68697 68698 _1492: 68699 _1491: 68700 goto _1493 68701 68702 _1489: 68703 func() int32 { 68704 if (_pOp.X4) == i32(0) { 68705 return i32(0) 68706 } 68707 return func() int32 { 68708 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83050), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71192))) 68709 crt.X__builtin_abort(tls) 68710 return i32(0) 68711 }() 68712 }() 68713 _1493: 68714 goto _248 68715 68716 _178: 68717 func() int32 { 68718 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68719 return i32(0) 68720 } 68721 return func() int32 { 68722 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83066), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68723 crt.X__builtin_abort(tls) 68724 return i32(0) 68725 }() 68726 }() 68727 _390_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68728 func() int32 { 68729 if _390_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68730 return i32(0) 68731 } 68732 return func() int32 { 68733 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83068), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68734 crt.X__builtin_abort(tls) 68735 return i32(0) 68736 }() 68737 }() 68738 _390_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_390_pC)) + uintptr(36 /* X14 */))))))) 68739 func() int32 { 68740 if _390_pCrsr != nil { 68741 return i32(0) 68742 } 68743 return func() int32 { 68744 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83070), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67596))) 68745 crt.X__builtin_abort(tls) 68746 return i32(0) 68747 }() 68748 }() 68749 _rc = _sqlite3BtreeFirst(tls, _390_pCrsr, &_390_res) 68750 if _rc == 0 { 68751 goto _1503 68752 } 68753 68754 goto _abort_due_to_error 68755 68756 _1503: 68757 if _390_res != i32(0) { 68758 goto _1504 68759 } 68760 68761 _390_sz = _sqlite3BtreeRowCountEst(tls, _390_pCrsr) 68762 if func() int32 { 68763 if _390_sz >= int64(i32(0)) { 68764 return i32(1) 68765 } 68766 return func() int32 { 68767 func() int32 { 68768 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83075), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(5204))) 68769 crt.X__builtin_abort(tls) 68770 return i32(0) 68771 }() 68772 return i32(0) 68773 }() 68774 }() == 0 || int32(_sqlite3LogEst(tls, uint64(_390_sz))) >= (_pOp.X5) { 68775 goto _1508 68776 } 68777 68778 _390_res = i32(1) 68779 _1508: 68780 _1504: 68781 if _390_res == 0 { 68782 goto _1509 68783 } 68784 68785 goto _jump_to_p2 68786 68787 _1509: 68788 goto _248 68789 68790 _179: 68791 _180: 68792 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(152 /* X35 */))))) + 4*uintptr(i32(2)))) += 1 68793 _181: 68794 func() int32 { 68795 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68796 return i32(0) 68797 } 68798 return func() int32 { 68799 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83130), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68800 crt.X__builtin_abort(tls) 68801 return i32(0) 68802 }() 68803 }() 68804 _393_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68805 func() int32 { 68806 if _393_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68807 return i32(0) 68808 } 68809 return func() int32 { 68810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83132), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68811 crt.X__builtin_abort(tls) 68812 return i32(0) 68813 }() 68814 }() 68815 func() int32 { 68816 if (int32(_393_pC.X0) == i32(1)) == (int32(_pOp.X0) == i32(56)) { 68817 return i32(0) 68818 } 68819 return func() int32 { 68820 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83133), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71204))) 68821 crt.X__builtin_abort(tls) 68822 return i32(0) 68823 }() 68824 }() 68825 _393_res = i32(1) 68826 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(5 /* X5 */))) = uint8(i32(58)) 68827 if int32(_393_pC.X0) != i32(1) { 68828 goto _1517 68829 } 68830 68831 _rc = _sqlite3VdbeSorterRewind(tls, _393_pC, &_393_res) 68832 goto _1518 68833 68834 _1517: 68835 func() int32 { 68836 if int32(_393_pC.X0) == i32(0) { 68837 return i32(0) 68838 } 68839 return func() int32 { 68840 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83141), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 68841 crt.X__builtin_abort(tls) 68842 return i32(0) 68843 }() 68844 }() 68845 _393_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(36 /* X14 */))))))) 68846 func() int32 { 68847 if _393_pCrsr != nil { 68848 return i32(0) 68849 } 68850 return func() int32 { 68851 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83143), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67596))) 68852 crt.X__builtin_abort(tls) 68853 return i32(0) 68854 }() 68855 }() 68856 _rc = _sqlite3BtreeFirst(tls, _393_pCrsr, &_393_res) 68857 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 68858 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 68859 _1518: 68860 if _rc == 0 { 68861 goto _1523 68862 } 68863 68864 goto _abort_due_to_error 68865 68866 _1523: 68867 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_393_pC)) + uintptr(2 /* X2 */))) = uint8(_393_res) 68868 func() int32 { 68869 if ((_pOp.X4) > i32(0)) && ((_pOp.X4) < (_p.X27)) { 68870 return i32(0) 68871 } 68872 return func() int32 { 68873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83150), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71248))) 68874 crt.X__builtin_abort(tls) 68875 return i32(0) 68876 }() 68877 }() 68878 if _393_res == 0 { 68879 goto _1527 68880 } 68881 68882 goto _jump_to_p2 68883 68884 _1527: 68885 goto _248 68886 68887 _182: 68888 _396_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68889 func() int32 { 68890 if int32(_396_pC.X0) == i32(1) { 68891 return i32(0) 68892 } 68893 return func() int32 { 68894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83231), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69680))) 68895 crt.X__builtin_abort(tls) 68896 return i32(0) 68897 }() 68898 }() 68899 _396_res = i32(0) 68900 _rc = _sqlite3VdbeSorterNext(tls, _db, _396_pC, &_396_res) 68901 goto _next_tail 68902 68903 _183: 68904 _184: 68905 if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3)))) != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68906 goto _1530 68907 } 68908 68909 goto _248 68910 68911 _1530: 68912 _185: 68913 _186: 68914 func() int32 { 68915 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 68916 return i32(0) 68917 } 68918 return func() int32 { 68919 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83241), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 68920 crt.X__builtin_abort(tls) 68921 return i32(0) 68922 }() 68923 }() 68924 func() int32 { 68925 if int32(_pOp.X2) < i32(5) { 68926 return i32(0) 68927 } 68928 return func() int32 { 68929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83242), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71276))) 68930 crt.X__builtin_abort(tls) 68931 return i32(0) 68932 }() 68933 }() 68934 _396_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 68935 _396_res = _pOp.X5 68936 func() int32 { 68937 if _396_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 68938 return i32(0) 68939 } 68940 return func() int32 { 68941 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83245), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 68942 crt.X__builtin_abort(tls) 68943 return i32(0) 68944 }() 68945 }() 68946 func() int32 { 68947 if int32(_396_pC.X3) == i32(0) { 68948 return i32(0) 68949 } 68950 return func() int32 { 68951 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83246), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 68952 crt.X__builtin_abort(tls) 68953 return i32(0) 68954 }() 68955 }() 68956 func() int32 { 68957 if int32(_396_pC.X0) == i32(0) { 68958 return i32(0) 68959 } 68960 return func() int32 { 68961 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83247), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 68962 crt.X__builtin_abort(tls) 68963 return i32(0) 68964 }() 68965 }() 68966 func() int32 { 68967 if (_396_res == i32(0)) || ((_396_res == i32(1)) && (int32(_396_pC.X4) == i32(0))) { 68968 return i32(0) 68969 } 68970 return func() int32 { 68971 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83248), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71308))) 68972 crt.X__builtin_abort(tls) 68973 return i32(0) 68974 }() 68975 }() 68976 func() int32 { 68977 if (int32(_pOp.X0) != i32(7)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 68978 f func(*crt.TLS, *XBtCursor, *int32) int32 68979 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { 68980 f func(*crt.TLS, unsafe.Pointer, *int32) int32 68981 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 68982 f func(*crt.TLS, *XBtCursor, *int32) int32 68983 }{_sqlite3BtreeNext}))) { 68984 return i32(0) 68985 } 68986 return func() int32 { 68987 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83250), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71348))) 68988 crt.X__builtin_abort(tls) 68989 return i32(0) 68990 }() 68991 }() 68992 func() int32 { 68993 if (int32(_pOp.X0) != i32(6)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 68994 f func(*crt.TLS, *XBtCursor, *int32) int32 68995 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { 68996 f func(*crt.TLS, unsafe.Pointer, *int32) int32 68997 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 68998 f func(*crt.TLS, *XBtCursor, *int32) int32 68999 }{_sqlite3BtreePrevious}))) { 69000 return i32(0) 69001 } 69002 return func() int32 { 69003 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83251), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71408))) 69004 crt.X__builtin_abort(tls) 69005 return i32(0) 69006 }() 69007 }() 69008 func() int32 { 69009 if (int32(_pOp.X0) != i32(5)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 69010 f func(*crt.TLS, *XBtCursor, *int32) int32 69011 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { 69012 f func(*crt.TLS, unsafe.Pointer, *int32) int32 69013 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 69014 f func(*crt.TLS, *XBtCursor, *int32) int32 69015 }{_sqlite3BtreeNext}))) { 69016 return i32(0) 69017 } 69018 return func() int32 { 69019 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83252), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71472))) 69020 crt.X__builtin_abort(tls) 69021 return i32(0) 69022 }() 69023 }() 69024 func() int32 { 69025 if (int32(_pOp.X0) != i32(4)) || (*(*unsafe.Pointer)(unsafe.Pointer(&struct { 69026 f func(*crt.TLS, *XBtCursor, *int32) int32 69027 }{(*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { 69028 f func(*crt.TLS, unsafe.Pointer, *int32) int32 69029 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 69030 f func(*crt.TLS, *XBtCursor, *int32) int32 69031 }{_sqlite3BtreePrevious}))) { 69032 return i32(0) 69033 } 69034 return func() int32 { 69035 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83253), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71540))) 69036 crt.X__builtin_abort(tls) 69037 return i32(0) 69038 }() 69039 }() 69040 func() int32 { 69041 if (((((int32(_pOp.X0) != i32(7)) || (int32(_pOp.X0) != i32(5))) || (int32(_396_pC.X5) == i32(26))) || (int32(_396_pC.X5) == i32(25))) || (int32(_396_pC.X5) == i32(58))) || (int32(_396_pC.X5) == i32(31)) { 69042 return i32(0) 69043 } 69044 return func() int32 { 69045 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83257), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71612))) 69046 crt.X__builtin_abort(tls) 69047 return i32(0) 69048 }() 69049 }() 69050 func() int32 { 69051 if ((((int32(_pOp.X0) != i32(6)) || (int32(_pOp.X0) != i32(4))) || (int32(_396_pC.X5) == i32(23))) || (int32(_396_pC.X5) == i32(24))) || (int32(_396_pC.X5) == i32(53)) { 69052 return i32(0) 69053 } 69054 return func() int32 { 69055 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83260), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71764))) 69056 crt.X__builtin_abort(tls) 69057 return i32(0) 69058 }() 69059 }() 69060 _rc = (*(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer(&struct { 69061 f func(*crt.TLS, unsafe.Pointer, *int32) int32 69062 }{(*(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))})))(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(36 /* X14 */))))))), &_396_res) 69063 _next_tail: 69064 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 69065 if _rc == 0 { 69066 goto _1571 69067 } 69068 69069 goto _abort_due_to_error 69070 69071 _1571: 69072 if _396_res != i32(0) { 69073 goto _1572 69074 } 69075 69076 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 69077 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(152 /* X35 */))))) + 4*uintptr(_pOp.X2))) += 1 69078 goto _jump_to_p2_and_check_for_interrupt 69079 69080 _1572: 69081 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_396_pC)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 69082 goto _check_for_interrupt 69083 69084 _187: 69085 _188: 69086 func() int32 { 69087 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 69088 return i32(0) 69089 } 69090 return func() int32 { 69091 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83322), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 69092 crt.X__builtin_abort(tls) 69093 return i32(0) 69094 }() 69095 }() 69096 _399_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 69097 func() int32 { 69098 if _399_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69099 return i32(0) 69100 } 69101 return func() int32 { 69102 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83324), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 69103 crt.X__builtin_abort(tls) 69104 return i32(0) 69105 }() 69106 }() 69107 func() int32 { 69108 if (int32(_399_pC.X0) == i32(1)) == (int32(_pOp.X0) == i32(125)) { 69109 return i32(0) 69110 } 69111 return func() int32 { 69112 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83325), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71888))) 69113 crt.X__builtin_abort(tls) 69114 return i32(0) 69115 }() 69116 }() 69117 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 69118 func() int32 { 69119 if (int32(_pIn2.X1) & i32(16)) != 0 { 69120 return i32(0) 69121 } 69122 return func() int32 { 69123 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83327), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71936))) 69124 crt.X__builtin_abort(tls) 69125 return i32(0) 69126 }() 69127 }() 69128 if (int32(_pOp.X2) & i32(1)) == 0 { 69129 goto _1583 69130 } 69131 69132 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) += 1 69133 _1583: 69134 func() int32 { 69135 if (int32(_399_pC.X0) == i32(0)) || (int32(_pOp.X0) == i32(125)) { 69136 return i32(0) 69137 } 69138 return func() int32 { 69139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83329), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(71960))) 69140 crt.X__builtin_abort(tls) 69141 return i32(0) 69142 }() 69143 }() 69144 func() int32 { 69145 if int32(_399_pC.X4) == i32(0) { 69146 return i32(0) 69147 } 69148 return func() int32 { 69149 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83330), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70324))) 69150 crt.X__builtin_abort(tls) 69151 return i32(0) 69152 }() 69153 }() 69154 _rc = func() int32 { 69155 if (int32(_pIn2.X1) & i32(16384)) != 0 { 69156 return _sqlite3VdbeMemExpandBlob(tls, _pIn2) 69157 } 69158 return i32(0) 69159 }() 69160 if _rc == 0 { 69161 goto _1591 69162 } 69163 69164 goto _abort_due_to_error 69165 69166 _1591: 69167 if int32(_pOp.X0) != i32(125) { 69168 goto _1592 69169 } 69170 69171 _rc = _sqlite3VdbeSorterWrite(tls, _399_pC, _pIn2) 69172 goto _1593 69173 69174 _1592: 69175 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(4 /* X1 */))) = int64(_pIn2.X4) 69176 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(0 /* X0 */))) = (unsafe.Pointer)(_pIn2.X5) 69177 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(16 /* X3 */))))) = (*XMem)(unsafe.Pointer(uintptr(unsafe.Pointer(_aMem)) + uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(_pOp.X5)))))*uintptr(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr(48))))))))))) 69178 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_399_x)) + uintptr(20 /* X4 */))) = uint16(*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 69179 _rc = _sqlite3BtreeInsert(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_399_pC)) + uintptr(36 /* X14 */))))))), &_399_x, int32(_pOp.X2)&i32(10), func() int32 { 69180 if (int32(_pOp.X2) & i32(16)) != 0 { 69181 return (_399_pC.X12) 69182 } 69183 return i32(0) 69184 }()) 69185 func() int32 { 69186 if int32(_399_pC.X3) == i32(0) { 69187 return i32(0) 69188 } 69189 return func() int32 { 69190 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83344), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 69191 crt.X__builtin_abort(tls) 69192 return i32(0) 69193 }() 69194 }() 69195 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_399_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 69196 _1593: 69197 if _rc == 0 { 69198 goto _1598 69199 } 69200 69201 goto _abort_due_to_error 69202 69203 _1598: 69204 goto _248 69205 69206 _189: 69207 func() int32 { 69208 if (_pOp.X5) > i32(0) { 69209 return i32(0) 69210 } 69211 return func() int32 { 69212 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83364), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64676))) 69213 crt.X__builtin_abort(tls) 69214 return i32(0) 69215 }() 69216 }() 69217 func() int32 { 69218 if ((_pOp.X4) > i32(0)) && (((_pOp.X4) + (_pOp.X5)) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1))) { 69219 return i32(0) 69220 } 69221 return func() int32 { 69222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83365), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72020))) 69223 crt.X__builtin_abort(tls) 69224 return i32(0) 69225 }() 69226 }() 69227 func() int32 { 69228 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 69229 return i32(0) 69230 } 69231 return func() int32 { 69232 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83366), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 69233 crt.X__builtin_abort(tls) 69234 return i32(0) 69235 }() 69236 }() 69237 _402_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 69238 func() int32 { 69239 if _402_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69240 return i32(0) 69241 } 69242 return func() int32 { 69243 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 69244 crt.X__builtin_abort(tls) 69245 return i32(0) 69246 }() 69247 }() 69248 func() int32 { 69249 if int32(_402_pC.X0) == i32(0) { 69250 return i32(0) 69251 } 69252 return func() int32 { 69253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 69254 crt.X__builtin_abort(tls) 69255 return i32(0) 69256 }() 69257 }() 69258 _402_pCrsr = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_402_pC)) + uintptr(36 /* X14 */))))))) 69259 func() int32 { 69260 if _402_pCrsr != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69261 return i32(0) 69262 } 69263 return func() int32 { 69264 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83371), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70452))) 69265 crt.X__builtin_abort(tls) 69266 return i32(0) 69267 }() 69268 }() 69269 func() int32 { 69270 if int32(_pOp.X2) == i32(0) { 69271 return i32(0) 69272 } 69273 return func() int32 { 69274 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83372), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69708))) 69275 crt.X__builtin_abort(tls) 69276 return i32(0) 69277 }() 69278 }() 69279 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_402_pC.X15)) 69280 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(8 /* X2 */))) = uint16(_pOp.X5) 69281 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(10 /* X3 */))) = int8(i32(0)) 69282 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_402_r)) + uintptr(4 /* X1 */))))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 69283 _rc = _sqlite3BtreeMovetoUnpacked(tls, _402_pCrsr, &_402_r, int64(i32(0)), i32(0), &_402_res) 69284 if _rc == 0 { 69285 goto _1615 69286 } 69287 69288 goto _abort_due_to_error 69289 69290 _1615: 69291 if _402_res != i32(0) { 69292 goto _1616 69293 } 69294 69295 _rc = _sqlite3BtreeDelete(tls, _402_pCrsr, uint8(i32(4))) 69296 if _rc == 0 { 69297 goto _1617 69298 } 69299 69300 goto _abort_due_to_error 69301 69302 _1617: 69303 _1616: 69304 func() int32 { 69305 if int32(_402_pC.X3) == i32(0) { 69306 return i32(0) 69307 } 69308 return func() int32 { 69309 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83383), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 69310 crt.X__builtin_abort(tls) 69311 return i32(0) 69312 }() 69313 }() 69314 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_402_pC)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 69315 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_402_pC)) + uintptr(28 /* X12 */))) = i32(0) 69316 goto _248 69317 69318 _190: 69319 _191: 69320 func() int32 { 69321 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 69322 return i32(0) 69323 } 69324 return func() int32 { 69325 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83423), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 69326 crt.X__builtin_abort(tls) 69327 return i32(0) 69328 }() 69329 }() 69330 _404_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 69331 func() int32 { 69332 if _404_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69333 return i32(0) 69334 } 69335 return func() int32 { 69336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83425), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 69337 crt.X__builtin_abort(tls) 69338 return i32(0) 69339 }() 69340 }() 69341 func() int32 { 69342 if int32(_404_pC.X0) == i32(0) { 69343 return i32(0) 69344 } 69345 return func() int32 { 69346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83426), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 69347 crt.X__builtin_abort(tls) 69348 return i32(0) 69349 }() 69350 }() 69351 func() int32 { 69352 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69353 return i32(0) 69354 } 69355 return func() int32 { 69356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83427), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 69357 crt.X__builtin_abort(tls) 69358 return i32(0) 69359 }() 69360 }() 69361 func() int32 { 69362 if int32(_404_pC.X4) == i32(0) { 69363 return i32(0) 69364 } 69365 return func() int32 { 69366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83428), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70324))) 69367 crt.X__builtin_abort(tls) 69368 return i32(0) 69369 }() 69370 }() 69371 func() int32 { 69372 if int32(_404_pC.X3) == i32(0) { 69373 return i32(0) 69374 } 69375 return func() int32 { 69376 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83429), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 69377 crt.X__builtin_abort(tls) 69378 return i32(0) 69379 }() 69380 }() 69381 func() int32 { 69382 if ((_404_pC.X2) == 0) || (int32(_pOp.X0) == i32(129)) { 69383 return i32(0) 69384 } 69385 return func() int32 { 69386 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83430), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72080))) 69387 crt.X__builtin_abort(tls) 69388 return i32(0) 69389 }() 69390 }() 69391 _rc = _sqlite3VdbeCursorRestore(tls, _404_pC) 69392 if func() int32 { 69393 if _rc != i32(0) { 69394 return func() int32 { 69395 func() int32 { 69396 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83439), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(5204))) 69397 crt.X__builtin_abort(tls) 69398 return i32(0) 69399 }() 69400 return i32(1) 69401 }() 69402 } 69403 return i32(0) 69404 }() == 0 { 69405 goto _1638 69406 } 69407 69408 goto _abort_due_to_error 69409 69410 _1638: 69411 if (_404_pC.X2) != 0 { 69412 goto _1639 69413 } 69414 69415 _404_rowid = int64(i32(0)) 69416 _rc = _sqlite3VdbeIdxRowid(tls, _db, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pC)) + uintptr(36 /* X14 */))))))), &_404_rowid) 69417 if _rc == i32(0) { 69418 goto _1640 69419 } 69420 69421 goto _abort_due_to_error 69422 69423 _1640: 69424 if int32(_pOp.X0) != i32(128) { 69425 goto _1641 69426 } 69427 69428 func() int32 { 69429 if ((_pOp.X5) >= i32(0)) && ((_pOp.X5) < (_p.X7)) { 69430 return i32(0) 69431 } 69432 return func() int32 { 69433 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83448), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72124))) 69434 crt.X__builtin_abort(tls) 69435 return i32(0) 69436 }() 69437 }() 69438 _404_pTabCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X5))) 69439 func() int32 { 69440 if _404_pTabCur != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69441 return i32(0) 69442 } 69443 return func() int32 { 69444 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83450), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72160))) 69445 crt.X__builtin_abort(tls) 69446 return i32(0) 69447 }() 69448 }() 69449 func() int32 { 69450 if int32(_404_pTabCur.X0) == i32(0) { 69451 return i32(0) 69452 } 69453 return func() int32 { 69454 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83451), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72172))) 69455 crt.X__builtin_abort(tls) 69456 return i32(0) 69457 }() 69458 }() 69459 func() int32 { 69460 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69461 return i32(0) 69462 } 69463 return func() int32 { 69464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83452), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72208))) 69465 crt.X__builtin_abort(tls) 69466 return i32(0) 69467 }() 69468 }() 69469 func() int32 { 69470 if (_404_pTabCur.X4) != 0 { 69471 return i32(0) 69472 } 69473 return func() int32 { 69474 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83453), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72232))) 69475 crt.X__builtin_abort(tls) 69476 return i32(0) 69477 }() 69478 }() 69479 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 69480 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(56 /* X20 */))) = _404_rowid 69481 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(3 /* X3 */))) = uint8(i32(1)) 69482 func() int32 { 69483 if (int32(_pOp.X1) == i32(-12)) || ((*(**int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == (*int32)(unsafe.Pointer(uintptr(i32(0))))) { 69484 return i32(0) 69485 } 69486 return func() int32 { 69487 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83457), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72252))) 69488 crt.X__builtin_abort(tls) 69489 return i32(0) 69490 }() 69491 }() 69492 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(20 /* X10 */))) = *(**int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 69493 *(**XVdbeCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_404_pTabCur)) + uintptr(32 /* X13 */))))) = _404_pC 69494 goto _1656 69495 69496 _1641: 69497 _pOut = _out2Prerelease(tls, _p, _pOp) 69498 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _404_rowid 69499 _1656: 69500 goto _1657 69501 69502 _1639: 69503 func() int32 { 69504 if int32(_pOp.X0) == i32(129) { 69505 return i32(0) 69506 } 69507 return func() int32 { 69508 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83465), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72296))) 69509 crt.X__builtin_abort(tls) 69510 return i32(0) 69511 }() 69512 }() 69513 _sqlite3VdbeMemSetNull(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4)))) 69514 _1657: 69515 goto _248 69516 69517 _192: 69518 _193: 69519 _194: 69520 _195: 69521 func() int32 { 69522 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 69523 return i32(0) 69524 } 69525 return func() int32 { 69526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83523), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 69527 crt.X__builtin_abort(tls) 69528 return i32(0) 69529 }() 69530 }() 69531 _410_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 69532 func() int32 { 69533 if _410_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69534 return i32(0) 69535 } 69536 return func() int32 { 69537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83525), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 69538 crt.X__builtin_abort(tls) 69539 return i32(0) 69540 }() 69541 }() 69542 func() int32 { 69543 if ((uint32((_410_pC.X7)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) != 0 { 69544 return i32(0) 69545 } 69546 return func() int32 { 69547 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83526), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69732))) 69548 crt.X__builtin_abort(tls) 69549 return i32(0) 69550 }() 69551 }() 69552 func() int32 { 69553 if int32(_410_pC.X0) == i32(0) { 69554 return i32(0) 69555 } 69556 return func() int32 { 69557 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83527), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 69558 crt.X__builtin_abort(tls) 69559 return i32(0) 69560 }() 69561 }() 69562 func() int32 { 69563 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_410_pC)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69564 return i32(0) 69565 } 69566 return func() int32 { 69567 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83528), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69748))) 69568 crt.X__builtin_abort(tls) 69569 return i32(0) 69570 }() 69571 }() 69572 func() int32 { 69573 if int32(_410_pC.X3) == i32(0) { 69574 return i32(0) 69575 } 69576 return func() int32 { 69577 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83529), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70964))) 69578 crt.X__builtin_abort(tls) 69579 return i32(0) 69580 }() 69581 }() 69582 func() int32 { 69583 if (int32(_pOp.X2) == i32(0)) || (int32(_pOp.X2) == i32(1)) { 69584 return i32(0) 69585 } 69586 return func() int32 { 69587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83530), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72324))) 69588 crt.X__builtin_abort(tls) 69589 return i32(0) 69590 }() 69591 }() 69592 func() int32 { 69593 if int32(_pOp.X1) == i32(-11) { 69594 return i32(0) 69595 } 69596 return func() int32 { 69597 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83531), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70048))) 69598 crt.X__builtin_abort(tls) 69599 return i32(0) 69600 }() 69601 }() 69602 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_410_pC.X15)) 69603 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(8 /* X2 */))) = uint16(*(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 69604 if int32(_pOp.X0) >= i32(61) { 69605 goto _1678 69606 } 69607 69608 func() int32 { 69609 if (int32(_pOp.X0) == i32(59)) || (int32(_pOp.X0) == i32(60)) { 69610 return i32(0) 69611 } 69612 return func() int32 { 69613 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83535), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72352))) 69614 crt.X__builtin_abort(tls) 69615 return i32(0) 69616 }() 69617 }() 69618 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(10 /* X3 */))) = int8(i32(-1)) 69619 goto _1682 69620 69621 _1678: 69622 func() int32 { 69623 if (int32(_pOp.X0) == i32(62)) || (int32(_pOp.X0) == i32(61)) { 69624 return i32(0) 69625 } 69626 return func() int32 { 69627 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83538), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72400))) 69628 crt.X__builtin_abort(tls) 69629 return i32(0) 69630 }() 69631 }() 69632 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(10 /* X3 */))) = int8(i32(0)) 69633 _1682: 69634 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_410_r)) + uintptr(4 /* X1 */))))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 69635 _413_i = i32(0) 69636 _1686: 69637 if _413_i >= int32(_410_r.X2) { 69638 goto _1689 69639 } 69640 69641 func() int32 { 69642 if (int32((*XMem)(unsafe.Pointer(uintptr(_410_r.X1)+48*uintptr(_413_i))).X1) & i32(128)) == i32(0) { 69643 return i32(0) 69644 } 69645 return func() int32 { 69646 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83543), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70228))) 69647 crt.X__builtin_abort(tls) 69648 return i32(0) 69649 }() 69650 }() 69651 _413_i += 1 69652 goto _1686 69653 69654 _1689: 69655 _410_res = i32(0) 69656 _rc = _sqlite3VdbeIdxKeyCompare(tls, _db, _410_pC, &_410_r, &_410_res) 69657 i32(0) 69658 if (int32(_pOp.X0) & i32(1)) != i32(1) { 69659 goto _1692 69660 } 69661 69662 func() int32 { 69663 if (int32(_pOp.X0) == i32(59)) || (int32(_pOp.X0) == i32(61)) { 69664 return i32(0) 69665 } 69666 return func() int32 { 69667 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83549), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72448))) 69668 crt.X__builtin_abort(tls) 69669 return i32(0) 69670 }() 69671 }() 69672 _410_res = -_410_res 69673 goto _1696 69674 69675 _1692: 69676 func() int32 { 69677 if (int32(_pOp.X0) == i32(62)) || (int32(_pOp.X0) == i32(60)) { 69678 return i32(0) 69679 } 69680 return func() int32 { 69681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83552), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72496))) 69682 crt.X__builtin_abort(tls) 69683 return i32(0) 69684 }() 69685 }() 69686 _410_res += 1 69687 _1696: 69688 if _rc == 0 { 69689 goto _1700 69690 } 69691 69692 goto _abort_due_to_error 69693 69694 _1700: 69695 if _410_res <= i32(0) { 69696 goto _1701 69697 } 69698 69699 goto _jump_to_p2 69700 69701 _1701: 69702 goto _248 69703 69704 _196: 69705 func() int32 { 69706 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 69707 return i32(0) 69708 } 69709 return func() int32 { 69710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 69711 crt.X__builtin_abort(tls) 69712 return i32(0) 69713 }() 69714 }() 69715 func() int32 { 69716 if (_pOp.X3) > i32(1) { 69717 return i32(0) 69718 } 69719 return func() int32 { 69720 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83586), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72544))) 69721 crt.X__builtin_abort(tls) 69722 return i32(0) 69723 }() 69724 }() 69725 _pOut = _out2Prerelease(tls, _p, _pOp) 69726 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 69727 if (_db.X35) <= ((_db.X38) + i32(1)) { 69728 goto _1706 69729 } 69730 69731 _rc = i32(6) 69732 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(138 /* X30 */))) = uint8(i32(2)) 69733 goto _abort_due_to_error 69734 69735 _1706: 69736 _416_iDb = _pOp.X5 69737 func() int32 { 69738 if ((_p.X33) & (u32(1) << uint(_416_iDb))) != uint32(i32(0)) { 69739 return i32(0) 69740 } 69741 return func() int32 { 69742 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83595), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69072))) 69743 crt.X__builtin_abort(tls) 69744 return i32(0) 69745 }() 69746 }() 69747 _416_iMoved = i32(0) 69748 _rc = _sqlite3BtreeDropTable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_416_iDb))).X1)), _pOp.X3, &_416_iMoved) 69749 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 69750 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_416_iMoved) 69751 if _rc == 0 { 69752 goto _1710 69753 } 69754 69755 goto _abort_due_to_error 69756 69757 _1710: 69758 if _416_iMoved == i32(0) { 69759 goto _1711 69760 } 69761 69762 _sqlite3RootPageMoved(tls, _db, _416_iDb, _416_iMoved, _pOp.X3) 69763 func() int32 { 69764 if (int32(_resetSchemaOnFault) == i32(0)) || (int32(_resetSchemaOnFault) == (_416_iDb + i32(1))) { 69765 return i32(0) 69766 } 69767 return func() int32 { 69768 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83605), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72556))) 69769 crt.X__builtin_abort(tls) 69770 return i32(0) 69771 }() 69772 }() 69773 _resetSchemaOnFault = uint8(_416_iDb + i32(1)) 69774 _1711: 69775 goto _248 69776 69777 _197: 69778 _420_nChange = i32(0) 69779 func() int32 { 69780 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 69781 return i32(0) 69782 } 69783 return func() int32 { 69784 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83635), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 69785 crt.X__builtin_abort(tls) 69786 return i32(0) 69787 }() 69788 }() 69789 func() int32 { 69790 if ((_p.X33) & (u32(1) << uint(_pOp.X4))) != uint32(i32(0)) { 69791 return i32(0) 69792 } 69793 return func() int32 { 69794 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83636), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72608))) 69795 crt.X__builtin_abort(tls) 69796 return i32(0) 69797 }() 69798 }() 69799 _rc = _sqlite3BtreeClearTable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_pOp.X4))).X1)), _pOp.X3, func() *int32 { 69800 if (_pOp.X5) != 0 { 69801 return &_420_nChange 69802 } 69803 return (*int32)(unsafe.Pointer(uintptr(i32(0)))) 69804 }()) 69805 if (_pOp.X5) == 0 { 69806 goto _1721 69807 } 69808 69809 { 69810 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) 69811 *p = (*p) + _420_nChange 69812 sink961 = *p 69813 } 69814 if (_pOp.X5) <= i32(0) { 69815 goto _1722 69816 } 69817 69818 func() int32 { 69819 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5))).X1) & i32(128)) == i32(0) { 69820 return i32(0) 69821 } 69822 return func() int32 { 69823 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83643), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64724))) 69824 crt.X__builtin_abort(tls) 69825 return i32(0) 69826 }() 69827 }() 69828 _sqlite3VdbeMemAboutToChange(tls, _p, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5)))) 69829 { 69830 p := (*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5))))) + uintptr(0 /* X0 */))))) 69831 *p = (*p) + int64(_420_nChange) 69832 sink967 = *p 69833 } 69834 _1722: 69835 _1721: 69836 if _rc == 0 { 69837 goto _1725 69838 } 69839 69840 goto _abort_due_to_error 69841 69842 _1725: 69843 goto _248 69844 69845 _198: 69846 func() int32 { 69847 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_p.X7)) { 69848 return i32(0) 69849 } 69850 return func() int32 { 69851 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83663), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67336))) 69852 crt.X__builtin_abort(tls) 69853 return i32(0) 69854 }() 69855 }() 69856 _423_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 69857 func() int32 { 69858 if _423_pC != (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) { 69859 return i32(0) 69860 } 69861 return func() int32 { 69862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83665), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67372))) 69863 crt.X__builtin_abort(tls) 69864 return i32(0) 69865 }() 69866 }() 69867 if int32(_423_pC.X0) != i32(1) { 69868 goto _1731 69869 } 69870 69871 _sqlite3VdbeSorterReset(tls, _db, (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_423_pC)) + uintptr(36 /* X14 */)))))))) 69872 goto _1732 69873 69874 _1731: 69875 func() int32 { 69876 if int32(_423_pC.X0) == i32(0) { 69877 return i32(0) 69878 } 69879 return func() int32 { 69880 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83669), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(67568))) 69881 crt.X__builtin_abort(tls) 69882 return i32(0) 69883 }() 69884 }() 69885 func() int32 { 69886 if ((uint32(_423_pC.X7) << uint(i32(31))) >> uint(i32(31))) != 0 { 69887 return i32(0) 69888 } 69889 return func() int32 { 69890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83670), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72644))) 69891 crt.X__builtin_abort(tls) 69892 return i32(0) 69893 }() 69894 }() 69895 _rc = _sqlite3BtreeClearTableOfCursor(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_423_pC)) + uintptr(36 /* X14 */)))))))) 69896 if _rc == 0 { 69897 goto _1737 69898 } 69899 69900 goto _abort_due_to_error 69901 69902 _1737: 69903 _1732: 69904 goto _248 69905 69906 _199: 69907 _200: 69908 _pOut = _out2Prerelease(tls, _p, _pOp) 69909 _426_pgno = i32(0) 69910 func() int32 { 69911 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { 69912 return i32(0) 69913 } 69914 return func() int32 { 69915 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83709), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68852))) 69916 crt.X__builtin_abort(tls) 69917 return i32(0) 69918 }() 69919 }() 69920 func() int32 { 69921 if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { 69922 return i32(0) 69923 } 69924 return func() int32 { 69925 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83710), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68884))) 69926 crt.X__builtin_abort(tls) 69927 return i32(0) 69928 }() 69929 }() 69930 func() int32 { 69931 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 69932 return i32(0) 69933 } 69934 return func() int32 { 69935 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83711), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 69936 crt.X__builtin_abort(tls) 69937 return i32(0) 69938 }() 69939 }() 69940 _426_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))) 69941 func() int32 { 69942 if (*XBtree)(unsafe.Pointer(_426_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 69943 return i32(0) 69944 } 69945 return func() int32 { 69946 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83713), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69148))) 69947 crt.X__builtin_abort(tls) 69948 return i32(0) 69949 }() 69950 }() 69951 if int32(_pOp.X0) != i32(135) { 69952 goto _1747 69953 } 69954 69955 _426_flags = i32(1) 69956 goto _1748 69957 69958 _1747: 69959 _426_flags = i32(2) 69960 _1748: 69961 _rc = _sqlite3BtreeCreateTable(tls, (*XBtree)(unsafe.Pointer(_426_pDb.X1)), &_426_pgno, _426_flags) 69962 if _rc == 0 { 69963 goto _1749 69964 } 69965 69966 goto _abort_due_to_error 69967 69968 _1749: 69969 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_426_pgno) 69970 goto _248 69971 69972 _201: 69973 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(74 /* X26 */))) += 1 69974 _rc = Xsqlite3_exec(tls, _db, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), nil, (unsafe.Pointer)(uintptr(i32(0))), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 69975 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(74 /* X26 */))) -= 1 69976 if _rc == 0 { 69977 goto _1750 69978 } 69979 69980 goto _abort_due_to_error 69981 69982 _1750: 69983 goto _248 69984 69985 _202: 69986 _430_iDb = i32(0) 69987 _1751: 69988 if _430_iDb >= (_db.X5) { 69989 goto _1754 69990 } 69991 69992 func() int32 { 69993 if (_430_iDb == i32(1)) || _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_430_iDb))).X1))) != 0 { 69994 return i32(0) 69995 } 69996 return func() int32 { 69997 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83758), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(52744))) 69998 crt.X__builtin_abort(tls) 69999 return i32(0) 70000 }() 70001 }() 70002 _430_iDb += 1 70003 goto _1751 70004 70005 _1754: 70006 _430_iDb = _pOp.X3 70007 func() int32 { 70008 if (_430_iDb >= i32(0)) && (_430_iDb < (_db.X5)) { 70009 return i32(0) 70010 } 70011 return func() int32 { 70012 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83763), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(22608))) 70013 crt.X__builtin_abort(tls) 70014 return i32(0) 70015 }() 70016 }() 70017 func() int32 { 70018 if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_430_iDb))).X4)).X9) & i32(1)) == i32(1) { 70019 return i32(0) 70020 } 70021 return func() int32 { 70022 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83764), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72660))) 70023 crt.X__builtin_abort(tls) 70024 return i32(0) 70025 }() 70026 }() 70027 _430_zMaster = str(52816) 70028 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(0 /* X0 */))))) = _db 70029 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(8 /* X2 */))) = _pOp.X3 70030 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(4 /* X1 */))) = (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X22 */))) 70031 _430_zSql = _sqlite3MPrintf(tls, _db, str(72700), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_430_iDb))).X0), unsafe.Pointer(_430_zMaster), unsafe.Pointer(*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 70032 if _430_zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 70033 goto _1763 70034 } 70035 70036 _rc = _sqlite3NomemError(tls, i32(83774)) 70037 goto _1764 70038 70039 _1763: 70040 func() int32 { 70041 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == i32(0) { 70042 return i32(0) 70043 } 70044 return func() int32 { 70045 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83776), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(52676))) 70046 crt.X__builtin_abort(tls) 70047 return i32(0) 70048 }() 70049 }() 70050 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(1)) 70051 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_430_initData)) + uintptr(12 /* X3 */))) = i32(0) 70052 func() int32 { 70053 if (_db.X17) == 0 { 70054 return i32(0) 70055 } 70056 return func() int32 { 70057 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83779), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(24884))) 70058 crt.X__builtin_abort(tls) 70059 return i32(0) 70060 }() 70061 }() 70062 _rc = Xsqlite3_exec(tls, _db, _430_zSql, _sqlite3InitCallback, (unsafe.Pointer)(&_430_initData), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 70063 if _rc != i32(0) { 70064 goto _1769 70065 } 70066 70067 _rc = _430_initData.X3 70068 _1769: 70069 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_430_zSql)) 70070 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(5 /* X2 */))) = uint8(i32(0)) 70071 _1764: 70072 if _rc == 0 { 70073 goto _1770 70074 } 70075 70076 _sqlite3ResetAllSchemasOfConnection(tls, _db) 70077 if _rc != i32(7) { 70078 goto _1771 70079 } 70080 70081 goto _no_mem 70082 70083 _1771: 70084 goto _abort_due_to_error 70085 70086 _1770: 70087 goto _248 70088 70089 _203: 70090 func() int32 { 70091 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { 70092 return i32(0) 70093 } 70094 return func() int32 { 70095 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83804), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68852))) 70096 crt.X__builtin_abort(tls) 70097 return i32(0) 70098 }() 70099 }() 70100 _rc = _sqlite3AnalysisLoad(tls, _db, _pOp.X3) 70101 if _rc == 0 { 70102 goto _1775 70103 } 70104 70105 goto _abort_due_to_error 70106 70107 _1775: 70108 goto _248 70109 70110 _204: 70111 _sqlite3UnlinkAndDeleteTable(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 70112 goto _248 70113 70114 _205: 70115 _sqlite3UnlinkAndDeleteIndex(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 70116 goto _248 70117 70118 _206: 70119 _sqlite3UnlinkAndDeleteTrigger(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 70120 goto _248 70121 70122 _207: 70123 func() int32 { 70124 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 70125 return i32(0) 70126 } 70127 return func() int32 { 70128 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83878), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 70129 crt.X__builtin_abort(tls) 70130 return i32(0) 70131 }() 70132 }() 70133 _441_nRoot = _pOp.X4 70134 _441_aRoot = *(**int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 70135 func() int32 { 70136 if _441_nRoot > i32(0) { 70137 return i32(0) 70138 } 70139 return func() int32 { 70140 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83881), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72764))) 70141 crt.X__builtin_abort(tls) 70142 return i32(0) 70143 }() 70144 }() 70145 func() int32 { 70146 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_441_aRoot)) + 4*uintptr(_441_nRoot)))) == i32(0) { 70147 return i32(0) 70148 } 70149 return func() int32 { 70150 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83882), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72772))) 70151 crt.X__builtin_abort(tls) 70152 return i32(0) 70153 }() 70154 }() 70155 func() int32 { 70156 if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { 70157 return i32(0) 70158 } 70159 return func() int32 { 70160 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83883), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66180))) 70161 crt.X__builtin_abort(tls) 70162 return i32(0) 70163 }() 70164 }() 70165 _441_pnErr = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 70166 func() int32 { 70167 if (int32(_441_pnErr.X1) & i32(4)) != i32(0) { 70168 return i32(0) 70169 } 70170 return func() int32 { 70171 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83885), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72788))) 70172 crt.X__builtin_abort(tls) 70173 return i32(0) 70174 }() 70175 }() 70176 func() int32 { 70177 if (int32(_441_pnErr.X1) & i32(18)) == i32(0) { 70178 return i32(0) 70179 } 70180 return func() int32 { 70181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83886), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72816))) 70182 crt.X__builtin_abort(tls) 70183 return i32(0) 70184 }() 70185 }() 70186 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70187 func() int32 { 70188 if int32(_pOp.X2) < (_db.X5) { 70189 return i32(0) 70190 } 70191 return func() int32 { 70192 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83888), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72856))) 70193 crt.X__builtin_abort(tls) 70194 return i32(0) 70195 }() 70196 }() 70197 func() int32 { 70198 if ((_p.X33) & (u32(1) << uint(int32(_pOp.X2)))) != uint32(i32(0)) { 70199 return i32(0) 70200 } 70201 return func() int32 { 70202 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83889), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72872))) 70203 crt.X__builtin_abort(tls) 70204 return i32(0) 70205 }() 70206 }() 70207 _441_z = _sqlite3BtreeIntegrityCheck(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_pOp.X2))).X1)), _441_aRoot, _441_nRoot, int32(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_441_pnErr)) + uintptr(0 /* X0 */))))))+i32(1), &_441_nErr) 70208 _sqlite3VdbeMemSetNull(tls, _pIn1) 70209 if _441_nErr != i32(0) { 70210 goto _1793 70211 } 70212 70213 func() int32 { 70214 if _441_z == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 70215 return i32(0) 70216 } 70217 return func() int32 { 70218 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83894), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72908))) 70219 crt.X__builtin_abort(tls) 70220 return i32(0) 70221 }() 70222 }() 70223 goto _1796 70224 70225 _1793: 70226 if _441_z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 70227 goto _1797 70228 } 70229 70230 goto _no_mem 70231 70232 _1797: 70233 { 70234 p := (*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_441_pnErr)) + uintptr(0 /* X0 */))))) 70235 *p = (*p) - int64(_441_nErr-i32(1)) 70236 sink967 = *p 70237 } 70238 _sqlite3VdbeMemSetStr(tls, _pIn1, _441_z, i32(-1), uint8(i32(1)), Xsqlite3_free) 70239 _1796: 70240 _sqlite3VdbeChangeEncoding(tls, _pIn1, int32(_encoding)) 70241 goto _248 70242 70243 _208: 70244 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70245 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 70246 func() int32 { 70247 if (int32(_pIn2.X1) & i32(4)) != i32(0) { 70248 return i32(0) 70249 } 70250 return func() int32 { 70251 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83918), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69492))) 70252 crt.X__builtin_abort(tls) 70253 return i32(0) 70254 }() 70255 }() 70256 if (int32(_pIn1.X1) & i32(32)) != i32(0) { 70257 goto _1801 70258 } 70259 70260 _sqlite3VdbeMemSetRowSet(tls, _pIn1) 70261 if (int32(_pIn1.X1) & i32(32)) != i32(0) { 70262 goto _1802 70263 } 70264 70265 goto _no_mem 70266 70267 _1802: 70268 _1801: 70269 _sqlite3RowSetInsert(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */)))))) 70270 goto _248 70271 70272 _209: 70273 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70274 if (int32(_pIn1.X1)&i32(32)) != i32(0) && _sqlite3RowSetNext(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), &_447_val) != i32(0) { 70275 goto _1804 70276 } 70277 70278 _sqlite3VdbeMemSetNull(tls, _pIn1) 70279 goto _jump_to_p2_and_check_for_interrupt 70280 70281 _1804: 70282 _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X5))), _447_val) 70283 goto _check_for_interrupt 70284 70285 _210: 70286 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70287 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 70288 _450_iSet = *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 70289 func() int32 { 70290 if (int32(_pIn3.X1) & i32(4)) != 0 { 70291 return i32(0) 70292 } 70293 return func() int32 { 70294 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83984), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72916))) 70295 crt.X__builtin_abort(tls) 70296 return i32(0) 70297 }() 70298 }() 70299 if (int32(_pIn1.X1) & i32(32)) != i32(0) { 70300 goto _1808 70301 } 70302 70303 _sqlite3VdbeMemSetRowSet(tls, _pIn1) 70304 if (int32(_pIn1.X1) & i32(32)) != i32(0) { 70305 goto _1809 70306 } 70307 70308 goto _no_mem 70309 70310 _1809: 70311 _1808: 70312 func() int32 { 70313 if int32(_pOp.X1) == i32(-11) { 70314 return i32(0) 70315 } 70316 return func() int32 { 70317 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83994), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(70048))) 70318 crt.X__builtin_abort(tls) 70319 return i32(0) 70320 }() 70321 }() 70322 func() int32 { 70323 if (_450_iSet == i32(-1)) || (_450_iSet >= i32(0)) { 70324 return i32(0) 70325 } 70326 return func() int32 { 70327 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(83995), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72936))) 70328 crt.X__builtin_abort(tls) 70329 return i32(0) 70330 }() 70331 }() 70332 if _450_iSet == 0 { 70333 goto _1815 70334 } 70335 70336 _450_exists = _sqlite3RowSetTest(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), _450_iSet, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) 70337 if _450_exists == 0 { 70338 goto _1816 70339 } 70340 70341 goto _jump_to_p2 70342 70343 _1816: 70344 _1815: 70345 if _450_iSet < i32(0) { 70346 goto _1817 70347 } 70348 70349 _sqlite3RowSetInsert(tls, (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))))), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) 70350 _1817: 70351 goto _248 70352 70353 _211: 70354 _454_pProgram = (*XSubProgram)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 70355 _454_pRt = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 70356 func() int32 { 70357 if (_454_pProgram.X1) > i32(0) { 70358 return i32(0) 70359 } 70360 return func() int32 { 70361 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84037), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(72956))) 70362 crt.X__builtin_abort(tls) 70363 return i32(0) 70364 }() 70365 }() 70366 if (_pOp.X2) == 0 { 70367 goto _1820 70368 } 70369 70370 _454_t = _454_pProgram.X5 70371 _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 70372 _1821: 70373 if _454_pFrame == nil || (_454_pFrame.X7) == _454_t { 70374 goto _1825 70375 } 70376 70377 _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(_454_pFrame.X1)) 70378 goto _1821 70379 70380 _1825: 70381 if _454_pFrame == nil { 70382 goto _1826 70383 } 70384 70385 goto _248 70386 70387 _1826: 70388 _1820: 70389 if (_p.X40) < (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(10))))) { 70390 goto _1827 70391 } 70392 70393 _rc = i32(1) 70394 _sqlite3VdbeError(tls, _p, str(72972)) 70395 goto _abort_due_to_error 70396 70397 _1827: 70398 if (int32(_454_pRt.X1) & i32(64)) != i32(0) { 70399 goto _1828 70400 } 70401 70402 _454_nMem = (_454_pProgram.X2) + (_454_pProgram.X3) 70403 func() int32 { 70404 if _454_nMem > i32(0) { 70405 return i32(0) 70406 } 70407 return func() int32 { 70408 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84073), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73012))) 70409 crt.X__builtin_abort(tls) 70410 return i32(0) 70411 }() 70412 }() 70413 if (_454_pProgram.X3) != i32(0) { 70414 goto _1831 70415 } 70416 70417 _454_nMem += 1 70418 _1831: 70419 _454_nByte = int32(((u32(80) + (uint32(_454_nMem) * u32(48))) + (uint32(_454_pProgram.X3) * u32(4))) + uint32(((_454_pProgram.X1)+i32(7))/i32(8))) 70420 _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_454_nByte)))) 70421 if _454_pFrame != nil { 70422 goto _1832 70423 } 70424 70425 goto _no_mem 70426 70427 _1832: 70428 _sqlite3VdbeMemRelease(tls, _454_pRt) 70429 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pRt)) + uintptr(8 /* X1 */))) = uint16(i32(64)) 70430 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pRt)) + uintptr(0 /* X0 */))))))) = _454_pFrame 70431 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(0 /* X0 */))))) = _p 70432 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(60 /* X14 */))) = _454_nMem 70433 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(64 /* X15 */))) = _454_pProgram.X3 70434 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(48 /* X11 */))) = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 70435 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(16 /* X4 */))))) = (*XMem)(unsafe.Pointer(_p.X18)) 70436 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(56 /* X13 */))) = _p.X6 70437 *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(20 /* X5 */))))) = (**XVdbeCursor)(unsafe.Pointer(_p.X23)) 70438 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(44 /* X10 */))) = _p.X7 70439 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(8 /* X2 */))))) = (*XVdbeOp)(unsafe.Pointer(_p.X17)) 70440 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(52 /* X12 */))) = _p.X27 70441 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(28 /* X7 */))) = _454_pProgram.X5 70442 _454_pEnd = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame))+1*uintptr(u32(80)))))) + 48*uintptr(_454_pFrame.X14))) 70443 _454_pMem = (*XMem)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + 1*uintptr(u32(80)))))) 70444 _1833: 70445 if _454_pMem == _454_pEnd { 70446 goto _1836 70447 } 70448 70449 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(128)) 70450 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pMem)) + uintptr(32 /* X9 */))))) = _db 70451 *(*uintptr)(unsafe.Pointer(&_454_pMem)) += uintptr(48) 70452 goto _1833 70453 70454 _1836: 70455 goto _1837 70456 70457 _1828: 70458 _454_pFrame = (*XVdbeFrame)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pRt)) + uintptr(0 /* X0 */))))))) 70459 func() int32 { 70460 if (((_454_pProgram.X2) + (_454_pProgram.X3)) == (_454_pFrame.X14)) || (((_454_pProgram.X3) == i32(0)) && (((_454_pProgram.X2) + i32(1)) == (_454_pFrame.X14))) { 70461 return i32(0) 70462 } 70463 return func() int32 { 70464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84109), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73020))) 70465 crt.X__builtin_abort(tls) 70466 return i32(0) 70467 }() 70468 }() 70469 func() int32 { 70470 if (_454_pProgram.X3) == (_454_pFrame.X15) { 70471 return i32(0) 70472 } 70473 return func() int32 { 70474 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73132))) 70475 crt.X__builtin_abort(tls) 70476 return i32(0) 70477 }() 70478 }() 70479 func() int32 { 70480 if int32((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/24) == (_454_pFrame.X11) { 70481 return i32(0) 70482 } 70483 return func() int32 { 70484 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84112), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73168))) 70485 crt.X__builtin_abort(tls) 70486 return i32(0) 70487 }() 70488 }() 70489 _1837: 70490 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(188 /* X40 */))) += 1 70491 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(4 /* X1 */))))) = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 70492 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(32 /* X8 */))) = _db.X7 70493 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(68 /* X16 */))) = _p.X11 70494 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(72 /* X17 */))) = (*Xsqlite3)(unsafe.Pointer(_p.X0)).X29 70495 func() int32 { 70496 if (*XAuxData)(unsafe.Pointer(_454_pFrame.X9)) == (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) { 70497 return i32(0) 70498 } 70499 return func() int32 { 70500 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84120), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73200))) 70501 crt.X__builtin_abort(tls) 70502 return i32(0) 70503 }() 70504 }() 70505 *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(40 /* X9 */))))) = (*XAuxData)(unsafe.Pointer(_p.X43)) 70506 *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(200 /* X43 */))))) = (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) 70507 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = i32(0) 70508 *(**XVdbeFrame)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(180 /* X38 */))))) = _454_pFrame 70509 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X18 */))))) = store7779437(&_aMem, (*XMem)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame))+1*uintptr(u32(80))))))) 70510 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = _454_pFrame.X14 70511 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = int32(uint16(_454_pFrame.X15)) 70512 *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(108 /* X23 */))))) = (**XVdbeCursor)(unsafe.Pointer((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_p.X6))))) 70513 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_454_pFrame)) + uintptr(24 /* X6 */))) = (*uint8)(unsafe.Pointer((**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_454_pProgram.X3))))) 70514 crt.Xmemset(tls, (unsafe.Pointer)(_454_pFrame.X6), i32(0), uint32(((_454_pProgram.X1)+i32(7))/i32(8))) 70515 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(84 /* X17 */))))) = store8104608(&_aOp, (*XVdbeOp)(unsafe.Pointer(_454_pProgram.X0))) 70516 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(128 /* X27 */))) = _454_pProgram.X1 70517 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 24*uintptr(i32(-1)))) 70518 goto _248 70519 70520 _212: 70521 _pOut = _out2Prerelease(tls, _p, _pOp) 70522 _461_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 70523 _461_pIn = (*XMem)(unsafe.Pointer(uintptr(_461_pFrame.X4) + 48*uintptr((_pOp.X3)+((*XVdbeOp)(unsafe.Pointer(uintptr(_461_pFrame.X2)+24*uintptr(_461_pFrame.X11))).X3)))) 70524 _sqlite3VdbeMemShallowCopy(tls, _pOut, _461_pIn, i32(4096)) 70525 goto _248 70526 70527 _213: 70528 if ((_db.X6) & i32(33554432)) == 0 { 70529 goto _1848 70530 } 70531 70532 { 70533 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(444 /* X78 */))) 70534 *p = (*p) + int64(_pOp.X4) 70535 sink967 = *p 70536 } 70537 goto _1849 70538 70539 _1848: 70540 if (_pOp.X3) == 0 { 70541 goto _1850 70542 } 70543 70544 { 70545 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(436 /* X77 */))) 70546 *p = (*p) + int64(_pOp.X4) 70547 sink967 = *p 70548 } 70549 goto _1851 70550 70551 _1850: 70552 { 70553 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X14 */))) 70554 *p = (*p) + int64(_pOp.X4) 70555 sink967 = *p 70556 } 70557 _1851: 70558 _1849: 70559 goto _248 70560 70561 _214: 70562 if (_pOp.X3) == 0 { 70563 goto _1852 70564 } 70565 70566 if (_db.X77) != int64(i32(0)) || (_db.X78) != int64(i32(0)) { 70567 goto _1854 70568 } 70569 70570 goto _jump_to_p2 70571 70572 _1854: 70573 goto _1855 70574 70575 _1852: 70576 if (_p.X14) != int64(i32(0)) || (_db.X78) != int64(i32(0)) { 70577 goto _1857 70578 } 70579 70580 goto _jump_to_p2 70581 70582 _1857: 70583 _1855: 70584 goto _248 70585 70586 _215: 70587 if (*XVdbeFrame)(unsafe.Pointer(_p.X38)) == nil { 70588 goto _1858 70589 } 70590 70591 _469_pFrame = (*XVdbeFrame)(unsafe.Pointer(_p.X38)) 70592 _1859: 70593 if (*XVdbeFrame)(unsafe.Pointer(_469_pFrame.X1)) == nil { 70594 goto _1862 70595 } 70596 70597 _469_pFrame = (*XVdbeFrame)(unsafe.Pointer(_469_pFrame.X1)) 70598 goto _1859 70599 70600 _1862: 70601 _pIn1 = (*XMem)(unsafe.Pointer(uintptr(_469_pFrame.X4) + 48*uintptr(_pOp.X3))) 70602 goto _1863 70603 70604 _1858: 70605 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70606 _1863: 70607 func() int32 { 70608 if (int32(_pIn1.X1) & i32(128)) == i32(0) { 70609 return i32(0) 70610 } 70611 return func() int32 { 70612 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84229), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65796))) 70613 crt.X__builtin_abort(tls) 70614 return i32(0) 70615 }() 70616 }() 70617 _sqlite3VdbeMemIntegerify(tls, _pIn1) 70618 _pIn2 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X4))) 70619 _sqlite3VdbeMemIntegerify(tls, _pIn2) 70620 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) >= (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */)))))) { 70621 goto _1866 70622 } 70623 70624 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn2)) + uintptr(0 /* X0 */))))) 70625 _1866: 70626 goto _248 70627 70628 _216: 70629 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70630 func() int32 { 70631 if (int32(_pIn1.X1) & i32(4)) != 0 { 70632 return i32(0) 70633 } 70634 return func() int32 { 70635 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84252), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73220))) 70636 crt.X__builtin_abort(tls) 70637 return i32(0) 70638 }() 70639 }() 70640 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) <= int64(i32(0)) { 70641 goto _1869 70642 } 70643 70644 { 70645 p := (*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) 70646 *p = (*p) - int64(_pOp.X5) 70647 sink967 = *p 70648 } 70649 goto _jump_to_p2 70650 70651 _1869: 70652 goto _248 70653 70654 _217: 70655 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70656 _pIn3 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 70657 _pOut = _out2Prerelease(tls, _p, _pOp) 70658 func() int32 { 70659 if (int32(_pIn1.X1) & i32(4)) != 0 { 70660 return i32(0) 70661 } 70662 return func() int32 { 70663 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84284), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73240))) 70664 crt.X__builtin_abort(tls) 70665 return i32(0) 70666 }() 70667 }() 70668 func() int32 { 70669 if (int32(_pIn3.X1) & i32(4)) != 0 { 70670 return i32(0) 70671 } 70672 return func() int32 { 70673 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84285), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(65516))) 70674 crt.X__builtin_abort(tls) 70675 return i32(0) 70676 }() 70677 }() 70678 _475_x = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) 70679 if _475_x > int64(i32(0)) && _sqlite3AddInt64(tls, &_475_x, func() int64 { 70680 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) > int64(i32(0)) { 70681 return (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn3)) + uintptr(0 /* X0 */)))))) 70682 } 70683 return int64(i32(0)) 70684 }()) == 0 { 70685 goto _1877 70686 } 70687 70688 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(i32(-1)) 70689 goto _1878 70690 70691 _1877: 70692 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _475_x 70693 _1878: 70694 goto _248 70695 70696 _218: 70697 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70698 func() int32 { 70699 if (int32(_pIn1.X1) & i32(4)) != 0 { 70700 return i32(0) 70701 } 70702 return func() int32 { 70703 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84312), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73220))) 70704 crt.X__builtin_abort(tls) 70705 return i32(0) 70706 }() 70707 }() 70708 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) == 0 { 70709 goto _1881 70710 } 70711 70712 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) <= int64(i32(0)) { 70713 goto _1882 70714 } 70715 70716 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) -= 1 70717 _1882: 70718 goto _jump_to_p2 70719 70720 _1881: 70721 goto _248 70722 70723 _219: 70724 _pIn1 = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70725 func() int32 { 70726 if (int32(_pIn1.X1) & i32(4)) != 0 { 70727 return i32(0) 70728 } 70729 return func() int32 { 70730 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84329), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73220))) 70731 crt.X__builtin_abort(tls) 70732 return i32(0) 70733 }() 70734 }() 70735 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) <= i64(-9223372036854775808) { 70736 goto _1885 70737 } 70738 70739 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */))))) -= 1 70740 _1885: 70741 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn1)) + uintptr(0 /* X0 */)))))) != int64(i32(0)) { 70742 goto _1886 70743 } 70744 70745 goto _jump_to_p2 70746 70747 _1886: 70748 goto _248 70749 70750 _220: 70751 func() int32 { 70752 if int32(_pOp.X1) == i32(-4) { 70753 return i32(0) 70754 } 70755 return func() int32 { 70756 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66156))) 70757 crt.X__builtin_abort(tls) 70758 return i32(0) 70759 }() 70760 }() 70761 _481_n = int32(_pOp.X2) 70762 func() int32 { 70763 if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { 70764 return i32(0) 70765 } 70766 return func() int32 { 70767 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84371), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66180))) 70768 crt.X__builtin_abort(tls) 70769 return i32(0) 70770 }() 70771 }() 70772 func() int32 { 70773 if (_481_n == i32(0)) || (((_pOp.X4) > i32(0)) && (((_pOp.X4) + _481_n) <= ((((_p.X6) + i32(1)) - (_p.X7)) + i32(1)))) { 70774 return i32(0) 70775 } 70776 return func() int32 { 70777 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84372), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66228))) 70778 crt.X__builtin_abort(tls) 70779 return i32(0) 70780 }() 70781 }() 70782 func() int32 { 70783 if ((_pOp.X5) < (_pOp.X4)) || ((_pOp.X5) >= ((_pOp.X4) + _481_n)) { 70784 return i32(0) 70785 } 70786 return func() int32 { 70787 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84373), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66292))) 70788 crt.X__builtin_abort(tls) 70789 return i32(0) 70790 }() 70791 }() 70792 _481_pCtx = (*Xsqlite3_context)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(32)+(uint32(_481_n-i32(1))*u32(4)))))) 70793 if _481_pCtx != (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0)))) { 70794 goto _1899 70795 } 70796 70797 goto _no_mem 70798 70799 _1899: 70800 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(8 /* X2 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 70801 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(4 /* X1 */))))) = (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 70802 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(16 /* X4 */))) = int32((uintptr(unsafe.Pointer(_pOp)) - uintptr(unsafe.Pointer(_aOp))) / 24) 70803 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(12 /* X3 */))))) = _p 70804 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_481_pCtx)) + uintptr(26 /* X8 */))) = uint8(_481_n) 70805 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-16)) 70806 *(**Xsqlite3_context)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _481_pCtx 70807 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(149)) 70808 _221: 70809 func() int32 { 70810 if int32(_pOp.X1) == i32(-16) { 70811 return i32(0) 70812 } 70813 return func() int32 { 70814 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84392), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66332))) 70815 crt.X__builtin_abort(tls) 70816 return i32(0) 70817 }() 70818 }() 70819 _482_pCtx = (*Xsqlite3_context)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 70820 _482_pMem = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 70821 if (*XMem)(unsafe.Pointer(_482_pCtx.X2)) == _482_pMem { 70822 goto _1902 70823 } 70824 70825 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(8 /* X2 */))))) = _482_pMem 70826 _482_i = int32(_482_pCtx.X8) - i32(1) 70827 _1903: 70828 if _482_i < i32(0) { 70829 goto _1906 70830 } 70831 70832 *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(28 /* X9 */))))) + 4*uintptr(_482_i))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr((_pOp.X4)+_482_i))) 70833 _482_i -= 1 70834 goto _1903 70835 70836 _1906: 70837 _1902: 70838 _482_i = i32(0) 70839 _1907: 70840 if _482_i >= int32(_482_pCtx.X8) { 70841 goto _1910 70842 } 70843 70844 func() int32 { 70845 if (int32((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(28 /* X9 */))))) + 4*uintptr(_482_i)))).X1) & i32(128)) == i32(0) { 70846 return i32(0) 70847 } 70848 return func() int32 { 70849 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84407), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66356))) 70850 crt.X__builtin_abort(tls) 70851 return i32(0) 70852 }() 70853 }() 70854 if ((_db.X6) & i32(1)) == 0 { 70855 goto _1913 70856 } 70857 70858 _registerTrace(tls, (_pOp.X4)+_482_i, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(28 /* X9 */))))) + 4*uintptr(_482_i)))) 70859 _1913: 70860 _482_i += 1 70861 goto _1907 70862 70863 _1910: 70864 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pMem)) + uintptr(12 /* X4 */))) += 1 70865 _sqlite3VdbeMemInit(tls, &_482_t, _db, uint16(i32(1))) 70866 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(0 /* X0 */))))) = &_482_t 70867 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(0)) 70868 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx)) + uintptr(24 /* X6 */))) = uint8(i32(0)) 70869 (*(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer(&struct { 70870 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) 70871 }{((*XFuncDef)(unsafe.Pointer(_482_pCtx.X1)).X4)})))(tls, _482_pCtx, int32(_482_pCtx.X8), (**XMem)(unsafe.Pointer((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_482_pCtx))+uintptr(28 /* X9 */)))))) 70872 if (_482_pCtx.X7) == 0 { 70873 goto _1914 70874 } 70875 70876 if (_482_pCtx.X5) == 0 { 70877 goto _1915 70878 } 70879 70880 _sqlite3VdbeError(tls, _p, str(25612), unsafe.Pointer(Xsqlite3_value_text(tls, &_482_t))) 70881 _rc = _482_pCtx.X5 70882 _1915: 70883 _sqlite3VdbeMemRelease(tls, &_482_t) 70884 if _rc == 0 { 70885 goto _1916 70886 } 70887 70888 goto _abort_due_to_error 70889 70890 _1916: 70891 goto _1917 70892 70893 _1914: 70894 func() int32 { 70895 if int32(_482_t.X1) == i32(1) { 70896 return i32(0) 70897 } 70898 return func() int32 { 70899 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84426), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73264))) 70900 crt.X__builtin_abort(tls) 70901 return i32(0) 70902 }() 70903 }() 70904 _1917: 70905 if (_482_pCtx.X6) == 0 { 70906 goto _1920 70907 } 70908 70909 func() int32 { 70910 if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X0) == i32(89) { 70911 return i32(0) 70912 } 70913 return func() int32 { 70914 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84429), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73284))) 70915 crt.X__builtin_abort(tls) 70916 return i32(0) 70917 }() 70918 }() 70919 _482_i = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(-1)))).X3 70920 if _482_i == 0 { 70921 goto _1923 70922 } 70923 70924 _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_482_i))), int64(i32(1))) 70925 _1923: 70926 _1920: 70927 goto _248 70928 70929 _222: 70930 func() int32 { 70931 if ((_pOp.X3) > i32(0)) && ((_pOp.X3) <= (((_p.X6) + i32(1)) - (_p.X7))) { 70932 return i32(0) 70933 } 70934 return func() int32 { 70935 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84451), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64820))) 70936 crt.X__builtin_abort(tls) 70937 return i32(0) 70938 }() 70939 }() 70940 _489_pMem = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 70941 func() int32 { 70942 if (int32(_489_pMem.X1) & i32(-8194)) == i32(0) { 70943 return i32(0) 70944 } 70945 return func() int32 { 70946 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84453), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73312))) 70947 crt.X__builtin_abort(tls) 70948 return i32(0) 70949 }() 70950 }() 70951 _rc = _sqlite3VdbeMemFinalize(tls, _489_pMem, (*XFuncDef)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))))) 70952 if _rc == 0 { 70953 goto _1929 70954 } 70955 70956 _sqlite3VdbeError(tls, _p, str(25612), unsafe.Pointer(Xsqlite3_value_text(tls, _489_pMem))) 70957 goto _abort_due_to_error 70958 70959 _1929: 70960 _sqlite3VdbeChangeEncoding(tls, _489_pMem, int32(_encoding)) 70961 if _sqlite3VdbeMemTooBig(tls, _489_pMem) == 0 { 70962 goto _1930 70963 } 70964 70965 goto _too_big 70966 70967 _1930: 70968 goto _248 70969 70970 _223: 70971 func() int32 { 70972 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 70973 return i32(0) 70974 } 70975 return func() int32 { 70976 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84484), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 70977 crt.X__builtin_abort(tls) 70978 return i32(0) 70979 }() 70980 }() 70981 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(i32(0)))) = i32(0) 70982 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(i32(1)))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes))+4*uintptr(i32(2)))), i32(-1)) 70983 func() int32 { 70984 if ((((_pOp.X4) == i32(0)) || ((_pOp.X4) == i32(1))) || ((_pOp.X4) == i32(2))) || ((_pOp.X4) == i32(3)) { 70985 return i32(0) 70986 } 70987 return func() int32 { 70988 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84487), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73352))) 70989 crt.X__builtin_abort(tls) 70990 return i32(0) 70991 }() 70992 }() 70993 _rc = _sqlite3Checkpoint(tls, _db, _pOp.X3, _pOp.X4, (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes))+4*uintptr(i32(1)))), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes))+4*uintptr(i32(2))))) 70994 if _rc == 0 { 70995 goto _1938 70996 } 70997 70998 if _rc == i32(5) { 70999 goto _1939 71000 } 71001 71002 goto _abort_due_to_error 71003 71004 _1939: 71005 _rc = i32(0) 71006 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(i32(0)))) = i32(1) 71007 _1938: 71008 *func() **XMem { _492_i = i32(0); return &_492_pMem }() = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 71009 _1940: 71010 if _492_i >= i32(3) { 71011 goto _1943 71012 } 71013 71014 _sqlite3VdbeMemSetInt64(tls, _492_pMem, int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_492_aRes)) + 4*uintptr(_492_i))))) 71015 *(*uintptr)(unsafe.Pointer(func() **XMem { _492_i += 1; return &_492_pMem }())) += uintptr(48) 71016 goto _1940 71017 71018 _1943: 71019 goto _248 71020 71021 _224: 71022 _pOut = _out2Prerelease(tls, _p, _pOp) 71023 _495_eNew = _pOp.X5 71024 func() int32 { 71025 if ((((((_495_eNew == i32(0)) || (_495_eNew == i32(3))) || (_495_eNew == i32(1))) || (_495_eNew == i32(2))) || (_495_eNew == i32(4))) || (_495_eNew == i32(5))) || (_495_eNew == i32(-1)) { 71026 return i32(0) 71027 } 71028 return func() int32 { 71029 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84528), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73500))) 71030 crt.X__builtin_abort(tls) 71031 return i32(0) 71032 }() 71033 }() 71034 func() int32 { 71035 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { 71036 return i32(0) 71037 } 71038 return func() int32 { 71039 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84536), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68852))) 71040 crt.X__builtin_abort(tls) 71041 return i32(0) 71042 }() 71043 }() 71044 func() int32 { 71045 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 71046 return i32(0) 71047 } 71048 return func() int32 { 71049 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84537), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 71050 crt.X__builtin_abort(tls) 71051 return i32(0) 71052 }() 71053 }() 71054 _495_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))).X1)) 71055 _495_pPager = _sqlite3BtreePager(tls, _495_pBt) 71056 _495_eOld = _sqlite3PagerGetJournalMode(tls, _495_pPager) 71057 if _495_eNew != i32(-1) { 71058 goto _1957 71059 } 71060 71061 _495_eNew = _495_eOld 71062 _1957: 71063 if _sqlite3PagerOkToChangeJournalMode(tls, _495_pPager) != 0 { 71064 goto _1958 71065 } 71066 71067 _495_eNew = _495_eOld 71068 _1958: 71069 _495_zFilename = _sqlite3PagerFilename(tls, _495_pPager, i32(1)) 71070 if _495_eNew != i32(5) || _sqlite3Strlen30(tls, _495_zFilename) != i32(0) && _sqlite3PagerWalSupported(tls, _495_pPager) != 0 { 71071 goto _1961 71072 } 71073 71074 _495_eNew = _495_eOld 71075 _1961: 71076 if _495_eNew == _495_eOld || _495_eOld != i32(5) && _495_eNew != i32(5) { 71077 goto _1964 71078 } 71079 71080 if (_db.X15) != 0 && (_db.X35) <= i32(1) { 71081 goto _1966 71082 } 71083 71084 _rc = i32(1) 71085 _sqlite3VdbeError(tls, _p, str(73732), unsafe.Pointer(func() *int8 { 71086 if _495_eNew == i32(5) { 71087 return str(73784) 71088 } 71089 return str(73792) 71090 }())) 71091 goto _abort_due_to_error 71092 71093 _1966: 71094 if _495_eOld != i32(5) { 71095 goto _1970 71096 } 71097 71098 _rc = _sqlite3PagerCloseWal(tls, _495_pPager, _db) 71099 if _rc != i32(0) { 71100 goto _1971 71101 } 71102 71103 _sqlite3PagerSetJournalMode(tls, _495_pPager, _495_eNew) 71104 _1971: 71105 goto _1972 71106 71107 _1970: 71108 if _495_eOld != i32(4) { 71109 goto _1973 71110 } 71111 71112 _sqlite3PagerSetJournalMode(tls, _495_pPager, i32(2)) 71113 _1973: 71114 _1972: 71115 func() int32 { 71116 if _sqlite3BtreeIsInTrans(tls, _495_pBt) == i32(0) { 71117 return i32(0) 71118 } 71119 return func() int32 { 71120 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84589), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73800))) 71121 crt.X__builtin_abort(tls) 71122 return i32(0) 71123 }() 71124 }() 71125 if _rc != i32(0) { 71126 goto _1976 71127 } 71128 71129 _rc = _sqlite3BtreeSetVersion(tls, _495_pBt, func() int32 { 71130 if _495_eNew == i32(5) { 71131 return i32(2) 71132 } 71133 return i32(1) 71134 }()) 71135 _1976: 71136 _1964: 71137 if _rc == 0 { 71138 goto _1979 71139 } 71140 71141 _495_eNew = _495_eOld 71142 _1979: 71143 _495_eNew = _sqlite3PagerSetJournalMode(tls, _495_pPager, _495_eNew) 71144 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(2562)) 71145 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(16 /* X5 */))) = _sqlite3JournalModename(tls, _495_eNew) 71146 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = _sqlite3Strlen30(tls, _pOut.X5) 71147 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(10 /* X2 */))) = uint8(i32(1)) 71148 _sqlite3VdbeChangeEncoding(tls, _pOut, int32(_encoding)) 71149 if _rc == 0 { 71150 goto _1980 71151 } 71152 71153 goto _abort_due_to_error 71154 71155 _1980: 71156 goto _248 71157 71158 _225: 71159 func() int32 { 71160 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 71161 return i32(0) 71162 } 71163 return func() int32 { 71164 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84617), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 71165 crt.X__builtin_abort(tls) 71166 return i32(0) 71167 }() 71168 }() 71169 _rc = _sqlite3RunVacuum(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(104 /* X22 */))), _db, _pOp.X3) 71170 if _rc == 0 { 71171 goto _1983 71172 } 71173 71174 goto _abort_due_to_error 71175 71176 _1983: 71177 goto _248 71178 71179 _226: 71180 func() int32 { 71181 if ((_pOp.X3) >= i32(0)) && ((_pOp.X3) < (_db.X5)) { 71182 return i32(0) 71183 } 71184 return func() int32 { 71185 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84634), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68852))) 71186 crt.X__builtin_abort(tls) 71187 return i32(0) 71188 }() 71189 }() 71190 func() int32 { 71191 if ((_p.X33) & (u32(1) << uint(_pOp.X3))) != uint32(i32(0)) { 71192 return i32(0) 71193 } 71194 return func() int32 { 71195 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84635), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68884))) 71196 crt.X__builtin_abort(tls) 71197 return i32(0) 71198 }() 71199 }() 71200 func() int32 { 71201 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 71202 return i32(0) 71203 } 71204 return func() int32 { 71205 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84636), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 71206 crt.X__builtin_abort(tls) 71207 return i32(0) 71208 }() 71209 }() 71210 _505_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))).X1)) 71211 _rc = _sqlite3BtreeIncrVacuum(tls, _505_pBt) 71212 if _rc == 0 { 71213 goto _1991 71214 } 71215 71216 if _rc == i32(101) { 71217 goto _1992 71218 } 71219 71220 goto _abort_due_to_error 71221 71222 _1992: 71223 _rc = i32(0) 71224 goto _jump_to_p2 71225 71226 _1991: 71227 goto _248 71228 71229 _227: 71230 if (_pOp.X3) != 0 { 71231 goto _1993 71232 } 71233 71234 _sqlite3ExpirePreparedStatements(tls, _db) 71235 goto _1994 71236 71237 _1993: 71238 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 71239 _1994: 71240 goto _248 71241 71242 _228: 71243 _510_isWriteLock = uint8(_pOp.X5) 71244 if _510_isWriteLock == 0 && i32(0) != ((_db.X6)&i32(16384)) { 71245 goto _1996 71246 } 71247 71248 _511_p1 = _pOp.X3 71249 func() int32 { 71250 if (_511_p1 >= i32(0)) && (_511_p1 < (_db.X5)) { 71251 return i32(0) 71252 } 71253 return func() int32 { 71254 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84688), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73832))) 71255 crt.X__builtin_abort(tls) 71256 return i32(0) 71257 }() 71258 }() 71259 func() int32 { 71260 if ((_p.X33) & (u32(1) << uint(_511_p1))) != uint32(i32(0)) { 71261 return i32(0) 71262 } 71263 return func() int32 { 71264 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84689), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73852))) 71265 crt.X__builtin_abort(tls) 71266 return i32(0) 71267 }() 71268 }() 71269 func() int32 { 71270 if (int32(_510_isWriteLock) == i32(0)) || (int32(_510_isWriteLock) == i32(1)) { 71271 return i32(0) 71272 } 71273 return func() int32 { 71274 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84690), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73884))) 71275 crt.X__builtin_abort(tls) 71276 return i32(0) 71277 }() 71278 }() 71279 _rc = _sqlite3BtreeLockTable(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_511_p1))).X1)), _pOp.X4, _510_isWriteLock) 71280 if _rc == 0 { 71281 goto _2005 71282 } 71283 71284 if (_rc & i32(255)) != i32(6) { 71285 goto _2006 71286 } 71287 71288 _513_z = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) 71289 _sqlite3VdbeError(tls, _p, str(73920), unsafe.Pointer(_513_z)) 71290 _2006: 71291 goto _abort_due_to_error 71292 71293 _2005: 71294 _1996: 71295 goto _248 71296 71297 _229: 71298 _514_pVTab = (*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 71299 _rc = _sqlite3VtabBegin(tls, _db, _514_pVTab) 71300 if _514_pVTab == nil { 71301 goto _2007 71302 } 71303 71304 _sqlite3VtabImportErrmsg(tls, _p, (*Xsqlite3_vtab)(unsafe.Pointer(_514_pVTab.X2))) 71305 _2007: 71306 if _rc == 0 { 71307 goto _2008 71308 } 71309 71310 goto _abort_due_to_error 71311 71312 _2008: 71313 goto _248 71314 71315 _230: 71316 crt.Xmemset(tls, (unsafe.Pointer)(&_515_sMem), i32(0), u32(48)) 71317 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_515_sMem)) + uintptr(32 /* X9 */))))) = _db 71318 func() int32 { 71319 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4))).X1) & i32(2)) != i32(0) { 71320 return i32(0) 71321 } 71322 return func() int32 { 71323 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84738), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73952))) 71324 crt.X__builtin_abort(tls) 71325 return i32(0) 71326 }() 71327 }() 71328 func() int32 { 71329 if (int32((*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4))).X1) & i32(2048)) != i32(0) { 71330 return i32(0) 71331 } 71332 return func() int32 { 71333 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84739), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(73988))) 71334 crt.X__builtin_abort(tls) 71335 return i32(0) 71336 }() 71337 }() 71338 _rc = _sqlite3VdbeMemCopy(tls, &_515_sMem, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOp.X4)))) 71339 func() int32 { 71340 if _rc == i32(0) { 71341 return i32(0) 71342 } 71343 return func() int32 { 71344 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84741), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(15360))) 71345 crt.X__builtin_abort(tls) 71346 return i32(0) 71347 }() 71348 }() 71349 _515_zTab = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, &_515_sMem))) 71350 func() int32 { 71351 if (_515_zTab != nil) || ((_db.X17) != 0) { 71352 return i32(0) 71353 } 71354 return func() int32 { 71355 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84743), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74028))) 71356 crt.X__builtin_abort(tls) 71357 return i32(0) 71358 }() 71359 }() 71360 if _515_zTab == nil { 71361 goto _2018 71362 } 71363 71364 _rc = _sqlite3VtabCallCreate(tls, _db, _pOp.X3, _515_zTab, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(104 /* X22 */)))) 71365 _2018: 71366 _sqlite3VdbeMemRelease(tls, &_515_sMem) 71367 if _rc == 0 { 71368 goto _2019 71369 } 71370 71371 goto _abort_due_to_error 71372 71373 _2019: 71374 goto _248 71375 71376 _231: 71377 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(168 /* X38 */))) += 1 71378 _rc = _sqlite3VtabCallDestroy(tls, _db, _pOp.X3, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 71379 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(168 /* X38 */))) -= 1 71380 if _rc == 0 { 71381 goto _2020 71382 } 71383 71384 goto _abort_due_to_error 71385 71386 _2020: 71387 goto _248 71388 71389 _232: 71390 func() int32 { 71391 if ((uint32((_p.X32)>>uint(i32(8))) << uint(i32(31))) >> uint(i32(31))) != 0 { 71392 return i32(0) 71393 } 71394 return func() int32 { 71395 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84781), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(68264))) 71396 crt.X__builtin_abort(tls) 71397 return i32(0) 71398 }() 71399 }() 71400 _518_pCur = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) 71401 _518_pVCur = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) 71402 _518_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) 71403 if _518_pVtab != (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { 71404 if (*Xsqlite3_module)(unsafe.Pointer(_518_pVtab.X0)) == (*Xsqlite3_module)(unsafe.Pointer(uintptr(i32(0)))) { 71405 return func() int32 { 71406 func() int32 { 71407 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84785), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(5204))) 71408 crt.X__builtin_abort(tls) 71409 return i32(0) 71410 }() 71411 return i32(1) 71412 }() 71413 } 71414 return i32(0) 71415 }() == 0 { 71416 goto _2026 71417 } 71418 71419 _rc = i32(6) 71420 goto _abort_due_to_error 71421 71422 _2026: 71423 _518_pModule = (*Xsqlite3_module)(unsafe.Pointer(_518_pVtab.X0)) 71424 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, **Xsqlite3_file) int32)(unsafe.Pointer(&struct { 71425 f func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 71426 }{(_518_pModule.X6)})))(tls, _518_pVtab, &_518_pVCur) 71427 _sqlite3VtabImportErrmsg(tls, _p, _518_pVtab) 71428 if _rc == 0 { 71429 goto _2027 71430 } 71431 71432 goto _abort_due_to_error 71433 71434 _2027: 71435 *(**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_518_pVCur)) + uintptr(0 /* X0 */))))) = _518_pVtab 71436 _518_pCur = _allocateCursor(tls, _p, _pOp.X3, i32(0), i32(-1), uint8(i32(2))) 71437 if _518_pCur == nil { 71438 goto _2028 71439 } 71440 71441 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_518_pCur)) + uintptr(36 /* X14 */))))))) = _518_pVCur 71442 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_518_pVtab)) + uintptr(4 /* X1 */))) += 1 71443 goto _2029 71444 71445 _2028: 71446 func() int32 { 71447 if (_db.X17) != 0 { 71448 return i32(0) 71449 } 71450 return func() int32 { 71451 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84803), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(50476))) 71452 crt.X__builtin_abort(tls) 71453 return i32(0) 71454 }() 71455 }() 71456 (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 71457 f func(*crt.TLS, unsafe.Pointer) int32 71458 }{(_518_pModule.X7)})))(tls, _518_pVCur) 71459 goto _no_mem 71460 71461 _2029: 71462 goto _248 71463 71464 _233: 71465 _522_pQuery = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 71466 _522_pArgc = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pQuery)) + 48*uintptr(i32(1)))) 71467 _522_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 71468 func() int32 { 71469 if (int32(_522_pQuery.X1) & i32(128)) == i32(0) { 71470 return i32(0) 71471 } 71472 return func() int32 { 71473 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84847), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74056))) 71474 crt.X__builtin_abort(tls) 71475 return i32(0) 71476 }() 71477 }() 71478 if ((_db.X6) & i32(1)) == 0 { 71479 goto _2034 71480 } 71481 71482 _registerTrace(tls, _pOp.X5, _522_pQuery) 71483 _2034: 71484 func() int32 { 71485 if int32(_522_pCur.X0) == i32(2) { 71486 return i32(0) 71487 } 71488 return func() int32 { 71489 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84849), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74076))) 71490 crt.X__builtin_abort(tls) 71491 return i32(0) 71492 }() 71493 }() 71494 _522_pVCur = (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pCur)) + uintptr(36 /* X14 */))))))) 71495 _522_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_522_pVCur.X0)) 71496 _522_pModule = (*Xsqlite3_module)(unsafe.Pointer(_522_pVtab.X0)) 71497 func() int32 { 71498 if ((int32(_522_pQuery.X1) & i32(4)) != i32(0)) && (int32(_522_pArgc.X1) == i32(4)) { 71499 return i32(0) 71500 } 71501 return func() int32 { 71502 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84855), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74108))) 71503 crt.X__builtin_abort(tls) 71504 return i32(0) 71505 }() 71506 }() 71507 _522_nArg = int32(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pArgc)) + uintptr(0 /* X0 */)))))) 71508 _522_iQuery = int32(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pQuery)) + uintptr(0 /* X0 */)))))) 71509 _522_res = i32(0) 71510 _522_apArg = (**XMem)(unsafe.Pointer(_p.X19)) 71511 _522_i = i32(0) 71512 _2040: 71513 if _522_i >= _522_nArg { 71514 goto _2043 71515 } 71516 71517 *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_apArg)) + 4*uintptr(_522_i))) = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pArgc)) + 48*uintptr(_522_i+i32(1)))) 71518 _522_i += 1 71519 goto _2040 71520 71521 _2043: 71522 _rc = (*(*func(*crt.TLS, *Xsqlite3_file, int32, *int8, int32, **XMem) int32)(unsafe.Pointer(&struct { 71523 f func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, *unsafe.Pointer) int32 71524 }{(_522_pModule.X8)})))(tls, _522_pVCur, _522_iQuery, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), _522_nArg, _522_apArg) 71525 _sqlite3VtabImportErrmsg(tls, _p, _522_pVtab) 71526 if _rc == 0 { 71527 goto _2044 71528 } 71529 71530 goto _abort_due_to_error 71531 71532 _2044: 71533 _522_res = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 71534 f func(*crt.TLS, unsafe.Pointer) int32 71535 }{(_522_pModule.X10)})))(tls, _522_pVCur) 71536 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_522_pCur)) + uintptr(2 /* X2 */))) = uint8(i32(0)) 71537 if _522_res == 0 { 71538 goto _2045 71539 } 71540 71541 goto _jump_to_p2 71542 71543 _2045: 71544 goto _248 71545 71546 _234: 71547 _524_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 71548 func() int32 { 71549 if int32(_524_pCur.X0) == i32(2) { 71550 return i32(0) 71551 } 71552 return func() int32 { 71553 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84891), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74076))) 71554 crt.X__builtin_abort(tls) 71555 return i32(0) 71556 }() 71557 }() 71558 func() int32 { 71559 if ((_pOp.X5) > i32(0)) && ((_pOp.X5) <= (((_p.X6) + i32(1)) - (_p.X7))) { 71560 return i32(0) 71561 } 71562 return func() int32 { 71563 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84892), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(66180))) 71564 crt.X__builtin_abort(tls) 71565 return i32(0) 71566 }() 71567 }() 71568 _524_pDest = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 71569 _sqlite3VdbeMemAboutToChange(tls, _p, _524_pDest) 71570 if (_524_pCur.X2) == 0 { 71571 goto _2051 71572 } 71573 71574 _sqlite3VdbeMemSetNull(tls, _524_pDest) 71575 goto _248 71576 71577 _2051: 71578 _524_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_524_pCur)) + uintptr(36 /* X14 */))))))).X0)) 71579 _524_pModule = (*Xsqlite3_module)(unsafe.Pointer(_524_pVtab.X0)) 71580 func() int32 { 71581 if (*(*func(*crt.TLS, *Xsqlite3_file, *Xsqlite3_context, int32) int32)(unsafe.Pointer(&struct { 71582 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32 71583 }{(_524_pModule.X11)}))) != nil { 71584 return i32(0) 71585 } 71586 return func() int32 { 71587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84901), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74160))) 71588 crt.X__builtin_abort(tls) 71589 return i32(0) 71590 }() 71591 }() 71592 crt.Xmemset(tls, (unsafe.Pointer)(&_524_sContext), i32(0), u32(32)) 71593 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_524_sContext)) + uintptr(0 /* X0 */))))) = _524_pDest 71594 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_524_pDest)) + uintptr(8 /* X1 */))) = uint16((int32(_524_pDest.X1) & i32(-49664)) | i32(1)) 71595 _rc = (*(*func(*crt.TLS, *Xsqlite3_file, *Xsqlite3_context, int32) int32)(unsafe.Pointer(&struct { 71596 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32 71597 }{(_524_pModule.X11)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_524_pCur)) + uintptr(36 /* X14 */))))))), &_524_sContext, _pOp.X4) 71598 _sqlite3VtabImportErrmsg(tls, _p, _524_pVtab) 71599 if (_524_sContext.X5) == 0 { 71600 goto _2054 71601 } 71602 71603 _rc = _524_sContext.X5 71604 _2054: 71605 _sqlite3VdbeChangeEncoding(tls, _524_pDest, int32(_encoding)) 71606 if ((_db.X6) & i32(1)) == 0 { 71607 goto _2055 71608 } 71609 71610 _registerTrace(tls, _pOp.X5, _524_pDest) 71611 _2055: 71612 if _sqlite3VdbeMemTooBig(tls, _524_pDest) == 0 { 71613 goto _2056 71614 } 71615 71616 goto _too_big 71617 71618 _2056: 71619 if _rc == 0 { 71620 goto _2057 71621 } 71622 71623 goto _abort_due_to_error 71624 71625 _2057: 71626 goto _248 71627 71628 _235: 71629 _528_res = i32(0) 71630 _528_pCur = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_pOp.X3))) 71631 func() int32 { 71632 if int32(_528_pCur.X0) == i32(2) { 71633 return i32(0) 71634 } 71635 return func() int32 { 71636 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84937), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74076))) 71637 crt.X__builtin_abort(tls) 71638 return i32(0) 71639 }() 71640 }() 71641 if (_528_pCur.X2) == 0 { 71642 goto _2060 71643 } 71644 71645 goto _248 71646 71647 _2060: 71648 _528_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_528_pCur)) + uintptr(36 /* X14 */))))))).X0)) 71649 _528_pModule = (*Xsqlite3_module)(unsafe.Pointer(_528_pVtab.X0)) 71650 func() int32 { 71651 if (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 71652 f func(*crt.TLS, unsafe.Pointer) int32 71653 }{(_528_pModule.X9)}))) != nil { 71654 return i32(0) 71655 } 71656 return func() int32 { 71657 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84943), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74180))) 71658 crt.X__builtin_abort(tls) 71659 return i32(0) 71660 }() 71661 }() 71662 _rc = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 71663 f func(*crt.TLS, unsafe.Pointer) int32 71664 }{(_528_pModule.X9)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_528_pCur)) + uintptr(36 /* X14 */)))))))) 71665 _sqlite3VtabImportErrmsg(tls, _p, _528_pVtab) 71666 if _rc == 0 { 71667 goto _2063 71668 } 71669 71670 goto _abort_due_to_error 71671 71672 _2063: 71673 _528_res = (*(*func(*crt.TLS, *Xsqlite3_file) int32)(unsafe.Pointer(&struct { 71674 f func(*crt.TLS, unsafe.Pointer) int32 71675 }{(_528_pModule.X10)})))(tls, (*Xsqlite3_file)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_528_pCur)) + uintptr(36 /* X14 */)))))))) 71676 if _528_res != 0 { 71677 goto _2064 71678 } 71679 71680 goto _jump_to_p2_and_check_for_interrupt 71681 71682 _2064: 71683 goto _check_for_interrupt 71684 71685 _236: 71686 _531_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) 71687 _531_pName = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X3))) 71688 func() int32 { 71689 if (*(*func(*crt.TLS, *Xsqlite3_vtab, *int8) int32)(unsafe.Pointer(&struct { 71690 f func(*crt.TLS, unsafe.Pointer, *int8) int32 71691 }{((*Xsqlite3_module)(unsafe.Pointer(_531_pVtab.X0)).X19)}))) != nil { 71692 return i32(0) 71693 } 71694 return func() int32 { 71695 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84977), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74196))) 71696 crt.X__builtin_abort(tls) 71697 return i32(0) 71698 }() 71699 }() 71700 func() int32 { 71701 if (int32(_531_pName.X1) & i32(128)) == i32(0) { 71702 return i32(0) 71703 } 71704 return func() int32 { 71705 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84978), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74220))) 71706 crt.X__builtin_abort(tls) 71707 return i32(0) 71708 }() 71709 }() 71710 func() int32 { 71711 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 71712 return i32(0) 71713 } 71714 return func() int32 { 71715 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84979), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 71716 crt.X__builtin_abort(tls) 71717 return i32(0) 71718 }() 71719 }() 71720 if ((_db.X6) & i32(1)) == 0 { 71721 goto _2071 71722 } 71723 71724 _registerTrace(tls, _pOp.X3, _531_pName) 71725 _2071: 71726 func() int32 { 71727 if (int32(_531_pName.X1) & i32(2)) != 0 { 71728 return i32(0) 71729 } 71730 return func() int32 { 71731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(84981), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74240))) 71732 crt.X__builtin_abort(tls) 71733 return i32(0) 71734 }() 71735 }() 71736 _rc = _sqlite3VdbeChangeEncoding(tls, _531_pName, i32(1)) 71737 if _rc == 0 { 71738 goto _2074 71739 } 71740 71741 goto _abort_due_to_error 71742 71743 _2074: 71744 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, *int8) int32)(unsafe.Pointer(&struct { 71745 f func(*crt.TLS, unsafe.Pointer, *int8) int32 71746 }{((*Xsqlite3_module)(unsafe.Pointer(_531_pVtab.X0)).X19)})))(tls, _531_pVtab, _531_pName.X5) 71747 _sqlite3VtabImportErrmsg(tls, _p, _531_pVtab) 71748 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 1, 0) 71749 if _rc == 0 { 71750 goto _2075 71751 } 71752 71753 goto _abort_due_to_error 71754 71755 _2075: 71756 goto _248 71757 71758 _237: 71759 func() int32 { 71760 if ((((((_pOp.X4) == i32(1)) || (int32(_pOp.X2) == i32(3))) || (int32(_pOp.X2) == i32(1))) || (int32(_pOp.X2) == i32(2))) || (int32(_pOp.X2) == i32(4))) || (int32(_pOp.X2) == i32(5)) { 71761 return i32(0) 71762 } 71763 return func() int32 { 71764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85032), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74264))) 71765 crt.X__builtin_abort(tls) 71766 return i32(0) 71767 }() 71768 }() 71769 func() int32 { 71770 if int32((uint32((_p.X32)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 71771 return i32(0) 71772 } 71773 return func() int32 { 71774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85035), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(69132))) 71775 crt.X__builtin_abort(tls) 71776 return i32(0) 71777 }() 71778 }() 71779 _532_pVtab = (*Xsqlite3_vtab)(unsafe.Pointer((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X2)) 71780 if _532_pVtab != (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { 71781 if (*Xsqlite3_module)(unsafe.Pointer(_532_pVtab.X0)) == (*Xsqlite3_module)(unsafe.Pointer(uintptr(i32(0)))) { 71782 return func() int32 { 71783 func() int32 { 71784 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85037), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(5204))) 71785 crt.X__builtin_abort(tls) 71786 return i32(0) 71787 }() 71788 return i32(1) 71789 }() 71790 } 71791 return i32(0) 71792 }() == 0 { 71793 goto _2088 71794 } 71795 71796 _rc = i32(6) 71797 goto _abort_due_to_error 71798 71799 _2088: 71800 _532_pModule = (*Xsqlite3_module)(unsafe.Pointer(_532_pVtab.X0)) 71801 _532_nArg = _pOp.X4 71802 func() int32 { 71803 if int32(_pOp.X1) == i32(-8) { 71804 return i32(0) 71805 } 71806 return func() int32 { 71807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85043), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74388))) 71808 crt.X__builtin_abort(tls) 71809 return i32(0) 71810 }() 71811 }() 71812 if func() int32 { 71813 if (*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { 71814 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 71815 }{(_532_pModule.X13)}))) != nil { 71816 return i32(1) 71817 } 71818 return func() int32 { 71819 func() int32 { 71820 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85044), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(5204))) 71821 crt.X__builtin_abort(tls) 71822 return i32(0) 71823 }() 71824 return i32(0) 71825 }() 71826 }() == 0 { 71827 goto _2093 71828 } 71829 71830 _534_vtabOnConflict = _db.X22 71831 _532_apArg = (**XMem)(unsafe.Pointer(_p.X19)) 71832 _532_pX = (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem)) + 48*uintptr(_pOp.X5))) 71833 _532_i = i32(0) 71834 _2094: 71835 if _532_i >= _532_nArg { 71836 goto _2097 71837 } 71838 71839 func() int32 { 71840 if (int32(_532_pX.X1) & i32(128)) == i32(0) { 71841 return i32(0) 71842 } 71843 return func() int32 { 71844 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85049), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74412))) 71845 crt.X__builtin_abort(tls) 71846 return i32(0) 71847 }() 71848 }() 71849 _sqlite3VdbeMemAboutToChange(tls, _p, _532_pX) 71850 *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_532_apArg)) + 4*uintptr(_532_i))) = _532_pX 71851 *(*uintptr)(unsafe.Pointer(&_532_pX)) += uintptr(48) 71852 _532_i += 1 71853 goto _2094 71854 71855 _2097: 71856 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(70 /* X22 */))) = uint8(_pOp.X2) 71857 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { 71858 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 71859 }{(_532_pModule.X13)})))(tls, _532_pVtab, _532_nArg, _532_apArg, &_532_rowid) 71860 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(70 /* X22 */))) = _534_vtabOnConflict 71861 _sqlite3VtabImportErrmsg(tls, _p, _532_pVtab) 71862 if _rc != i32(0) || (_pOp.X3) == 0 { 71863 goto _2101 71864 } 71865 71866 func() int32 { 71867 if ((_532_nArg > i32(1)) && ((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_532_apArg)) + 4*uintptr(i32(0))))) != nil)) && (int32((*(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_532_apArg)) + 4*uintptr(i32(0))))).X1)&i32(1)) != 0 { 71868 return i32(0) 71869 } 71870 return func() int32 { 71871 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85059), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74428))) 71872 crt.X__builtin_abort(tls) 71873 return i32(0) 71874 }() 71875 }() 71876 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(28 /* X7 */))) = _532_rowid 71877 _2101: 71878 if (_rc&i32(255)) != i32(19) || ((*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))).X4) == 0 { 71879 goto _2107 71880 } 71881 71882 if int32(_pOp.X2) != i32(4) { 71883 goto _2108 71884 } 71885 71886 _rc = i32(0) 71887 goto _2109 71888 71889 _2108: 71890 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(138 /* X30 */))) = uint8(func() int32 { 71891 if int32(_pOp.X2) == i32(5) { 71892 return i32(2) 71893 } 71894 return int32(_pOp.X2) 71895 }()) 71896 _2109: 71897 goto _2112 71898 71899 _2107: 71900 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) += 1 71901 _2112: 71902 if _rc == 0 { 71903 goto _2113 71904 } 71905 71906 goto _abort_due_to_error 71907 71908 _2113: 71909 _2093: 71910 goto _248 71911 71912 _238: 71913 _pOut = _out2Prerelease(tls, _p, _pOp) 71914 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_sqlite3BtreeLastPage(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_pOp.X3))).X1)))) 71915 goto _248 71916 71917 _239: 71918 _pOut = _out2Prerelease(tls, _p, _pOp) 71919 _542_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_pOp.X3))).X1)) 71920 _542_newMax = uint32(i32(0)) 71921 if (_pOp.X5) == 0 { 71922 goto _2114 71923 } 71924 71925 _542_newMax = _sqlite3BtreeLastPage(tls, _542_pBt) 71926 if _542_newMax >= uint32(_pOp.X5) { 71927 goto _2115 71928 } 71929 71930 _542_newMax = uint32(_pOp.X5) 71931 _2115: 71932 _2114: 71933 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = int64(_sqlite3BtreeMaxPageCount(tls, _542_pBt, int32(_542_newMax))) 71934 goto _248 71935 71936 _240: 71937 func() int32 { 71938 if ((*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (crt.Xstrncmp(tls, *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))), str(74480), uint32(i32(3))) == i32(0)) { 71939 return i32(0) 71940 } 71941 return func() int32 { 71942 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85144), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74484))) 71943 crt.X__builtin_abort(tls) 71944 return i32(0) 71945 }() 71946 }() 71947 func() int32 { 71948 if _pOp == (*XVdbeOp)(unsafe.Pointer(_p.X17)) { 71949 return i32(0) 71950 } 71951 return func() int32 { 71952 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85145), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74536))) 71953 crt.X__builtin_abort(tls) 71954 return i32(0) 71955 }() 71956 }() 71957 if (int32(_db.X24)&i32(129)) == i32(0) || ((uint32((_p.X32)>>uint(i32(1)))<<uint(i32(31)))>>uint(i32(31))) != 0 || store1025(&_544_zTrace, func() *int8 { 71958 if (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != nil { 71959 return (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 71960 } 71961 return (_p.X36) 71962 }()) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 71963 goto _2125 71964 } 71965 71966 if (int32(_db.X24) & i32(128)) == 0 { 71967 goto _2126 71968 } 71969 71970 _546_x = *(*func(*crt.TLS, unsafe.Pointer, *int8))(unsafe.Pointer(&struct { 71971 f func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 71972 }{(_db.X41)})) 71973 _546_z = _sqlite3VdbeExpandSql(tls, _p, _544_zTrace) 71974 _546_x(tls, _db.X42, _546_z) 71975 Xsqlite3_free(tls, (unsafe.Pointer)(_546_z)) 71976 goto _2127 71977 71978 _2126: 71979 if (_db.X37) <= i32(1) { 71980 goto _2128 71981 } 71982 71983 _547_z = _sqlite3MPrintf(tls, _db, str(74548), unsafe.Pointer(_544_zTrace)) 71984 (_db.X41)(tls, uint32(i32(1)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(_547_z)) 71985 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_547_z)) 71986 goto _2129 71987 71988 _2128: 71989 (_db.X41)(tls, uint32(i32(1)), _db.X42, (unsafe.Pointer)(_p), (unsafe.Pointer)(_544_zTrace)) 71990 _2129: 71991 _2127: 71992 _2125: 71993 if ((_db.X6)&i32(512)) == i32(0) || store1025(&_544_zTrace, func() *int8 { 71994 if (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) != nil { 71995 return (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 71996 } 71997 return (_p.X36) 71998 }()) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 71999 goto _2133 72000 } 72001 72002 _sqlite3DebugPrintf(tls, str(74556), unsafe.Pointer(_544_zTrace)) 72003 _2133: 72004 func() int32 { 72005 if (_pOp.X4) > i32(0) { 72006 return i32(0) 72007 } 72008 return func() int32 { 72009 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85186), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(64552))) 72010 crt.X__builtin_abort(tls) 72011 return i32(0) 72012 }() 72013 }() 72014 if (_pOp.X3) < (_sqlite3Config.X39) { 72015 goto _2136 72016 } 72017 72018 _544_i = i32(1) 72019 _2137: 72020 if _544_i >= (_p.X27) { 72021 goto _2140 72022 } 72023 72024 if int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_544_i))).X0) != i32(20) { 72025 goto _2141 72026 } 72027 72028 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_544_i))))) + uintptr(4 /* X3 */))) = i32(0) 72029 _2141: 72030 _544_i += 1 72031 goto _2137 72032 72033 _2140: 72034 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = i32(0) 72035 _2136: 72036 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) += 1 72037 goto _jump_to_p2 72038 72039 _241: 72040 func() int32 { 72041 if (int32(_pOp.X0) == i32(162)) || (int32(_pOp.X0) == i32(163)) { 72042 return i32(0) 72043 } 72044 return func() int32 { 72045 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85232), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74572))) 72046 crt.X__builtin_abort(tls) 72047 return i32(0) 72048 }() 72049 }() 72050 goto _248 72051 72052 _248: 72053 func() int32 { 72054 if (uintptr(unsafe.Pointer(_pOp)) >= uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr(i32(-1))))))) && (uintptr(unsafe.Pointer(_pOp)) < uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+24*uintptr((_p.X27)-i32(1))))))) { 72055 return i32(0) 72056 } 72057 return func() int32 { 72058 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85258), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74620))) 72059 crt.X__builtin_abort(tls) 72060 return i32(0) 72061 }() 72062 }() 72063 if ((_db.X6) & i32(1)) == 0 { 72064 goto _2148 72065 } 72066 72067 _553_opProperty = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_pOrigOp.X0))) 72068 if _rc == i32(0) { 72069 goto _2149 72070 } 72071 72072 crt.Xprintf(tls, str(74656), _rc) 72073 _2149: 72074 if (int32(_553_opProperty) & i32(16)) == 0 { 72075 goto _2150 72076 } 72077 72078 _registerTrace(tls, _pOrigOp.X4, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOrigOp.X4)))) 72079 _2150: 72080 if (int32(_553_opProperty) & i32(32)) == 0 { 72081 goto _2151 72082 } 72083 72084 _registerTrace(tls, _pOrigOp.X5, (*XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aMem))+48*uintptr(_pOrigOp.X5)))) 72085 _2151: 72086 _2148: 72087 *(*uintptr)(unsafe.Pointer(&_pOp)) += uintptr(24) 72088 goto _30 72089 72090 _abort_due_to_error: 72091 if (_db.X17) == 0 { 72092 goto _2152 72093 } 72094 72095 _rc = _sqlite3NomemError(tls, i32(85279)) 72096 _2152: 72097 func() int32 { 72098 if _rc != 0 { 72099 return i32(0) 72100 } 72101 return func() int32 { 72102 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85280), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74664))) 72103 crt.X__builtin_abort(tls) 72104 return i32(0) 72105 }() 72106 }() 72107 if (_p.X22) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _rc == i32(3082) { 72108 goto _2156 72109 } 72110 72111 _sqlite3VdbeError(tls, _p, str(25612), unsafe.Pointer(_sqlite3ErrStr(tls, _rc))) 72112 _2156: 72113 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _rc 72114 _sqlite3SystemError(tls, _db, _rc) 72115 Xsqlite3_log(tls, _rc, str(74668), int32((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer(_aOp)))/24), unsafe.Pointer(_p.X36), unsafe.Pointer(_p.X22)) 72116 _sqlite3VdbeHalt(tls, _p) 72117 if _rc != i32(3082) { 72118 goto _2157 72119 } 72120 72121 _sqlite3OomFault(tls, _db) 72122 _2157: 72123 _rc = i32(1) 72124 if int32(_resetSchemaOnFault) <= i32(0) { 72125 goto _2158 72126 } 72127 72128 _sqlite3ResetOneSchema(tls, _db, int32(_resetSchemaOnFault)-i32(1)) 72129 _2158: 72130 _vdbe_return: 72131 { 72132 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(152 /* X35 */))))) + 4*uintptr(i32(4)))) 72133 *p = (*p) + uint32(int32(_nVmStep)) 72134 sink985 = *p 72135 } 72136 _sqlite3VdbeLeave(tls, _p) 72137 func() int32 { 72138 if ((_rc != i32(0)) || (_nExtraDelete == i32(0))) || (Xsqlite3_strlike(tls, str(74700), _p.X36, uint32(i32(0))) != i32(0)) { 72139 return i32(0) 72140 } 72141 return func() int32 { 72142 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85303), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74708))) 72143 crt.X__builtin_abort(tls) 72144 return i32(0) 72145 }() 72146 }() 72147 r0 = _rc 72148 return 72149 72150 _too_big: 72151 _sqlite3VdbeError(tls, _p, str(6464)) 72152 _rc = i32(18) 72153 goto _abort_due_to_error 72154 72155 _no_mem: 72156 _sqlite3OomFault(tls, _db) 72157 _sqlite3VdbeError(tls, _p, str(62796)) 72158 _rc = _sqlite3NomemError(tls, i32(85321)) 72159 goto _abort_due_to_error 72160 72161 _abort_due_to_interrupt: 72162 func() int32 { 72163 if (*(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */)))))) != 0 { 72164 return i32(0) 72165 } 72166 return func() int32 { 72167 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85328), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExecØ00__func__Ø000))), unsafe.Pointer(str(74784))) 72168 crt.X__builtin_abort(tls) 72169 return i32(0) 72170 }() 72171 }() 72172 _rc = func() int32 { 72173 if (_db.X17) != 0 { 72174 return _sqlite3NomemError(tls, i32(85329)) 72175 } 72176 return i32(9) 72177 }() 72178 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = _rc 72179 _sqlite3VdbeError(tls, _p, str(25612), unsafe.Pointer(_sqlite3ErrStr(tls, _rc))) 72180 goto _abort_due_to_error 72181 72182 } 72183 72184 var _sqlite3VdbeExecØ00__func__Ø000 [16]int8 // - 72185 72186 func init() { 72187 crt.Xstrncpy(nil, &_sqlite3VdbeExecØ00__func__Ø000[0], str(74808), 16) 72188 } 72189 72190 func _sqlite3VdbePrintSql(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:73112:1 72191 var _z *int8 // sqlite3.c:73113:14 72192 _ = _z 72193 var _2_pOp *XVdbeOp // sqlite3.c:73117:18 72194 _ = _2_pOp 72195 _z = nil 72196 if (_p.X36) == nil { 72197 goto _0 72198 } 72199 72200 _z = _p.X36 72201 goto _1 72202 72203 _0: 72204 if (_p.X27) < i32(1) { 72205 goto _2 72206 } 72207 72208 _2_pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(i32(0)))) 72209 if int32(_2_pOp.X0) != i32(72) || (*(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pOp)) + uintptr(16 /* X6 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 72210 goto _4 72211 } 72212 72213 _z = *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pOp)) + uintptr(16 /* X6 */))))) 72214 _5: 72215 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z))))) & i32(1)) == 0 { 72216 goto _6 72217 } 72218 72219 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 72220 goto _5 72221 72222 _6: 72223 _4: 72224 _2: 72225 _1: 72226 if _z == nil { 72227 goto _7 72228 } 72229 72230 crt.Xprintf(tls, str(74824), unsafe.Pointer(_z)) 72231 _7: 72232 return 72233 72234 } 72235 72236 func _registerTrace(tls *crt.TLS, _iReg int32, _p *XMem) { // sqlite3.c:78580:1 72237 crt.Xprintf(tls, str(74836), _iReg) 72238 _memTracePrint(tls, _p) 72239 crt.Xprintf(tls, str(39704)) 72240 return 72241 72242 } 72243 72244 func _memTracePrint(tls *crt.TLS, _p *XMem) { // sqlite3.c:78558:1 72245 var _7_zBuf [200]int8 // sqlite3.c:78574:10 72246 _ = _7_zBuf 72247 if (int32(_p.X1) & i32(128)) == 0 { 72248 goto _0 72249 } 72250 72251 crt.Xprintf(tls, str(74848)) 72252 goto _1 72253 72254 _0: 72255 if (int32(_p.X1) & i32(1)) == 0 { 72256 goto _2 72257 } 72258 72259 crt.Xprintf(tls, str(74860)) 72260 goto _3 72261 72262 _2: 72263 if (int32(_p.X1) & i32(6)) != i32(6) { 72264 goto _4 72265 } 72266 72267 crt.Xprintf(tls, str(74868), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) 72268 goto _5 72269 72270 _4: 72271 if (int32(_p.X1) & i32(4)) == 0 { 72272 goto _6 72273 } 72274 72275 crt.Xprintf(tls, str(74880), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) 72276 goto _7 72277 72278 _6: 72279 if (int32(_p.X1) & i32(8)) == 0 { 72280 goto _8 72281 } 72282 72283 crt.Xprintf(tls, str(74888), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) 72284 goto _9 72285 72286 _8: 72287 if (int32(_p.X1) & i32(32)) == 0 { 72288 goto _10 72289 } 72290 72291 crt.Xprintf(tls, str(74896)) 72292 goto _11 72293 72294 _10: 72295 _sqlite3VdbeMemPrettyPrint(tls, _p, (*int8)(unsafe.Pointer(&_7_zBuf))) 72296 crt.Xprintf(tls, str(49616), unsafe.Pointer((*int8)(unsafe.Pointer(&_7_zBuf)))) 72297 _11: 72298 _9: 72299 _7: 72300 _5: 72301 _3: 72302 _1: 72303 if (int32(_p.X1) & i32(32768)) == 0 { 72304 goto _12 72305 } 72306 72307 crt.Xprintf(tls, str(74908), int32(_p.X3)) 72308 _12: 72309 return 72310 72311 } 72312 72313 func _sqlite3VdbeMemPrettyPrint(tls *crt.TLS, _pMem *XMem, _zBuf *int8) { // sqlite3.c:78480:1 72314 var _zCsr *int8 // sqlite3.c:78481:8 72315 _ = _zCsr 72316 var _f int32 // sqlite3.c:78482:7 72317 _ = _f 72318 var _1_i int32 // sqlite3.c:78487:9 72319 _ = _1_i 72320 var _1_c int8 // sqlite3.c:78488:10 72321 _ = _1_c 72322 var _7_z int8 // sqlite3.c:78509:12 72323 _ = _7_z 72324 var _9_j int32 // sqlite3.c:78520:9 72325 _ = _9_j 72326 var _9_k int32 // sqlite3.c:78520:12 72327 _ = _9_k 72328 var _14_c uint8 // sqlite3.c:78539:10 72329 _ = _14_c 72330 _zCsr = _zBuf 72331 _f = int32(_pMem.X1) 72332 if (_f & i32(16)) == 0 { 72333 goto _0 72334 } 72335 72336 if (_f & i32(1024)) == 0 { 72337 goto _1 72338 } 72339 72340 _1_c = int8(i32(122)) 72341 func() int32 { 72342 if (_f & i32(6144)) == i32(0) { 72343 return i32(0) 72344 } 72345 return func() int32 { 72346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78491), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemPrettyPrintØ00__func__Ø000))), unsafe.Pointer(str(74924))) 72347 crt.X__builtin_abort(tls) 72348 return i32(0) 72349 }() 72350 }() 72351 goto _4 72352 72353 _1: 72354 if (_f & i32(2048)) == 0 { 72355 goto _5 72356 } 72357 72358 _1_c = int8(i32(116)) 72359 func() int32 { 72360 if (_f & i32(5120)) == i32(0) { 72361 return i32(0) 72362 } 72363 return func() int32 { 72364 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78494), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemPrettyPrintØ00__func__Ø000))), unsafe.Pointer(str(74956))) 72365 crt.X__builtin_abort(tls) 72366 return i32(0) 72367 }() 72368 }() 72369 goto _8 72370 72371 _5: 72372 if (_f & i32(4096)) == 0 { 72373 goto _9 72374 } 72375 72376 _1_c = int8(i32(101)) 72377 func() int32 { 72378 if (_f & i32(3072)) == i32(0) { 72379 return i32(0) 72380 } 72381 return func() int32 { 72382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78497), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemPrettyPrintØ00__func__Ø000))), unsafe.Pointer(str(74988))) 72383 crt.X__builtin_abort(tls) 72384 return i32(0) 72385 }() 72386 }() 72387 goto _12 72388 72389 _9: 72390 _1_c = int8(i32(115)) 72391 _12: 72392 _8: 72393 _4: 72394 *postInc1025(&_zCsr, 1) = _1_c 72395 Xsqlite3_snprintf(tls, i32(100), _zCsr, str(75020), _pMem.X4) 72396 { 72397 p := &_zCsr 72398 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zCsr)))) 72399 sink1025 = *p 72400 } 72401 _1_i = i32(0) 72402 _13: 72403 if _1_i >= i32(16) || _1_i >= (_pMem.X4) { 72404 goto _17 72405 } 72406 72407 Xsqlite3_snprintf(tls, i32(100), _zCsr, str(75024), int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_1_i))))&i32(255)) 72408 { 72409 p := &_zCsr 72410 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zCsr)))) 72411 sink1025 = *p 72412 } 72413 _1_i += 1 72414 goto _13 72415 72416 _17: 72417 _1_i = i32(0) 72418 _18: 72419 if _1_i >= i32(16) || _1_i >= (_pMem.X4) { 72420 goto _22 72421 } 72422 72423 _7_z = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_1_i))) 72424 if int32(_7_z) >= i32(32) && int32(_7_z) <= i32(126) { 72425 goto _24 72426 } 72427 72428 *postInc1025(&_zCsr, 1) = int8(i32(46)) 72429 goto _25 72430 72431 _24: 72432 *postInc1025(&_zCsr, 1) = _7_z 72433 _25: 72434 _1_i += 1 72435 goto _18 72436 72437 _22: 72438 *postInc1025(&_zCsr, 1) = int8(i32(93)) 72439 if (_f & i32(16384)) == 0 { 72440 goto _26 72441 } 72442 72443 Xsqlite3_snprintf(tls, i32(100), _zCsr, str(75032), *(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 72444 { 72445 p := &_zCsr 72446 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zCsr)))) 72447 sink1025 = *p 72448 } 72449 _26: 72450 *_zCsr = int8(i32(0)) 72451 goto _27 72452 72453 _0: 72454 if (_f & i32(2)) == 0 { 72455 goto _28 72456 } 72457 72458 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(0)))) = int8(i32(32)) 72459 if (_f & i32(1024)) == 0 { 72460 goto _29 72461 } 72462 72463 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(122)) 72464 func() int32 { 72465 if (_f & i32(6144)) == i32(0) { 72466 return i32(0) 72467 } 72468 return func() int32 { 72469 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78524), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemPrettyPrintØ00__func__Ø000))), unsafe.Pointer(str(74924))) 72470 crt.X__builtin_abort(tls) 72471 return i32(0) 72472 }() 72473 }() 72474 goto _32 72475 72476 _29: 72477 if (_f & i32(2048)) == 0 { 72478 goto _33 72479 } 72480 72481 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(116)) 72482 func() int32 { 72483 if (_f & i32(5120)) == i32(0) { 72484 return i32(0) 72485 } 72486 return func() int32 { 72487 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78527), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemPrettyPrintØ00__func__Ø000))), unsafe.Pointer(str(74956))) 72488 crt.X__builtin_abort(tls) 72489 return i32(0) 72490 }() 72491 }() 72492 goto _36 72493 72494 _33: 72495 if (_f & i32(4096)) == 0 { 72496 goto _37 72497 } 72498 72499 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(101)) 72500 func() int32 { 72501 if (_f & i32(3072)) == i32(0) { 72502 return i32(0) 72503 } 72504 return func() int32 { 72505 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78530), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemPrettyPrintØ00__func__Ø000))), unsafe.Pointer(str(74988))) 72506 crt.X__builtin_abort(tls) 72507 return i32(0) 72508 }() 72509 }() 72510 goto _40 72511 72512 _37: 72513 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(i32(1)))) = int8(i32(115)) 72514 _40: 72515 _36: 72516 _32: 72517 _9_k = i32(2) 72518 Xsqlite3_snprintf(tls, i32(100), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k))), str(39940), _pMem.X4) 72519 { 72520 p := &_9_k 72521 *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k)))) 72522 sink961 = *p 72523 } 72524 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(91)) 72525 _9_j = i32(0) 72526 _41: 72527 if _9_j >= i32(15) || _9_j >= (_pMem.X4) { 72528 goto _45 72529 } 72530 72531 _14_c = uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_9_j)))) 72532 if int32(_14_c) < i32(32) || int32(_14_c) >= i32(127) { 72533 goto _47 72534 } 72535 72536 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(_14_c) 72537 goto _48 72538 72539 _47: 72540 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(46)) 72541 _48: 72542 _9_j += 1 72543 goto _41 72544 72545 _45: 72546 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(93)) 72547 Xsqlite3_snprintf(tls, i32(100), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k))), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeMemPrettyPrintØ00encnamesØ001)) + 4*uintptr(_pMem.X2)))) 72548 { 72549 p := &_9_k 72550 *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_9_k)))) 72551 sink961 = *p 72552 } 72553 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(postInc961(&_9_k, int32(1))))) = int8(i32(0)) 72554 _28: 72555 _27: 72556 return 72557 72558 } 72559 72560 var _sqlite3VdbeMemPrettyPrintØ00__func__Ø000 [26]int8 // - 72561 72562 func init() { 72563 crt.Xstrncpy(nil, &_sqlite3VdbeMemPrettyPrintØ00__func__Ø000[0], str(75040), 26) 72564 } 72565 72566 var _sqlite3VdbeMemPrettyPrintØ00encnamesØ001 [4]*int8 // sqlite3.c:78484:21 72567 72568 func init() { 72569 _sqlite3VdbeMemPrettyPrintØ00encnamesØ001 = [4]*int8{str(75068), str(75072), str(75076), str(75084)} 72570 } 72571 72572 func _sqlite3VdbeMemAboutToChange(tls *crt.TLS, _pVdbe *XVdbe, _pMem *XMem) { // sqlite3.c:70379:1 72573 var _i int32 // sqlite3.c:70380:7 72574 _ = _i 72575 var _pX *XMem // sqlite3.c:70381:7 72576 _ = _pX 72577 *func() **XMem { _i = i32(0); return &_pX }() = (*XMem)(unsafe.Pointer(_pVdbe.X18)) 72578 _0: 72579 if _i >= (_pVdbe.X6) { 72580 goto _3 72581 } 72582 72583 if (*XMem)(unsafe.Pointer(_pX.X11)) != _pMem { 72584 goto _4 72585 } 72586 72587 { 72588 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(8 /* X1 */))) 72589 *p = uint16(int32(*p) | i32(128)) 72590 sink6908 = *p 72591 } 72592 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(40 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 72593 _4: 72594 *(*uintptr)(unsafe.Pointer(func() **XMem { _i += 1; return &_pX }())) += uintptr(48) 72595 goto _0 72596 72597 _3: 72598 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(40 /* X11 */))))) = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 72599 return 72600 72601 } 72602 72603 var _sqlite3VdbeExecØ00azTypeØ001 [4]*int8 // sqlite3.c:79159:25 72604 72605 func init() { 72606 _sqlite3VdbeExecØ00azTypeØ001 = [4]*int8{str(75092), str(26792), str(26800), str(75104)} 72607 } 72608 72609 func _out2Prerelease(tls *crt.TLS, _p *XVdbe, _pOp *XVdbeOp) (r0 *XMem) { // sqlite3.c:78722:1 72610 var _pOut *XMem // sqlite3.c:78723:7 72611 _ = _pOut 72612 func() int32 { 72613 if (_pOp.X4) > i32(0) { 72614 return i32(0) 72615 } 72616 return func() int32 { 72617 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78724), unsafe.Pointer((*int8)(unsafe.Pointer(&_out2PrereleaseØ00__func__Ø000))), unsafe.Pointer(str(64552))) 72618 crt.X__builtin_abort(tls) 72619 return i32(0) 72620 }() 72621 }() 72622 func() int32 { 72623 if (_pOp.X4) <= (((_p.X6) + i32(1)) - (_p.X7)) { 72624 return i32(0) 72625 } 72626 return func() int32 { 72627 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78725), unsafe.Pointer((*int8)(unsafe.Pointer(&_out2PrereleaseØ00__func__Ø000))), unsafe.Pointer(str(64564))) 72628 crt.X__builtin_abort(tls) 72629 return i32(0) 72630 }() 72631 }() 72632 _pOut = (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 48*uintptr(_pOp.X4))) 72633 _sqlite3VdbeMemAboutToChange(tls, _p, _pOut) 72634 if (int32(_pOut.X1) & i32(9312)) == i32(0) { 72635 goto _4 72636 } 72637 72638 r0 = _out2PrereleaseWithClear(tls, _pOut) 72639 return 72640 72641 _4: 72642 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 72643 r0 = _pOut 72644 return 72645 72646 } 72647 72648 var _out2PrereleaseØ00__func__Ø000 [15]int8 // - 72649 72650 func init() { 72651 crt.Xstrncpy(nil, &_out2PrereleaseØ00__func__Ø000[0], str(75116), 15) 72652 } 72653 72654 func _out2PrereleaseWithClear(tls *crt.TLS, _pOut *XMem) (r0 *XMem) { // sqlite3.c:78717:1 72655 _sqlite3VdbeMemSetNull(tls, _pOut) 72656 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 72657 r0 = _pOut 72658 return 72659 72660 } 72661 72662 func _sqlite3VdbeMemTooBig(tls *crt.TLS, _p *XMem) (r0 int32) { // sqlite3.c:70358:1 72663 var _1_n int32 // sqlite3.c:70361:9 72664 _ = _1_n 72665 func() int32 { 72666 if (*Xsqlite3)(unsafe.Pointer(_p.X9)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 72667 return i32(0) 72668 } 72669 return func() int32 { 72670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70359), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemTooBigØ00__func__Ø000))), unsafe.Pointer(str(24672))) 72671 crt.X__builtin_abort(tls) 72672 return i32(0) 72673 }() 72674 }() 72675 if (int32(_p.X1) & i32(18)) == 0 { 72676 goto _2 72677 } 72678 72679 _1_n = _p.X4 72680 if (int32(_p.X1) & i32(16384)) == 0 { 72681 goto _3 72682 } 72683 72684 { 72685 p := &_1_n 72686 *p = (*p) + (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */)))))) 72687 sink961 = *p 72688 } 72689 _3: 72690 r0 = bool2int(_1_n > (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_p.X9)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0)))))) 72691 return 72692 72693 _2: 72694 r0 = i32(0) 72695 return 72696 72697 } 72698 72699 var _sqlite3VdbeMemTooBigØ00__func__Ø000 [21]int8 // - 72700 72701 func init() { 72702 crt.Xstrncpy(nil, &_sqlite3VdbeMemTooBigØ00__func__Ø000[0], str(75132), 21) 72703 } 72704 72705 func _sqlite3VdbeMemShallowCopy(tls *crt.TLS, _pTo *XMem, _pFrom *XMem, _srcType int32) { // sqlite3.c:70404:1 72706 func() int32 { 72707 if (int32(_pFrom.X1) & i32(32)) == i32(0) { 72708 return i32(0) 72709 } 72710 return func() int32 { 72711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70405), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemShallowCopyØ00__func__Ø000))), unsafe.Pointer(str(75156))) 72712 crt.X__builtin_abort(tls) 72713 return i32(0) 72714 }() 72715 }() 72716 func() int32 { 72717 if (*Xsqlite3)(unsafe.Pointer(_pTo.X9)) == (*Xsqlite3)(unsafe.Pointer(_pFrom.X9)) { 72718 return i32(0) 72719 } 72720 return func() int32 { 72721 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70406), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemShallowCopyØ00__func__Ø000))), unsafe.Pointer(str(75188))) 72722 crt.X__builtin_abort(tls) 72723 return i32(0) 72724 }() 72725 }() 72726 if (int32(_pTo.X1) & i32(9312)) == i32(0) { 72727 goto _4 72728 } 72729 72730 _vdbeClrCopy(tls, _pTo, _pFrom, _srcType) 72731 return 72732 72733 _4: 72734 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u32(20)) 72735 if (int32(_pFrom.X1) & i32(2048)) != i32(0) { 72736 goto _5 72737 } 72738 72739 { 72740 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) 72741 *p = uint16(int32(*p) & i32(-7169)) 72742 sink6908 = *p 72743 } 72744 func() int32 { 72745 if (_srcType == i32(4096)) || (_srcType == i32(2048)) { 72746 return i32(0) 72747 } 72748 return func() int32 { 72749 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70411), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemShallowCopyØ00__func__Ø000))), unsafe.Pointer(str(75208))) 72750 crt.X__builtin_abort(tls) 72751 return i32(0) 72752 }() 72753 }() 72754 { 72755 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) 72756 *p = uint16(int32(*p) | _srcType) 72757 sink6908 = *p 72758 } 72759 _5: 72760 return 72761 72762 } 72763 72764 var _sqlite3VdbeMemShallowCopyØ00__func__Ø000 [26]int8 // - 72765 72766 func init() { 72767 crt.Xstrncpy(nil, &_sqlite3VdbeMemShallowCopyØ00__func__Ø000[0], str(75252), 26) 72768 } 72769 72770 func _vdbeClrCopy(tls *crt.TLS, _pTo *XMem, _pFrom *XMem, _eType int32) { // sqlite3.c:70399:1 72771 _vdbeMemClearExternAndSetNull(tls, _pTo) 72772 func() int32 { 72773 if (int32(_pTo.X1) & i32(9312)) == i32(0) { 72774 return i32(0) 72775 } 72776 return func() int32 { 72777 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70401), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeClrCopyØ00__func__Ø000))), unsafe.Pointer(str(75280))) 72778 crt.X__builtin_abort(tls) 72779 return i32(0) 72780 }() 72781 }() 72782 _sqlite3VdbeMemShallowCopy(tls, _pTo, _pFrom, _eType) 72783 return 72784 72785 } 72786 72787 var _vdbeClrCopyØ00__func__Ø000 [12]int8 // - 72788 72789 func init() { 72790 crt.Xstrncpy(nil, &_vdbeClrCopyØ00__func__Ø000[0], str(75304), 12) 72791 } 72792 72793 func _sqlite3VdbeMemMove(tls *crt.TLS, _pTo *XMem, _pFrom *XMem) { // sqlite3.c:70443:1 72794 func() int32 { 72795 if ((*Xsqlite3)(unsafe.Pointer(_pFrom.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pFrom.X9)).X3))) != 0 { 72796 return i32(0) 72797 } 72798 return func() int32 { 72799 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70444), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemMoveØ00__func__Ø000))), unsafe.Pointer(str(75316))) 72800 crt.X__builtin_abort(tls) 72801 return i32(0) 72802 }() 72803 }() 72804 func() int32 { 72805 if ((*Xsqlite3)(unsafe.Pointer(_pTo.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pTo.X9)).X3))) != 0 { 72806 return i32(0) 72807 } 72808 return func() int32 { 72809 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70445), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemMoveØ00__func__Ø000))), unsafe.Pointer(str(75372))) 72810 crt.X__builtin_abort(tls) 72811 return i32(0) 72812 }() 72813 }() 72814 func() int32 { 72815 if (((*Xsqlite3)(unsafe.Pointer(_pFrom.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || ((*Xsqlite3)(unsafe.Pointer(_pTo.X9)) == (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))))) || ((*Xsqlite3)(unsafe.Pointer(_pFrom.X9)) == (*Xsqlite3)(unsafe.Pointer(_pTo.X9))) { 72816 return i32(0) 72817 } 72818 return func() int32 { 72819 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70446), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemMoveØ00__func__Ø000))), unsafe.Pointer(str(75424))) 72820 crt.X__builtin_abort(tls) 72821 return i32(0) 72822 }() 72823 }() 72824 _sqlite3VdbeMemRelease(tls, _pTo) 72825 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u32(48)) 72826 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 72827 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(24 /* X7 */))) = i32(0) 72828 return 72829 72830 } 72831 72832 var _sqlite3VdbeMemMoveØ00__func__Ø000 [19]int8 // - 72833 72834 func init() { 72835 crt.Xstrncpy(nil, &_sqlite3VdbeMemMoveØ00__func__Ø000[0], str(75476), 19) 72836 } 72837 72838 func _numericType(tls *crt.TLS, _pMem *XMem) (r0 uint16) { // sqlite3.c:78465:1 72839 if (int32(_pMem.X1) & i32(12)) == 0 { 72840 goto _0 72841 } 72842 72843 r0 = uint16(int32(_pMem.X1) & i32(12)) 72844 return 72845 72846 _0: 72847 if (int32(_pMem.X1) & i32(18)) == 0 { 72848 goto _1 72849 } 72850 72851 r0 = _computeNumericType(tls, _pMem) 72852 return 72853 72854 _1: 72855 r0 = uint16(i32(0)) 72856 return 72857 72858 } 72859 72860 func _computeNumericType(tls *crt.TLS, _pMem *XMem) (r0 uint16) { // sqlite3.c:78446:1 72861 func() int32 { 72862 if (int32(_pMem.X1) & i32(12)) == i32(0) { 72863 return i32(0) 72864 } 72865 return func() int32 { 72866 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78447), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeNumericTypeØ00__func__Ø000))), unsafe.Pointer(str(75496))) 72867 crt.X__builtin_abort(tls) 72868 return i32(0) 72869 }() 72870 }() 72871 func() int32 { 72872 if (int32(_pMem.X1) & i32(18)) != i32(0) { 72873 return i32(0) 72874 } 72875 return func() int32 { 72876 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78448), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeNumericTypeØ00__func__Ø000))), unsafe.Pointer(str(75536))) 72877 crt.X__builtin_abort(tls) 72878 return i32(0) 72879 }() 72880 }() 72881 if _sqlite3AtoF(tls, _pMem.X5, (*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */))))), _pMem.X4, _pMem.X2) != i32(0) { 72882 goto _4 72883 } 72884 72885 r0 = uint16(i32(0)) 72886 return 72887 72888 _4: 72889 if _sqlite3Atoi64(tls, _pMem.X5, (*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */))))), _pMem.X4, _pMem.X2) != i32(0) { 72890 goto _5 72891 } 72892 72893 r0 = uint16(i32(4)) 72894 return 72895 72896 _5: 72897 r0 = uint16(i32(8)) 72898 return 72899 72900 } 72901 72902 var _computeNumericTypeØ00__func__Ø000 [19]int8 // - 72903 72904 func init() { 72905 crt.Xstrncpy(nil, &_computeNumericTypeØ00__func__Ø000[0], str(75576), 19) 72906 } 72907 72908 func _sqlite3AddInt64(tls *crt.TLS, _pA *int64, _iB int64) (r0 int32) { // sqlite3.c:28891:1 72909 var _iA int64 // sqlite3.c:28895:7 72910 _ = _iA 72911 _iA = *_pA 72912 if _iB < int64(i32(0)) { 72913 goto _0 72914 } 72915 72916 if _iA <= int64(i32(0)) || (i64(9223372036854775807)-_iA) >= _iB { 72917 goto _2 72918 } 72919 72920 r0 = i32(1) 72921 return 72922 72923 _2: 72924 goto _3 72925 72926 _0: 72927 if _iA >= int64(i32(0)) || (-(_iA + i64(9223372036854775807))) <= (_iB+int64(i32(1))) { 72928 goto _5 72929 } 72930 72931 r0 = i32(1) 72932 return 72933 72934 _5: 72935 _3: 72936 { 72937 p := _pA 72938 *p = (*p) + _iB 72939 sink967 = *p 72940 } 72941 r0 = i32(0) 72942 return 72943 72944 } 72945 72946 func _sqlite3SubInt64(tls *crt.TLS, _pA *int64, _iB int64) (r0 int32) { // sqlite3.c:28911:1 72947 if _iB != i64(-9223372036854775808) { 72948 goto _0 72949 } 72950 72951 if (*_pA) < int64(i32(0)) { 72952 goto _1 72953 } 72954 72955 r0 = i32(1) 72956 return 72957 72958 _1: 72959 { 72960 p := _pA 72961 *p = (*p) - _iB 72962 sink967 = *p 72963 } 72964 r0 = i32(0) 72965 return 72966 72967 _0: 72968 r0 = _sqlite3AddInt64(tls, _pA, -_iB) 72969 return 72970 72971 } 72972 72973 func _sqlite3MulInt64(tls *crt.TLS, _pA *int64, _iB int64) (r0 int32) { // sqlite3.c:28926:1 72974 var _iA int64 // sqlite3.c:28930:7 72975 _ = _iA 72976 _iA = *_pA 72977 if _iB <= int64(i32(0)) { 72978 goto _0 72979 } 72980 72981 if _iA <= (i64(9223372036854775807) / _iB) { 72982 goto _1 72983 } 72984 72985 r0 = i32(1) 72986 return 72987 72988 _1: 72989 if _iA >= (i64(-9223372036854775808) / _iB) { 72990 goto _2 72991 } 72992 72993 r0 = i32(1) 72994 return 72995 72996 _2: 72997 goto _3 72998 72999 _0: 73000 if _iB >= int64(i32(0)) { 73001 goto _4 73002 } 73003 73004 if _iA <= int64(i32(0)) { 73005 goto _5 73006 } 73007 73008 if _iB >= (i64(-9223372036854775808) / _iA) { 73009 goto _6 73010 } 73011 73012 r0 = i32(1) 73013 return 73014 73015 _6: 73016 goto _7 73017 73018 _5: 73019 if _iA >= int64(i32(0)) { 73020 goto _8 73021 } 73022 73023 if _iB != i64(-9223372036854775808) { 73024 goto _9 73025 } 73026 73027 r0 = i32(1) 73028 return 73029 73030 _9: 73031 if _iA != i64(-9223372036854775808) { 73032 goto _10 73033 } 73034 73035 r0 = i32(1) 73036 return 73037 73038 _10: 73039 if (-_iA) <= (i64(9223372036854775807) / (-_iB)) { 73040 goto _11 73041 } 73042 73043 r0 = i32(1) 73044 return 73045 73046 _11: 73047 _8: 73048 _7: 73049 _4: 73050 _3: 73051 *_pA = _iA * _iB 73052 r0 = i32(0) 73053 return 73054 73055 } 73056 73057 func _sqlite3MemCompare(tls *crt.TLS, _pMem1 *XMem, _pMem2 *XMem, _pColl *XCollSeq) (r0 int32) { // sqlite3.c:75164:1 73058 var _f1 int32 // sqlite3.c:75165:7 73059 _ = _f1 73060 var _f2 int32 // sqlite3.c:75165:11 73061 _ = _f2 73062 var _combined_flags int32 // sqlite3.c:75166:7 73063 _ = _combined_flags 73064 _f1 = int32(_pMem1.X1) 73065 _f2 = int32(_pMem2.X1) 73066 _combined_flags = _f1 | _f2 73067 func() int32 { 73068 if (_combined_flags & i32(32)) == i32(0) { 73069 return i32(0) 73070 } 73071 return func() int32 { 73072 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75171), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MemCompareØ00__func__Ø000))), unsafe.Pointer(str(75596))) 73073 crt.X__builtin_abort(tls) 73074 return i32(0) 73075 }() 73076 }() 73077 if (_combined_flags & i32(1)) == 0 { 73078 goto _2 73079 } 73080 73081 r0 = (_f2 & i32(1)) - (_f1 & i32(1)) 73082 return 73083 73084 _2: 73085 if (_combined_flags & i32(12)) == 0 { 73086 goto _3 73087 } 73088 73089 if ((_f1 & _f2) & i32(4)) == i32(0) { 73090 goto _4 73091 } 73092 73093 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) >= (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { 73094 goto _5 73095 } 73096 73097 r0 = i32(-1) 73098 return 73099 73100 _5: 73101 if (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) <= (*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { 73102 goto _6 73103 } 73104 73105 r0 = i32(1) 73106 return 73107 73108 _6: 73109 r0 = i32(0) 73110 return 73111 73112 _4: 73113 if ((_f1 & _f2) & i32(8)) == i32(0) { 73114 goto _7 73115 } 73116 73117 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) >= (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { 73118 goto _8 73119 } 73120 73121 r0 = i32(-1) 73122 return 73123 73124 _8: 73125 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) <= (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) { 73126 goto _9 73127 } 73128 73129 r0 = i32(1) 73130 return 73131 73132 _9: 73133 r0 = i32(0) 73134 return 73135 73136 _7: 73137 if (_f1 & i32(4)) == i32(0) { 73138 goto _10 73139 } 73140 73141 if (_f2 & i32(8)) == i32(0) { 73142 goto _11 73143 } 73144 73145 r0 = _sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */)))))) 73146 return 73147 73148 _11: 73149 r0 = i32(-1) 73150 return 73151 73152 _10: 73153 if (_f1 & i32(8)) == i32(0) { 73154 goto _13 73155 } 73156 73157 if (_f2 & i32(4)) == i32(0) { 73158 goto _14 73159 } 73160 73161 r0 = -_sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem2)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem1)) + uintptr(0 /* X0 */)))))) 73162 return 73163 73164 _14: 73165 r0 = i32(-1) 73166 return 73167 73168 _13: 73169 r0 = i32(1) 73170 return 73171 73172 _3: 73173 if (_combined_flags & i32(2)) == 0 { 73174 goto _16 73175 } 73176 73177 if (_f1 & i32(2)) != i32(0) { 73178 goto _17 73179 } 73180 73181 r0 = i32(1) 73182 return 73183 73184 _17: 73185 if (_f2 & i32(2)) != i32(0) { 73186 goto _18 73187 } 73188 73189 r0 = i32(-1) 73190 return 73191 73192 _18: 73193 func() int32 { 73194 if (int32(_pMem1.X2) == int32(_pMem2.X2)) || (((*Xsqlite3)(unsafe.Pointer(_pMem1.X9)).X17) != 0) { 73195 return i32(0) 73196 } 73197 return func() int32 { 73198 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75221), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MemCompareØ00__func__Ø000))), unsafe.Pointer(str(75632))) 73199 crt.X__builtin_abort(tls) 73200 return i32(0) 73201 }() 73202 }() 73203 func() int32 { 73204 if ((int32(_pMem1.X2) == i32(1)) || (int32(_pMem1.X2) == i32(2))) || (int32(_pMem1.X2) == i32(3)) { 73205 return i32(0) 73206 } 73207 return func() int32 { 73208 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75222), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MemCompareØ00__func__Ø000))), unsafe.Pointer(str(75684))) 73209 crt.X__builtin_abort(tls) 73210 return i32(0) 73211 }() 73212 }() 73213 func() int32 { 73214 if (_pColl == nil) || ((_pColl.X3) != nil) { 73215 return i32(0) 73216 } 73217 return func() int32 { 73218 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75229), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MemCompareØ00__func__Ø000))), unsafe.Pointer(str(75768))) 73219 crt.X__builtin_abort(tls) 73220 return i32(0) 73221 }() 73222 }() 73223 if _pColl == nil { 73224 goto _29 73225 } 73226 73227 r0 = _vdbeCompareMemString(tls, _pMem1, _pMem2, _pColl, (*uint8)(unsafe.Pointer(uintptr(i32(0))))) 73228 return 73229 73230 _29: 73231 _16: 73232 r0 = _sqlite3BlobCompare(tls, _pMem1, _pMem2) 73233 return 73234 73235 } 73236 73237 var _sqlite3MemCompareØ00__func__Ø000 [18]int8 // - 73238 73239 func init() { 73240 crt.Xstrncpy(nil, &_sqlite3MemCompareØ00__func__Ø000[0], str(75792), 18) 73241 } 73242 73243 func _sqlite3IntFloatCompare(tls *crt.TLS, _i int64, _r float64) (r0 int32) { // sqlite3.c:75131:1 73244 var _1_x float64 // sqlite3.c:75133:21 73245 _ = _1_x 73246 var _2_y int64 // sqlite3.c:75138:9 73247 _ = _2_y 73248 var _2_s float64 // sqlite3.c:75139:12 73249 _ = _2_s 73250 goto _0 73251 73252 _0: 73253 if _r >= (-9.223372036854776e+18) { 73254 goto _4 73255 } 73256 73257 r0 = i32(1) 73258 return 73259 73260 _4: 73261 if _r <= (9.223372036854776e+18) { 73262 goto _5 73263 } 73264 73265 r0 = i32(-1) 73266 return 73267 73268 _5: 73269 _2_y = int64(_r) 73270 if _i >= _2_y { 73271 goto _6 73272 } 73273 73274 r0 = i32(-1) 73275 return 73276 73277 _6: 73278 if _i <= _2_y { 73279 goto _7 73280 } 73281 73282 if _2_y != i64(-9223372036854775808) || _r <= float64(0) { 73283 goto _9 73284 } 73285 73286 r0 = i32(-1) 73287 return 73288 73289 _9: 73290 r0 = i32(1) 73291 return 73292 73293 _7: 73294 _2_s = float64(_i) 73295 if _2_s >= _r { 73296 goto _10 73297 } 73298 73299 r0 = i32(-1) 73300 return 73301 73302 _10: 73303 if _2_s <= _r { 73304 goto _11 73305 } 73306 73307 r0 = i32(1) 73308 return 73309 73310 _11: 73311 r0 = i32(0) 73312 return 73313 73314 } 73315 73316 func _vdbeCompareMemString(tls *crt.TLS, _pMem1 *XMem, _pMem2 *XMem, _pColl *XCollSeq, _prcErr *uint8) (r0 int32) { // sqlite3.c:75049:1 73317 var _2_rc int32 // sqlite3.c:75060:9 73318 _ = _2_rc 73319 var _2_v1 unsafe.Pointer // sqlite3.c:75061:16 73320 _ = _2_v1 73321 var _2_v2 unsafe.Pointer // sqlite3.c:75061:21 73322 _ = _2_v2 73323 var _2_n1 int32 // sqlite3.c:75062:9 73324 _ = _2_n1 73325 var _2_n2 int32 // sqlite3.c:75062:13 73326 _ = _2_n2 73327 var _2_c1 XMem // sqlite3.c:75063:9 73328 _ = _2_c1 73329 var _2_c2 XMem // sqlite3.c:75064:9 73330 _ = _2_c2 73331 if int32(_pMem1.X2) != int32(_pColl.X1) { 73332 goto _0 73333 } 73334 73335 r0 = (_pColl.X3)(tls, _pColl.X2, _pMem1.X4, (unsafe.Pointer)(_pMem1.X5), _pMem2.X4, (unsafe.Pointer)(_pMem2.X5)) 73336 return 73337 73338 _0: 73339 _sqlite3VdbeMemInit(tls, &_2_c1, (*Xsqlite3)(unsafe.Pointer(_pMem1.X9)), uint16(i32(1))) 73340 _sqlite3VdbeMemInit(tls, &_2_c2, (*Xsqlite3)(unsafe.Pointer(_pMem1.X9)), uint16(i32(1))) 73341 _sqlite3VdbeMemShallowCopy(tls, &_2_c1, _pMem1, i32(4096)) 73342 _sqlite3VdbeMemShallowCopy(tls, &_2_c2, _pMem2, i32(4096)) 73343 _2_v1 = _sqlite3ValueText(tls, &_2_c1, _pColl.X1) 73344 _2_n1 = func() int32 { 73345 if unsafe.Pointer(_2_v1) == (unsafe.Pointer)(uintptr(i32(0))) { 73346 return i32(0) 73347 } 73348 return (_2_c1.X4) 73349 }() 73350 _2_v2 = _sqlite3ValueText(tls, &_2_c2, _pColl.X1) 73351 _2_n2 = func() int32 { 73352 if unsafe.Pointer(_2_v2) == (unsafe.Pointer)(uintptr(i32(0))) { 73353 return i32(0) 73354 } 73355 return (_2_c2.X4) 73356 }() 73357 _2_rc = (_pColl.X3)(tls, _pColl.X2, _2_n1, _2_v1, _2_n2, _2_v2) 73358 if unsafe.Pointer(_2_v1) != (unsafe.Pointer)(uintptr(i32(0))) && unsafe.Pointer(_2_v2) != (unsafe.Pointer)(uintptr(i32(0))) || _prcErr == nil { 73359 goto _8 73360 } 73361 73362 *_prcErr = uint8(_sqlite3NomemError(tls, i32(75074))) 73363 _8: 73364 _sqlite3VdbeMemRelease(tls, &_2_c1) 73365 _sqlite3VdbeMemRelease(tls, &_2_c2) 73366 r0 = _2_rc 73367 return 73368 73369 } 73370 73371 func _sqlite3VdbeMemInit(tls *crt.TLS, _pMem *XMem, _db *Xsqlite3, _flags uint16) { // sqlite3.c:70249:1 73372 func() int32 { 73373 if (int32(_flags) & i32(-33280)) == i32(0) { 73374 return i32(0) 73375 } 73376 return func() int32 { 73377 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70250), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemInitØ00__func__Ø000))), unsafe.Pointer(str(75812))) 73378 crt.X__builtin_abort(tls) 73379 return i32(0) 73380 }() 73381 }() 73382 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = _flags 73383 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X9 */))))) = _db 73384 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = i32(0) 73385 return 73386 73387 } 73388 73389 var _sqlite3VdbeMemInitØ00__func__Ø000 [19]int8 // - 73390 73391 func init() { 73392 crt.Xstrncpy(nil, &_sqlite3VdbeMemInitØ00__func__Ø000[0], str(75840), 19) 73393 } 73394 73395 func _sqlite3BlobCompare(tls *crt.TLS, _pB1 *XMem, _pB2 *XMem) (r0 int32) { // sqlite3.c:75098:1 73396 var _c int32 // sqlite3.c:75099:7 73397 _ = _c 73398 var _n1 int32 // sqlite3.c:75100:7 73399 _ = _n1 73400 var _n2 int32 // sqlite3.c:75101:7 73401 _ = _n2 73402 _n1 = _pB1.X4 73403 _n2 = _pB2.X4 73404 func() int32 { 73405 if ((int32(_pB1.X1) & i32(16384)) == i32(0)) || (_n1 == i32(0)) { 73406 return i32(0) 73407 } 73408 return func() int32 { 73409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75107), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BlobCompareØ00__func__Ø000))), unsafe.Pointer(str(75860))) 73410 crt.X__builtin_abort(tls) 73411 return i32(0) 73412 }() 73413 }() 73414 func() int32 { 73415 if ((int32(_pB2.X1) & i32(16384)) == i32(0)) || (_n2 == i32(0)) { 73416 return i32(0) 73417 } 73418 return func() int32 { 73419 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75108), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BlobCompareØ00__func__Ø000))), unsafe.Pointer(str(75896))) 73420 crt.X__builtin_abort(tls) 73421 return i32(0) 73422 }() 73423 }() 73424 if ((int32(_pB1.X1) | int32(_pB2.X1)) & i32(16384)) == 0 { 73425 goto _6 73426 } 73427 73428 if ((int32(_pB1.X1) & int32(_pB2.X1)) & i32(16384)) == 0 { 73429 goto _7 73430 } 73431 73432 r0 = (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB1)) + uintptr(0 /* X0 */)))))) - (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB2)) + uintptr(0 /* X0 */)))))) 73433 return 73434 73435 _7: 73436 if (int32(_pB1.X1) & i32(16384)) == 0 { 73437 goto _9 73438 } 73439 73440 if _isAllZero(tls, _pB2.X5, _pB2.X4) != 0 { 73441 goto _10 73442 } 73443 73444 r0 = i32(-1) 73445 return 73446 73447 _10: 73448 r0 = (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB1)) + uintptr(0 /* X0 */)))))) - _n2 73449 return 73450 73451 _9: 73452 if _isAllZero(tls, _pB1.X5, _pB1.X4) != 0 { 73453 goto _12 73454 } 73455 73456 r0 = i32(1) 73457 return 73458 73459 _12: 73460 r0 = _n1 - (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB2)) + uintptr(0 /* X0 */)))))) 73461 return 73462 73463 _6: 73464 _c = crt.Xmemcmp(tls, (unsafe.Pointer)(_pB1.X5), (unsafe.Pointer)(_pB2.X5), uint32(func() int32 { 73465 if _n1 > _n2 { 73466 return _n2 73467 } 73468 return _n1 73469 }())) 73470 if _c == 0 { 73471 goto _15 73472 } 73473 73474 r0 = _c 73475 return 73476 73477 _15: 73478 r0 = _n1 - _n2 73479 return 73480 73481 } 73482 73483 var _sqlite3BlobCompareØ00__func__Ø000 [19]int8 // - 73484 73485 func init() { 73486 crt.Xstrncpy(nil, &_sqlite3BlobCompareØ00__func__Ø000[0], str(75932), 19) 73487 } 73488 73489 func _isAllZero(tls *crt.TLS, _z *int8, _n int32) (r0 int32) { // sqlite3.c:75085:1 73490 var _i int32 // sqlite3.c:75086:7 73491 _ = _i 73492 _i = i32(0) 73493 _0: 73494 if _i >= _n { 73495 goto _3 73496 } 73497 73498 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i)))) == 0 { 73499 goto _4 73500 } 73501 73502 r0 = i32(0) 73503 return 73504 73505 _4: 73506 _i += 1 73507 goto _0 73508 73509 _3: 73510 r0 = i32(1) 73511 return 73512 73513 } 73514 73515 var _sqlite3VdbeExecØ00and_logicØ002 [9]uint8 // sqlite3.c:80465:32 73516 73517 func init() { 73518 _sqlite3VdbeExecØ00and_logicØ002 = [9]uint8{0, 0, 0, 0, 1, 2, 0, 2, 2} 73519 } 73520 73521 var _sqlite3VdbeExecØ00or_logicØ003 [9]uint8 // sqlite3.c:80468:32 73522 73523 func init() { 73524 _sqlite3VdbeExecØ00or_logicØ003 = [9]uint8{0, 1, 2, 1, 1, 1, 2, 1, 2} 73525 } 73526 73527 func _sqlite3VdbeCursorMoveto(tls *crt.TLS, _pp **XVdbeCursor, _piCol *int32) (r0 int32) { // sqlite3.c:74442:1 73528 var _p *XVdbeCursor // sqlite3.c:74443:14 73529 _ = _p 73530 var _2_iMap int32 // sqlite3.c:74446:11 73531 _ = _2_iMap 73532 _p = *_pp 73533 if int32(_p.X0) != i32(0) { 73534 goto _0 73535 } 73536 73537 if (_p.X3) == 0 { 73538 goto _1 73539 } 73540 73541 if (_p.X10) == nil || store961(&_2_iMap, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X10)) + 4*uintptr(i32(1)+(*_piCol))))) <= i32(0) { 73542 goto _3 73543 } 73544 73545 *_pp = (*XVdbeCursor)(unsafe.Pointer(_p.X13)) 73546 *_piCol = _2_iMap - i32(1) 73547 r0 = i32(0) 73548 return 73549 73550 _3: 73551 r0 = _handleDeferredMoveto(tls, _p) 73552 return 73553 73554 _1: 73555 if _sqlite3BtreeCursorHasMoved(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X14 */)))))))) == 0 { 73556 goto _4 73557 } 73558 73559 r0 = _handleMovedCursor(tls, _p) 73560 return 73561 73562 _4: 73563 _0: 73564 r0 = i32(0) 73565 return 73566 73567 } 73568 73569 func _handleDeferredMoveto(tls *crt.TLS, _p *XVdbeCursor) (r0 int32) { // sqlite3.c:74380:1 73570 var _res int32 // sqlite3.c:74381:7 73571 _ = _res 73572 var _rc int32 // sqlite3.c:74381:12 73573 _ = _rc 73574 func() int32 { 73575 if (_p.X3) != 0 { 73576 return i32(0) 73577 } 73578 return func() int32 { 73579 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74385), unsafe.Pointer((*int8)(unsafe.Pointer(&_handleDeferredMovetoØ00__func__Ø000))), unsafe.Pointer(str(75952))) 73580 crt.X__builtin_abort(tls) 73581 return i32(0) 73582 }() 73583 }() 73584 func() int32 { 73585 if (_p.X4) != 0 { 73586 return i32(0) 73587 } 73588 return func() int32 { 73589 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74386), unsafe.Pointer((*int8)(unsafe.Pointer(&_handleDeferredMovetoØ00__func__Ø000))), unsafe.Pointer(str(75972))) 73590 crt.X__builtin_abort(tls) 73591 return i32(0) 73592 }() 73593 }() 73594 func() int32 { 73595 if int32(_p.X0) == i32(0) { 73596 return i32(0) 73597 } 73598 return func() int32 { 73599 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74387), unsafe.Pointer((*int8)(unsafe.Pointer(&_handleDeferredMovetoØ00__func__Ø000))), unsafe.Pointer(str(75984))) 73600 crt.X__builtin_abort(tls) 73601 return i32(0) 73602 }() 73603 }() 73604 _rc = _sqlite3BtreeMovetoUnpacked(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X14 */))))))), (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), _p.X20, i32(0), &_res) 73605 if _rc == 0 { 73606 goto _6 73607 } 73608 73609 r0 = _rc 73610 return 73611 73612 _6: 73613 if _res == i32(0) { 73614 goto _7 73615 } 73616 73617 r0 = _sqlite3CorruptError(tls, i32(74390)) 73618 return 73619 73620 _7: 73621 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(3 /* X3 */))) = uint8(i32(0)) 73622 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 73623 r0 = i32(0) 73624 return 73625 73626 } 73627 73628 var _handleDeferredMovetoØ00__func__Ø000 [21]int8 // - 73629 73630 func init() { 73631 crt.Xstrncpy(nil, &_handleDeferredMovetoØ00__func__Ø000[0], str(76012), 21) 73632 } 73633 73634 func _sqlite3BtreeMovetoUnpacked(tls *crt.TLS, _pCur *XBtCursor, _pIdxKey *XUnpackedRecord, _intKey int64, _biasRight int32, _pRes *int32) (r0 int32) { // sqlite3.c:64092:1 73635 var _rc int32 // sqlite3.c:64099:7 73636 _ = _rc 73637 var _xRecordCompare func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32 // sqlite3.c:64100:17 73638 _ = _xRecordCompare 73639 var _12_lwr int32 // sqlite3.c:64166:9 73640 _ = _12_lwr 73641 var _12_upr int32 // sqlite3.c:64166:14 73642 _ = _12_upr 73643 var _12_idx int32 // sqlite3.c:64166:19 73644 _ = _12_idx 73645 var _12_c int32 // sqlite3.c:64166:24 73646 _ = _12_c 73647 var _12_chldPg uint32 // sqlite3.c:64167:10 73648 _ = _12_chldPg 73649 var _12_pPage *XMemPage // sqlite3.c:64168:13 73650 _ = _12_pPage 73651 var _12_pCell *uint8 // sqlite3.c:64169:8 73652 _ = _12_pCell 73653 var _14_nCellKey int64 // sqlite3.c:64186:13 73654 _ = _14_nCellKey 73655 var _25_nCell int32 // sqlite3.c:64219:13 73656 _ = _25_nCell 73657 var _28_pCellKey unsafe.Pointer // sqlite3.c:64254:16 73658 _ = _28_pCellKey 73659 var _28_pCellBody *uint8 // sqlite3.c:64255:14 73660 _ = _28_pCellBody 73661 func() int32 { 73662 if _cursorOwnsBtShared(tls, _pCur) != 0 { 73663 return i32(0) 73664 } 73665 return func() int32 { 73666 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64102), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76036))) 73667 crt.X__builtin_abort(tls) 73668 return i32(0) 73669 }() 73670 }() 73671 func() int32 { 73672 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { 73673 return i32(0) 73674 } 73675 return func() int32 { 73676 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64103), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76064))) 73677 crt.X__builtin_abort(tls) 73678 return i32(0) 73679 }() 73680 }() 73681 func() int32 { 73682 if _pRes != nil { 73683 return i32(0) 73684 } 73685 return func() int32 { 73686 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64104), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76108))) 73687 crt.X__builtin_abort(tls) 73688 return i32(0) 73689 }() 73690 }() 73691 func() int32 { 73692 if (_pIdxKey == (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0))))) == ((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) { 73693 return i32(0) 73694 } 73695 return func() int32 { 73696 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64105), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76116))) 73697 crt.X__builtin_abort(tls) 73698 return i32(0) 73699 }() 73700 }() 73701 func() int32 { 73702 if (int32(_pCur.X12) != i32(1)) || ((_pIdxKey == (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0))))) == (int32(_pCur.X15) != i32(0))) { 73703 return i32(0) 73704 } 73705 return func() int32 { 73706 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64106), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76152))) 73707 crt.X__builtin_abort(tls) 73708 return i32(0) 73709 }() 73710 }() 73711 if _pIdxKey != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pCur.X12) != i32(1) || (int32(_pCur.X10)&i32(2)) == i32(0) { 73712 goto _13 73713 } 73714 73715 if ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X0) != _intKey { 73716 goto _14 73717 } 73718 73719 *_pRes = i32(0) 73720 r0 = i32(0) 73721 return 73722 73723 _14: 73724 if ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X0) >= _intKey { 73725 goto _15 73726 } 73727 73728 if (int32(_pCur.X10) & i32(8)) == i32(0) { 73729 goto _16 73730 } 73731 73732 *_pRes = i32(-1) 73733 r0 = i32(0) 73734 return 73735 73736 _16: 73737 if (((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X0)+int64(i32(1))) != _intKey || (_pCur.X9) != 0 { 73738 goto _18 73739 } 73740 73741 *_pRes = i32(0) 73742 _rc = _sqlite3BtreeNext(tls, _pCur, _pRes) 73743 if _rc == 0 { 73744 goto _19 73745 } 73746 73747 r0 = _rc 73748 return 73749 73750 _19: 73751 if (*_pRes) != i32(0) { 73752 goto _20 73753 } 73754 73755 _getCellInfo(tls, _pCur) 73756 if ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X0) != _intKey { 73757 goto _21 73758 } 73759 73760 r0 = i32(0) 73761 return 73762 73763 _21: 73764 _20: 73765 _18: 73766 _15: 73767 _13: 73768 if _pIdxKey == nil { 73769 goto _22 73770 } 73771 73772 _xRecordCompare = _sqlite3VdbeFindCompare(tls, _pIdxKey) 73773 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxKey)) + uintptr(11 /* X4 */))) = uint8(i32(0)) 73774 func() int32 { 73775 if ((int32(_pIdxKey.X3) == i32(1)) || (int32(_pIdxKey.X3) == i32(0))) || (int32(_pIdxKey.X3) == i32(-1)) { 73776 return i32(0) 73777 } 73778 return func() int32 { 73779 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64143), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76220))) 73780 crt.X__builtin_abort(tls) 73781 return i32(0) 73782 }() 73783 }() 73784 goto _27 73785 73786 _22: 73787 _xRecordCompare = nil 73788 _27: 73789 _rc = _moveToRoot(tls, _pCur) 73790 if _rc == 0 { 73791 goto _28 73792 } 73793 73794 r0 = _rc 73795 return 73796 73797 _28: 73798 func() int32 { 73799 if ((_pCur.X7) == uint32(i32(0))) || ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))) != nil) { 73800 return i32(0) 73801 } 73802 return func() int32 { 73803 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64155), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76296))) 73804 crt.X__builtin_abort(tls) 73805 return i32(0) 73806 }() 73807 }() 73808 func() int32 { 73809 if ((_pCur.X7) == uint32(i32(0))) || (((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X0) != 0) { 73810 return i32(0) 73811 } 73812 return func() int32 { 73813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64156), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76344))) 73814 crt.X__builtin_abort(tls) 73815 return i32(0) 73816 }() 73817 }() 73818 func() int32 { 73819 if (int32(_pCur.X12) == i32(0)) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) > i32(0)) { 73820 return i32(0) 73821 } 73822 return func() int32 { 73823 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64157), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76400))) 73824 crt.X__builtin_abort(tls) 73825 return i32(0) 73826 }() 73827 }() 73828 if int32(_pCur.X12) != i32(0) { 73829 goto _38 73830 } 73831 73832 *_pRes = i32(-1) 73833 func() int32 { 73834 if ((_pCur.X7) == uint32(i32(0))) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) == i32(0)) { 73835 return i32(0) 73836 } 73837 return func() int32 { 73838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64160), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76468))) 73839 crt.X__builtin_abort(tls) 73840 return i32(0) 73841 }() 73842 }() 73843 r0 = i32(0) 73844 return 73845 73846 _38: 73847 func() int32 { 73848 if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(i32(0))))).X2) == int32(_pCur.X15) { 73849 return i32(0) 73850 } 73851 return func() int32 { 73852 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64163), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76528))) 73853 crt.X__builtin_abort(tls) 73854 return i32(0) 73855 }() 73856 }() 73857 func() int32 { 73858 if ((_pCur.X15) != 0) || (_pIdxKey != nil) { 73859 return i32(0) 73860 } 73861 return func() int32 { 73862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64164), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76572))) 73863 crt.X__builtin_abort(tls) 73864 return i32(0) 73865 }() 73866 }() 73867 _47: 73868 _12_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 73869 func() int32 { 73870 if int32(_12_pPage.X14) > i32(0) { 73871 return i32(0) 73872 } 73873 return func() int32 { 73874 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64177), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76600))) 73875 crt.X__builtin_abort(tls) 73876 return i32(0) 73877 }() 73878 }() 73879 func() int32 { 73880 if int32(_12_pPage.X2) == bool2int(_pIdxKey == (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0))))) { 73881 return i32(0) 73882 } 73883 return func() int32 { 73884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64178), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76616))) 73885 crt.X__builtin_abort(tls) 73886 return i32(0) 73887 }() 73888 }() 73889 _12_lwr = i32(0) 73890 _12_upr = int32(_12_pPage.X14) - i32(1) 73891 func() int32 { 73892 if (_biasRight == i32(0)) || (_biasRight == i32(1)) { 73893 return i32(0) 73894 } 73895 return func() int32 { 73896 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64181), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76644))) 73897 crt.X__builtin_abort(tls) 73898 return i32(0) 73899 }() 73900 }() 73901 _12_idx = _12_upr >> uint(i32(1)-_biasRight) 73902 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) 73903 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 73904 f func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32 73905 }{_xRecordCompare})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 73906 f func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32 73907 }{nil})) { 73908 goto _57 73909 } 73910 73911 _58: 73912 _12_pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_12_pPage.X22)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_12_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X21))+1*uintptr(i32(2)*_12_idx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X21))+1*uintptr(i32(2)*_12_idx))))) + 1*uintptr(i32(1))))))))))))) 73913 if (_12_pPage.X3) == 0 { 73914 goto _61 73915 } 73916 73917 _62: 73918 if i32(128) > int32(*postInc6921(&_12_pCell, 1)) { 73919 goto _63 73920 } 73921 73922 if uintptr(unsafe.Pointer(_12_pCell)) < uintptr(unsafe.Pointer(_12_pPage.X20)) { 73923 goto _64 73924 } 73925 73926 r0 = _sqlite3CorruptError(tls, i32(64190)) 73927 return 73928 73929 _64: 73930 goto _62 73931 73932 _63: 73933 _61: 73934 _sqlite3GetVarint(tls, _12_pCell, (*uint64)(unsafe.Pointer(&_14_nCellKey))) 73935 if _14_nCellKey >= _intKey { 73936 goto _65 73937 } 73938 73939 _12_lwr = _12_idx + i32(1) 73940 if _12_lwr <= _12_upr { 73941 goto _66 73942 } 73943 73944 _12_c = i32(-1) 73945 goto _60 73946 73947 _66: 73948 goto _67 73949 73950 _65: 73951 if _14_nCellKey <= _intKey { 73952 goto _68 73953 } 73954 73955 _12_upr = _12_idx - i32(1) 73956 if _12_lwr <= _12_upr { 73957 goto _69 73958 } 73959 73960 _12_c = i32(1) 73961 goto _60 73962 73963 _69: 73964 goto _70 73965 73966 _68: 73967 func() int32 { 73968 if _14_nCellKey == _intKey { 73969 return i32(0) 73970 } 73971 return func() int32 { 73972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64201), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76676))) 73973 crt.X__builtin_abort(tls) 73974 return i32(0) 73975 }() 73976 }() 73977 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) 73978 if (_12_pPage.X5) != 0 { 73979 goto _73 73980 } 73981 73982 _12_lwr = _12_idx 73983 goto _moveto_next_layer 73984 73985 _73: 73986 { 73987 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 73988 *p = uint8(int32(*p) | i32(2)) 73989 sink6915 = *p 73990 } 73991 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(0 /* X0 */))) = _14_nCellKey 73992 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 73993 *_pRes = i32(0) 73994 r0 = i32(0) 73995 return 73996 73997 _70: 73998 _67: 73999 func() int32 { 74000 if (_12_lwr + _12_upr) >= i32(0) { 74001 return i32(0) 74002 } 74003 return func() int32 { 74004 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64214), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76696))) 74005 crt.X__builtin_abort(tls) 74006 return i32(0) 74007 }() 74008 }() 74009 _12_idx = (_12_lwr + _12_upr) >> uint(i32(1)) 74010 goto _58 74011 74012 _60: 74013 goto _77 74014 74015 _57: 74016 _78: 74017 _12_pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_12_pPage.X22)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_12_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X21))+1*uintptr(i32(2)*_12_idx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X21))+1*uintptr(i32(2)*_12_idx))))) + 1*uintptr(i32(1))))))))))))) 74018 _25_nCell = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell)) + 1*uintptr(i32(0))))) 74019 if _25_nCell > int32(_12_pPage.X8) { 74020 goto _81 74021 } 74022 74023 _12_c = _xRecordCompare(tls, _25_nCell, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell))+1*uintptr(i32(1))))), _pIdxKey) 74024 goto _82 74025 74026 _81: 74027 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell)) + 1*uintptr(i32(1)))))&i32(128)) != 0 || store961(&_25_nCell, ((_25_nCell&i32(127))<<uint(i32(7)))+int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell)) + 1*uintptr(i32(1)))))) > int32(_12_pPage.X10) { 74028 goto _84 74029 } 74030 74031 _12_c = _xRecordCompare(tls, _25_nCell, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pCell))+1*uintptr(i32(2))))), _pIdxKey) 74032 goto _85 74033 74034 _84: 74035 _28_pCellBody = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_12_pCell)) - uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_12_pPage.X7))))))) 74036 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 74037 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 74038 }{(_12_pPage.X25)})))(tls, _12_pPage, _28_pCellBody, (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */)))) 74039 _25_nCell = int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X0) 74040 if _25_nCell >= i32(2) { 74041 goto _86 74042 } 74043 74044 _rc = _sqlite3CorruptError(tls, i32(64263)) 74045 goto _moveto_finish 74046 74047 _86: 74048 _28_pCellKey = _sqlite3Malloc(tls, uint64(_25_nCell+i32(18))) 74049 if unsafe.Pointer(_28_pCellKey) != (unsafe.Pointer)(uintptr(i32(0))) { 74050 goto _87 74051 } 74052 74053 _rc = _sqlite3NomemError(tls, i32(64268)) 74054 goto _moveto_finish 74055 74056 _87: 74057 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) 74058 _rc = _accessPayload(tls, _pCur, uint32(i32(0)), uint32(_25_nCell), (*uint8)(unsafe.Pointer(_28_pCellKey)), i32(0)) 74059 { 74060 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 74061 *p = uint8(int32(*p) & i32(-5)) 74062 sink6915 = *p 74063 } 74064 if _rc == 0 { 74065 goto _88 74066 } 74067 74068 Xsqlite3_free(tls, _28_pCellKey) 74069 goto _moveto_finish 74070 74071 _88: 74072 _12_c = _xRecordCompare(tls, _25_nCell, _28_pCellKey, _pIdxKey) 74073 Xsqlite3_free(tls, _28_pCellKey) 74074 _85: 74075 _82: 74076 func() int32 { 74077 if ((int32(_pIdxKey.X4) != i32(11)) || (_12_c == i32(0))) && ((int32(_pIdxKey.X4) != i32(7)) || (((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X17) != 0)) { 74078 return i32(0) 74079 } 74080 return func() int32 { 74081 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64281), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76708))) 74082 crt.X__builtin_abort(tls) 74083 return i32(0) 74084 }() 74085 }() 74086 if _12_c >= i32(0) { 74087 goto _94 74088 } 74089 74090 _12_lwr = _12_idx + i32(1) 74091 goto _95 74092 74093 _94: 74094 if _12_c <= i32(0) { 74095 goto _96 74096 } 74097 74098 _12_upr = _12_idx - i32(1) 74099 goto _97 74100 74101 _96: 74102 func() int32 { 74103 if _12_c == i32(0) { 74104 return i32(0) 74105 } 74106 return func() int32 { 74107 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64290), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76824))) 74108 crt.X__builtin_abort(tls) 74109 return i32(0) 74110 }() 74111 }() 74112 *_pRes = i32(0) 74113 _rc = i32(0) 74114 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) 74115 if (_pIdxKey.X4) == 0 { 74116 goto _100 74117 } 74118 74119 _rc = i32(11) 74120 _100: 74121 goto _moveto_finish 74122 74123 _97: 74124 _95: 74125 if _12_lwr <= _12_upr { 74126 goto _101 74127 } 74128 74129 goto _80 74130 74131 _101: 74132 func() int32 { 74133 if (_12_lwr + _12_upr) >= i32(0) { 74134 return i32(0) 74135 } 74136 return func() int32 { 74137 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64298), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76696))) 74138 crt.X__builtin_abort(tls) 74139 return i32(0) 74140 }() 74141 }() 74142 _12_idx = (_12_lwr + _12_upr) >> uint(i32(1)) 74143 goto _78 74144 74145 _80: 74146 _77: 74147 func() int32 { 74148 if (_12_lwr == (_12_upr + i32(1))) || (((_12_pPage.X2) != 0) && ((_12_pPage.X5) == 0)) { 74149 return i32(0) 74150 } 74151 return func() int32 { 74152 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64302), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76832))) 74153 crt.X__builtin_abort(tls) 74154 return i32(0) 74155 }() 74156 }() 74157 func() int32 { 74158 if (_12_pPage.X0) != 0 { 74159 return i32(0) 74160 } 74161 return func() int32 { 74162 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64303), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76880))) 74163 crt.X__builtin_abort(tls) 74164 return i32(0) 74165 }() 74166 }() 74167 if (_12_pPage.X5) == 0 { 74168 goto _110 74169 } 74170 74171 func() int32 { 74172 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) { 74173 return i32(0) 74174 } 74175 return func() int32 { 74176 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64305), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(10712))) 74177 crt.X__builtin_abort(tls) 74178 return i32(0) 74179 }() 74180 }() 74181 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_idx) 74182 *_pRes = _12_c 74183 _rc = i32(0) 74184 goto _moveto_finish 74185 74186 _110: 74187 _moveto_next_layer: 74188 if _12_lwr < int32(_12_pPage.X14) { 74189 goto _113 74190 } 74191 74192 _12_chldPg = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X19))+1*uintptr(int32(_12_pPage.X6)+i32(8))))) 74193 goto _114 74194 74195 _113: 74196 _12_chldPg = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_12_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_12_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X21))+1*uintptr(i32(2)*_12_lwr))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pPage.X21))+1*uintptr(i32(2)*_12_lwr))))) + 1*uintptr(i32(1)))))))))))))) 74197 _114: 74198 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(_12_lwr) 74199 _rc = _moveToChild(tls, _pCur, _12_chldPg) 74200 if _rc == 0 { 74201 goto _115 74202 } 74203 74204 goto _49 74205 74206 _115: 74207 goto _47 74208 74209 _49: 74210 _moveto_finish: 74211 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 74212 func() int32 { 74213 if (int32(_pCur.X10) & i32(4)) == i32(0) { 74214 return i32(0) 74215 } 74216 return func() int32 { 74217 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64323), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeMovetoUnpackedØ00__func__Ø000))), unsafe.Pointer(str(76896))) 74218 crt.X__builtin_abort(tls) 74219 return i32(0) 74220 }() 74221 }() 74222 r0 = _rc 74223 return 74224 74225 } 74226 74227 func _cursorOwnsBtShared(tls *crt.TLS, _p *XBtCursor) (r0 int32) { // sqlite3.c:59420:1 74228 func() int32 { 74229 if _cursorHoldsMutex(tls, _p) != 0 { 74230 return i32(0) 74231 } 74232 return func() int32 { 74233 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59421), unsafe.Pointer((*int8)(unsafe.Pointer(&_cursorOwnsBtSharedØ00__func__Ø000))), unsafe.Pointer(str(76936))) 74234 crt.X__builtin_abort(tls) 74235 return i32(0) 74236 }() 74237 }() 74238 r0 = bool2int((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X0)).X0)) == (*Xsqlite3)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X1))) 74239 return 74240 74241 } 74242 74243 var _cursorOwnsBtSharedØ00__func__Ø000 [19]int8 // - 74244 74245 func init() { 74246 crt.Xstrncpy(nil, &_cursorOwnsBtSharedØ00__func__Ø000[0], str(76956), 19) 74247 } 74248 74249 var _sqlite3BtreeMovetoUnpackedØ00__func__Ø000 [27]int8 // - 74250 74251 func init() { 74252 crt.Xstrncpy(nil, &_sqlite3BtreeMovetoUnpackedØ00__func__Ø000[0], str(76976), 27) 74253 } 74254 74255 func _sqlite3BtreeNext(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64455:1 74256 var _pPage *XMemPage // sqlite3.c:64456:11 74257 _ = _pPage 74258 func() int32 { 74259 if _cursorOwnsBtShared(tls, _pCur) != 0 { 74260 return i32(0) 74261 } 74262 return func() int32 { 74263 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64457), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeNextØ00__func__Ø000))), unsafe.Pointer(str(76036))) 74264 crt.X__builtin_abort(tls) 74265 return i32(0) 74266 }() 74267 }() 74268 func() int32 { 74269 if _pRes != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 74270 return i32(0) 74271 } 74272 return func() int32 { 74273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64458), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeNextØ00__func__Ø000))), unsafe.Pointer(str(77004))) 74274 crt.X__builtin_abort(tls) 74275 return i32(0) 74276 }() 74277 }() 74278 func() int32 { 74279 if ((*_pRes) == i32(0)) || ((*_pRes) == i32(1)) { 74280 return i32(0) 74281 } 74282 return func() int32 { 74283 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64459), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeNextØ00__func__Ø000))), unsafe.Pointer(str(77012))) 74284 crt.X__builtin_abort(tls) 74285 return i32(0) 74286 }() 74287 }() 74288 func() int32 { 74289 if ((_pCur.X9) == i32(0)) || (int32(_pCur.X12) != i32(1)) { 74290 return i32(0) 74291 } 74292 return func() int32 { 74293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64460), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeNextØ00__func__Ø000))), unsafe.Pointer(str(77036))) 74294 crt.X__builtin_abort(tls) 74295 return i32(0) 74296 }() 74297 }() 74298 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 74299 { 74300 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 74301 *p = uint8(int32(*p) & i32(-7)) 74302 sink6915 = *p 74303 } 74304 *_pRes = i32(0) 74305 if int32(_pCur.X12) == i32(1) { 74306 goto _10 74307 } 74308 74309 r0 = _btreeNext(tls, _pCur, _pRes) 74310 return 74311 74312 _10: 74313 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 74314 if int32(preInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */)))))+2*uintptr(_pCur.X14))), uint16(1))) < int32(_pPage.X14) { 74315 goto _11 74316 } 74317 74318 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) -= 1 74319 r0 = _btreeNext(tls, _pCur, _pRes) 74320 return 74321 74322 _11: 74323 if (_pPage.X5) == 0 { 74324 goto _12 74325 } 74326 74327 r0 = i32(0) 74328 return 74329 74330 _12: 74331 r0 = _moveToLeftmost(tls, _pCur) 74332 return 74333 74334 } 74335 74336 var _sqlite3BtreeNextØ00__func__Ø000 [17]int8 // - 74337 74338 func init() { 74339 crt.Xstrncpy(nil, &_sqlite3BtreeNextØ00__func__Ø000[0], str(77084), 17) 74340 } 74341 74342 func _btreeNext(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64388:1 74343 var _rc int32 // sqlite3.c:64389:7 74344 _ = _rc 74345 var _idx int32 // sqlite3.c:64390:7 74346 _ = _idx 74347 var _pPage *XMemPage // sqlite3.c:64391:11 74348 _ = _pPage 74349 func() int32 { 74350 if _cursorOwnsBtShared(tls, _pCur) != 0 { 74351 return i32(0) 74352 } 74353 return func() int32 { 74354 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64393), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeNextØ00__func__Ø000))), unsafe.Pointer(str(76036))) 74355 crt.X__builtin_abort(tls) 74356 return i32(0) 74357 }() 74358 }() 74359 func() int32 { 74360 if ((_pCur.X9) == i32(0)) || (int32(_pCur.X12) != i32(1)) { 74361 return i32(0) 74362 } 74363 return func() int32 { 74364 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64394), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeNextØ00__func__Ø000))), unsafe.Pointer(str(77036))) 74365 crt.X__builtin_abort(tls) 74366 return i32(0) 74367 }() 74368 }() 74369 func() int32 { 74370 if (*_pRes) == i32(0) { 74371 return i32(0) 74372 } 74373 return func() int32 { 74374 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64395), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeNextØ00__func__Ø000))), unsafe.Pointer(str(77104))) 74375 crt.X__builtin_abort(tls) 74376 return i32(0) 74377 }() 74378 }() 74379 if int32(_pCur.X12) == i32(1) { 74380 goto _7 74381 } 74382 74383 func() int32 { 74384 if (int32(_pCur.X10) & i32(4)) == i32(0) { 74385 return i32(0) 74386 } 74387 return func() int32 { 74388 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64397), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeNextØ00__func__Ø000))), unsafe.Pointer(str(76896))) 74389 crt.X__builtin_abort(tls) 74390 return i32(0) 74391 }() 74392 }() 74393 _rc = func() int32 { 74394 if int32(_pCur.X12) >= i32(3) { 74395 return _btreeRestoreCursorPosition(tls, _pCur) 74396 } 74397 return i32(0) 74398 }() 74399 if _rc == i32(0) { 74400 goto _12 74401 } 74402 74403 r0 = _rc 74404 return 74405 74406 _12: 74407 if i32(0) != int32(_pCur.X12) { 74408 goto _13 74409 } 74410 74411 *_pRes = i32(1) 74412 r0 = i32(0) 74413 return 74414 74415 _13: 74416 if (_pCur.X9) == 0 { 74417 goto _14 74418 } 74419 74420 func() int32 { 74421 if (int32(_pCur.X12) == i32(1)) || (int32(_pCur.X12) == i32(2)) { 74422 return i32(0) 74423 } 74424 return func() int32 { 74425 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64407), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeNextØ00__func__Ø000))), unsafe.Pointer(str(77116))) 74426 crt.X__builtin_abort(tls) 74427 return i32(0) 74428 }() 74429 }() 74430 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(1)) 74431 if (_pCur.X9) <= i32(0) { 74432 goto _18 74433 } 74434 74435 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(0) 74436 r0 = i32(0) 74437 return 74438 74439 _18: 74440 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(0) 74441 _14: 74442 _7: 74443 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 74444 _idx = int32(preInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */)))))+2*uintptr(_pCur.X14))), uint16(1))) 74445 func() int32 { 74446 if (_pPage.X0) != 0 { 74447 return i32(0) 74448 } 74449 return func() int32 { 74450 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64419), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeNextØ00__func__Ø000))), unsafe.Pointer(str(76880))) 74451 crt.X__builtin_abort(tls) 74452 return i32(0) 74453 }() 74454 }() 74455 if _idx < int32(_pPage.X14) { 74456 goto _21 74457 } 74458 74459 if (_pPage.X5) != 0 { 74460 goto _22 74461 } 74462 74463 _rc = _moveToChild(tls, _pCur, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8)))))) 74464 if _rc == 0 { 74465 goto _23 74466 } 74467 74468 r0 = _rc 74469 return 74470 74471 _23: 74472 r0 = _moveToLeftmost(tls, _pCur) 74473 return 74474 74475 _22: 74476 _24: 74477 if int32(_pCur.X14) != i32(0) { 74478 goto _25 74479 } 74480 74481 *_pRes = i32(1) 74482 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 74483 r0 = i32(0) 74484 return 74485 74486 _25: 74487 _moveToParent(tls, _pCur) 74488 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 74489 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) >= int32(_pPage.X14) { 74490 goto _24 74491 } 74492 74493 if (_pPage.X2) == 0 { 74494 goto _26 74495 } 74496 74497 r0 = _sqlite3BtreeNext(tls, _pCur, _pRes) 74498 return 74499 74500 _26: 74501 r0 = i32(0) 74502 return 74503 74504 _21: 74505 if (_pPage.X5) == 0 { 74506 goto _28 74507 } 74508 74509 r0 = i32(0) 74510 return 74511 74512 _28: 74513 r0 = _moveToLeftmost(tls, _pCur) 74514 return 74515 74516 } 74517 74518 var _btreeNextØ00__func__Ø000 [10]int8 // - 74519 74520 func init() { 74521 crt.Xstrncpy(nil, &_btreeNextØ00__func__Ø000[0], str(77176), 10) 74522 } 74523 74524 func _btreeRestoreCursorPosition(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59752:1 74525 var _rc int32 // sqlite3.c:59753:7 74526 _ = _rc 74527 var _skipNext int32 // sqlite3.c:59754:7 74528 _ = _skipNext 74529 func() int32 { 74530 if _cursorOwnsBtShared(tls, _pCur) != 0 { 74531 return i32(0) 74532 } 74533 return func() int32 { 74534 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59755), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeRestoreCursorPositionØ00__func__Ø000))), unsafe.Pointer(str(76036))) 74535 crt.X__builtin_abort(tls) 74536 return i32(0) 74537 }() 74538 }() 74539 func() int32 { 74540 if int32(_pCur.X12) >= i32(3) { 74541 return i32(0) 74542 } 74543 return func() int32 { 74544 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59756), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeRestoreCursorPositionØ00__func__Ø000))), unsafe.Pointer(str(77188))) 74545 crt.X__builtin_abort(tls) 74546 return i32(0) 74547 }() 74548 }() 74549 if int32(_pCur.X12) != i32(4) { 74550 goto _4 74551 } 74552 74553 r0 = _pCur.X9 74554 return 74555 74556 _4: 74557 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 74558 _rc = _btreeMoveto(tls, _pCur, _pCur.X6, _pCur.X5, i32(0), &_skipNext) 74559 if _rc != i32(0) { 74560 goto _5 74561 } 74562 74563 Xsqlite3_free(tls, _pCur.X6) 74564 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(44 /* X6 */))) = (unsafe.Pointer)(uintptr(i32(0))) 74565 func() int32 { 74566 if (int32(_pCur.X12) == i32(1)) || (int32(_pCur.X12) == i32(0)) { 74567 return i32(0) 74568 } 74569 return func() int32 { 74570 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59765), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeRestoreCursorPositionØ00__func__Ø000))), unsafe.Pointer(str(77224))) 74571 crt.X__builtin_abort(tls) 74572 return i32(0) 74573 }() 74574 }() 74575 { 74576 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) 74577 *p = (*p) | _skipNext 74578 sink961 = *p 74579 } 74580 if (_pCur.X9) == 0 || int32(_pCur.X12) != i32(1) { 74581 goto _10 74582 } 74583 74584 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(2)) 74585 _10: 74586 _5: 74587 r0 = _rc 74588 return 74589 74590 } 74591 74592 var _btreeRestoreCursorPositionØ00__func__Ø000 [27]int8 // - 74593 74594 func init() { 74595 crt.Xstrncpy(nil, &_btreeRestoreCursorPositionØ00__func__Ø000[0], str(77284), 27) 74596 } 74597 74598 func _btreeMoveto(tls *crt.TLS, _pCur *XBtCursor, _pKey unsafe.Pointer, _nKey int64, _bias int32, _pRes *int32) (r0 int32) { // sqlite3.c:59715:1 74599 var _rc int32 // sqlite3.c:59722:7 74600 _ = _rc 74601 var _pIdxKey *XUnpackedRecord // sqlite3.c:59723:18 74602 _ = _pIdxKey 74603 if _pKey == nil { 74604 goto _0 74605 } 74606 74607 func() int32 { 74608 if _nKey == int64(int32(_nKey)) { 74609 return i32(0) 74610 } 74611 return func() int32 { 74612 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59726), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeMovetoØ00__func__Ø000))), unsafe.Pointer(str(77312))) 74613 crt.X__builtin_abort(tls) 74614 return i32(0) 74615 }() 74616 }() 74617 _pIdxKey = _sqlite3VdbeAllocUnpackedRecord(tls, (*XKeyInfo)(unsafe.Pointer(_pCur.X16))) 74618 if _pIdxKey != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 74619 goto _3 74620 } 74621 74622 r0 = _sqlite3NomemError(tls, i32(59728)) 74623 return 74624 74625 _3: 74626 _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer(_pCur.X16)), int32(_nKey), _pKey, _pIdxKey) 74627 if int32(_pIdxKey.X2) != i32(0) { 74628 goto _4 74629 } 74630 74631 _rc = _sqlite3CorruptError(tls, i32(59731)) 74632 goto _moveto_done 74633 74634 _4: 74635 goto _5 74636 74637 _0: 74638 _pIdxKey = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) 74639 _5: 74640 _rc = _sqlite3BtreeMovetoUnpacked(tls, _pCur, _pIdxKey, _nKey, _bias, _pRes) 74641 _moveto_done: 74642 if _pIdxKey == nil { 74643 goto _6 74644 } 74645 74646 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer((*XKeyInfo)(unsafe.Pointer(_pCur.X16)).X4)), (unsafe.Pointer)(_pIdxKey)) 74647 _6: 74648 r0 = _rc 74649 return 74650 74651 } 74652 74653 var _btreeMovetoØ00__func__Ø000 [12]int8 // - 74654 74655 func init() { 74656 crt.Xstrncpy(nil, &_btreeMovetoØ00__func__Ø000[0], str(77336), 12) 74657 } 74658 74659 func _sqlite3VdbeAllocUnpackedRecord(tls *crt.TLS, _pKeyInfo *XKeyInfo) (r0 *XUnpackedRecord) { // sqlite3.c:74847:1 74660 var _p *XUnpackedRecord // sqlite3.c:74850:18 74661 _ = _p 74662 var _nByte int32 // sqlite3.c:74851:7 74663 _ = _nByte 74664 _nByte = int32(u32(16) + (u32(48) * uint32(int32(_pKeyInfo.X2)+i32(1)))) 74665 _p = (*XUnpackedRecord)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)), uint64(_nByte)))) 74666 if _p != nil { 74667 goto _0 74668 } 74669 74670 r0 = (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) 74671 return 74672 74673 _0: 74674 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = (*XMem)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(u32(16)))))) 74675 func() int32 { 74676 if (_pKeyInfo.X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 74677 return i32(0) 74678 } 74679 return func() int32 { 74680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74856), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeAllocUnpackedRecordØ00__func__Ø000))), unsafe.Pointer(str(39864))) 74681 crt.X__builtin_abort(tls) 74682 return i32(0) 74683 }() 74684 }() 74685 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pKeyInfo 74686 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint16(int32(_pKeyInfo.X2) + i32(1)) 74687 r0 = _p 74688 return 74689 74690 } 74691 74692 var _sqlite3VdbeAllocUnpackedRecordØ00__func__Ø000 [31]int8 // - 74693 74694 func init() { 74695 crt.Xstrncpy(nil, &_sqlite3VdbeAllocUnpackedRecordØ00__func__Ø000[0], str(77348), 31) 74696 } 74697 74698 func _sqlite3VdbeRecordUnpack(tls *crt.TLS, _pKeyInfo *XKeyInfo, _nKey int32, _pKey unsafe.Pointer, _p *XUnpackedRecord) { // sqlite3.c:74867:1 74699 var _aKey *uint8 // sqlite3.c:74873:23 74700 _ = _aKey 74701 var _d int32 // sqlite3.c:74874:7 74702 _ = _d 74703 var _idx uint32 // sqlite3.c:74875:7 74704 _ = _idx 74705 var _u uint16 // sqlite3.c:74876:7 74706 _ = _u 74707 var _szHdr uint32 // sqlite3.c:74877:7 74708 _ = _szHdr 74709 var _pMem *XMem // sqlite3.c:74878:7 74710 _ = _pMem 74711 var _1_serial_type uint32 // sqlite3.c:74886:9 74712 _ = _1_serial_type 74713 _aKey = (*uint8)(unsafe.Pointer(_pKey)) 74714 _pMem = (*XMem)(unsafe.Pointer(_p.X1)) 74715 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X3 */))) = int8(i32(0)) 74716 func() int32 { 74717 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pMem))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 74718 return i32(0) 74719 } 74720 return func() int32 { 74721 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74881), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordUnpackØ00__func__Ø000))), unsafe.Pointer(str(5944))) 74722 crt.X__builtin_abort(tls) 74723 return i32(0) 74724 }() 74725 }() 74726 _idx = uint32(uint8(func() int32 { 74727 if int32(*_aKey) < int32(u8(128)) { 74728 return func() int32 { _szHdr = uint32(*_aKey); return i32(1) }() 74729 } 74730 return int32(_sqlite3GetVarint32(tls, _aKey, &_szHdr)) 74731 }())) 74732 _d = int32(_szHdr) 74733 _u = uint16(i32(0)) 74734 _4: 74735 if _idx >= _szHdr || _d > _nKey { 74736 goto _5 74737 } 74738 74739 { 74740 p := &_idx 74741 *p = (*p) + uint32(uint8(func() int32 { 74742 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(_idx)))) < int32(u8(128)) { 74743 return func() int32 { 74744 _1_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(_idx)))) 74745 return i32(1) 74746 }() 74747 } 74748 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey))+1*uintptr(_idx))), &_1_serial_type)) 74749 }())) 74750 sink985 = *p 74751 } 74752 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(10 /* X2 */))) = _pKeyInfo.X1 74753 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(32 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)) 74754 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = i32(0) 74755 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 74756 { 74757 p := &_d 74758 *p = int32(uint32(*p) + _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey))+1*uintptr(_d))), _1_serial_type, _pMem)) 74759 sink961 = *p 74760 } 74761 *(*uintptr)(unsafe.Pointer(&_pMem)) += uintptr(48) 74762 if int32(preInc6908(&_u, uint16(1))) < int32(_p.X2) { 74763 goto _9 74764 } 74765 74766 goto _5 74767 74768 _9: 74769 goto _4 74770 74771 _5: 74772 func() int32 { 74773 if int32(_u) <= (int32(_pKeyInfo.X2) + i32(1)) { 74774 return i32(0) 74775 } 74776 return func() int32 { 74777 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74898), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordUnpackØ00__func__Ø000))), unsafe.Pointer(str(77380))) 74778 crt.X__builtin_abort(tls) 74779 return i32(0) 74780 }() 74781 }() 74782 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _u 74783 return 74784 74785 } 74786 74787 var _sqlite3VdbeRecordUnpackØ00__func__Ø000 [24]int8 // - 74788 74789 func init() { 74790 crt.Xstrncpy(nil, &_sqlite3VdbeRecordUnpackØ00__func__Ø000[0], str(77404), 24) 74791 } 74792 74793 func _sqlite3GetVarint32(tls *crt.TLS, _p *uint8, _v *uint32) (r0 uint8) { // sqlite3.c:28619:1 74794 var _a uint32 // sqlite3.c:28620:7 74795 _ = _a 74796 var _b uint32 // sqlite3.c:28620:9 74797 _ = _b 74798 var _3_v64 uint64 // sqlite3.c:28674:9 74799 _ = _3_v64 74800 var _3_n uint8 // sqlite3.c:28675:8 74801 _ = _3_n 74802 _a = uint32(*_p) 74803 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 74804 _b = uint32(*_p) 74805 if (_b & uint32(i32(128))) != 0 { 74806 goto _0 74807 } 74808 74809 { 74810 p := &_a 74811 *p = (*p) & uint32(i32(127)) 74812 sink985 = *p 74813 } 74814 _a = _a << uint(i32(7)) 74815 *_v = _a | _b 74816 r0 = uint8(i32(2)) 74817 return 74818 74819 _0: 74820 *(*uintptr)(unsafe.Pointer(&_p)) += uintptr(1) 74821 _a = _a << uint(i32(14)) 74822 { 74823 p := &_a 74824 *p = (*p) | uint32(*_p) 74825 sink985 = *p 74826 } 74827 if (_a & uint32(i32(128))) != 0 { 74828 goto _1 74829 } 74830 74831 { 74832 p := &_a 74833 *p = (*p) & uint32(i32(2080895)) 74834 sink985 = *p 74835 } 74836 { 74837 p := &_b 74838 *p = (*p) & uint32(i32(127)) 74839 sink985 = *p 74840 } 74841 _b = _b << uint(i32(7)) 74842 *_v = _a | _b 74843 r0 = uint8(i32(3)) 74844 return 74845 74846 _1: 74847 { 74848 p := &_p 74849 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(2)))) 74850 sink6921 = *p 74851 } 74852 _3_n = _sqlite3GetVarint(tls, _p, &_3_v64) 74853 func() int32 { 74854 if (int32(_3_n) > i32(3)) && (int32(_3_n) <= i32(9)) { 74855 return i32(0) 74856 } 74857 return func() int32 { 74858 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28679), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetVarint32Ø00__func__Ø000))), unsafe.Pointer(str(77428))) 74859 crt.X__builtin_abort(tls) 74860 return i32(0) 74861 }() 74862 }() 74863 if (_3_v64 & u64(4294967295)) == _3_v64 { 74864 goto _5 74865 } 74866 74867 *_v = u32(4294967295) 74868 goto _6 74869 74870 _5: 74871 *_v = uint32(_3_v64) 74872 _6: 74873 r0 = _3_n 74874 return 74875 74876 } 74877 74878 var _sqlite3GetVarint32Ø00__func__Ø000 [19]int8 // - 74879 74880 func init() { 74881 crt.Xstrncpy(nil, &_sqlite3GetVarint32Ø00__func__Ø000[0], str(77440), 19) 74882 } 74883 74884 func _sqlite3VdbeSerialGet(tls *crt.TLS, _buf *uint8, _serial_type uint32, _pMem *XMem) (r0 uint32) { // sqlite3.c:74748:1 74885 switch _serial_type { 74886 case u32(0): 74887 goto _3 74888 case u32(1): 74889 goto _4 74890 case u32(2): 74891 goto _5 74892 case u32(3): 74893 goto _6 74894 case u32(4): 74895 goto _7 74896 case u32(5): 74897 goto _8 74898 case u32(6): 74899 goto _9 74900 case u32(7): 74901 goto _10 74902 case u32(8): 74903 goto _11 74904 case u32(9): 74905 goto _12 74906 case u32(10): 74907 goto _1 74908 case u32(11): 74909 goto _2 74910 default: 74911 goto _13 74912 } 74913 74914 _1: 74915 _2: 74916 _3: 74917 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 74918 goto _14 74919 74920 _4: 74921 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0)))))) 74922 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74923 r0 = uint32(i32(1)) 74924 return 74925 74926 _5: 74927 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64((i32(256) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0))))))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(1)))))) 74928 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74929 r0 = uint32(i32(2)) 74930 return 74931 74932 _6: 74933 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(((i32(65536) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0))))))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(1))))) << uint(i32(8)))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(2)))))) 74934 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74935 r0 = uint32(i32(3)) 74936 return 74937 74938 _7: 74939 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64((((i32(16777216) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0))))))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(1))))) << uint(i32(16)))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(2))))) << uint(i32(8)))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(3)))))) 74940 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74941 r0 = uint32(i32(4)) 74942 return 74943 74944 _8: 74945 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(0)))))<<uint(i32(24)))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(1)))))<<uint(i32(16))))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(2)))))<<uint(i32(8))))|uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(3)))))) + (i64(4294967296) * int64((i32(256)*int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0)))))))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(1))))))) 74946 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74947 r0 = uint32(i32(6)) 74948 return 74949 74950 _9: 74951 _10: 74952 r0 = _serialGet(tls, _buf, _serial_type, _pMem) 74953 return 74954 74955 _11: 74956 _12: 74957 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = int64(_serial_type - uint32(i32(8))) 74958 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74959 r0 = uint32(i32(0)) 74960 return 74961 74962 _13: 74963 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(_buf)) 74964 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32((_serial_type - uint32(i32(12))) / uint32(i32(2))) 74965 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3VdbeSerialGetØ00aFlagØ001)) + 2*uintptr(_serial_type&uint32(i32(1))))) 74966 r0 = uint32(_pMem.X4) 74967 return 74968 74969 _14: 74970 r0 = uint32(i32(0)) 74971 return 74972 74973 } 74974 74975 func _serialGet(tls *crt.TLS, _buf *uint8, _serial_type uint32, _pMem *XMem) (r0 uint32) { // sqlite3.c:74712:1 74976 var _x uint64 // sqlite3.c:74717:7 74977 _ = _x 74978 var _y uint32 // sqlite3.c:74718:7 74979 _ = _y 74980 var _2_t2 uint64 // sqlite3.c:74737:9 74981 _ = _2_t2 74982 _x = uint64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(i32(3)))))) 74983 _y = (((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_buf))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(3))))) 74984 _x = (_x << uint(i32(32))) + uint64(_y) 74985 if _serial_type != uint32(i32(6)) { 74986 goto _0 74987 } 74988 74989 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) = *(*int64)(unsafe.Pointer(&_x)) 74990 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4)) 74991 goto _1 74992 74993 _0: 74994 _2_t2 = _serialGetØ00t1Ø001 74995 func() int32 { 74996 if i32(1) != 0 && (crt.Xmemcmp(tls, (unsafe.Pointer)(&_serialGetØ00r1Ø002), (unsafe.Pointer)(&_2_t2), u32(8)) == i32(0)) { 74997 return i32(0) 74998 } 74999 return func() int32 { 75000 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74739), unsafe.Pointer((*int8)(unsafe.Pointer(&_serialGetØ00__func__Ø000))), unsafe.Pointer(str(77460))) 75001 crt.X__builtin_abort(tls) 75002 return i32(0) 75003 }() 75004 }() 75005 i32(0) 75006 crt.Xmemcpy(tls, (unsafe.Pointer)((*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */)))))), (unsafe.Pointer)(&_x), u32(8)) 75007 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(func() int32 { 75008 if _sqlite3IsNaN(tls, *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) != 0 { 75009 return i32(1) 75010 } 75011 return i32(8) 75012 }()) 75013 _1: 75014 r0 = uint32(i32(8)) 75015 return 75016 75017 } 75018 75019 var _serialGetØ00t1Ø001 uint64 // sqlite3.c:74735:22 75020 75021 func init() { 75022 _serialGetØ00t1Ø001 = u64(4607182418800017408) 75023 } 75024 75025 var _serialGetØ00r1Ø002 float64 // sqlite3.c:74736:25 75026 75027 func init() { 75028 _serialGetØ00r1Ø002 = 1 75029 } 75030 75031 var _serialGetØ00__func__Ø000 [10]int8 // - 75032 75033 func init() { 75034 crt.Xstrncpy(nil, &_serialGetØ00__func__Ø000[0], str(77520), 10) 75035 } 75036 75037 var _sqlite3VdbeSerialGetØ00aFlagØ001 [2]uint16 // sqlite3.c:74824:24 75038 75039 func init() { 75040 _sqlite3VdbeSerialGetØ00aFlagØ001 = [2]uint16{u16(4112), u16(4098)} 75041 } 75042 75043 func _moveToChild(tls *crt.TLS, _pCur *XBtCursor, _newPgno uint32) (r0 int32) { // sqlite3.c:63782:1 75044 var _pBt *XBtShared // sqlite3.c:63783:12 75045 _ = _pBt 75046 _pBt = (*XBtShared)(unsafe.Pointer(_pCur.X1)) 75047 func() int32 { 75048 if _cursorOwnsBtShared(tls, _pCur) != 0 { 75049 return i32(0) 75050 } 75051 return func() int32 { 75052 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63785), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToChildØ00__func__Ø000))), unsafe.Pointer(str(76036))) 75053 crt.X__builtin_abort(tls) 75054 return i32(0) 75055 }() 75056 }() 75057 func() int32 { 75058 if int32(_pCur.X12) == i32(1) { 75059 return i32(0) 75060 } 75061 return func() int32 { 75062 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63786), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToChildØ00__func__Ø000))), unsafe.Pointer(str(10500))) 75063 crt.X__builtin_abort(tls) 75064 return i32(0) 75065 }() 75066 }() 75067 func() int32 { 75068 if int32(_pCur.X14) < i32(20) { 75069 return i32(0) 75070 } 75071 return func() int32 { 75072 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63787), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToChildØ00__func__Ø000))), unsafe.Pointer(str(77532))) 75073 crt.X__builtin_abort(tls) 75074 return i32(0) 75075 }() 75076 }() 75077 func() int32 { 75078 if int32(_pCur.X14) >= i32(0) { 75079 return i32(0) 75080 } 75081 return func() int32 { 75082 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63788), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToChildØ00__func__Ø000))), unsafe.Pointer(str(77564))) 75083 crt.X__builtin_abort(tls) 75084 return i32(0) 75085 }() 75086 }() 75087 if int32(_pCur.X14) < i32(19) { 75088 goto _8 75089 } 75090 75091 r0 = _sqlite3CorruptError(tls, i32(63790)) 75092 return 75093 75094 _8: 75095 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 75096 { 75097 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 75098 *p = uint8(int32(*p) & i32(-7)) 75099 sink6915 = *p 75100 } 75101 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) += 1 75102 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(i32(0)) 75103 r0 = _getAndInitPage(tls, _pBt, _newPgno, (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */)))))+4*uintptr(_pCur.X14))), _pCur, int32(_pCur.X11)) 75104 return 75105 75106 } 75107 75108 var _moveToChildØ00__func__Ø000 [12]int8 // - 75109 75110 func init() { 75111 crt.Xstrncpy(nil, &_moveToChildØ00__func__Ø000[0], str(77580), 12) 75112 } 75113 75114 func _getAndInitPage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _ppPage **XMemPage, _pCur *XBtCursor, _bReadOnly int32) (r0 int32) { // sqlite3.c:60995:1 75115 var _rc int32 // sqlite3.c:61002:7 75116 _ = _rc 75117 var _pDbPage *XPgHdr // sqlite3.c:61003:10 75118 _ = _pDbPage 75119 func() int32 { 75120 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 75121 return i32(0) 75122 } 75123 return func() int32 { 75124 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61004), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 75125 crt.X__builtin_abort(tls) 75126 return i32(0) 75127 }() 75128 }() 75129 func() int32 { 75130 if (_pCur == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || (_ppPage == (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */)))))+4*uintptr(_pCur.X14)))) { 75131 return i32(0) 75132 } 75133 return func() int32 { 75134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61005), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(77592))) 75135 crt.X__builtin_abort(tls) 75136 return i32(0) 75137 }() 75138 }() 75139 func() int32 { 75140 if (_pCur == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || (_bReadOnly == int32(_pCur.X11)) { 75141 return i32(0) 75142 } 75143 return func() int32 { 75144 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61006), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(77640))) 75145 crt.X__builtin_abort(tls) 75146 return i32(0) 75147 }() 75148 }() 75149 func() int32 { 75150 if (_pCur == (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pCur.X14) > i32(0)) { 75151 return i32(0) 75152 } 75153 return func() int32 { 75154 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61007), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(77684))) 75155 crt.X__builtin_abort(tls) 75156 return i32(0) 75157 }() 75158 }() 75159 if _pgno <= _btreePagecount(tls, _pBt) { 75160 goto _11 75161 } 75162 75163 _rc = _sqlite3CorruptError(tls, i32(61010)) 75164 goto _getAndInitPage_error 75165 75166 _11: 75167 _rc = _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgno, &_pDbPage, _bReadOnly) 75168 if _rc == 0 { 75169 goto _12 75170 } 75171 75172 goto _getAndInitPage_error 75173 75174 _12: 75175 *_ppPage = (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, _pDbPage))) 75176 if int32((*_ppPage).X0) != i32(0) { 75177 goto _13 75178 } 75179 75180 _btreePageFromDbPage(tls, _pDbPage, _pgno, _pBt) 75181 _rc = _btreeInitPage(tls, *_ppPage) 75182 if _rc == i32(0) { 75183 goto _14 75184 } 75185 75186 _releasePage(tls, *_ppPage) 75187 goto _getAndInitPage_error 75188 75189 _14: 75190 _13: 75191 func() int32 { 75192 if ((*_ppPage).X4) == _pgno { 75193 return i32(0) 75194 } 75195 return func() int32 { 75196 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61026), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(77712))) 75197 crt.X__builtin_abort(tls) 75198 return i32(0) 75199 }() 75200 }() 75201 func() int32 { 75202 if ((*_ppPage).X19) == (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _pDbPage))) { 75203 return i32(0) 75204 } 75205 return func() int32 { 75206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61027), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(77736))) 75207 crt.X__builtin_abort(tls) 75208 return i32(0) 75209 }() 75210 }() 75211 if _pCur == nil || int32((*_ppPage).X14) >= i32(1) && int32((*_ppPage).X2) == int32(_pCur.X15) { 75212 goto _21 75213 } 75214 75215 _rc = _sqlite3CorruptError(tls, i32(61032)) 75216 _releasePage(tls, *_ppPage) 75217 goto _getAndInitPage_error 75218 75219 _21: 75220 r0 = i32(0) 75221 return 75222 75223 _getAndInitPage_error: 75224 if _pCur == nil { 75225 goto _22 75226 } 75227 75228 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) -= 1 75229 _22: 75230 func() int32 { 75231 if (_pgno != uint32(i32(0))) || (_rc == i32(11)) { 75232 return i32(0) 75233 } 75234 return func() int32 { 75235 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61041), unsafe.Pointer((*int8)(unsafe.Pointer(&_getAndInitPageØ00__func__Ø000))), unsafe.Pointer(str(77784))) 75236 crt.X__builtin_abort(tls) 75237 return i32(0) 75238 }() 75239 }() 75240 r0 = _rc 75241 return 75242 75243 } 75244 75245 var _getAndInitPageØ00__func__Ø000 [15]int8 // - 75246 75247 func init() { 75248 crt.Xstrncpy(nil, &_getAndInitPageØ00__func__Ø000[0], str(77816), 15) 75249 } 75250 75251 func _moveToLeftmost(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63950:1 75252 var _pgno uint32 // sqlite3.c:63951:8 75253 _ = _pgno 75254 var _rc int32 // sqlite3.c:63952:7 75255 _ = _rc 75256 var _pPage *XMemPage // sqlite3.c:63953:11 75257 _ = _pPage 75258 _rc = i32(0) 75259 func() int32 { 75260 if _cursorOwnsBtShared(tls, _pCur) != 0 { 75261 return i32(0) 75262 } 75263 return func() int32 { 75264 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63955), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToLeftmostØ00__func__Ø000))), unsafe.Pointer(str(76036))) 75265 crt.X__builtin_abort(tls) 75266 return i32(0) 75267 }() 75268 }() 75269 func() int32 { 75270 if int32(_pCur.X12) == i32(1) { 75271 return i32(0) 75272 } 75273 return func() int32 { 75274 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63956), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToLeftmostØ00__func__Ø000))), unsafe.Pointer(str(10500))) 75275 crt.X__builtin_abort(tls) 75276 return i32(0) 75277 }() 75278 }() 75279 _4: 75280 if _rc != i32(0) || (store7992286(&_pPage, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X5) != 0 { 75281 goto _5 75282 } 75283 75284 func() int32 { 75285 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32(_pPage.X14) { 75286 return i32(0) 75287 } 75288 return func() int32 { 75289 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63958), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToLeftmostØ00__func__Ø000))), unsafe.Pointer(str(10820))) 75290 crt.X__builtin_abort(tls) 75291 return i32(0) 75292 }() 75293 }() 75294 _pgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))))))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))))))))) + 1*uintptr(i32(1)))))))))))))) 75295 _rc = _moveToChild(tls, _pCur, _pgno) 75296 goto _4 75297 75298 _5: 75299 r0 = _rc 75300 return 75301 75302 } 75303 75304 var _moveToLeftmostØ00__func__Ø000 [15]int8 // - 75305 75306 func init() { 75307 crt.Xstrncpy(nil, &_moveToLeftmostØ00__func__Ø000[0], str(77832), 15) 75308 } 75309 75310 func _moveToParent(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:63830:1 75311 func() int32 { 75312 if _cursorOwnsBtShared(tls, _pCur) != 0 { 75313 return i32(0) 75314 } 75315 return func() int32 { 75316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63831), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToParentØ00__func__Ø000))), unsafe.Pointer(str(76036))) 75317 crt.X__builtin_abort(tls) 75318 return i32(0) 75319 }() 75320 }() 75321 func() int32 { 75322 if int32(_pCur.X12) == i32(1) { 75323 return i32(0) 75324 } 75325 return func() int32 { 75326 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63832), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToParentØ00__func__Ø000))), unsafe.Pointer(str(10500))) 75327 crt.X__builtin_abort(tls) 75328 return i32(0) 75329 }() 75330 }() 75331 func() int32 { 75332 if int32(_pCur.X14) > i32(0) { 75333 return i32(0) 75334 } 75335 return func() int32 { 75336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63833), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToParentØ00__func__Ø000))), unsafe.Pointer(str(77848))) 75337 crt.X__builtin_abort(tls) 75338 return i32(0) 75339 }() 75340 }() 75341 func() int32 { 75342 if (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))) != nil { 75343 return i32(0) 75344 } 75345 return func() int32 { 75346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63834), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToParentØ00__func__Ø000))), unsafe.Pointer(str(77864))) 75347 crt.X__builtin_abort(tls) 75348 return i32(0) 75349 }() 75350 }() 75351 _assertParentIndex(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(int32(_pCur.X14)-i32(1)))), int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(int32(_pCur.X14)-i32(1))))), (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X4) 75352 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 75353 { 75354 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 75355 *p = uint8(int32(*p) & i32(-7)) 75356 sink6915 = *p 75357 } 75358 _releasePageNotNull(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(postInc973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(64 /* X14 */))), int8(-1)))))) 75359 return 75360 75361 } 75362 75363 var _moveToParentØ00__func__Ø000 [13]int8 // - 75364 75365 func init() { 75366 crt.Xstrncpy(nil, &_moveToParentØ00__func__Ø000[0], str(77892), 13) 75367 } 75368 75369 func _assertParentIndex(tls *crt.TLS, _pParent *XMemPage, _iIdx int32, _iChild uint32) { // sqlite3.c:63808:1 75370 if (_sqlite3Config.X6) != i32(0) { 75371 goto _0 75372 } 75373 75374 return 75375 75376 _0: 75377 func() int32 { 75378 if _iIdx <= int32(_pParent.X14) { 75379 return i32(0) 75380 } 75381 return func() int32 { 75382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63811), unsafe.Pointer((*int8)(unsafe.Pointer(&_assertParentIndexØ00__func__Ø000))), unsafe.Pointer(str(77908))) 75383 crt.X__builtin_abort(tls) 75384 return i32(0) 75385 }() 75386 }() 75387 if _iIdx != int32(_pParent.X14) { 75388 goto _3 75389 } 75390 75391 func() int32 { 75392 if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X19))+1*uintptr(int32(_pParent.X6)+i32(8))))) == _iChild { 75393 return i32(0) 75394 } 75395 return func() int32 { 75396 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63813), unsafe.Pointer((*int8)(unsafe.Pointer(&_assertParentIndexØ00__func__Ø000))), unsafe.Pointer(str(77932))) 75397 crt.X__builtin_abort(tls) 75398 return i32(0) 75399 }() 75400 }() 75401 goto _6 75402 75403 _3: 75404 func() int32 { 75405 if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pParent.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pParent.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X21))+1*uintptr(i32(2)*_iIdx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X21))+1*uintptr(i32(2)*_iIdx))))) + 1*uintptr(i32(1)))))))))))))) == _iChild { 75406 return i32(0) 75407 } 75408 return func() int32 { 75409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63815), unsafe.Pointer((*int8)(unsafe.Pointer(&_assertParentIndexØ00__func__Ø000))), unsafe.Pointer(str(77988))) 75410 crt.X__builtin_abort(tls) 75411 return i32(0) 75412 }() 75413 }() 75414 _6: 75415 return 75416 75417 } 75418 75419 var _assertParentIndexØ00__func__Ø000 [18]int8 // - 75420 75421 func init() { 75422 crt.Xstrncpy(nil, &_assertParentIndexØ00__func__Ø000[0], str(78032), 18) 75423 } 75424 75425 func _sqlite3VdbeFindCompare(tls *crt.TLS, _p *XUnpackedRecord) (r0 func(*crt.TLS, int32, unsafe.Pointer, *XUnpackedRecord) int32) { // sqlite3.c:75663:1 75426 var _1_flags int32 // sqlite3.c:75678:9 75427 _ = _1_flags 75428 if (int32((*XKeyInfo)(unsafe.Pointer(_p.X0)).X2) + int32((*XKeyInfo)(unsafe.Pointer(_p.X0)).X3)) > i32(13) { 75429 goto _0 75430 } 75431 75432 _1_flags = int32((*XMem)(unsafe.Pointer(uintptr(_p.X1) + 48*uintptr(i32(0)))).X1) 75433 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer(_p.X0)).X5)) + 1*uintptr(i32(0))))) == 0 { 75434 goto _1 75435 } 75436 75437 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X5 */))) = int8(i32(1)) 75438 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(13 /* X6 */))) = int8(i32(-1)) 75439 goto _2 75440 75441 _1: 75442 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X5 */))) = int8(i32(-1)) 75443 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(13 /* X6 */))) = int8(i32(1)) 75444 _2: 75445 if (_1_flags & i32(4)) == 0 { 75446 goto _3 75447 } 75448 75449 r0 = _vdbeRecordCompareInt 75450 return 75451 75452 _3: 75453 if (_1_flags&i32(25)) != i32(0) || (*(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X0)+uintptr(20 /* X6 */))))) + 4*uintptr(i32(0))))) != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 75454 goto _5 75455 } 75456 75457 func() int32 { 75458 if (_1_flags & i32(2)) != 0 { 75459 return i32(0) 75460 } 75461 return func() int32 { 75462 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75693), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeFindCompareØ00__func__Ø000))), unsafe.Pointer(str(78052))) 75463 crt.X__builtin_abort(tls) 75464 return i32(0) 75465 }() 75466 }() 75467 r0 = _vdbeRecordCompareString 75468 return 75469 75470 _5: 75471 _0: 75472 r0 = _sqlite3VdbeRecordCompare 75473 return 75474 75475 } 75476 75477 func _vdbeRecordCompareInt(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord) (r0 int32) { // sqlite3.c:75508:1 75478 var _aKey *uint8 // sqlite3.c:75512:12 75479 _ = _aKey 75480 var _serial_type int32 // sqlite3.c:75513:7 75481 _ = _serial_type 75482 var _res int32 // sqlite3.c:75514:7 75483 _ = _res 75484 var _y uint32 // sqlite3.c:75515:7 75485 _ = _y 75486 var _x uint64 // sqlite3.c:75516:7 75487 _ = _x 75488 var _v int64 // sqlite3.c:75517:7 75489 _ = _v 75490 var _lhs int64 // sqlite3.c:75518:7 75491 _ = _lhs 75492 _aKey = (*uint8)(unsafe.Pointer(uintptr(_pKey1) + 1*uintptr(int32(*(*uint8)(unsafe.Pointer(_pKey1)))&i32(63)))) 75493 _serial_type = int32(*(*uint8)(unsafe.Pointer(uintptr(_pKey1) + 1*uintptr(i32(1))))) 75494 _vdbeAssertFieldCountWithinLimits(tls, _nKey1, _pKey1, (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0))) 75495 func() int32 { 75496 if (int32(*(*uint8)(unsafe.Pointer(_pKey1))) <= i32(63)) || ((_sqlite3Config.X6) == i32(0)) { 75497 return i32(0) 75498 } 75499 return func() int32 { 75500 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75521), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareIntØ00__func__Ø000))), unsafe.Pointer(str(78068))) 75501 crt.X__builtin_abort(tls) 75502 return i32(0) 75503 }() 75504 }() 75505 switch _serial_type { 75506 case i32(0): 75507 goto _12 75508 case i32(1): 75509 goto _4 75510 case i32(2): 75511 goto _5 75512 case i32(3): 75513 goto _6 75514 case i32(4): 75515 goto _7 75516 case i32(5): 75517 goto _8 75518 case i32(6): 75519 goto _9 75520 case i32(7): 75521 goto _13 75522 case i32(8): 75523 goto _10 75524 case i32(9): 75525 goto _11 75526 default: 75527 goto _14 75528 } 75529 75530 _4: 75531 _lhs = int64(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0)))))) 75532 goto _15 75533 75534 _5: 75535 _lhs = int64((i32(256) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1)))))) 75536 goto _15 75537 75538 _6: 75539 _lhs = int64(((i32(65536) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1))))) << uint(i32(8)))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(2)))))) 75540 goto _15 75541 75542 _7: 75543 _y = (((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(3))))) 75544 _lhs = int64(*(*int32)(unsafe.Pointer(&_y))) 75545 goto _15 75546 75547 _8: 75548 _lhs = int64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(0)))))<<uint(i32(24)))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(1)))))<<uint(i32(16))))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(2)))))<<uint(i32(8))))|uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(3)))))) + (i64(4294967296) * int64((i32(256)*int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0)))))))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1))))))) 75549 goto _15 75550 75551 _9: 75552 _x = uint64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(3)))))) 75553 _x = (_x << uint(i32(32))) | uint64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(0)))))<<uint(i32(24)))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(1)))))<<uint(i32(16))))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(2)))))<<uint(i32(8))))|uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(3)))))) 75554 _lhs = *(*int64)(unsafe.Pointer(&_x)) 75555 goto _15 75556 75557 _10: 75558 _lhs = int64(i32(0)) 75559 goto _15 75560 75561 _11: 75562 _lhs = int64(i32(1)) 75563 goto _15 75564 75565 _12: 75566 _13: 75567 r0 = _sqlite3VdbeRecordCompare(tls, _nKey1, _pKey1, _pPKey2) 75568 return 75569 75570 _14: 75571 r0 = _sqlite3VdbeRecordCompare(tls, _nKey1, _pKey1, _pPKey2) 75572 return 75573 75574 _15: 75575 _v = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1)+48*uintptr(i32(0)))))) + uintptr(0 /* X0 */))))) 75576 if _v <= _lhs { 75577 goto _16 75578 } 75579 75580 _res = int32(_pPKey2.X5) 75581 goto _17 75582 75583 _16: 75584 if _v >= _lhs { 75585 goto _18 75586 } 75587 75588 _res = int32(_pPKey2.X6) 75589 goto _19 75590 75591 _18: 75592 if int32(_pPKey2.X2) <= i32(1) { 75593 goto _20 75594 } 75595 75596 _res = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _pPKey2, i32(1)) 75597 goto _21 75598 75599 _20: 75600 _res = int32(_pPKey2.X3) 75601 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(14 /* X7 */))) = uint8(i32(1)) 75602 _21: 75603 _19: 75604 _17: 75605 func() int32 { 75606 if _vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, _res) != 0 { 75607 return i32(0) 75608 } 75609 return func() int32 { 75610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75592), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareIntØ00__func__Ø000))), unsafe.Pointer(str(78104))) 75611 crt.X__builtin_abort(tls) 75612 return i32(0) 75613 }() 75614 }() 75615 r0 = _res 75616 return 75617 75618 } 75619 75620 func _vdbeAssertFieldCountWithinLimits(tls *crt.TLS, _nKey int32, _pKey unsafe.Pointer, _pKeyInfo *XKeyInfo) { // sqlite3.c:75019:1 75621 var _nField int32 // sqlite3.c:75023:7 75622 _ = _nField 75623 var _szHdr uint32 // sqlite3.c:75024:7 75624 _ = _szHdr 75625 var _idx uint32 // sqlite3.c:75025:7 75626 _ = _idx 75627 var _notUsed uint32 // sqlite3.c:75026:7 75628 _ = _notUsed 75629 var _aKey *uint8 // sqlite3.c:75027:23 75630 _ = _aKey 75631 _nField = i32(0) 75632 _aKey = (*uint8)(unsafe.Pointer(_pKey)) 75633 if (_sqlite3Config.X6) != i32(0) { 75634 goto _0 75635 } 75636 75637 return 75638 75639 _0: 75640 _idx = uint32(uint8(func() int32 { 75641 if int32(*_aKey) < int32(u8(128)) { 75642 return func() int32 { _szHdr = uint32(*_aKey); return i32(1) }() 75643 } 75644 return int32(_sqlite3GetVarint32(tls, _aKey, &_szHdr)) 75645 }())) 75646 func() int32 { 75647 if _nKey >= i32(0) { 75648 return i32(0) 75649 } 75650 return func() int32 { 75651 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75031), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeAssertFieldCountWithinLimitsØ00__func__Ø000))), unsafe.Pointer(str(78156))) 75652 crt.X__builtin_abort(tls) 75653 return i32(0) 75654 }() 75655 }() 75656 func() int32 { 75657 if _szHdr <= uint32(_nKey) { 75658 return i32(0) 75659 } 75660 return func() int32 { 75661 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75032), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeAssertFieldCountWithinLimitsØ00__func__Ø000))), unsafe.Pointer(str(78164))) 75662 crt.X__builtin_abort(tls) 75663 return i32(0) 75664 }() 75665 }() 75666 _7: 75667 if _idx >= _szHdr { 75668 goto _8 75669 } 75670 75671 { 75672 p := &_idx 75673 *p = (*p) + uint32(uint8(func() int32 { 75674 if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx)))))))) < int32(u8(128)) { 75675 return func() int32 { 75676 _notUsed = uint32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx)))))))) 75677 return i32(1) 75678 }() 75679 } 75680 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx))))))), &_notUsed)) 75681 }())) 75682 sink985 = *p 75683 } 75684 _nField += 1 75685 goto _7 75686 75687 _8: 75688 func() int32 { 75689 if _nField <= (int32(_pKeyInfo.X2) + int32(_pKeyInfo.X3)) { 75690 return i32(0) 75691 } 75692 return func() int32 { 75693 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75037), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeAssertFieldCountWithinLimitsØ00__func__Ø000))), unsafe.Pointer(str(78184))) 75694 crt.X__builtin_abort(tls) 75695 return i32(0) 75696 }() 75697 }() 75698 return 75699 75700 } 75701 75702 var _vdbeAssertFieldCountWithinLimitsØ00__func__Ø000 [33]int8 // - 75703 75704 func init() { 75705 crt.Xstrncpy(nil, &_vdbeAssertFieldCountWithinLimitsØ00__func__Ø000[0], str(78232), 33) 75706 } 75707 75708 var _vdbeRecordCompareIntØ00__func__Ø000 [21]int8 // - 75709 75710 func init() { 75711 crt.Xstrncpy(nil, &_vdbeRecordCompareIntØ00__func__Ø000[0], str(78268), 21) 75712 } 75713 75714 func _sqlite3VdbeRecordCompare(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord) (r0 int32) { // sqlite3.c:75491:1 75715 r0 = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _pPKey2, i32(0)) 75716 return 75717 75718 } 75719 75720 func _sqlite3VdbeRecordCompareWithSkip(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord, _bSkip int32) (r0 int32) { // sqlite3.c:75305:1 75721 var _d1 uint32 // sqlite3.c:75310:7 75722 _ = _d1 75723 var _i int32 // sqlite3.c:75311:7 75724 _ = _i 75725 var _szHdr1 uint32 // sqlite3.c:75312:7 75726 _ = _szHdr1 75727 var _idx1 uint32 // sqlite3.c:75313:7 75728 _ = _idx1 75729 var _rc int32 // sqlite3.c:75314:7 75730 _ = _rc 75731 var _pRhs *XMem // sqlite3.c:75315:7 75732 _ = _pRhs 75733 var _pKeyInfo *XKeyInfo // sqlite3.c:75316:11 75734 _ = _pKeyInfo 75735 var _aKey1 *uint8 // sqlite3.c:75317:23 75736 _ = _aKey1 75737 var _mem1 XMem // sqlite3.c:75318:7 75738 _ = _mem1 75739 var _1_s1 uint32 // sqlite3.c:75324:9 75740 _ = _1_s1 75741 var _4_serial_type uint32 // sqlite3.c:75347:9 75742 _ = _4_serial_type 75743 var _9_lhs int64 // sqlite3.c:75361:13 75744 _ = _9_lhs 75745 var _9_rhs int64 // sqlite3.c:75362:13 75746 _ = _9_rhs 75747 var _26_nCmp int32 // sqlite3.c:75420:15 75748 _ = _26_nCmp 75749 var _29_nStr int32 // sqlite3.c:75435:13 75750 _ = _29_nStr 75751 var _34_nCmp int32 // sqlite3.c:75448:15 75752 _ = _34_nCmp 75753 _rc = i32(0) 75754 _pRhs = (*XMem)(unsafe.Pointer(_pPKey2.X1)) 75755 _pKeyInfo = (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)) 75756 _aKey1 = (*uint8)(unsafe.Pointer(_pKey1)) 75757 if _bSkip == 0 { 75758 goto _0 75759 } 75760 75761 _idx1 = uint32(i32(1) + int32(uint8(func() int32 { 75762 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1))))) < int32(u8(128)) { 75763 return func() int32 { 75764 _1_s1 = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1))))) 75765 return i32(1) 75766 }() 75767 } 75768 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(i32(1)))), &_1_s1)) 75769 }()))) 75770 _szHdr1 = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(0))))) 75771 _d1 = _szHdr1 + _sqlite3VdbeSerialTypeLen(tls, _1_s1) 75772 _i = i32(1) 75773 *(*uintptr)(unsafe.Pointer(&_pRhs)) += uintptr(48) 75774 goto _3 75775 75776 _0: 75777 _idx1 = uint32(uint8(func() int32 { 75778 if int32(*_aKey1) < int32(u8(128)) { 75779 return func() int32 { _szHdr1 = uint32(*_aKey1); return i32(1) }() 75780 } 75781 return int32(_sqlite3GetVarint32(tls, _aKey1, &_szHdr1)) 75782 }())) 75783 _d1 = _szHdr1 75784 if _d1 <= uint32(_nKey1) { 75785 goto _6 75786 } 75787 75788 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(11 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75334))) 75789 r0 = i32(0) 75790 return 75791 75792 _6: 75793 _i = i32(0) 75794 _3: 75795 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(24 /* X7 */))) = i32(0) 75796 func() int32 { 75797 if ((int32((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X2) + int32((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X3)) >= int32(_pPKey2.X2)) || ((_sqlite3Config.X6) == i32(0)) { 75798 return i32(0) 75799 } 75800 return func() int32 { 75801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75341), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78292))) 75802 crt.X__builtin_abort(tls) 75803 return i32(0) 75804 }() 75805 }() 75806 func() int32 { 75807 if ((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 75808 return i32(0) 75809 } 75810 return func() int32 { 75811 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75343), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78376))) 75812 crt.X__builtin_abort(tls) 75813 return i32(0) 75814 }() 75815 }() 75816 func() int32 { 75817 if int32((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X2) > i32(0) { 75818 return i32(0) 75819 } 75820 return func() int32 { 75821 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75344), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78408))) 75822 crt.X__builtin_abort(tls) 75823 return i32(0) 75824 }() 75825 }() 75826 func() int32 { 75827 if (_idx1 <= _szHdr1) || ((_sqlite3Config.X6) == i32(0)) { 75828 return i32(0) 75829 } 75830 return func() int32 { 75831 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75345), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78436))) 75832 crt.X__builtin_abort(tls) 75833 return i32(0) 75834 }() 75835 }() 75836 _17: 75837 if (int32(_pRhs.X1) & i32(4)) == 0 { 75838 goto _18 75839 } 75840 75841 _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) 75842 if _4_serial_type < uint32(i32(10)) { 75843 goto _19 75844 } 75845 75846 _rc = i32(1) 75847 goto _20 75848 75849 _19: 75850 if _4_serial_type != uint32(i32(0)) { 75851 goto _21 75852 } 75853 75854 _rc = i32(-1) 75855 goto _22 75856 75857 _21: 75858 if _4_serial_type != uint32(i32(7)) { 75859 goto _23 75860 } 75861 75862 _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))), _4_serial_type, &_mem1) 75863 _rc = -_sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */)))))) 75864 goto _24 75865 75866 _23: 75867 _9_lhs = _vdbeRecordDecodeInt(tls, _4_serial_type, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1)))) 75868 _9_rhs = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */))))) 75869 if _9_lhs >= _9_rhs { 75870 goto _25 75871 } 75872 75873 _rc = i32(-1) 75874 goto _26 75875 75876 _25: 75877 if _9_lhs <= _9_rhs { 75878 goto _27 75879 } 75880 75881 _rc = i32(1) 75882 _27: 75883 _26: 75884 _24: 75885 _22: 75886 _20: 75887 goto _28 75888 75889 _18: 75890 if (int32(_pRhs.X1) & i32(8)) == 0 { 75891 goto _29 75892 } 75893 75894 _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) 75895 if _4_serial_type < uint32(i32(10)) { 75896 goto _30 75897 } 75898 75899 _rc = i32(1) 75900 goto _31 75901 75902 _30: 75903 if _4_serial_type != uint32(i32(0)) { 75904 goto _32 75905 } 75906 75907 _rc = i32(-1) 75908 goto _33 75909 75910 _32: 75911 _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))), _4_serial_type, &_mem1) 75912 if _4_serial_type != uint32(i32(7)) { 75913 goto _34 75914 } 75915 75916 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */)))))) >= (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) { 75917 goto _35 75918 } 75919 75920 _rc = i32(-1) 75921 goto _36 75922 75923 _35: 75924 if (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */)))))) <= (*(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) { 75925 goto _37 75926 } 75927 75928 _rc = i32(1) 75929 _37: 75930 _36: 75931 goto _38 75932 75933 _34: 75934 _rc = _sqlite3IntFloatCompare(tls, *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(0 /* X0 */))))), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) 75935 _38: 75936 _33: 75937 _31: 75938 goto _39 75939 75940 _29: 75941 if (int32(_pRhs.X1) & i32(2)) == 0 { 75942 goto _40 75943 } 75944 75945 func() int32 { 75946 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) < int32(u8(128)) { 75947 return func() int32 { 75948 _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) 75949 return i32(1) 75950 }() 75951 } 75952 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_idx1))), &_4_serial_type)) 75953 }() 75954 if _4_serial_type >= uint32(i32(12)) { 75955 goto _43 75956 } 75957 75958 _rc = i32(-1) 75959 goto _44 75960 75961 _43: 75962 if (_4_serial_type & uint32(i32(1))) != 0 { 75963 goto _45 75964 } 75965 75966 _rc = i32(1) 75967 goto _46 75968 75969 _45: 75970 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(12 /* X4 */))) = int32((_4_serial_type - uint32(i32(12))) / uint32(i32(2))) 75971 if (_d1 + uint32(_mem1.X4)) <= uint32(_nKey1) { 75972 goto _47 75973 } 75974 75975 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(11 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75409))) 75976 r0 = i32(0) 75977 return 75978 75979 _47: 75980 if (*(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_i)))) == nil { 75981 goto _49 75982 } 75983 75984 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(10 /* X2 */))) = _pKeyInfo.X1 75985 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(32 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)) 75986 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(8 /* X1 */))) = uint16(i32(2)) 75987 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_d1))))) 75988 _rc = _vdbeCompareMemString(tls, &_mem1, _pRhs, *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_i))), (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2))+uintptr(11 /* X4 */)))) 75989 goto _50 75990 75991 _49: 75992 _26_nCmp = func() int32 { 75993 if (_mem1.X4) < (_pRhs.X4) { 75994 return (_mem1.X4) 75995 } 75996 return (_pRhs.X4) 75997 }() 75998 _rc = crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1)))), (unsafe.Pointer)(_pRhs.X5), uint32(_26_nCmp)) 75999 if _rc != i32(0) { 76000 goto _53 76001 } 76002 76003 _rc = (_mem1.X4) - (_pRhs.X4) 76004 _53: 76005 _50: 76006 _46: 76007 _44: 76008 goto _54 76009 76010 _40: 76011 if (int32(_pRhs.X1) & i32(16)) == 0 { 76012 goto _55 76013 } 76014 76015 func() int32 { 76016 if ((int32(_pRhs.X1) & i32(16384)) == i32(0)) || ((_pRhs.X4) == i32(0)) { 76017 return i32(0) 76018 } 76019 return func() int32 { 76020 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75429), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78464))) 76021 crt.X__builtin_abort(tls) 76022 return i32(0) 76023 }() 76024 }() 76025 func() int32 { 76026 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) < int32(u8(128)) { 76027 return func() int32 { 76028 _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) 76029 return i32(1) 76030 }() 76031 } 76032 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_idx1))), &_4_serial_type)) 76033 }() 76034 if _4_serial_type >= uint32(i32(12)) && (_4_serial_type&uint32(i32(1))) == 0 { 76035 goto _62 76036 } 76037 76038 _rc = i32(-1) 76039 goto _63 76040 76041 _62: 76042 _29_nStr = int32((_4_serial_type - uint32(i32(12))) / uint32(i32(2))) 76043 if (_d1 + uint32(_29_nStr)) <= uint32(_nKey1) { 76044 goto _64 76045 } 76046 76047 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(11 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75439))) 76048 r0 = i32(0) 76049 return 76050 76051 _64: 76052 if (int32(_pRhs.X1) & i32(16384)) == 0 { 76053 goto _66 76054 } 76055 76056 if _isAllZero(tls, (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))))), _29_nStr) != 0 { 76057 goto _67 76058 } 76059 76060 _rc = i32(1) 76061 goto _68 76062 76063 _67: 76064 _rc = _29_nStr - (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRhs)) + uintptr(0 /* X0 */)))))) 76065 _68: 76066 goto _69 76067 76068 _66: 76069 _34_nCmp = func() int32 { 76070 if _29_nStr < (_pRhs.X4) { 76071 return _29_nStr 76072 } 76073 return (_pRhs.X4) 76074 }() 76075 _rc = crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1)))), (unsafe.Pointer)(_pRhs.X5), uint32(_34_nCmp)) 76076 if _rc != i32(0) { 76077 goto _72 76078 } 76079 76080 _rc = _29_nStr - (_pRhs.X4) 76081 _72: 76082 _69: 76083 _63: 76084 goto _73 76085 76086 _55: 76087 _4_serial_type = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(_idx1)))) 76088 _rc = bool2int(_4_serial_type != uint32(i32(0))) 76089 _73: 76090 _54: 76091 _39: 76092 _28: 76093 if _rc == i32(0) { 76094 goto _74 76095 } 76096 76097 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo.X5)) + 1*uintptr(_i)))) == 0 { 76098 goto _75 76099 } 76100 76101 _rc = -_rc 76102 _75: 76103 func() int32 { 76104 if _vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, _rc) != 0 { 76105 return i32(0) 76106 } 76107 return func() int32 { 76108 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75465), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78508))) 76109 crt.X__builtin_abort(tls) 76110 return i32(0) 76111 }() 76112 }() 76113 func() int32 { 76114 if (_mem1.X7) == i32(0) { 76115 return i32(0) 76116 } 76117 return func() int32 { 76118 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75466), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78560))) 76119 crt.X__builtin_abort(tls) 76120 return i32(0) 76121 }() 76122 }() 76123 r0 = _rc 76124 return 76125 76126 _74: 76127 _i += 1 76128 *(*uintptr)(unsafe.Pointer(&_pRhs)) += uintptr(48) 76129 { 76130 p := &_d1 76131 *p = (*p) + _sqlite3VdbeSerialTypeLen(tls, _4_serial_type) 76132 sink985 = *p 76133 } 76134 { 76135 p := &_idx1 76136 *p = (*p) + uint32(_sqlite3VarintLen(tls, uint64(_4_serial_type))) 76137 sink985 = *p 76138 } 76139 if ((_idx1 < _szHdr1) && (_i < int32(_pPKey2.X2))) && (_d1 <= uint32(_nKey1)) { 76140 goto _17 76141 } 76142 76143 func() int32 { 76144 if (_mem1.X7) == i32(0) { 76145 return i32(0) 76146 } 76147 return func() int32 { 76148 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75479), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78560))) 76149 crt.X__builtin_abort(tls) 76150 return i32(0) 76151 }() 76152 }() 76153 func() int32 { 76154 if (((_sqlite3Config.X6) == i32(0)) || _vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, int32(_pPKey2.X3)) != 0) || (((*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)).X17) != 0) { 76155 return i32(0) 76156 } 76157 return func() int32 { 76158 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75484), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000))), unsafe.Pointer(str(78580))) 76159 crt.X__builtin_abort(tls) 76160 return i32(0) 76161 }() 76162 }() 76163 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(14 /* X7 */))) = uint8(i32(1)) 76164 r0 = int32(_pPKey2.X3) 76165 return 76166 76167 } 76168 76169 func _sqlite3VdbeSerialTypeLen(tls *crt.TLS, _serial_type uint32) (r0 uint32) { // sqlite3.c:74578:1 76170 if _serial_type < uint32(i32(128)) { 76171 goto _0 76172 } 76173 76174 r0 = (_serial_type - uint32(i32(12))) / uint32(i32(2)) 76175 return 76176 76177 _0: 76178 func() int32 { 76179 if (_serial_type < uint32(i32(12))) || (uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type)))) == ((_serial_type - uint32(i32(12))) / uint32(i32(2)))) { 76180 return i32(0) 76181 } 76182 return func() int32 { 76183 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74582), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSerialTypeLenØ00__func__Ø000))), unsafe.Pointer(str(78692))) 76184 crt.X__builtin_abort(tls) 76185 return i32(0) 76186 }() 76187 }() 76188 r0 = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type)))) 76189 return 76190 76191 } 76192 76193 var _sqlite3SmallTypeSizes [128]uint8 // sqlite3.c:74558:17 76194 76195 func init() { 76196 _sqlite3SmallTypeSizes = [128]uint8{0, 1, 2, 3, 4, 6, 8, 8, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, 57} 76197 } 76198 76199 var _sqlite3VdbeSerialTypeLenØ00__func__Ø000 [25]int8 // - 76200 76201 func init() { 76202 crt.Xstrncpy(nil, &_sqlite3VdbeSerialTypeLenØ00__func__Ø000[0], str(78768), 25) 76203 } 76204 76205 var _sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000 [33]int8 // - 76206 76207 func init() { 76208 crt.Xstrncpy(nil, &_sqlite3VdbeRecordCompareWithSkipØ00__func__Ø000[0], str(78796), 33) 76209 } 76210 76211 func _vdbeRecordDecodeInt(tls *crt.TLS, _serial_type uint32, _aKey *uint8) (r0 int64) { // sqlite3.c:75250:1 76212 var _y uint32 // sqlite3.c:75251:7 76213 _ = _y 76214 var _4_x uint64 // sqlite3.c:75274:11 76215 _ = _4_x 76216 func() int32 { 76217 if ((_sqlite3Config.X6) == i32(0)) || (((_serial_type >= uint32(i32(1))) && (_serial_type <= uint32(i32(9)))) && (_serial_type != uint32(i32(7)))) { 76218 return i32(0) 76219 } 76220 return func() int32 { 76221 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75252), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordDecodeIntØ00__func__Ø000))), unsafe.Pointer(str(78832))) 76222 crt.X__builtin_abort(tls) 76223 return i32(0) 76224 }() 76225 }() 76226 switch _serial_type { 76227 case u32(0): 76228 goto _6 76229 case u32(1): 76230 goto _7 76231 case u32(2): 76232 goto _8 76233 case u32(3): 76234 goto _9 76235 case u32(4): 76236 goto _10 76237 case u32(5): 76238 goto _11 76239 case u32(6): 76240 goto _12 76241 default: 76242 goto _13 76243 } 76244 76245 _6: 76246 _7: 76247 r0 = int64(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0)))))) 76248 return 76249 76250 _8: 76251 r0 = int64((i32(256) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1)))))) 76252 return 76253 76254 _9: 76255 r0 = int64(((i32(65536) * int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1))))) << uint(i32(8)))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(2)))))) 76256 return 76257 76258 _10: 76259 _y = (((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(3))))) 76260 r0 = int64(*(*int32)(unsafe.Pointer(&_y))) 76261 return 76262 76263 _11: 76264 r0 = int64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(0)))))<<uint(i32(24)))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(1)))))<<uint(i32(16))))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(2)))))<<uint(i32(8))))|uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)))))))))) + 1*uintptr(i32(3)))))) + (i64(4294967296) * int64((i32(256)*int32(int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0)))))))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1))))))) 76265 return 76266 76267 _12: 76268 _4_x = uint64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(0))))) << uint(i32(24))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(1)))))<<uint(i32(16)))) | uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(2)))))<<uint(i32(8)))) | uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey)) + 1*uintptr(i32(3)))))) 76269 _4_x = (_4_x << uint(i32(32))) | uint64((((uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(0)))))<<uint(i32(24)))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(1)))))<<uint(i32(16))))|uint32(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(2)))))<<uint(i32(8))))|uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))))) + 1*uintptr(i32(3)))))) 76270 r0 = *(*int64)(unsafe.Pointer(&_4_x)) 76271 return 76272 76273 _13: 76274 r0 = int64(_serial_type - uint32(i32(8))) 76275 return 76276 76277 } 76278 76279 var _vdbeRecordDecodeIntØ00__func__Ø000 [20]int8 // - 76280 76281 func init() { 76282 crt.Xstrncpy(nil, &_vdbeRecordDecodeIntØ00__func__Ø000[0], str(78900), 20) 76283 } 76284 76285 func _vdbeRecordCompareDebug(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord, _desiredResult int32) (r0 int32) { // sqlite3.c:74914:1 76286 var _d1 uint32 // sqlite3.c:74919:7 76287 _ = _d1 76288 var _idx1 uint32 // sqlite3.c:74920:7 76289 _ = _idx1 76290 var _szHdr1 uint32 // sqlite3.c:74921:7 76291 _ = _szHdr1 76292 var _i int32 // sqlite3.c:74922:7 76293 _ = _i 76294 var _rc int32 // sqlite3.c:74923:7 76295 _ = _rc 76296 var _aKey1 *uint8 // sqlite3.c:74924:23 76297 _ = _aKey1 76298 var _pKeyInfo *XKeyInfo // sqlite3.c:74925:11 76299 _ = _pKeyInfo 76300 var _mem1 XMem // sqlite3.c:74926:7 76301 _ = _mem1 76302 var _1_serial_type1 uint32 // sqlite3.c:74952:9 76303 _ = _1_serial_type1 76304 _i = i32(0) 76305 _rc = i32(0) 76306 _aKey1 = (*uint8)(unsafe.Pointer(_pKey1)) 76307 _pKeyInfo = (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)) 76308 if (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 76309 goto _0 76310 } 76311 76312 r0 = i32(1) 76313 return 76314 76315 _0: 76316 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(10 /* X2 */))) = _pKeyInfo.X1 76317 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(32 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)) 76318 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem1)) + uintptr(24 /* X7 */))) = i32(0) 76319 _idx1 = uint32(uint8(func() int32 { 76320 if int32(*_aKey1) < int32(u8(128)) { 76321 return func() int32 { _szHdr1 = uint32(*_aKey1); return i32(1) }() 76322 } 76323 return int32(_sqlite3GetVarint32(tls, _aKey1, &_szHdr1)) 76324 }())) 76325 if _szHdr1 <= uint32(i32(98307)) { 76326 goto _3 76327 } 76328 76329 r0 = i32(11) 76330 return 76331 76332 _3: 76333 _d1 = _szHdr1 76334 func() int32 { 76335 if ((int32(_pKeyInfo.X2) + int32(_pKeyInfo.X3)) >= int32(_pPKey2.X2)) || ((_sqlite3Config.X6) == i32(0)) { 76336 return i32(0) 76337 } 76338 return func() int32 { 76339 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74947), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareDebugØ00__func__Ø000))), unsafe.Pointer(str(78920))) 76340 crt.X__builtin_abort(tls) 76341 return i32(0) 76342 }() 76343 }() 76344 func() int32 { 76345 if (_pKeyInfo.X5) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 76346 return i32(0) 76347 } 76348 return func() int32 { 76349 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74948), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareDebugØ00__func__Ø000))), unsafe.Pointer(str(39864))) 76350 crt.X__builtin_abort(tls) 76351 return i32(0) 76352 }() 76353 }() 76354 func() int32 { 76355 if int32(_pKeyInfo.X2) > i32(0) { 76356 return i32(0) 76357 } 76358 return func() int32 { 76359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74949), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareDebugØ00__func__Ø000))), unsafe.Pointer(str(78988))) 76360 crt.X__builtin_abort(tls) 76361 return i32(0) 76362 }() 76363 }() 76364 func() int32 { 76365 if (_idx1 <= _szHdr1) || ((_sqlite3Config.X6) == i32(0)) { 76366 return i32(0) 76367 } 76368 return func() int32 { 76369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74950), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareDebugØ00__func__Ø000))), unsafe.Pointer(str(78436))) 76370 crt.X__builtin_abort(tls) 76371 return i32(0) 76372 }() 76373 }() 76374 _14: 76375 { 76376 p := &_idx1 76377 *p = (*p) + uint32(uint8(func() int32 { 76378 if int32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey1)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx1)))))))) < int32(u8(128)) { 76379 return func() int32 { 76380 _1_serial_type1 = uint32(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey1)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx1)))))))) 76381 return i32(1) 76382 }() 76383 } 76384 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_aKey1))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_idx1))))))), &_1_serial_type1)) 76385 }())) 76386 sink985 = *p 76387 } 76388 if ((_d1+_1_serial_type1)+uint32(i32(2))) <= uint32(_nKey1) || (_d1+_sqlite3VdbeSerialTypeLen(tls, _1_serial_type1)) <= uint32(_nKey1) { 76389 goto _18 76390 } 76391 76392 goto _19 76393 76394 _18: 76395 { 76396 p := &_d1 76397 *p = (*p) + _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_d1))), _1_serial_type1, &_mem1) 76398 sink985 = *p 76399 } 76400 _rc = _sqlite3MemCompare(tls, &_mem1, (*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1)+48*uintptr(_i))), *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_i)))) 76401 if _rc == i32(0) { 76402 goto _20 76403 } 76404 76405 func() int32 { 76406 if (_mem1.X7) == i32(0) { 76407 return i32(0) 76408 } 76409 return func() int32 { 76410 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74977), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareDebugØ00__func__Ø000))), unsafe.Pointer(str(78560))) 76411 crt.X__builtin_abort(tls) 76412 return i32(0) 76413 }() 76414 }() 76415 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo.X5)) + 1*uintptr(_i)))) == 0 { 76416 goto _23 76417 } 76418 76419 _rc = -_rc 76420 _23: 76421 goto _debugCompareEnd 76422 76423 _20: 76424 _i += 1 76425 if (_idx1 < _szHdr1) && (_i < int32(_pPKey2.X2)) { 76426 goto _14 76427 } 76428 76429 _19: 76430 func() int32 { 76431 if (_mem1.X7) == i32(0) { 76432 return i32(0) 76433 } 76434 return func() int32 { 76435 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74990), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareDebugØ00__func__Ø000))), unsafe.Pointer(str(78560))) 76436 crt.X__builtin_abort(tls) 76437 return i32(0) 76438 }() 76439 }() 76440 _rc = int32(_pPKey2.X3) 76441 _debugCompareEnd: 76442 if _desiredResult != i32(0) || _rc != i32(0) { 76443 goto _28 76444 } 76445 76446 r0 = i32(1) 76447 return 76448 76449 _28: 76450 if _desiredResult >= i32(0) || _rc >= i32(0) { 76451 goto _30 76452 } 76453 76454 r0 = i32(1) 76455 return 76456 76457 _30: 76458 if _desiredResult <= i32(0) || _rc <= i32(0) { 76459 goto _32 76460 } 76461 76462 r0 = i32(1) 76463 return 76464 76465 _32: 76466 if (_sqlite3Config.X6) != i32(0) { 76467 goto _33 76468 } 76469 76470 r0 = i32(1) 76471 return 76472 76473 _33: 76474 if ((*Xsqlite3)(unsafe.Pointer(_pKeyInfo.X4)).X17) == 0 { 76475 goto _34 76476 } 76477 76478 r0 = i32(1) 76479 return 76480 76481 _34: 76482 r0 = i32(0) 76483 return 76484 76485 } 76486 76487 var _vdbeRecordCompareDebugØ00__func__Ø000 [23]int8 // - 76488 76489 func init() { 76490 crt.Xstrncpy(nil, &_vdbeRecordCompareDebugØ00__func__Ø000[0], str(79008), 23) 76491 } 76492 76493 func _sqlite3VarintLen(tls *crt.TLS, _v uint64) (r0 int32) { // sqlite3.c:28742:1 76494 var _i int32 // sqlite3.c:28743:7 76495 _ = _i 76496 _i = i32(1) 76497 _0: 76498 if store992(func() (*uint64, uint64) { p := &_v; return p, ((*p) >> uint(i32(7))) }()) == uint64(i32(0)) { 76499 goto _3 76500 } 76501 76502 func() int32 { 76503 if _i < i32(10) { 76504 return i32(0) 76505 } 76506 return func() int32 { 76507 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28744), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VarintLenØ00__func__Ø000))), unsafe.Pointer(str(79032))) 76508 crt.X__builtin_abort(tls) 76509 return i32(0) 76510 }() 76511 }() 76512 _i += 1 76513 goto _0 76514 76515 _3: 76516 r0 = _i 76517 return 76518 76519 } 76520 76521 var _sqlite3VarintLenØ00__func__Ø000 [17]int8 // - 76522 76523 func init() { 76524 crt.Xstrncpy(nil, &_sqlite3VarintLenØ00__func__Ø000[0], str(79040), 17) 76525 } 76526 76527 var _sqlite3VdbeFindCompareØ00__func__Ø000 [23]int8 // - 76528 76529 func init() { 76530 crt.Xstrncpy(nil, &_sqlite3VdbeFindCompareØ00__func__Ø000[0], str(79060), 23) 76531 } 76532 76533 func _vdbeRecordCompareString(tls *crt.TLS, _nKey1 int32, _pKey1 unsafe.Pointer, _pPKey2 *XUnpackedRecord) (r0 int32) { // sqlite3.c:75602:1 76534 var _aKey1 *uint8 // sqlite3.c:75606:12 76535 _ = _aKey1 76536 var _serial_type int32 // sqlite3.c:75607:7 76537 _ = _serial_type 76538 var _res int32 // sqlite3.c:75608:7 76539 _ = _res 76540 var _3_nCmp int32 // sqlite3.c:75618:9 76541 _ = _3_nCmp 76542 var _3_nStr int32 // sqlite3.c:75619:9 76543 _ = _3_nStr 76544 var _3_szHdr int32 // sqlite3.c:75620:9 76545 _ = _3_szHdr 76546 _aKey1 = (*uint8)(unsafe.Pointer(_pKey1)) 76547 func() int32 { 76548 if (int32((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1)+48*uintptr(i32(0)))).X1) & i32(2)) != 0 { 76549 return i32(0) 76550 } 76551 return func() int32 { 76552 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75610), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareStringØ00__func__Ø000))), unsafe.Pointer(str(79084))) 76553 crt.X__builtin_abort(tls) 76554 return i32(0) 76555 }() 76556 }() 76557 _vdbeAssertFieldCountWithinLimits(tls, _nKey1, _pKey1, (*XKeyInfo)(unsafe.Pointer(_pPKey2.X0))) 76558 func() int32 { 76559 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1))))) < int32(u8(128)) { 76560 return func() int32 { 76561 _serial_type = int32(uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(1)))))) 76562 return i32(1) 76563 }() 76564 } 76565 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(i32(1)))), (*uint32)(unsafe.Pointer(&_serial_type)))) 76566 }() 76567 if _serial_type >= i32(12) { 76568 goto _4 76569 } 76570 76571 _res = int32(_pPKey2.X5) 76572 goto _5 76573 76574 _4: 76575 if (_serial_type & i32(1)) != 0 { 76576 goto _6 76577 } 76578 76579 _res = int32(_pPKey2.X6) 76580 goto _7 76581 76582 _6: 76583 _3_szHdr = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1)) + 1*uintptr(i32(0))))) 76584 _3_nStr = (_serial_type - i32(12)) / i32(2) 76585 if (_3_szHdr + _3_nStr) <= _nKey1 { 76586 goto _8 76587 } 76588 76589 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(11 /* X4 */))) = uint8(_sqlite3CorruptError(tls, i32(75624))) 76590 r0 = i32(0) 76591 return 76592 76593 _8: 76594 _3_nCmp = func() int32 { 76595 if ((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1) + 48*uintptr(i32(0)))).X4) < _3_nStr { 76596 return ((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1) + 48*uintptr(i32(0)))).X4) 76597 } 76598 return _3_nStr 76599 }() 76600 _res = crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aKey1))+1*uintptr(_3_szHdr)))), (unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1)+48*uintptr(i32(0)))).X5), uint32(_3_nCmp)) 76601 if _res != i32(0) { 76602 goto _11 76603 } 76604 76605 _res = _3_nStr - ((*XMem)(unsafe.Pointer(uintptr(_pPKey2.X1) + 48*uintptr(i32(0)))).X4) 76606 if _res != i32(0) { 76607 goto _12 76608 } 76609 76610 if int32(_pPKey2.X2) <= i32(1) { 76611 goto _13 76612 } 76613 76614 _res = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _pPKey2, i32(1)) 76615 goto _14 76616 76617 _13: 76618 _res = int32(_pPKey2.X3) 76619 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPKey2)) + uintptr(14 /* X7 */))) = uint8(i32(1)) 76620 _14: 76621 goto _15 76622 76623 _12: 76624 if _res <= i32(0) { 76625 goto _16 76626 } 76627 76628 _res = int32(_pPKey2.X6) 76629 goto _17 76630 76631 _16: 76632 _res = int32(_pPKey2.X5) 76633 _17: 76634 _15: 76635 goto _18 76636 76637 _11: 76638 if _res <= i32(0) { 76639 goto _19 76640 } 76641 76642 _res = int32(_pPKey2.X6) 76643 goto _20 76644 76645 _19: 76646 _res = int32(_pPKey2.X5) 76647 _20: 76648 _18: 76649 _7: 76650 _5: 76651 func() int32 { 76652 if (_vdbeRecordCompareDebug(tls, _nKey1, _pKey1, _pPKey2, _res) != 0 || ((_sqlite3Config.X6) == i32(0))) || (((*Xsqlite3)(unsafe.Pointer((*XKeyInfo)(unsafe.Pointer(_pPKey2.X0)).X4)).X17) != 0) { 76653 return i32(0) 76654 } 76655 return func() int32 { 76656 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75651), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeRecordCompareStringØ00__func__Ø000))), unsafe.Pointer(str(79116))) 76657 crt.X__builtin_abort(tls) 76658 return i32(0) 76659 }() 76660 }() 76661 r0 = _res 76662 return 76663 76664 } 76665 76666 var _vdbeRecordCompareStringØ00__func__Ø000 [24]int8 // - 76667 76668 func init() { 76669 crt.Xstrncpy(nil, &_vdbeRecordCompareStringØ00__func__Ø000[0], str(79220), 24) 76670 } 76671 76672 func _moveToRoot(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63867:1 76673 var _pRoot *XMemPage // sqlite3.c:63868:11 76674 _ = _pRoot 76675 var _rc int32 // sqlite3.c:63869:7 76676 _ = _rc 76677 var _11_subpage uint32 // sqlite3.c:63932:10 76678 _ = _11_subpage 76679 _rc = i32(0) 76680 func() int32 { 76681 if _cursorOwnsBtShared(tls, _pCur) != 0 { 76682 return i32(0) 76683 } 76684 return func() int32 { 76685 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63871), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRootØ00__func__Ø000))), unsafe.Pointer(str(76036))) 76686 crt.X__builtin_abort(tls) 76687 return i32(0) 76688 }() 76689 }() 76690 i32(0) 76691 i32(0) 76692 i32(0) 76693 if int32(_pCur.X12) < i32(3) { 76694 goto _2 76695 } 76696 76697 if int32(_pCur.X12) != i32(4) { 76698 goto _3 76699 } 76700 76701 func() int32 { 76702 if (_pCur.X9) != i32(0) { 76703 return i32(0) 76704 } 76705 return func() int32 { 76706 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63877), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRootØ00__func__Ø000))), unsafe.Pointer(str(79244))) 76707 crt.X__builtin_abort(tls) 76708 return i32(0) 76709 }() 76710 }() 76711 r0 = _pCur.X9 76712 return 76713 76714 _3: 76715 _sqlite3BtreeClearCursor(tls, _pCur) 76716 _2: 76717 if int32(_pCur.X14) < i32(0) { 76718 goto _6 76719 } 76720 76721 if (_pCur.X14) == 0 { 76722 goto _7 76723 } 76724 76725 _8: 76726 func() int32 { 76727 if (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))) != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 76728 return i32(0) 76729 } 76730 return func() int32 { 76731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63886), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRootØ00__func__Ø000))), unsafe.Pointer(str(79272))) 76732 crt.X__builtin_abort(tls) 76733 return i32(0) 76734 }() 76735 }() 76736 _releasePageNotNull(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(postInc973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(64 /* X14 */))), int8(-1)))))) 76737 if (_pCur.X14) != 0 { 76738 goto _8 76739 } 76740 76741 goto _skip_init 76742 76743 _7: 76744 goto _11 76745 76746 _6: 76747 if (_pCur.X7) != uint32(i32(0)) { 76748 goto _12 76749 } 76750 76751 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 76752 r0 = i32(0) 76753 return 76754 76755 _12: 76756 func() int32 { 76757 if int32(_pCur.X14) == i32(-1) { 76758 return i32(0) 76759 } 76760 return func() int32 { 76761 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63895), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRootØ00__func__Ø000))), unsafe.Pointer(str(79304))) 76762 crt.X__builtin_abort(tls) 76763 return i32(0) 76764 }() 76765 }() 76766 _rc = _getAndInitPage(tls, (*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X1)), _pCur.X7, (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */)))))+4*uintptr(i32(0)))), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))), int32(_pCur.X11)) 76767 if _rc == i32(0) { 76768 goto _16 76769 } 76770 76771 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 76772 r0 = _rc 76773 return 76774 76775 _16: 76776 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) = int8(i32(0)) 76777 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(65 /* X15 */))) = (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(i32(0))))).X2 76778 _11: 76779 _pRoot = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(i32(0)))) 76780 func() int32 { 76781 if (_pRoot.X4) == (_pCur.X7) { 76782 return i32(0) 76783 } 76784 return func() int32 { 76785 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63906), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRootØ00__func__Ø000))), unsafe.Pointer(str(79324))) 76786 crt.X__builtin_abort(tls) 76787 return i32(0) 76788 }() 76789 }() 76790 func() int32 { 76791 if (int32(_pRoot.X2) == i32(1)) || (int32(_pRoot.X2) == i32(0)) { 76792 return i32(0) 76793 } 76794 return func() int32 { 76795 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63918), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRootØ00__func__Ø000))), unsafe.Pointer(str(79352))) 76796 crt.X__builtin_abort(tls) 76797 return i32(0) 76798 }() 76799 }() 76800 if int32(_pRoot.X0) != i32(0) && bool2int((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) == int32(_pRoot.X2) { 76801 goto _23 76802 } 76803 76804 r0 = _sqlite3CorruptError(tls, i32(63920)) 76805 return 76806 76807 _23: 76808 _skip_init: 76809 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(i32(0)))) = uint16(i32(0)) 76810 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 76811 { 76812 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 76813 *p = uint8(int32(*p) & i32(-15)) 76814 sink6915 = *p 76815 } 76816 _pRoot = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(i32(0)))) 76817 if int32(_pRoot.X14) <= i32(0) { 76818 goto _24 76819 } 76820 76821 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(1)) 76822 goto _25 76823 76824 _24: 76825 if (_pRoot.X5) != 0 { 76826 goto _26 76827 } 76828 76829 if (_pRoot.X4) == uint32(i32(1)) { 76830 goto _27 76831 } 76832 76833 r0 = _sqlite3CorruptError(tls, i32(63933)) 76834 return 76835 76836 _27: 76837 _11_subpage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot.X19))+1*uintptr(int32(_pRoot.X6)+i32(8))))) 76838 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(1)) 76839 _rc = _moveToChild(tls, _pCur, _11_subpage) 76840 goto _28 76841 76842 _26: 76843 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 76844 _28: 76845 _25: 76846 r0 = _rc 76847 return 76848 76849 } 76850 76851 var _moveToRootØ00__func__Ø000 [11]int8 // - 76852 76853 func init() { 76854 crt.Xstrncpy(nil, &_moveToRootØ00__func__Ø000[0], str(79392), 11) 76855 } 76856 76857 func _sqlite3BtreeCursorHasMoved(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:59791:1 76858 r0 = bool2int(int32(_pCur.X12) != i32(1)) 76859 return 76860 76861 } 76862 76863 func _handleMovedCursor(tls *crt.TLS, _p *XVdbeCursor) (r0 int32) { // sqlite3.c:74406:1 76864 var _isDifferentRow int32 // sqlite3.c:74407:7 76865 _ = _isDifferentRow 76866 var _rc int32 // sqlite3.c:74407:23 76867 _ = _rc 76868 func() int32 { 76869 if int32(_p.X0) == i32(0) { 76870 return i32(0) 76871 } 76872 return func() int32 { 76873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74408), unsafe.Pointer((*int8)(unsafe.Pointer(&_handleMovedCursorØ00__func__Ø000))), unsafe.Pointer(str(75984))) 76874 crt.X__builtin_abort(tls) 76875 return i32(0) 76876 }() 76877 }() 76878 func() int32 { 76879 if (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X14 */))))))) != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 76880 return i32(0) 76881 } 76882 return func() int32 { 76883 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74409), unsafe.Pointer((*int8)(unsafe.Pointer(&_handleMovedCursorØ00__func__Ø000))), unsafe.Pointer(str(79404))) 76884 crt.X__builtin_abort(tls) 76885 return i32(0) 76886 }() 76887 }() 76888 func() int32 { 76889 if _sqlite3BtreeCursorHasMoved(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X14 */)))))))) != 0 { 76890 return i32(0) 76891 } 76892 return func() int32 { 76893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74410), unsafe.Pointer((*int8)(unsafe.Pointer(&_handleMovedCursorØ00__func__Ø000))), unsafe.Pointer(str(79424))) 76894 crt.X__builtin_abort(tls) 76895 return i32(0) 76896 }() 76897 }() 76898 _rc = _sqlite3BtreeCursorRestore(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X14 */))))))), &_isDifferentRow) 76899 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X11 */))) = uint32(i32(0)) 76900 if _isDifferentRow == 0 { 76901 goto _6 76902 } 76903 76904 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(2 /* X2 */))) = uint8(i32(1)) 76905 _6: 76906 r0 = _rc 76907 return 76908 76909 } 76910 76911 var _handleMovedCursorØ00__func__Ø000 [18]int8 // - 76912 76913 func init() { 76914 crt.Xstrncpy(nil, &_handleMovedCursorØ00__func__Ø000[0], str(79468), 18) 76915 } 76916 76917 func _sqlite3BtreeCursorRestore(tls *crt.TLS, _pCur *XBtCursor, _pDifferentRow *int32) (r0 int32) { // sqlite3.c:59808:1 76918 var _rc int32 // sqlite3.c:59809:7 76919 _ = _rc 76920 func() int32 { 76921 if _pCur != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 76922 return i32(0) 76923 } 76924 return func() int32 { 76925 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCursorRestoreØ00__func__Ø000))), unsafe.Pointer(str(79488))) 76926 crt.X__builtin_abort(tls) 76927 return i32(0) 76928 }() 76929 }() 76930 func() int32 { 76931 if int32(_pCur.X12) != i32(1) { 76932 return i32(0) 76933 } 76934 return func() int32 { 76935 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCursorRestoreØ00__func__Ø000))), unsafe.Pointer(str(79496))) 76936 crt.X__builtin_abort(tls) 76937 return i32(0) 76938 }() 76939 }() 76940 _rc = func() int32 { 76941 if int32(_pCur.X12) >= i32(3) { 76942 return _btreeRestoreCursorPosition(tls, _pCur) 76943 } 76944 return i32(0) 76945 }() 76946 if _rc == 0 { 76947 goto _6 76948 } 76949 76950 *_pDifferentRow = i32(1) 76951 r0 = _rc 76952 return 76953 76954 _6: 76955 if int32(_pCur.X12) == i32(1) { 76956 goto _7 76957 } 76958 76959 *_pDifferentRow = i32(1) 76960 goto _8 76961 76962 _7: 76963 func() int32 { 76964 if (_pCur.X9) == i32(0) { 76965 return i32(0) 76966 } 76967 return func() int32 { 76968 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59821), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCursorRestoreØ00__func__Ø000))), unsafe.Pointer(str(79524))) 76969 crt.X__builtin_abort(tls) 76970 return i32(0) 76971 }() 76972 }() 76973 *_pDifferentRow = i32(0) 76974 _8: 76975 r0 = i32(0) 76976 return 76977 76978 } 76979 76980 var _sqlite3BtreeCursorRestoreØ00__func__Ø000 [26]int8 // - 76981 76982 func init() { 76983 crt.Xstrncpy(nil, &_sqlite3BtreeCursorRestoreØ00__func__Ø000[0], str(79544), 26) 76984 } 76985 76986 func _sqlite3BtreeCursorIsValid(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63299:1 76987 r0 = bool2int((_pCur != nil) && (int32(_pCur.X12) == i32(1))) 76988 return 76989 76990 } 76991 76992 func _sqlite3BtreePayloadFetch(tls *crt.TLS, _pCur *XBtCursor, _pAmt *uint32) (r0 unsafe.Pointer) { // sqlite3.c:63768:1 76993 r0 = _fetchPayload(tls, _pCur, _pAmt) 76994 return 76995 76996 } 76997 76998 func _fetchPayload(tls *crt.TLS, _pCur *XBtCursor, _pAmt *uint32) (r0 unsafe.Pointer) { // sqlite3.c:63734:1 76999 var _amt uint32 // sqlite3.c:63738:7 77000 _ = _amt 77001 func() int32 { 77002 if ((_pCur != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) && (int32(_pCur.X14) >= i32(0))) && ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))) != nil) { 77003 return i32(0) 77004 } 77005 return func() int32 { 77006 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63739), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(79572))) 77007 crt.X__builtin_abort(tls) 77008 return i32(0) 77009 }() 77010 }() 77011 func() int32 { 77012 if int32(_pCur.X12) == i32(1) { 77013 return i32(0) 77014 } 77015 return func() int32 { 77016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63740), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(10500))) 77017 crt.X__builtin_abort(tls) 77018 return i32(0) 77019 }() 77020 }() 77021 func() int32 { 77022 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { 77023 return i32(0) 77024 } 77025 return func() int32 { 77026 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63741), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(76064))) 77027 crt.X__builtin_abort(tls) 77028 return i32(0) 77029 }() 77030 }() 77031 func() int32 { 77032 if _cursorOwnsBtShared(tls, _pCur) != 0 { 77033 return i32(0) 77034 } 77035 return func() int32 { 77036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63742), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(76036))) 77037 crt.X__builtin_abort(tls) 77038 return i32(0) 77039 }() 77040 }() 77041 func() int32 { 77042 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) { 77043 return i32(0) 77044 } 77045 return func() int32 { 77046 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63743), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(10712))) 77047 crt.X__builtin_abort(tls) 77048 return i32(0) 77049 }() 77050 }() 77051 func() int32 { 77052 if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X4) > i32(0) { 77053 return i32(0) 77054 } 77055 return func() int32 { 77056 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63744), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(79628))) 77057 crt.X__builtin_abort(tls) 77058 return i32(0) 77059 }() 77060 }() 77061 func() int32 { 77062 if (uintptr(unsafe.Pointer((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X1)) > uintptr(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X19))) || ((_sqlite3Config.X6) == i32(0)) { 77063 return i32(0) 77064 } 77065 return func() int32 { 77066 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63745), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(79648))) 77067 crt.X__builtin_abort(tls) 77068 return i32(0) 77069 }() 77070 }() 77071 func() int32 { 77072 if (uintptr(unsafe.Pointer((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X1)) < uintptr(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X20))) || ((_sqlite3Config.X6) == i32(0)) { 77073 return i32(0) 77074 } 77075 return func() int32 { 77076 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63746), unsafe.Pointer((*int8)(unsafe.Pointer(&_fetchPayloadØ00__func__Ø000))), unsafe.Pointer(str(79716))) 77077 crt.X__builtin_abort(tls) 77078 return i32(0) 77079 }() 77080 }() 77081 _amt = uint32(int32((uintptr(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X20)) - uintptr(unsafe.Pointer((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X1))) / 1)) 77082 if uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X3) >= _amt { 77083 goto _20 77084 } 77085 77086 _amt = uint32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X3) 77087 _20: 77088 *_pAmt = _amt 77089 r0 = (unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X1) 77090 return 77091 77092 } 77093 77094 var _fetchPayloadØ00__func__Ø000 [13]int8 // - 77095 77096 func init() { 77097 crt.Xstrncpy(nil, &_fetchPayloadØ00__func__Ø000[0], str(79788), 13) 77098 } 77099 77100 func _sqlite3VdbeMemFromBtree(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pMem *XMem) (r0 int32) { // sqlite3.c:70589:1 77101 var _zData *int8 // sqlite3.c:70595:8 77102 _ = _zData 77103 var _available uint32 // sqlite3.c:70596:7 77104 _ = _available 77105 var _rc int32 // sqlite3.c:70597:7 77106 _ = _rc 77107 _available = u32(0) 77108 _rc = i32(0) 77109 func() int32 { 77110 if _sqlite3BtreeCursorIsValid(tls, _pCur) != 0 { 77111 return i32(0) 77112 } 77113 return func() int32 { 77114 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70599), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFromBtreeØ00__func__Ø000))), unsafe.Pointer(str(79804))) 77115 crt.X__builtin_abort(tls) 77116 return i32(0) 77117 }() 77118 }() 77119 func() int32 { 77120 if (int32(_pMem.X1) & i32(9312)) == i32(0) { 77121 return i32(0) 77122 } 77123 return func() int32 { 77124 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70600), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFromBtreeØ00__func__Ø000))), unsafe.Pointer(str(79836))) 77125 crt.X__builtin_abort(tls) 77126 return i32(0) 77127 }() 77128 }() 77129 func() int32 { 77130 if (int32(_pMem.X1) & i32(32)) == i32(0) { 77131 return i32(0) 77132 } 77133 return func() int32 { 77134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70604), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFromBtreeØ00__func__Ø000))), unsafe.Pointer(str(6376))) 77135 crt.X__builtin_abort(tls) 77136 return i32(0) 77137 }() 77138 }() 77139 _zData = (*int8)(unsafe.Pointer(_sqlite3BtreePayloadFetch(tls, _pCur, &_available))) 77140 func() int32 { 77141 if _zData != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 77142 return i32(0) 77143 } 77144 return func() int32 { 77145 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70606), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemFromBtreeØ00__func__Ø000))), unsafe.Pointer(str(79860))) 77146 crt.X__builtin_abort(tls) 77147 return i32(0) 77148 }() 77149 }() 77150 if (_offset + _amt) > _available { 77151 goto _8 77152 } 77153 77154 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(16 /* X5 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zData)) + 1*uintptr(_offset))) 77155 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(4112)) 77156 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32(_amt) 77157 goto _9 77158 77159 _8: 77160 _rc = _vdbeMemFromBtreeResize(tls, _pCur, _offset, _amt, _pMem) 77161 _9: 77162 r0 = _rc 77163 return 77164 77165 } 77166 77167 var _sqlite3VdbeMemFromBtreeØ00__func__Ø000 [24]int8 // - 77168 77169 func init() { 77170 crt.Xstrncpy(nil, &_sqlite3VdbeMemFromBtreeØ00__func__Ø000[0], str(79872), 24) 77171 } 77172 77173 func _vdbeMemFromBtreeResize(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pMem *XMem) (r0 int32) { // sqlite3.c:70568:1 77174 var _rc int32 // sqlite3.c:70574:7 77175 _ = _rc 77176 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 77177 if i32(0) != store961(&_rc, _sqlite3VdbeMemClearAndResize(tls, _pMem, int32(_amt+uint32(i32(2))))) { 77178 goto _0 77179 } 77180 77181 _rc = _sqlite3BtreePayload(tls, _pCur, _offset, _amt, (unsafe.Pointer)(_pMem.X5)) 77182 if _rc != i32(0) { 77183 goto _1 77184 } 77185 77186 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_amt))) = int8(i32(0)) 77187 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(_amt+uint32(i32(1))))) = int8(i32(0)) 77188 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(528)) 77189 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(12 /* X4 */))) = int32(_amt) 77190 goto _2 77191 77192 _1: 77193 _sqlite3VdbeMemRelease(tls, _pMem) 77194 _2: 77195 _0: 77196 r0 = _rc 77197 return 77198 77199 } 77200 77201 func _sqlite3VdbeOneByteSerialTypeLen(tls *crt.TLS, _serial_type uint8) (r0 uint8) { // sqlite3.c:74587:1 77202 func() int32 { 77203 if int32(_serial_type) < i32(128) { 77204 return i32(0) 77205 } 77206 return func() int32 { 77207 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74588), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeOneByteSerialTypeLenØ00__func__Ø000))), unsafe.Pointer(str(79896))) 77208 crt.X__builtin_abort(tls) 77209 return i32(0) 77210 }() 77211 }() 77212 r0 = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type))) 77213 return 77214 77215 } 77216 77217 var _sqlite3VdbeOneByteSerialTypeLenØ00__func__Ø000 [32]int8 // - 77218 77219 func init() { 77220 crt.Xstrncpy(nil, &_sqlite3VdbeOneByteSerialTypeLenØ00__func__Ø000[0], str(79912), 32) 77221 } 77222 77223 var _sqlite3VdbeExecØ00aFlagØ004 [2]uint16 // sqlite3.c:80838:24 77224 77225 func init() { 77226 _sqlite3VdbeExecØ00aFlagØ004 = [2]uint16{u16(16), u16(514)} 77227 } 77228 77229 var _sqlite3VdbeExecØ00aZeroØ005 [16]uint8 // sqlite3.c:80870:17 77230 77231 func _sqlite3VdbeSerialType(tls *crt.TLS, _pMem *XMem, _file_format int32, _pLen *uint32) (r0 uint32) { // sqlite3.c:74506:1 77232 var _flags int32 // sqlite3.c:74507:7 77233 _ = _flags 77234 var _n uint32 // sqlite3.c:74508:7 77235 _ = _n 77236 var _2_i int64 // sqlite3.c:74518:9 77237 _ = _2_i 77238 var _2_u uint64 // sqlite3.c:74519:9 77239 _ = _2_u 77240 _flags = int32(_pMem.X1) 77241 func() int32 { 77242 if _pLen != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 77243 return i32(0) 77244 } 77245 return func() int32 { 77246 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74510), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSerialTypeØ00__func__Ø000))), unsafe.Pointer(str(79944))) 77247 crt.X__builtin_abort(tls) 77248 return i32(0) 77249 }() 77250 }() 77251 if (_flags & i32(1)) == 0 { 77252 goto _2 77253 } 77254 77255 *_pLen = uint32(i32(0)) 77256 r0 = uint32(i32(0)) 77257 return 77258 77259 _2: 77260 if (_flags & i32(4)) == 0 { 77261 goto _3 77262 } 77263 77264 _2_i = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))) 77265 if _2_i >= int64(i32(0)) { 77266 goto _4 77267 } 77268 77269 _2_u = uint64(^_2_i) 77270 goto _5 77271 77272 _4: 77273 _2_u = uint64(_2_i) 77274 _5: 77275 if _2_u > uint64(i32(127)) { 77276 goto _6 77277 } 77278 77279 if (_2_i&int64(i32(1))) != _2_i || _file_format < i32(4) { 77280 goto _8 77281 } 77282 77283 *_pLen = uint32(i32(0)) 77284 r0 = uint32(i32(8)) + uint32(_2_u) 77285 return 77286 77287 _8: 77288 *_pLen = uint32(i32(1)) 77289 r0 = uint32(i32(1)) 77290 return 77291 77292 _6: 77293 if _2_u > uint64(i32(32767)) { 77294 goto _10 77295 } 77296 77297 *_pLen = uint32(i32(2)) 77298 r0 = uint32(i32(2)) 77299 return 77300 77301 _10: 77302 if _2_u > uint64(i32(8388607)) { 77303 goto _11 77304 } 77305 77306 *_pLen = uint32(i32(3)) 77307 r0 = uint32(i32(3)) 77308 return 77309 77310 _11: 77311 if _2_u > uint64(i32(2147483647)) { 77312 goto _12 77313 } 77314 77315 *_pLen = uint32(i32(4)) 77316 r0 = uint32(i32(4)) 77317 return 77318 77319 _12: 77320 if _2_u > uint64(i64(140737488355327)) { 77321 goto _13 77322 } 77323 77324 *_pLen = uint32(i32(6)) 77325 r0 = uint32(i32(5)) 77326 return 77327 77328 _13: 77329 *_pLen = uint32(i32(8)) 77330 r0 = uint32(i32(6)) 77331 return 77332 77333 _3: 77334 if (_flags & i32(8)) == 0 { 77335 goto _14 77336 } 77337 77338 *_pLen = uint32(i32(8)) 77339 r0 = uint32(i32(7)) 77340 return 77341 77342 _14: 77343 func() int32 { 77344 if (((*Xsqlite3)(unsafe.Pointer(_pMem.X9)).X17) != 0) || (_flags&i32(18)) != 0 { 77345 return i32(0) 77346 } 77347 return func() int32 { 77348 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74545), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSerialTypeØ00__func__Ø000))), unsafe.Pointer(str(79952))) 77349 crt.X__builtin_abort(tls) 77350 return i32(0) 77351 }() 77352 }() 77353 func() int32 { 77354 if (_pMem.X4) >= i32(0) { 77355 return i32(0) 77356 } 77357 return func() int32 { 77358 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74546), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSerialTypeØ00__func__Ø000))), unsafe.Pointer(str(5604))) 77359 crt.X__builtin_abort(tls) 77360 return i32(0) 77361 }() 77362 }() 77363 _n = uint32(_pMem.X4) 77364 if (_flags & i32(16384)) == 0 { 77365 goto _20 77366 } 77367 77368 { 77369 p := &_n 77370 *p = (*p) + uint32(*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 77371 sink985 = *p 77372 } 77373 _20: 77374 *_pLen = _n 77375 r0 = ((_n * uint32(i32(2))) + uint32(i32(12))) + uint32(bool2int((_flags&i32(2)) != i32(0))) 77376 return 77377 77378 } 77379 77380 var _sqlite3VdbeSerialTypeØ00__func__Ø000 [22]int8 // - 77381 77382 func init() { 77383 crt.Xstrncpy(nil, &_sqlite3VdbeSerialTypeØ00__func__Ø000[0], str(80004), 22) 77384 } 77385 77386 func _sqlite3PutVarint(tls *crt.TLS, _p *uint8, _v uint64) (r0 int32) { // sqlite3.c:28418:1 77387 if _v > uint64(i32(127)) { 77388 goto _0 77389 } 77390 77391 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0)))) = uint8(_v & uint64(i32(127))) 77392 r0 = i32(1) 77393 return 77394 77395 _0: 77396 if _v > uint64(i32(16383)) { 77397 goto _1 77398 } 77399 77400 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(0)))) = uint8(((_v >> uint(i32(7))) & uint64(i32(127))) | uint64(i32(128))) 77401 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(1)))) = uint8(_v & uint64(i32(127))) 77402 r0 = i32(2) 77403 return 77404 77405 _1: 77406 r0 = _putVarint64(tls, _p, _v) 77407 return 77408 77409 } 77410 77411 func _putVarint64(tls *crt.TLS, _p *uint8, _v uint64) (r0 int32) { // sqlite3.c:28394:1 77412 var _i int32 // sqlite3.c:28395:7 77413 _ = _i 77414 var _j int32 // sqlite3.c:28395:10 77415 _ = _j 77416 var _n int32 // sqlite3.c:28395:13 77417 _ = _n 77418 var _buf [10]uint8 // sqlite3.c:28396:6 77419 _ = _buf 77420 if (_v & u64(18374686479671623680)) == 0 { 77421 goto _0 77422 } 77423 77424 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(i32(8)))) = uint8(_v) 77425 { 77426 p := &_v 77427 *p = (*p) >> uint(i32(8)) 77428 sink992 = *p 77429 } 77430 _i = i32(7) 77431 _1: 77432 if _i < i32(0) { 77433 goto _4 77434 } 77435 77436 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(_i))) = uint8((_v & uint64(i32(127))) | uint64(i32(128))) 77437 { 77438 p := &_v 77439 *p = (*p) >> uint(i32(7)) 77440 sink992 = *p 77441 } 77442 _i -= 1 77443 goto _1 77444 77445 _4: 77446 r0 = i32(9) 77447 return 77448 77449 _0: 77450 _n = i32(0) 77451 _5: 77452 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(postInc961(&_n, int32(1))))) = uint8((_v & uint64(i32(127))) | uint64(i32(128))) 77453 { 77454 p := &_v 77455 *p = (*p) >> uint(i32(7)) 77456 sink992 = *p 77457 } 77458 if _v != uint64(i32(0)) { 77459 goto _5 77460 } 77461 77462 { 77463 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(i32(0)))) 77464 *p = uint8(int32(*p) & i32(127)) 77465 sink6915 = *p 77466 } 77467 func() int32 { 77468 if _n <= i32(9) { 77469 return i32(0) 77470 } 77471 return func() int32 { 77472 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(28412), unsafe.Pointer((*int8)(unsafe.Pointer(&_putVarint64Ø00__func__Ø000))), unsafe.Pointer(str(80028))) 77473 crt.X__builtin_abort(tls) 77474 return i32(0) 77475 }() 77476 }() 77477 *func() *int32 { _i = i32(0); return &_j }() = _n - i32(1) 77478 _8: 77479 if _j < i32(0) { 77480 goto _11 77481 } 77482 77483 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 1*uintptr(_i))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_buf)) + 1*uintptr(_j))) 77484 *func() *int32 { _j -= 1; return &_i }() += 1 77485 goto _8 77486 77487 _11: 77488 r0 = _n 77489 return 77490 77491 } 77492 77493 var _putVarint64Ø00__func__Ø000 [12]int8 // - 77494 77495 func init() { 77496 crt.Xstrncpy(nil, &_putVarint64Ø00__func__Ø000[0], str(80036), 12) 77497 } 77498 77499 func _sqlite3VdbeSerialPut(tls *crt.TLS, _buf *uint8, _pMem *XMem, _serial_type uint32) (r0 uint32) { // sqlite3.c:74658:1 77500 var _len uint32 // sqlite3.c:74659:7 77501 _ = _len 77502 var _1_v uint64 // sqlite3.c:74663:9 77503 _ = _1_v 77504 var _1_i uint32 // sqlite3.c:74664:9 77505 _ = _1_i 77506 if _serial_type > uint32(i32(7)) || _serial_type <= uint32(i32(0)) { 77507 goto _1 77508 } 77509 77510 if _serial_type != uint32(i32(7)) { 77511 goto _2 77512 } 77513 77514 i32(0) 77515 crt.Xmemcpy(tls, (unsafe.Pointer)(&_1_v), (unsafe.Pointer)((*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem))+uintptr(0 /* X0 */)))))), u32(8)) 77516 goto _3 77517 77518 _2: 77519 _1_v = uint64(*(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 77520 _3: 77521 _len = store985(&_1_i, uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_serial_type))))) 77522 func() int32 { 77523 if _1_i > uint32(i32(0)) { 77524 return i32(0) 77525 } 77526 return func() int32 { 77527 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74673), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSerialPutØ00__func__Ø000))), unsafe.Pointer(str(13220))) 77528 crt.X__builtin_abort(tls) 77529 return i32(0) 77530 }() 77531 }() 77532 _6: 77533 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_buf)) + 1*uintptr(preInc985(&_1_i, uint32(4294967295))))) = uint8(_1_v & uint64(i32(255))) 77534 { 77535 p := &_1_v 77536 *p = (*p) >> uint(i32(8)) 77537 sink992 = *p 77538 } 77539 if _1_i != 0 { 77540 goto _6 77541 } 77542 77543 r0 = _len 77544 return 77545 77546 _1: 77547 if _serial_type < uint32(i32(12)) { 77548 goto _7 77549 } 77550 77551 func() int32 { 77552 if ((_pMem.X4) + func() int32 { 77553 if (int32(_pMem.X1) & i32(16384)) != 0 { 77554 return (*(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */)))))) 77555 } 77556 return i32(0) 77557 }()) == int32(_sqlite3VdbeSerialTypeLen(tls, _serial_type)) { 77558 return i32(0) 77559 } 77560 return func() int32 { 77561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74683), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSerialPutØ00__func__Ø000))), unsafe.Pointer(str(80048))) 77562 crt.X__builtin_abort(tls) 77563 return i32(0) 77564 }() 77565 }() 77566 _len = uint32(_pMem.X4) 77567 if _len <= uint32(i32(0)) { 77568 goto _12 77569 } 77570 77571 crt.Xmemcpy(tls, (unsafe.Pointer)(_buf), (unsafe.Pointer)(_pMem.X5), _len) 77572 _12: 77573 r0 = _len 77574 return 77575 77576 _7: 77577 r0 = uint32(i32(0)) 77578 return 77579 77580 } 77581 77582 var _sqlite3VdbeSerialPutØ00__func__Ø000 [21]int8 // - 77583 77584 func init() { 77585 crt.Xstrncpy(nil, &_sqlite3VdbeSerialPutØ00__func__Ø000[0], str(80148), 21) 77586 } 77587 77588 func _sqlite3BtreeCount(tls *crt.TLS, _pCur *XBtCursor, _pnEntry *int64) (r0 int32) { // sqlite3.c:67838:1 77589 var _nEntry int64 // sqlite3.c:67839:7 77590 _ = _nEntry 77591 var _rc int32 // sqlite3.c:67840:7 77592 _ = _rc 77593 var _2_iIdx int32 // sqlite3.c:67852:9 77594 _ = _2_iIdx 77595 var _2_pPage *XMemPage // sqlite3.c:67853:13 77596 _ = _2_pPage 77597 _nEntry = i64(0) 77598 if (_pCur.X7) != uint32(i32(0)) { 77599 goto _0 77600 } 77601 77602 *_pnEntry = int64(i32(0)) 77603 r0 = i32(0) 77604 return 77605 77606 _0: 77607 _rc = _moveToRoot(tls, _pCur) 77608 _1: 77609 if _rc != i32(0) { 77610 goto _2 77611 } 77612 77613 _2_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 77614 if (_2_pPage.X5) == 0 && (_2_pPage.X2) != 0 { 77615 goto _4 77616 } 77617 77618 { 77619 p := &_nEntry 77620 *p = (*p) + int64(_2_pPage.X14) 77621 sink967 = *p 77622 } 77623 _4: 77624 if (_2_pPage.X5) == 0 { 77625 goto _5 77626 } 77627 77628 _6: 77629 if int32(_pCur.X14) != i32(0) { 77630 goto _7 77631 } 77632 77633 *_pnEntry = _nEntry 77634 r0 = _moveToRoot(tls, _pCur) 77635 return 77636 77637 _7: 77638 _moveToParent(tls, _pCur) 77639 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) >= int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) { 77640 goto _6 77641 } 77642 77643 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) += 1 77644 _2_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 77645 _5: 77646 _2_iIdx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) 77647 if _2_iIdx != int32(_2_pPage.X14) { 77648 goto _8 77649 } 77650 77651 _rc = _moveToChild(tls, _pCur, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pPage.X19))+1*uintptr(int32(_2_pPage.X6)+i32(8)))))) 77652 goto _9 77653 77654 _8: 77655 _rc = _moveToChild(tls, _pCur, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_2_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_2_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pPage.X21))+1*uintptr(i32(2)*_2_iIdx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pPage.X21))+1*uintptr(i32(2)*_2_iIdx))))) + 1*uintptr(i32(1))))))))))))))) 77656 _9: 77657 goto _1 77658 77659 _2: 77660 r0 = _rc 77661 return 77662 77663 } 77664 77665 func _checkSavepointCount(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:78704:1 77666 var _n int32 // sqlite3.c:78705:7 77667 _ = _n 77668 var _p *XSavepoint // sqlite3.c:78706:13 77669 _ = _p 77670 _n = i32(0) 77671 _p = (*XSavepoint)(unsafe.Pointer(_db.X73)) 77672 _0: 77673 if _p == nil { 77674 goto _3 77675 } 77676 77677 _n += 1 77678 _p = (*XSavepoint)(unsafe.Pointer(_p.X3)) 77679 goto _0 77680 77681 _3: 77682 func() int32 { 77683 if _n == ((_db.X75) + int32(_db.X23)) { 77684 return i32(0) 77685 } 77686 return func() int32 { 77687 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78708), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkSavepointCountØ00__func__Ø000))), unsafe.Pointer(str(80172))) 77688 crt.X__builtin_abort(tls) 77689 return i32(0) 77690 }() 77691 }() 77692 r0 = i32(1) 77693 return 77694 77695 } 77696 77697 var _checkSavepointCountØ00__func__Ø000 [20]int8 // - 77698 77699 func init() { 77700 crt.Xstrncpy(nil, &_checkSavepointCountØ00__func__Ø000[0], str(80224), 20) 77701 } 77702 77703 func _sqlite3BtreeBeginStmt(tls *crt.TLS, _p *XBtree, _iStatement int32) (r0 int32) { // sqlite3.c:63024:1 77704 var _rc int32 // sqlite3.c:63025:7 77705 _ = _rc 77706 var _pBt *XBtShared // sqlite3.c:63026:12 77707 _ = _pBt 77708 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 77709 _sqlite3BtreeEnter(tls, _p) 77710 func() int32 { 77711 if int32(_p.X2) == i32(2) { 77712 return i32(0) 77713 } 77714 return func() int32 { 77715 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63028), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginStmtØ00__func__Ø000))), unsafe.Pointer(str(80244))) 77716 crt.X__builtin_abort(tls) 77717 return i32(0) 77718 }() 77719 }() 77720 func() int32 { 77721 if (int32(_pBt.X10) & i32(1)) == i32(0) { 77722 return i32(0) 77723 } 77724 return func() int32 { 77725 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63029), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginStmtØ00__func__Ø000))), unsafe.Pointer(str(80268))) 77726 crt.X__builtin_abort(tls) 77727 return i32(0) 77728 }() 77729 }() 77730 func() int32 { 77731 if _iStatement > i32(0) { 77732 return i32(0) 77733 } 77734 return func() int32 { 77735 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63030), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginStmtØ00__func__Ø000))), unsafe.Pointer(str(80304))) 77736 crt.X__builtin_abort(tls) 77737 return i32(0) 77738 }() 77739 }() 77740 func() int32 { 77741 if _iStatement > ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X75) { 77742 return i32(0) 77743 } 77744 return func() int32 { 77745 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginStmtØ00__func__Ø000))), unsafe.Pointer(str(80320))) 77746 crt.X__builtin_abort(tls) 77747 return i32(0) 77748 }() 77749 }() 77750 func() int32 { 77751 if int32(_pBt.X8) == i32(2) { 77752 return i32(0) 77753 } 77754 return func() int32 { 77755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63032), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeBeginStmtØ00__func__Ø000))), unsafe.Pointer(str(60064))) 77756 crt.X__builtin_abort(tls) 77757 return i32(0) 77758 }() 77759 }() 77760 _rc = _sqlite3PagerOpenSavepoint(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _iStatement) 77761 _sqlite3BtreeLeave(tls, _p) 77762 r0 = _rc 77763 return 77764 77765 } 77766 77767 var _sqlite3BtreeBeginStmtØ00__func__Ø000 [22]int8 // - 77768 77769 func init() { 77770 crt.Xstrncpy(nil, &_sqlite3BtreeBeginStmtØ00__func__Ø000[0], str(80352), 22) 77771 } 77772 77773 func _sqlite3BtreeUpdateMeta(tls *crt.TLS, _p *XBtree, _idx int32, _iMeta uint32) (r0 int32) { // sqlite3.c:67805:1 77774 var _pBt *XBtShared // sqlite3.c:67806:12 77775 _ = _pBt 77776 var _pP1 *uint8 // sqlite3.c:67807:17 77777 _ = _pP1 77778 var _rc int32 // sqlite3.c:67808:7 77779 _ = _rc 77780 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 77781 func() int32 { 77782 if (_idx >= i32(1)) && (_idx <= i32(15)) { 77783 return i32(0) 77784 } 77785 return func() int32 { 77786 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67809), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeUpdateMetaØ00__func__Ø000))), unsafe.Pointer(str(80376))) 77787 crt.X__builtin_abort(tls) 77788 return i32(0) 77789 }() 77790 }() 77791 _sqlite3BtreeEnter(tls, _p) 77792 func() int32 { 77793 if int32(_p.X2) == i32(2) { 77794 return i32(0) 77795 } 77796 return func() int32 { 77797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeUpdateMetaØ00__func__Ø000))), unsafe.Pointer(str(80244))) 77798 crt.X__builtin_abort(tls) 77799 return i32(0) 77800 }() 77801 }() 77802 func() int32 { 77803 if (*XMemPage)(unsafe.Pointer(_pBt.X3)) != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) { 77804 return i32(0) 77805 } 77806 return func() int32 { 77807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeUpdateMetaØ00__func__Ø000))), unsafe.Pointer(str(80396))) 77808 crt.X__builtin_abort(tls) 77809 return i32(0) 77810 }() 77811 }() 77812 _pP1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)).X19 77813 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) 77814 if _rc != i32(0) { 77815 goto _7 77816 } 77817 77818 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pP1))+1*uintptr(i32(36)+(_idx*i32(4))))), _iMeta) 77819 if _idx != i32(7) { 77820 goto _8 77821 } 77822 77823 func() int32 { 77824 if ((_pBt.X5) != 0) || (_iMeta == uint32(i32(0))) { 77825 return i32(0) 77826 } 77827 return func() int32 { 77828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67819), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeUpdateMetaØ00__func__Ø000))), unsafe.Pointer(str(80412))) 77829 crt.X__builtin_abort(tls) 77830 return i32(0) 77831 }() 77832 }() 77833 func() int32 { 77834 if (_iMeta == uint32(i32(0))) || (_iMeta == uint32(i32(1))) { 77835 return i32(0) 77836 } 77837 return func() int32 { 77838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67820), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeUpdateMetaØ00__func__Ø000))), unsafe.Pointer(str(80440))) 77839 crt.X__builtin_abort(tls) 77840 return i32(0) 77841 }() 77842 }() 77843 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(18 /* X6 */))) = uint8(_iMeta) 77844 _8: 77845 _7: 77846 _sqlite3BtreeLeave(tls, _p) 77847 r0 = _rc 77848 return 77849 77850 } 77851 77852 var _sqlite3BtreeUpdateMetaØ00__func__Ø000 [23]int8 // - 77853 77854 func init() { 77855 crt.Xstrncpy(nil, &_sqlite3BtreeUpdateMetaØ00__func__Ø000[0], str(80464), 23) 77856 } 77857 77858 func _allocateCursor(tls *crt.TLS, _p *XVdbe, _iCur int32, _nField int32, _iDb int32, _eCurType uint8) (r0 *XVdbeCursor) { // sqlite3.c:78279:1 77859 var _pMem *XMem // sqlite3.c:78304:7 77860 _ = _pMem 77861 var _nByte int32 // sqlite3.c:78306:7 77862 _ = _nByte 77863 var _pCx *XVdbeCursor // sqlite3.c:78307:14 77864 _ = _pCx 77865 _pMem = func() *XMem { 77866 if _iCur > i32(0) { 77867 return (*XMem)(unsafe.Pointer(uintptr(_p.X18) + 48*uintptr((_p.X6)-_iCur))) 77868 } 77869 return (*XMem)(unsafe.Pointer(_p.X18)) 77870 }() 77871 _pCx = nil 77872 _nByte = int32((u32(88) + (u32(8) * uint32(_nField))) + uint32(func() int32 { 77873 if int32(_eCurType) == i32(0) { 77874 return _sqlite3BtreeCursorSize(tls) 77875 } 77876 return i32(0) 77877 }())) 77878 func() int32 { 77879 if (_iCur >= i32(0)) && (_iCur < (_p.X7)) { 77880 return i32(0) 77881 } 77882 return func() int32 { 77883 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78312), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateCursorØ00__func__Ø000))), unsafe.Pointer(str(80488))) 77884 crt.X__builtin_abort(tls) 77885 return i32(0) 77886 }() 77887 }() 77888 if (*(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_iCur)))) == nil { 77889 goto _7 77890 } 77891 77892 _sqlite3VdbeFreeCursor(tls, _p, *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_iCur)))) 77893 *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_iCur))) = (*XVdbeCursor)(unsafe.Pointer(uintptr(i32(0)))) 77894 _7: 77895 if i32(0) != _sqlite3VdbeMemClearAndResize(tls, _pMem, _nByte) { 77896 goto _8 77897 } 77898 77899 *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X23)) + 4*uintptr(_iCur))) = store8151141(&_pCx, (*XVdbeCursor)(unsafe.Pointer(_pMem.X5))) 77900 crt.Xmemset(tls, (unsafe.Pointer)(_pCx), i32(0), u32(32)) 77901 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(0 /* X0 */))) = _eCurType 77902 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(1 /* X1 */))) = int8(_iDb) 77903 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(52 /* X18 */))) = int16(_nField) 77904 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(64 /* X21 */))) = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx))+uintptr(80 /* X25 */))))) + 4*uintptr(_nField))) 77905 if int32(_eCurType) != i32(0) { 77906 goto _9 77907 } 77908 77909 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(36 /* X14 */))))))) = (*XBtCursor)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem.X5)) + 1*uintptr(u32(88)+(u32(8)*uint32(_nField))))))) 77910 _sqlite3BtreeCursorZero(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCx)) + uintptr(36 /* X14 */)))))))) 77911 _9: 77912 _8: 77913 r0 = _pCx 77914 return 77915 77916 } 77917 77918 func _sqlite3BtreeCursorSize(tls *crt.TLS) (r0 int32) { // sqlite3.c:63213:1 77919 r0 = int32(u32(200)) 77920 return 77921 77922 } 77923 77924 var _allocateCursorØ00__func__Ø000 [15]int8 // - 77925 77926 func init() { 77927 crt.Xstrncpy(nil, &_allocateCursorØ00__func__Ø000[0], str(80516), 15) 77928 } 77929 77930 func _sqlite3BtreeCursorZero(tls *crt.TLS, _p *XBtCursor) { // sqlite3.c:63225:1 77931 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(64)) 77932 return 77933 77934 } 77935 77936 func _sqlite3BtreeCursor(tls *crt.TLS, _p *XBtree, _iTable int32, _wrFlag int32, _pKeyInfo *XKeyInfo, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63187:1 77937 var _rc int32 // sqlite3.c:63194:7 77938 _ = _rc 77939 if _iTable >= i32(1) { 77940 goto _0 77941 } 77942 77943 _rc = _sqlite3CorruptError(tls, i32(63196)) 77944 goto _1 77945 77946 _0: 77947 _sqlite3BtreeEnter(tls, _p) 77948 _rc = _btreeCursor(tls, _p, _iTable, _wrFlag, _pKeyInfo, _pCur) 77949 _sqlite3BtreeLeave(tls, _p) 77950 _1: 77951 r0 = _rc 77952 return 77953 77954 } 77955 77956 func _btreeCursor(tls *crt.TLS, _p *XBtree, _iTable int32, _wrFlag int32, _pKeyInfo *XKeyInfo, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63127:1 77957 var _pBt *XBtShared // sqlite3.c:63134:12 77958 _ = _pBt 77959 var _pX *XBtCursor // sqlite3.c:63135:12 77960 _ = _pX 77961 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 77962 func() int32 { 77963 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 77964 return i32(0) 77965 } 77966 return func() int32 { 77967 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63137), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(17984))) 77968 crt.X__builtin_abort(tls) 77969 return i32(0) 77970 }() 77971 }() 77972 func() int32 { 77973 if ((_wrFlag == i32(0)) || (_wrFlag == i32(4))) || (_wrFlag == i32(12)) { 77974 return i32(0) 77975 } 77976 return func() int32 { 77977 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63138), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80532))) 77978 crt.X__builtin_abort(tls) 77979 return i32(0) 77980 }() 77981 }() 77982 func() int32 { 77983 if _hasSharedCacheTableLock(tls, _p, uint32(_iTable), bool2int(_pKeyInfo != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))), func() int32 { 77984 if _wrFlag != 0 { 77985 return i32(2) 77986 } 77987 return i32(1) 77988 }()) != 0 { 77989 return i32(0) 77990 } 77991 return func() int32 { 77992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63147), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80608))) 77993 crt.X__builtin_abort(tls) 77994 return i32(0) 77995 }() 77996 }() 77997 func() int32 { 77998 if (_wrFlag == i32(0)) || (_hasReadConflicts(tls, _p, uint32(_iTable)) == 0) { 77999 return i32(0) 78000 } 78001 return func() int32 { 78002 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63148), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80672))) 78003 crt.X__builtin_abort(tls) 78004 return i32(0) 78005 }() 78006 }() 78007 func() int32 { 78008 if int32(_p.X2) > i32(0) { 78009 return i32(0) 78010 } 78011 return func() int32 { 78012 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63151), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(57128))) 78013 crt.X__builtin_abort(tls) 78014 return i32(0) 78015 }() 78016 }() 78017 func() int32 { 78018 if (_wrFlag == i32(0)) || (int32(_p.X2) == i32(2)) { 78019 return i32(0) 78020 } 78021 return func() int32 { 78022 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63152), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80716))) 78023 crt.X__builtin_abort(tls) 78024 return i32(0) 78025 }() 78026 }() 78027 func() int32 { 78028 if ((*XMemPage)(unsafe.Pointer(_pBt.X3)) != nil) && (((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19) != nil) { 78029 return i32(0) 78030 } 78031 return func() int32 { 78032 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63153), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80756))) 78033 crt.X__builtin_abort(tls) 78034 return i32(0) 78035 }() 78036 }() 78037 func() int32 { 78038 if (_wrFlag == i32(0)) || ((int32(_pBt.X10) & i32(1)) == i32(0)) { 78039 return i32(0) 78040 } 78041 return func() int32 { 78042 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63154), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80792))) 78043 crt.X__builtin_abort(tls) 78044 return i32(0) 78045 }() 78046 }() 78047 if _wrFlag == 0 { 78048 goto _24 78049 } 78050 78051 _allocateTempSpace(tls, _pBt) 78052 if (_pBt.X27) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 78053 goto _25 78054 } 78055 78056 r0 = _sqlite3NomemError(tls, i32(63158)) 78057 return 78058 78059 _25: 78060 _24: 78061 if _iTable != i32(1) || _btreePagecount(tls, _pBt) != uint32(i32(0)) { 78062 goto _27 78063 } 78064 78065 func() int32 { 78066 if _wrFlag == i32(0) { 78067 return i32(0) 78068 } 78069 return func() int32 { 78070 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63161), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCursorØ00__func__Ø000))), unsafe.Pointer(str(80840))) 78071 crt.X__builtin_abort(tls) 78072 return i32(0) 78073 }() 78074 }() 78075 _iTable = i32(0) 78076 _27: 78077 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(48 /* X7 */))) = uint32(_iTable) 78078 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) = int8(i32(-1)) 78079 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(68 /* X16 */))))) = _pKeyInfo 78080 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(0 /* X0 */))))) = _p 78081 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(4 /* X1 */))))) = _pBt 78082 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) = uint8(func() int32 { 78083 if _wrFlag != 0 { 78084 return i32(1) 78085 } 78086 return i32(0) 78087 }()) 78088 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(61 /* X11 */))) = uint8(func() int32 { 78089 if _wrFlag != 0 { 78090 return i32(0) 78091 } 78092 return i32(2) 78093 }()) 78094 _pX = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) 78095 _34: 78096 if _pX == nil { 78097 goto _37 78098 } 78099 78100 if (_pX.X7) != uint32(_iTable) { 78101 goto _38 78102 } 78103 78104 { 78105 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(60 /* X10 */))) 78106 *p = uint8(int32(*p) | i32(32)) 78107 sink6915 = *p 78108 } 78109 { 78110 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 78111 *p = uint8(int32(*p) | i32(32)) 78112 sink6915 = *p 78113 } 78114 _38: 78115 _pX = (*XBtCursor)(unsafe.Pointer(_pX.X2)) 78116 goto _34 78117 78118 _37: 78119 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(8 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(_pBt.X2)) 78120 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(8 /* X2 */))))) = _pCur 78121 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 78122 r0 = i32(0) 78123 return 78124 78125 } 78126 78127 var _btreeCursorØ00__func__Ø000 [12]int8 // - 78128 78129 func init() { 78130 crt.Xstrncpy(nil, &_btreeCursorØ00__func__Ø000[0], str(80852), 12) 78131 } 78132 78133 func _hasSharedCacheTableLock(tls *crt.TLS, _pBtree *XBtree, _iRoot uint32, _isIndex int32, _eLockType int32) (r0 int32) { // sqlite3.c:59098:1 78134 var _pSchema *XSchema // sqlite3.c:59104:10 78135 _ = _pSchema 78136 var _iTab uint32 // sqlite3.c:59105:8 78137 _ = _iTab 78138 var _pLock *XBtLock // sqlite3.c:59106:10 78139 _ = _pLock 78140 var _3_p *XHashElem // sqlite3.c:59132:14 78141 _ = _3_p 78142 var _4_pIdx *XIndex // sqlite3.c:59134:13 78143 _ = _4_pIdx 78144 _pSchema = (*XSchema)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X19)) 78145 _iTab = u32(0) 78146 if int32(_pBtree.X3) != i32(0) && (_eLockType != i32(1) || (((*Xsqlite3)(unsafe.Pointer(_pBtree.X0)).X6)&i32(16384)) == 0) { 78147 goto _2 78148 } 78149 78150 r0 = i32(1) 78151 return 78152 78153 _2: 78154 if _isIndex == 0 || _pSchema != nil && (int32(_pSchema.X9)&i32(1)) != i32(0) { 78155 goto _5 78156 } 78157 78158 r0 = i32(1) 78159 return 78160 78161 _5: 78162 if _isIndex == 0 { 78163 goto _6 78164 } 78165 78166 _3_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(24 /* X3 */))).X2)) 78167 _7: 78168 if _3_p == nil { 78169 goto _10 78170 } 78171 78172 _4_pIdx = (*XIndex)(unsafe.Pointer(_3_p.X2)) 78173 if (_4_pIdx.X11) != int32(_iRoot) { 78174 goto _11 78175 } 78176 78177 if _iTab == 0 { 78178 goto _12 78179 } 78180 78181 r0 = i32(1) 78182 return 78183 78184 _12: 78185 _iTab = uint32((*XTable)(unsafe.Pointer(_4_pIdx.X3)).X7) 78186 _11: 78187 _3_p = (*XHashElem)(unsafe.Pointer(_3_p.X0)) 78188 goto _7 78189 78190 _10: 78191 goto _13 78192 78193 _6: 78194 _iTab = _iRoot 78195 _13: 78196 _pLock = (*XBtLock)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X25)) 78197 _14: 78198 if _pLock == nil { 78199 goto _17 78200 } 78201 78202 if (*XBtree)(unsafe.Pointer(_pLock.X0)) != _pBtree || (_pLock.X1) != _iTab && (int32(_pLock.X2) != i32(2) || (_pLock.X1) != uint32(i32(1))) || int32(_pLock.X2) < _eLockType { 78203 goto _22 78204 } 78205 78206 r0 = i32(1) 78207 return 78208 78209 _22: 78210 _pLock = (*XBtLock)(unsafe.Pointer(_pLock.X3)) 78211 goto _14 78212 78213 _17: 78214 r0 = i32(0) 78215 return 78216 78217 } 78218 78219 func _hasReadConflicts(tls *crt.TLS, _pBtree *XBtree, _iRoot uint32) (r0 int32) { // sqlite3.c:59185:1 78220 var _p *XBtCursor // sqlite3.c:59186:12 78221 _ = _p 78222 _p = (*XBtCursor)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X2)) 78223 _0: 78224 if _p == nil { 78225 goto _3 78226 } 78227 78228 if (_p.X7) != _iRoot || (*XBtree)(unsafe.Pointer(_p.X0)) == _pBtree || i32(0) != (((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X0)).X0)).X6)&i32(16384)) { 78229 goto _6 78230 } 78231 78232 r0 = i32(1) 78233 return 78234 78235 _6: 78236 _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) 78237 goto _0 78238 78239 _3: 78240 r0 = i32(0) 78241 return 78242 78243 } 78244 78245 func _allocateTempSpace(tls *crt.TLS, _pBt *XBtShared) { // sqlite3.c:61481:1 78246 if (_pBt.X27) != nil { 78247 goto _0 78248 } 78249 78250 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(80 /* X27 */))) = (*uint8)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32(_pBt.X15)))) 78251 if (_pBt.X27) == nil { 78252 goto _1 78253 } 78254 78255 crt.Xmemset(tls, (unsafe.Pointer)(_pBt.X27), i32(0), uint32(i32(8))) 78256 { 78257 p := (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(80 /* X27 */))) 78258 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(4)))) 78259 sink6921 = *p 78260 } 78261 _1: 78262 _0: 78263 return 78264 78265 } 78266 78267 func _sqlite3BtreeCursorHintFlags(tls *crt.TLS, _pCur *XBtCursor, _x uint32) { // sqlite3.c:59841:1 78268 func() int32 { 78269 if ((_x == uint32(i32(2))) || (_x == uint32(i32(1)))) || (_x == uint32(i32(0))) { 78270 return i32(0) 78271 } 78272 return func() int32 { 78273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59842), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCursorHintFlagsØ00__func__Ø000))), unsafe.Pointer(str(80864))) 78274 crt.X__builtin_abort(tls) 78275 return i32(0) 78276 }() 78277 }() 78278 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(63 /* X13 */))) = uint8(_x) 78279 return 78280 78281 } 78282 78283 var _sqlite3BtreeCursorHintFlagsØ00__func__Ø000 [28]int8 // - 78284 78285 func init() { 78286 crt.Xstrncpy(nil, &_sqlite3BtreeCursorHintFlagsØ00__func__Ø000[0], str(80912), 28) 78287 } 78288 78289 func _sqlite3BtreeOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFilename *int8, _db *Xsqlite3, _ppBtree **XBtree, _flags int32, _vfsFlags int32) (r0 int32) { // sqlite3.c:61150:1 78290 var _pBt *XBtShared // sqlite3.c:61158:12 78291 _ = _pBt 78292 var _p *XBtree // sqlite3.c:61159:9 78293 _ = _p 78294 var _mutexOpen *Xsqlite3_mutex // sqlite3.c:61160:17 78295 _ = _mutexOpen 78296 var _rc int32 // sqlite3.c:61161:7 78297 _ = _rc 78298 var _nReserve uint8 // sqlite3.c:61162:6 78299 _ = _nReserve 78300 var _zDbHeader [100]uint8 // sqlite3.c:61163:17 78301 _ = _zDbHeader 78302 var _isTempDb int32 // sqlite3.c:61166:13 78303 _ = _isTempDb 78304 var _isMemdb int32 // sqlite3.c:61174:13 78305 _ = _isMemdb 78306 var _5_nFilename int32 // sqlite3.c:61214:11 78307 _ = _5_nFilename 78308 var _5_nFullPathname int32 // sqlite3.c:61215:11 78309 _ = _5_nFullPathname 78310 var _5_zFullPathname *int8 // sqlite3.c:61216:12 78311 _ = _5_zFullPathname 78312 var _5_mutexShared *Xsqlite3_mutex // sqlite3.c:61217:34 78313 _ = _5_mutexShared 78314 var _11_iDb int32 // sqlite3.c:61245:15 78315 _ = _11_iDb 78316 var _12_pExisting *XBtree // sqlite3.c:61247:19 78317 _ = _12_pExisting 78318 var _22_mutexShared *Xsqlite3_mutex // sqlite3.c:61354:34 78319 _ = _22_mutexShared 78320 var _25_i int32 // sqlite3.c:61377:9 78321 _ = _25_i 78322 var _25_pSib *XBtree // sqlite3.c:61378:11 78323 _ = _25_pSib 78324 var _35_pFile *Xsqlite3_file // sqlite3.c:61413:18 78325 _ = _35_pFile 78326 _pBt = nil 78327 _mutexOpen = nil 78328 _rc = i32(0) 78329 _isTempDb = bool2int((_zFilename == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == i32(0))) 78330 _isMemdb = bool2int((((_zFilename != nil) && (crt.Xstrcmp(tls, _zFilename, str(80940)) == i32(0))) || (_isTempDb != 0 && _sqlite3TempInMemory(tls, _db) != 0)) || ((_vfsFlags & i32(128)) != i32(0))) 78331 func() int32 { 78332 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 78333 return i32(0) 78334 } 78335 return func() int32 { 78336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61179), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(1184))) 78337 crt.X__builtin_abort(tls) 78338 return i32(0) 78339 }() 78340 }() 78341 func() int32 { 78342 if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { 78343 return i32(0) 78344 } 78345 return func() int32 { 78346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61180), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(80952))) 78347 crt.X__builtin_abort(tls) 78348 return i32(0) 78349 }() 78350 }() 78351 func() int32 { 78352 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 78353 return i32(0) 78354 } 78355 return func() int32 { 78356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61181), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(832))) 78357 crt.X__builtin_abort(tls) 78358 return i32(0) 78359 }() 78360 }() 78361 func() int32 { 78362 if (_flags & i32(255)) == _flags { 78363 return i32(0) 78364 } 78365 return func() int32 { 78366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61182), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(80960))) 78367 crt.X__builtin_abort(tls) 78368 return i32(0) 78369 }() 78370 }() 78371 func() int32 { 78372 if ((_flags & i32(8)) == i32(0)) || ((_flags & i32(4)) != i32(0)) { 78373 return i32(0) 78374 } 78375 return func() int32 { 78376 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61185), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(80980))) 78377 crt.X__builtin_abort(tls) 78378 return i32(0) 78379 }() 78380 }() 78381 func() int32 { 78382 if ((_flags & i32(4)) == i32(0)) || _isTempDb != 0 { 78383 return i32(0) 78384 } 78385 return func() int32 { 78386 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61188), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(81040))) 78387 crt.X__builtin_abort(tls) 78388 return i32(0) 78389 }() 78390 }() 78391 if _isMemdb == 0 { 78392 goto _19 78393 } 78394 78395 { 78396 p := &_flags 78397 *p = (*p) | i32(2) 78398 sink961 = *p 78399 } 78400 _19: 78401 if (_vfsFlags&i32(256)) == i32(0) || _isMemdb == 0 && _isTempDb == 0 { 78402 goto _22 78403 } 78404 78405 _vfsFlags = (_vfsFlags & i32(-257)) | i32(512) 78406 _22: 78407 _p = (*XBtree)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(48))))) 78408 if _p != nil { 78409 goto _23 78410 } 78411 78412 r0 = _sqlite3NomemError(tls, i32(61198)) 78413 return 78414 78415 _23: 78416 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = uint8(i32(0)) 78417 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _db 78418 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X11 */))))) + uintptr(0 /* X0 */))))) = _p 78419 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XBtLock)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X11 */))))) + uintptr(4 /* X1 */))) = uint32(i32(1)) 78420 if _isTempDb != i32(0) || _isMemdb != i32(0) && (_vfsFlags&i32(64)) == i32(0) { 78421 goto _26 78422 } 78423 78424 if (_vfsFlags & i32(131072)) == 0 { 78425 goto _27 78426 } 78427 78428 _5_nFilename = _sqlite3Strlen30(tls, _zFilename) + i32(1) 78429 _5_nFullPathname = (_pVfs.X2) + i32(1) 78430 _5_zFullPathname = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(func() int32 { 78431 if _5_nFullPathname > _5_nFilename { 78432 return _5_nFullPathname 78433 } 78434 return _5_nFilename 78435 }())))) 78436 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(9 /* X3 */))) = uint8(i32(1)) 78437 if _5_zFullPathname != nil { 78438 goto _30 78439 } 78440 78441 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 78442 r0 = _sqlite3NomemError(tls, i32(61222)) 78443 return 78444 78445 _30: 78446 if _isMemdb == 0 { 78447 goto _31 78448 } 78449 78450 crt.Xmemcpy(tls, (unsafe.Pointer)(_5_zFullPathname), (unsafe.Pointer)(_zFilename), uint32(_5_nFilename)) 78451 goto _32 78452 78453 _31: 78454 _rc = _sqlite3OsFullPathname(tls, _pVfs, _zFilename, _5_nFullPathname, _5_zFullPathname) 78455 if _rc == 0 { 78456 goto _33 78457 } 78458 78459 Xsqlite3_free(tls, (unsafe.Pointer)(_5_zFullPathname)) 78460 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 78461 r0 = _rc 78462 return 78463 78464 _33: 78465 _32: 78466 _mutexOpen = _sqlite3MutexAlloc(tls, i32(4)) 78467 Xsqlite3_mutex_enter(tls, _mutexOpen) 78468 _5_mutexShared = _sqlite3MutexAlloc(tls, i32(2)) 78469 Xsqlite3_mutex_enter(tls, _5_mutexShared) 78470 _pBt = _sqlite3SharedCacheList 78471 _34: 78472 if _pBt == nil { 78473 goto _37 78474 } 78475 78476 func() int32 { 78477 if (_pBt.X23) > i32(0) { 78478 return i32(0) 78479 } 78480 return func() int32 { 78481 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61242), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(81080))) 78482 crt.X__builtin_abort(tls) 78483 return i32(0) 78484 }() 78485 }() 78486 if i32(0) != crt.Xstrcmp(tls, _5_zFullPathname, _sqlite3PagerFilename(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), i32(0))) || _sqlite3PagerVfs(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) != _pVfs { 78487 goto _41 78488 } 78489 78490 _11_iDb = (_db.X5) - i32(1) 78491 _42: 78492 if _11_iDb < i32(0) { 78493 goto _45 78494 } 78495 78496 _12_pExisting = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_11_iDb))).X1)) 78497 if _12_pExisting == nil || (*XBtShared)(unsafe.Pointer(_12_pExisting.X1)) != _pBt { 78498 goto _47 78499 } 78500 78501 Xsqlite3_mutex_leave(tls, _5_mutexShared) 78502 Xsqlite3_mutex_leave(tls, _mutexOpen) 78503 Xsqlite3_free(tls, (unsafe.Pointer)(_5_zFullPathname)) 78504 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 78505 r0 = i32(19) 78506 return 78507 78508 _47: 78509 _11_iDb -= 1 78510 goto _42 78511 78512 _45: 78513 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = _pBt 78514 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(64 /* X23 */))) += 1 78515 goto _37 78516 78517 _41: 78518 _pBt = (*XBtShared)(unsafe.Pointer(_pBt.X24)) 78519 goto _34 78520 78521 _37: 78522 Xsqlite3_mutex_leave(tls, _5_mutexShared) 78523 Xsqlite3_free(tls, (unsafe.Pointer)(_5_zFullPathname)) 78524 goto _48 78525 78526 _27: 78527 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(9 /* X3 */))) = uint8(i32(1)) 78528 _48: 78529 _26: 78530 if _pBt != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { 78531 goto _49 78532 } 78533 78534 i32(0) 78535 i32(0) 78536 i32(0) 78537 i32(0) 78538 i32(0) 78539 _pBt = (*XBtShared)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(84))))) 78540 if _pBt != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { 78541 goto _50 78542 } 78543 78544 _rc = _sqlite3NomemError(tls, i32(61290)) 78545 goto _btree_open_out 78546 78547 _50: 78548 _rc = _sqlite3PagerOpen(tls, _pVfs, (**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(0 /* X0 */))))), _zFilename, int32(u32(84)), _flags, _vfsFlags, _pageReinit) 78549 if _rc != i32(0) { 78550 goto _51 78551 } 78552 78553 _sqlite3PagerSetMmapLimit(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _db.X8) 78554 _rc = _sqlite3PagerReadFileheader(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), int32(u32(100)), (*uint8)(unsafe.Pointer(&_zDbHeader))) 78555 _51: 78556 if _rc == i32(0) { 78557 goto _52 78558 } 78559 78560 goto _btree_open_out 78561 78562 _52: 78563 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(16 /* X4 */))) = uint8(_flags) 78564 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(4 /* X1 */))))) = _db 78565 _sqlite3PagerSetBusyhandler(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _btreeInvokeBusyHandler, (unsafe.Pointer)(_pBt)) 78566 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = _pBt 78567 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(8 /* X2 */))))) = (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) 78568 *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(12 /* X3 */))))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 78569 if _sqlite3PagerIsreadonly(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) == 0 { 78570 goto _53 78571 } 78572 78573 { 78574 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 78575 *p = uint16(int32(*p) | i32(1)) 78576 sink6908 = *p 78577 } 78578 _53: 78579 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(32 /* X15 */))) = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader)) + 1*uintptr(i32(16))))) << uint(i32(8))) | (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader)) + 1*uintptr(i32(17))))) << uint(i32(16)))) 78580 if (_pBt.X15) >= uint32(i32(512)) && (_pBt.X15) <= uint32(i32(65536)) && (((_pBt.X15)-uint32(i32(1)))&(_pBt.X15)) == uint32(i32(0)) { 78581 goto _56 78582 } 78583 78584 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(32 /* X15 */))) = uint32(i32(0)) 78585 if _zFilename == nil || _isMemdb != 0 { 78586 goto _58 78587 } 78588 78589 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(17 /* X5 */))) = uint8(i32(0)) 78590 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(18 /* X6 */))) = uint8(i32(0)) 78591 _58: 78592 _nReserve = uint8(i32(0)) 78593 goto _59 78594 78595 _56: 78596 _nReserve = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader)) + 1*uintptr(i32(20)))) 78597 { 78598 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 78599 *p = uint16(int32(*p) | i32(2)) 78600 sink6908 = *p 78601 } 78602 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(17 /* X5 */))) = uint8(func() int32 { 78603 if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader))+1*uintptr(i32(52))))) != 0 { 78604 return i32(1) 78605 } 78606 return i32(0) 78607 }()) 78608 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(18 /* X6 */))) = uint8(func() int32 { 78609 if _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zDbHeader))+1*uintptr(i32(64))))) != 0 { 78610 return i32(1) 78611 } 78612 return i32(0) 78613 }()) 78614 _59: 78615 _rc = _sqlite3PagerSetPagesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(32 /* X15 */))), int32(_nReserve)) 78616 if _rc == 0 { 78617 goto _64 78618 } 78619 78620 goto _btree_open_out 78621 78622 _64: 78623 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X16 */))) = (_pBt.X15) - uint32(_nReserve) 78624 func() int32 { 78625 if ((_pBt.X15) & uint32(i32(7))) == uint32(i32(0)) { 78626 return i32(0) 78627 } 78628 return func() int32 { 78629 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61347), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(81092))) 78630 crt.X__builtin_abort(tls) 78631 return i32(0) 78632 }() 78633 }() 78634 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(64 /* X23 */))) = i32(1) 78635 if (_p.X3) == 0 { 78636 goto _67 78637 } 78638 78639 _22_mutexShared = _sqlite3MutexAlloc(tls, i32(2)) 78640 if i32(1) == 0 || (_sqlite3Config.X1) == 0 { 78641 goto _69 78642 } 78643 78644 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(56 /* X21 */))))) = _sqlite3MutexAlloc(tls, i32(0)) 78645 if (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 78646 goto _70 78647 } 78648 78649 _rc = _sqlite3NomemError(tls, i32(61359)) 78650 goto _btree_open_out 78651 78652 _70: 78653 _69: 78654 Xsqlite3_mutex_enter(tls, _22_mutexShared) 78655 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(68 /* X24 */))))) = _sqlite3SharedCacheList 78656 _sqlite3SharedCacheList = _pBt 78657 bug20530(_sqlite3SharedCacheList) 78658 Xsqlite3_mutex_leave(tls, _22_mutexShared) 78659 _67: 78660 _49: 78661 if (_p.X3) == 0 { 78662 goto _71 78663 } 78664 78665 _25_i = i32(0) 78666 _72: 78667 if _25_i >= (_db.X5) { 78668 goto _75 78669 } 78670 78671 if store7754118(&_25_pSib, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_25_i))).X1))) == (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) || (_25_pSib.X3) == 0 { 78672 goto _77 78673 } 78674 78675 _78: 78676 if (*XBtree)(unsafe.Pointer(_25_pSib.X10)) == nil { 78677 goto _79 78678 } 78679 78680 _25_pSib = (*XBtree)(unsafe.Pointer(_25_pSib.X10)) 78681 goto _78 78682 78683 _79: 78684 if uint32(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1))))) >= uint32(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_25_pSib.X1))))) { 78685 goto _80 78686 } 78687 78688 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X9 */))))) = _25_pSib 78689 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X10 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 78690 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_25_pSib)) + uintptr(28 /* X10 */))))) = _p 78691 goto _81 78692 78693 _80: 78694 _82: 78695 if (*XBtree)(unsafe.Pointer(_25_pSib.X9)) == nil || uint32(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_25_pSib.X9)).X1))))) >= uint32(uintptr(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1))))) { 78696 goto _83 78697 } 78698 78699 _25_pSib = (*XBtree)(unsafe.Pointer(_25_pSib.X9)) 78700 goto _82 78701 78702 _83: 78703 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X9 */))))) = (*XBtree)(unsafe.Pointer(_25_pSib.X9)) 78704 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X10 */))))) = _25_pSib 78705 if (*XBtree)(unsafe.Pointer(_p.X9)) == nil { 78706 goto _85 78707 } 78708 78709 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_p.X9) + uintptr(28 /* X10 */))))) = _p 78710 _85: 78711 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_25_pSib)) + uintptr(24 /* X9 */))))) = _p 78712 _81: 78713 goto _75 78714 78715 _77: 78716 _25_i += 1 78717 goto _72 78718 78719 _75: 78720 _71: 78721 *_ppBtree = _p 78722 _btree_open_out: 78723 if _rc == i32(0) { 78724 goto _86 78725 } 78726 78727 if _pBt == nil || (*XPager)(unsafe.Pointer(_pBt.X0)) == nil { 78728 goto _88 78729 } 78730 78731 _sqlite3PagerClose(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) 78732 _88: 78733 Xsqlite3_free(tls, (unsafe.Pointer)(_pBt)) 78734 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 78735 *_ppBtree = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 78736 goto _89 78737 78738 _86: 78739 if unsafe.Pointer(_sqlite3BtreeSchema(tls, _p, i32(0), nil)) != (unsafe.Pointer)(uintptr(i32(0))) { 78740 goto _90 78741 } 78742 78743 _sqlite3PagerSetCachesize(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)), i32(-2000)) 78744 _90: 78745 _35_pFile = _sqlite3PagerFile(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) 78746 if (*Xsqlite3_io_methods)(unsafe.Pointer(_35_pFile.X0)) == nil { 78747 goto _91 78748 } 78749 78750 _sqlite3OsFileControlHint(tls, _35_pFile, i32(30), (unsafe.Pointer)((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(4 /* X1 */))))) 78751 _91: 78752 _89: 78753 if _mutexOpen == nil { 78754 goto _92 78755 } 78756 78757 func() int32 { 78758 if Xsqlite3_mutex_held(tls, _mutexOpen) != 0 { 78759 return i32(0) 78760 } 78761 return func() int32 { 78762 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61429), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(81116))) 78763 crt.X__builtin_abort(tls) 78764 return i32(0) 78765 }() 78766 }() 78767 Xsqlite3_mutex_leave(tls, _mutexOpen) 78768 _92: 78769 func() int32 { 78770 if (_rc != i32(0)) || (_sqlite3BtreeConnectionCount(tls, *_ppBtree) > i32(0)) { 78771 return i32(0) 78772 } 78773 return func() int32 { 78774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61432), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeOpenØ00__func__Ø000))), unsafe.Pointer(str(81148))) 78775 crt.X__builtin_abort(tls) 78776 return i32(0) 78777 }() 78778 }() 78779 r0 = _rc 78780 return 78781 78782 } 78783 78784 var _sqlite3BtreeOpenØ00__func__Ø000 [17]int8 // - 78785 78786 func init() { 78787 crt.Xstrncpy(nil, &_sqlite3BtreeOpenØ00__func__Ø000[0], str(81208), 17) 78788 } 78789 78790 func _sqlite3OsFullPathname(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zPath *int8, _nPathOut int32, _zPathOut *int8) (r0 int32) { // sqlite3.c:20282:1 78791 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathOut)) + 1*uintptr(i32(0)))) = int8(i32(0)) 78792 r0 = (*(*func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { 78793 f func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32 78794 }{(_pVfs.X9)})))(tls, _pVfs, _zPath, _nPathOut, _zPathOut) 78795 return 78796 78797 } 78798 78799 func _sqlite3PagerVfs(tls *crt.TLS, _pPager *XPager) (r0 *Xsqlite3_vfs) { // sqlite3.c:53702:1 78800 r0 = (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)) 78801 return 78802 78803 } 78804 78805 func _sqlite3PagerOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _ppPager **XPager, _zFilename *int8, _nExtra int32, _flags int32, _vfsFlags int32, _xReinit func(*crt.TLS, *XPgHdr)) (r0 int32) { // sqlite3.c:51489:1 78806 var _pPtr *uint8 // sqlite3.c:51498:6 78807 _ = _pPtr 78808 var _pPager *XPager // sqlite3.c:51499:9 78809 _ = _pPager 78810 var _rc int32 // sqlite3.c:51500:7 78811 _ = _rc 78812 var _tempFile int32 // sqlite3.c:51501:7 78813 _ = _tempFile 78814 var _memDb int32 // sqlite3.c:51502:7 78815 _ = _memDb 78816 var _readOnly int32 // sqlite3.c:51503:7 78817 _ = _readOnly 78818 var _journalFileSize int32 // sqlite3.c:51504:7 78819 _ = _journalFileSize 78820 var _zPathname *int8 // sqlite3.c:51505:8 78821 _ = _zPathname 78822 var _nPathname int32 // sqlite3.c:51506:7 78823 _ = _nPathname 78824 var _useJournal int32 // sqlite3.c:51507:7 78825 _ = _useJournal 78826 var _pcacheSize int32 // sqlite3.c:51508:7 78827 _ = _pcacheSize 78828 var _szPageDflt uint32 // sqlite3.c:51509:7 78829 _ = _szPageDflt 78830 var _zUri *int8 // sqlite3.c:51510:14 78831 _ = _zUri 78832 var _nUri int32 // sqlite3.c:51511:7 78833 _ = _nUri 78834 var _3_z *int8 // sqlite3.c:51537:16 78835 _ = _3_z 78836 var _10_fout int32 // sqlite3.c:51627:9 78837 _ = _10_fout 78838 var _11_iDc int32 // sqlite3.c:51641:11 78839 _ = _11_iDc 78840 _pPager = nil 78841 _rc = i32(0) 78842 _tempFile = i32(0) 78843 _memDb = i32(0) 78844 _readOnly = i32(0) 78845 _zPathname = nil 78846 _nPathname = i32(0) 78847 _useJournal = bool2int((_flags & i32(1)) == i32(0)) 78848 _pcacheSize = _sqlite3PcacheSize(tls) 78849 _szPageDflt = u32(4096) 78850 _zUri = nil 78851 _nUri = i32(0) 78852 _journalFileSize = (_sqlite3JournalSize(tls, _pVfs) + i32(7)) & i32(-8) 78853 *_ppPager = (*XPager)(unsafe.Pointer(uintptr(i32(0)))) 78854 if (_flags & i32(2)) == 0 { 78855 goto _0 78856 } 78857 78858 _memDb = i32(1) 78859 if _zFilename == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { 78860 goto _2 78861 } 78862 78863 _zPathname = _sqlite3DbStrDup(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), _zFilename) 78864 if _zPathname != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 78865 goto _3 78866 } 78867 78868 r0 = _sqlite3NomemError(tls, i32(51525)) 78869 return 78870 78871 _3: 78872 _nPathname = _sqlite3Strlen30(tls, _zPathname) 78873 _zFilename = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 78874 _2: 78875 _0: 78876 if _zFilename == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { 78877 goto _5 78878 } 78879 78880 _nPathname = (_pVfs.X2) + i32(1) 78881 _zPathname = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(_nPathname*i32(2))))) 78882 if _zPathname != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 78883 goto _6 78884 } 78885 78886 r0 = _sqlite3NomemError(tls, i32(51541)) 78887 return 78888 78889 _6: 78890 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathname)) + 1*uintptr(i32(0)))) = int8(i32(0)) 78891 _rc = _sqlite3OsFullPathname(tls, _pVfs, _zFilename, _nPathname, _zPathname) 78892 _nPathname = _sqlite3Strlen30(tls, _zPathname) 78893 _3_z = store1025(&_zUri, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename))+1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1))))) 78894 _7: 78895 if (*_3_z) == 0 { 78896 goto _8 78897 } 78898 78899 { 78900 p := &_3_z 78901 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _3_z)+i32(1)))) 78902 sink1025 = *p 78903 } 78904 { 78905 p := &_3_z 78906 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _3_z)+i32(1)))) 78907 sink1025 = *p 78908 } 78909 goto _7 78910 78911 _8: 78912 _nUri = int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_z))+1*uintptr(i32(1)))))) - uintptr(unsafe.Pointer(_zUri))) / 1) 78913 func() int32 { 78914 if _nUri >= i32(0) { 78915 return i32(0) 78916 } 78917 return func() int32 { 78918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51552), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81228))) 78919 crt.X__builtin_abort(tls) 78920 return i32(0) 78921 }() 78922 }() 78923 if _rc != i32(0) || (_nPathname+i32(8)) <= (_pVfs.X2) { 78924 goto _12 78925 } 78926 78927 _rc = _sqlite3CantopenError(tls, i32(51560)) 78928 _12: 78929 if _rc == i32(0) { 78930 goto _13 78931 } 78932 78933 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_zPathname)) 78934 r0 = _rc 78935 return 78936 78937 _13: 78938 _5: 78939 _pPtr = (*uint8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64((((((((((((u32(224)+uint32((_pcacheSize+i32(7))&i32(-8)))+uint32(((_pVfs.X1)+i32(7))&i32(-8)))+uint32(_journalFileSize*i32(2)))+uint32(_nPathname))+uint32(i32(1)))+uint32(_nUri))+uint32(_nPathname))+uint32(i32(8)))+uint32(i32(2)))+uint32(_nPathname))+uint32(i32(4)))+uint32(i32(2)))))) 78940 func() int32 { 78941 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((unsafe.Pointer)(uintptr(_journalFileSize))))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 78942 return i32(0) 78943 } 78944 return func() int32 { 78945 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51591), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81236))) 78946 crt.X__builtin_abort(tls) 78947 return i32(0) 78948 }() 78949 }() 78950 if _pPtr != nil { 78951 goto _16 78952 } 78953 78954 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_zPathname)) 78955 r0 = _sqlite3NomemError(tls, i32(51594)) 78956 return 78957 78958 _16: 78959 _pPager = (*XPager)(unsafe.Pointer(_pPtr)) 78960 *(**XPCache)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(208 /* X59 */))))) = (*XPCache)(unsafe.Pointer(store6921(func() (**uint8, *uint8) { 78961 p := &_pPtr 78962 return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u32(224)))) 78963 }()))) 78964 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(64 /* X31 */))))) = (*Xsqlite3_file)(unsafe.Pointer(store6921(func() (**uint8, *uint8) { 78965 p := &_pPtr 78966 return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr((_pcacheSize+i32(7))&i32(-8)))) 78967 }()))) 78968 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(72 /* X33 */))))) = (*Xsqlite3_file)(unsafe.Pointer(store6921(func() (**uint8, *uint8) { 78969 p := &_pPtr 78970 return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(((_pVfs.X1)+i32(7))&i32(-8)))) 78971 }()))) 78972 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(68 /* X32 */))))) = (*Xsqlite3_file)(unsafe.Pointer(store6921(func() (**uint8, *uint8) { 78973 p := &_pPtr 78974 return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_journalFileSize))) 78975 }()))) 78976 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(168 /* X51 */))) = (*int8)(unsafe.Pointer(store6921(func() (**uint8, *uint8) { 78977 p := &_pPtr 78978 return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_journalFileSize))) 78979 }()))) 78980 func() int32 { 78981 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 78982 return i32(0) 78983 } 78984 return func() int32 { 78985 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51602), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81296))) 78986 crt.X__builtin_abort(tls) 78987 return i32(0) 78988 }() 78989 }() 78990 if _zPathname == nil { 78991 goto _19 78992 } 78993 78994 func() int32 { 78995 if _nPathname > i32(0) { 78996 return i32(0) 78997 } 78998 return func() int32 { 78999 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51606), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81332))) 79000 crt.X__builtin_abort(tls) 79001 return i32(0) 79002 }() 79003 }() 79004 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(172 /* X52 */))) = (*int8)(unsafe.Pointer(store6921(func() (**uint8, *uint8) { 79005 p := &_pPtr 79006 return p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr((_nPathname+i32(1))+_nUri))) 79007 }()))) 79008 crt.Xmemcpy(tls, (unsafe.Pointer)(_pPager.X51), (unsafe.Pointer)(_zPathname), uint32(_nPathname)) 79009 if _nUri == 0 { 79010 goto _22 79011 } 79012 79013 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X51))+1*uintptr(_nPathname+i32(1))))), (unsafe.Pointer)(_zUri), uint32(_nUri)) 79014 _22: 79015 crt.Xmemcpy(tls, (unsafe.Pointer)(_pPager.X52), (unsafe.Pointer)(_zPathname), uint32(_nPathname)) 79016 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X52))+1*uintptr(_nPathname)))), (unsafe.Pointer)(str(81344)), uint32(i32(10))) 79017 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(216 /* X61 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X52)) + 1*uintptr((_nPathname+i32(8))+i32(1)))) 79018 crt.Xmemcpy(tls, (unsafe.Pointer)(_pPager.X61), (unsafe.Pointer)(_zPathname), uint32(_nPathname)) 79019 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager.X61))+1*uintptr(_nPathname)))), (unsafe.Pointer)(str(81356)), uint32(i32(5))) 79020 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (unsafe.Pointer)(_zPathname)) 79021 _19: 79022 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(0 /* X0 */))))) = _pVfs 79023 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(144 /* X46 */))) = uint32(_vfsFlags) 79024 if _zFilename == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { 79025 goto _24 79026 } 79027 79028 _10_fout = i32(0) 79029 _rc = _sqlite3OsOpen(tls, _pVfs, _pPager.X51, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), _vfsFlags, &_10_fout) 79030 func() int32 { 79031 if _memDb == 0 { 79032 return i32(0) 79033 } 79034 return func() int32 { 79035 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51629), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81364))) 79036 crt.X__builtin_abort(tls) 79037 return i32(0) 79038 }() 79039 }() 79040 _readOnly = _10_fout & i32(1) 79041 if _rc != i32(0) { 79042 goto _27 79043 } 79044 79045 _11_iDc = _sqlite3OsDeviceCharacteristics(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) 79046 if _readOnly != 0 { 79047 goto _28 79048 } 79049 79050 _setSectorSize(tls, _pPager) 79051 i32(0) 79052 if _szPageDflt >= (_pPager.X47) { 79053 goto _29 79054 } 79055 79056 if (_pPager.X47) <= uint32(i32(8192)) { 79057 goto _30 79058 } 79059 79060 _szPageDflt = uint32(i32(8192)) 79061 goto _31 79062 79063 _30: 79064 _szPageDflt = _pPager.X47 79065 _31: 79066 _29: 79067 _28: 79068 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X11 */))) = uint8(Xsqlite3_uri_boolean(tls, _zFilename, str(81372), i32(0))) 79069 if (_11_iDc&i32(8192)) == i32(0) && Xsqlite3_uri_boolean(tls, _zFilename, str(81380), i32(0)) == 0 { 79070 goto _33 79071 } 79072 79073 { 79074 p := &_vfsFlags 79075 *p = (*p) | i32(1) 79076 sink961 = *p 79077 } 79078 goto _act_like_temp_file 79079 79080 _33: 79081 _27: 79082 goto _34 79083 79084 _24: 79085 _act_like_temp_file: 79086 _tempFile = i32(1) 79087 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(17 /* X14 */))) = uint8(i32(1)) 79088 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(18 /* X15 */))) = uint8(i32(4)) 79089 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(14 /* X11 */))) = uint8(i32(1)) 79090 _readOnly = _vfsFlags & i32(1) 79091 _34: 79092 if _rc != i32(0) { 79093 goto _35 79094 } 79095 79096 func() int32 { 79097 if int32(_pPager.X13) == i32(0) { 79098 return i32(0) 79099 } 79100 return func() int32 { 79101 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51696), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81392))) 79102 crt.X__builtin_abort(tls) 79103 return i32(0) 79104 }() 79105 }() 79106 _rc = _sqlite3PagerSetPagesize(tls, _pPager, &_szPageDflt, i32(-1)) 79107 _35: 79108 if _rc != i32(0) { 79109 goto _38 79110 } 79111 79112 _nExtra = (_nExtra + i32(7)) & i32(-8) 79113 func() int32 { 79114 if (_nExtra >= i32(8)) && (_nExtra < i32(1000)) { 79115 return i32(0) 79116 } 79117 return func() int32 { 79118 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51704), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81412))) 79119 crt.X__builtin_abort(tls) 79120 return i32(0) 79121 }() 79122 }() 79123 _rc = _sqlite3PcacheOpen(tls, int32(_szPageDflt), _nExtra, bool2int(_memDb == 0), func() func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32 { 79124 if _memDb == 0 { 79125 return _pagerStress 79126 } 79127 return nil 79128 }(), (unsafe.Pointer)(_pPager), (*XPCache)(unsafe.Pointer(_pPager.X59))) 79129 _38: 79130 if _rc == i32(0) { 79131 goto _44 79132 } 79133 79134 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31))) 79135 _sqlite3PageFree(tls, (unsafe.Pointer)(_pPager.X58)) 79136 Xsqlite3_free(tls, (unsafe.Pointer)(_pPager)) 79137 r0 = _rc 79138 return 79139 79140 _44: 79141 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(6 /* X3 */))) = uint8(_useJournal) 79142 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(156 /* X49 */))) = uint32(i32(1073741823)) 79143 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(13 /* X10 */))) = uint8(_tempFile) 79144 func() int32 { 79145 if (_tempFile == i32(0)) || (_tempFile == i32(1)) { 79146 return i32(0) 79147 } 79148 return func() int32 { 79149 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51732), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81440))) 79150 crt.X__builtin_abort(tls) 79151 return i32(0) 79152 }() 79153 }() 79154 i32(0) 79155 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(4 /* X1 */))) = uint8(_tempFile) 79156 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(19 /* X16 */))) = _pPager.X10 79157 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(16 /* X13 */))) = uint8(_memDb) 79158 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(15 /* X12 */))) = uint8(_readOnly) 79159 func() int32 { 79160 if _useJournal != 0 || ((_pPager.X10) != 0) { 79161 return i32(0) 79162 } 79163 return func() int32 { 79164 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51739), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81516))) 79165 crt.X__builtin_abort(tls) 79166 return i32(0) 79167 }() 79168 }() 79169 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(7 /* X4 */))) = _pPager.X10 79170 if (_pPager.X4) == 0 { 79171 goto _51 79172 } 79173 79174 func() int32 { 79175 if int32(_pPager.X5) == i32(0) { 79176 return i32(0) 79177 } 79178 return func() int32 { 79179 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51742), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81548))) 79180 crt.X__builtin_abort(tls) 79181 return i32(0) 79182 }() 79183 }() 79184 func() int32 { 79185 if int32(_pPager.X6) == i32(0) { 79186 return i32(0) 79187 } 79188 return func() int32 { 79189 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51743), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81568))) 79190 crt.X__builtin_abort(tls) 79191 return i32(0) 79192 }() 79193 }() 79194 func() int32 { 79195 if int32(_pPager.X9) == i32(0) { 79196 return i32(0) 79197 } 79198 return func() int32 { 79199 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51744), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81592))) 79200 crt.X__builtin_abort(tls) 79201 return i32(0) 79202 }() 79203 }() 79204 func() int32 { 79205 if int32(_pPager.X8) == i32(0) { 79206 return i32(0) 79207 } 79208 return func() int32 { 79209 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51745), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81616))) 79210 crt.X__builtin_abort(tls) 79211 return i32(0) 79212 }() 79213 }() 79214 func() int32 { 79215 if int32(_pPager.X7) == i32(0) { 79216 return i32(0) 79217 } 79218 return func() int32 { 79219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51746), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81640))) 79220 crt.X__builtin_abort(tls) 79221 return i32(0) 79222 }() 79223 }() 79224 goto _62 79225 79226 _51: 79227 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(8 /* X5 */))) = uint8(i32(1)) 79228 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X6 */))) = uint8(i32(0)) 79229 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X9 */))) = uint8(i32(2)) 79230 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(11 /* X8 */))) = uint8(i32(34)) 79231 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(10 /* X7 */))) = uint8(i32(2)) 79232 _62: 79233 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(140 /* X44 */))) = uint16(_nExtra) 79234 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(160 /* X50 */))) = int64(i32(-1)) 79235 func() int32 { 79236 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || _tempFile != 0 { 79237 return i32(0) 79238 } 79239 return func() int32 { 79240 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51759), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOpenØ00__func__Ø000))), unsafe.Pointer(str(81668))) 79241 crt.X__builtin_abort(tls) 79242 return i32(0) 79243 }() 79244 }() 79245 _setSectorSize(tls, _pPager) 79246 if _useJournal != 0 { 79247 goto _66 79248 } 79249 79250 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(5 /* X2 */))) = uint8(i32(2)) 79251 goto _67 79252 79253 _66: 79254 if _memDb == 0 { 79255 goto _68 79256 } 79257 79258 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(5 /* X2 */))) = uint8(i32(4)) 79259 _68: 79260 _67: 79261 *(*func(*crt.TLS, *XPgHdr))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(196 /* X56 */))))) = _xReinit 79262 _setGetterMethod(tls, _pPager) 79263 *_ppPager = _pPager 79264 r0 = i32(0) 79265 return 79266 79267 } 79268 79269 func _sqlite3PcacheSize(tls *crt.TLS) (r0 int32) { // sqlite3.c:44358:1 79270 r0 = int32(u32(48)) 79271 return 79272 79273 } 79274 79275 func _sqlite3JournalSize(tls *crt.TLS, _pVfs *Xsqlite3_vfs) (r0 int32) { // sqlite3.c:89017:1 79276 r0 = func() int32 { 79277 if (_pVfs.X1) > i32(56) { 79278 return (_pVfs.X1) 79279 } 79280 return i32(56) 79281 }() 79282 return 79283 79284 } 79285 79286 var _sqlite3PagerOpenØ00__func__Ø000 [17]int8 // - 79287 79288 func init() { 79289 crt.Xstrncpy(nil, &_sqlite3PagerOpenØ00__func__Ø000[0], str(81700), 17) 79290 } 79291 79292 func Xsqlite3_uri_boolean(tls *crt.TLS, _zFilename *int8, _zParam *int8, _bDflt int32) (r0 int32) { // sqlite3.c:143823:12 79293 var _z *int8 // sqlite3.c:143824:14 79294 _ = _z 79295 _z = Xsqlite3_uri_parameter(tls, _zFilename, _zParam) 79296 _bDflt = bool2int(_bDflt != i32(0)) 79297 r0 = func() int32 { 79298 if _z != nil { 79299 return int32(_sqlite3GetBoolean(tls, _z, uint8(_bDflt))) 79300 } 79301 return _bDflt 79302 }() 79303 return 79304 79305 } 79306 79307 func Xsqlite3_uri_parameter(tls *crt.TLS, _zFilename *int8, _zParam *int8) (r0 *int8) { // sqlite3.c:143808:12 79308 var _1_x int32 // sqlite3.c:143812:9 79309 _ = _1_x 79310 if _zFilename != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _zParam != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 79311 goto _1 79312 } 79313 79314 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 79315 return 79316 79317 _1: 79318 { 79319 p := &_zFilename 79320 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1)))) 79321 sink1025 = *p 79322 } 79323 _2: 79324 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFilename)) + 1*uintptr(i32(0))))) == 0 { 79325 goto _3 79326 } 79327 79328 _1_x = crt.Xstrcmp(tls, _zFilename, _zParam) 79329 { 79330 p := &_zFilename 79331 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1)))) 79332 sink1025 = *p 79333 } 79334 if _1_x != i32(0) { 79335 goto _4 79336 } 79337 79338 r0 = _zFilename 79339 return 79340 79341 _4: 79342 { 79343 p := &_zFilename 79344 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _zFilename)+i32(1)))) 79345 sink1025 = *p 79346 } 79347 goto _2 79348 79349 _3: 79350 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 79351 return 79352 79353 } 79354 79355 func _sqlite3GetBoolean(tls *crt.TLS, _z *int8, _dflt uint8) (r0 uint8) { // sqlite3.c:113029:1 79356 r0 = uint8(bool2int(int32(_getSafetyLevel(tls, _z, i32(1), _dflt)) != i32(0))) 79357 return 79358 79359 } 79360 79361 func _getSafetyLevel(tls *crt.TLS, _z *int8, _omitFull int32, _dflt uint8) (r0 uint8) { // sqlite3.c:113004:1 79362 var _i int32 // sqlite3.c:113011:7 79363 _ = _i 79364 var _n int32 // sqlite3.c:113011:10 79365 _ = _n 79366 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_z))))) & i32(4)) == 0 { 79367 goto _0 79368 } 79369 79370 r0 = uint8(_sqlite3Atoi(tls, _z)) 79371 return 79372 79373 _0: 79374 _n = _sqlite3Strlen30(tls, _z) 79375 _i = i32(0) 79376 _1: 79377 if _i >= i32(8) { 79378 goto _4 79379 } 79380 79381 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getSafetyLevelØ00iLengthØ003)) + 1*uintptr(_i)))) != _n || Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getSafetyLevelØ00zTextØ001))+1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getSafetyLevelØ00iOffsetØ002)) + 1*uintptr(_i)))))), _z, _n) != i32(0) || _omitFull != 0 && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getSafetyLevelØ00iValueØ004)) + 1*uintptr(_i)))) > i32(1) { 79382 goto _8 79383 } 79384 79385 r0 = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_getSafetyLevelØ00iValueØ004)) + 1*uintptr(_i))) 79386 return 79387 79388 _8: 79389 _i += 1 79390 goto _1 79391 79392 _4: 79393 r0 = _dflt 79394 return 79395 79396 } 79397 79398 var _getSafetyLevelØ00iLengthØ003 [8]uint8 // sqlite3.c:113008:19 79399 79400 func init() { 79401 _getSafetyLevelØ00iLengthØ003 = [8]uint8{2, 2, 3, 5, 3, 4, 5, 4} 79402 } 79403 79404 var _getSafetyLevelØ00zTextØ001 [25]int8 // sqlite3.c:113006:21 79405 79406 func init() { 79407 crt.Xstrncpy(nil, &_getSafetyLevelØ00zTextØ001[0], str(81720), 25) 79408 } 79409 79410 var _getSafetyLevelØ00iOffsetØ002 [8]uint8 // sqlite3.c:113007:19 79411 79412 func init() { 79413 _getSafetyLevelØ00iOffsetØ002 = [8]uint8{0, 1, 2, 4, 9, 12, 15, 20} 79414 } 79415 79416 var _getSafetyLevelØ00iValueØ004 [8]uint8 // sqlite3.c:113009:19 79417 79418 func init() { 79419 _getSafetyLevelØ00iValueØ004 = [8]uint8{1, 0, 0, 0, 1, 1, 3, 2} 79420 } 79421 79422 func _sqlite3PcacheOpen(tls *crt.TLS, _szPage int32, _szExtra int32, _bPurgeable int32, _xStress func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32, _pStress unsafe.Pointer, _p *XPCache) (r0 int32) { // sqlite3.c:44372:1 79423 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(48)) 79424 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = i32(1) 79425 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = _szExtra 79426 func() int32 { 79427 if _szExtra >= i32(8) { 79428 return i32(0) 79429 } 79430 return func() int32 { 79431 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44383), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheOpenØ00__func__Ø000))), unsafe.Pointer(str(81748))) 79432 crt.X__builtin_abort(tls) 79433 return i32(0) 79434 }() 79435 }() 79436 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X8 */))) = uint8(_bPurgeable) 79437 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(33 /* X9 */))) = uint8(i32(2)) 79438 *(*func(*crt.TLS, unsafe.Pointer, *XPgHdr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X10 */))))) = _xStress 79439 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X11 */))) = _pStress 79440 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = i32(100) 79441 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = i32(1) 79442 r0 = _sqlite3PcacheSetPageSize(tls, _p, _szPage) 79443 return 79444 79445 } 79446 79447 var _sqlite3PcacheOpenØ00__func__Ø000 [18]int8 // - 79448 79449 func init() { 79450 crt.Xstrncpy(nil, &_sqlite3PcacheOpenØ00__func__Ø000[0], str(81760), 18) 79451 } 79452 79453 func _pagerStress(tls *crt.TLS, _p unsafe.Pointer, _pPg *XPgHdr) (r0 int32) { // sqlite3.c:51371:1 79454 var _pPager *XPager // sqlite3.c:51372:9 79455 _ = _pPager 79456 var _rc int32 // sqlite3.c:51373:7 79457 _ = _rc 79458 _pPager = (*XPager)(unsafe.Pointer(_p)) 79459 _rc = i32(0) 79460 func() int32 { 79461 if (*XPager)(unsafe.Pointer(_pPg.X4)) == _pPager { 79462 return i32(0) 79463 } 79464 return func() int32 { 79465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51375), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerStressØ00__func__Ø000))), unsafe.Pointer(str(19176))) 79466 crt.X__builtin_abort(tls) 79467 return i32(0) 79468 }() 79469 }() 79470 func() int32 { 79471 if (int32(_pPg.X6) & i32(2)) != 0 { 79472 return i32(0) 79473 } 79474 return func() int32 { 79475 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51376), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerStressØ00__func__Ø000))), unsafe.Pointer(str(57016))) 79476 crt.X__builtin_abort(tls) 79477 return i32(0) 79478 }() 79479 }() 79480 if func() int32 { 79481 if (_pPager.X26) != 0 { 79482 return func() int32 { 79483 func() int32 { 79484 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51394), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerStressØ00__func__Ø000))), unsafe.Pointer(str(5204))) 79485 crt.X__builtin_abort(tls) 79486 return i32(0) 79487 }() 79488 return i32(1) 79489 }() 79490 } 79491 return i32(0) 79492 }() == 0 { 79493 goto _6 79494 } 79495 79496 r0 = i32(0) 79497 return 79498 79499 _6: 79500 if (_pPager.X18) == 0 || (int32(_pPager.X18)&i32(3)) == i32(0) && (int32(_pPg.X6)&i32(8)) == i32(0) { 79501 goto _9 79502 } 79503 79504 r0 = i32(0) 79505 return 79506 79507 _9: 79508 *(**XPgHdr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(12 /* X3 */))))) = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 79509 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 79510 goto _10 79511 } 79512 79513 _rc = _subjournalPageIfRequired(tls, _pPg) 79514 if _rc != i32(0) { 79515 goto _11 79516 } 79517 79518 _rc = _pagerWalFrames(tls, _pPager, _pPg, uint32(i32(0)), i32(0)) 79519 _11: 79520 goto _12 79521 79522 _10: 79523 if (int32(_pPg.X6)&i32(8)) == 0 && int32(_pPager.X14) != i32(3) { 79524 goto _14 79525 } 79526 79527 _rc = _syncJournal(tls, _pPager, i32(1)) 79528 _14: 79529 if _rc != i32(0) { 79530 goto _15 79531 } 79532 79533 func() int32 { 79534 if (int32(_pPg.X6) & i32(8)) == i32(0) { 79535 return i32(0) 79536 } 79537 return func() int32 { 79538 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51423), unsafe.Pointer((*int8)(unsafe.Pointer(&_pagerStressØ00__func__Ø000))), unsafe.Pointer(str(81780))) 79539 crt.X__builtin_abort(tls) 79540 return i32(0) 79541 }() 79542 }() 79543 _rc = _pager_write_pagelist(tls, _pPager, _pPg) 79544 _15: 79545 _12: 79546 if _rc != i32(0) { 79547 goto _18 79548 } 79549 79550 _sqlite3PcacheMakeClean(tls, _pPg) 79551 _18: 79552 r0 = _pager_error(tls, _pPager, _rc) 79553 return 79554 79555 } 79556 79557 var _pagerStressØ00__func__Ø000 [12]int8 // - 79558 79559 func init() { 79560 crt.Xstrncpy(nil, &_pagerStressØ00__func__Ø000[0], str(81812), 12) 79561 } 79562 79563 func _pageReinit(tls *crt.TLS, _pData *XPgHdr) { // sqlite3.c:61100:1 79564 var _pPage *XMemPage // sqlite3.c:61101:11 79565 _ = _pPage 79566 _pPage = (*XMemPage)(unsafe.Pointer(_sqlite3PagerGetExtra(tls, _pData))) 79567 func() int32 { 79568 if _sqlite3PagerPageRefcount(tls, _pData) > i32(0) { 79569 return i32(0) 79570 } 79571 return func() int32 { 79572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61103), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageReinitØ00__func__Ø000))), unsafe.Pointer(str(81824))) 79573 crt.X__builtin_abort(tls) 79574 return i32(0) 79575 }() 79576 }() 79577 if (_pPage.X0) == 0 { 79578 goto _2 79579 } 79580 79581 func() int32 { 79582 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 79583 return i32(0) 79584 } 79585 return func() int32 { 79586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61105), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageReinitØ00__func__Ø000))), unsafe.Pointer(str(21228))) 79587 crt.X__builtin_abort(tls) 79588 return i32(0) 79589 }() 79590 }() 79591 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 79592 if _sqlite3PagerPageRefcount(tls, _pData) <= i32(1) { 79593 goto _5 79594 } 79595 79596 _btreeInitPage(tls, _pPage) 79597 _5: 79598 _2: 79599 return 79600 79601 } 79602 79603 var _pageReinitØ00__func__Ø000 [11]int8 // - 79604 79605 func init() { 79606 crt.Xstrncpy(nil, &_pageReinitØ00__func__Ø000[0], str(81860), 11) 79607 } 79608 79609 func _sqlite3PagerSetMmapLimit(tls *crt.TLS, _pPager *XPager, _szMmap int64) { // sqlite3.c:50358:1 79610 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(128 /* X42 */))) = _szMmap 79611 _pagerFixMaplimit(tls, _pPager) 79612 return 79613 79614 } 79615 79616 func _sqlite3PagerReadFileheader(tls *crt.TLS, _pPager *XPager, _N int32, _pDest *uint8) (r0 int32) { // sqlite3.c:50691:1 79617 var _rc int32 // sqlite3.c:50692:7 79618 _ = _rc 79619 _rc = i32(0) 79620 crt.Xmemset(tls, (unsafe.Pointer)(_pDest), i32(0), uint32(_N)) 79621 func() int32 { 79622 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X10) != 0) { 79623 return i32(0) 79624 } 79625 return func() int32 { 79626 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50694), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerReadFileheaderØ00__func__Ø000))), unsafe.Pointer(str(20304))) 79627 crt.X__builtin_abort(tls) 79628 return i32(0) 79629 }() 79630 }() 79631 func() int32 { 79632 if (*XWal)(unsafe.Pointer(_pPager.X60)) == (*XWal)(unsafe.Pointer(uintptr(i32(0)))) { 79633 return i32(0) 79634 } 79635 return func() int32 { 79636 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50700), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerReadFileheaderØ00__func__Ø000))), unsafe.Pointer(str(12376))) 79637 crt.X__builtin_abort(tls) 79638 return i32(0) 79639 }() 79640 }() 79641 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 79642 goto _5 79643 } 79644 79645 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), (unsafe.Pointer)(_pDest), _N, int64(i32(0))) 79646 if _rc != i32(522) { 79647 goto _6 79648 } 79649 79650 _rc = i32(0) 79651 _6: 79652 _5: 79653 r0 = _rc 79654 return 79655 79656 } 79657 79658 var _sqlite3PagerReadFileheaderØ00__func__Ø000 [27]int8 // - 79659 79660 func init() { 79661 crt.Xstrncpy(nil, &_sqlite3PagerReadFileheaderØ00__func__Ø000[0], str(81872), 27) 79662 } 79663 79664 func _sqlite3PagerSetBusyhandler(tls *crt.TLS, _pPager *XPager, _xBusyHandler func(*crt.TLS, unsafe.Pointer) int32, _pBusyHandlerArg unsafe.Pointer) { // sqlite3.c:50524:1 79665 var _1_ap *unsafe.Pointer // sqlite3.c:50533:10 79666 _ = _1_ap 79667 *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(176 /* X53 */))) = _xBusyHandler 79668 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(180 /* X54 */))) = _pBusyHandlerArg 79669 if (*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) == (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0)))) { 79670 goto _0 79671 } 79672 79673 _1_ap = (*unsafe.Pointer)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(176 /* X53 */))))) 79674 func() int32 { 79675 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 79676 f func(*crt.TLS, unsafe.Pointer) int32 79677 }{(*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f unsafe.Pointer }{(*(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ap)) + 4*uintptr(i32(0)))))})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 79678 f func(*crt.TLS, unsafe.Pointer) int32 79679 }{_xBusyHandler})) { 79680 return i32(0) 79681 } 79682 return func() int32 { 79683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50534), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetBusyhandlerØ00__func__Ø000))), unsafe.Pointer(str(81900))) 79684 crt.X__builtin_abort(tls) 79685 return i32(0) 79686 }() 79687 }() 79688 func() int32 { 79689 if unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ap)) + 4*uintptr(i32(1))))) == _pBusyHandlerArg { 79690 return i32(0) 79691 } 79692 return func() int32 { 79693 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50535), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetBusyhandlerØ00__func__Ø000))), unsafe.Pointer(str(81940))) 79694 crt.X__builtin_abort(tls) 79695 return i32(0) 79696 }() 79697 }() 79698 _sqlite3OsFileControlHint(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)), i32(15), (unsafe.Pointer)(_1_ap)) 79699 _0: 79700 return 79701 79702 } 79703 79704 var _sqlite3PagerSetBusyhandlerØ00__func__Ø000 [27]int8 // - 79705 79706 func init() { 79707 crt.Xstrncpy(nil, &_sqlite3PagerSetBusyhandlerØ00__func__Ø000[0], str(81964), 27) 79708 } 79709 79710 func _sqlite3PagerIsreadonly(tls *crt.TLS, _pPager *XPager) (r0 uint8) { // sqlite3.c:53438:1 79711 r0 = _pPager.X12 79712 return 79713 79714 } 79715 79716 func _sqlite3BtreeSchema(tls *crt.TLS, _p *XBtree, _nBytes int32, _xFree func(*crt.TLS, unsafe.Pointer)) (r0 unsafe.Pointer) { // sqlite3.c:68622:1 79717 var _pBt *XBtShared // sqlite3.c:68623:12 79718 _ = _pBt 79719 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 79720 _sqlite3BtreeEnter(tls, _p) 79721 if (_pBt.X19) != nil || _nBytes == 0 { 79722 goto _1 79723 } 79724 79725 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(48 /* X19 */))) = _sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(_nBytes)) 79726 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(52 /* X20 */))) = _xFree 79727 _1: 79728 _sqlite3BtreeLeave(tls, _p) 79729 r0 = _pBt.X19 79730 return 79731 79732 } 79733 79734 func _sqlite3PagerFile(tls *crt.TLS, _pPager *XPager) (r0 *Xsqlite3_file) { // sqlite3.c:53711:1 79735 r0 = (*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)) 79736 return 79737 79738 } 79739 79740 func _sqlite3BtreeConnectionCount(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68808:1 79741 r0 = (*XBtShared)(unsafe.Pointer(_p.X1)).X23 79742 return 79743 79744 } 79745 79746 var _sqlite3VdbeExecØ00vfsFlagsØ006 int32 // sqlite3.c:81740:20 79747 79748 func init() { 79749 _sqlite3VdbeExecØ00vfsFlagsØ006 = i32(1054) 79750 } 79751 79752 func _sqlite3BtreeCreateTable(tls *crt.TLS, _p *XBtree, _piTable *int32, _flags int32) (r0 int32) { // sqlite3.c:67537:1 79753 var _rc int32 // sqlite3.c:67538:7 79754 _ = _rc 79755 _sqlite3BtreeEnter(tls, _p) 79756 _rc = _btreeCreateTable(tls, _p, _piTable, _flags) 79757 _sqlite3BtreeLeave(tls, _p) 79758 r0 = _rc 79759 return 79760 79761 } 79762 79763 func _btreeCreateTable(tls *crt.TLS, _p *XBtree, _piTable *int32, _createTabFlags int32) (r0 int32) { // sqlite3.c:67394:1 79764 var _pBt *XBtShared // sqlite3.c:67395:12 79765 _ = _pBt 79766 var _pRoot *XMemPage // sqlite3.c:67396:11 79767 _ = _pRoot 79768 var _pgnoRoot uint32 // sqlite3.c:67397:8 79769 _ = _pgnoRoot 79770 var _rc int32 // sqlite3.c:67398:7 79771 _ = _rc 79772 var _ptfFlags int32 // sqlite3.c:67399:7 79773 _ = _ptfFlags 79774 var _1_pgnoMove uint32 // sqlite3.c:67412:10 79775 _ = _1_pgnoMove 79776 var _1_pPageMove *XMemPage // sqlite3.c:67413:13 79777 _ = _1_pPageMove 79778 var _4_eType uint8 // sqlite3.c:67455:10 79779 _ = _4_eType 79780 var _4_iPtrPage uint32 // sqlite3.c:67456:12 79781 _ = _4_iPtrPage 79782 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 79783 func() int32 { 79784 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 79785 return i32(0) 79786 } 79787 return func() int32 { 79788 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67401), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(17984))) 79789 crt.X__builtin_abort(tls) 79790 return i32(0) 79791 }() 79792 }() 79793 func() int32 { 79794 if int32(_pBt.X8) == i32(2) { 79795 return i32(0) 79796 } 79797 return func() int32 { 79798 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67402), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(60064))) 79799 crt.X__builtin_abort(tls) 79800 return i32(0) 79801 }() 79802 }() 79803 func() int32 { 79804 if (int32(_pBt.X10) & i32(1)) == i32(0) { 79805 return i32(0) 79806 } 79807 return func() int32 { 79808 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67403), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(80268))) 79809 crt.X__builtin_abort(tls) 79810 return i32(0) 79811 }() 79812 }() 79813 if (_pBt.X5) == 0 { 79814 goto _6 79815 } 79816 79817 _invalidateAllOverflowCache(tls, _pBt) 79818 _sqlite3BtreeGetMeta(tls, _p, i32(4), &_pgnoRoot) 79819 _pgnoRoot += 1 79820 _7: 79821 if _pgnoRoot != _ptrmapPageno(tls, _pBt, _pgnoRoot) && _pgnoRoot != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) { 79822 goto _8 79823 } 79824 79825 _pgnoRoot += 1 79826 goto _7 79827 79828 _8: 79829 func() int32 { 79830 if (_pgnoRoot >= uint32(i32(3))) || ((_sqlite3Config.X6) == i32(0)) { 79831 return i32(0) 79832 } 79833 return func() int32 { 79834 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67436), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(81992))) 79835 crt.X__builtin_abort(tls) 79836 return i32(0) 79837 }() 79838 }() 79839 _rc = _allocateBtreePage(tls, _pBt, &_1_pPageMove, &_1_pgnoMove, _pgnoRoot, uint8(i32(1))) 79840 if _rc == i32(0) { 79841 goto _13 79842 } 79843 79844 r0 = _rc 79845 return 79846 79847 _13: 79848 if _1_pgnoMove == _pgnoRoot { 79849 goto _14 79850 } 79851 79852 _4_eType = u8(0) 79853 _4_iPtrPage = u32(0) 79854 _rc = _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) 79855 _releasePage(tls, _1_pPageMove) 79856 if _rc == i32(0) { 79857 goto _15 79858 } 79859 79860 r0 = _rc 79861 return 79862 79863 _15: 79864 _rc = _btreeGetPage(tls, _pBt, _pgnoRoot, &_pRoot, i32(0)) 79865 if _rc == i32(0) { 79866 goto _16 79867 } 79868 79869 r0 = _rc 79870 return 79871 79872 _16: 79873 _rc = _ptrmapGet(tls, _pBt, _pgnoRoot, &_4_eType, &_4_iPtrPage) 79874 if int32(_4_eType) != i32(1) && int32(_4_eType) != i32(2) { 79875 goto _18 79876 } 79877 79878 _rc = _sqlite3CorruptError(tls, i32(67474)) 79879 _18: 79880 if _rc == i32(0) { 79881 goto _19 79882 } 79883 79884 _releasePage(tls, _pRoot) 79885 r0 = _rc 79886 return 79887 79888 _19: 79889 func() int32 { 79890 if int32(_4_eType) != i32(1) { 79891 return i32(0) 79892 } 79893 return func() int32 { 79894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67480), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(82020))) 79895 crt.X__builtin_abort(tls) 79896 return i32(0) 79897 }() 79898 }() 79899 func() int32 { 79900 if int32(_4_eType) != i32(2) { 79901 return i32(0) 79902 } 79903 return func() int32 { 79904 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67481), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(82044))) 79905 crt.X__builtin_abort(tls) 79906 return i32(0) 79907 }() 79908 }() 79909 _rc = _relocatePage(tls, _pBt, _pRoot, _4_eType, _4_iPtrPage, _1_pgnoMove, i32(0)) 79910 _releasePage(tls, _pRoot) 79911 if _rc == i32(0) { 79912 goto _24 79913 } 79914 79915 r0 = _rc 79916 return 79917 79918 _24: 79919 _rc = _btreeGetPage(tls, _pBt, _pgnoRoot, &_pRoot, i32(0)) 79920 if _rc == i32(0) { 79921 goto _25 79922 } 79923 79924 r0 = _rc 79925 return 79926 79927 _25: 79928 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) 79929 if _rc == i32(0) { 79930 goto _26 79931 } 79932 79933 _releasePage(tls, _pRoot) 79934 r0 = _rc 79935 return 79936 79937 _26: 79938 goto _27 79939 79940 _14: 79941 _pRoot = _1_pPageMove 79942 _27: 79943 _ptrmapPut(tls, _pBt, _pgnoRoot, uint8(i32(1)), uint32(i32(0)), &_rc) 79944 if _rc == 0 { 79945 goto _28 79946 } 79947 79948 _releasePage(tls, _pRoot) 79949 r0 = _rc 79950 return 79951 79952 _28: 79953 func() int32 { 79954 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) != 0 { 79955 return i32(0) 79956 } 79957 return func() int32 { 79958 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67513), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(82068))) 79959 crt.X__builtin_abort(tls) 79960 return i32(0) 79961 }() 79962 }() 79963 _rc = _sqlite3BtreeUpdateMeta(tls, _p, i32(4), _pgnoRoot) 79964 if func() int32 { 79965 if _rc != 0 { 79966 return func() int32 { 79967 func() int32 { 79968 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67515), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(5204))) 79969 crt.X__builtin_abort(tls) 79970 return i32(0) 79971 }() 79972 return i32(1) 79973 }() 79974 } 79975 return i32(0) 79976 }() == 0 { 79977 goto _33 79978 } 79979 79980 _releasePage(tls, _pRoot) 79981 r0 = _rc 79982 return 79983 79984 _33: 79985 goto _34 79986 79987 _6: 79988 _rc = _allocateBtreePage(tls, _pBt, &_pRoot, &_pgnoRoot, uint32(i32(1)), uint8(i32(0))) 79989 if _rc == 0 { 79990 goto _35 79991 } 79992 79993 r0 = _rc 79994 return 79995 79996 _35: 79997 _34: 79998 func() int32 { 79999 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) != 0 { 80000 return i32(0) 80001 } 80002 return func() int32 { 80003 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67525), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(82116))) 80004 crt.X__builtin_abort(tls) 80005 return i32(0) 80006 }() 80007 }() 80008 if (_createTabFlags & i32(1)) == 0 { 80009 goto _38 80010 } 80011 80012 _ptfFlags = i32(13) 80013 goto _39 80014 80015 _38: 80016 _ptfFlags = i32(10) 80017 _39: 80018 _zeroPage(tls, _pRoot, _ptfFlags) 80019 _sqlite3PagerUnref(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) 80020 func() int32 { 80021 if ((int32(_pBt.X4) & i32(4)) == i32(0)) || (_pgnoRoot == uint32(i32(2))) { 80022 return i32(0) 80023 } 80024 return func() int32 { 80025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67533), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeCreateTableØ00__func__Ø000))), unsafe.Pointer(str(82156))) 80026 crt.X__builtin_abort(tls) 80027 return i32(0) 80028 }() 80029 }() 80030 *_piTable = int32(_pgnoRoot) 80031 r0 = i32(0) 80032 return 80033 80034 } 80035 80036 var _btreeCreateTableØ00__func__Ø000 [17]int8 // - 80037 80038 func init() { 80039 crt.Xstrncpy(nil, &_btreeCreateTableØ00__func__Ø000[0], str(82208), 17) 80040 } 80041 80042 func _sqlite3VdbeSorterInit(tls *crt.TLS, _db *Xsqlite3, _nField int32, _pCsr *XVdbeCursor) (r0 int32) { // sqlite3.c:86776:1 80043 var _pgsz int32 // sqlite3.c:86781:7 80044 _ = _pgsz 80045 var _i int32 // sqlite3.c:86782:7 80046 _ = _i 80047 var _pSorter *XVdbeSorter // sqlite3.c:86783:14 80048 _ = _pSorter 80049 var _pKeyInfo *XKeyInfo // sqlite3.c:86784:11 80050 _ = _pKeyInfo 80051 var _szKeyInfo int32 // sqlite3.c:86785:7 80052 _ = _szKeyInfo 80053 var _sz int32 // sqlite3.c:86786:7 80054 _ = _sz 80055 var _rc int32 // sqlite3.c:86787:7 80056 _ = _rc 80057 var _nWorker int32 // sqlite3.c:86791:7 80058 _ = _nWorker 80059 var _6_pTask *XSortSubtask // sqlite3.c:86834:19 80060 _ = _6_pTask 80061 var _7_mxCache int64 // sqlite3.c:86839:11 80062 _ = _7_mxCache 80063 var _7_szPma uint32 // sqlite3.c:86840:11 80064 _ = _7_szPma 80065 _rc = i32(0) 80066 if _sqlite3TempInMemory(tls, _db) == 0 && (_sqlite3Config.X1) != i32(0) { 80067 goto _1 80068 } 80069 80070 _nWorker = i32(0) 80071 goto _2 80072 80073 _1: 80074 _nWorker = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(11)))) 80075 _2: 80076 func() int32 { 80077 if ((*XKeyInfo)(unsafe.Pointer(_pCsr.X15)) != nil) && ((*XBtree)(unsafe.Pointer(_pCsr.X8)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) { 80078 return i32(0) 80079 } 80080 return func() int32 { 80081 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterInitØ00__func__Ø000))), unsafe.Pointer(str(82228))) 80082 crt.X__builtin_abort(tls) 80083 return i32(0) 80084 }() 80085 }() 80086 func() int32 { 80087 if int32(_pCsr.X0) == i32(1) { 80088 return i32(0) 80089 } 80090 return func() int32 { 80091 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterInitØ00__func__Ø000))), unsafe.Pointer(str(61056))) 80092 crt.X__builtin_abort(tls) 80093 return i32(0) 80094 }() 80095 }() 80096 _szKeyInfo = int32(u32(24) + (uint32(int32((*XKeyInfo)(unsafe.Pointer(_pCsr.X15)).X2)-i32(1)) * u32(4))) 80097 _sz = int32(u32(124) + (uint32(_nWorker) * u32(60))) 80098 _pSorter = (*XVdbeSorter)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_sz+_szKeyInfo)))) 80099 *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) = _pSorter 80100 if _pSorter != (*XVdbeSorter)(unsafe.Pointer(uintptr(i32(0)))) { 80101 goto _8 80102 } 80103 80104 _rc = _sqlite3NomemError(tls, i32(86819)) 80105 goto _9 80106 80107 _8: 80108 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(28 /* X7 */))))) = store7997238(&_pKeyInfo, (*XKeyInfo)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_pSorter))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_sz)))))))))) 80109 crt.Xmemcpy(tls, (unsafe.Pointer)(_pKeyInfo), _pCsr.X15, uint32(_szKeyInfo)) 80110 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo)) + uintptr(12 /* X4 */))))) = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 80111 if _nField == 0 || _nWorker != i32(0) { 80112 goto _11 80113 } 80114 80115 { 80116 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo)) + uintptr(8 /* X3 */))) 80117 *p = uint16(int32(*p) + (int32(_pKeyInfo.X2) - _nField)) 80118 sink6908 = *p 80119 } 80120 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo)) + uintptr(6 /* X2 */))) = uint16(_nField) 80121 _11: 80122 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(12 /* X3 */))) = store961(&_pgsz, _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1)))) 80123 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(59 /* X15 */))) = uint8(_nWorker + i32(1)) 80124 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(58 /* X14 */))) = uint8(_nWorker - i32(1)) 80125 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(57 /* X13 */))) = uint8(bool2int(int32(_pSorter.X15) > i32(1))) 80126 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(24 /* X6 */))))) = _db 80127 _i = i32(0) 80128 _12: 80129 if _i >= int32(_pSorter.X15) { 80130 goto _15 80131 } 80132 80133 _6_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(_i))) 80134 *(**XVdbeSorter)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pTask)) + uintptr(8 /* X2 */))))) = _pSorter 80135 _i += 1 80136 goto _12 80137 80138 _15: 80139 if _sqlite3TempInMemory(tls, _db) != 0 { 80140 goto _16 80141 } 80142 80143 _7_szPma = _sqlite3Config.X27 80144 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(0 /* X0 */))) = int32(_7_szPma * uint32(_pgsz)) 80145 _7_mxCache = int64((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(i32(0)))).X4)).X10) 80146 if _7_mxCache >= int64(i32(0)) { 80147 goto _17 80148 } 80149 80150 _7_mxCache = _7_mxCache * int64(i32(-1024)) 80151 goto _18 80152 80153 _17: 80154 _7_mxCache = _7_mxCache * int64(_pgsz) 80155 _18: 80156 _7_mxCache = func() int64 { 80157 if _7_mxCache < int64(i32(536870912)) { 80158 return _7_mxCache 80159 } 80160 return int64(i32(536870912)) 80161 }() 80162 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(4 /* X1 */))) = func() int32 { 80163 if (_pSorter.X0) > int32(_7_mxCache) { 80164 return (_pSorter.X0) 80165 } 80166 return int32(_7_mxCache) 80167 }() 80168 if unsafe.Pointer(_sqlite3Config.X19) != (unsafe.Pointer)(uintptr(i32(0))) { 80169 goto _23 80170 } 80171 80172 func() int32 { 80173 if (_pSorter.X10) == i32(0) { 80174 return i32(0) 80175 } 80176 return func() int32 { 80177 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86859), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterInitØ00__func__Ø000))), unsafe.Pointer(str(82260))) 80178 crt.X__builtin_abort(tls) 80179 return i32(0) 80180 }() 80181 }() 80182 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(52 /* X11 */))) = _pgsz 80183 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(4 /* X1 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_pgsz)))) 80184 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) != nil { 80185 goto _26 80186 } 80187 80188 _rc = _sqlite3NomemError(tls, i32(86862)) 80189 _26: 80190 _23: 80191 _16: 80192 if (int32(_pKeyInfo.X2)+int32(_pKeyInfo.X3)) >= i32(13) || (*(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(i32(0))))) != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) && (*(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(i32(0))))) != (*XCollSeq)(unsafe.Pointer(_db.X2)) { 80193 goto _29 80194 } 80195 80196 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(60 /* X16 */))) = uint8(i32(3)) 80197 _29: 80198 _9: 80199 r0 = _rc 80200 return 80201 80202 } 80203 80204 var _sqlite3VdbeSorterInitØ00__func__Ø000 [22]int8 // - 80205 80206 func init() { 80207 crt.Xstrncpy(nil, &_sqlite3VdbeSorterInitØ00__func__Ø000[0], str(82280), 22) 80208 } 80209 80210 func _sqlite3BtreeCursorHasHint(tls *crt.TLS, _pCsr *XBtCursor, _mask uint32) (r0 int32) { // sqlite3.c:68779:1 80211 r0 = bool2int((uint32(_pCsr.X13) & _mask) != uint32(i32(0))) 80212 return 80213 80214 } 80215 80216 func _sqlite3BtreePrevious(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64557:1 80217 func() int32 { 80218 if _cursorOwnsBtShared(tls, _pCur) != 0 { 80219 return i32(0) 80220 } 80221 return func() int32 { 80222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64558), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePreviousØ00__func__Ø000))), unsafe.Pointer(str(76036))) 80223 crt.X__builtin_abort(tls) 80224 return i32(0) 80225 }() 80226 }() 80227 func() int32 { 80228 if _pRes != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 80229 return i32(0) 80230 } 80231 return func() int32 { 80232 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64559), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77004))) 80233 crt.X__builtin_abort(tls) 80234 return i32(0) 80235 }() 80236 }() 80237 func() int32 { 80238 if ((*_pRes) == i32(0)) || ((*_pRes) == i32(1)) { 80239 return i32(0) 80240 } 80241 return func() int32 { 80242 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64560), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77012))) 80243 crt.X__builtin_abort(tls) 80244 return i32(0) 80245 }() 80246 }() 80247 func() int32 { 80248 if ((_pCur.X9) == i32(0)) || (int32(_pCur.X12) != i32(1)) { 80249 return i32(0) 80250 } 80251 return func() int32 { 80252 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64561), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77036))) 80253 crt.X__builtin_abort(tls) 80254 return i32(0) 80255 }() 80256 }() 80257 *_pRes = i32(0) 80258 { 80259 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 80260 *p = uint8(int32(*p) & i32(-15)) 80261 sink6915 = *p 80262 } 80263 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 80264 if int32(_pCur.X12) == i32(1) && int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) != i32(0) && int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X5) != i32(0) { 80265 goto _12 80266 } 80267 80268 r0 = _btreePrevious(tls, _pCur, _pRes) 80269 return 80270 80271 _12: 80272 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) -= 1 80273 r0 = i32(0) 80274 return 80275 80276 } 80277 80278 var _sqlite3BtreePreviousØ00__func__Ø000 [21]int8 // - 80279 80280 func init() { 80281 crt.Xstrncpy(nil, &_sqlite3BtreePreviousØ00__func__Ø000[0], str(82304), 21) 80282 } 80283 80284 func _btreePrevious(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64498:1 80285 var _rc int32 // sqlite3.c:64499:7 80286 _ = _rc 80287 var _pPage *XMemPage // sqlite3.c:64500:11 80288 _ = _pPage 80289 var _6_idx int32 // sqlite3.c:64531:9 80290 _ = _6_idx 80291 func() int32 { 80292 if _cursorOwnsBtShared(tls, _pCur) != 0 { 80293 return i32(0) 80294 } 80295 return func() int32 { 80296 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64502), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(76036))) 80297 crt.X__builtin_abort(tls) 80298 return i32(0) 80299 }() 80300 }() 80301 func() int32 { 80302 if _pRes != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 80303 return i32(0) 80304 } 80305 return func() int32 { 80306 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64503), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77004))) 80307 crt.X__builtin_abort(tls) 80308 return i32(0) 80309 }() 80310 }() 80311 func() int32 { 80312 if (*_pRes) == i32(0) { 80313 return i32(0) 80314 } 80315 return func() int32 { 80316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64504), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77104))) 80317 crt.X__builtin_abort(tls) 80318 return i32(0) 80319 }() 80320 }() 80321 func() int32 { 80322 if ((_pCur.X9) == i32(0)) || (int32(_pCur.X12) != i32(1)) { 80323 return i32(0) 80324 } 80325 return func() int32 { 80326 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64505), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77036))) 80327 crt.X__builtin_abort(tls) 80328 return i32(0) 80329 }() 80330 }() 80331 func() int32 { 80332 if (int32(_pCur.X10) & i32(14)) == i32(0) { 80333 return i32(0) 80334 } 80335 return func() int32 { 80336 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64506), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(82328))) 80337 crt.X__builtin_abort(tls) 80338 return i32(0) 80339 }() 80340 }() 80341 func() int32 { 80342 if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X4) == i32(0) { 80343 return i32(0) 80344 } 80345 return func() int32 { 80346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64507), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(82396))) 80347 crt.X__builtin_abort(tls) 80348 return i32(0) 80349 }() 80350 }() 80351 if int32(_pCur.X12) == i32(1) { 80352 goto _13 80353 } 80354 80355 _rc = func() int32 { 80356 if int32(_pCur.X12) >= i32(3) { 80357 return _btreeRestoreCursorPosition(tls, _pCur) 80358 } 80359 return i32(0) 80360 }() 80361 if _rc == i32(0) { 80362 goto _16 80363 } 80364 80365 r0 = _rc 80366 return 80367 80368 _16: 80369 if i32(0) != int32(_pCur.X12) { 80370 goto _17 80371 } 80372 80373 *_pRes = i32(1) 80374 r0 = i32(0) 80375 return 80376 80377 _17: 80378 if (_pCur.X9) == 0 { 80379 goto _18 80380 } 80381 80382 func() int32 { 80383 if (int32(_pCur.X12) == i32(1)) || (int32(_pCur.X12) == i32(2)) { 80384 return i32(0) 80385 } 80386 return func() int32 { 80387 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64518), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(77116))) 80388 crt.X__builtin_abort(tls) 80389 return i32(0) 80390 }() 80391 }() 80392 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(1)) 80393 if (_pCur.X9) >= i32(0) { 80394 goto _22 80395 } 80396 80397 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(0) 80398 r0 = i32(0) 80399 return 80400 80401 _22: 80402 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(0) 80403 _18: 80404 _13: 80405 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 80406 func() int32 { 80407 if (_pPage.X0) != 0 { 80408 return i32(0) 80409 } 80410 return func() int32 { 80411 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64529), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(76880))) 80412 crt.X__builtin_abort(tls) 80413 return i32(0) 80414 }() 80415 }() 80416 if (_pPage.X5) != 0 { 80417 goto _25 80418 } 80419 80420 _6_idx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) 80421 _rc = _moveToChild(tls, _pCur, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_6_idx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_6_idx))))) + 1*uintptr(i32(1))))))))))))))) 80422 if _rc == 0 { 80423 goto _26 80424 } 80425 80426 r0 = _rc 80427 return 80428 80429 _26: 80430 _rc = _moveToRightmost(tls, _pCur) 80431 goto _27 80432 80433 _25: 80434 _28: 80435 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) != i32(0) { 80436 goto _29 80437 } 80438 80439 if int32(_pCur.X14) != i32(0) { 80440 goto _30 80441 } 80442 80443 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 80444 *_pRes = i32(1) 80445 r0 = i32(0) 80446 return 80447 80448 _30: 80449 _moveToParent(tls, _pCur) 80450 goto _28 80451 80452 _29: 80453 func() int32 { 80454 if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X4) == i32(0) { 80455 return i32(0) 80456 } 80457 return func() int32 { 80458 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64544), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(82396))) 80459 crt.X__builtin_abort(tls) 80460 return i32(0) 80461 }() 80462 }() 80463 func() int32 { 80464 if (int32(_pCur.X10) & i32(4)) == i32(0) { 80465 return i32(0) 80466 } 80467 return func() int32 { 80468 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64545), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePreviousØ00__func__Ø000))), unsafe.Pointer(str(82416))) 80469 crt.X__builtin_abort(tls) 80470 return i32(0) 80471 }() 80472 }() 80473 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) -= 1 80474 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 80475 if (_pPage.X2) == 0 || (_pPage.X5) != 0 { 80476 goto _36 80477 } 80478 80479 _rc = _sqlite3BtreePrevious(tls, _pCur, _pRes) 80480 goto _37 80481 80482 _36: 80483 _rc = i32(0) 80484 _37: 80485 _27: 80486 r0 = _rc 80487 return 80488 80489 } 80490 80491 var _btreePreviousØ00__func__Ø000 [14]int8 // - 80492 80493 func init() { 80494 crt.Xstrncpy(nil, &_btreePreviousØ00__func__Ø000[0], str(82456), 14) 80495 } 80496 80497 func _moveToRightmost(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63975:1 80498 var _pgno uint32 // sqlite3.c:63976:8 80499 _ = _pgno 80500 var _rc int32 // sqlite3.c:63977:7 80501 _ = _rc 80502 var _pPage *XMemPage // sqlite3.c:63978:11 80503 _ = _pPage 80504 _rc = i32(0) 80505 _pPage = nil 80506 func() int32 { 80507 if _cursorOwnsBtShared(tls, _pCur) != 0 { 80508 return i32(0) 80509 } 80510 return func() int32 { 80511 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63980), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRightmostØ00__func__Ø000))), unsafe.Pointer(str(76036))) 80512 crt.X__builtin_abort(tls) 80513 return i32(0) 80514 }() 80515 }() 80516 func() int32 { 80517 if int32(_pCur.X12) == i32(1) { 80518 return i32(0) 80519 } 80520 return func() int32 { 80521 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63981), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRightmostØ00__func__Ø000))), unsafe.Pointer(str(10500))) 80522 crt.X__builtin_abort(tls) 80523 return i32(0) 80524 }() 80525 }() 80526 _4: 80527 if (store7992286(&_pPage, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X5) != 0 { 80528 goto _5 80529 } 80530 80531 _pgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(int32(_pPage.X6)+i32(8))))) 80532 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = _pPage.X14 80533 _rc = _moveToChild(tls, _pCur, _pgno) 80534 if _rc == 0 { 80535 goto _6 80536 } 80537 80538 r0 = _rc 80539 return 80540 80541 _6: 80542 goto _4 80543 80544 _5: 80545 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14))) = uint16(int32(_pPage.X14) - i32(1)) 80546 func() int32 { 80547 if int32((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X4) == i32(0) { 80548 return i32(0) 80549 } 80550 return func() int32 { 80551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63989), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRightmostØ00__func__Ø000))), unsafe.Pointer(str(82396))) 80552 crt.X__builtin_abort(tls) 80553 return i32(0) 80554 }() 80555 }() 80556 func() int32 { 80557 if (int32(_pCur.X10) & i32(2)) == i32(0) { 80558 return i32(0) 80559 } 80560 return func() int32 { 80561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63990), unsafe.Pointer((*int8)(unsafe.Pointer(&_moveToRightmostØ00__func__Ø000))), unsafe.Pointer(str(82472))) 80562 crt.X__builtin_abort(tls) 80563 return i32(0) 80564 }() 80565 }() 80566 r0 = i32(0) 80567 return 80568 80569 } 80570 80571 var _moveToRightmostØ00__func__Ø000 [16]int8 // - 80572 80573 func init() { 80574 crt.Xstrncpy(nil, &_moveToRightmostØ00__func__Ø000[0], str(82512), 16) 80575 } 80576 80577 func _sqlite3BtreeEof(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:64335:1 80578 r0 = bool2int(i32(1) != int32(_pCur.X12)) 80579 return 80580 80581 } 80582 80583 func _sqlite3BtreeLast(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:64021:1 80584 var _rc int32 // sqlite3.c:64022:7 80585 _ = _rc 80586 var _1_ii int32 // sqlite3.c:64032:9 80587 _ = _1_ii 80588 func() int32 { 80589 if _cursorOwnsBtShared(tls, _pCur) != 0 { 80590 return i32(0) 80591 } 80592 return func() int32 { 80593 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64024), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(76036))) 80594 crt.X__builtin_abort(tls) 80595 return i32(0) 80596 }() 80597 }() 80598 func() int32 { 80599 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { 80600 return i32(0) 80601 } 80602 return func() int32 { 80603 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64025), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(76064))) 80604 crt.X__builtin_abort(tls) 80605 return i32(0) 80606 }() 80607 }() 80608 if i32(1) != int32(_pCur.X12) || (int32(_pCur.X10)&i32(8)) == i32(0) { 80609 goto _5 80610 } 80611 80612 _1_ii = i32(0) 80613 _6: 80614 if _1_ii >= int32(_pCur.X14) { 80615 goto _9 80616 } 80617 80618 func() int32 { 80619 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_1_ii)))) == int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_1_ii)))).X14) { 80620 return i32(0) 80621 } 80622 return func() int32 { 80623 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64034), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(82528))) 80624 crt.X__builtin_abort(tls) 80625 return i32(0) 80626 }() 80627 }() 80628 _1_ii += 1 80629 goto _6 80630 80631 _9: 80632 func() int32 { 80633 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) == (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) - i32(1)) { 80634 return i32(0) 80635 } 80636 return func() int32 { 80637 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64036), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(82572))) 80638 crt.X__builtin_abort(tls) 80639 return i32(0) 80640 }() 80641 }() 80642 func() int32 { 80643 if ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X5) != 0 { 80644 return i32(0) 80645 } 80646 return func() int32 { 80647 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64037), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(82636))) 80648 crt.X__builtin_abort(tls) 80649 return i32(0) 80650 }() 80651 }() 80652 r0 = i32(0) 80653 return 80654 80655 _5: 80656 _rc = _moveToRoot(tls, _pCur) 80657 if _rc != i32(0) { 80658 goto _16 80659 } 80660 80661 if i32(0) != int32(_pCur.X12) { 80662 goto _17 80663 } 80664 80665 func() int32 { 80666 if ((_pCur.X7) == uint32(i32(0))) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) == i32(0)) { 80667 return i32(0) 80668 } 80669 return func() int32 { 80670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64045), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(76468))) 80671 crt.X__builtin_abort(tls) 80672 return i32(0) 80673 }() 80674 }() 80675 *_pRes = i32(1) 80676 goto _21 80677 80678 _17: 80679 func() int32 { 80680 if int32(_pCur.X12) == i32(1) { 80681 return i32(0) 80682 } 80683 return func() int32 { 80684 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64048), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLastØ00__func__Ø000))), unsafe.Pointer(str(10500))) 80685 crt.X__builtin_abort(tls) 80686 return i32(0) 80687 }() 80688 }() 80689 *_pRes = i32(0) 80690 _rc = _moveToRightmost(tls, _pCur) 80691 if _rc != i32(0) { 80692 goto _24 80693 } 80694 80695 { 80696 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 80697 *p = uint8(int32(*p) | i32(8)) 80698 sink6915 = *p 80699 } 80700 goto _25 80701 80702 _24: 80703 { 80704 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 80705 *p = uint8(int32(*p) & i32(-9)) 80706 sink6915 = *p 80707 } 80708 _25: 80709 _21: 80710 _16: 80711 r0 = _rc 80712 return 80713 80714 } 80715 80716 var _sqlite3BtreeLastØ00__func__Ø000 [17]int8 // - 80717 80718 func init() { 80719 crt.Xstrncpy(nil, &_sqlite3BtreeLastØ00__func__Ø000[0], str(82668), 17) 80720 } 80721 80722 func _sqlite3BtreeInsert(tls *crt.TLS, _pCur *XBtCursor, _pX *XBtreePayload, _flags int32, _seekResult int32) (r0 int32) { // sqlite3.c:67015:1 80723 var _rc int32 // sqlite3.c:67021:7 80724 _ = _rc 80725 var _loc int32 // sqlite3.c:67022:7 80726 _ = _loc 80727 var _szNew int32 // sqlite3.c:67023:7 80728 _ = _szNew 80729 var _idx int32 // sqlite3.c:67024:7 80730 _ = _idx 80731 var _pPage *XMemPage // sqlite3.c:67025:11 80732 _ = _pPage 80733 var _p *XBtree // sqlite3.c:67026:9 80734 _ = _p 80735 var _pBt *XBtShared // sqlite3.c:67027:12 80736 _ = _pBt 80737 var _oldCell *uint8 // sqlite3.c:67028:17 80738 _ = _oldCell 80739 var _newCell *uint8 // sqlite3.c:67029:17 80740 _ = _newCell 80741 var _8_r XUnpackedRecord // sqlite3.c:67092:22 80742 _ = _8_r 80743 var _10_info XCellInfo // sqlite3.c:67125:14 80744 _ = _10_info 80745 _loc = _seekResult 80746 _szNew = i32(0) 80747 _p = (*XBtree)(unsafe.Pointer(_pCur.X0)) 80748 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 80749 _newCell = nil 80750 func() int32 { 80751 if (_flags & i32(10)) == _flags { 80752 return i32(0) 80753 } 80754 return func() int32 { 80755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(82688))) 80756 crt.X__builtin_abort(tls) 80757 return i32(0) 80758 }() 80759 }() 80760 if int32(_pCur.X12) != i32(4) { 80761 goto _2 80762 } 80763 80764 func() int32 { 80765 if (_pCur.X9) != i32(0) { 80766 return i32(0) 80767 } 80768 return func() int32 { 80769 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67034), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(79244))) 80770 crt.X__builtin_abort(tls) 80771 return i32(0) 80772 }() 80773 }() 80774 r0 = _pCur.X9 80775 return 80776 80777 _2: 80778 func() int32 { 80779 if _cursorOwnsBtShared(tls, _pCur) != 0 { 80780 return i32(0) 80781 } 80782 return func() int32 { 80783 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67038), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(76036))) 80784 crt.X__builtin_abort(tls) 80785 return i32(0) 80786 }() 80787 }() 80788 func() int32 { 80789 if (((int32(_pCur.X10) & i32(1)) != i32(0)) && (int32(_pBt.X8) == i32(2))) && ((int32(_pBt.X10) & i32(1)) == i32(0)) { 80790 return i32(0) 80791 } 80792 return func() int32 { 80793 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67039), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(82740))) 80794 crt.X__builtin_abort(tls) 80795 return i32(0) 80796 }() 80797 }() 80798 func() int32 { 80799 if _hasSharedCacheTableLock(tls, _p, _pCur.X7, bool2int((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))), i32(2)) != 0 { 80800 return i32(0) 80801 } 80802 return func() int32 { 80803 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67042), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(82852))) 80804 crt.X__builtin_abort(tls) 80805 return i32(0) 80806 }() 80807 }() 80808 func() int32 { 80809 if (unsafe.Pointer(_pX.X0) == (unsafe.Pointer)(uintptr(i32(0)))) == ((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) { 80810 return i32(0) 80811 } 80812 return func() int32 { 80813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67049), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(82920))) 80814 crt.X__builtin_abort(tls) 80815 return i32(0) 80816 }() 80817 }() 80818 if (int32(_pCur.X10) & i32(32)) == 0 { 80819 goto _15 80820 } 80821 80822 _rc = _saveAllCursors(tls, _pBt, _pCur.X7, _pCur) 80823 if _rc == 0 { 80824 goto _16 80825 } 80826 80827 r0 = _rc 80828 return 80829 80830 _16: 80831 _15: 80832 if (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { 80833 goto _17 80834 } 80835 80836 func() int32 { 80837 if unsafe.Pointer(_pX.X0) == (unsafe.Pointer)(uintptr(i32(0))) { 80838 return i32(0) 80839 } 80840 return func() int32 { 80841 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67068), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(82956))) 80842 crt.X__builtin_abort(tls) 80843 return i32(0) 80844 }() 80845 }() 80846 _invalidateIncrblobCursors(tls, _p, _pX.X1, i32(0)) 80847 func() int32 { 80848 if ((_flags & i32(2)) == i32(0)) || (((int32(_pCur.X10) & i32(2)) != i32(0)) && ((_pX.X1) == ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(16 /* X4 */))).X0))) { 80849 return i32(0) 80850 } 80851 return func() int32 { 80852 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67075), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(82968))) 80853 crt.X__builtin_abort(tls) 80854 return i32(0) 80855 }() 80856 }() 80857 if (int32(_pCur.X10)&i32(2)) == i32(0) || (_pX.X1) != ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X0) { 80858 goto _25 80859 } 80860 80861 _loc = i32(0) 80862 goto _26 80863 80864 _25: 80865 if (int32(_pCur.X10)&i32(2)) == i32(0) || (_pX.X1) <= int64(i32(0)) || ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X0) != ((_pX.X1)-int64(i32(1))) { 80866 goto _29 80867 } 80868 80869 _loc = i32(-1) 80870 goto _30 80871 80872 _29: 80873 if _loc != i32(0) { 80874 goto _31 80875 } 80876 80877 _rc = _sqlite3BtreeMovetoUnpacked(tls, _pCur, (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))), _pX.X1, bool2int(_flags != i32(0)), &_loc) 80878 if _rc == 0 { 80879 goto _32 80880 } 80881 80882 r0 = _rc 80883 return 80884 80885 _32: 80886 _31: 80887 _30: 80888 _26: 80889 goto _33 80890 80891 _17: 80892 if _loc != i32(0) || (_flags&i32(2)) != i32(0) { 80893 goto _35 80894 } 80895 80896 if (_pX.X4) == 0 { 80897 goto _36 80898 } 80899 80900 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(0 /* X0 */))))) = (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) 80901 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(4 /* X1 */))))) = (*XMem)(unsafe.Pointer(_pX.X3)) 80902 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(8 /* X2 */))) = _pX.X4 80903 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(10 /* X3 */))) = int8(i32(0)) 80904 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(11 /* X4 */))) = uint8(i32(0)) 80905 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(12 /* X5 */))) = int8(i32(0)) 80906 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(13 /* X6 */))) = int8(i32(0)) 80907 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_r)) + uintptr(14 /* X7 */))) = uint8(i32(0)) 80908 _rc = _sqlite3BtreeMovetoUnpacked(tls, _pCur, &_8_r, int64(i32(0)), bool2int(_flags != i32(0)), &_loc) 80909 goto _37 80910 80911 _36: 80912 _rc = _btreeMoveto(tls, _pCur, _pX.X0, _pX.X1, bool2int(_flags != i32(0)), &_loc) 80913 _37: 80914 if _rc == 0 { 80915 goto _38 80916 } 80917 80918 r0 = _rc 80919 return 80920 80921 _38: 80922 _35: 80923 _33: 80924 func() int32 { 80925 if (int32(_pCur.X12) == i32(1)) || ((int32(_pCur.X12) == i32(0)) && _loc != 0) { 80926 return i32(0) 80927 } 80928 return func() int32 { 80929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67107), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83072))) 80930 crt.X__builtin_abort(tls) 80931 return i32(0) 80932 }() 80933 }() 80934 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 80935 func() int32 { 80936 if ((_pPage.X2) != 0) || ((_pX.X1) >= int64(i32(0))) { 80937 return i32(0) 80938 } 80939 return func() int32 { 80940 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67110), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83140))) 80941 crt.X__builtin_abort(tls) 80942 return i32(0) 80943 }() 80944 }() 80945 func() int32 { 80946 if ((_pPage.X5) != 0) || ((_pPage.X2) == 0) { 80947 return i32(0) 80948 } 80949 return func() int32 { 80950 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83172))) 80951 crt.X__builtin_abort(tls) 80952 return i32(0) 80953 }() 80954 }() 80955 func() int32 { 80956 if (_pPage.X0) != 0 { 80957 return i32(0) 80958 } 80959 return func() int32 { 80960 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67116), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(76880))) 80961 crt.X__builtin_abort(tls) 80962 return i32(0) 80963 }() 80964 }() 80965 _newCell = _pBt.X27 80966 func() int32 { 80967 if _newCell != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 80968 return i32(0) 80969 } 80970 return func() int32 { 80971 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67118), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83204))) 80972 crt.X__builtin_abort(tls) 80973 return i32(0) 80974 }() 80975 }() 80976 _rc = _fillInCell(tls, _pPage, _newCell, _pX, &_szNew) 80977 if _rc == 0 { 80978 goto _53 80979 } 80980 80981 goto _end_insert 80982 80983 _53: 80984 func() int32 { 80985 if _szNew == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 80986 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 80987 }{(_pPage.X24)})))(tls, _pPage, _newCell)) { 80988 return i32(0) 80989 } 80990 return func() int32 { 80991 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67121), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83216))) 80992 crt.X__builtin_abort(tls) 80993 return i32(0) 80994 }() 80995 }() 80996 func() int32 { 80997 if _szNew <= int32((_pBt.X15)-uint32(i32(8))) { 80998 return i32(0) 80999 } 81000 return func() int32 { 81001 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67122), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83256))) 81002 crt.X__builtin_abort(tls) 81003 return i32(0) 81004 }() 81005 }() 81006 _idx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) 81007 if _loc != i32(0) { 81008 goto _58 81009 } 81010 81011 func() int32 { 81012 if _idx < int32(_pPage.X14) { 81013 return i32(0) 81014 } 81015 return func() int32 { 81016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67126), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83284))) 81017 crt.X__builtin_abort(tls) 81018 return i32(0) 81019 }() 81020 }() 81021 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 81022 if _rc == 0 { 81023 goto _61 81024 } 81025 81026 goto _end_insert 81027 81028 _61: 81029 _oldCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_idx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_idx))))) + 1*uintptr(i32(1))))))))))))) 81030 if (_pPage.X5) != 0 { 81031 goto _62 81032 } 81033 81034 crt.Xmemcpy(tls, (unsafe.Pointer)(_newCell), (unsafe.Pointer)(_oldCell), uint32(i32(4))) 81035 _62: 81036 _rc = _clearCell(tls, _pPage, _oldCell, &_10_info) 81037 if int32(_10_info.X4) != _szNew || uint32(_10_info.X3) != (_10_info.X2) { 81038 goto _64 81039 } 81040 81041 func() int32 { 81042 if _rc == i32(0) { 81043 return i32(0) 81044 } 81045 return func() int32 { 81046 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67142), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(15360))) 81047 crt.X__builtin_abort(tls) 81048 return i32(0) 81049 }() 81050 }() 81051 if uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_oldCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_szNew))))))))) <= uintptr(unsafe.Pointer(_pPage.X20)) { 81052 goto _67 81053 } 81054 81055 r0 = _sqlite3CorruptError(tls, i32(67143)) 81056 return 81057 81058 _67: 81059 crt.Xmemcpy(tls, (unsafe.Pointer)(_oldCell), (unsafe.Pointer)(_newCell), uint32(_szNew)) 81060 r0 = i32(0) 81061 return 81062 81063 _64: 81064 _dropCell(tls, _pPage, _idx, int32(_10_info.X4), &_rc) 81065 if _rc == 0 { 81066 goto _68 81067 } 81068 81069 goto _end_insert 81070 81071 _68: 81072 goto _69 81073 81074 _58: 81075 if _loc >= i32(0) || int32(_pPage.X14) <= i32(0) { 81076 goto _71 81077 } 81078 81079 func() int32 { 81080 if (_pPage.X5) != 0 { 81081 return i32(0) 81082 } 81083 return func() int32 { 81084 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67150), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83304))) 81085 crt.X__builtin_abort(tls) 81086 return i32(0) 81087 }() 81088 }() 81089 _idx = int32(preInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */)))))+2*uintptr(_pCur.X14))), uint16(1))) 81090 goto _74 81091 81092 _71: 81093 func() int32 { 81094 if (_pPage.X5) != 0 { 81095 return i32(0) 81096 } 81097 return func() int32 { 81098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67153), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83304))) 81099 crt.X__builtin_abort(tls) 81100 return i32(0) 81101 }() 81102 }() 81103 _74: 81104 _69: 81105 _insertCell(tls, _pPage, _idx, _newCell, _szNew, (*uint8)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(0)), &_rc) 81106 func() int32 { 81107 if (int32(_pPage.X9) == i32(0)) || (_rc == i32(0)) { 81108 return i32(0) 81109 } 81110 return func() int32 { 81111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67156), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83316))) 81112 crt.X__builtin_abort(tls) 81113 return i32(0) 81114 }() 81115 }() 81116 func() int32 { 81117 if ((_rc != i32(0)) || (int32(_pPage.X14) > i32(0))) || (int32(_pPage.X9) > i32(0)) { 81118 return i32(0) 81119 } 81120 return func() int32 { 81121 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67157), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83356))) 81122 crt.X__builtin_abort(tls) 81123 return i32(0) 81124 }() 81125 }() 81126 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))))) + uintptr(18 /* X4 */))) = uint16(i32(0)) 81127 if (_pPage.X9) == 0 { 81128 goto _84 81129 } 81130 81131 func() int32 { 81132 if _rc == i32(0) { 81133 return i32(0) 81134 } 81135 return func() int32 { 81136 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67181), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(15360))) 81137 crt.X__builtin_abort(tls) 81138 return i32(0) 81139 }() 81140 }() 81141 { 81142 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 81143 *p = uint8(int32(*p) & i32(-3)) 81144 sink6915 = *p 81145 } 81146 _rc = _balance(tls, _pCur) 81147 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))))) + uintptr(12 /* X9 */))) = uint8(i32(0)) 81148 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 81149 if (_flags&i32(2)) == 0 || _rc != i32(0) { 81150 goto _88 81151 } 81152 81153 _rc = _moveToRoot(tls, _pCur) 81154 if (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) == nil { 81155 goto _89 81156 } 81157 81158 func() int32 { 81159 if unsafe.Pointer(_pCur.X6) == (unsafe.Pointer)(uintptr(i32(0))) { 81160 return i32(0) 81161 } 81162 return func() int32 { 81163 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67194), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83412))) 81164 crt.X__builtin_abort(tls) 81165 return i32(0) 81166 }() 81167 }() 81168 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(44 /* X6 */))) = _sqlite3Malloc(tls, uint64(_pX.X1)) 81169 if unsafe.Pointer(_pCur.X6) != (unsafe.Pointer)(uintptr(i32(0))) { 81170 goto _92 81171 } 81172 81173 _rc = i32(7) 81174 goto _93 81175 81176 _92: 81177 crt.Xmemcpy(tls, _pCur.X6, _pX.X0, uint32(_pX.X1)) 81178 _93: 81179 _89: 81180 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(3)) 81181 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(36 /* X5 */))) = _pX.X1 81182 _88: 81183 _84: 81184 func() int32 { 81185 if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X9) == i32(0) { 81186 return i32(0) 81187 } 81188 return func() int32 { 81189 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67206), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeInsertØ00__func__Ø000))), unsafe.Pointer(str(83428))) 81190 crt.X__builtin_abort(tls) 81191 return i32(0) 81192 }() 81193 }() 81194 _end_insert: 81195 r0 = _rc 81196 return 81197 81198 } 81199 81200 var _sqlite3BtreeInsertØ00__func__Ø000 [19]int8 // - 81201 81202 func init() { 81203 crt.Xstrncpy(nil, &_sqlite3BtreeInsertØ00__func__Ø000[0], str(83468), 19) 81204 } 81205 81206 func _invalidateIncrblobCursors(tls *crt.TLS, _pBtree *XBtree, _iRow int64, _isClearTable int32) { // sqlite3.c:59458:1 81207 var _p *XBtCursor // sqlite3.c:59463:12 81208 _ = _p 81209 if int32(_pBtree.X5) != i32(0) { 81210 goto _0 81211 } 81212 81213 return 81214 81215 _0: 81216 func() int32 { 81217 if _sqlite3BtreeHoldsMutex(tls, _pBtree) != 0 { 81218 return i32(0) 81219 } 81220 return func() int32 { 81221 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59465), unsafe.Pointer((*int8)(unsafe.Pointer(&_invalidateIncrblobCursorsØ00__func__Ø000))), unsafe.Pointer(str(83488))) 81222 crt.X__builtin_abort(tls) 81223 return i32(0) 81224 }() 81225 }() 81226 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBtree)) + uintptr(11 /* X5 */))) = uint8(i32(0)) 81227 _p = (*XBtCursor)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pBtree.X1)).X2)) 81228 _3: 81229 if _p == nil { 81230 goto _6 81231 } 81232 81233 if (int32(_p.X10) & i32(16)) == i32(0) { 81234 goto _7 81235 } 81236 81237 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBtree)) + uintptr(11 /* X5 */))) = uint8(i32(1)) 81238 if _isClearTable == 0 && ((*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X4 */))).X0) != _iRow { 81239 goto _9 81240 } 81241 81242 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(62 /* X12 */))) = uint8(i32(0)) 81243 _9: 81244 _7: 81245 _p = (*XBtCursor)(unsafe.Pointer(_p.X2)) 81246 goto _3 81247 81248 _6: 81249 return 81250 81251 } 81252 81253 var _invalidateIncrblobCursorsØ00__func__Ø000 [26]int8 // - 81254 81255 func init() { 81256 crt.Xstrncpy(nil, &_invalidateIncrblobCursorsØ00__func__Ø000[0], str(83520), 26) 81257 } 81258 81259 func _fillInCell(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pX *XBtreePayload, _pnSize *int32) (r0 int32) { // sqlite3.c:65137:1 81260 var _nPayload int32 // sqlite3.c:65143:7 81261 _ = _nPayload 81262 var _pSrc *uint8 // sqlite3.c:65144:12 81263 _ = _pSrc 81264 var _nSrc int32 // sqlite3.c:65145:7 81265 _ = _nSrc 81266 var _n int32 // sqlite3.c:65145:13 81267 _ = _n 81268 var _rc int32 // sqlite3.c:65145:16 81269 _ = _rc 81270 var _spaceLeft int32 // sqlite3.c:65146:7 81271 _ = _spaceLeft 81272 var _pOvfl *XMemPage // sqlite3.c:65147:11 81273 _ = _pOvfl 81274 var _pToRelease *XMemPage // sqlite3.c:65148:11 81275 _ = _pToRelease 81276 var _pPrior *uint8 // sqlite3.c:65149:17 81277 _ = _pPrior 81278 var _pPayload *uint8 // sqlite3.c:65150:17 81279 _ = _pPayload 81280 var _pBt *XBtShared // sqlite3.c:65151:12 81281 _ = _pBt 81282 var _pgnoOvfl uint32 // sqlite3.c:65152:8 81283 _ = _pgnoOvfl 81284 var _nHeader int32 // sqlite3.c:65153:7 81285 _ = _nHeader 81286 var _4_mn int32 // sqlite3.c:65188:9 81287 _ = _4_mn 81288 var _5_info XCellInfo // sqlite3.c:65213:14 81289 _ = _5_info 81290 var _7_pgnoPtrmap uint32 // sqlite3.c:65226:12 81291 _ = _7_pgnoPtrmap 81292 var _10_eType uint8 // sqlite3.c:65248:12 81293 _ = _10_eType 81294 _pOvfl = nil 81295 _pToRelease = nil 81296 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 81297 _pgnoOvfl = u32(0) 81298 func() int32 { 81299 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 81300 return i32(0) 81301 } 81302 return func() int32 { 81303 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65155), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(21228))) 81304 crt.X__builtin_abort(tls) 81305 return i32(0) 81306 }() 81307 }() 81308 func() int32 { 81309 if ((uintptr(unsafe.Pointer(_pCell)) < uintptr(unsafe.Pointer(_pPage.X19))) || (uintptr(unsafe.Pointer(_pCell)) >= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(_pBt.X15))))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 81310 return i32(0) 81311 } 81312 return func() int32 { 81313 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65159), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83548))) 81314 crt.X__builtin_abort(tls) 81315 return i32(0) 81316 }() 81317 }() 81318 _nHeader = int32(_pPage.X7) 81319 if (_pPage.X2) == 0 { 81320 goto _6 81321 } 81322 81323 _nPayload = (_pX.X5) + (_pX.X6) 81324 _pSrc = (*uint8)(unsafe.Pointer(_pX.X2)) 81325 _nSrc = _pX.X5 81326 func() int32 { 81327 if (_pPage.X3) != 0 { 81328 return i32(0) 81329 } 81330 return func() int32 { 81331 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65168), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(56520))) 81332 crt.X__builtin_abort(tls) 81333 return i32(0) 81334 }() 81335 }() 81336 { 81337 p := &_nHeader 81338 *p = (*p) + int32(uint8(func() int32 { 81339 if uint32(_nPayload) < u32(128) { 81340 return func() int32 { 81341 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader))) = uint8(_nPayload) 81342 return i32(1) 81343 }() 81344 } 81345 return _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(_nHeader))), uint64(_nPayload)) 81346 }())) 81347 sink961 = *p 81348 } 81349 { 81350 p := &_nHeader 81351 *p = (*p) + _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(_nHeader))), *(*uint64)(unsafe.Pointer((*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(4 /* X1 */)))))) 81352 sink961 = *p 81353 } 81354 goto _11 81355 81356 _6: 81357 func() int32 { 81358 if ((_pX.X1) <= int64(i32(2147483647))) && ((_pX.X0) != (unsafe.Pointer)(uintptr(i32(0)))) { 81359 return i32(0) 81360 } 81361 return func() int32 { 81362 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65172), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83652))) 81363 crt.X__builtin_abort(tls) 81364 return i32(0) 81365 }() 81366 }() 81367 _nSrc = store961(&_nPayload, int32(_pX.X1)) 81368 _pSrc = (*uint8)(unsafe.Pointer(_pX.X0)) 81369 { 81370 p := &_nHeader 81371 *p = (*p) + int32(uint8(func() int32 { 81372 if uint32(_nPayload) < u32(128) { 81373 return func() int32 { 81374 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader))) = uint8(_nPayload) 81375 return i32(1) 81376 }() 81377 } 81378 return _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(_nHeader))), uint64(_nPayload)) 81379 }())) 81380 sink961 = *p 81381 } 81382 _11: 81383 if _nPayload > int32(_pPage.X10) { 81384 goto _17 81385 } 81386 81387 _n = _nHeader + _nPayload 81388 if _n >= i32(4) { 81389 goto _18 81390 } 81391 81392 _n = i32(4) 81393 _18: 81394 *_pnSize = _n 81395 _spaceLeft = _nPayload 81396 _pPrior = _pCell 81397 goto _19 81398 81399 _17: 81400 _4_mn = int32(_pPage.X11) 81401 _n = int32(uint32(_4_mn) + (uint32(_nPayload-_4_mn) % (((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4))))) 81402 if _n <= int32(_pPage.X10) { 81403 goto _20 81404 } 81405 81406 _n = _4_mn 81407 _20: 81408 _spaceLeft = _n 81409 *_pnSize = (_n + _nHeader) + i32(4) 81410 _pPrior = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader+_n))) 81411 _19: 81412 _pPayload = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell)) + 1*uintptr(_nHeader))) 81413 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 81414 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 81415 }{(_pPage.X25)})))(tls, _pPage, _pCell, &_5_info) 81416 func() int32 { 81417 if _nHeader == int32((uintptr(unsafe.Pointer(_5_info.X1))-uintptr(unsafe.Pointer(_pCell)))/1) { 81418 return i32(0) 81419 } 81420 return func() int32 { 81421 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65215), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83688))) 81422 crt.X__builtin_abort(tls) 81423 return i32(0) 81424 }() 81425 }() 81426 func() int32 { 81427 if (_5_info.X0) == (_pX.X1) { 81428 return i32(0) 81429 } 81430 return func() int32 { 81431 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65216), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83728))) 81432 crt.X__builtin_abort(tls) 81433 return i32(0) 81434 }() 81435 }() 81436 func() int32 { 81437 if (*_pnSize) == int32(_5_info.X4) { 81438 return i32(0) 81439 } 81440 return func() int32 { 81441 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65217), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83748))) 81442 crt.X__builtin_abort(tls) 81443 return i32(0) 81444 }() 81445 }() 81446 func() int32 { 81447 if _spaceLeft == int32(_5_info.X3) { 81448 return i32(0) 81449 } 81450 return func() int32 { 81451 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65218), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83772))) 81452 crt.X__builtin_abort(tls) 81453 return i32(0) 81454 }() 81455 }() 81456 _29: 81457 if _nPayload <= i32(0) { 81458 goto _30 81459 } 81460 81461 if _spaceLeft != i32(0) { 81462 goto _31 81463 } 81464 81465 _7_pgnoPtrmap = _pgnoOvfl 81466 if (_pBt.X5) == 0 { 81467 goto _32 81468 } 81469 81470 _33: 81471 _pgnoOvfl += 1 81472 if (_ptrmapPageno(tls, _pBt, _pgnoOvfl) == _pgnoOvfl) || (_pgnoOvfl == ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1)))) { 81473 goto _33 81474 } 81475 81476 _32: 81477 _rc = _allocateBtreePage(tls, _pBt, &_pOvfl, &_pgnoOvfl, _pgnoOvfl, uint8(i32(0))) 81478 if (_pBt.X5) == 0 || _rc != i32(0) { 81479 goto _36 81480 } 81481 81482 _10_eType = uint8(func() int32 { 81483 if _7_pgnoPtrmap != 0 { 81484 return i32(4) 81485 } 81486 return i32(3) 81487 }()) 81488 _ptrmapPut(tls, _pBt, _pgnoOvfl, _10_eType, _7_pgnoPtrmap, &_rc) 81489 if _rc == 0 { 81490 goto _39 81491 } 81492 81493 _releasePage(tls, _pOvfl) 81494 _39: 81495 _36: 81496 if _rc == 0 { 81497 goto _40 81498 } 81499 81500 _releasePage(tls, _pToRelease) 81501 r0 = _rc 81502 return 81503 81504 _40: 81505 func() int32 { 81506 if (_pToRelease == (*XMemPage)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pToRelease.X23))) != 0 { 81507 return i32(0) 81508 } 81509 return func() int32 { 81510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65262), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83800))) 81511 crt.X__builtin_abort(tls) 81512 return i32(0) 81513 }() 81514 }() 81515 func() int32 { 81516 if ((uintptr(unsafe.Pointer(_pPrior)) < uintptr(unsafe.Pointer(_pPage.X19))) || (uintptr(unsafe.Pointer(_pPrior)) >= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(_pBt.X15))))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 81517 return i32(0) 81518 } 81519 return func() int32 { 81520 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65266), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83864))) 81521 crt.X__builtin_abort(tls) 81522 return i32(0) 81523 }() 81524 }() 81525 _sqlite3Put4byte(tls, _pPrior, _pgnoOvfl) 81526 _releasePage(tls, _pToRelease) 81527 _pToRelease = _pOvfl 81528 _pPrior = _pOvfl.X19 81529 _sqlite3Put4byte(tls, _pPrior, uint32(i32(0))) 81530 _pPayload = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOvfl.X19)) + 1*uintptr(i32(4)))) 81531 _spaceLeft = int32((_pBt.X16) - uint32(i32(4))) 81532 _31: 81533 _n = _nPayload 81534 if _n <= _spaceLeft { 81535 goto _48 81536 } 81537 81538 _n = _spaceLeft 81539 _48: 81540 func() int32 { 81541 if (_pToRelease == (*XMemPage)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pToRelease.X23))) != 0 { 81542 return i32(0) 81543 } 81544 return func() int32 { 81545 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65282), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83800))) 81546 crt.X__builtin_abort(tls) 81547 return i32(0) 81548 }() 81549 }() 81550 func() int32 { 81551 if ((uintptr(unsafe.Pointer(_pPayload)) < uintptr(unsafe.Pointer(_pPage.X19))) || (uintptr(unsafe.Pointer(_pPayload)) >= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(_pBt.X15))))))) || _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 81552 return i32(0) 81553 } 81554 return func() int32 { 81555 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65286), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(83968))) 81556 crt.X__builtin_abort(tls) 81557 return i32(0) 81558 }() 81559 }() 81560 if _nSrc <= i32(0) { 81561 goto _56 81562 } 81563 81564 if _n <= _nSrc { 81565 goto _57 81566 } 81567 81568 _n = _nSrc 81569 _57: 81570 func() int32 { 81571 if _pSrc != nil { 81572 return i32(0) 81573 } 81574 return func() int32 { 81575 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65291), unsafe.Pointer((*int8)(unsafe.Pointer(&_fillInCellØ00__func__Ø000))), unsafe.Pointer(str(84076))) 81576 crt.X__builtin_abort(tls) 81577 return i32(0) 81578 }() 81579 }() 81580 crt.Xmemcpy(tls, (unsafe.Pointer)(_pPayload), (unsafe.Pointer)(_pSrc), uint32(_n)) 81581 goto _60 81582 81583 _56: 81584 crt.Xmemset(tls, (unsafe.Pointer)(_pPayload), i32(0), uint32(_n)) 81585 _60: 81586 { 81587 p := &_nPayload 81588 *p = (*p) - _n 81589 sink961 = *p 81590 } 81591 { 81592 p := &_pPayload 81593 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 81594 sink6921 = *p 81595 } 81596 { 81597 p := &_pSrc 81598 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 81599 sink6921 = *p 81600 } 81601 { 81602 p := &_nSrc 81603 *p = (*p) - _n 81604 sink961 = *p 81605 } 81606 { 81607 p := &_spaceLeft 81608 *p = (*p) - _n 81609 sink961 = *p 81610 } 81611 goto _29 81612 81613 _30: 81614 _releasePage(tls, _pToRelease) 81615 r0 = i32(0) 81616 return 81617 81618 } 81619 81620 var _fillInCellØ00__func__Ø000 [11]int8 // - 81621 81622 func init() { 81623 crt.Xstrncpy(nil, &_fillInCellØ00__func__Ø000[0], str(84084), 11) 81624 } 81625 81626 func _clearCell(tls *crt.TLS, _pPage *XMemPage, _pCell *uint8, _pInfo *XCellInfo) (r0 int32) { // sqlite3.c:65058:1 81627 var _pBt *XBtShared // sqlite3.c:65063:12 81628 _ = _pBt 81629 var _ovflPgno uint32 // sqlite3.c:65064:8 81630 _ = _ovflPgno 81631 var _rc int32 // sqlite3.c:65065:7 81632 _ = _rc 81633 var _nOvfl int32 // sqlite3.c:65066:7 81634 _ = _nOvfl 81635 var _ovflPageSize uint32 // sqlite3.c:65067:7 81636 _ = _ovflPageSize 81637 var _3_iNext uint32 // sqlite3.c:65085:10 81638 _ = _3_iNext 81639 var _3_pOvfl *XMemPage // sqlite3.c:65086:13 81640 _ = _3_pOvfl 81641 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 81642 func() int32 { 81643 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 81644 return i32(0) 81645 } 81646 return func() int32 { 81647 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65069), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearCellØ00__func__Ø000))), unsafe.Pointer(str(21228))) 81648 crt.X__builtin_abort(tls) 81649 return i32(0) 81650 }() 81651 }() 81652 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 81653 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 81654 }{(_pPage.X25)})))(tls, _pPage, _pCell, _pInfo) 81655 if uint32(_pInfo.X3) != (_pInfo.X2) { 81656 goto _2 81657 } 81658 81659 r0 = i32(0) 81660 return 81661 81662 _2: 81663 if uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pInfo.X4)))))))))-uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(1)))))))))) <= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPage.X15))))))))) { 81664 goto _3 81665 } 81666 81667 r0 = _sqlite3CorruptError(tls, i32(65075)) 81668 return 81669 81670 _3: 81671 _ovflPgno = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pInfo.X4)))))))))-uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4))))))))) 81672 func() int32 { 81673 if (_pBt.X16) > uint32(i32(4)) { 81674 return i32(0) 81675 } 81676 return func() int32 { 81677 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65078), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearCellØ00__func__Ø000))), unsafe.Pointer(str(84096))) 81678 crt.X__builtin_abort(tls) 81679 return i32(0) 81680 }() 81681 }() 81682 _ovflPageSize = (_pBt.X16) - uint32(i32(4)) 81683 _nOvfl = int32(((((_pInfo.X2) - uint32(_pInfo.X3)) + _ovflPageSize) - uint32(i32(1))) / _ovflPageSize) 81684 func() int32 { 81685 if (_nOvfl > i32(0)) || (((_sqlite3Config.X6) == i32(0)) && (((_pInfo.X2) + _ovflPageSize) < _ovflPageSize)) { 81686 return i32(0) 81687 } 81688 return func() int32 { 81689 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65081), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearCellØ00__func__Ø000))), unsafe.Pointer(str(84116))) 81690 crt.X__builtin_abort(tls) 81691 return i32(0) 81692 }() 81693 }() 81694 _10: 81695 if postInc961(&_nOvfl, int32(-1)) == 0 { 81696 goto _11 81697 } 81698 81699 _3_iNext = uint32(i32(0)) 81700 _3_pOvfl = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 81701 if _ovflPgno >= uint32(i32(2)) && _ovflPgno <= _btreePagecount(tls, _pBt) { 81702 goto _13 81703 } 81704 81705 r0 = _sqlite3CorruptError(tls, i32(65091)) 81706 return 81707 81708 _13: 81709 if _nOvfl == 0 { 81710 goto _14 81711 } 81712 81713 _rc = _getOverflowPage(tls, _pBt, _ovflPgno, &_3_pOvfl, &_3_iNext) 81714 if _rc == 0 { 81715 goto _15 81716 } 81717 81718 r0 = _rc 81719 return 81720 81721 _15: 81722 _14: 81723 if _3_pOvfl == nil && store7992286(&_3_pOvfl, _btreePageLookup(tls, _pBt, _ovflPgno)) == (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3PagerPageRefcount(tls, (*XPgHdr)(unsafe.Pointer(_3_pOvfl.X23))) == i32(1) { 81724 goto _18 81725 } 81726 81727 _rc = _sqlite3CorruptError(tls, i32(65111)) 81728 goto _19 81729 81730 _18: 81731 _rc = _freePage2(tls, _pBt, _3_pOvfl, _ovflPgno) 81732 _19: 81733 if _3_pOvfl == nil { 81734 goto _20 81735 } 81736 81737 _sqlite3PagerUnref(tls, (*XPgHdr)(unsafe.Pointer(_3_pOvfl.X23))) 81738 _20: 81739 if _rc == 0 { 81740 goto _21 81741 } 81742 81743 r0 = _rc 81744 return 81745 81746 _21: 81747 _ovflPgno = _3_iNext 81748 goto _10 81749 81750 _11: 81751 r0 = i32(0) 81752 return 81753 81754 } 81755 81756 var _clearCellØ00__func__Ø000 [10]int8 // - 81757 81758 func init() { 81759 crt.Xstrncpy(nil, &_clearCellØ00__func__Ø000[0], str(84192), 10) 81760 } 81761 81762 func _btreePageLookup(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 *XMemPage) { // sqlite3.c:60959:1 81763 var _pDbPage *XPgHdr // sqlite3.c:60960:10 81764 _ = _pDbPage 81765 func() int32 { 81766 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 81767 return i32(0) 81768 } 81769 return func() int32 { 81770 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60961), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreePageLookupØ00__func__Ø000))), unsafe.Pointer(str(9252))) 81771 crt.X__builtin_abort(tls) 81772 return i32(0) 81773 }() 81774 }() 81775 _pDbPage = _sqlite3PagerLookup(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgno) 81776 if _pDbPage == nil { 81777 goto _2 81778 } 81779 81780 r0 = _btreePageFromDbPage(tls, _pDbPage, _pgno, _pBt) 81781 return 81782 81783 _2: 81784 r0 = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 81785 return 81786 81787 } 81788 81789 var _btreePageLookupØ00__func__Ø000 [16]int8 // - 81790 81791 func init() { 81792 crt.Xstrncpy(nil, &_btreePageLookupØ00__func__Ø000[0], str(84204), 16) 81793 } 81794 81795 func _freePage2(tls *crt.TLS, _pBt *XBtShared, _pMemPage *XMemPage, _iPage uint32) (r0 int32) { // sqlite3.c:64919:1 81796 var _pTrunk *XMemPage // sqlite3.c:64920:11 81797 _ = _pTrunk 81798 var _iTrunk uint32 // sqlite3.c:64921:8 81799 _ = _iTrunk 81800 var _pPage1 *XMemPage // sqlite3.c:64922:11 81801 _ = _pPage1 81802 var _pPage *XMemPage // sqlite3.c:64923:11 81803 _ = _pPage 81804 var _rc int32 // sqlite3.c:64924:7 81805 _ = _rc 81806 var _nFree int32 // sqlite3.c:64925:7 81807 _ = _nFree 81808 var _6_nLeaf uint32 // sqlite3.c:64973:9 81809 _ = _6_nLeaf 81810 _pTrunk = nil 81811 _iTrunk = u32(0) 81812 _pPage1 = (*XMemPage)(unsafe.Pointer(_pBt.X3)) 81813 func() int32 { 81814 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 81815 return i32(0) 81816 } 81817 return func() int32 { 81818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64927), unsafe.Pointer((*int8)(unsafe.Pointer(&_freePage2Ø00__func__Ø000))), unsafe.Pointer(str(9252))) 81819 crt.X__builtin_abort(tls) 81820 return i32(0) 81821 }() 81822 }() 81823 func() int32 { 81824 if ((_sqlite3Config.X6) == i32(0)) || (_iPage > uint32(i32(1))) { 81825 return i32(0) 81826 } 81827 return func() int32 { 81828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64928), unsafe.Pointer((*int8)(unsafe.Pointer(&_freePage2Ø00__func__Ø000))), unsafe.Pointer(str(84220))) 81829 crt.X__builtin_abort(tls) 81830 return i32(0) 81831 }() 81832 }() 81833 func() int32 { 81834 if (_pMemPage == nil) || ((_pMemPage.X4) == _iPage) { 81835 return i32(0) 81836 } 81837 return func() int32 { 81838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64929), unsafe.Pointer((*int8)(unsafe.Pointer(&_freePage2Ø00__func__Ø000))), unsafe.Pointer(str(84244))) 81839 crt.X__builtin_abort(tls) 81840 return i32(0) 81841 }() 81842 }() 81843 if _iPage >= uint32(i32(2)) { 81844 goto _8 81845 } 81846 81847 r0 = _sqlite3CorruptError(tls, i32(64931)) 81848 return 81849 81850 _8: 81851 if _pMemPage == nil { 81852 goto _9 81853 } 81854 81855 _pPage = _pMemPage 81856 _sqlite3PagerRef(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 81857 goto _10 81858 81859 _9: 81860 _pPage = _btreePageLookup(tls, _pBt, _iPage) 81861 _10: 81862 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage1.X23))) 81863 if _rc == 0 { 81864 goto _11 81865 } 81866 81867 goto _freepage_out 81868 81869 _11: 81870 _nFree = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36)))))) 81871 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(36)))), uint32(_nFree+i32(1))) 81872 if (int32(_pBt.X10) & i32(4)) == 0 { 81873 goto _12 81874 } 81875 81876 if (_pPage != nil || store961(&_rc, _btreeGetPage(tls, _pBt, _iPage, &_pPage, i32(0))) == i32(0)) && store961(&_rc, _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) == i32(0) { 81877 goto _15 81878 } 81879 81880 goto _freepage_out 81881 81882 _15: 81883 crt.Xmemset(tls, (unsafe.Pointer)(_pPage.X19), i32(0), (*XBtShared)(unsafe.Pointer(_pPage.X18)).X15) 81884 _12: 81885 if (_pBt.X5) == 0 { 81886 goto _16 81887 } 81888 81889 _ptrmapPut(tls, _pBt, _iPage, uint8(i32(2)), uint32(i32(0)), &_rc) 81890 if _rc == 0 { 81891 goto _17 81892 } 81893 81894 goto _freepage_out 81895 81896 _17: 81897 _16: 81898 if _nFree == i32(0) { 81899 goto _18 81900 } 81901 81902 _iTrunk = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32))))) 81903 _rc = _btreeGetPage(tls, _pBt, _iTrunk, &_pTrunk, i32(0)) 81904 if _rc == i32(0) { 81905 goto _19 81906 } 81907 81908 goto _freepage_out 81909 81910 _19: 81911 _6_nLeaf = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(4))))) 81912 func() int32 { 81913 if (_pBt.X16) > uint32(i32(32)) { 81914 return i32(0) 81915 } 81916 return func() int32 { 81917 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64982), unsafe.Pointer((*int8)(unsafe.Pointer(&_freePage2Ø00__func__Ø000))), unsafe.Pointer(str(84280))) 81918 crt.X__builtin_abort(tls) 81919 return i32(0) 81920 }() 81921 }() 81922 if _6_nLeaf <= (((_pBt.X16) / uint32(i32(4))) - uint32(i32(2))) { 81923 goto _22 81924 } 81925 81926 _rc = _sqlite3CorruptError(tls, i32(64984)) 81927 goto _freepage_out 81928 81929 _22: 81930 if _6_nLeaf >= (((_pBt.X16) / uint32(i32(4))) - uint32(i32(8))) { 81931 goto _23 81932 } 81933 81934 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pTrunk.X23))) 81935 if _rc != i32(0) { 81936 goto _24 81937 } 81938 81939 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(i32(4)))), _6_nLeaf+uint32(i32(1))) 81940 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrunk.X19))+1*uintptr(uint32(i32(8))+(_6_nLeaf*uint32(i32(4)))))), _iPage) 81941 if _pPage == nil || (int32(_pBt.X10)&i32(4)) != i32(0) { 81942 goto _26 81943 } 81944 81945 _sqlite3PagerDontWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 81946 _26: 81947 _rc = _btreeSetHasContent(tls, _pBt, _iPage) 81948 _24: 81949 goto _freepage_out 81950 81951 _23: 81952 _18: 81953 if _pPage != (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) == store961(&_rc, _btreeGetPage(tls, _pBt, _iPage, &_pPage, i32(0))) { 81954 goto _28 81955 } 81956 81957 goto _freepage_out 81958 81959 _28: 81960 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 81961 if _rc == i32(0) { 81962 goto _29 81963 } 81964 81965 goto _freepage_out 81966 81967 _29: 81968 _sqlite3Put4byte(tls, _pPage.X19, _iTrunk) 81969 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(i32(4)))), uint32(i32(0))) 81970 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage1.X19))+1*uintptr(i32(32)))), _iPage) 81971 _freepage_out: 81972 if _pPage == nil { 81973 goto _30 81974 } 81975 81976 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 81977 _30: 81978 _releasePage(tls, _pPage) 81979 _releasePage(tls, _pTrunk) 81980 r0 = _rc 81981 return 81982 81983 } 81984 81985 var _freePage2Ø00__func__Ø000 [10]int8 // - 81986 81987 func init() { 81988 crt.Xstrncpy(nil, &_freePage2Ø00__func__Ø000[0], str(84300), 10) 81989 } 81990 81991 func _sqlite3PagerRef(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:51007:1 81992 _sqlite3PcacheRef(tls, _pPg) 81993 return 81994 81995 } 81996 81997 func _sqlite3PcacheRef(tls *crt.TLS, _p *XPgHdr) { // sqlite3.c:44607:1 81998 func() int32 { 81999 if int32(_p.X7) > i32(0) { 82000 return i32(0) 82001 } 82002 return func() int32 { 82003 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44608), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheRefØ00__func__Ø000))), unsafe.Pointer(str(3248))) 82004 crt.X__builtin_abort(tls) 82005 return i32(0) 82006 }() 82007 }() 82008 func() int32 { 82009 if _sqlite3PcachePageSanity(tls, _p) != 0 { 82010 return i32(0) 82011 } 82012 return func() int32 { 82013 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44609), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheRefØ00__func__Ø000))), unsafe.Pointer(str(14152))) 82014 crt.X__builtin_abort(tls) 82015 return i32(0) 82016 }() 82017 }() 82018 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(26 /* X7 */))) += 1 82019 *(*int32)(unsafe.Pointer(uintptr(_p.X8) + uintptr(12 /* X3 */))) += 1 82020 return 82021 82022 } 82023 82024 var _sqlite3PcacheRefØ00__func__Ø000 [17]int8 // - 82025 82026 func init() { 82027 crt.Xstrncpy(nil, &_sqlite3PcacheRefØ00__func__Ø000[0], str(84312), 17) 82028 } 82029 82030 func _sqlite3PagerDontWrite(tls *crt.TLS, _pPg *XPgHdr) { // sqlite3.c:52960:1 82031 var _pPager *XPager // sqlite3.c:52961:9 82032 _ = _pPager 82033 _pPager = (*XPager)(unsafe.Pointer(_pPg.X4)) 82034 if (_pPager.X10) != 0 || (int32(_pPg.X6)&i32(2)) == 0 || (_pPager.X38) != i32(0) { 82035 goto _2 82036 } 82037 82038 { 82039 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 82040 *p = uint16(int32(*p) | i32(16)) 82041 sink6908 = *p 82042 } 82043 { 82044 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) 82045 *p = uint16(int32(*p) & i32(-5)) 82046 sink6908 = *p 82047 } 82048 _2: 82049 return 82050 82051 } 82052 82053 func _btreeSetHasContent(tls *crt.TLS, _pBt *XBtShared, _pgno uint32) (r0 int32) { // sqlite3.c:59517:1 82054 var _rc int32 // sqlite3.c:59518:7 82055 _ = _rc 82056 _rc = i32(0) 82057 if (*XBitvec)(unsafe.Pointer(_pBt.X22)) != nil { 82058 goto _0 82059 } 82060 82061 func() int32 { 82062 if _pgno <= (_pBt.X18) { 82063 return i32(0) 82064 } 82065 return func() int32 { 82066 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59520), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeSetHasContentØ00__func__Ø000))), unsafe.Pointer(str(84332))) 82067 crt.X__builtin_abort(tls) 82068 return i32(0) 82069 }() 82070 }() 82071 *(**XBitvec)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(60 /* X22 */))))) = _sqlite3BitvecCreate(tls, _pBt.X18) 82072 if (*XBitvec)(unsafe.Pointer(_pBt.X22)) != nil { 82073 goto _3 82074 } 82075 82076 _rc = _sqlite3NomemError(tls, i32(59523)) 82077 _3: 82078 _0: 82079 if _rc != i32(0) || _pgno > _sqlite3BitvecSize(tls, (*XBitvec)(unsafe.Pointer(_pBt.X22))) { 82080 goto _5 82081 } 82082 82083 _rc = _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(_pBt.X22)), _pgno) 82084 _5: 82085 r0 = _rc 82086 return 82087 82088 } 82089 82090 var _btreeSetHasContentØ00__func__Ø000 [19]int8 // - 82091 82092 func init() { 82093 crt.Xstrncpy(nil, &_btreeSetHasContentØ00__func__Ø000[0], str(84352), 19) 82094 } 82095 82096 func _dropCell(tls *crt.TLS, _pPage *XMemPage, _idx int32, _sz int32, _pRC *int32) { // sqlite3.c:65314:1 82097 var _pc uint32 // sqlite3.c:65315:7 82098 _ = _pc 82099 var _data *uint8 // sqlite3.c:65316:6 82100 _ = _data 82101 var _ptr *uint8 // sqlite3.c:65317:6 82102 _ = _ptr 82103 var _rc int32 // sqlite3.c:65318:7 82104 _ = _rc 82105 var _hdr int32 // sqlite3.c:65319:7 82106 _ = _hdr 82107 if (*_pRC) == 0 { 82108 goto _0 82109 } 82110 82111 return 82112 82113 _0: 82114 func() int32 { 82115 if (_idx >= i32(0)) && (_idx < int32(_pPage.X14)) { 82116 return i32(0) 82117 } 82118 return func() int32 { 82119 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65322), unsafe.Pointer((*int8)(unsafe.Pointer(&_dropCellØ00__func__Ø000))), unsafe.Pointer(str(84372))) 82120 crt.X__builtin_abort(tls) 82121 return i32(0) 82122 }() 82123 }() 82124 func() int32 { 82125 if ((_sqlite3Config.X6) == i32(0)) || (_sz == int32(_cellSize(tls, _pPage, _idx))) { 82126 return i32(0) 82127 } 82128 return func() int32 { 82129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65323), unsafe.Pointer((*int8)(unsafe.Pointer(&_dropCellØ00__func__Ø000))), unsafe.Pointer(str(84400))) 82130 crt.X__builtin_abort(tls) 82131 return i32(0) 82132 }() 82133 }() 82134 func() int32 { 82135 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 82136 return i32(0) 82137 } 82138 return func() int32 { 82139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65324), unsafe.Pointer((*int8)(unsafe.Pointer(&_dropCellØ00__func__Ø000))), unsafe.Pointer(str(56276))) 82140 crt.X__builtin_abort(tls) 82141 return i32(0) 82142 }() 82143 }() 82144 func() int32 { 82145 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 82146 return i32(0) 82147 } 82148 return func() int32 { 82149 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65325), unsafe.Pointer((*int8)(unsafe.Pointer(&_dropCellØ00__func__Ø000))), unsafe.Pointer(str(21228))) 82150 crt.X__builtin_abort(tls) 82151 return i32(0) 82152 }() 82153 }() 82154 _data = _pPage.X19 82155 _ptr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21)) + 1*uintptr(i32(2)*_idx))) 82156 _pc = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_ptr)) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_ptr)) + 1*uintptr(i32(1)))))) 82157 _hdr = int32(_pPage.X6) 82158 if _pc >= uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))))) && (_pc+uint32(_sz)) <= ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { 82159 goto _12 82160 } 82161 82162 *_pRC = _sqlite3CorruptError(tls, i32(65333)) 82163 return 82164 82165 _12: 82166 _rc = _freeSpace(tls, _pPage, uint16(_pc), uint16(_sz)) 82167 if _rc == 0 { 82168 goto _13 82169 } 82170 82171 *_pRC = _rc 82172 return 82173 82174 _13: 82175 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(22 /* X14 */))) -= 1 82176 if int32(_pPage.X14) != i32(0) { 82177 goto _14 82178 } 82179 82180 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(1))))), i32(0), uint32(i32(4))) 82181 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7)))) = uint8(i32(0)) 82182 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82183 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) >> uint(i32(8))) 82184 return _data 82185 }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) 82186 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) = uint16(((((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(_pPage.X6)) - uint32(_pPage.X7)) - uint32(i32(8))) 82187 goto _15 82188 82189 _14: 82190 crt.Xmemmove(tls, (unsafe.Pointer)(_ptr), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_ptr))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2))))))))), uint32(i32(2)*(int32(_pPage.X14)-_idx))) 82191 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82192 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(0)))) = uint8(int32(_pPage.X14) >> uint(i32(8))) 82193 return _data 82194 }()))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))) = uint8(_pPage.X14) 82195 { 82196 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) 82197 *p = uint16(int32(*p) + i32(2)) 82198 sink6908 = *p 82199 } 82200 _15: 82201 return 82202 82203 } 82204 82205 var _dropCellØ00__func__Ø000 [9]int8 // - 82206 82207 func init() { 82208 crt.Xstrncpy(nil, &_dropCellØ00__func__Ø000[0], str(84440), 9) 82209 } 82210 82211 func _cellSize(tls *crt.TLS, _pPage *XMemPage, _iCell int32) (r0 uint16) { // sqlite3.c:60253:1 82212 r0 = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 82213 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 82214 }{(_pPage.X24)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_iCell))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_iCell))))) + 1*uintptr(i32(1)))))))))))))) 82215 return 82216 82217 } 82218 82219 func _freeSpace(tls *crt.TLS, _pPage *XMemPage, _iStart uint16, _iSize uint16) (r0 int32) { // sqlite3.c:60580:1 82220 var _iPtr uint16 // sqlite3.c:60581:7 82221 _ = _iPtr 82222 var _iFreeBlk uint16 // sqlite3.c:60582:7 82223 _ = _iFreeBlk 82224 var _hdr uint8 // sqlite3.c:60583:6 82225 _ = _hdr 82226 var _nFrag uint8 // sqlite3.c:60584:6 82227 _ = _nFrag 82228 var _iOrigSize uint16 // sqlite3.c:60585:7 82229 _ = _iOrigSize 82230 var _iLast uint32 // sqlite3.c:60586:7 82231 _ = _iLast 82232 var _iEnd uint32 // sqlite3.c:60587:7 82233 _ = _iEnd 82234 var _data *uint8 // sqlite3.c:60588:17 82235 _ = _data 82236 var _7_iPtrEnd int32 // sqlite3.c:60642:11 82237 _ = _7_iPtrEnd 82238 _nFrag = u8(0) 82239 _iOrigSize = _iSize 82240 _iLast = ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) - uint32(i32(4)) 82241 _iEnd = uint32(int32(_iStart) + int32(_iSize)) 82242 _data = _pPage.X19 82243 func() int32 { 82244 if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { 82245 return i32(0) 82246 } 82247 return func() int32 { 82248 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60590), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(58412))) 82249 crt.X__builtin_abort(tls) 82250 return i32(0) 82251 }() 82252 }() 82253 func() int32 { 82254 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 82255 return i32(0) 82256 } 82257 return func() int32 { 82258 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60591), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(56276))) 82259 crt.X__builtin_abort(tls) 82260 return i32(0) 82261 }() 82262 }() 82263 func() int32 { 82264 if ((_sqlite3Config.X6) == i32(0)) || (int32(_iStart) >= ((int32(_pPage.X6) + i32(6)) + int32(_pPage.X7))) { 82265 return i32(0) 82266 } 82267 return func() int32 { 82268 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60592), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(84452))) 82269 crt.X__builtin_abort(tls) 82270 return i32(0) 82271 }() 82272 }() 82273 func() int32 { 82274 if ((_sqlite3Config.X6) == i32(0)) || (_iEnd <= ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16)) { 82275 return i32(0) 82276 } 82277 return func() int32 { 82278 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60593), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(84516))) 82279 crt.X__builtin_abort(tls) 82280 return i32(0) 82281 }() 82282 }() 82283 func() int32 { 82284 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 82285 return i32(0) 82286 } 82287 return func() int32 { 82288 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60594), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(21228))) 82289 crt.X__builtin_abort(tls) 82290 return i32(0) 82291 }() 82292 }() 82293 func() int32 { 82294 if int32(_iSize) >= i32(4) { 82295 return i32(0) 82296 } 82297 return func() int32 { 82298 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60595), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(84564))) 82299 crt.X__builtin_abort(tls) 82300 return i32(0) 82301 }() 82302 }() 82303 func() int32 { 82304 if uint32(_iStart) <= _iLast { 82305 return i32(0) 82306 } 82307 return func() int32 { 82308 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60596), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(84576))) 82309 crt.X__builtin_abort(tls) 82310 return i32(0) 82311 }() 82312 }() 82313 if (int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X10) & i32(4)) == 0 { 82314 goto _16 82315 } 82316 82317 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iStart)))), i32(0), uint32(_iSize)) 82318 _16: 82319 _hdr = _pPage.X6 82320 _iPtr = uint16(int32(_hdr) + i32(1)) 82321 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_iPtr)+i32(1))))) != i32(0) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_iPtr)))) != i32(0) { 82322 goto _18 82323 } 82324 82325 _iFreeBlk = uint16(i32(0)) 82326 goto _19 82327 82328 _18: 82329 _20: 82330 if int32(store6908(&_iFreeBlk, uint16((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iPtr))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iPtr))))) + 1*uintptr(i32(1)))))))) >= int32(_iStart) { 82331 goto _21 82332 } 82333 82334 if int32(_iFreeBlk) >= (int32(_iPtr) + i32(4)) { 82335 goto _22 82336 } 82337 82338 if int32(_iFreeBlk) != i32(0) { 82339 goto _23 82340 } 82341 82342 goto _21 82343 82344 _23: 82345 r0 = _sqlite3CorruptError(tls, i32(60615)) 82346 return 82347 82348 _22: 82349 _iPtr = _iFreeBlk 82350 goto _20 82351 82352 _21: 82353 if uint32(_iFreeBlk) <= _iLast { 82354 goto _24 82355 } 82356 82357 r0 = _sqlite3CorruptError(tls, i32(60619)) 82358 return 82359 82360 _24: 82361 func() int32 { 82362 if (int32(_iFreeBlk) > int32(_iPtr)) || (int32(_iFreeBlk) == i32(0)) { 82363 return i32(0) 82364 } 82365 return func() int32 { 82366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60620), unsafe.Pointer((*int8)(unsafe.Pointer(&_freeSpaceØ00__func__Ø000))), unsafe.Pointer(str(84592))) 82367 crt.X__builtin_abort(tls) 82368 return i32(0) 82369 }() 82370 }() 82371 if _iFreeBlk == 0 || (_iEnd+uint32(i32(3))) < uint32(_iFreeBlk) { 82372 goto _29 82373 } 82374 82375 _nFrag = uint8(uint32(_iFreeBlk) - _iEnd) 82376 if _iEnd <= uint32(_iFreeBlk) { 82377 goto _30 82378 } 82379 82380 r0 = _sqlite3CorruptError(tls, i32(60630)) 82381 return 82382 82383 _30: 82384 _iEnd = uint32(int32(_iFreeBlk) + ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_iFreeBlk)+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_iFreeBlk)+i32(2)))))) + 1*uintptr(i32(1))))))) 82385 if _iEnd <= ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { 82386 goto _31 82387 } 82388 82389 r0 = _sqlite3CorruptError(tls, i32(60632)) 82390 return 82391 82392 _31: 82393 _iSize = uint16(_iEnd - uint32(_iStart)) 82394 _iFreeBlk = uint16((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iFreeBlk))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iFreeBlk))))) + 1*uintptr(i32(1)))))) 82395 _29: 82396 if int32(_iPtr) <= (int32(_hdr) + i32(1)) { 82397 goto _32 82398 } 82399 82400 _7_iPtrEnd = int32(_iPtr) + ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_iPtr)+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_iPtr)+i32(2)))))) + 1*uintptr(i32(1)))))) 82401 if (_7_iPtrEnd + i32(3)) < int32(_iStart) { 82402 goto _33 82403 } 82404 82405 if _7_iPtrEnd <= int32(_iStart) { 82406 goto _34 82407 } 82408 82409 r0 = _sqlite3CorruptError(tls, i32(60644)) 82410 return 82411 82412 _34: 82413 { 82414 p := &_nFrag 82415 *p = uint8(int32(*p) + (int32(_iStart) - _7_iPtrEnd)) 82416 sink6915 = *p 82417 } 82418 _iSize = uint16(_iEnd - uint32(_iPtr)) 82419 _iStart = _iPtr 82420 _33: 82421 _32: 82422 if int32(_nFrag) <= int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_hdr)+i32(7))))) { 82423 goto _35 82424 } 82425 82426 r0 = _sqlite3CorruptError(tls, i32(60650)) 82427 return 82428 82429 _35: 82430 { 82431 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_hdr)+i32(7)))) 82432 *p = uint8(int32(*p) - int32(_nFrag)) 82433 sink6915 = *p 82434 } 82435 _19: 82436 if int32(_iStart) != ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(1)))))) { 82437 goto _36 82438 } 82439 82440 if int32(_iPtr) == (int32(_hdr) + i32(1)) { 82441 goto _37 82442 } 82443 82444 r0 = _sqlite3CorruptError(tls, i32(60657)) 82445 return 82446 82447 _37: 82448 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82449 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(1)))))) + 1*uintptr(i32(0)))) = uint8(int32(_iFreeBlk) >> uint(i32(8))) 82450 return _data 82451 }()))+1*uintptr(int32(_hdr)+i32(1)))))) + 1*uintptr(i32(1)))) = uint8(_iFreeBlk) 82452 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82453 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(_iEnd >> uint(i32(8))) 82454 return _data 82455 }()))+1*uintptr(int32(_hdr)+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_iEnd) 82456 goto _38 82457 82458 _36: 82459 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82460 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iPtr))))) + 1*uintptr(i32(0)))) = uint8(int32(_iStart) >> uint(i32(8))) 82461 return _data 82462 }()))+1*uintptr(_iPtr))))) + 1*uintptr(i32(1)))) = uint8(_iStart) 82463 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82464 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iStart))))) + 1*uintptr(i32(0)))) = uint8(int32(_iFreeBlk) >> uint(i32(8))) 82465 return _data 82466 }()))+1*uintptr(_iStart))))) + 1*uintptr(i32(1)))) = uint8(_iFreeBlk) 82467 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82468 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_iStart)+i32(2)))))) + 1*uintptr(i32(0)))) = uint8(int32(_iSize) >> uint(i32(8))) 82469 return _data 82470 }()))+1*uintptr(int32(_iStart)+i32(2)))))) + 1*uintptr(i32(1)))) = uint8(_iSize) 82471 _38: 82472 { 82473 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) 82474 *p = uint16(int32(*p) + int32(_iOrigSize)) 82475 sink6908 = *p 82476 } 82477 r0 = i32(0) 82478 return 82479 82480 } 82481 82482 var _freeSpaceØ00__func__Ø000 [10]int8 // - 82483 82484 func init() { 82485 crt.Xstrncpy(nil, &_freeSpaceØ00__func__Ø000[0], str(84624), 10) 82486 } 82487 82488 func _insertCell(tls *crt.TLS, _pPage *XMemPage, _i int32, _pCell *uint8, _sz int32, _pTemp *uint8, _iChild uint32, _pRC *int32) { // sqlite3.c:65369:1 82489 var _idx int32 // sqlite3.c:65378:7 82490 _ = _idx 82491 var _j int32 // sqlite3.c:65379:7 82492 _ = _j 82493 var _data *uint8 // sqlite3.c:65380:6 82494 _ = _data 82495 var _pIns *uint8 // sqlite3.c:65381:6 82496 _ = _pIns 82497 var _4_rc int32 // sqlite3.c:65420:9 82498 _ = _4_rc 82499 _idx = i32(0) 82500 func() int32 { 82501 if (*_pRC) == i32(0) { 82502 return i32(0) 82503 } 82504 return func() int32 { 82505 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65383), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84636))) 82506 crt.X__builtin_abort(tls) 82507 return i32(0) 82508 }() 82509 }() 82510 func() int32 { 82511 if (_i >= i32(0)) && (_i <= (int32(_pPage.X14) + int32(_pPage.X9))) { 82512 return i32(0) 82513 } 82514 return func() int32 { 82515 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65384), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84652))) 82516 crt.X__builtin_abort(tls) 82517 return i32(0) 82518 }() 82519 }() 82520 func() int32 { 82521 if ((((*XBtShared)(unsafe.Pointer(_pPage.X18)).X15) - uint32(i32(8))) / uint32(i32(6))) <= uint32(i32(10921)) { 82522 return i32(0) 82523 } 82524 return func() int32 { 82525 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65385), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84696))) 82526 crt.X__builtin_abort(tls) 82527 return i32(0) 82528 }() 82529 }() 82530 func() int32 { 82531 if (uint32(_pPage.X14) <= ((((*XBtShared)(unsafe.Pointer(_pPage.X18)).X15) - uint32(i32(8))) / uint32(i32(6)))) || ((_sqlite3Config.X6) == i32(0)) { 82532 return i32(0) 82533 } 82534 return func() int32 { 82535 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65386), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84724))) 82536 crt.X__builtin_abort(tls) 82537 return i32(0) 82538 }() 82539 }() 82540 func() int32 { 82541 if int32(_pPage.X9) <= i32(4) { 82542 return i32(0) 82543 } 82544 return func() int32 { 82545 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65387), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84772))) 82546 crt.X__builtin_abort(tls) 82547 return i32(0) 82548 }() 82549 }() 82550 i32(0) 82551 func() int32 { 82552 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 82553 return i32(0) 82554 } 82555 return func() int32 { 82556 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65389), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(21228))) 82557 crt.X__builtin_abort(tls) 82558 return i32(0) 82559 }() 82560 }() 82561 func() int32 { 82562 if (_sz == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 82563 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 82564 }{(_pPage.X24)})))(tls, _pPage, _pCell))) || ((_sz == i32(8)) && (_iChild > uint32(i32(0)))) { 82565 return i32(0) 82566 } 82567 return func() int32 { 82568 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65395), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84816))) 82569 crt.X__builtin_abort(tls) 82570 return i32(0) 82571 }() 82572 }() 82573 if (_pPage.X9) == 0 && (_sz+i32(2)) <= int32(_pPage.X13) { 82574 goto _19 82575 } 82576 82577 if _pTemp == nil { 82578 goto _20 82579 } 82580 82581 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTemp), (unsafe.Pointer)(_pCell), uint32(_sz)) 82582 _pCell = _pTemp 82583 _20: 82584 if _iChild == 0 { 82585 goto _21 82586 } 82587 82588 _sqlite3Put4byte(tls, _pCell, _iChild) 82589 _21: 82590 _j = int32(postInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(12 /* X9 */))), uint8(1))) 82591 func() int32 { 82592 if _j < i32(3) { 82593 return i32(0) 82594 } 82595 return func() int32 { 82596 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65408), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84876))) 82597 crt.X__builtin_abort(tls) 82598 return i32(0) 82599 }() 82600 }() 82601 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(36 /* X17 */))))) + 4*uintptr(_j))) = _pCell 82602 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(26 /* X16 */))))) + 2*uintptr(_j))) = uint16(_i) 82603 func() int32 { 82604 if (_j == i32(0)) || (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(26 /* X16 */))))) + 2*uintptr(_j-i32(1))))) < int32(uint16(_i))) { 82605 return i32(0) 82606 } 82607 return func() int32 { 82608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65417), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84908))) 82609 crt.X__builtin_abort(tls) 82610 return i32(0) 82611 }() 82612 }() 82613 func() int32 { 82614 if (_j == i32(0)) || (_i == (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(26 /* X16 */))))) + 2*uintptr(_j-i32(1))))) + i32(1))) { 82615 return i32(0) 82616 } 82617 return func() int32 { 82618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65418), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84944))) 82619 crt.X__builtin_abort(tls) 82620 return i32(0) 82621 }() 82622 }() 82623 goto _30 82624 82625 _19: 82626 _4_rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 82627 if _4_rc == i32(0) { 82628 goto _31 82629 } 82630 82631 *_pRC = _4_rc 82632 return 82633 82634 _31: 82635 func() int32 { 82636 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 82637 return i32(0) 82638 } 82639 return func() int32 { 82640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65425), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(56276))) 82641 crt.X__builtin_abort(tls) 82642 return i32(0) 82643 }() 82644 }() 82645 _data = _pPage.X19 82646 func() int32 { 82647 if (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_pPage.X12))) == (_pPage.X21) { 82648 return i32(0) 82649 } 82650 return func() int32 { 82651 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65427), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(84976))) 82652 crt.X__builtin_abort(tls) 82653 return i32(0) 82654 }() 82655 }() 82656 _4_rc = _allocateSpace(tls, _pPage, _sz, &_idx) 82657 if _4_rc == 0 { 82658 goto _36 82659 } 82660 82661 *_pRC = _4_rc 82662 return 82663 82664 _36: 82665 func() int32 { 82666 if _idx >= i32(0) { 82667 return i32(0) 82668 } 82669 return func() int32 { 82670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65432), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(85020))) 82671 crt.X__builtin_abort(tls) 82672 return i32(0) 82673 }() 82674 }() 82675 func() int32 { 82676 if (_idx >= ((int32(_pPage.X12) + (i32(2) * int32(_pPage.X14))) + i32(2))) || ((_sqlite3Config.X6) == i32(0)) { 82677 return i32(0) 82678 } 82679 return func() int32 { 82680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65433), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(85032))) 82681 crt.X__builtin_abort(tls) 82682 return i32(0) 82683 }() 82684 }() 82685 func() int32 { 82686 if (_idx + _sz) <= int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { 82687 return i32(0) 82688 } 82689 return func() int32 { 82690 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65434), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(85088))) 82691 crt.X__builtin_abort(tls) 82692 return i32(0) 82693 }() 82694 }() 82695 { 82696 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X13 */))) 82697 *p = uint16(int32(*p) - int32(uint16(i32(2)+_sz))) 82698 sink6908 = *p 82699 } 82700 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_idx)))), (unsafe.Pointer)(_pCell), uint32(_sz)) 82701 if _iChild == 0 { 82702 goto _44 82703 } 82704 82705 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_idx))), _iChild) 82706 _44: 82707 _pIns = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X21)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_i*i32(2)))))))) 82708 crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pIns))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2))))))))), (unsafe.Pointer)(_pIns), uint32(i32(2)*(int32(_pPage.X14)-_i))) 82709 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82710 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIns)) + 1*uintptr(i32(0)))) = uint8(_idx >> uint(i32(8))) 82711 return _pIns 82712 }())) + 1*uintptr(i32(1)))) = uint8(_idx) 82713 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(22 /* X14 */))) += 1 82714 if int32(preInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_pPage.X6)+i32(4)))), byte(1))) != i32(0) { 82715 goto _45 82716 } 82717 82718 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(int32(_pPage.X6)+i32(3)))) += 1 82719 _45: 82720 func() int32 { 82721 if ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_pPage.X6)+i32(3)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(int32(_pPage.X6)+i32(3)))))) + 1*uintptr(i32(1)))))) == int32(_pPage.X14) { 82722 return i32(0) 82723 } 82724 return func() int32 { 82725 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65446), unsafe.Pointer((*int8)(unsafe.Pointer(&_insertCellØ00__func__Ø000))), unsafe.Pointer(str(85128))) 82726 crt.X__builtin_abort(tls) 82727 return i32(0) 82728 }() 82729 }() 82730 if ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X5) == 0 { 82731 goto _48 82732 } 82733 82734 _ptrmapPutOvflPtr(tls, _pPage, _pCell, _pRC) 82735 _48: 82736 _30: 82737 return 82738 82739 } 82740 82741 var _insertCellØ00__func__Ø000 [11]int8 // - 82742 82743 func init() { 82744 crt.Xstrncpy(nil, &_insertCellØ00__func__Ø000[0], str(85180), 11) 82745 } 82746 82747 func _allocateSpace(tls *crt.TLS, _pPage *XMemPage, _nByte int32, _pIdx *int32) (r0 int32) { // sqlite3.c:60490:1 82748 var _hdr int32 // sqlite3.c:60491:13 82749 _ = _hdr 82750 var _data *uint8 // sqlite3.c:60492:6 82751 _ = _data 82752 var _top int32 // sqlite3.c:60493:7 82753 _ = _top 82754 var _rc int32 // sqlite3.c:60494:7 82755 _ = _rc 82756 var _gap int32 // sqlite3.c:60495:7 82757 _ = _gap 82758 var _4_pSpace *uint8 // sqlite3.c:60531:8 82759 _ = _4_pSpace 82760 _hdr = int32(_pPage.X6) 82761 _data = _pPage.X19 82762 _rc = i32(0) 82763 func() int32 { 82764 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 82765 return i32(0) 82766 } 82767 return func() int32 { 82768 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60497), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(56276))) 82769 crt.X__builtin_abort(tls) 82770 return i32(0) 82771 }() 82772 }() 82773 func() int32 { 82774 if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != nil { 82775 return i32(0) 82776 } 82777 return func() int32 { 82778 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60498), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(21088))) 82779 crt.X__builtin_abort(tls) 82780 return i32(0) 82781 }() 82782 }() 82783 func() int32 { 82784 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 82785 return i32(0) 82786 } 82787 return func() int32 { 82788 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60499), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(21228))) 82789 crt.X__builtin_abort(tls) 82790 return i32(0) 82791 }() 82792 }() 82793 func() int32 { 82794 if _nByte >= i32(0) { 82795 return i32(0) 82796 } 82797 return func() int32 { 82798 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60500), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85192))) 82799 crt.X__builtin_abort(tls) 82800 return i32(0) 82801 }() 82802 }() 82803 func() int32 { 82804 if int32(_pPage.X13) >= _nByte { 82805 return i32(0) 82806 } 82807 return func() int32 { 82808 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60501), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85204))) 82809 crt.X__builtin_abort(tls) 82810 return i32(0) 82811 }() 82812 }() 82813 func() int32 { 82814 if int32(_pPage.X9) == i32(0) { 82815 return i32(0) 82816 } 82817 return func() int32 { 82818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60502), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85224))) 82819 crt.X__builtin_abort(tls) 82820 return i32(0) 82821 }() 82822 }() 82823 func() int32 { 82824 if _nByte < int32(((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16)-uint32(i32(8))) { 82825 return i32(0) 82826 } 82827 return func() int32 { 82828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60503), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85244))) 82829 crt.X__builtin_abort(tls) 82830 return i32(0) 82831 }() 82832 }() 82833 func() int32 { 82834 if int32(_pPage.X12) == ((_hdr + i32(12)) - (i32(4) * int32(_pPage.X5))) { 82835 return i32(0) 82836 } 82837 return func() int32 { 82838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60505), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85284))) 82839 crt.X__builtin_abort(tls) 82840 return i32(0) 82841 }() 82842 }() 82843 _gap = int32(_pPage.X12) + (i32(2) * int32(_pPage.X14)) 82844 func() int32 { 82845 if _gap <= i32(65536) { 82846 return i32(0) 82847 } 82848 return func() int32 { 82849 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60507), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85332))) 82850 crt.X__builtin_abort(tls) 82851 return i32(0) 82852 }() 82853 }() 82854 _top = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1))))) 82855 func() int32 { 82856 if _top <= int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { 82857 return i32(0) 82858 } 82859 return func() int32 { 82860 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60514), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85344))) 82861 crt.X__builtin_abort(tls) 82862 return i32(0) 82863 }() 82864 }() 82865 if _gap <= _top { 82866 goto _20 82867 } 82868 82869 if _top != i32(0) || ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) != uint32(i32(65536)) { 82870 goto _22 82871 } 82872 82873 _top = i32(65536) 82874 goto _23 82875 82876 _22: 82877 r0 = _sqlite3CorruptError(tls, i32(60519)) 82878 return 82879 82880 _23: 82881 _20: 82882 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(2))))) == 0 && (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(1))))) == 0 || (_gap+i32(2)) > _top { 82883 goto _26 82884 } 82885 82886 _4_pSpace = _pageFindSlot(tls, _pPage, _nByte, &_rc) 82887 if _4_pSpace == nil { 82888 goto _27 82889 } 82890 82891 func() int32 { 82892 if (uintptr(unsafe.Pointer(_4_pSpace)) >= uintptr(unsafe.Pointer(_data))) && (int32((uintptr(unsafe.Pointer(_4_pSpace))-uintptr(unsafe.Pointer(_data)))/1) < i32(65536)) { 82893 return i32(0) 82894 } 82895 return func() int32 { 82896 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60533), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85380))) 82897 crt.X__builtin_abort(tls) 82898 return i32(0) 82899 }() 82900 }() 82901 *_pIdx = int32((uintptr(unsafe.Pointer(_4_pSpace)) - uintptr(unsafe.Pointer(_data))) / 1) 82902 r0 = i32(0) 82903 return 82904 82905 _27: 82906 if _rc == 0 { 82907 goto _32 82908 } 82909 82910 r0 = _rc 82911 return 82912 82913 _32: 82914 _26: 82915 if ((_gap + i32(2)) + _nByte) <= _top { 82916 goto _33 82917 } 82918 82919 func() int32 { 82920 if (int32(_pPage.X14) > i32(0)) || ((_sqlite3Config.X6) == i32(0)) { 82921 return i32(0) 82922 } 82923 return func() int32 { 82924 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60546), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85420))) 82925 crt.X__builtin_abort(tls) 82926 return i32(0) 82927 }() 82928 }() 82929 _rc = _defragmentPage(tls, _pPage, func() int32 { 82930 if i32(4) < (int32(_pPage.X13) - (i32(2) + _nByte)) { 82931 return i32(4) 82932 } 82933 return (int32(_pPage.X13) - (i32(2) + _nByte)) 82934 }()) 82935 if _rc == 0 { 82936 goto _39 82937 } 82938 82939 r0 = _rc 82940 return 82941 82942 _39: 82943 _top = ((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))))) - i32(1)) & i32(65535)) + i32(1) 82944 func() int32 { 82945 if ((_gap + i32(2)) + _nByte) <= _top { 82946 return i32(0) 82947 } 82948 return func() int32 { 82949 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60550), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85452))) 82950 crt.X__builtin_abort(tls) 82951 return i32(0) 82952 }() 82953 }() 82954 _33: 82955 { 82956 p := &_top 82957 *p = (*p) - _nByte 82958 sink961 = *p 82959 } 82960 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 82961 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(_top >> uint(i32(8))) 82962 return _data 82963 }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_top) 82964 func() int32 { 82965 if (_top + _nByte) <= int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) { 82966 return i32(0) 82967 } 82968 return func() int32 { 82969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60562), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateSpaceØ00__func__Ø000))), unsafe.Pointer(str(85472))) 82970 crt.X__builtin_abort(tls) 82971 return i32(0) 82972 }() 82973 }() 82974 *_pIdx = _top 82975 r0 = i32(0) 82976 return 82977 82978 } 82979 82980 var _allocateSpaceØ00__func__Ø000 [14]int8 // - 82981 82982 func init() { 82983 crt.Xstrncpy(nil, &_allocateSpaceØ00__func__Ø000[0], str(85516), 14) 82984 } 82985 82986 func _pageFindSlot(tls *crt.TLS, _pPg *XMemPage, _nByte int32, _pRc *int32) (r0 *uint8) { // sqlite3.c:60427:1 82987 var _hdr int32 // sqlite3.c:60428:13 82988 _ = _hdr 82989 var _aData *uint8 // sqlite3.c:60429:6 82990 _ = _aData 82991 var _iAddr int32 // sqlite3.c:60430:7 82992 _ = _iAddr 82993 var _pc int32 // sqlite3.c:60431:7 82994 _ = _pc 82995 var _x int32 // sqlite3.c:60432:7 82996 _ = _x 82997 var _usableSize int32 // sqlite3.c:60433:7 82998 _ = _usableSize 82999 var _1_size int32 // sqlite3.c:60437:9 83000 _ = _1_size 83001 _hdr = int32(_pPg.X6) 83002 _aData = _pPg.X19 83003 _iAddr = _hdr + i32(1) 83004 _pc = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_iAddr))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_iAddr))))) + 1*uintptr(i32(1))))) 83005 _usableSize = int32((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16) 83006 func() int32 { 83007 if _pc > i32(0) { 83008 return i32(0) 83009 } 83010 return func() int32 { 83011 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60435), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageFindSlotØ00__func__Ø000))), unsafe.Pointer(str(85532))) 83012 crt.X__builtin_abort(tls) 83013 return i32(0) 83014 }() 83015 }() 83016 _2: 83017 if _pc <= (_usableSize-i32(4)) && _pc >= (_iAddr+i32(4)) { 83018 goto _4 83019 } 83020 83021 *_pRc = _sqlite3CorruptError(tls, i32(60441)) 83022 r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 83023 return 83024 83025 _4: 83026 _1_size = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_pc+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_pc+i32(2)))))) + 1*uintptr(i32(1))))) 83027 if store961(&_x, _1_size-_nByte) < i32(0) { 83028 goto _5 83029 } 83030 83031 if _pc >= (int32(_pPg.X12)+(i32(2)*int32(_pPg.X14))) && (_1_size+_pc) <= _usableSize { 83032 goto _7 83033 } 83034 83035 *_pRc = _sqlite3CorruptError(tls, i32(60452)) 83036 r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 83037 return 83038 83039 _7: 83040 if _x >= i32(4) { 83041 goto _9 83042 } 83043 83044 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_hdr+i32(7))))) <= i32(57) { 83045 goto _10 83046 } 83047 83048 r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 83049 return 83050 83051 _10: 83052 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_iAddr)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_pc)))), uint32(i32(2))) 83053 { 83054 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_hdr+i32(7)))) 83055 *p = uint8(int32(*p) + int32(uint8(_x))) 83056 sink6915 = *p 83057 } 83058 goto _11 83059 83060 _9: 83061 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 83062 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_pc+i32(2)))))) + 1*uintptr(i32(0)))) = uint8(_x >> uint(i32(8))) 83063 return _aData 83064 }()))+1*uintptr(_pc+i32(2)))))) + 1*uintptr(i32(1)))) = uint8(_x) 83065 _11: 83066 r0 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_pc+_x))) 83067 return 83068 83069 _5: 83070 _iAddr = _pc 83071 _pc = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_pc))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_pc))))) + 1*uintptr(i32(1))))) 83072 if _pc != 0 { 83073 goto _2 83074 } 83075 83076 r0 = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 83077 return 83078 83079 } 83080 83081 var _pageFindSlotØ00__func__Ø000 [13]int8 // - 83082 83083 func init() { 83084 crt.Xstrncpy(nil, &_pageFindSlotØ00__func__Ø000[0], str(85540), 13) 83085 } 83086 83087 func _defragmentPage(tls *crt.TLS, _pPage *XMemPage, _nMaxFrag int32) (r0 int32) { // sqlite3.c:60289:1 83088 var _i int32 // sqlite3.c:60290:7 83089 _ = _i 83090 var _pc int32 // sqlite3.c:60291:7 83091 _ = _pc 83092 var _hdr int32 // sqlite3.c:60292:7 83093 _ = _hdr 83094 var _size int32 // sqlite3.c:60293:7 83095 _ = _size 83096 var _usableSize int32 // sqlite3.c:60294:7 83097 _ = _usableSize 83098 var _cellOffset int32 // sqlite3.c:60295:7 83099 _ = _cellOffset 83100 var _cbrk int32 // sqlite3.c:60296:7 83101 _ = _cbrk 83102 var _nCell int32 // sqlite3.c:60297:7 83103 _ = _nCell 83104 var _data *uint8 // sqlite3.c:60298:17 83105 _ = _data 83106 var _temp *uint8 // sqlite3.c:60299:17 83107 _ = _temp 83108 var _src *uint8 // sqlite3.c:60300:17 83109 _ = _src 83110 var _iCellFirst int32 // sqlite3.c:60301:7 83111 _ = _iCellFirst 83112 var _iCellLast int32 // sqlite3.c:60302:7 83113 _ = _iCellLast 83114 var _1_iFree int32 // sqlite3.c:60324:9 83115 _ = _1_iFree 83116 var _2_iFree2 int32 // sqlite3.c:60326:11 83117 _ = _2_iFree2 83118 var _3_pEnd *uint8 // sqlite3.c:60339:12 83119 _ = _3_pEnd 83120 var _3_pAddr *uint8 // sqlite3.c:60340:12 83121 _ = _3_pAddr 83122 var _3_sz2 int32 // sqlite3.c:60341:13 83123 _ = _3_sz2 83124 var _3_sz int32 // sqlite3.c:60342:13 83125 _ = _3_sz 83126 var _3_top int32 // sqlite3.c:60343:13 83127 _ = _3_top 83128 var _8_pAddr *uint8 // sqlite3.c:60367:8 83129 _ = _8_pAddr 83130 var _11_x int32 // sqlite3.c:60389:11 83131 _ = _11_x 83132 func() int32 { 83133 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 83134 return i32(0) 83135 } 83136 return func() int32 { 83137 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60304), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(56276))) 83138 crt.X__builtin_abort(tls) 83139 return i32(0) 83140 }() 83141 }() 83142 func() int32 { 83143 if (*XBtShared)(unsafe.Pointer(_pPage.X18)) != (*XBtShared)(unsafe.Pointer(uintptr(i32(0)))) { 83144 return i32(0) 83145 } 83146 return func() int32 { 83147 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60305), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(58412))) 83148 crt.X__builtin_abort(tls) 83149 return i32(0) 83150 }() 83151 }() 83152 func() int32 { 83153 if ((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) <= uint32(i32(65536)) { 83154 return i32(0) 83155 } 83156 return func() int32 { 83157 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60306), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85556))) 83158 crt.X__builtin_abort(tls) 83159 return i32(0) 83160 }() 83161 }() 83162 func() int32 { 83163 if int32(_pPage.X9) == i32(0) { 83164 return i32(0) 83165 } 83166 return func() int32 { 83167 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60307), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85224))) 83168 crt.X__builtin_abort(tls) 83169 return i32(0) 83170 }() 83171 }() 83172 func() int32 { 83173 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 83174 return i32(0) 83175 } 83176 return func() int32 { 83177 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60308), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(21228))) 83178 crt.X__builtin_abort(tls) 83179 return i32(0) 83180 }() 83181 }() 83182 _temp = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 83183 _src = store6921(&_data, _pPage.X19) 83184 _hdr = int32(_pPage.X6) 83185 _cellOffset = int32(_pPage.X12) 83186 _nCell = int32(_pPage.X14) 83187 func() int32 { 83188 if _nCell == ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))))) { 83189 return i32(0) 83190 } 83191 return func() int32 { 83192 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60314), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85604))) 83193 crt.X__builtin_abort(tls) 83194 return i32(0) 83195 }() 83196 }() 83197 _iCellFirst = _cellOffset + (i32(2) * _nCell) 83198 _usableSize = int32((*XBtShared)(unsafe.Pointer(_pPage.X18)).X16) 83199 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))) > _nMaxFrag { 83200 goto _12 83201 } 83202 83203 _1_iFree = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(1))))) 83204 if _1_iFree == 0 { 83205 goto _13 83206 } 83207 83208 _2_iFree2 = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree))))) + 1*uintptr(i32(1))))) 83209 func() int32 { 83210 if (_2_iFree2 == i32(0)) || (_2_iFree2 > _1_iFree) { 83211 return i32(0) 83212 } 83213 return func() int32 { 83214 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60334), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85636))) 83215 crt.X__builtin_abort(tls) 83216 return i32(0) 83217 }() 83218 }() 83219 func() int32 { 83220 if (_1_iFree + ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree+i32(2)))))) + 1*uintptr(i32(1))))))) <= _usableSize { 83221 return i32(0) 83222 } 83223 return func() int32 { 83224 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60335), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85664))) 83225 crt.X__builtin_abort(tls) 83226 return i32(0) 83227 }() 83228 }() 83229 func() int32 { 83230 if (_2_iFree2 == i32(0)) || ((_2_iFree2 + ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_2_iFree2+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_2_iFree2+i32(2)))))) + 1*uintptr(i32(1))))))) <= _usableSize) { 83231 return i32(0) 83232 } 83233 return func() int32 { 83234 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60336), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85712))) 83235 crt.X__builtin_abort(tls) 83236 return i32(0) 83237 }() 83238 }() 83239 if i32(0) != _2_iFree2 && (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_2_iFree2)))) != i32(0) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_2_iFree2+i32(1))))) != i32(0)) { 83240 goto _24 83241 } 83242 83243 _3_pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellOffset+(_nCell*i32(2))))) 83244 _3_sz2 = i32(0) 83245 _3_sz = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree+i32(2)))))) + 1*uintptr(i32(1))))) 83246 _3_top = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1))))) 83247 if _2_iFree2 == 0 { 83248 goto _25 83249 } 83250 83251 if (_1_iFree + _3_sz) <= _2_iFree2 { 83252 goto _26 83253 } 83254 83255 r0 = _sqlite3CorruptError(tls, i32(60345)) 83256 return 83257 83258 _26: 83259 _3_sz2 = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_2_iFree2+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_2_iFree2+i32(2)))))) + 1*uintptr(i32(1))))) 83260 func() int32 { 83261 if ((((_1_iFree + _3_sz) + _3_sz2) + _2_iFree2) - (_1_iFree + _3_sz)) <= _usableSize { 83262 return i32(0) 83263 } 83264 return func() int32 { 83265 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60347), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85772))) 83266 crt.X__builtin_abort(tls) 83267 return i32(0) 83268 }() 83269 }() 83270 crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr((_1_iFree+_3_sz)+_3_sz2)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_1_iFree+_3_sz)))), uint32(_2_iFree2-(_1_iFree+_3_sz))) 83271 { 83272 p := &_3_sz 83273 *p = (*p) + _3_sz2 83274 sink961 = *p 83275 } 83276 _25: 83277 _cbrk = _3_top + _3_sz 83278 func() int32 { 83279 if (_cbrk + (_1_iFree - _3_top)) <= _usableSize { 83280 return i32(0) 83281 } 83282 return func() int32 { 83283 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60352), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85820))) 83284 crt.X__builtin_abort(tls) 83285 return i32(0) 83286 }() 83287 }() 83288 crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cbrk)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_3_top)))), uint32(_1_iFree-_3_top)) 83289 _3_pAddr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellOffset))) 83290 _31: 83291 if uintptr(unsafe.Pointer(_3_pAddr)) >= uintptr(unsafe.Pointer(_3_pEnd)) { 83292 goto _34 83293 } 83294 83295 _pc = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAddr)) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAddr)) + 1*uintptr(i32(1))))) 83296 if _pc >= _1_iFree { 83297 goto _35 83298 } 83299 83300 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 83301 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAddr)) + 1*uintptr(i32(0)))) = uint8((_pc + _3_sz) >> uint(i32(8))) 83302 return _3_pAddr 83303 }())) + 1*uintptr(i32(1)))) = uint8(_pc + _3_sz) 83304 goto _36 83305 83306 _35: 83307 if _pc >= _2_iFree2 { 83308 goto _37 83309 } 83310 83311 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 83312 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAddr)) + 1*uintptr(i32(0)))) = uint8((_pc + _3_sz2) >> uint(i32(8))) 83313 return _3_pAddr 83314 }())) + 1*uintptr(i32(1)))) = uint8(_pc + _3_sz2) 83315 _37: 83316 _36: 83317 { 83318 p := &_3_pAddr 83319 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 83320 sink6921 = *p 83321 } 83322 goto _31 83323 83324 _34: 83325 goto _defragment_out 83326 83327 _24: 83328 _13: 83329 _12: 83330 _cbrk = _usableSize 83331 _iCellLast = _usableSize - i32(4) 83332 _i = i32(0) 83333 _38: 83334 if _i >= _nCell { 83335 goto _41 83336 } 83337 83338 _8_pAddr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellOffset+(_i*i32(2))))) 83339 _pc = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pAddr)) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pAddr)) + 1*uintptr(i32(1))))) 83340 if _pc >= _iCellFirst && _pc <= _iCellLast { 83341 goto _43 83342 } 83343 83344 r0 = _sqlite3CorruptError(tls, i32(60376)) 83345 return 83346 83347 _43: 83348 func() int32 { 83349 if (_pc >= _iCellFirst) && (_pc <= _iCellLast) { 83350 return i32(0) 83351 } 83352 return func() int32 { 83353 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60378), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85852))) 83354 crt.X__builtin_abort(tls) 83355 return i32(0) 83356 }() 83357 }() 83358 _size = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 83359 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 83360 }{(_pPage.X24)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_src))+1*uintptr(_pc))))) 83361 { 83362 p := &_cbrk 83363 *p = (*p) - _size 83364 sink961 = *p 83365 } 83366 if _cbrk >= _iCellFirst && (_pc+_size) <= _usableSize { 83367 goto _48 83368 } 83369 83370 r0 = _sqlite3CorruptError(tls, i32(60382)) 83371 return 83372 83373 _48: 83374 func() int32 { 83375 if ((_cbrk + _size) <= _usableSize) && (_cbrk >= _iCellFirst) { 83376 return i32(0) 83377 } 83378 return func() int32 { 83379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60384), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85884))) 83380 crt.X__builtin_abort(tls) 83381 return i32(0) 83382 }() 83383 }() 83384 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 83385 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pAddr)) + 1*uintptr(i32(0)))) = uint8(_cbrk >> uint(i32(8))) 83386 return _8_pAddr 83387 }())) + 1*uintptr(i32(1)))) = uint8(_cbrk) 83388 if _temp != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 83389 goto _52 83390 } 83391 83392 if _cbrk != _pc { 83393 goto _53 83394 } 83395 83396 goto _39 83397 83398 _53: 83399 _temp = (*uint8)(unsafe.Pointer(_sqlite3PagerTempSpace(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X0))))) 83400 _11_x = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1))))) 83401 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_temp))+1*uintptr(_11_x)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_11_x)))), uint32((_cbrk+_size)-_11_x)) 83402 _src = _temp 83403 _52: 83404 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cbrk)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_src))+1*uintptr(_pc)))), uint32(_size)) 83405 _39: 83406 _i += 1 83407 goto _38 83408 83409 _41: 83410 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7)))) = uint8(i32(0)) 83411 _defragment_out: 83412 if ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))) + _cbrk) - _iCellFirst) == int32(_pPage.X13) { 83413 goto _54 83414 } 83415 83416 r0 = _sqlite3CorruptError(tls, i32(60402)) 83417 return 83418 83419 _54: 83420 func() int32 { 83421 if _cbrk >= _iCellFirst { 83422 return i32(0) 83423 } 83424 return func() int32 { 83425 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60404), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(85928))) 83426 crt.X__builtin_abort(tls) 83427 return i32(0) 83428 }() 83429 }() 83430 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 83431 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(_cbrk >> uint(i32(8))) 83432 return _data 83433 }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(_cbrk) 83434 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(1)))) = uint8(i32(0)) 83435 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(2)))) = uint8(i32(0)) 83436 crt.Xmemset(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_iCellFirst)))), i32(0), uint32(_cbrk-_iCellFirst)) 83437 func() int32 { 83438 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) != 0 { 83439 return i32(0) 83440 } 83441 return func() int32 { 83442 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(60409), unsafe.Pointer((*int8)(unsafe.Pointer(&_defragmentPageØ00__func__Ø000))), unsafe.Pointer(str(56276))) 83443 crt.X__builtin_abort(tls) 83444 return i32(0) 83445 }() 83446 }() 83447 r0 = i32(0) 83448 return 83449 83450 } 83451 83452 var _defragmentPageØ00__func__Ø000 [15]int8 // - 83453 83454 func init() { 83455 crt.Xstrncpy(nil, &_defragmentPageØ00__func__Ø000[0], str(85948), 15) 83456 } 83457 83458 func _sqlite3PagerTempSpace(tls *crt.TLS, _pPager *XPager) (r0 unsafe.Pointer) { // sqlite3.c:50633:1 83459 r0 = (unsafe.Pointer)(_pPager.X58) 83460 return 83461 83462 } 83463 83464 func _balance(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:66868:1 83465 var _rc int32 // sqlite3.c:66869:7 83466 _ = _rc 83467 var _nMin int32 // sqlite3.c:66870:13 83468 _ = _nMin 83469 var _aBalanceQuickSpace [13]uint8 // sqlite3.c:66871:6 83470 _ = _aBalanceQuickSpace 83471 var _pFree *uint8 // sqlite3.c:66872:6 83472 _ = _pFree 83473 var _balance_quick_called int32 // sqlite3.c:66874:17 83474 _ = _balance_quick_called 83475 var _balance_deeper_called int32 // sqlite3.c:66875:17 83476 _ = _balance_deeper_called 83477 var _1_iPage int32 // sqlite3.c:66878:9 83478 _ = _1_iPage 83479 var _1_pPage *XMemPage // sqlite3.c:66879:13 83480 _ = _1_pPage 83481 var _7_pParent *XMemPage // sqlite3.c:66903:15 83482 _ = _7_pParent 83483 var _7_iIdx int32 // sqlite3.c:66904:17 83484 _ = _7_iIdx 83485 var _10_pSpace *uint8 // sqlite3.c:66951:14 83486 _ = _10_pSpace 83487 _rc = i32(0) 83488 _nMin = int32((((*XBtShared)(unsafe.Pointer(_pCur.X1)).X16) * uint32(i32(2))) / uint32(i32(3))) 83489 _pFree = nil 83490 _balance_quick_called = i32(0) 83491 _balance_deeper_called = i32(0) 83492 _0: 83493 _1_iPage = int32(_pCur.X14) 83494 _1_pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_1_iPage))) 83495 if _1_iPage != i32(0) { 83496 goto _1 83497 } 83498 83499 if (_1_pPage.X9) == 0 { 83500 goto _2 83501 } 83502 83503 func() int32 { 83504 if _balance_deeper_called == i32(0) { 83505 return i32(0) 83506 } 83507 return func() int32 { 83508 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66888), unsafe.Pointer((*int8)(unsafe.Pointer(&_balanceØ00__func__Ø000))), unsafe.Pointer(str(85964))) 83509 crt.X__builtin_abort(tls) 83510 return i32(0) 83511 }() 83512 }() 83513 _balance_deeper_called += 1 83514 _rc = _balance_deeper(tls, _1_pPage, (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */)))))+4*uintptr(i32(1))))) 83515 if _rc != i32(0) { 83516 goto _5 83517 } 83518 83519 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) = int8(i32(1)) 83520 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(i32(0)))) = uint16(i32(0)) 83521 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(i32(1)))) = uint16(i32(0)) 83522 func() int32 { 83523 if ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(i32(1))))).X9) != 0 { 83524 return i32(0) 83525 } 83526 return func() int32 { 83527 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66895), unsafe.Pointer((*int8)(unsafe.Pointer(&_balanceØ00__func__Ø000))), unsafe.Pointer(str(85992))) 83528 crt.X__builtin_abort(tls) 83529 return i32(0) 83530 }() 83531 }() 83532 _5: 83533 goto _8 83534 83535 _2: 83536 goto _9 83537 83538 _8: 83539 goto _10 83540 83541 _1: 83542 if int32(_1_pPage.X9) != i32(0) || int32(_1_pPage.X13) > _nMin { 83543 goto _12 83544 } 83545 83546 goto _9 83547 83548 _12: 83549 _7_pParent = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_1_iPage-i32(1)))) 83550 _7_iIdx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_1_iPage-i32(1))))) 83551 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_7_pParent.X23))) 83552 if _rc != i32(0) { 83553 goto _14 83554 } 83555 83556 if (_1_pPage.X3) == 0 || int32(_1_pPage.X9) != i32(1) || int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pPage))+uintptr(26 /* X16 */))))) + 2*uintptr(i32(0))))) != int32(_1_pPage.X14) || (_7_pParent.X4) == uint32(i32(1)) || int32(_7_pParent.X14) != _7_iIdx { 83557 goto _19 83558 } 83559 83560 func() int32 { 83561 if _balance_quick_called == i32(0) { 83562 return i32(0) 83563 } 83564 return func() int32 { 83565 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66928), unsafe.Pointer((*int8)(unsafe.Pointer(&_balanceØ00__func__Ø000))), unsafe.Pointer(str(86020))) 83566 crt.X__builtin_abort(tls) 83567 return i32(0) 83568 }() 83569 }() 83570 _balance_quick_called += 1 83571 _rc = _balance_quick(tls, _7_pParent, _1_pPage, (*uint8)(unsafe.Pointer(&_aBalanceQuickSpace))) 83572 goto _22 83573 83574 _19: 83575 _10_pSpace = (*uint8)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32((*XBtShared)(unsafe.Pointer(_pCur.X1)).X15)))) 83576 _rc = _balance_nonroot(tls, _7_pParent, _7_iIdx, _10_pSpace, bool2int(_1_iPage == i32(1)), int32(_pCur.X13)&i32(1)) 83577 if _pFree == nil { 83578 goto _23 83579 } 83580 83581 _sqlite3PageFree(tls, (unsafe.Pointer)(_pFree)) 83582 _23: 83583 _pFree = _10_pSpace 83584 _22: 83585 _14: 83586 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pPage)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 83587 _releasePage(tls, _1_pPage) 83588 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(64 /* X14 */))) -= 1 83589 func() int32 { 83590 if int32(_pCur.X14) >= i32(0) { 83591 return i32(0) 83592 } 83593 return func() int32 { 83594 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66974), unsafe.Pointer((*int8)(unsafe.Pointer(&_balanceØ00__func__Ø000))), unsafe.Pointer(str(77564))) 83595 crt.X__builtin_abort(tls) 83596 return i32(0) 83597 }() 83598 }() 83599 _10: 83600 if _rc == i32(0) { 83601 goto _0 83602 } 83603 83604 _9: 83605 if _pFree == nil { 83606 goto _26 83607 } 83608 83609 _sqlite3PageFree(tls, (unsafe.Pointer)(_pFree)) 83610 _26: 83611 r0 = _rc 83612 return 83613 83614 } 83615 83616 var _balanceØ00__func__Ø000 [8]int8 // - 83617 83618 func init() { 83619 crt.Xstrncpy(nil, &_balanceØ00__func__Ø000[0], str(86044), 8) 83620 } 83621 83622 func _balance_deeper(tls *crt.TLS, _pRoot *XMemPage, _ppChild **XMemPage) (r0 int32) { // sqlite3.c:66811:1 83623 var _rc int32 // sqlite3.c:66812:7 83624 _ = _rc 83625 var _pChild *XMemPage // sqlite3.c:66813:11 83626 _ = _pChild 83627 var _pgnoChild uint32 // sqlite3.c:66814:8 83628 _ = _pgnoChild 83629 var _pBt *XBtShared // sqlite3.c:66815:12 83630 _ = _pBt 83631 _pChild = nil 83632 _pgnoChild = u32(0) 83633 _pBt = (*XBtShared)(unsafe.Pointer(_pRoot.X18)) 83634 func() int32 { 83635 if int32(_pRoot.X9) > i32(0) { 83636 return i32(0) 83637 } 83638 return func() int32 { 83639 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66817), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_deeperØ00__func__Ø000))), unsafe.Pointer(str(86052))) 83640 crt.X__builtin_abort(tls) 83641 return i32(0) 83642 }() 83643 }() 83644 func() int32 { 83645 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 83646 return i32(0) 83647 } 83648 return func() int32 { 83649 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66818), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_deeperØ00__func__Ø000))), unsafe.Pointer(str(9252))) 83650 crt.X__builtin_abort(tls) 83651 return i32(0) 83652 }() 83653 }() 83654 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) 83655 if _rc != i32(0) { 83656 goto _4 83657 } 83658 83659 _rc = _allocateBtreePage(tls, _pBt, &_pChild, &_pgnoChild, _pRoot.X4, uint8(i32(0))) 83660 _copyNodeContent(tls, _pRoot, _pChild, &_rc) 83661 if (_pBt.X5) == 0 { 83662 goto _5 83663 } 83664 83665 _ptrmapPut(tls, _pBt, _pgnoChild, uint8(i32(5)), _pRoot.X4, &_rc) 83666 _5: 83667 _4: 83668 if _rc == 0 { 83669 goto _6 83670 } 83671 83672 *_ppChild = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 83673 _releasePage(tls, _pChild) 83674 r0 = _rc 83675 return 83676 83677 _6: 83678 func() int32 { 83679 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pChild.X23))) != 0 { 83680 return i32(0) 83681 } 83682 return func() int32 { 83683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66837), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_deeperØ00__func__Ø000))), unsafe.Pointer(str(86072))) 83684 crt.X__builtin_abort(tls) 83685 return i32(0) 83686 }() 83687 }() 83688 func() int32 { 83689 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pRoot.X23))) != 0 { 83690 return i32(0) 83691 } 83692 return func() int32 { 83693 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66838), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_deeperØ00__func__Ø000))), unsafe.Pointer(str(82116))) 83694 crt.X__builtin_abort(tls) 83695 return i32(0) 83696 }() 83697 }() 83698 func() int32 { 83699 if int32(_pChild.X14) == int32(_pRoot.X14) { 83700 return i32(0) 83701 } 83702 return func() int32 { 83703 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66839), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_deeperØ00__func__Ø000))), unsafe.Pointer(str(86116))) 83704 crt.X__builtin_abort(tls) 83705 return i32(0) 83706 }() 83707 }() 83708 crt.Xmemcpy(tls, (unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild))+uintptr(26 /* X16 */)))), (unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot))+uintptr(26 /* X16 */)))), uint32(_pRoot.X9)*u32(2)) 83709 crt.Xmemcpy(tls, (unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild))+uintptr(36 /* X17 */)))), (unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot))+uintptr(36 /* X17 */)))), uint32(_pRoot.X9)*u32(4)) 83710 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild)) + uintptr(12 /* X9 */))) = _pRoot.X9 83711 _zeroPage(tls, _pRoot, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pChild.X19)) + 1*uintptr(i32(0)))))&i32(-9)) 83712 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot.X19))+1*uintptr(int32(_pRoot.X6)+i32(8)))), _pgnoChild) 83713 *_ppChild = _pChild 83714 r0 = i32(0) 83715 return 83716 83717 } 83718 83719 var _balance_deeperØ00__func__Ø000 [15]int8 // - 83720 83721 func init() { 83722 crt.Xstrncpy(nil, &_balance_deeperØ00__func__Ø000[0], str(86144), 15) 83723 } 83724 83725 func _copyNodeContent(tls *crt.TLS, _pFrom *XMemPage, _pTo *XMemPage, _pRC *int32) { // sqlite3.c:65967:1 83726 var _1_pBt *XBtShared // sqlite3.c:65969:14 83727 _ = _1_pBt 83728 var _1_aFrom *uint8 // sqlite3.c:65970:8 83729 _ = _1_aFrom 83730 var _1_aTo *uint8 // sqlite3.c:65971:8 83731 _ = _1_aTo 83732 var _1_iFromHdr int32 // sqlite3.c:65972:15 83733 _ = _1_iFromHdr 83734 var _1_iToHdr int32 // sqlite3.c:65973:15 83735 _ = _1_iToHdr 83736 var _1_rc int32 // sqlite3.c:65974:9 83737 _ = _1_rc 83738 var _1_iData int32 // sqlite3.c:65975:9 83739 _ = _1_iData 83740 if (*_pRC) != i32(0) { 83741 goto _0 83742 } 83743 83744 _1_pBt = (*XBtShared)(unsafe.Pointer(_pFrom.X18)) 83745 _1_aFrom = _pFrom.X19 83746 _1_aTo = _pTo.X19 83747 _1_iFromHdr = int32(_pFrom.X6) 83748 _1_iToHdr = func() int32 { 83749 if (_pTo.X4) == uint32(i32(1)) { 83750 return i32(100) 83751 } 83752 return i32(0) 83753 }() 83754 func() int32 { 83755 if (_pFrom.X0) != 0 { 83756 return i32(0) 83757 } 83758 return func() int32 { 83759 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65978), unsafe.Pointer((*int8)(unsafe.Pointer(&_copyNodeContentØ00__func__Ø000))), unsafe.Pointer(str(86160))) 83760 crt.X__builtin_abort(tls) 83761 return i32(0) 83762 }() 83763 }() 83764 func() int32 { 83765 if int32(_pFrom.X13) >= _1_iToHdr { 83766 return i32(0) 83767 } 83768 return func() int32 { 83769 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65979), unsafe.Pointer((*int8)(unsafe.Pointer(&_copyNodeContentØ00__func__Ø000))), unsafe.Pointer(str(86176))) 83770 crt.X__builtin_abort(tls) 83771 return i32(0) 83772 }() 83773 }() 83774 func() int32 { 83775 if ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aFrom))+1*uintptr(_1_iFromHdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aFrom))+1*uintptr(_1_iFromHdr+i32(5)))))) + 1*uintptr(i32(1)))))) <= int32(_1_pBt.X16) { 83776 return i32(0) 83777 } 83778 return func() int32 { 83779 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65980), unsafe.Pointer((*int8)(unsafe.Pointer(&_copyNodeContentØ00__func__Ø000))), unsafe.Pointer(str(86200))) 83780 crt.X__builtin_abort(tls) 83781 return i32(0) 83782 }() 83783 }() 83784 _1_iData = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aFrom))+1*uintptr(_1_iFromHdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aFrom))+1*uintptr(_1_iFromHdr+i32(5)))))) + 1*uintptr(i32(1))))) 83785 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aTo))+1*uintptr(_1_iData)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aFrom))+1*uintptr(_1_iData)))), (_1_pBt.X16)-uint32(_1_iData)) 83786 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aTo))+1*uintptr(_1_iToHdr)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aFrom))+1*uintptr(_1_iFromHdr)))), uint32(int32(_pFrom.X12)+(i32(2)*int32(_pFrom.X14)))) 83787 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 83788 _1_rc = _btreeInitPage(tls, _pTo) 83789 if _1_rc == i32(0) { 83790 goto _9 83791 } 83792 83793 *_pRC = _1_rc 83794 return 83795 83796 _9: 83797 if (_1_pBt.X5) == 0 { 83798 goto _10 83799 } 83800 83801 *_pRC = _setChildPtrmaps(tls, _pTo) 83802 _10: 83803 _0: 83804 return 83805 83806 } 83807 83808 var _copyNodeContentØ00__func__Ø000 [16]int8 // - 83809 83810 func init() { 83811 crt.Xstrncpy(nil, &_copyNodeContentØ00__func__Ø000[0], str(86256), 16) 83812 } 83813 83814 func _balance_quick(tls *crt.TLS, _pParent *XMemPage, _pPage *XMemPage, _pSpace *uint8) (r0 int32) { // sqlite3.c:65823:1 83815 var _pBt *XBtShared // sqlite3.c:65824:12 83816 _ = _pBt 83817 var _pNew *XMemPage // sqlite3.c:65825:11 83818 _ = _pNew 83819 var _rc int32 // sqlite3.c:65826:7 83820 _ = _rc 83821 var _pgnoNew uint32 // sqlite3.c:65827:8 83822 _ = _pgnoNew 83823 var _1_pOut *uint8 // sqlite3.c:65844:8 83824 _ = _1_pOut 83825 var _1_pCell *uint8 // sqlite3.c:65845:8 83826 _ = _1_pCell 83827 var _1_szCell uint16 // sqlite3.c:65846:9 83828 _ = _1_szCell 83829 var _1_pStop *uint8 // sqlite3.c:65847:8 83830 _ = _1_pStop 83831 _pBt = (*XBtShared)(unsafe.Pointer(_pPage.X18)) 83832 func() int32 { 83833 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPage.X18)).X21))) != 0 { 83834 return i32(0) 83835 } 83836 return func() int32 { 83837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65829), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(21228))) 83838 crt.X__builtin_abort(tls) 83839 return i32(0) 83840 }() 83841 }() 83842 func() int32 { 83843 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { 83844 return i32(0) 83845 } 83846 return func() int32 { 83847 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65830), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(86272))) 83848 crt.X__builtin_abort(tls) 83849 return i32(0) 83850 }() 83851 }() 83852 func() int32 { 83853 if int32(_pPage.X9) == i32(1) { 83854 return i32(0) 83855 } 83856 return func() int32 { 83857 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65831), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(86316))) 83858 crt.X__builtin_abort(tls) 83859 return i32(0) 83860 }() 83861 }() 83862 if func() int32 { 83863 if int32(_pPage.X14) == i32(0) { 83864 return func() int32 { 83865 func() int32 { 83866 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65834), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(5204))) 83867 crt.X__builtin_abort(tls) 83868 return i32(0) 83869 }() 83870 return i32(1) 83871 }() 83872 } 83873 return i32(0) 83874 }() == 0 { 83875 goto _8 83876 } 83877 83878 r0 = _sqlite3CorruptError(tls, i32(65834)) 83879 return 83880 83881 _8: 83882 _rc = _allocateBtreePage(tls, _pBt, &_pNew, &_pgnoNew, uint32(i32(0)), uint8(i32(0))) 83883 if _rc != i32(0) { 83884 goto _9 83885 } 83886 83887 _1_pOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSpace)) + 1*uintptr(i32(4)))) 83888 _1_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(36 /* X17 */))))) + 4*uintptr(i32(0)))) 83889 _1_szCell = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 83890 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 83891 }{(_pPage.X24)})))(tls, _pPage, _1_pCell) 83892 func() int32 { 83893 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pNew.X23))) != 0 { 83894 return i32(0) 83895 } 83896 return func() int32 { 83897 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65849), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(86336))) 83898 crt.X__builtin_abort(tls) 83899 return i32(0) 83900 }() 83901 }() 83902 func() int32 { 83903 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19)) + 1*uintptr(i32(0))))) == i32(13) { 83904 return i32(0) 83905 } 83906 return func() int32 { 83907 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65850), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(86376))) 83908 crt.X__builtin_abort(tls) 83909 return i32(0) 83910 }() 83911 }() 83912 _zeroPage(tls, _pNew, i32(13)) 83913 _rc = _rebuildPage(tls, _pNew, i32(1), &_1_pCell, &_1_szCell) 83914 if func() int32 { 83915 if _rc != 0 { 83916 return func() int32 { 83917 func() int32 { 83918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65853), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_quickØ00__func__Ø000))), unsafe.Pointer(str(5204))) 83919 crt.X__builtin_abort(tls) 83920 return i32(0) 83921 }() 83922 return i32(1) 83923 }() 83924 } 83925 return i32(0) 83926 }() == 0 { 83927 goto _16 83928 } 83929 83930 r0 = _rc 83931 return 83932 83933 _16: 83934 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X13 */))) = uint16((((_pBt.X16) - uint32(_pNew.X12)) - uint32(i32(2))) - uint32(_1_szCell)) 83935 if (_pBt.X5) == 0 { 83936 goto _17 83937 } 83938 83939 _ptrmapPut(tls, _pBt, _pgnoNew, uint8(i32(5)), _pParent.X4, &_rc) 83940 if int32(_1_szCell) <= int32(_pNew.X11) { 83941 goto _18 83942 } 83943 83944 _ptrmapPutOvflPtr(tls, _pNew, _1_pCell, &_rc) 83945 _18: 83946 _17: 83947 _1_pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*(int32(_pPage.X14)-i32(1))))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*(int32(_pPage.X14)-i32(1))))))) + 1*uintptr(i32(1))))))))))))) 83948 _1_pStop = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pCell)) + 1*uintptr(i32(9)))) 83949 _19: 83950 if (int32(*postInc6921(&_1_pCell, 1))&i32(128)) == 0 || uintptr(unsafe.Pointer(_1_pCell)) >= uintptr(unsafe.Pointer(_1_pStop)) { 83951 goto _20 83952 } 83953 83954 goto _19 83955 83956 _20: 83957 _1_pStop = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pCell)) + 1*uintptr(i32(9)))) 83958 _22: 83959 if (int32(store6915(postInc6921(&_1_pOut, 1), *postInc6921(&_1_pCell, 1)))&i32(128)) == 0 || uintptr(unsafe.Pointer(_1_pCell)) >= uintptr(unsafe.Pointer(_1_pStop)) { 83960 goto _23 83961 } 83962 83963 goto _22 83964 83965 _23: 83966 if _rc != i32(0) { 83967 goto _25 83968 } 83969 83970 _insertCell(tls, _pParent, int32(_pParent.X14), _pSpace, int32((uintptr(unsafe.Pointer(_1_pOut))-uintptr(unsafe.Pointer(_pSpace)))/1), (*uint8)(unsafe.Pointer(uintptr(i32(0)))), _pPage.X4, &_rc) 83971 _25: 83972 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X19))+1*uintptr(int32(_pParent.X6)+i32(8)))), _pgnoNew) 83973 _releasePage(tls, _pNew) 83974 _9: 83975 r0 = _rc 83976 return 83977 83978 } 83979 83980 var _balance_quickØ00__func__Ø000 [14]int8 // - 83981 83982 func init() { 83983 crt.Xstrncpy(nil, &_balance_quickØ00__func__Ø000[0], str(86428), 14) 83984 } 83985 83986 func _rebuildPage(tls *crt.TLS, _pPg *XMemPage, _nCell int32, _apCell **uint8, _szCell *uint16) (r0 int32) { // sqlite3.c:65517:1 83987 var _hdr int32 // sqlite3.c:65523:13 83988 _ = _hdr 83989 var _aData *uint8 // sqlite3.c:65524:6 83990 _ = _aData 83991 var _usableSize int32 // sqlite3.c:65525:13 83992 _ = _usableSize 83993 var _pEnd *uint8 // sqlite3.c:65526:6 83994 _ = _pEnd 83995 var _i int32 // sqlite3.c:65527:7 83996 _ = _i 83997 var _pCellptr *uint8 // sqlite3.c:65528:6 83998 _ = _pCellptr 83999 var _pTmp *uint8 // sqlite3.c:65529:6 84000 _ = _pTmp 84001 var _pData *uint8 // sqlite3.c:65530:6 84002 _ = _pData 84003 var _1_pCell *uint8 // sqlite3.c:65537:8 84004 _ = _1_pCell 84005 _hdr = int32(_pPg.X6) 84006 _aData = _pPg.X19 84007 _usableSize = int32((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16) 84008 _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_usableSize))) 84009 _pCellptr = _pPg.X21 84010 _pTmp = (*uint8)(unsafe.Pointer(_sqlite3PagerTempSpace(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPg.X18)).X0))))) 84011 _i = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1))))) 84012 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmp))+1*uintptr(_i)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_i)))), uint32(_usableSize-_i)) 84013 _pData = _pEnd 84014 _i = i32(0) 84015 _0: 84016 if _i >= _nCell { 84017 goto _3 84018 } 84019 84020 _1_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apCell)) + 4*uintptr(_i))) 84021 if uint32(uintptr(unsafe.Pointer(_1_pCell))) < uint32(uintptr(unsafe.Pointer(_aData))) || uint32(uintptr(unsafe.Pointer(_1_pCell))) >= uint32(uintptr(unsafe.Pointer(_pEnd))) { 84022 goto _5 84023 } 84024 84025 _1_pCell = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmp)) + 1*uintptr(int32((uintptr(unsafe.Pointer(_1_pCell))-uintptr(unsafe.Pointer(_aData)))/1)))) 84026 _5: 84027 { 84028 p := &_pData 84029 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_szCell)) + 2*uintptr(_i)))))) 84030 sink6921 = *p 84031 } 84032 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 84033 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr)) + 1*uintptr(i32(0)))) = uint8(int32((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) 84034 return _pCellptr 84035 }())) + 1*uintptr(i32(1)))) = uint8(int32((uintptr(unsafe.Pointer(_pData)) - uintptr(unsafe.Pointer(_aData))) / 1)) 84036 { 84037 p := &_pCellptr 84038 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 84039 sink6921 = *p 84040 } 84041 if uintptr(unsafe.Pointer(_pData)) >= uintptr(unsafe.Pointer(_pCellptr)) { 84042 goto _6 84043 } 84044 84045 r0 = _sqlite3CorruptError(tls, i32(65544)) 84046 return 84047 84048 _6: 84049 crt.Xmemcpy(tls, (unsafe.Pointer)(_pData), (unsafe.Pointer)(_1_pCell), uint32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_szCell)) + 2*uintptr(_i))))) 84050 func() int32 { 84051 if (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_szCell)) + 2*uintptr(_i)))) == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 84052 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 84053 }{(_pPg.X24)})))(tls, _pPg, _1_pCell))) || ((_sqlite3Config.X6) == i32(0)) { 84054 return i32(0) 84055 } 84056 return func() int32 { 84057 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65546), unsafe.Pointer((*int8)(unsafe.Pointer(&_rebuildPageØ00__func__Ø000))), unsafe.Pointer(str(86444))) 84058 crt.X__builtin_abort(tls) 84059 return i32(0) 84060 }() 84061 }() 84062 _i += 1 84063 goto _0 84064 84065 _3: 84066 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(22 /* X14 */))) = uint16(_nCell) 84067 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 84068 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 84069 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(0)))) = u8(0) 84070 return _aData 84071 }()))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(1)))) = u8(0) 84072 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 84073 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(0)))) = uint8(int32(_pPg.X14) >> uint(i32(8))) 84074 return _aData 84075 }()))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))) = uint8(_pPg.X14) 84076 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 84077 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(int32((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) 84078 return _aData 84079 }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(int32((uintptr(unsafe.Pointer(_pData)) - uintptr(unsafe.Pointer(_aData))) / 1)) 84080 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(_hdr+i32(7)))) = uint8(i32(0)) 84081 r0 = i32(0) 84082 return 84083 84084 } 84085 84086 var _rebuildPageØ00__func__Ø000 [12]int8 // - 84087 84088 func init() { 84089 crt.Xstrncpy(nil, &_rebuildPageØ00__func__Ø000[0], str(86496), 12) 84090 } 84091 84092 func _balance_nonroot(tls *crt.TLS, _pParent *XMemPage, _iParentIdx int32, _aOvflSpace *uint8, _isRoot int32, _bBulk int32) (r0 int32) { // sqlite3.c:66048:1 84093 var _pBt *XBtShared // sqlite3.c:66055:12 84094 _ = _pBt 84095 var _nMaxCells int32 // sqlite3.c:66056:7 84096 _ = _nMaxCells 84097 var _nNew int32 // sqlite3.c:66057:7 84098 _ = _nNew 84099 var _nOld int32 // sqlite3.c:66058:7 84100 _ = _nOld 84101 var _i int32 // sqlite3.c:66059:7 84102 _ = _i 84103 var _j int32 // sqlite3.c:66059:10 84104 _ = _j 84105 var _k int32 // sqlite3.c:66059:13 84106 _ = _k 84107 var _nxDiv int32 // sqlite3.c:66060:7 84108 _ = _nxDiv 84109 var _rc int32 // sqlite3.c:66061:7 84110 _ = _rc 84111 var _leafCorrection uint16 // sqlite3.c:66062:7 84112 _ = _leafCorrection 84113 var _leafData int32 // sqlite3.c:66063:7 84114 _ = _leafData 84115 var _usableSpace int32 // sqlite3.c:66064:7 84116 _ = _usableSpace 84117 var _pageFlags int32 // sqlite3.c:66065:7 84118 _ = _pageFlags 84119 var _iSpace1 int32 // sqlite3.c:66066:7 84120 _ = _iSpace1 84121 var _iOvflSpace int32 // sqlite3.c:66067:7 84122 _ = _iOvflSpace 84123 var _szScratch int32 // sqlite3.c:66068:7 84124 _ = _szScratch 84125 var _apOld [3]*XMemPage // sqlite3.c:66069:11 84126 _ = _apOld 84127 var _apNew [5]*XMemPage // sqlite3.c:66070:11 84128 _ = _apNew 84129 var _pRight *uint8 // sqlite3.c:66071:6 84130 _ = _pRight 84131 var _apDiv [2]*uint8 // sqlite3.c:66072:6 84132 _ = _apDiv 84133 var _cntNew [5]int32 // sqlite3.c:66073:7 84134 _ = _cntNew 84135 var _cntOld [5]int32 // sqlite3.c:66074:7 84136 _ = _cntOld 84137 var _szNew [5]int32 // sqlite3.c:66075:7 84138 _ = _szNew 84139 var _aSpace1 *uint8 // sqlite3.c:66076:6 84140 _ = _aSpace1 84141 var _pgno uint32 // sqlite3.c:66077:8 84142 _ = _pgno 84143 var _abDone [5]uint8 // sqlite3.c:66078:6 84144 _ = _abDone 84145 var _aPgno [5]uint32 // sqlite3.c:66079:8 84146 _ = _aPgno 84147 var _aPgOrder [5]uint32 // sqlite3.c:66080:8 84148 _ = _aPgOrder 84149 var _aPgFlags [5]uint16 // sqlite3.c:66081:7 84150 _ = _aPgFlags 84151 var _b XCellArray // sqlite3.c:66082:13 84152 _ = _b 84153 var _13_iOff int32 // sqlite3.c:66171:13 84154 _ = _13_iOff 84155 var _17_pOld *XMemPage // sqlite3.c:66231:13 84156 _ = _17_pOld 84157 var _17_limit int32 // sqlite3.c:66232:9 84158 _ = _17_limit 84159 var _17_aData *uint8 // sqlite3.c:66233:8 84160 _ = _17_aData 84161 var _17_maskPage uint16 // sqlite3.c:66234:9 84162 _ = _17_maskPage 84163 var _17_piCell *uint8 // sqlite3.c:66235:8 84164 _ = _17_piCell 84165 var _17_piEnd *uint8 // sqlite3.c:66236:8 84166 _ = _17_piEnd 84167 var _23_sz uint16 // sqlite3.c:66287:11 84168 _ = _23_sz 84169 var _23_pTemp *uint8 // sqlite3.c:66288:10 84170 _ = _23_pTemp 84171 var _27_p *XMemPage // sqlite3.c:66338:13 84172 _ = _27_p 84173 var _29_sz int32 // sqlite3.c:66347:9 84174 _ = _29_sz 84175 var _42_szRight int32 // sqlite3.c:66401:9 84176 _ = _42_szRight 84177 var _42_szLeft int32 // sqlite3.c:66402:9 84178 _ = _42_szLeft 84179 var _42_r int32 // sqlite3.c:66403:9 84180 _ = _42_r 84181 var _42_d int32 // sqlite3.c:66404:9 84182 _ = _42_d 84183 var _46_pNew *XMemPage // sqlite3.c:66450:13 84184 _ = _46_pNew 84185 var _54_iBest int32 // sqlite3.c:66506:9 84186 _ = _54_iBest 84187 var _58_pOld *XMemPage // sqlite3.c:66541:13 84188 _ = _58_pOld 84189 var _59_pNew *XMemPage // sqlite3.c:66562:13 84190 _ = _59_pNew 84191 var _59_aOld *uint8 // sqlite3.c:66563:8 84192 _ = _59_aOld 84193 var _59_cntOldNext int32 // sqlite3.c:66564:9 84194 _ = _59_cntOldNext 84195 var _59_usableSize int32 // sqlite3.c:66565:9 84196 _ = _59_usableSize 84197 var _59_iNew int32 // sqlite3.c:66566:9 84198 _ = _59_iNew 84199 var _59_iOld int32 // sqlite3.c:66567:9 84200 _ = _59_iOld 84201 var _60_pCell *uint8 // sqlite3.c:66570:10 84202 _ = _60_pCell 84203 var _61_pOld *XMemPage // sqlite3.c:66572:17 84204 _ = _61_pOld 84205 var _66_pCell *uint8 // sqlite3.c:66604:8 84206 _ = _66_pCell 84207 var _66_pTemp *uint8 // sqlite3.c:66605:8 84208 _ = _66_pTemp 84209 var _66_sz int32 // sqlite3.c:66606:9 84210 _ = _66_sz 84211 var _66_pNew *XMemPage // sqlite3.c:66607:13 84212 _ = _66_pNew 84213 var _68_info XCellInfo // sqlite3.c:66623:16 84214 _ = _68_info 84215 var _71_iPg int32 // sqlite3.c:66678:9 84216 _ = _71_iPg 84217 var _72_iNew int32 // sqlite3.c:66684:11 84218 _ = _72_iNew 84219 var _72_iOld int32 // sqlite3.c:66685:11 84220 _ = _72_iOld 84221 var _72_nNewCell int32 // sqlite3.c:66686:11 84222 _ = _72_nNewCell 84223 var _77_key uint32 // sqlite3.c:66750:11 84224 _ = _77_key 84225 _nMaxCells = i32(0) 84226 _nNew = i32(0) 84227 _rc = i32(0) 84228 _iSpace1 = i32(0) 84229 _iOvflSpace = i32(0) 84230 crt.Xmemset(tls, (unsafe.Pointer)(&_abDone), i32(0), u32(5)) 84231 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) = i32(0) 84232 *(***uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(8 /* X2 */))) = (**uint8)(unsafe.Pointer(uintptr(i32(0)))) 84233 _pBt = (*XBtShared)(unsafe.Pointer(_pParent.X18)) 84234 func() int32 { 84235 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 84236 return i32(0) 84237 } 84238 return func() int32 { 84239 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66088), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(9252))) 84240 crt.X__builtin_abort(tls) 84241 return i32(0) 84242 }() 84243 }() 84244 func() int32 { 84245 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { 84246 return i32(0) 84247 } 84248 return func() int32 { 84249 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66089), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86272))) 84250 crt.X__builtin_abort(tls) 84251 return i32(0) 84252 }() 84253 }() 84254 func() int32 { 84255 if (int32(_pParent.X9) == i32(0)) || (int32(_pParent.X9) == i32(1)) { 84256 return i32(0) 84257 } 84258 return func() int32 { 84259 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66100), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86508))) 84260 crt.X__builtin_abort(tls) 84261 return i32(0) 84262 }() 84263 }() 84264 func() int32 { 84265 if (int32(_pParent.X9) == i32(0)) || (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent))+uintptr(26 /* X16 */))))) + 2*uintptr(i32(0))))) == _iParentIdx) { 84266 return i32(0) 84267 } 84268 return func() int32 { 84269 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66101), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86556))) 84270 crt.X__builtin_abort(tls) 84271 return i32(0) 84272 }() 84273 }() 84274 if _aOvflSpace != nil { 84275 goto _10 84276 } 84277 84278 r0 = _sqlite3NomemError(tls, i32(66104)) 84279 return 84280 84281 _10: 84282 _i = int32(_pParent.X9) + int32(_pParent.X14) 84283 if _i >= i32(2) { 84284 goto _11 84285 } 84286 84287 _nxDiv = i32(0) 84288 goto _12 84289 84290 _11: 84291 func() int32 { 84292 if (_bBulk == i32(0)) || (_bBulk == i32(1)) { 84293 return i32(0) 84294 } 84295 return func() int32 { 84296 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66122), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86612))) 84297 crt.X__builtin_abort(tls) 84298 return i32(0) 84299 }() 84300 }() 84301 if _iParentIdx != i32(0) { 84302 goto _16 84303 } 84304 84305 _nxDiv = i32(0) 84306 goto _17 84307 84308 _16: 84309 if _iParentIdx != _i { 84310 goto _18 84311 } 84312 84313 _nxDiv = (_i - i32(2)) + _bBulk 84314 goto _19 84315 84316 _18: 84317 _nxDiv = _iParentIdx - i32(1) 84318 _19: 84319 _17: 84320 _i = i32(2) - _bBulk 84321 _12: 84322 _nOld = _i + i32(1) 84323 if ((_i + _nxDiv) - int32(_pParent.X9)) != int32(_pParent.X14) { 84324 goto _20 84325 } 84326 84327 _pRight = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X19)) + 1*uintptr(int32(_pParent.X6)+i32(8)))) 84328 goto _21 84329 84330 _20: 84331 _pRight = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pParent.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pParent.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X21))+1*uintptr(i32(2)*((_i+_nxDiv)-int32(_pParent.X9))))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X21))+1*uintptr(i32(2)*((_i+_nxDiv)-int32(_pParent.X9))))))) + 1*uintptr(i32(1))))))))))))) 84332 _21: 84333 _pgno = _sqlite3Get4byte(tls, _pRight) 84334 _22: 84335 _rc = _getAndInitPage(tls, _pBt, _pgno, (**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld))+4*uintptr(_i))), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 84336 if _rc == 0 { 84337 goto _24 84338 } 84339 84340 crt.Xmemset(tls, (unsafe.Pointer)(&_apOld), i32(0), uint32(_i+i32(1))*u32(4)) 84341 goto _balance_cleanup 84342 84343 _24: 84344 { 84345 p := &_nMaxCells 84346 *p = (*p) + ((i32(1) + int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i)))).X14)) + int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i)))).X9)) 84347 sink961 = *p 84348 } 84349 if postInc961(&_i, int32(-1)) != i32(0) { 84350 goto _25 84351 } 84352 84353 goto _23 84354 84355 _25: 84356 if (_pParent.X9) == 0 || (_i+_nxDiv) != int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent))+uintptr(26 /* X16 */))))) + 2*uintptr(i32(0))))) { 84357 goto _27 84358 } 84359 84360 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i))) = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent))+uintptr(36 /* X17 */))))) + 4*uintptr(i32(0)))) 84361 _pgno = _sqlite3Get4byte(tls, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i)))) 84362 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 84363 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 84364 }{(_pParent.X24)})))(tls, _pParent, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i))))) 84365 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 84366 goto _28 84367 84368 _27: 84369 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i))) = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pParent.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pParent.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X21))+1*uintptr(i32(2)*((_i+_nxDiv)-int32(_pParent.X9))))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent.X21))+1*uintptr(i32(2)*((_i+_nxDiv)-int32(_pParent.X9))))))) + 1*uintptr(i32(1))))))))))))) 84370 _pgno = _sqlite3Get4byte(tls, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i)))) 84371 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 84372 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 84373 }{(_pParent.X24)})))(tls, _pParent, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i))))) 84374 if (int32(_pBt.X10) & i32(4)) == 0 { 84375 goto _29 84376 } 84377 84378 _13_iOff = int32(uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i)))))) - int32(uintptr(unsafe.Pointer(_pParent.X19))) 84379 if (_13_iOff + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))))) <= int32(_pBt.X16) { 84380 goto _30 84381 } 84382 84383 _rc = _sqlite3CorruptError(tls, i32(66175)) 84384 crt.Xmemset(tls, (unsafe.Pointer)(&_apOld), i32(0), uint32(_i+i32(1))*u32(4)) 84385 goto _balance_cleanup 84386 84387 _30: 84388 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOvflSpace))+1*uintptr(_13_iOff)))), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i)))), uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))))) 84389 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i))) = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOvflSpace)) + 1*uintptr(int32((uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i)))))-uintptr(unsafe.Pointer(_pParent.X19)))/1)))) 84390 _29: 84391 _dropCell(tls, _pParent, (_i+_nxDiv)-int32(_pParent.X9), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))), &_rc) 84392 _28: 84393 goto _22 84394 84395 _23: 84396 _nMaxCells = (_nMaxCells + i32(3)) & i32(-4) 84397 _szScratch = int32(((uint32(_nMaxCells) * u32(4)) + (uint32(_nMaxCells) * u32(2))) + (_pBt.X15)) 84398 func() int32 { 84399 if _szScratch <= (i32(6) * int32(_pBt.X15)) { 84400 return i32(0) 84401 } 84402 return func() int32 { 84403 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66201), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86636))) 84404 crt.X__builtin_abort(tls) 84405 return i32(0) 84406 }() 84407 }() 84408 *(***uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(8 /* X2 */))) = (**uint8)(unsafe.Pointer(_sqlite3ScratchMalloc(tls, _szScratch))) 84409 if (_b.X2) != (**uint8)(unsafe.Pointer(uintptr(i32(0)))) { 84410 goto _34 84411 } 84412 84413 _rc = _sqlite3NomemError(tls, i32(66204)) 84414 goto _balance_cleanup 84415 84416 _34: 84417 *(**uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(12 /* X3 */))) = (*uint16)(unsafe.Pointer((**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_nMaxCells))))) 84418 _aSpace1 = (*uint8)(unsafe.Pointer((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_nMaxCells))))) 84419 func() int32 { 84420 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_aSpace1))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 84421 return i32(0) 84422 } 84423 return func() int32 { 84424 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66209), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86668))) 84425 crt.X__builtin_abort(tls) 84426 return i32(0) 84427 }() 84428 }() 84429 *(**XMemPage)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(4 /* X1 */))))) = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(i32(0)))) 84430 _leafCorrection = uint16(int32((*XMemPage)(unsafe.Pointer(_b.X1)).X5) * i32(4)) 84431 _leafData = int32((*XMemPage)(unsafe.Pointer(_b.X1)).X3) 84432 _i = i32(0) 84433 _37: 84434 if _i >= _nOld { 84435 goto _40 84436 } 84437 84438 _17_pOld = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i))) 84439 _17_limit = int32(_17_pOld.X14) 84440 _17_aData = _17_pOld.X19 84441 _17_maskPage = _17_pOld.X15 84442 _17_piCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_17_aData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_17_pOld.X12))))))) 84443 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld.X19)) + 1*uintptr(i32(0))))) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(i32(0))))).X19)) + 1*uintptr(i32(0))))) { 84444 goto _41 84445 } 84446 84447 _rc = _sqlite3CorruptError(tls, i32(66242)) 84448 goto _balance_cleanup 84449 84450 _41: 84451 crt.Xmemset(tls, (unsafe.Pointer)((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3))+2*uintptr(_b.X0)))), i32(0), u32(2)*uint32(_17_limit+int32(_17_pOld.X9))) 84452 if int32(_17_pOld.X9) <= i32(0) { 84453 goto _42 84454 } 84455 84456 _17_limit = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld))+uintptr(26 /* X16 */))))) + 2*uintptr(i32(0))))) 84457 _j = i32(0) 84458 _43: 84459 if _j >= _17_limit { 84460 goto _46 84461 } 84462 84463 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_b.X0))) = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_17_aData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_17_maskPage)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_piCell)) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_piCell)) + 1*uintptr(i32(1))))))))))))) 84464 { 84465 p := &_17_piCell 84466 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 84467 sink6921 = *p 84468 } 84469 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) += 1 84470 _j += 1 84471 goto _43 84472 84473 _46: 84474 _k = i32(0) 84475 _47: 84476 if _k >= int32(_17_pOld.X9) { 84477 goto _50 84478 } 84479 84480 func() int32 { 84481 if (_k == i32(0)) || ((int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld))+uintptr(26 /* X16 */))))) + 2*uintptr(_k-i32(1))))) + i32(1)) == int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld))+uintptr(26 /* X16 */))))) + 2*uintptr(_k))))) { 84482 return i32(0) 84483 } 84484 return func() int32 { 84485 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66272), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86700))) 84486 crt.X__builtin_abort(tls) 84487 return i32(0) 84488 }() 84489 }() 84490 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_b.X0))) = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld))+uintptr(36 /* X17 */))))) + 4*uintptr(_k))) 84491 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) += 1 84492 _k += 1 84493 goto _47 84494 84495 _50: 84496 _42: 84497 _17_piEnd = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_17_aData))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_17_pOld.X12))))))))) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(2)*int32(_17_pOld.X14)))))))) 84498 _54: 84499 if uintptr(unsafe.Pointer(_17_piCell)) >= uintptr(unsafe.Pointer(_17_piEnd)) { 84500 goto _55 84501 } 84502 84503 func() int32 { 84504 if (_b.X0) < _nMaxCells { 84505 return i32(0) 84506 } 84507 return func() int32 { 84508 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66279), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86748))) 84509 crt.X__builtin_abort(tls) 84510 return i32(0) 84511 }() 84512 }() 84513 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_b.X0))) = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_17_aData)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_17_maskPage)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_piCell)) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_piCell)) + 1*uintptr(i32(1))))))))))))) 84514 { 84515 p := &_17_piCell 84516 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 84517 sink6921 = *p 84518 } 84519 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) += 1 84520 goto _54 84521 84522 _55: 84523 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_i))) = _b.X0 84524 if _i >= (_nOld-i32(1)) || _leafData != 0 { 84525 goto _59 84526 } 84527 84528 _23_sz = uint16(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i)))) 84529 func() int32 { 84530 if (_b.X0) < _nMaxCells { 84531 return i32(0) 84532 } 84533 return func() int32 { 84534 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66289), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86748))) 84535 crt.X__builtin_abort(tls) 84536 return i32(0) 84537 }() 84538 }() 84539 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0))) = _23_sz 84540 _23_pTemp = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSpace1)) + 1*uintptr(_iSpace1))) 84541 { 84542 p := &_iSpace1 84543 *p = (*p) + int32(_23_sz) 84544 sink961 = *p 84545 } 84546 func() int32 { 84547 if int32(_23_sz) <= (int32(_pBt.X11) + i32(23)) { 84548 return i32(0) 84549 } 84550 return func() int32 { 84551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66293), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86768))) 84552 crt.X__builtin_abort(tls) 84553 return i32(0) 84554 }() 84555 }() 84556 func() int32 { 84557 if _iSpace1 <= int32(_pBt.X15) { 84558 return i32(0) 84559 } 84560 return func() int32 { 84561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66294), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86792))) 84562 crt.X__builtin_abort(tls) 84563 return i32(0) 84564 }() 84565 }() 84566 crt.Xmemcpy(tls, (unsafe.Pointer)(_23_pTemp), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apDiv)) + 4*uintptr(_i)))), uint32(_23_sz)) 84567 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_b.X0))) = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_23_pTemp)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_leafCorrection))))))) 84568 func() int32 { 84569 if (int32(_leafCorrection) == i32(0)) || (int32(_leafCorrection) == i32(4)) { 84570 return i32(0) 84571 } 84572 return func() int32 { 84573 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66297), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86824))) 84574 crt.X__builtin_abort(tls) 84575 return i32(0) 84576 }() 84577 }() 84578 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0))) = uint16(int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0)))) - int32(_leafCorrection)) 84579 if (_17_pOld.X5) != 0 { 84580 goto _69 84581 } 84582 84583 func() int32 { 84584 if int32(_leafCorrection) == i32(0) { 84585 return i32(0) 84586 } 84587 return func() int32 { 84588 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66300), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86864))) 84589 crt.X__builtin_abort(tls) 84590 return i32(0) 84591 }() 84592 }() 84593 func() int32 { 84594 if int32(_17_pOld.X6) == i32(0) { 84595 return i32(0) 84596 } 84597 return func() int32 { 84598 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66301), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86884))) 84599 crt.X__builtin_abort(tls) 84600 return i32(0) 84601 }() 84602 }() 84603 crt.Xmemcpy(tls, (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_b.X0)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pOld.X19))+1*uintptr(i32(8))))), uint32(i32(4))) 84604 goto _74 84605 84606 _69: 84607 func() int32 { 84608 if int32(_leafCorrection) == i32(4) { 84609 return i32(0) 84610 } 84611 return func() int32 { 84612 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66306), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86904))) 84613 crt.X__builtin_abort(tls) 84614 return i32(0) 84615 }() 84616 }() 84617 _77: 84618 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0)))) >= i32(4) { 84619 goto _78 84620 } 84621 84622 func() int32 { 84623 if (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0)))) == i32(3)) || ((_sqlite3Config.X6) == i32(0)) { 84624 return i32(0) 84625 } 84626 return func() int32 { 84627 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66310), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86924))) 84628 crt.X__builtin_abort(tls) 84629 return i32(0) 84630 }() 84631 }() 84632 func() int32 { 84633 if ((*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_b.X0)))) == (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSpace1))+1*uintptr(_iSpace1-i32(3))))) || ((_sqlite3Config.X6) == i32(0)) { 84634 return i32(0) 84635 } 84636 return func() int32 { 84637 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66311), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86960))) 84638 crt.X__builtin_abort(tls) 84639 return i32(0) 84640 }() 84641 }() 84642 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSpace1)) + 1*uintptr(postInc961(&_iSpace1, int32(1))))) = uint8(i32(0)) 84643 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_b.X0))) += 1 84644 goto _77 84645 84646 _78: 84647 _74: 84648 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(0 /* X0 */))) += 1 84649 _59: 84650 _i += 1 84651 goto _37 84652 84653 _40: 84654 _usableSpace = int32(((_pBt.X16) - uint32(i32(12))) + uint32(_leafCorrection)) 84655 _i = i32(0) 84656 _85: 84657 if _i >= _nOld { 84658 goto _88 84659 } 84660 84661 _27_p = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i))) 84662 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) = _usableSpace - int32(_27_p.X13) 84663 _j = i32(0) 84664 _89: 84665 if _j >= int32(_27_p.X9) { 84666 goto _92 84667 } 84668 84669 { 84670 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) 84671 *p = (*p) + (i32(2) + int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 84672 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 84673 }{(_27_p.X24)})))(tls, _27_p, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_27_p))+uintptr(36 /* X17 */))))) + 4*uintptr(_j)))))) 84674 sink961 = *p 84675 } 84676 _j += 1 84677 goto _89 84678 84679 _92: 84680 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_i))) 84681 _i += 1 84682 goto _85 84683 84684 _88: 84685 _k = _nOld 84686 _i = i32(0) 84687 _93: 84688 if _i >= _k { 84689 goto _96 84690 } 84691 84692 _97: 84693 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i)))) <= _usableSpace { 84694 goto _98 84695 } 84696 84697 if (_i + i32(1)) < _k { 84698 goto _99 84699 } 84700 84701 _k = _i + i32(2) 84702 if _k <= i32(5) { 84703 goto _100 84704 } 84705 84706 _rc = _sqlite3CorruptError(tls, i32(66351)) 84707 goto _balance_cleanup 84708 84709 _100: 84710 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_k-i32(1)))) = i32(0) 84711 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_k-i32(1)))) = _b.X0 84712 _99: 84713 _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))-i32(1))) 84714 { 84715 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) 84716 *p = (*p) - _29_sz 84717 sink961 = *p 84718 } 84719 if _leafData != 0 { 84720 goto _101 84721 } 84722 84723 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) >= (_b.X0) { 84724 goto _102 84725 } 84726 84727 _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))) 84728 goto _103 84729 84730 _102: 84731 _29_sz = i32(0) 84732 _103: 84733 _101: 84734 { 84735 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i+i32(1)))) 84736 *p = (*p) + _29_sz 84737 sink961 = *p 84738 } 84739 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) -= 1 84740 goto _97 84741 84742 _98: 84743 _104: 84744 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) >= (_b.X0) { 84745 goto _105 84746 } 84747 84748 _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))) 84749 if ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i)))) + _29_sz) <= _usableSpace { 84750 goto _106 84751 } 84752 84753 goto _105 84754 84755 _106: 84756 { 84757 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) 84758 *p = (*p) + _29_sz 84759 sink961 = *p 84760 } 84761 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) += 1 84762 if _leafData != 0 { 84763 goto _107 84764 } 84765 84766 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) >= (_b.X0) { 84767 goto _108 84768 } 84769 84770 _29_sz = i32(2) + int32(_cachedCellSize(tls, &_b, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))))) 84771 goto _109 84772 84773 _108: 84774 _29_sz = i32(0) 84775 _109: 84776 _107: 84777 { 84778 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i+i32(1)))) 84779 *p = (*p) - _29_sz 84780 sink961 = *p 84781 } 84782 goto _104 84783 84784 _105: 84785 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) < (_b.X0) { 84786 goto _110 84787 } 84788 84789 _k = _i + i32(1) 84790 goto _111 84791 84792 _110: 84793 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i)))) > func() int32 { 84794 if _i > i32(0) { 84795 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1))))) 84796 } 84797 return i32(0) 84798 }() { 84799 goto _114 84800 } 84801 84802 _rc = _sqlite3CorruptError(tls, i32(66384)) 84803 goto _balance_cleanup 84804 84805 _114: 84806 _111: 84807 _i += 1 84808 goto _93 84809 84810 _96: 84811 _i = _k - i32(1) 84812 _115: 84813 if _i <= i32(0) { 84814 goto _118 84815 } 84816 84817 _42_szRight = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) 84818 _42_szLeft = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i-i32(1)))) 84819 _42_r = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1))))) - i32(1) 84820 _42_d = (_42_r + i32(1)) - _leafData 84821 _cachedCellSize(tls, &_b, _42_d) 84822 _119: 84823 func() int32 { 84824 if _42_d < _nMaxCells { 84825 return i32(0) 84826 } 84827 return func() int32 { 84828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66410), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87016))) 84829 crt.X__builtin_abort(tls) 84830 return i32(0) 84831 }() 84832 }() 84833 func() int32 { 84834 if _42_r < _nMaxCells { 84835 return i32(0) 84836 } 84837 return func() int32 { 84838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66411), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87028))) 84839 crt.X__builtin_abort(tls) 84840 return i32(0) 84841 }() 84842 }() 84843 _cachedCellSize(tls, &_b, _42_r) 84844 if _42_szRight == i32(0) || _bBulk == 0 && ((_42_szRight+int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_42_d)))))+i32(2)) <= (_42_szLeft-(int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_42_r))))+func() int32 { 84845 if _i == (_k - i32(1)) { 84846 return i32(0) 84847 } 84848 return i32(2) 84849 }())) { 84850 goto _128 84851 } 84852 84853 goto _129 84854 84855 _128: 84856 { 84857 p := &_42_szRight 84858 *p = (*p) + (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_42_d)))) + i32(2)) 84859 sink961 = *p 84860 } 84861 { 84862 p := &_42_szLeft 84863 *p = (*p) - (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_42_r)))) + i32(2)) 84864 sink961 = *p 84865 } 84866 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1)))) = _42_r 84867 _42_r -= 1 84868 _42_d -= 1 84869 if _42_r >= i32(0) { 84870 goto _119 84871 } 84872 84873 _129: 84874 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i))) = _42_szRight 84875 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_i-i32(1)))) = _42_szLeft 84876 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(1))))) > func() int32 { 84877 if _i > i32(1) { 84878 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i-i32(2))))) 84879 } 84880 return i32(0) 84881 }() { 84882 goto _132 84883 } 84884 84885 _rc = _sqlite3CorruptError(tls, i32(66426)) 84886 goto _balance_cleanup 84887 84888 _132: 84889 _i -= 1 84890 goto _115 84891 84892 _118: 84893 func() int32 { 84894 if (((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(i32(0))))) > i32(0)) || (((_pParent.X4) == uint32(i32(1))) && (int32(_pParent.X14) == i32(0)))) || ((_sqlite3Config.X6) == i32(0)) { 84895 return i32(0) 84896 } 84897 return func() int32 { 84898 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66438), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87040))) 84899 crt.X__builtin_abort(tls) 84900 return i32(0) 84901 }() 84902 }() 84903 _pageFlags = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(i32(0))))).X19)) + 1*uintptr(i32(0))))) 84904 _i = i32(0) 84905 _138: 84906 if _i >= _k { 84907 goto _141 84908 } 84909 84910 if _i >= _nOld { 84911 goto _142 84912 } 84913 84914 _46_pNew = store7992286((**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew))+4*uintptr(_i))), *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i)))) 84915 *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i))) = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 84916 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_46_pNew.X23))) 84917 _nNew += 1 84918 if _rc == 0 { 84919 goto _143 84920 } 84921 84922 goto _balance_cleanup 84923 84924 _143: 84925 goto _144 84926 84927 _142: 84928 func() int32 { 84929 if _i > i32(0) { 84930 return i32(0) 84931 } 84932 return func() int32 { 84933 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66458), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(13220))) 84934 crt.X__builtin_abort(tls) 84935 return i32(0) 84936 }() 84937 }() 84938 _rc = _allocateBtreePage(tls, _pBt, &_46_pNew, &_pgno, func() uint32 { 84939 if _bBulk != 0 { 84940 return uint32(i32(1)) 84941 } 84942 return _pgno 84943 }(), uint8(i32(0))) 84944 if _rc == 0 { 84945 goto _149 84946 } 84947 84948 goto _balance_cleanup 84949 84950 _149: 84951 _zeroPage(tls, _46_pNew, _pageFlags) 84952 *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i))) = _46_pNew 84953 _nNew += 1 84954 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_i))) = _b.X0 84955 if (_pBt.X5) == 0 { 84956 goto _150 84957 } 84958 84959 _ptrmapPut(tls, _pBt, _46_pNew.X4, uint8(i32(5)), _pParent.X4, &_rc) 84960 if _rc == i32(0) { 84961 goto _151 84962 } 84963 84964 goto _balance_cleanup 84965 84966 _151: 84967 _150: 84968 _144: 84969 _i += 1 84970 goto _138 84971 84972 _141: 84973 _i = i32(0) 84974 _152: 84975 if _i >= _nNew { 84976 goto _155 84977 } 84978 84979 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_i))) = store985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno))+4*uintptr(_i))), (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i)))).X4) 84980 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgFlags)) + 2*uintptr(_i))) = (*XPgHdr)(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i)))).X23)).X6 84981 _j = i32(0) 84982 _156: 84983 if _j >= _i { 84984 goto _159 84985 } 84986 84987 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno)) + 4*uintptr(_j)))) != (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno)) + 4*uintptr(_i)))) { 84988 goto _160 84989 } 84990 84991 func() int32 { 84992 if (_sqlite3Config.X6) == i32(0) { 84993 return i32(0) 84994 } 84995 return func() int32 { 84996 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66499), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87112))) 84997 crt.X__builtin_abort(tls) 84998 return i32(0) 84999 }() 85000 }() 85001 _rc = _sqlite3CorruptError(tls, i32(66500)) 85002 goto _balance_cleanup 85003 85004 _160: 85005 _j += 1 85006 goto _156 85007 85008 _159: 85009 _i += 1 85010 goto _152 85011 85012 _155: 85013 _i = i32(0) 85014 _163: 85015 if _i >= _nNew { 85016 goto _166 85017 } 85018 85019 _54_iBest = i32(0) 85020 _j = i32(1) 85021 _167: 85022 if _j >= _nNew { 85023 goto _170 85024 } 85025 85026 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_j)))) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_54_iBest)))) { 85027 goto _171 85028 } 85029 85030 _54_iBest = _j 85031 _171: 85032 _j += 1 85033 goto _167 85034 85035 _170: 85036 _pgno = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_54_iBest))) 85037 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgOrder)) + 4*uintptr(_54_iBest))) = u32(4294967295) 85038 if _54_iBest == _i { 85039 goto _172 85040 } 85041 85042 if _54_iBest <= _i { 85043 goto _173 85044 } 85045 85046 _sqlite3PagerRekey(tls, (*XPgHdr)(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_54_iBest)))).X23)), ((_pBt.X18)+uint32(_54_iBest))+uint32(i32(1)), uint16(i32(0))) 85047 _173: 85048 _sqlite3PagerRekey(tls, (*XPgHdr)(unsafe.Pointer((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i)))).X23)), _pgno, *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgFlags)) + 2*uintptr(_54_iBest)))) 85049 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i))))) + uintptr(4 /* X4 */))) = _pgno 85050 _172: 85051 _i += 1 85052 goto _163 85053 85054 _166: 85055 func() int32 { 85056 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { 85057 return i32(0) 85058 } 85059 return func() int32 { 85060 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66534), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86272))) 85061 crt.X__builtin_abort(tls) 85062 return i32(0) 85063 }() 85064 }() 85065 _sqlite3Put4byte(tls, _pRight, (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_nNew-i32(1))))).X4) 85066 if (_pageFlags&i32(8)) != i32(0) || _nOld == _nNew { 85067 goto _177 85068 } 85069 85070 _58_pOld = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() **XMemPage { 85071 if _nNew > _nOld { 85072 return (**XMemPage)(unsafe.Pointer(&_apNew)) 85073 } 85074 return (**XMemPage)(unsafe.Pointer(&_apOld)) 85075 }())) + 4*uintptr(_nOld-i32(1)))) 85076 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_nNew-i32(1))))).X19))+1*uintptr(i32(8))))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_58_pOld.X19))+1*uintptr(i32(8))))), uint32(i32(4))) 85077 _177: 85078 if (_pBt.X5) == 0 { 85079 goto _180 85080 } 85081 85082 _59_pNew = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0)))) 85083 _59_aOld = _59_pNew.X19 85084 _59_cntOldNext = int32(_59_pNew.X14) + int32(_59_pNew.X9) 85085 _59_usableSize = int32(_pBt.X16) 85086 _59_iNew = i32(0) 85087 _59_iOld = i32(0) 85088 _i = i32(0) 85089 _181: 85090 if _i >= (_b.X0) { 85091 goto _184 85092 } 85093 85094 _60_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_i))) 85095 if _i != _59_cntOldNext { 85096 goto _185 85097 } 85098 85099 _61_pOld = func() *XMemPage { 85100 if preInc961(&_59_iOld, 1) < _nNew { 85101 return (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_59_iOld)))) 85102 } 85103 return (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_59_iOld)))) 85104 }() 85105 { 85106 p := &_59_cntOldNext 85107 *p = (*p) + ((int32(_61_pOld.X14) + int32(_61_pOld.X9)) + bool2int(_leafData == 0)) 85108 sink961 = *p 85109 } 85110 _59_aOld = _61_pOld.X19 85111 _185: 85112 if _i != (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_59_iNew)))) { 85113 goto _188 85114 } 85115 85116 _59_pNew = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(preInc961(&_59_iNew, 1)))) 85117 if _leafData != 0 { 85118 goto _189 85119 } 85120 85121 goto _182 85122 85123 _189: 85124 _188: 85125 if _59_iOld < _nNew && (_59_pNew.X4) == (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPgno)) + 4*uintptr(_59_iOld)))) && (uint32(uintptr(unsafe.Pointer(_60_pCell))) >= uint32(uintptr(unsafe.Pointer(_59_aOld))) && uint32(uintptr(unsafe.Pointer(_60_pCell))) < uint32(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_59_aOld))+1*uintptr(_59_usableSize))))))) { 85126 goto _193 85127 } 85128 85129 if _leafCorrection != 0 { 85130 goto _194 85131 } 85132 85133 _ptrmapPut(tls, _pBt, _sqlite3Get4byte(tls, _60_pCell), uint8(i32(5)), _59_pNew.X4, &_rc) 85134 _194: 85135 if int32(_cachedCellSize(tls, &_b, _i)) <= int32(_59_pNew.X11) { 85136 goto _195 85137 } 85138 85139 _ptrmapPutOvflPtr(tls, _59_pNew, _60_pCell, &_rc) 85140 _195: 85141 if _rc == 0 { 85142 goto _196 85143 } 85144 85145 goto _balance_cleanup 85146 85147 _196: 85148 _193: 85149 _182: 85150 _i += 1 85151 goto _181 85152 85153 _184: 85154 _180: 85155 _i = i32(0) 85156 _197: 85157 if _i >= (_nNew - i32(1)) { 85158 goto _200 85159 } 85160 85161 _66_pNew = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i))) 85162 _j = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_i))) 85163 func() int32 { 85164 if _j < _nMaxCells { 85165 return i32(0) 85166 } 85167 return func() int32 { 85168 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66610), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87124))) 85169 crt.X__builtin_abort(tls) 85170 return i32(0) 85171 }() 85172 }() 85173 func() int32 { 85174 if (*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_j)))) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 85175 return i32(0) 85176 } 85177 return func() int32 { 85178 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66611), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87136))) 85179 crt.X__builtin_abort(tls) 85180 return i32(0) 85181 }() 85182 }() 85183 _66_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_j))) 85184 _66_sz = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_j)))) + int32(_leafCorrection) 85185 _66_pTemp = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOvflSpace)) + 1*uintptr(_iOvflSpace))) 85186 if (_66_pNew.X5) != 0 { 85187 goto _205 85188 } 85189 85190 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_66_pNew.X19))+1*uintptr(i32(8))))), (unsafe.Pointer)(_66_pCell), uint32(i32(4))) 85191 goto _206 85192 85193 _205: 85194 if _leafData == 0 { 85195 goto _207 85196 } 85197 85198 _j -= 1 85199 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 85200 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 85201 }{(_66_pNew.X25)})))(tls, _66_pNew, *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X2)) + 4*uintptr(_j))), &_68_info) 85202 _66_pCell = _66_pTemp 85203 _66_sz = i32(4) + _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_66_pCell))+1*uintptr(i32(4)))), uint64(_68_info.X0)) 85204 _66_pTemp = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 85205 goto _208 85206 85207 _207: 85208 { 85209 p := &_66_pCell 85210 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(4)))) 85211 sink6921 = *p 85212 } 85213 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_b.X3)) + 2*uintptr(_j)))) != i32(4) { 85214 goto _209 85215 } 85216 85217 func() int32 { 85218 if int32(_leafCorrection) == i32(4) { 85219 return i32(0) 85220 } 85221 return func() int32 { 85222 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66643), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86904))) 85223 crt.X__builtin_abort(tls) 85224 return i32(0) 85225 }() 85226 }() 85227 _66_sz = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 85228 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 85229 }{(_pParent.X24)})))(tls, _pParent, _66_pCell)) 85230 _209: 85231 _208: 85232 _206: 85233 { 85234 p := &_iOvflSpace 85235 *p = (*p) + _66_sz 85236 sink961 = *p 85237 } 85238 func() int32 { 85239 if _66_sz <= (int32(_pBt.X11) + i32(23)) { 85240 return i32(0) 85241 } 85242 return func() int32 { 85243 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66648), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86768))) 85244 crt.X__builtin_abort(tls) 85245 return i32(0) 85246 }() 85247 }() 85248 func() int32 { 85249 if _iOvflSpace <= int32(_pBt.X15) { 85250 return i32(0) 85251 } 85252 return func() int32 { 85253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66649), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87152))) 85254 crt.X__builtin_abort(tls) 85255 return i32(0) 85256 }() 85257 }() 85258 _insertCell(tls, _pParent, _nxDiv+_i, _66_pCell, _66_sz, _66_pTemp, _66_pNew.X4, &_rc) 85259 if _rc == i32(0) { 85260 goto _216 85261 } 85262 85263 goto _balance_cleanup 85264 85265 _216: 85266 func() int32 { 85267 if _sqlite3PagerIswriteable(tls, (*XPgHdr)(unsafe.Pointer(_pParent.X23))) != 0 { 85268 return i32(0) 85269 } 85270 return func() int32 { 85271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66652), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(86272))) 85272 crt.X__builtin_abort(tls) 85273 return i32(0) 85274 }() 85275 }() 85276 _i += 1 85277 goto _197 85278 85279 _200: 85280 _i = i32(1) - _nNew 85281 _219: 85282 if _i >= _nNew { 85283 goto _222 85284 } 85285 85286 _71_iPg = func() int32 { 85287 if _i < i32(0) { 85288 return (-_i) 85289 } 85290 return _i 85291 }() 85292 func() int32 { 85293 if (_71_iPg >= i32(0)) && (_71_iPg < _nNew) { 85294 return i32(0) 85295 } 85296 return func() int32 { 85297 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66679), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87188))) 85298 crt.X__builtin_abort(tls) 85299 return i32(0) 85300 }() 85301 }() 85302 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_abDone)) + 1*uintptr(_71_iPg)))) == 0 { 85303 goto _228 85304 } 85305 85306 goto _220 85307 85308 _228: 85309 if _i < i32(0) && (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_71_iPg-i32(1))))) < (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg-i32(1))))) { 85310 goto _230 85311 } 85312 85313 func() int32 { 85314 if ((_71_iPg == i32(0)) || ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_71_iPg-i32(1))))) >= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg-i32(1))))))) || ((*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_abDone)) + 1*uintptr(_71_iPg-i32(1))))) != 0) { 85315 return i32(0) 85316 } 85317 return func() int32 { 85318 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66690), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87208))) 85319 crt.X__builtin_abort(tls) 85320 return i32(0) 85321 }() 85322 }() 85323 func() int32 { 85324 if ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg)))) >= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_71_iPg))))) || ((*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_abDone)) + 1*uintptr(_71_iPg+i32(1))))) != 0) { 85325 return i32(0) 85326 } 85327 return func() int32 { 85328 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66694), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87264))) 85329 crt.X__builtin_abort(tls) 85330 return i32(0) 85331 }() 85332 }() 85333 if _71_iPg != i32(0) { 85334 goto _238 85335 } 85336 85337 _72_iNew = store961(&_72_iOld, i32(0)) 85338 _72_nNewCell = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(i32(0)))) 85339 goto _239 85340 85341 _238: 85342 _72_iOld = func() int32 { 85343 if _71_iPg < _nOld { 85344 return ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntOld)) + 4*uintptr(_71_iPg-i32(1))))) + bool2int(_leafData == 0)) 85345 } 85346 return (_b.X0) 85347 }() 85348 _72_iNew = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg-i32(1))))) + bool2int(_leafData == 0) 85349 _72_nNewCell = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cntNew)) + 4*uintptr(_71_iPg)))) - _72_iNew 85350 _239: 85351 _rc = _editPage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_71_iPg))), _72_iOld, _72_iNew, _72_nNewCell, &_b) 85352 if _rc == 0 { 85353 goto _242 85354 } 85355 85356 goto _balance_cleanup 85357 85358 _242: 85359 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_abDone)) + 1*uintptr(_71_iPg))) += 1 85360 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_71_iPg))))) + uintptr(20 /* X13 */))) = uint16(_usableSpace - (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_szNew)) + 4*uintptr(_71_iPg))))) 85361 func() int32 { 85362 if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_71_iPg)))).X9) == i32(0) { 85363 return i32(0) 85364 } 85365 return func() int32 { 85366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66709), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87308))) 85367 crt.X__builtin_abort(tls) 85368 return i32(0) 85369 }() 85370 }() 85371 func() int32 { 85372 if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_71_iPg)))).X14) == _72_nNewCell { 85373 return i32(0) 85374 } 85375 return func() int32 { 85376 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66710), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87336))) 85377 crt.X__builtin_abort(tls) 85378 return i32(0) 85379 }() 85380 }() 85381 _230: 85382 _220: 85383 _i += 1 85384 goto _219 85385 85386 _222: 85387 func() int32 { 85388 if crt.Xmemcmp(tls, (unsafe.Pointer)(&_abDone), (unsafe.Pointer)(str(87364)), uint32(_nNew)) == i32(0) { 85389 return i32(0) 85390 } 85391 return func() int32 { 85392 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66715), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87372))) 85393 crt.X__builtin_abort(tls) 85394 return i32(0) 85395 }() 85396 }() 85397 func() int32 { 85398 if _nOld > i32(0) { 85399 return i32(0) 85400 } 85401 return func() int32 { 85402 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66717), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87416))) 85403 crt.X__builtin_abort(tls) 85404 return i32(0) 85405 }() 85406 }() 85407 func() int32 { 85408 if _nNew > i32(0) { 85409 return i32(0) 85410 } 85411 return func() int32 { 85412 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66718), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87424))) 85413 crt.X__builtin_abort(tls) 85414 return i32(0) 85415 }() 85416 }() 85417 if _isRoot == 0 || int32(_pParent.X14) != i32(0) || int32(_pParent.X6) > int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0))))).X13) { 85418 goto _255 85419 } 85420 85421 func() int32 { 85422 if (_nNew == i32(1)) || ((_sqlite3Config.X6) == i32(0)) { 85423 return i32(0) 85424 } 85425 return func() int32 { 85426 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66736), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87432))) 85427 crt.X__builtin_abort(tls) 85428 return i32(0) 85429 }() 85430 }() 85431 _rc = _defragmentPage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0)))), i32(-1)) 85432 func() int32 { 85433 if (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0))))).X13) == ((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0))))).X19))+1*uintptr(i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0))))).X19))+1*uintptr(i32(5)))))) + 1*uintptr(i32(1)))))) - int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0))))).X12)) - (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0))))).X14) * i32(2)))) || (_rc != i32(0)) { 85434 return i32(0) 85435 } 85436 return func() int32 { 85437 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66739), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87456))) 85438 crt.X__builtin_abort(tls) 85439 return i32(0) 85440 }() 85441 }() 85442 _copyNodeContent(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0)))), _pParent, &_rc) 85443 _freePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(i32(0)))), &_rc) 85444 goto _262 85445 85446 _255: 85447 if (_pBt.X5) == 0 || _leafCorrection != 0 { 85448 goto _264 85449 } 85450 85451 _i = i32(0) 85452 _265: 85453 if _i >= _nNew { 85454 goto _268 85455 } 85456 85457 _77_key = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i)))).X19))+1*uintptr(i32(8))))) 85458 _ptrmapPut(tls, _pBt, _77_key, uint8(i32(5)), (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i)))).X4, &_rc) 85459 _i += 1 85460 goto _265 85461 85462 _268: 85463 _264: 85464 _262: 85465 func() int32 { 85466 if (_pParent.X0) != 0 { 85467 return i32(0) 85468 } 85469 return func() int32 { 85470 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(66755), unsafe.Pointer((*int8)(unsafe.Pointer(&_balance_nonrootØ00__func__Ø000))), unsafe.Pointer(str(87564))) 85471 crt.X__builtin_abort(tls) 85472 return i32(0) 85473 }() 85474 }() 85475 _i = _nNew 85476 _271: 85477 if _i >= _nOld { 85478 goto _274 85479 } 85480 85481 _freePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i))), &_rc) 85482 _i += 1 85483 goto _271 85484 85485 _274: 85486 _balance_cleanup: 85487 _sqlite3ScratchFree(tls, (unsafe.Pointer)(_b.X2)) 85488 _i = i32(0) 85489 _275: 85490 if _i >= _nOld { 85491 goto _278 85492 } 85493 85494 _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apOld)) + 4*uintptr(_i)))) 85495 _i += 1 85496 goto _275 85497 85498 _278: 85499 _i = i32(0) 85500 _279: 85501 if _i >= _nNew { 85502 goto _282 85503 } 85504 85505 _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apNew)) + 4*uintptr(_i)))) 85506 _i += 1 85507 goto _279 85508 85509 _282: 85510 r0 = _rc 85511 return 85512 85513 } 85514 85515 var _balance_nonrootØ00__func__Ø000 [16]int8 // - 85516 85517 func init() { 85518 crt.Xstrncpy(nil, &_balance_nonrootØ00__func__Ø000[0], str(87580), 16) 85519 } 85520 85521 func _sqlite3ScratchMalloc(tls *crt.TLS, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:24513:1 85522 var _p unsafe.Pointer // sqlite3.c:24514:8 85523 _ = _p 85524 func() int32 { 85525 if _n > i32(0) { 85526 return i32(0) 85527 } 85528 return func() int32 { 85529 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24515), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ScratchMallocØ00__func__Ø000))), unsafe.Pointer(str(1352))) 85530 crt.X__builtin_abort(tls) 85531 return i32(0) 85532 }() 85533 }() 85534 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 85535 _sqlite3StatusHighwater(tls, i32(8), _n) 85536 if (_mem0.X4) == 0 || (_sqlite3Config.X20) < _n { 85537 goto _3 85538 } 85539 85540 _p = _mem0.X3 85541 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(16 /* X3 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_mem0.X3)).X0)) 85542 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(20 /* X4 */))) -= 1 85543 _sqlite3StatusUp(tls, i32(3), i32(1)) 85544 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 85545 goto _4 85546 85547 _3: 85548 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 85549 _p = _sqlite3Malloc(tls, uint64(_n)) 85550 if (_sqlite3Config.X0) == 0 || _p == nil { 85551 goto _6 85552 } 85553 85554 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 85555 _sqlite3StatusUp(tls, i32(4), _sqlite3MallocSize(tls, _p)) 85556 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 85557 _6: 85558 _4: 85559 func() int32 { 85560 if Xsqlite3_mutex_notheld(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) != 0 { 85561 return i32(0) 85562 } 85563 return func() int32 { 85564 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24535), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ScratchMallocØ00__func__Ø000))), unsafe.Pointer(str(87596))) 85565 crt.X__builtin_abort(tls) 85566 return i32(0) 85567 }() 85568 }() 85569 r0 = _p 85570 return 85571 85572 } 85573 85574 var _sqlite3ScratchMallocØ00__func__Ø000 [21]int8 // - 85575 85576 func init() { 85577 crt.Xstrncpy(nil, &_sqlite3ScratchMallocØ00__func__Ø000[0], str(87632), 21) 85578 } 85579 85580 func _cachedCellSize(tls *crt.TLS, _p *XCellArray, _N int32) (r0 uint16) { // sqlite3.c:65498:1 85581 func() int32 { 85582 if (_N >= i32(0)) && (_N < (_p.X0)) { 85583 return i32(0) 85584 } 85585 return func() int32 { 85586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65499), unsafe.Pointer((*int8)(unsafe.Pointer(&_cachedCellSizeØ00__func__Ø000))), unsafe.Pointer(str(87656))) 85587 crt.X__builtin_abort(tls) 85588 return i32(0) 85589 }() 85590 }() 85591 if (*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N)))) == 0 { 85592 goto _3 85593 } 85594 85595 r0 = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N))) 85596 return 85597 85598 _3: 85599 r0 = _computeCellSize(tls, _p, _N) 85600 return 85601 85602 } 85603 85604 var _cachedCellSizeØ00__func__Ø000 [15]int8 // - 85605 85606 func init() { 85607 crt.Xstrncpy(nil, &_cachedCellSizeØ00__func__Ø000[0], str(87676), 15) 85608 } 85609 85610 func _computeCellSize(tls *crt.TLS, _p *XCellArray, _N int32) (r0 uint16) { // sqlite3.c:65492:1 85611 func() int32 { 85612 if (_N >= i32(0)) && (_N < (_p.X0)) { 85613 return i32(0) 85614 } 85615 return func() int32 { 85616 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65493), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeCellSizeØ00__func__Ø000))), unsafe.Pointer(str(87656))) 85617 crt.X__builtin_abort(tls) 85618 return i32(0) 85619 }() 85620 }() 85621 func() int32 { 85622 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N)))) == i32(0) { 85623 return i32(0) 85624 } 85625 return func() int32 { 85626 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65494), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeCellSizeØ00__func__Ø000))), unsafe.Pointer(str(87692))) 85627 crt.X__builtin_abort(tls) 85628 return i32(0) 85629 }() 85630 }() 85631 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N))) = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 85632 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 85633 }{((*XMemPage)(unsafe.Pointer(_p.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_p.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(_N)))) 85634 r0 = *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_N))) 85635 return 85636 85637 } 85638 85639 var _computeCellSizeØ00__func__Ø000 [16]int8 // - 85640 85641 func init() { 85642 crt.Xstrncpy(nil, &_computeCellSizeØ00__func__Ø000[0], str(87708), 16) 85643 } 85644 85645 func _sqlite3PagerRekey(tls *crt.TLS, _pPg *XPgHdr, _iNew uint32, _flags uint16) { // sqlite3.c:53938:1 85646 func() int32 { 85647 if (_pPg.X5) != _iNew { 85648 return i32(0) 85649 } 85650 return func() int32 { 85651 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53939), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerRekeyØ00__func__Ø000))), unsafe.Pointer(str(87724))) 85652 crt.X__builtin_abort(tls) 85653 return i32(0) 85654 }() 85655 }() 85656 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(24 /* X6 */))) = _flags 85657 _sqlite3PcacheMove(tls, _pPg, _iNew) 85658 return 85659 85660 } 85661 85662 var _sqlite3PagerRekeyØ00__func__Ø000 [18]int8 // - 85663 85664 func init() { 85665 crt.Xstrncpy(nil, &_sqlite3PagerRekeyØ00__func__Ø000[0], str(87740), 18) 85666 } 85667 85668 func _editPage(tls *crt.TLS, _pPg *XMemPage, _iOld int32, _iNew int32, _nNew int32, _pCArray *XCellArray) (r0 int32) { // sqlite3.c:65689:1 85669 var _aData *uint8 // sqlite3.c:65696:6 85670 _ = _aData 85671 var _hdr int32 // sqlite3.c:65697:13 85672 _ = _hdr 85673 var _pBegin *uint8 // sqlite3.c:65698:6 85674 _ = _pBegin 85675 var _nCell int32 // sqlite3.c:65699:7 85676 _ = _nCell 85677 var _pData *uint8 // sqlite3.c:65700:6 85678 _ = _pData 85679 var _pCellptr *uint8 // sqlite3.c:65701:6 85680 _ = _pCellptr 85681 var _i int32 // sqlite3.c:65702:7 85682 _ = _i 85683 var _iOldEnd int32 // sqlite3.c:65703:7 85684 _ = _iOldEnd 85685 var _iNewEnd int32 // sqlite3.c:65704:7 85686 _ = _iNewEnd 85687 var _pTmp *uint8 // sqlite3.c:65707:6 85688 _ = _pTmp 85689 var _1_nShift int32 // sqlite3.c:65713:9 85690 _ = _1_nShift 85691 var _3_nAdd int32 // sqlite3.c:65726:9 85692 _ = _3_nAdd 85693 var _4_iCell int32 // sqlite3.c:65739:9 85694 _ = _4_iCell 85695 var _6_pCell *uint8 // sqlite3.c:65766:8 85696 _ = _6_pCell 85697 var _6_iOff int32 // sqlite3.c:65767:9 85698 _ = _6_iOff 85699 _aData = _pPg.X19 85700 _hdr = int32(_pPg.X6) 85701 _pBegin = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21)) + 1*uintptr(_nNew*i32(2)))) 85702 _nCell = int32(_pPg.X14) 85703 _iOldEnd = (_iOld + int32(_pPg.X14)) + int32(_pPg.X9) 85704 _iNewEnd = _iNew + _nNew 85705 _pTmp = (*uint8)(unsafe.Pointer(_sqlite3PagerTempSpace(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_pPg.X18)).X0))))) 85706 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTmp), (unsafe.Pointer)(_aData), (*XBtShared)(unsafe.Pointer(_pPg.X18)).X16) 85707 if _iOld >= _iNew { 85708 goto _0 85709 } 85710 85711 _1_nShift = _pageFreeArray(tls, _pPg, _iOld, _iNew-_iOld, _pCArray) 85712 crt.Xmemmove(tls, (unsafe.Pointer)(_pPg.X21), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21))+1*uintptr(_1_nShift*i32(2))))), uint32(_nCell*i32(2))) 85713 { 85714 p := &_nCell 85715 *p = (*p) - _1_nShift 85716 sink961 = *p 85717 } 85718 _0: 85719 if _iNewEnd >= _iOldEnd { 85720 goto _1 85721 } 85722 85723 { 85724 p := &_nCell 85725 *p = (*p) - _pageFreeArray(tls, _pPg, _iNewEnd, _iOldEnd-_iNewEnd, _pCArray) 85726 sink961 = *p 85727 } 85728 _1: 85729 _pData = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1))))))-i32(1))&i32(65535))+i32(1)))) 85730 if uintptr(unsafe.Pointer(_pData)) >= uintptr(unsafe.Pointer(_pBegin)) { 85731 goto _2 85732 } 85733 85734 goto _editpage_fail 85735 85736 _2: 85737 if _iNew >= _iOld { 85738 goto _3 85739 } 85740 85741 _3_nAdd = func() int32 { 85742 if _nNew < (_iOld - _iNew) { 85743 return _nNew 85744 } 85745 return (_iOld - _iNew) 85746 }() 85747 func() int32 { 85748 if (((_iOld - _iNew) < _nNew) || (_nCell == i32(0))) || ((_sqlite3Config.X6) == i32(0)) { 85749 return i32(0) 85750 } 85751 return func() int32 { 85752 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65727), unsafe.Pointer((*int8)(unsafe.Pointer(&_editPageØ00__func__Ø000))), unsafe.Pointer(str(87760))) 85753 crt.X__builtin_abort(tls) 85754 return i32(0) 85755 }() 85756 }() 85757 _pCellptr = _pPg.X21 85758 crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr))+1*uintptr(_3_nAdd*i32(2))))), (unsafe.Pointer)(_pCellptr), uint32(_nCell*i32(2))) 85759 if _pageInsertArray(tls, _pPg, _pBegin, &_pData, _pCellptr, _iNew, _3_nAdd, _pCArray) == 0 { 85760 goto _10 85761 } 85762 85763 goto _editpage_fail 85764 85765 _10: 85766 { 85767 p := &_nCell 85768 *p = (*p) + _3_nAdd 85769 sink961 = *p 85770 } 85771 _3: 85772 _i = i32(0) 85773 _11: 85774 if _i >= int32(_pPg.X9) { 85775 goto _14 85776 } 85777 85778 _4_iCell = (_iOld + int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[4]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg))+uintptr(26 /* X16 */))))) + 2*uintptr(_i))))) - _iNew 85779 if _4_iCell < i32(0) || _4_iCell >= _nNew { 85780 goto _16 85781 } 85782 85783 _pCellptr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21)) + 1*uintptr(_4_iCell*i32(2)))) 85784 crt.Xmemmove(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr))+1*uintptr(i32(2))))), (unsafe.Pointer)(_pCellptr), uint32((_nCell-_4_iCell)*i32(2))) 85785 _nCell += 1 85786 if _pageInsertArray(tls, _pPg, _pBegin, &_pData, _pCellptr, _4_iCell+_iNew, i32(1), _pCArray) == 0 { 85787 goto _17 85788 } 85789 85790 goto _editpage_fail 85791 85792 _17: 85793 _16: 85794 _i += 1 85795 goto _11 85796 85797 _14: 85798 _pCellptr = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21)) + 1*uintptr(_nCell*i32(2)))) 85799 if _pageInsertArray(tls, _pPg, _pBegin, &_pData, _pCellptr, _iNew+_nCell, _nNew-_nCell, _pCArray) == 0 { 85800 goto _18 85801 } 85802 85803 goto _editpage_fail 85804 85805 _18: 85806 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(22 /* X14 */))) = uint16(_nNew) 85807 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 85808 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 85809 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(0)))) = uint8(int32(_pPg.X14) >> uint(i32(8))) 85810 return _aData 85811 }()))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1)))) = uint8(_pPg.X14) 85812 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 85813 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0)))) = uint8(int32((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) 85814 return _aData 85815 }()))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))) = uint8(int32((uintptr(unsafe.Pointer(_pData)) - uintptr(unsafe.Pointer(_aData))) / 1)) 85816 _i = i32(0) 85817 _19: 85818 if _i >= _nNew || (_sqlite3Config.X6) == i32(0) { 85819 goto _23 85820 } 85821 85822 _6_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 4*uintptr(_i+_iNew))) 85823 _6_iOff = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21))+1*uintptr(_i*i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPg.X21))+1*uintptr(_i*i32(2)))))) + 1*uintptr(i32(1))))) 85824 if uint32(uintptr(unsafe.Pointer(_6_pCell))) < uint32(uintptr(unsafe.Pointer(_aData))) || uint32(uintptr(unsafe.Pointer(_6_pCell))) >= uint32(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16)))))) { 85825 goto _25 85826 } 85827 85828 _6_pCell = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmp)) + 1*uintptr(int32((uintptr(unsafe.Pointer(_6_pCell))-uintptr(unsafe.Pointer(_aData)))/1)))) 85829 _25: 85830 func() int32 { 85831 if i32(0) == crt.Xmemcmp(tls, (unsafe.Pointer)(_6_pCell), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData))+1*uintptr(_6_iOff)))), uint32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 85832 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 85833 }{((*XMemPage)(unsafe.Pointer(_pCArray.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_pCArray.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 4*uintptr(_i+_iNew)))))) { 85834 return i32(0) 85835 } 85836 return func() int32 { 85837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65771), unsafe.Pointer((*int8)(unsafe.Pointer(&_editPageØ00__func__Ø000))), unsafe.Pointer(str(87804))) 85838 crt.X__builtin_abort(tls) 85839 return i32(0) 85840 }() 85841 }() 85842 _i += 1 85843 goto _19 85844 85845 _23: 85846 r0 = i32(0) 85847 return 85848 85849 _editpage_fail: 85850 _populateCellCache(tls, _pCArray, _iNew, _nNew) 85851 r0 = _rebuildPage(tls, _pPg, _nNew, (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2))+4*uintptr(_iNew))), (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X3))+2*uintptr(_iNew)))) 85852 return 85853 85854 } 85855 85856 func _pageFreeArray(tls *crt.TLS, _pPg *XMemPage, _iFirst int32, _nCell int32, _pCArray *XCellArray) (r0 int32) { // sqlite3.c:65632:1 85857 var _aData *uint8 // sqlite3.c:65638:6 85858 _ = _aData 85859 var _pEnd *uint8 // sqlite3.c:65639:6 85860 _ = _pEnd 85861 var _pStart *uint8 // sqlite3.c:65640:6 85862 _ = _pStart 85863 var _nRet int32 // sqlite3.c:65641:7 85864 _ = _nRet 85865 var _i int32 // sqlite3.c:65642:7 85866 _ = _i 85867 var _iEnd int32 // sqlite3.c:65643:7 85868 _ = _iEnd 85869 var _pFree *uint8 // sqlite3.c:65644:6 85870 _ = _pFree 85871 var _szFree int32 // sqlite3.c:65645:7 85872 _ = _szFree 85873 var _1_pCell *uint8 // sqlite3.c:65648:8 85874 _ = _1_pCell 85875 var _2_sz int32 // sqlite3.c:65650:11 85876 _ = _2_sz 85877 _aData = _pPg.X19 85878 _pEnd = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr((*XBtShared)(unsafe.Pointer(_pPg.X18)).X16))) 85879 _pStart = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr((int32(_pPg.X6)+i32(8))+int32(_pPg.X7)))) 85880 _nRet = i32(0) 85881 _iEnd = _iFirst + _nCell 85882 _pFree = nil 85883 _szFree = i32(0) 85884 _i = _iFirst 85885 _0: 85886 if _i >= _iEnd { 85887 goto _3 85888 } 85889 85890 _1_pCell = *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 4*uintptr(_i))) 85891 if uint32(uintptr(unsafe.Pointer(_1_pCell))) < uint32(uintptr(unsafe.Pointer(_pStart))) || uint32(uintptr(unsafe.Pointer(_1_pCell))) >= uint32(uintptr(unsafe.Pointer(_pEnd))) { 85892 goto _5 85893 } 85894 85895 _2_sz = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X3)) + 2*uintptr(_i)))) 85896 func() int32 { 85897 if _2_sz > i32(0) { 85898 return i32(0) 85899 } 85900 return func() int32 { 85901 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65654), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageFreeArrayØ00__func__Ø000))), unsafe.Pointer(str(87904))) 85902 crt.X__builtin_abort(tls) 85903 return i32(0) 85904 }() 85905 }() 85906 if _pFree == (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_1_pCell))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_2_sz))))))) { 85907 goto _8 85908 } 85909 85910 if _pFree == nil { 85911 goto _9 85912 } 85913 85914 func() int32 { 85915 if (uintptr(unsafe.Pointer(_pFree)) > uintptr(unsafe.Pointer(_aData))) && (int32((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1) < i32(65536)) { 85916 return i32(0) 85917 } 85918 return func() int32 { 85919 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65657), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageFreeArrayØ00__func__Ø000))), unsafe.Pointer(str(87912))) 85920 crt.X__builtin_abort(tls) 85921 return i32(0) 85922 }() 85923 }() 85924 _freeSpace(tls, _pPg, uint16(int32((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1)), uint16(_szFree)) 85925 _9: 85926 _pFree = _1_pCell 85927 _szFree = _2_sz 85928 if uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pFree))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_2_sz))))))))) <= uintptr(unsafe.Pointer(_pEnd)) { 85929 goto _13 85930 } 85931 85932 r0 = i32(0) 85933 return 85934 85935 _13: 85936 goto _14 85937 85938 _8: 85939 _pFree = _1_pCell 85940 { 85941 p := &_szFree 85942 *p = (*p) + _2_sz 85943 sink961 = *p 85944 } 85945 _14: 85946 _nRet += 1 85947 _5: 85948 _i += 1 85949 goto _0 85950 85951 _3: 85952 if _pFree == nil { 85953 goto _15 85954 } 85955 85956 func() int32 { 85957 if (uintptr(unsafe.Pointer(_pFree)) > uintptr(unsafe.Pointer(_aData))) && (int32((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1) < i32(65536)) { 85958 return i32(0) 85959 } 85960 return func() int32 { 85961 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65671), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageFreeArrayØ00__func__Ø000))), unsafe.Pointer(str(87912))) 85962 crt.X__builtin_abort(tls) 85963 return i32(0) 85964 }() 85965 }() 85966 _freeSpace(tls, _pPg, uint16(int32((uintptr(unsafe.Pointer(_pFree))-uintptr(unsafe.Pointer(_aData)))/1)), uint16(_szFree)) 85967 _15: 85968 r0 = _nRet 85969 return 85970 85971 } 85972 85973 var _pageFreeArrayØ00__func__Ø000 [14]int8 // - 85974 85975 func init() { 85976 crt.Xstrncpy(nil, &_pageFreeArrayØ00__func__Ø000[0], str(87952), 14) 85977 } 85978 85979 var _editPageØ00__func__Ø000 [9]int8 // - 85980 85981 func init() { 85982 crt.Xstrncpy(nil, &_editPageØ00__func__Ø000[0], str(87968), 9) 85983 } 85984 85985 func _pageInsertArray(tls *crt.TLS, _pPg *XMemPage, _pBegin *uint8, _ppData **uint8, _pCellptr *uint8, _iFirst int32, _nCell int32, _pCArray *XCellArray) (r0 int32) { // sqlite3.c:65586:1 85986 var _i int32 // sqlite3.c:65595:7 85987 _ = _i 85988 var _aData *uint8 // sqlite3.c:65596:6 85989 _ = _aData 85990 var _pData *uint8 // sqlite3.c:65597:6 85991 _ = _pData 85992 var _iEnd int32 // sqlite3.c:65598:7 85993 _ = _iEnd 85994 var _1_sz int32 // sqlite3.c:65601:9 85995 _ = _1_sz 85996 var _1_rc int32 // sqlite3.c:65601:13 85997 _ = _1_rc 85998 var _1_pSlot *uint8 // sqlite3.c:65602:8 85999 _ = _1_pSlot 86000 _aData = _pPg.X19 86001 _pData = *_ppData 86002 _iEnd = _iFirst + _nCell 86003 func() int32 { 86004 if ((_sqlite3Config.X6) == i32(0)) || (int32(_pPg.X6) == i32(0)) { 86005 return i32(0) 86006 } 86007 return func() int32 { 86008 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65599), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageInsertArrayØ00__func__Ø000))), unsafe.Pointer(str(87980))) 86009 crt.X__builtin_abort(tls) 86010 return i32(0) 86011 }() 86012 }() 86013 _i = _iFirst 86014 _3: 86015 if _i >= _iEnd { 86016 goto _6 86017 } 86018 86019 _1_sz = int32(_cachedCellSize(tls, _pCArray, _i)) 86020 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(i32(1))))) != i32(0) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aData)) + 1*uintptr(i32(2))))) != i32(0)) && store6921(&_1_pSlot, _pageFindSlot(tls, _pPg, _1_sz, &_1_rc)) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 86021 goto _9 86022 } 86023 86024 if int32((uintptr(unsafe.Pointer(_pData))-uintptr(unsafe.Pointer(_pBegin)))/1) >= _1_sz { 86025 goto _10 86026 } 86027 86028 r0 = i32(1) 86029 return 86030 86031 _10: 86032 { 86033 p := &_pData 86034 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(_1_sz))) 86035 sink6921 = *p 86036 } 86037 _1_pSlot = _pData 86038 _9: 86039 func() int32 { 86040 if ((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_1_pSlot))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_1_sz))))))))) <= uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 4*uintptr(_i)))))) || (uintptr(unsafe.Pointer(_1_pSlot)) >= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 4*uintptr(_i)))))+uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_1_sz))))))))))) || ((_sqlite3Config.X6) == i32(0)) { 86041 return i32(0) 86042 } 86043 return func() int32 { 86044 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65612), unsafe.Pointer((*int8)(unsafe.Pointer(&_pageInsertArrayØ00__func__Ø000))), unsafe.Pointer(str(88012))) 86045 crt.X__builtin_abort(tls) 86046 return i32(0) 86047 }() 86048 }() 86049 crt.Xmemmove(tls, (unsafe.Pointer)(_1_pSlot), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCArray.X2)) + 4*uintptr(_i)))), uint32(_1_sz)) 86050 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(func() *uint8 { 86051 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellptr)) + 1*uintptr(i32(0)))) = uint8(int32((uintptr(unsafe.Pointer(_1_pSlot))-uintptr(unsafe.Pointer(_aData)))/1) >> uint(i32(8))) 86052 return _pCellptr 86053 }())) + 1*uintptr(i32(1)))) = uint8(int32((uintptr(unsafe.Pointer(_1_pSlot)) - uintptr(unsafe.Pointer(_aData))) / 1)) 86054 { 86055 p := &_pCellptr 86056 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(2)))) 86057 sink6921 = *p 86058 } 86059 _i += 1 86060 goto _3 86061 86062 _6: 86063 *_ppData = _pData 86064 r0 = i32(0) 86065 return 86066 86067 } 86068 86069 var _pageInsertArrayØ00__func__Ø000 [16]int8 // - 86070 86071 func init() { 86072 crt.Xstrncpy(nil, &_pageInsertArrayØ00__func__Ø000[0], str(88092), 16) 86073 } 86074 86075 func _populateCellCache(tls *crt.TLS, _p *XCellArray, _idx int32, _N int32) { // sqlite3.c:65474:1 86076 func() int32 { 86077 if (_idx >= i32(0)) && ((_idx + _N) <= (_p.X0)) { 86078 return i32(0) 86079 } 86080 return func() int32 { 86081 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65475), unsafe.Pointer((*int8)(unsafe.Pointer(&_populateCellCacheØ00__func__Ø000))), unsafe.Pointer(str(88108))) 86082 crt.X__builtin_abort(tls) 86083 return i32(0) 86084 }() 86085 }() 86086 _3: 86087 if _N <= i32(0) { 86088 goto _4 86089 } 86090 86091 func() int32 { 86092 if (*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(_idx)))) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 86093 return i32(0) 86094 } 86095 return func() int32 { 86096 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65477), unsafe.Pointer((*int8)(unsafe.Pointer(&_populateCellCacheØ00__func__Ø000))), unsafe.Pointer(str(88136))) 86097 crt.X__builtin_abort(tls) 86098 return i32(0) 86099 }() 86100 }() 86101 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_idx)))) != i32(0) { 86102 goto _7 86103 } 86104 86105 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_idx))) = (*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 86106 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 86107 }{((*XMemPage)(unsafe.Pointer(_p.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_p.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(_idx)))) 86108 goto _8 86109 86110 _7: 86111 func() int32 { 86112 if ((_sqlite3Config.X6) == i32(0)) || (int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X3)) + 2*uintptr(_idx)))) == int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 86113 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 86114 }{((*XMemPage)(unsafe.Pointer(_p.X1)).X24)})))(tls, (*XMemPage)(unsafe.Pointer(_p.X1)), *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(_idx)))))) { 86115 return i32(0) 86116 } 86117 return func() int32 { 86118 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(65481), unsafe.Pointer((*int8)(unsafe.Pointer(&_populateCellCacheØ00__func__Ø000))), unsafe.Pointer(str(88156))) 86119 crt.X__builtin_abort(tls) 86120 return i32(0) 86121 }() 86122 }() 86123 _8: 86124 _idx += 1 86125 _N -= 1 86126 goto _3 86127 86128 _4: 86129 return 86130 86131 } 86132 86133 var _populateCellCacheØ00__func__Ø000 [18]int8 // - 86134 86135 func init() { 86136 crt.Xstrncpy(nil, &_populateCellCacheØ00__func__Ø000[0], str(88232), 18) 86137 } 86138 86139 func _freePage(tls *crt.TLS, _pPage *XMemPage, _pRC *int32) { // sqlite3.c:65047:1 86140 if (*_pRC) != i32(0) { 86141 goto _0 86142 } 86143 86144 *_pRC = _freePage2(tls, (*XBtShared)(unsafe.Pointer(_pPage.X18)), _pPage, _pPage.X4) 86145 _0: 86146 return 86147 86148 } 86149 86150 func _sqlite3ScratchFree(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:24550:1 86151 var _2_pSlot *Xsqlite3_file // sqlite3.c:24564:23 86152 _ = _2_pSlot 86153 var _4_iSize int32 // sqlite3.c:24579:13 86154 _ = _4_iSize 86155 if _p == nil { 86156 goto _0 86157 } 86158 86159 if uint32(uintptr(unsafe.Pointer(_p))) < uint32(uintptr(unsafe.Pointer(_sqlite3Config.X19))) || uint32(uintptr(unsafe.Pointer(_p))) >= uint32(uintptr(unsafe.Pointer(_mem0.X2))) { 86160 goto _2 86161 } 86162 86163 _2_pSlot = (*Xsqlite3_file)(unsafe.Pointer(_p)) 86164 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 86165 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pSlot)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_mem0.X3)) 86166 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(16 /* X3 */))))) = _2_pSlot 86167 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(20 /* X4 */))) += 1 86168 func() int32 { 86169 if (_mem0.X4) <= uint32(_sqlite3Config.X21) { 86170 return i32(0) 86171 } 86172 return func() int32 { 86173 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(24570), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ScratchFreeØ00__func__Ø000))), unsafe.Pointer(str(88252))) 86174 crt.X__builtin_abort(tls) 86175 return i32(0) 86176 }() 86177 }() 86178 _sqlite3StatusDown(tls, i32(3), i32(1)) 86179 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 86180 goto _5 86181 86182 _2: 86183 i32(0) 86184 i32(0) 86185 if (_sqlite3Config.X0) == 0 { 86186 goto _6 86187 } 86188 86189 _4_iSize = _sqlite3MallocSize(tls, _p) 86190 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 86191 _sqlite3StatusDown(tls, i32(4), _4_iSize) 86192 _sqlite3StatusDown(tls, i32(0), _4_iSize) 86193 _sqlite3StatusDown(tls, i32(9), i32(1)) 86194 ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) 86195 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 86196 goto _7 86197 86198 _6: 86199 ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X1)(tls, _p) 86200 _7: 86201 _5: 86202 _0: 86203 return 86204 86205 } 86206 86207 var _sqlite3ScratchFreeØ00__func__Ø000 [19]int8 // - 86208 86209 func init() { 86210 crt.Xstrncpy(nil, &_sqlite3ScratchFreeØ00__func__Ø000[0], str(88308), 19) 86211 } 86212 86213 func _sqlite3BtreeDelete(tls *crt.TLS, _pCur *XBtCursor, _flags uint8) (r0 int32) { // sqlite3.c:67229:1 86214 var _p *XBtree // sqlite3.c:67230:9 86215 _ = _p 86216 var _pBt *XBtShared // sqlite3.c:67231:12 86217 _ = _pBt 86218 var _rc int32 // sqlite3.c:67232:7 86219 _ = _rc 86220 var _pPage *XMemPage // sqlite3.c:67233:11 86221 _ = _pPage 86222 var _pCell *uint8 // sqlite3.c:67234:17 86223 _ = _pCell 86224 var _iCellIdx int32 // sqlite3.c:67235:7 86225 _ = _iCellIdx 86226 var _iCellDepth int32 // sqlite3.c:67236:7 86227 _ = _iCellDepth 86228 var _info XCellInfo // sqlite3.c:67237:12 86229 _ = _info 86230 var _bSkipnext int32 // sqlite3.c:67238:7 86231 _ = _bSkipnext 86232 var _bPreserve uint8 // sqlite3.c:67239:6 86233 _ = _bPreserve 86234 var _4_notUsed int32 // sqlite3.c:67286:9 86235 _ = _4_notUsed 86236 var _7_pLeaf *XMemPage // sqlite3.c:67319:13 86237 _ = _7_pLeaf 86238 var _7_nCell int32 // sqlite3.c:67320:9 86239 _ = _7_nCell 86240 var _7_n uint32 // sqlite3.c:67321:10 86241 _ = _7_n 86242 var _7_pTmp *uint8 // sqlite3.c:67322:19 86243 _ = _7_pTmp 86244 _p = (*XBtree)(unsafe.Pointer(_pCur.X0)) 86245 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 86246 _bSkipnext = i32(0) 86247 _bPreserve = uint8(int32(_flags) & i32(2)) 86248 func() int32 { 86249 if _cursorOwnsBtShared(tls, _pCur) != 0 { 86250 return i32(0) 86251 } 86252 return func() int32 { 86253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67241), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(76036))) 86254 crt.X__builtin_abort(tls) 86255 return i32(0) 86256 }() 86257 }() 86258 func() int32 { 86259 if int32(_pBt.X8) == i32(2) { 86260 return i32(0) 86261 } 86262 return func() int32 { 86263 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67242), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(60064))) 86264 crt.X__builtin_abort(tls) 86265 return i32(0) 86266 }() 86267 }() 86268 func() int32 { 86269 if (int32(_pBt.X10) & i32(1)) == i32(0) { 86270 return i32(0) 86271 } 86272 return func() int32 { 86273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67243), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(80268))) 86274 crt.X__builtin_abort(tls) 86275 return i32(0) 86276 }() 86277 }() 86278 func() int32 { 86279 if (int32(_pCur.X10) & i32(1)) != 0 { 86280 return i32(0) 86281 } 86282 return func() int32 { 86283 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67244), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88328))) 86284 crt.X__builtin_abort(tls) 86285 return i32(0) 86286 }() 86287 }() 86288 func() int32 { 86289 if _hasSharedCacheTableLock(tls, _p, _pCur.X7, bool2int((*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))), i32(2)) != 0 { 86290 return i32(0) 86291 } 86292 return func() int32 { 86293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67245), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(82852))) 86294 crt.X__builtin_abort(tls) 86295 return i32(0) 86296 }() 86297 }() 86298 func() int32 { 86299 if _hasReadConflicts(tls, _p, _pCur.X7) == 0 { 86300 return i32(0) 86301 } 86302 return func() int32 { 86303 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67246), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88360))) 86304 crt.X__builtin_abort(tls) 86305 return i32(0) 86306 }() 86307 }() 86308 func() int32 { 86309 if int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_pCur.X14)))) < int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) { 86310 return i32(0) 86311 } 86312 return func() int32 { 86313 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67247), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(10712))) 86314 crt.X__builtin_abort(tls) 86315 return i32(0) 86316 }() 86317 }() 86318 func() int32 { 86319 if int32(_pCur.X12) == i32(1) { 86320 return i32(0) 86321 } 86322 return func() int32 { 86323 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67248), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(10500))) 86324 crt.X__builtin_abort(tls) 86325 return i32(0) 86326 }() 86327 }() 86328 func() int32 { 86329 if (int32(_flags) & i32(-7)) == i32(0) { 86330 return i32(0) 86331 } 86332 return func() int32 { 86333 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67249), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88400))) 86334 crt.X__builtin_abort(tls) 86335 return i32(0) 86336 }() 86337 }() 86338 _iCellDepth = int32(_pCur.X14) 86339 _iCellIdx = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_iCellDepth)))) 86340 _pPage = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_iCellDepth))) 86341 _pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_iCellIdx))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_iCellIdx))))) + 1*uintptr(i32(1))))))))))))) 86342 if _bPreserve == 0 { 86343 goto _18 86344 } 86345 86346 if (_pPage.X5) != 0 && ((int32(_pPage.X13)+int32(_cellSizePtr(tls, _pPage, _pCell)))+i32(2)) <= int32(((_pBt.X16)*uint32(i32(2)))/uint32(i32(3))) { 86347 goto _20 86348 } 86349 86350 _rc = _saveCursorKey(tls, _pCur) 86351 if _rc == 0 { 86352 goto _21 86353 } 86354 86355 r0 = _rc 86356 return 86357 86358 _21: 86359 goto _22 86360 86361 _20: 86362 _bSkipnext = i32(1) 86363 _22: 86364 _18: 86365 if (_pPage.X5) != 0 { 86366 goto _23 86367 } 86368 86369 _4_notUsed = i32(0) 86370 _rc = _sqlite3BtreePrevious(tls, _pCur, &_4_notUsed) 86371 if _rc == 0 { 86372 goto _24 86373 } 86374 86375 r0 = _rc 86376 return 86377 86378 _24: 86379 _23: 86380 if (int32(_pCur.X10) & i32(32)) == 0 { 86381 goto _25 86382 } 86383 86384 _rc = _saveAllCursors(tls, _pBt, _pCur.X7, _pCur) 86385 if _rc == 0 { 86386 goto _26 86387 } 86388 86389 r0 = _rc 86390 return 86391 86392 _26: 86393 _25: 86394 if (*XKeyInfo)(unsafe.Pointer(_pCur.X16)) != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { 86395 goto _27 86396 } 86397 86398 _invalidateIncrblobCursors(tls, _p, (*XCellInfo)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(16 /* X4 */))).X0, i32(0)) 86399 _27: 86400 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23))) 86401 if _rc == 0 { 86402 goto _28 86403 } 86404 86405 r0 = _rc 86406 return 86407 86408 _28: 86409 _rc = _clearCell(tls, _pPage, _pCell, &_info) 86410 _dropCell(tls, _pPage, _iCellIdx, int32(_info.X4), &_rc) 86411 if _rc == 0 { 86412 goto _29 86413 } 86414 86415 r0 = _rc 86416 return 86417 86418 _29: 86419 if (_pPage.X5) != 0 { 86420 goto _30 86421 } 86422 86423 _7_pLeaf = *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))) 86424 _7_n = (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_iCellDepth+i32(1))))).X4 86425 _pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_7_pLeaf.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_7_pLeaf.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pLeaf.X21))+1*uintptr(i32(2)*(int32(_7_pLeaf.X14)-i32(1))))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pLeaf.X21))+1*uintptr(i32(2)*(int32(_7_pLeaf.X14)-i32(1))))))) + 1*uintptr(i32(1))))))))))))) 86426 if uintptr(unsafe.Pointer(_pCell)) >= uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pLeaf.X19))+1*uintptr(i32(4)))))) { 86427 goto _31 86428 } 86429 86430 r0 = _sqlite3CorruptError(tls, i32(67325)) 86431 return 86432 86433 _31: 86434 _7_nCell = int32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 86435 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 86436 }{(_7_pLeaf.X24)})))(tls, _7_pLeaf, _pCell)) 86437 func() int32 { 86438 if int32((_pBt.X15)-uint32(i32(8))) >= _7_nCell { 86439 return i32(0) 86440 } 86441 return func() int32 { 86442 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67327), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88456))) 86443 crt.X__builtin_abort(tls) 86444 return i32(0) 86445 }() 86446 }() 86447 _7_pTmp = _pBt.X27 86448 func() int32 { 86449 if _7_pTmp != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 86450 return i32(0) 86451 } 86452 return func() int32 { 86453 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67329), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88484))) 86454 crt.X__builtin_abort(tls) 86455 return i32(0) 86456 }() 86457 }() 86458 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_7_pLeaf.X23))) 86459 if _rc != i32(0) { 86460 goto _36 86461 } 86462 86463 _insertCell(tls, _pPage, _iCellIdx, (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCell))-uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(i32(4)))))))), _7_nCell+i32(4), _7_pTmp, _7_n, &_rc) 86464 _36: 86465 _dropCell(tls, _7_pLeaf, int32(_7_pLeaf.X14)-i32(1), _7_nCell, &_rc) 86466 if _rc == 0 { 86467 goto _37 86468 } 86469 86470 r0 = _rc 86471 return 86472 86473 _37: 86474 _30: 86475 _rc = _balance(tls, _pCur) 86476 if _rc != i32(0) || int32(_pCur.X14) <= _iCellDepth { 86477 goto _39 86478 } 86479 86480 _40: 86481 if int32(_pCur.X14) <= _iCellDepth { 86482 goto _41 86483 } 86484 86485 _releasePage(tls, *(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(postInc973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(64 /* X14 */))), int8(-1)))))) 86486 goto _40 86487 86488 _41: 86489 _rc = _balance(tls, _pCur) 86490 _39: 86491 if _rc != i32(0) { 86492 goto _42 86493 } 86494 86495 if _bSkipnext == 0 { 86496 goto _43 86497 } 86498 86499 func() int32 { 86500 if (_bPreserve != 0) && ((int32(_pCur.X14) == _iCellDepth) || ((_sqlite3Config.X6) == i32(0))) { 86501 return i32(0) 86502 } 86503 return func() int32 { 86504 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67363), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88492))) 86505 crt.X__builtin_abort(tls) 86506 return i32(0) 86507 }() 86508 }() 86509 func() int32 { 86510 if (_pPage == (*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14))))) || ((_sqlite3Config.X6) == i32(0)) { 86511 return i32(0) 86512 } 86513 return func() int32 { 86514 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67364), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88548))) 86515 crt.X__builtin_abort(tls) 86516 return i32(0) 86517 }() 86518 }() 86519 func() int32 { 86520 if ((int32(_pPage.X14) > i32(0)) || ((_sqlite3Config.X6) == i32(0))) && (_iCellIdx <= int32(_pPage.X14)) { 86521 return i32(0) 86522 } 86523 return func() int32 { 86524 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67365), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeDeleteØ00__func__Ø000))), unsafe.Pointer(str(88596))) 86525 crt.X__builtin_abort(tls) 86526 return i32(0) 86527 }() 86528 }() 86529 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(2)) 86530 if _iCellIdx < int32(_pPage.X14) { 86531 goto _55 86532 } 86533 86534 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(-1) 86535 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(76 /* X18 */))))) + 2*uintptr(_iCellDepth))) = uint16(int32(_pPage.X14) - i32(1)) 86536 goto _56 86537 86538 _55: 86539 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(56 /* X9 */))) = i32(1) 86540 _56: 86541 goto _57 86542 86543 _43: 86544 _rc = _moveToRoot(tls, _pCur) 86545 if _bPreserve == 0 { 86546 goto _58 86547 } 86548 86549 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(62 /* X12 */))) = uint8(i32(3)) 86550 _58: 86551 _57: 86552 _42: 86553 r0 = _rc 86554 return 86555 86556 } 86557 86558 var _sqlite3BtreeDeleteØ00__func__Ø000 [19]int8 // - 86559 86560 func init() { 86561 crt.Xstrncpy(nil, &_sqlite3BtreeDeleteØ00__func__Ø000[0], str(88656), 19) 86562 } 86563 86564 func _sqlite3VdbeSorterCompare(tls *crt.TLS, _pCsr *XVdbeCursor, _pVal *XMem, _nKeyCol int32, _pRes *int32) (r0 int32) { // sqlite3.c:88564:1 86565 var _pSorter *XVdbeSorter // sqlite3.c:88570:14 86566 _ = _pSorter 86567 var _r2 *XUnpackedRecord // sqlite3.c:88571:18 86568 _ = _r2 86569 var _pKeyInfo *XKeyInfo // sqlite3.c:88572:11 86570 _ = _pKeyInfo 86571 var _i int32 // sqlite3.c:88573:7 86572 _ = _i 86573 var _pKey unsafe.Pointer // sqlite3.c:88574:8 86574 _ = _pKey 86575 var _nKey int32 // sqlite3.c:88574:19 86576 _ = _nKey 86577 func() int32 { 86578 if int32(_pCsr.X0) == i32(1) { 86579 return i32(0) 86580 } 86581 return func() int32 { 86582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88576), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterCompareØ00__func__Ø000))), unsafe.Pointer(str(61056))) 86583 crt.X__builtin_abort(tls) 86584 return i32(0) 86585 }() 86586 }() 86587 _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) 86588 _r2 = (*XUnpackedRecord)(unsafe.Pointer(_pSorter.X8)) 86589 _pKeyInfo = (*XKeyInfo)(unsafe.Pointer(_pCsr.X15)) 86590 if _r2 != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 86591 goto _2 86592 } 86593 86594 _r2 = store7996831((**XUnpackedRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(32 /* X8 */))))), _sqlite3VdbeAllocUnpackedRecord(tls, _pKeyInfo)) 86595 if _r2 != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 86596 goto _3 86597 } 86598 86599 r0 = _sqlite3NomemError(tls, i32(88582)) 86600 return 86601 86602 _3: 86603 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_r2)) + uintptr(8 /* X2 */))) = uint16(_nKeyCol) 86604 _2: 86605 func() int32 { 86606 if int32(_r2.X2) == _nKeyCol { 86607 return i32(0) 86608 } 86609 return func() int32 { 86610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterCompareØ00__func__Ø000))), unsafe.Pointer(str(88676))) 86611 crt.X__builtin_abort(tls) 86612 return i32(0) 86613 }() 86614 }() 86615 _pKey = _vdbeSorterRowkey(tls, _pSorter, &_nKey) 86616 _sqlite3VdbeRecordUnpack(tls, _pKeyInfo, _nKey, _pKey, _r2) 86617 _i = i32(0) 86618 _6: 86619 if _i >= _nKeyCol { 86620 goto _9 86621 } 86622 86623 if (int32((*XMem)(unsafe.Pointer(uintptr(_r2.X1)+48*uintptr(_i))).X1) & i32(1)) == 0 { 86624 goto _10 86625 } 86626 86627 *_pRes = i32(-1) 86628 r0 = i32(0) 86629 return 86630 86631 _10: 86632 _i += 1 86633 goto _6 86634 86635 _9: 86636 *_pRes = _sqlite3VdbeRecordCompare(tls, _pVal.X4, (unsafe.Pointer)(_pVal.X5), _r2) 86637 r0 = i32(0) 86638 return 86639 86640 } 86641 86642 var _sqlite3VdbeSorterCompareØ00__func__Ø000 [25]int8 // - 86643 86644 func init() { 86645 crt.Xstrncpy(nil, &_sqlite3VdbeSorterCompareØ00__func__Ø000[0], str(88696), 25) 86646 } 86647 86648 func _vdbeSorterRowkey(tls *crt.TLS, _pSorter *XVdbeSorter, _pnKey *int32) (r0 unsafe.Pointer) { // sqlite3.c:88504:1 86649 var _pKey unsafe.Pointer // sqlite3.c:88508:8 86650 _ = _pKey 86651 var _1_pReader *XPmaReader // sqlite3.c:88510:15 86652 _ = _1_pReader 86653 if (_pSorter.X12) == 0 { 86654 goto _0 86655 } 86656 86657 if (_pSorter.X13) == 0 { 86658 goto _1 86659 } 86660 86661 _1_pReader = (*XPmaReader)(unsafe.Pointer(_pSorter.X4)) 86662 goto _2 86663 86664 _1: 86665 _1_pReader = (*XPmaReader)(unsafe.Pointer(uintptr((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)).X3) + 52*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)).X2)) + 4*uintptr(i32(1))))))) 86666 _2: 86667 *_pnKey = _1_pReader.X3 86668 _pKey = (unsafe.Pointer)(_1_pReader.X6) 86669 goto _3 86670 86671 _0: 86672 *_pnKey = (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X0)).X0 86673 _pKey = (unsafe.Pointer)((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)))) + uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(8)))))))))))) 86674 _3: 86675 r0 = _pKey 86676 return 86677 86678 } 86679 86680 func _sqlite3VdbeSorterRowkey(tls *crt.TLS, _pCsr *XVdbeCursor, _pOut *XMem) (r0 int32) { // sqlite3.c:88531:1 86681 var _pSorter *XVdbeSorter // sqlite3.c:88532:14 86682 _ = _pSorter 86683 var _pKey unsafe.Pointer // sqlite3.c:88533:8 86684 _ = _pKey 86685 var _nKey int32 // sqlite3.c:88533:19 86686 _ = _nKey 86687 func() int32 { 86688 if int32(_pCsr.X0) == i32(1) { 86689 return i32(0) 86690 } 86691 return func() int32 { 86692 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88535), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterRowkeyØ00__func__Ø000))), unsafe.Pointer(str(61056))) 86693 crt.X__builtin_abort(tls) 86694 return i32(0) 86695 }() 86696 }() 86697 _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) 86698 _pKey = _vdbeSorterRowkey(tls, _pSorter, &_nKey) 86699 if _sqlite3VdbeMemClearAndResize(tls, _pOut, _nKey) == 0 { 86700 goto _2 86701 } 86702 86703 r0 = _sqlite3NomemError(tls, i32(88539)) 86704 return 86705 86706 _2: 86707 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(12 /* X4 */))) = _nKey 86708 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) = uint16((int32(_pOut.X1) & i32(-49664)) | i32(16)) 86709 crt.Xmemcpy(tls, (unsafe.Pointer)(_pOut.X5), _pKey, uint32(_nKey)) 86710 r0 = i32(0) 86711 return 86712 86713 } 86714 86715 var _sqlite3VdbeSorterRowkeyØ00__func__Ø000 [24]int8 // - 86716 86717 func init() { 86718 crt.Xstrncpy(nil, &_sqlite3VdbeSorterRowkeyØ00__func__Ø000[0], str(88724), 24) 86719 } 86720 86721 func _sqlite3VdbeCursorRestore(tls *crt.TLS, _p *XVdbeCursor) (r0 int32) { // sqlite3.c:74421:1 86722 func() int32 { 86723 if int32(_p.X0) == i32(0) { 86724 return i32(0) 86725 } 86726 return func() int32 { 86727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(74422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCursorRestoreØ00__func__Ø000))), unsafe.Pointer(str(75984))) 86728 crt.X__builtin_abort(tls) 86729 return i32(0) 86730 }() 86731 }() 86732 if _sqlite3BtreeCursorHasMoved(tls, (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X14 */)))))))) == 0 { 86733 goto _2 86734 } 86735 86736 r0 = _handleMovedCursor(tls, _p) 86737 return 86738 86739 _2: 86740 r0 = i32(0) 86741 return 86742 86743 } 86744 86745 var _sqlite3VdbeCursorRestoreØ00__func__Ø000 [25]int8 // - 86746 86747 func init() { 86748 crt.Xstrncpy(nil, &_sqlite3VdbeCursorRestoreØ00__func__Ø000[0], str(88748), 25) 86749 } 86750 86751 func _sqlite3BtreeCursorIsValidNN(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:63303:1 86752 func() int32 { 86753 if _pCur != (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))) { 86754 return i32(0) 86755 } 86756 return func() int32 { 86757 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63304), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCursorIsValidNNØ00__func__Ø000))), unsafe.Pointer(str(79488))) 86758 crt.X__builtin_abort(tls) 86759 return i32(0) 86760 }() 86761 }() 86762 r0 = bool2int(int32(_pCur.X12) == i32(1)) 86763 return 86764 86765 } 86766 86767 var _sqlite3BtreeCursorIsValidNNØ00__func__Ø000 [28]int8 // - 86768 86769 func init() { 86770 crt.Xstrncpy(nil, &_sqlite3BtreeCursorIsValidNNØ00__func__Ø000[0], str(88776), 28) 86771 } 86772 86773 func _sqlite3BtreeFirst(tls *crt.TLS, _pCur *XBtCursor, _pRes *int32) (r0 int32) { // sqlite3.c:63998:1 86774 var _rc int32 // sqlite3.c:63999:7 86775 _ = _rc 86776 func() int32 { 86777 if _cursorOwnsBtShared(tls, _pCur) != 0 { 86778 return i32(0) 86779 } 86780 return func() int32 { 86781 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64001), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeFirstØ00__func__Ø000))), unsafe.Pointer(str(76036))) 86782 crt.X__builtin_abort(tls) 86783 return i32(0) 86784 }() 86785 }() 86786 func() int32 { 86787 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { 86788 return i32(0) 86789 } 86790 return func() int32 { 86791 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64002), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeFirstØ00__func__Ø000))), unsafe.Pointer(str(76064))) 86792 crt.X__builtin_abort(tls) 86793 return i32(0) 86794 }() 86795 }() 86796 _rc = _moveToRoot(tls, _pCur) 86797 if _rc != i32(0) { 86798 goto _4 86799 } 86800 86801 if int32(_pCur.X12) != i32(0) { 86802 goto _5 86803 } 86804 86805 func() int32 { 86806 if ((_pCur.X7) == uint32(i32(0))) || (int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) == i32(0)) { 86807 return i32(0) 86808 } 86809 return func() int32 { 86810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64006), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeFirstØ00__func__Ø000))), unsafe.Pointer(str(76468))) 86811 crt.X__builtin_abort(tls) 86812 return i32(0) 86813 }() 86814 }() 86815 *_pRes = i32(1) 86816 goto _9 86817 86818 _5: 86819 func() int32 { 86820 if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X14) > i32(0) { 86821 return i32(0) 86822 } 86823 return func() int32 { 86824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64009), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeFirstØ00__func__Ø000))), unsafe.Pointer(str(88804))) 86825 crt.X__builtin_abort(tls) 86826 return i32(0) 86827 }() 86828 }() 86829 *_pRes = i32(0) 86830 _rc = _moveToLeftmost(tls, _pCur) 86831 _9: 86832 _4: 86833 r0 = _rc 86834 return 86835 86836 } 86837 86838 var _sqlite3BtreeFirstØ00__func__Ø000 [18]int8 // - 86839 86840 func init() { 86841 crt.Xstrncpy(nil, &_sqlite3BtreeFirstØ00__func__Ø000[0], str(88840), 18) 86842 } 86843 86844 func _sqlite3BtreeRowCountEst(tls *crt.TLS, _pCur *XBtCursor) (r0 int64) { // sqlite3.c:64348:1 86845 var _n int64 // sqlite3.c:64349:7 86846 _ = _n 86847 var _i uint8 // sqlite3.c:64350:6 86848 _ = _i 86849 func() int32 { 86850 if _cursorOwnsBtShared(tls, _pCur) != 0 { 86851 return i32(0) 86852 } 86853 return func() int32 { 86854 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64352), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRowCountEstØ00__func__Ø000))), unsafe.Pointer(str(76036))) 86855 crt.X__builtin_abort(tls) 86856 return i32(0) 86857 }() 86858 }() 86859 func() int32 { 86860 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCur.X0)).X0)).X3))) != 0 { 86861 return i32(0) 86862 } 86863 return func() int32 { 86864 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64353), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRowCountEstØ00__func__Ø000))), unsafe.Pointer(str(76064))) 86865 crt.X__builtin_abort(tls) 86866 return i32(0) 86867 }() 86868 }() 86869 if func() int32 { 86870 if int32(_pCur.X12) != i32(1) { 86871 return func() int32 { 86872 func() int32 { 86873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64358), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRowCountEstØ00__func__Ø000))), unsafe.Pointer(str(5204))) 86874 crt.X__builtin_abort(tls) 86875 return i32(0) 86876 }() 86877 return i32(1) 86878 }() 86879 } 86880 return i32(0) 86881 }() == 0 { 86882 goto _6 86883 } 86884 86885 r0 = int64(i32(-1)) 86886 return 86887 86888 _6: 86889 if func() int32 { 86890 if int32((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCur.X14)))).X5) == i32(0) { 86891 return func() int32 { 86892 func() int32 { 86893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(64359), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeRowCountEstØ00__func__Ø000))), unsafe.Pointer(str(5204))) 86894 crt.X__builtin_abort(tls) 86895 return i32(0) 86896 }() 86897 return i32(1) 86898 }() 86899 } 86900 return i32(0) 86901 }() == 0 { 86902 goto _9 86903 } 86904 86905 r0 = int64(i32(-1)) 86906 return 86907 86908 _9: 86909 *func() *uint8 { _n = int64(i32(1)); return &_i }() = uint8(i32(0)) 86910 _10: 86911 if int32(_i) > int32(_pCur.X14) { 86912 goto _13 86913 } 86914 86915 { 86916 p := &_n 86917 *p = (*p) * int64((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur))+uintptr(116 /* X19 */))))) + 4*uintptr(_i)))).X14) 86918 sink967 = *p 86919 } 86920 _i += 1 86921 goto _10 86922 86923 _13: 86924 r0 = _n 86925 return 86926 86927 } 86928 86929 var _sqlite3BtreeRowCountEstØ00__func__Ø000 [24]int8 // - 86930 86931 func init() { 86932 crt.Xstrncpy(nil, &_sqlite3BtreeRowCountEstØ00__func__Ø000[0], str(88860), 24) 86933 } 86934 86935 func _sqlite3VdbeSorterRewind(tls *crt.TLS, _pCsr *XVdbeCursor, _pbEof *int32) (r0 int32) { // sqlite3.c:88419:1 86936 var _pSorter *XVdbeSorter // sqlite3.c:88420:14 86937 _ = _pSorter 86938 var _rc int32 // sqlite3.c:88421:7 86939 _ = _rc 86940 _rc = i32(0) 86941 func() int32 { 86942 if int32(_pCsr.X0) == i32(1) { 86943 return i32(0) 86944 } 86945 return func() int32 { 86946 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88423), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterRewindØ00__func__Ø000))), unsafe.Pointer(str(61056))) 86947 crt.X__builtin_abort(tls) 86948 return i32(0) 86949 }() 86950 }() 86951 _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) 86952 func() int32 { 86953 if _pSorter != nil { 86954 return i32(0) 86955 } 86956 return func() int32 { 86957 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88425), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterRewindØ00__func__Ø000))), unsafe.Pointer(str(88884))) 86958 crt.X__builtin_abort(tls) 86959 return i32(0) 86960 }() 86961 }() 86962 if int32(_pSorter.X12) != i32(0) { 86963 goto _4 86964 } 86965 86966 if (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)) == nil { 86967 goto _5 86968 } 86969 86970 *_pbEof = i32(0) 86971 _rc = _vdbeSorterSort(tls, (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */)))))+60*uintptr(i32(0)))), (*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */)))) 86972 goto _6 86973 86974 _5: 86975 *_pbEof = i32(1) 86976 _6: 86977 r0 = _rc 86978 return 86979 86980 _4: 86981 func() int32 { 86982 if (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)) != nil { 86983 return i32(0) 86984 } 86985 return func() int32 { 86986 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88444), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterRewindØ00__func__Ø000))), unsafe.Pointer(str(88892))) 86987 crt.X__builtin_abort(tls) 86988 return i32(0) 86989 }() 86990 }() 86991 _rc = _vdbeSorterFlushPMA(tls, _pSorter) 86992 _rc = _vdbeSorterJoinAll(tls, _pSorter, _rc) 86993 func() int32 { 86994 if (*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0)))) { 86995 return i32(0) 86996 } 86997 return func() int32 { 86998 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88454), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterRewindØ00__func__Ø000))), unsafe.Pointer(str(88912))) 86999 crt.X__builtin_abort(tls) 87000 return i32(0) 87001 }() 87002 }() 87003 if _rc != i32(0) { 87004 goto _11 87005 } 87006 87007 _rc = _vdbeSorterSetupMerge(tls, _pSorter) 87008 *_pbEof = i32(0) 87009 _11: 87010 r0 = _rc 87011 return 87012 87013 } 87014 87015 var _sqlite3VdbeSorterRewindØ00__func__Ø000 [24]int8 // - 87016 87017 func init() { 87018 crt.Xstrncpy(nil, &_sqlite3VdbeSorterRewindØ00__func__Ø000[0], str(88932), 24) 87019 } 87020 87021 func _vdbeSorterSort(tls *crt.TLS, _pTask *XSortSubtask, _pList *T8228881) (r0 int32) { // sqlite3.c:87247:1 87022 var _i int32 // sqlite3.c:87248:7 87023 _ = _i 87024 var _aSlot **XSorterRecord // sqlite3.c:87249:16 87025 _ = _aSlot 87026 var _p *XSorterRecord // sqlite3.c:87250:16 87027 _ = _p 87028 var _rc int32 // sqlite3.c:87251:7 87029 _ = _rc 87030 var _2_pNext *XSorterRecord // sqlite3.c:87265:18 87031 _ = _2_pNext 87032 _rc = _vdbeSortAllocUnpacked(tls, _pTask) 87033 if _rc == i32(0) { 87034 goto _0 87035 } 87036 87037 r0 = _rc 87038 return 87039 87040 _0: 87041 _p = (*XSorterRecord)(unsafe.Pointer(_pList.X0)) 87042 *(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(32 /* X6 */))))) = _vdbeSorterGetCompare(tls, (*XVdbeSorter)(unsafe.Pointer(_pTask.X2))) 87043 _aSlot = (**XSorterRecord)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(256))))) 87044 if _aSlot != nil { 87045 goto _1 87046 } 87047 87048 r0 = _sqlite3NomemError(tls, i32(87261)) 87049 return 87050 87051 _1: 87052 _2: 87053 if _p == nil { 87054 goto _3 87055 } 87056 87057 if (_pList.X1) == nil { 87058 goto _4 87059 } 87060 87061 if (*uint8)(unsafe.Pointer(_p)) != (_pList.X1) { 87062 goto _5 87063 } 87064 87065 _2_pNext = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 87066 goto _6 87067 87068 _5: 87069 func() int32 { 87070 if (*(*int32)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */)))))) < _sqlite3MallocSize(tls, (unsafe.Pointer)(_pList.X1)) { 87071 return i32(0) 87072 } 87073 return func() int32 { 87074 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87270), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterSortØ00__func__Ø000))), unsafe.Pointer(str(88956))) 87075 crt.X__builtin_abort(tls) 87076 return i32(0) 87077 }() 87078 }() 87079 _2_pNext = (*XSorterRecord)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList.X1)) + 1*uintptr(*(*int32)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */)))))))))) 87080 _6: 87081 goto _9 87082 87083 _4: 87084 _2_pNext = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))))) 87085 _9: 87086 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 87087 _i = i32(0) 87088 _10: 87089 if (*(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i)))) == nil { 87090 goto _13 87091 } 87092 87093 _p = _vdbeSorterMerge(tls, _pTask, _p, *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i)))) 87094 *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 87095 _i += 1 87096 goto _10 87097 87098 _13: 87099 *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i))) = _p 87100 _p = _2_pNext 87101 goto _2 87102 87103 _3: 87104 _p = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 87105 _i = i32(0) 87106 _14: 87107 if _i >= i32(64) { 87108 goto _17 87109 } 87110 87111 if (*(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i)))) != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { 87112 goto _18 87113 } 87114 87115 goto _15 87116 87117 _18: 87118 _p = func() *XSorterRecord { 87119 if _p != nil { 87120 return _vdbeSorterMerge(tls, _pTask, _p, *(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i)))) 87121 } 87122 return (*(**XSorterRecord)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSlot)) + 4*uintptr(_i)))) 87123 }() 87124 _15: 87125 _i += 1 87126 goto _14 87127 87128 _17: 87129 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))))) = _p 87130 Xsqlite3_free(tls, (unsafe.Pointer)(_aSlot)) 87131 func() int32 { 87132 if (int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) == i32(0)) || (int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) == i32(7)) { 87133 return i32(0) 87134 } 87135 return func() int32 { 87136 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87294), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterSortØ00__func__Ø000))), unsafe.Pointer(str(89004))) 87137 crt.X__builtin_abort(tls) 87138 return i32(0) 87139 }() 87140 }() 87141 r0 = int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) 87142 return 87143 87144 } 87145 87146 func _vdbeSortAllocUnpacked(tls *crt.TLS, _pTask *XSortSubtask) (r0 int32) { // sqlite3.c:87177:1 87147 if (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 87148 goto _0 87149 } 87150 87151 *(**XUnpackedRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(12 /* X3 */))))) = _sqlite3VdbeAllocUnpackedRecord(tls, (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7))) 87152 if (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 87153 goto _1 87154 } 87155 87156 r0 = _sqlite3NomemError(tls, i32(87180)) 87157 return 87158 87159 _1: 87160 *(*uint16)(unsafe.Pointer(uintptr(_pTask.X3) + uintptr(8 /* X2 */))) = (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X2 87161 *(*uint8)(unsafe.Pointer(uintptr(_pTask.X3) + uintptr(11 /* X4 */))) = uint8(i32(0)) 87162 _0: 87163 r0 = i32(0) 87164 return 87165 87166 } 87167 87168 func _vdbeSorterGetCompare(tls *crt.TLS, _p *XVdbeSorter) (r0 func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32) { // sqlite3.c:87233:1 87169 if int32(_p.X16) != i32(1) { 87170 goto _0 87171 } 87172 87173 r0 = _vdbeSorterCompareInt 87174 return 87175 87176 _0: 87177 if int32(_p.X16) != i32(2) { 87178 goto _2 87179 } 87180 87181 r0 = _vdbeSorterCompareText 87182 return 87183 87184 _2: 87185 r0 = _vdbeSorterCompare 87186 return 87187 87188 } 87189 87190 func _vdbeSorterCompareInt(tls *crt.TLS, _pTask *XSortSubtask, _pbKey2Cached *int32, _pKey1 unsafe.Pointer, _nKey1 int32, _pKey2 unsafe.Pointer, _nKey2 int32) (r0 int32) { // sqlite3.c:86693:1 87191 var _p1 *uint8 // sqlite3.c:86699:12 87192 _ = _p1 87193 var _p2 *uint8 // sqlite3.c:86700:12 87194 _ = _p2 87195 var _s1 int32 // sqlite3.c:86701:13 87196 _ = _s1 87197 var _s2 int32 // sqlite3.c:86702:13 87198 _ = _s2 87199 var _v1 *uint8 // sqlite3.c:86703:12 87200 _ = _v1 87201 var _v2 *uint8 // sqlite3.c:86704:12 87202 _ = _v2 87203 var _res int32 // sqlite3.c:86705:7 87204 _ = _res 87205 var _5_i int32 // sqlite3.c:86720:13 87206 _ = _5_i 87207 _p1 = (*uint8)(unsafe.Pointer(_pKey1)) 87208 _p2 = (*uint8)(unsafe.Pointer(_pKey2)) 87209 _s1 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(1))))) 87210 _s2 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(1))))) 87211 _v1 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(0))))))) 87212 _v2 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(0))))))) 87213 func() int32 { 87214 if (((_s1 > i32(0)) && (_s1 < i32(7))) || (_s1 == i32(8))) || (_s1 == i32(9)) { 87215 return i32(0) 87216 } 87217 return func() int32 { 87218 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86707), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterCompareIntØ00__func__Ø000))), unsafe.Pointer(str(89084))) 87219 crt.X__builtin_abort(tls) 87220 return i32(0) 87221 }() 87222 }() 87223 func() int32 { 87224 if (((_s2 > i32(0)) && (_s2 < i32(7))) || (_s2 == i32(8))) || (_s2 == i32(9)) { 87225 return i32(0) 87226 } 87227 return func() int32 { 87228 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86708), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterCompareIntØ00__func__Ø000))), unsafe.Pointer(str(89120))) 87229 crt.X__builtin_abort(tls) 87230 return i32(0) 87231 }() 87232 }() 87233 if _s1 <= i32(7) || _s2 <= i32(7) { 87234 goto _11 87235 } 87236 87237 _res = _s1 - _s2 87238 goto _12 87239 87240 _11: 87241 if _s1 != _s2 { 87242 goto _13 87243 } 87244 87245 if ((int32(*_v1) ^ int32(*_v2)) & i32(128)) == 0 { 87246 goto _14 87247 } 87248 87249 _res = func() int32 { 87250 if (int32(*_v1) & i32(128)) != 0 { 87251 return i32(-1) 87252 } 87253 return i32(1) 87254 }() 87255 goto _17 87256 87257 _14: 87258 _res = i32(0) 87259 _5_i = i32(0) 87260 _18: 87261 if _5_i >= int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_vdbeSorterCompareIntØ00aLenØ001)) + 1*uintptr(_s1)))) { 87262 goto _21 87263 } 87264 87265 if store961(&_res, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v1)) + 1*uintptr(_5_i))))-int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v2)) + 1*uintptr(_5_i))))) == 0 { 87266 goto _22 87267 } 87268 87269 goto _21 87270 87271 _22: 87272 _5_i += 1 87273 goto _18 87274 87275 _21: 87276 _17: 87277 goto _23 87278 87279 _13: 87280 if _s2 <= i32(7) { 87281 goto _24 87282 } 87283 87284 _res = i32(1) 87285 goto _25 87286 87287 _24: 87288 if _s1 <= i32(7) { 87289 goto _26 87290 } 87291 87292 _res = i32(-1) 87293 goto _27 87294 87295 _26: 87296 _res = _s1 - _s2 87297 _27: 87298 _25: 87299 func() int32 { 87300 if _res != i32(0) { 87301 return i32(0) 87302 } 87303 return func() int32 { 87304 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86734), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterCompareIntØ00__func__Ø000))), unsafe.Pointer(str(70252))) 87305 crt.X__builtin_abort(tls) 87306 return i32(0) 87307 }() 87308 }() 87309 if _res <= i32(0) { 87310 goto _30 87311 } 87312 87313 if (int32(*_v1) & i32(128)) == 0 { 87314 goto _31 87315 } 87316 87317 _res = i32(-1) 87318 _31: 87319 goto _32 87320 87321 _30: 87322 if (int32(*_v2) & i32(128)) == 0 { 87323 goto _33 87324 } 87325 87326 _res = i32(1) 87327 _33: 87328 _32: 87329 _23: 87330 _12: 87331 if _res != i32(0) { 87332 goto _34 87333 } 87334 87335 if int32((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X2) <= i32(1) { 87336 goto _35 87337 } 87338 87339 _res = _vdbeSorterCompareTail(tls, _pTask, _pbKey2Cached, _pKey1, _nKey1, _pKey2, _nKey2) 87340 _35: 87341 goto _36 87342 87343 _34: 87344 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X5)) + 1*uintptr(i32(0))))) == 0 { 87345 goto _37 87346 } 87347 87348 _res = _res * i32(-1) 87349 _37: 87350 _36: 87351 r0 = _res 87352 return 87353 87354 } 87355 87356 var _vdbeSorterCompareIntØ00__func__Ø000 [21]int8 // - 87357 87358 func init() { 87359 crt.Xstrncpy(nil, &_vdbeSorterCompareIntØ00__func__Ø000[0], str(89156), 21) 87360 } 87361 87362 var _vdbeSorterCompareIntØ00aLenØ001 [7]uint8 // sqlite3.c:86719:25 87363 87364 func init() { 87365 _vdbeSorterCompareIntØ00aLenØ001 = [7]uint8{0, 1, 2, 3, 4, 6, 8} 87366 } 87367 87368 func _vdbeSorterCompareTail(tls *crt.TLS, _pTask *XSortSubtask, _pbKey2Cached *int32, _pKey1 unsafe.Pointer, _nKey1 int32, _pKey2 unsafe.Pointer, _nKey2 int32) (r0 int32) { // sqlite3.c:86606:1 87369 var _r2 *XUnpackedRecord // sqlite3.c:86612:18 87370 _ = _r2 87371 _r2 = (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) 87372 if (*_pbKey2Cached) != i32(0) { 87373 goto _0 87374 } 87375 87376 _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)), _nKey2, _pKey2, _r2) 87377 *_pbKey2Cached = i32(1) 87378 _0: 87379 r0 = _sqlite3VdbeRecordCompareWithSkip(tls, _nKey1, _pKey1, _r2, i32(1)) 87380 return 87381 87382 } 87383 87384 func _vdbeSorterCompareText(tls *crt.TLS, _pTask *XSortSubtask, _pbKey2Cached *int32, _pKey1 unsafe.Pointer, _nKey1 int32, _pKey2 unsafe.Pointer, _nKey2 int32) (r0 int32) { // sqlite3.c:86652:1 87385 var _p1 *uint8 // sqlite3.c:86658:12 87386 _ = _p1 87387 var _p2 *uint8 // sqlite3.c:86659:12 87388 _ = _p2 87389 var _v1 *uint8 // sqlite3.c:86660:12 87390 _ = _v1 87391 var _v2 *uint8 // sqlite3.c:86661:12 87392 _ = _v2 87393 var _n1 int32 // sqlite3.c:86663:7 87394 _ = _n1 87395 var _n2 int32 // sqlite3.c:86664:7 87396 _ = _n2 87397 var _res int32 // sqlite3.c:86665:7 87398 _ = _res 87399 _p1 = (*uint8)(unsafe.Pointer(_pKey1)) 87400 _p2 = (*uint8)(unsafe.Pointer(_pKey2)) 87401 _v1 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(0))))))) 87402 _v2 = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(0))))))) 87403 func() int32 { 87404 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(1))))) < int32(u8(128)) { 87405 return func() int32 { 87406 _n1 = int32(uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + 1*uintptr(i32(1)))))) 87407 return i32(1) 87408 }() 87409 } 87410 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1))+1*uintptr(i32(1)))), (*uint32)(unsafe.Pointer(&_n1)))) 87411 }() 87412 _n1 = (_n1 - i32(13)) / i32(2) 87413 func() int32 { 87414 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(1))))) < int32(u8(128)) { 87415 return func() int32 { 87416 _n2 = int32(uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + 1*uintptr(i32(1)))))) 87417 return i32(1) 87418 }() 87419 } 87420 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2))+1*uintptr(i32(1)))), (*uint32)(unsafe.Pointer(&_n2)))) 87421 }() 87422 _n2 = (_n2 - i32(13)) / i32(2) 87423 _res = crt.Xmemcmp(tls, (unsafe.Pointer)(_v1), (unsafe.Pointer)(_v2), uint32(func() int32 { 87424 if _n1 < _n2 { 87425 return _n1 87426 } 87427 return _n2 87428 }())) 87429 if _res != i32(0) { 87430 goto _6 87431 } 87432 87433 _res = _n1 - _n2 87434 _6: 87435 if _res != i32(0) { 87436 goto _7 87437 } 87438 87439 if int32((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X2) <= i32(1) { 87440 goto _8 87441 } 87442 87443 _res = _vdbeSorterCompareTail(tls, _pTask, _pbKey2Cached, _pKey1, _nKey1, _pKey2, _nKey2) 87444 _8: 87445 goto _9 87446 87447 _7: 87448 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)).X5)) + 1*uintptr(i32(0))))) == 0 { 87449 goto _10 87450 } 87451 87452 _res = _res * i32(-1) 87453 _10: 87454 _9: 87455 r0 = _res 87456 return 87457 87458 } 87459 87460 func _vdbeSorterCompare(tls *crt.TLS, _pTask *XSortSubtask, _pbKey2Cached *int32, _pKey1 unsafe.Pointer, _nKey1 int32, _pKey2 unsafe.Pointer, _nKey2 int32) (r0 int32) { // sqlite3.c:86633:1 87461 var _r2 *XUnpackedRecord // sqlite3.c:86639:18 87462 _ = _r2 87463 _r2 = (*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)) 87464 if (*_pbKey2Cached) != 0 { 87465 goto _0 87466 } 87467 87468 _sqlite3VdbeRecordUnpack(tls, (*XKeyInfo)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X7)), _nKey2, _pKey2, _r2) 87469 *_pbKey2Cached = i32(1) 87470 _0: 87471 r0 = _sqlite3VdbeRecordCompare(tls, _nKey1, _pKey1, _r2) 87472 return 87473 87474 } 87475 87476 var _vdbeSorterSortØ00__func__Ø000 [15]int8 // - 87477 87478 func init() { 87479 crt.Xstrncpy(nil, &_vdbeSorterSortØ00__func__Ø000[0], str(89180), 15) 87480 } 87481 87482 func _vdbeSorterMerge(tls *crt.TLS, _pTask *XSortSubtask, _p1 *XSorterRecord, _p2 *XSorterRecord) (r0 *XSorterRecord) { // sqlite3.c:87191:1 87483 var _pFinal *XSorterRecord // sqlite3.c:87196:16 87484 _ = _pFinal 87485 var _pp **XSorterRecord // sqlite3.c:87197:16 87486 _ = _pp 87487 var _bCached int32 // sqlite3.c:87198:7 87488 _ = _bCached 87489 var _1_res int32 // sqlite3.c:87202:9 87490 _ = _1_res 87491 _pFinal = nil 87492 _pp = &_pFinal 87493 _bCached = i32(0) 87494 func() int32 { 87495 if (_p1 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) && (_p2 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) { 87496 return i32(0) 87497 } 87498 return func() int32 { 87499 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87200), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterMergeØ00__func__Ø000))), unsafe.Pointer(str(89196))) 87500 crt.X__builtin_abort(tls) 87501 return i32(0) 87502 }() 87503 }() 87504 _3: 87505 _1_res = (*(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 87506 f func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 87507 }{(_pTask.X6)})))(tls, _pTask, &_bCached, (unsafe.Pointer)((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer(_p1))+uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(8)))))))))))), _p1.X0, (unsafe.Pointer)((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer(_p2))+uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(8)))))))))))), _p2.X0) 87508 if _1_res > i32(0) { 87509 goto _6 87510 } 87511 87512 *_pp = _p1 87513 _pp = (**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + uintptr(4 /* X1 */))))))) 87514 _p1 = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p1)) + uintptr(4 /* X1 */))))))) 87515 if _p1 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { 87516 goto _7 87517 } 87518 87519 *_pp = _p2 87520 goto _5 87521 87522 _7: 87523 goto _8 87524 87525 _6: 87526 *_pp = _p2 87527 _pp = (**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + uintptr(4 /* X1 */))))))) 87528 _p2 = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p2)) + uintptr(4 /* X1 */))))))) 87529 _bCached = i32(0) 87530 if _p2 != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { 87531 goto _9 87532 } 87533 87534 *_pp = _p1 87535 goto _5 87536 87537 _9: 87538 _8: 87539 goto _3 87540 87541 _5: 87542 r0 = _pFinal 87543 return 87544 87545 } 87546 87547 var _vdbeSorterMergeØ00__func__Ø000 [16]int8 // - 87548 87549 func init() { 87550 crt.Xstrncpy(nil, &_vdbeSorterMergeØ00__func__Ø000[0], str(89212), 16) 87551 } 87552 87553 func _vdbeSorterFlushPMA(tls *crt.TLS, _pSorter *XVdbeSorter) (r0 int32) { // sqlite3.c:87547:1 87554 var _rc int32 // sqlite3.c:87552:7 87555 _ = _rc 87556 var _i int32 // sqlite3.c:87553:7 87557 _ = _i 87558 var _pTask *XSortSubtask // sqlite3.c:87554:15 87559 _ = _pTask 87560 var _nWorker int32 // sqlite3.c:87555:7 87561 _ = _nWorker 87562 var _1_iTest int32 // sqlite3.c:87570:9 87563 _ = _1_iTest 87564 var _5_aMem *uint8 // sqlite3.c:87584:10 87565 _ = _5_aMem 87566 var _5_pCtx unsafe.Pointer // sqlite3.c:87585:12 87567 _ = _5_pCtx 87568 _rc = i32(0) 87569 _pTask = nil 87570 _nWorker = int32(_pSorter.X15) - i32(1) 87571 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(56 /* X12 */))) = uint8(i32(1)) 87572 _i = i32(0) 87573 _0: 87574 if _i >= _nWorker { 87575 goto _3 87576 } 87577 87578 _1_iTest = ((int32(_pSorter.X14) + _i) + i32(1)) % _nWorker 87579 _pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(_1_iTest))) 87580 if (_pTask.X1) == 0 { 87581 goto _4 87582 } 87583 87584 _rc = _vdbeSorterJoinThread(tls, _pTask) 87585 _4: 87586 if _rc == i32(0) && (*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) != (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { 87587 goto _6 87588 } 87589 87590 goto _3 87591 87592 _6: 87593 _i += 1 87594 goto _0 87595 87596 _3: 87597 if _rc != i32(0) { 87598 goto _7 87599 } 87600 87601 if _i != _nWorker { 87602 goto _8 87603 } 87604 87605 _rc = _vdbeSorterListToPMA(tls, (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */)))))+60*uintptr(_nWorker))), (*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */)))) 87606 goto _9 87607 87608 _8: 87609 _5_aMem = (*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(16 /* X4 */))).X1 87610 _5_pCtx = (unsafe.Pointer)(_pTask) 87611 func() int32 { 87612 if ((*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) == (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0))))) && ((_pTask.X1) == i32(0)) { 87613 return i32(0) 87614 } 87615 return func() int32 { 87616 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87587), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterFlushPMAØ00__func__Ø000))), unsafe.Pointer(str(89228))) 87617 crt.X__builtin_abort(tls) 87618 return i32(0) 87619 }() 87620 }() 87621 func() int32 { 87622 if (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(16 /* X4 */))).X0)) == (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { 87623 return i32(0) 87624 } 87625 return func() int32 { 87626 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87588), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterFlushPMAØ00__func__Ø000))), unsafe.Pointer(str(89268))) 87627 crt.X__builtin_abort(tls) 87628 return i32(0) 87629 }() 87630 }() 87631 func() int32 { 87632 if (((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(16 /* X4 */))).X1) == (*uint8)(unsafe.Pointer(uintptr(i32(0))))) || (((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0))))) { 87633 return i32(0) 87634 } 87635 return func() int32 { 87636 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87589), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterFlushPMAØ00__func__Ø000))), unsafe.Pointer(str(89292))) 87637 crt.X__builtin_abort(tls) 87638 return i32(0) 87639 }() 87640 }() 87641 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(58 /* X14 */))) = uint8(int32((uintptr(unsafe.Pointer(_pTask)) - uintptr(unsafe.Pointer((*XSortSubtask)(unsafe.Pointer((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */)))))))) / 60)) 87642 *(*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(16 /* X4 */))) = _pSorter.X9 87643 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 87644 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(8 /* X2 */))) = i32(0) 87645 if _5_aMem == nil { 87646 goto _18 87647 } 87648 87649 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(4 /* X1 */))) = _5_aMem 87650 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(52 /* X11 */))) = _sqlite3MallocSize(tls, (unsafe.Pointer)(_5_aMem)) 87651 goto _19 87652 87653 _18: 87654 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) == nil { 87655 goto _20 87656 } 87657 87658 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(4 /* X1 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_pSorter.X11)))) 87659 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) != nil { 87660 goto _21 87661 } 87662 87663 r0 = _sqlite3NomemError(tls, i32(87600)) 87664 return 87665 87666 _21: 87667 _20: 87668 _19: 87669 _rc = _vdbeSorterCreateThread(tls, _pTask, _vdbeSorterFlushThread, _5_pCtx) 87670 _9: 87671 _7: 87672 r0 = _rc 87673 return 87674 87675 } 87676 87677 func _vdbeSorterListToPMA(tls *crt.TLS, _pTask *XSortSubtask, _pList *T8228881) (r0 int32) { // sqlite3.c:87398:1 87678 var _db *Xsqlite3 // sqlite3.c:87399:11 87679 _ = _db 87680 var _rc int32 // sqlite3.c:87400:7 87681 _ = _rc 87682 var _writer XPmaWriter // sqlite3.c:87401:13 87683 _ = _writer 87684 var _iSz int64 // sqlite3.c:87406:7 87685 _ = _iSz 87686 var _4_p *XSorterRecord // sqlite3.c:87432:18 87687 _ = _4_p 87688 var _4_pNext *XSorterRecord // sqlite3.c:87433:18 87689 _ = _4_pNext 87690 _db = (*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X6)) 87691 _rc = i32(0) 87692 _iSz = int64((_pList.X2)+_sqlite3VarintLen(tls, uint64(_pList.X2))) + ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(36 /* X7 */))).X1) 87693 crt.Xmemset(tls, (unsafe.Pointer)(&_writer), i32(0), u32(32)) 87694 func() int32 { 87695 if (_pList.X2) > i32(0) { 87696 return i32(0) 87697 } 87698 return func() int32 { 87699 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87411), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterListToPMAØ00__func__Ø000))), unsafe.Pointer(str(89344))) 87700 crt.X__builtin_abort(tls) 87701 return i32(0) 87702 }() 87703 }() 87704 if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X0)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 87705 goto _2 87706 } 87707 87708 _rc = _vdbeSorterOpenTempFile(tls, _db, int64(i32(0)), (**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */)))))+uintptr(0 /* X0 */)))))) 87709 func() int32 { 87710 if (_rc != i32(0)) || ((*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X0)) != nil) { 87711 return i32(0) 87712 } 87713 return func() int32 { 87714 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87416), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterListToPMAØ00__func__Ø000))), unsafe.Pointer(str(89360))) 87715 crt.X__builtin_abort(tls) 87716 return i32(0) 87717 }() 87718 }() 87719 func() int32 { 87720 if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(36 /* X7 */))).X1) == int64(i32(0)) { 87721 return i32(0) 87722 } 87723 return func() int32 { 87724 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87417), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterListToPMAØ00__func__Ø000))), unsafe.Pointer(str(89396))) 87725 crt.X__builtin_abort(tls) 87726 return i32(0) 87727 }() 87728 }() 87729 func() int32 { 87730 if (_pTask.X5) == i32(0) { 87731 return i32(0) 87732 } 87733 return func() int32 { 87734 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87418), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterListToPMAØ00__func__Ø000))), unsafe.Pointer(str(89416))) 87735 crt.X__builtin_abort(tls) 87736 return i32(0) 87737 }() 87738 }() 87739 _2: 87740 if _rc != i32(0) { 87741 goto _10 87742 } 87743 87744 _vdbeSorterExtendFile(tls, _db, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X0)), (((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X1)+int64(_pList.X2))+int64(i32(9))) 87745 _10: 87746 if _rc != i32(0) { 87747 goto _11 87748 } 87749 87750 _rc = _vdbeSorterSort(tls, _pTask, _pList) 87751 _11: 87752 if _rc != i32(0) { 87753 goto _12 87754 } 87755 87756 _4_pNext = nil 87757 _vdbePmaWriterInit(tls, (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X0)), &_writer, (*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X3, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))).X1) 87758 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(28 /* X5 */))) += 1 87759 _vdbePmaWriteVarint(tls, &_writer, uint64(_pList.X2)) 87760 _4_p = (*XSorterRecord)(unsafe.Pointer(_pList.X0)) 87761 _13: 87762 if _4_p == nil { 87763 goto _16 87764 } 87765 87766 _4_pNext = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_p)) + uintptr(4 /* X1 */))))))) 87767 _vdbePmaWriteVarint(tls, &_writer, uint64(_4_p.X0)) 87768 _vdbePmaWriteBlob(tls, &_writer, (*uint8)(unsafe.Pointer((unsafe.Pointer)((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer(_4_p))+uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(8)))))))))))))), _4_p.X0) 87769 if (_pList.X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 87770 goto _17 87771 } 87772 87773 Xsqlite3_free(tls, (unsafe.Pointer)(_4_p)) 87774 _17: 87775 _4_p = _4_pNext 87776 goto _13 87777 87778 _16: 87779 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))))) = _4_p 87780 _rc = _vdbePmaWriterFinish(tls, &_writer, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */)))))+uintptr(4 /* X1 */)))) 87781 _12: 87782 func() int32 { 87783 if (_rc != i32(0)) || ((*XSorterRecord)(unsafe.Pointer(_pList.X0)) == (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) { 87784 return i32(0) 87785 } 87786 return func() int32 { 87787 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87450), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterListToPMAØ00__func__Ø000))), unsafe.Pointer(str(89432))) 87788 crt.X__builtin_abort(tls) 87789 return i32(0) 87790 }() 87791 }() 87792 func() int32 { 87793 if (_rc != i32(0)) || (((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(36 /* X7 */))).X1) == _iSz) { 87794 return i32(0) 87795 } 87796 return func() int32 { 87797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87451), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterListToPMAØ00__func__Ø000))), unsafe.Pointer(str(89468))) 87798 crt.X__builtin_abort(tls) 87799 return i32(0) 87800 }() 87801 }() 87802 r0 = _rc 87803 return 87804 87805 } 87806 87807 var _vdbeSorterListToPMAØ00__func__Ø000 [20]int8 // - 87808 87809 func init() { 87810 crt.Xstrncpy(nil, &_vdbeSorterListToPMAØ00__func__Ø000[0], str(89508), 20) 87811 } 87812 87813 func _vdbeSorterOpenTempFile(tls *crt.TLS, _db *Xsqlite3, _nExtend int64, _ppFd **Xsqlite3_file) (r0 int32) { // sqlite3.c:87150:1 87814 var _rc int32 // sqlite3.c:87155:7 87815 _ = _rc 87816 var _1_max int64 // sqlite3.c:87163:9 87817 _ = _1_max 87818 if _sqlite3FaultSim(tls, i32(202)) == 0 { 87819 goto _0 87820 } 87821 87822 r0 = i32(3338) 87823 return 87824 87825 _0: 87826 _rc = _sqlite3OsOpenMalloc(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _ppFd, i32(4126), &_rc) 87827 if _rc != i32(0) { 87828 goto _1 87829 } 87830 87831 _1_max = i64(2147418112) 87832 _sqlite3OsFileControlHint(tls, *_ppFd, i32(18), (unsafe.Pointer)(&_1_max)) 87833 if _nExtend <= int64(i32(0)) { 87834 goto _2 87835 } 87836 87837 _vdbeSorterExtendFile(tls, _db, *_ppFd, _nExtend) 87838 _2: 87839 _1: 87840 r0 = _rc 87841 return 87842 87843 } 87844 87845 func _vdbeSorterExtendFile(tls *crt.TLS, _db *Xsqlite3, _pFd *Xsqlite3_file, _nByte int64) { // sqlite3.c:87131:1 87846 var _1_p unsafe.Pointer // sqlite3.c:87133:10 87847 _ = _1_p 87848 var _1_chunksize int32 // sqlite3.c:87134:9 87849 _ = _1_chunksize 87850 if _nByte > int64(_db.X32) || ((*Xsqlite3_io_methods)(unsafe.Pointer(_pFd.X0)).X0) < i32(3) { 87851 goto _1 87852 } 87853 87854 _1_p = nil 87855 _1_chunksize = i32(4096) 87856 _sqlite3OsFileControlHint(tls, _pFd, i32(6), (unsafe.Pointer)(&_1_chunksize)) 87857 _sqlite3OsFileControlHint(tls, _pFd, i32(5), (unsafe.Pointer)(&_nByte)) 87858 _sqlite3OsFetch(tls, _pFd, int64(i32(0)), int32(_nByte), &_1_p) 87859 _sqlite3OsUnfetch(tls, _pFd, int64(i32(0)), _1_p) 87860 _1: 87861 return 87862 87863 } 87864 87865 func _vdbePmaWriterInit(tls *crt.TLS, _pFd *Xsqlite3_file, _p *XPmaWriter, _nBuf int32, _iStart int64) { // sqlite3.c:87303:1 87866 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(32)) 87867 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_nBuf)))) 87868 if (_p.X1) != nil { 87869 goto _0 87870 } 87871 87872 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _sqlite3NomemError(tls, i32(87312)) 87873 goto _1 87874 87875 _0: 87876 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))), int32(_iStart%int64(_nBuf))) 87877 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = _iStart - int64(_p.X3) 87878 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _nBuf 87879 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X6 */))))) = _pFd 87880 _1: 87881 return 87882 87883 } 87884 87885 func _vdbePmaWriteVarint(tls *crt.TLS, _p *XPmaWriter, _iVal uint64) { // sqlite3.c:87377:1 87886 var _nByte int32 // sqlite3.c:87378:7 87887 _ = _nByte 87888 var _aByte [10]uint8 // sqlite3.c:87379:6 87889 _ = _aByte 87890 _nByte = _sqlite3PutVarint(tls, (*uint8)(unsafe.Pointer(&_aByte)), _iVal) 87891 _vdbePmaWriteBlob(tls, _p, (*uint8)(unsafe.Pointer(&_aByte)), _nByte) 87892 return 87893 87894 } 87895 87896 func _vdbePmaWriteBlob(tls *crt.TLS, _p *XPmaWriter, _pData *uint8, _nData int32) { // sqlite3.c:87325:1 87897 var _nRem int32 // sqlite3.c:87326:7 87898 _ = _nRem 87899 var _1_nCopy int32 // sqlite3.c:87328:9 87900 _ = _1_nCopy 87901 _nRem = _nData 87902 _0: 87903 if _nRem <= i32(0) || (_p.X0) != i32(0) { 87904 goto _1 87905 } 87906 87907 _1_nCopy = _nRem 87908 if _1_nCopy <= ((_p.X2) - (_p.X4)) { 87909 goto _3 87910 } 87911 87912 _1_nCopy = (_p.X2) - (_p.X4) 87913 _3: 87914 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1))+1*uintptr(_p.X4)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pData))+1*uintptr(_nData-_nRem)))), uint32(_1_nCopy)) 87915 { 87916 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) 87917 *p = (*p) + _1_nCopy 87918 sink961 = *p 87919 } 87920 if (_p.X4) != (_p.X2) { 87921 goto _4 87922 } 87923 87924 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X6)), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1))+1*uintptr(_p.X3)))), (_p.X4)-(_p.X3), (_p.X5)+int64(_p.X3)) 87925 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X4 */))), i32(0)) 87926 { 87927 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) 87928 *p = (*p) + int64(_p.X2) 87929 sink967 = *p 87930 } 87931 _4: 87932 func() int32 { 87933 if (_p.X4) < (_p.X2) { 87934 return i32(0) 87935 } 87936 return func() int32 { 87937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87343), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaWriteBlobØ00__func__Ø000))), unsafe.Pointer(str(89528))) 87938 crt.X__builtin_abort(tls) 87939 return i32(0) 87940 }() 87941 }() 87942 { 87943 p := &_nRem 87944 *p = (*p) - _1_nCopy 87945 sink961 = *p 87946 } 87947 goto _0 87948 87949 _1: 87950 return 87951 87952 } 87953 87954 var _vdbePmaWriteBlobØ00__func__Ø000 [17]int8 // - 87955 87956 func init() { 87957 crt.Xstrncpy(nil, &_vdbePmaWriteBlobØ00__func__Ø000[0], str(89552), 17) 87958 } 87959 87960 func _vdbePmaWriterFinish(tls *crt.TLS, _p *XPmaWriter, _piEof *int64) (r0 int32) { // sqlite3.c:87358:1 87961 var _rc int32 // sqlite3.c:87359:7 87962 _ = _rc 87963 if (_p.X0) != i32(0) || func() int32 { 87964 if (_p.X1) != nil { 87965 return i32(1) 87966 } 87967 return func() int32 { 87968 func() int32 { 87969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87360), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaWriterFinishØ00__func__Ø000))), unsafe.Pointer(str(5204))) 87970 crt.X__builtin_abort(tls) 87971 return i32(0) 87972 }() 87973 return i32(0) 87974 }() 87975 }() == 0 || (_p.X4) <= (_p.X3) { 87976 goto _4 87977 } 87978 87979 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _sqlite3OsWrite(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X6)), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X1))+1*uintptr(_p.X3)))), (_p.X4)-(_p.X3), (_p.X5)+int64(_p.X3)) 87980 _4: 87981 *_piEof = (_p.X5) + int64(_p.X4) 87982 Xsqlite3_free(tls, (unsafe.Pointer)(_p.X1)) 87983 _rc = _p.X0 87984 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(32)) 87985 r0 = _rc 87986 return 87987 87988 } 87989 87990 var _vdbePmaWriterFinishØ00__func__Ø000 [20]int8 // - 87991 87992 func init() { 87993 crt.Xstrncpy(nil, &_vdbePmaWriterFinishØ00__func__Ø000[0], str(89572), 20) 87994 } 87995 87996 var _vdbeSorterFlushPMAØ00__func__Ø000 [19]int8 // - 87997 87998 func init() { 87999 crt.Xstrncpy(nil, &_vdbeSorterFlushPMAØ00__func__Ø000[0], str(89592), 19) 88000 } 88001 88002 func _vdbeSorterCreateThread(tls *crt.TLS, _pTask *XSortSubtask, _xTask func(*crt.TLS, unsafe.Pointer) unsafe.Pointer, _pIn unsafe.Pointer) (r0 int32) { // sqlite3.c:86979:1 88003 func() int32 { 88004 if ((*XSQLiteThread)(unsafe.Pointer(_pTask.X0)) == (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0))))) && ((_pTask.X1) == i32(0)) { 88005 return i32(0) 88006 } 88007 return func() int32 { 88008 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86984), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterCreateThreadØ00__func__Ø000))), unsafe.Pointer(str(89228))) 88009 crt.X__builtin_abort(tls) 88010 return i32(0) 88011 }() 88012 }() 88013 r0 = _sqlite3ThreadCreate(tls, (**XSQLiteThread)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(0 /* X0 */))))), _xTask, _pIn) 88014 return 88015 88016 } 88017 88018 var _vdbeSorterCreateThreadØ00__func__Ø000 [23]int8 // - 88019 88020 func init() { 88021 crt.Xstrncpy(nil, &_vdbeSorterCreateThreadØ00__func__Ø000[0], str(89612), 23) 88022 } 88023 88024 func _sqlite3ThreadCreate(tls *crt.TLS, _ppThread **XSQLiteThread, _xTask func(*crt.TLS, unsafe.Pointer) unsafe.Pointer, _pIn unsafe.Pointer) (r0 int32) { // sqlite3.c:26950:1 88025 var _p *XSQLiteThread // sqlite3.c:26955:16 88026 _ = _p 88027 func() int32 { 88028 if _ppThread != (**XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { 88029 return i32(0) 88030 } 88031 return func() int32 { 88032 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26957), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadCreateØ00__func__Ø000))), unsafe.Pointer(str(89636))) 88033 crt.X__builtin_abort(tls) 88034 return i32(0) 88035 }() 88036 }() 88037 func() int32 { 88038 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 88039 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 88040 }{_xTask})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 88041 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 88042 }{nil})) { 88043 return i32(0) 88044 } 88045 return func() int32 { 88046 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26958), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadCreateØ00__func__Ø000))), unsafe.Pointer(str(89648))) 88047 crt.X__builtin_abort(tls) 88048 return i32(0) 88049 }() 88050 }() 88051 *_ppThread = (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) 88052 _p = (*XSQLiteThread)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(u32(20))))) 88053 if _p != (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { 88054 goto _4 88055 } 88056 88057 r0 = _sqlite3NomemError(tls, i32(26961)) 88058 return 88059 88060 _4: 88061 if (_sqlite3Config.X1) != i32(0) && _sqlite3FaultSim(tls, i32(200)) == 0 { 88062 goto _6 88063 } 88064 88065 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(20)) 88066 goto _7 88067 88068 _6: 88069 *(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _xTask 88070 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = _pIn 88071 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = (unsafe.Pointer)(uintptr(crt.X_beginthreadex(tls, (unsafe.Pointer)(uintptr(i32(0))), uint32(i32(0)), _sqlite3ThreadProc, (unsafe.Pointer)(_p), uint32(i32(0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */)))))) 88072 if unsafe.Pointer(_p.X0) != (unsafe.Pointer)(uintptr(i32(0))) { 88073 goto _8 88074 } 88075 88076 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(20)) 88077 _8: 88078 _7: 88079 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 88080 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 88081 }{(_p.X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 88082 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 88083 }{nil})) { 88084 goto _9 88085 } 88086 88087 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = crt.XGetCurrentThreadId(tls) 88088 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = _xTask(tls, _pIn) 88089 _9: 88090 *_ppThread = _p 88091 r0 = i32(0) 88092 return 88093 88094 } 88095 88096 var _sqlite3ThreadCreateØ00__func__Ø000 [20]int8 // - 88097 88098 func init() { 88099 crt.Xstrncpy(nil, &_sqlite3ThreadCreateØ00__func__Ø000[0], str(89660), 20) 88100 } 88101 88102 func _sqlite3ThreadProc(tls *crt.TLS, _pArg unsafe.Pointer) (r0 uint32) { // sqlite3.c:26927:1 88103 var _p *XSQLiteThread // sqlite3.c:26930:16 88104 _ = _p 88105 _p = (*XSQLiteThread)(unsafe.Pointer(_pArg)) 88106 func() int32 { 88107 if _p != (*XSQLiteThread)(unsafe.Pointer(uintptr(i32(0)))) { 88108 return i32(0) 88109 } 88110 return func() int32 { 88111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26932), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadProcØ00__func__Ø000))), unsafe.Pointer(str(824))) 88112 crt.X__builtin_abort(tls) 88113 return i32(0) 88114 }() 88115 }() 88116 func() int32 { 88117 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 88118 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 88119 }{(_p.X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 88120 f func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 88121 }{nil})) { 88122 return i32(0) 88123 } 88124 return func() int32 { 88125 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(26942), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ThreadProcØ00__func__Ø000))), unsafe.Pointer(str(89680))) 88126 crt.X__builtin_abort(tls) 88127 return i32(0) 88128 }() 88129 }() 88130 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = (_p.X2)(tls, _p.X3) 88131 crt.X_endthreadex(tls, uint32(i32(0))) 88132 r0 = uint32(i32(0)) 88133 return 88134 88135 } 88136 88137 var _sqlite3ThreadProcØ00__func__Ø000 [18]int8 // - 88138 88139 func init() { 88140 crt.Xstrncpy(nil, &_sqlite3ThreadProcØ00__func__Ø000[0], str(89692), 18) 88141 } 88142 88143 func _vdbeSorterFlushThread(tls *crt.TLS, _pCtx unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:87533:1 88144 var _pTask *XSortSubtask // sqlite3.c:87534:15 88145 _ = _pTask 88146 var _rc int32 // sqlite3.c:87535:7 88147 _ = _rc 88148 _pTask = (*XSortSubtask)(unsafe.Pointer(_pCtx)) 88149 func() int32 { 88150 if (_pTask.X1) == i32(0) { 88151 return i32(0) 88152 } 88153 return func() int32 { 88154 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87536), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterFlushThreadØ00__func__Ø000))), unsafe.Pointer(str(89712))) 88155 crt.X__builtin_abort(tls) 88156 return i32(0) 88157 }() 88158 }() 88159 _rc = _vdbeSorterListToPMA(tls, _pTask, (*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(16 /* X4 */)))) 88160 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(4 /* X1 */))) = i32(1) 88161 r0 = (unsafe.Pointer)(uintptr(_rc)) 88162 return 88163 88164 } 88165 88166 var _vdbeSorterFlushThreadØ00__func__Ø000 [22]int8 // - 88167 88168 func init() { 88169 crt.Xstrncpy(nil, &_vdbeSorterFlushThreadØ00__func__Ø000[0], str(89728), 22) 88170 } 88171 88172 func _vdbeSorterSetupMerge(tls *crt.TLS, _pSorter *XVdbeSorter) (r0 int32) { // sqlite3.c:88337:1 88173 var _rc int32 // sqlite3.c:88338:7 88174 _ = _rc 88175 var _pTask0 *XSortSubtask // sqlite3.c:88339:15 88176 _ = _pTask0 88177 var _pMain *XMergeEngine // sqlite3.c:88340:15 88178 _ = _pMain 88179 var _db *Xsqlite3 // sqlite3.c:88342:11 88180 _ = _db 88181 var _i int32 // sqlite3.c:88343:7 88182 _ = _i 88183 var _xCompare func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 // sqlite3.c:88344:17 88184 _ = _xCompare 88185 var _3_iTask int32 // sqlite3.c:88355:11 88186 _ = _3_iTask 88187 var _3_pReadr *XPmaReader // sqlite3.c:88356:17 88188 _ = _3_pReadr 88189 var _3_pLast *XSortSubtask // sqlite3.c:88357:19 88190 _ = _3_pLast 88191 var _7_pIncr *XIncrMerger // sqlite3.c:88369:24 88192 _ = _7_pIncr 88193 var _9_p *XPmaReader // sqlite3.c:88385:23 88194 _ = _9_p 88195 _pTask0 = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(i32(0)))) 88196 _pMain = nil 88197 _db = (*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask0.X2)).X6)) 88198 _xCompare = _vdbeSorterGetCompare(tls, _pSorter) 88199 _i = i32(0) 88200 _0: 88201 if _i >= int32(_pSorter.X15) { 88202 goto _3 88203 } 88204 88205 *(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */)))))+60*uintptr(_i))))) + uintptr(32 /* X6 */))))) = _xCompare 88206 _i += 1 88207 goto _0 88208 88209 _3: 88210 _rc = _vdbeSorterMergeTreeBuild(tls, _pSorter, &_pMain) 88211 if _rc != i32(0) { 88212 goto _4 88213 } 88214 88215 func() int32 { 88216 if (int32(_pSorter.X13) == i32(0)) || (int32(_pSorter.X15) > i32(1)) { 88217 return i32(0) 88218 } 88219 return func() int32 { 88220 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88353), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterSetupMergeØ00__func__Ø000))), unsafe.Pointer(str(89752))) 88221 crt.X__builtin_abort(tls) 88222 return i32(0) 88223 }() 88224 }() 88225 if (_pSorter.X13) == 0 { 88226 goto _8 88227 } 88228 88229 _3_pReadr = nil 88230 _3_pLast = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(int32(_pSorter.X15)-i32(1)))) 88231 _rc = _vdbeSortAllocUnpacked(tls, _3_pLast) 88232 if _rc != i32(0) { 88233 goto _9 88234 } 88235 88236 _3_pReadr = (*XPmaReader)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(52))))) 88237 *(**XPmaReader)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(16 /* X4 */))))) = _3_pReadr 88238 if _3_pReadr != (*XPmaReader)(unsafe.Pointer(uintptr(i32(0)))) { 88239 goto _10 88240 } 88241 88242 _rc = _sqlite3NomemError(tls, i32(88362)) 88243 _10: 88244 _9: 88245 if _rc != i32(0) { 88246 goto _11 88247 } 88248 88249 _rc = _vdbeIncrMergerNew(tls, _3_pLast, _pMain, (**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pReadr))+uintptr(48 /* X10 */)))))) 88250 if _rc != i32(0) { 88251 goto _12 88252 } 88253 88254 _vdbeIncrMergerSetThreads(tls, (*XIncrMerger)(unsafe.Pointer(_3_pReadr.X10))) 88255 _3_iTask = i32(0) 88256 _13: 88257 if _3_iTask >= (int32(_pSorter.X15) - i32(1)) { 88258 goto _16 88259 } 88260 88261 if store8262880(&_7_pIncr, (*XIncrMerger)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(uintptr(_pMain.X3)+52*uintptr(_3_iTask))).X10))) == nil { 88262 goto _17 88263 } 88264 88265 _vdbeIncrMergerSetThreads(tls, _7_pIncr) 88266 func() int32 { 88267 if (*XSortSubtask)(unsafe.Pointer(_7_pIncr.X0)) != _3_pLast { 88268 return i32(0) 88269 } 88270 return func() int32 { 88271 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88372), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterSetupMergeØ00__func__Ø000))), unsafe.Pointer(str(89796))) 88272 crt.X__builtin_abort(tls) 88273 return i32(0) 88274 }() 88275 }() 88276 _17: 88277 _3_iTask += 1 88278 goto _13 88279 88280 _16: 88281 _3_iTask = i32(0) 88282 _20: 88283 if _rc != i32(0) || _3_iTask >= int32(_pSorter.X15) { 88284 goto _24 88285 } 88286 88287 _9_p = (*XPmaReader)(unsafe.Pointer(uintptr(_pMain.X3) + 52*uintptr(_3_iTask))) 88288 func() int32 { 88289 if ((*XIncrMerger)(unsafe.Pointer(_9_p.X10)) == (*XIncrMerger)(unsafe.Pointer(uintptr(i32(0))))) || (((*XSortSubtask)(unsafe.Pointer((*XIncrMerger)(unsafe.Pointer(_9_p.X10)).X0)) == (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */)))))+60*uintptr(_3_iTask)))) && ((_3_iTask != (int32(_pSorter.X15) - i32(1))) || (((*XIncrMerger)(unsafe.Pointer(_9_p.X10)).X5) == i32(0)))) { 88290 return i32(0) 88291 } 88292 return func() int32 { 88293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88386), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterSetupMergeØ00__func__Ø000))), unsafe.Pointer(str(89816))) 88294 crt.X__builtin_abort(tls) 88295 return i32(0) 88296 }() 88297 }() 88298 _rc = _vdbePmaReaderIncrInit(tls, _9_p, i32(1)) 88299 _3_iTask += 1 88300 goto _20 88301 88302 _24: 88303 _12: 88304 _pMain = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88305 _11: 88306 if _rc != i32(0) { 88307 goto _30 88308 } 88309 88310 _rc = _vdbePmaReaderIncrMergeInit(tls, _3_pReadr, i32(2)) 88311 _30: 88312 goto _31 88313 88314 _8: 88315 _rc = _vdbeMergeEngineInit(tls, _pTask0, _pMain, i32(0)) 88316 *(**XMergeEngine)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(20 /* X5 */))))) = _pMain 88317 _pMain = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88318 _31: 88319 _4: 88320 if _rc == i32(0) { 88321 goto _32 88322 } 88323 88324 _vdbeMergeEngineFree(tls, _pMain) 88325 _32: 88326 r0 = _rc 88327 return 88328 88329 } 88330 88331 func _vdbeSorterMergeTreeBuild(tls *crt.TLS, _pSorter *XVdbeSorter, _ppOut **XMergeEngine) (r0 int32) { // sqlite3.c:88258:1 88332 var _pMain *XMergeEngine // sqlite3.c:88262:15 88333 _ = _pMain 88334 var _rc int32 // sqlite3.c:88263:7 88335 _ = _rc 88336 var _iTask int32 // sqlite3.c:88264:7 88337 _ = _iTask 88338 var _2_pTask *XSortSubtask // sqlite3.c:88278:17 88339 _ = _2_pTask 88340 var _3_pRoot *XMergeEngine // sqlite3.c:88281:19 88341 _ = _3_pRoot 88342 var _3_nDepth int32 // sqlite3.c:88282:11 88343 _ = _3_nDepth 88344 var _3_iReadOff int64 // sqlite3.c:88283:11 88345 _ = _3_iReadOff 88346 var _5_i int32 // sqlite3.c:88288:13 88347 _ = _5_i 88348 var _5_iSeq int32 // sqlite3.c:88289:13 88349 _ = _5_iSeq 88350 var _6_pMerger *XMergeEngine // sqlite3.c:88293:23 88351 _ = _6_pMerger 88352 var _6_nReader int32 // sqlite3.c:88294:15 88353 _ = _6_nReader 88354 _pMain = nil 88355 _rc = i32(0) 88356 func() int32 { 88357 if ((_pSorter.X13) != 0) || (int32(_pSorter.X15) == i32(1)) { 88358 return i32(0) 88359 } 88360 return func() int32 { 88361 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88270), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterMergeTreeBuildØ00__func__Ø000))), unsafe.Pointer(str(89936))) 88362 crt.X__builtin_abort(tls) 88363 return i32(0) 88364 }() 88365 }() 88366 if int32(_pSorter.X15) <= i32(1) { 88367 goto _3 88368 } 88369 88370 _pMain = _vdbeMergeEngineNew(tls, int32(_pSorter.X15)) 88371 if _pMain != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 88372 goto _4 88373 } 88374 88375 _rc = _sqlite3NomemError(tls, i32(88273)) 88376 _4: 88377 _3: 88378 _iTask = i32(0) 88379 _5: 88380 if _rc != i32(0) || _iTask >= int32(_pSorter.X15) { 88381 goto _9 88382 } 88383 88384 _2_pTask = (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */))))) + 60*uintptr(_iTask))) 88385 func() int32 { 88386 if ((_2_pTask.X5) > i32(0)) || i32(1) != 0 { 88387 return i32(0) 88388 } 88389 return func() int32 { 88390 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88279), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterMergeTreeBuildØ00__func__Ø000))), unsafe.Pointer(str(89980))) 88391 crt.X__builtin_abort(tls) 88392 return i32(0) 88393 }() 88394 }() 88395 if i32(0) == 0 && (_2_pTask.X5) == 0 { 88396 goto _14 88397 } 88398 88399 _3_pRoot = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88400 _3_nDepth = _vdbeSorterTreeDepth(tls, _2_pTask.X5) 88401 _3_iReadOff = int64(i32(0)) 88402 if (_2_pTask.X5) > i32(16) { 88403 goto _15 88404 } 88405 88406 _rc = _vdbeMergeEngineLevel0(tls, _2_pTask, _2_pTask.X5, &_3_iReadOff, &_3_pRoot) 88407 goto _16 88408 88409 _15: 88410 _5_iSeq = i32(0) 88411 _3_pRoot = _vdbeMergeEngineNew(tls, i32(16)) 88412 if _3_pRoot != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 88413 goto _17 88414 } 88415 88416 _rc = _sqlite3NomemError(tls, i32(88291)) 88417 _17: 88418 _5_i = i32(0) 88419 _18: 88420 if _5_i >= (_2_pTask.X5) || _rc != i32(0) { 88421 goto _22 88422 } 88423 88424 _6_pMerger = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88425 _6_nReader = func() int32 { 88426 if ((_2_pTask.X5) - _5_i) < i32(16) { 88427 return ((_2_pTask.X5) - _5_i) 88428 } 88429 return i32(16) 88430 }() 88431 _rc = _vdbeMergeEngineLevel0(tls, _2_pTask, _6_nReader, &_3_iReadOff, &_6_pMerger) 88432 if _rc != i32(0) { 88433 goto _25 88434 } 88435 88436 _rc = _vdbeSorterAddToTree(tls, _2_pTask, _3_nDepth, postInc961(&_5_iSeq, int32(1)), _3_pRoot, _6_pMerger) 88437 _25: 88438 { 88439 p := &_5_i 88440 *p = (*p) + i32(16) 88441 sink961 = *p 88442 } 88443 goto _18 88444 88445 _22: 88446 _16: 88447 if _rc != i32(0) { 88448 goto _26 88449 } 88450 88451 if _pMain == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 88452 goto _27 88453 } 88454 88455 _rc = _vdbeIncrMergerNew(tls, _2_pTask, _3_pRoot, (**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPmaReader)(unsafe.Pointer(uintptr(_pMain.X3)+52*uintptr(_iTask)))))+uintptr(48 /* X10 */)))))) 88456 goto _28 88457 88458 _27: 88459 func() int32 { 88460 if _pMain == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 88461 return i32(0) 88462 } 88463 return func() int32 { 88464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88311), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeSorterMergeTreeBuildØ00__func__Ø000))), unsafe.Pointer(str(90028))) 88465 crt.X__builtin_abort(tls) 88466 return i32(0) 88467 }() 88468 }() 88469 _pMain = _3_pRoot 88470 _28: 88471 goto _31 88472 88473 _26: 88474 _vdbeMergeEngineFree(tls, _3_pRoot) 88475 _31: 88476 _14: 88477 _iTask += 1 88478 goto _5 88479 88480 _9: 88481 if _rc == i32(0) { 88482 goto _32 88483 } 88484 88485 _vdbeMergeEngineFree(tls, _pMain) 88486 _pMain = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88487 _32: 88488 *_ppOut = _pMain 88489 r0 = _rc 88490 return 88491 88492 } 88493 88494 var _vdbeSorterMergeTreeBuildØ00__func__Ø000 [25]int8 // - 88495 88496 func init() { 88497 crt.Xstrncpy(nil, &_vdbeSorterMergeTreeBuildØ00__func__Ø000[0], str(90040), 25) 88498 } 88499 88500 func _vdbeMergeEngineNew(tls *crt.TLS, _nReader int32) (r0 *XMergeEngine) { // sqlite3.c:87022:1 88501 var _N int32 // sqlite3.c:87023:7 88502 _ = _N 88503 var _nByte int32 // sqlite3.c:87024:7 88504 _ = _nByte 88505 var _pNew *XMergeEngine // sqlite3.c:87025:15 88506 _ = _pNew 88507 _N = i32(2) 88508 func() int32 { 88509 if _nReader <= i32(16) { 88510 return i32(0) 88511 } 88512 return func() int32 { 88513 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87027), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMergeEngineNewØ00__func__Ø000))), unsafe.Pointer(str(90068))) 88514 crt.X__builtin_abort(tls) 88515 return i32(0) 88516 }() 88517 }() 88518 _2: 88519 if _N >= _nReader { 88520 goto _3 88521 } 88522 88523 { 88524 p := &_N 88525 *p = (*p) + _N 88526 sink961 = *p 88527 } 88528 goto _2 88529 88530 _3: 88531 _nByte = int32(u32(16) + (uint32(_N) * u32(56))) 88532 _pNew = func() *XMergeEngine { 88533 if _sqlite3FaultSim(tls, i32(100)) != 0 { 88534 return (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88535 } 88536 return (*XMergeEngine)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nByte)))) 88537 }() 88538 if _pNew == nil { 88539 goto _6 88540 } 88541 88542 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _N 88543 *(**XSortSubtask)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))) = (*XSortSubtask)(unsafe.Pointer(uintptr(i32(0)))) 88544 *(**XPmaReader)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X3 */))))) = (*XPmaReader)(unsafe.Pointer((*XMergeEngine)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 16*uintptr(i32(1)))))) 88545 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X2 */))) = (*int32)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(uintptr(_pNew.X3) + 52*uintptr(_N))))) 88546 _6: 88547 r0 = _pNew 88548 return 88549 88550 } 88551 88552 var _vdbeMergeEngineNewØ00__func__Ø000 [19]int8 // - 88553 88554 func init() { 88555 crt.Xstrncpy(nil, &_vdbeMergeEngineNewØ00__func__Ø000[0], str(90100), 19) 88556 } 88557 88558 func _vdbeSorterTreeDepth(tls *crt.TLS, _nPMA int32) (r0 int32) { // sqlite3.c:88184:1 88559 var _nDepth int32 // sqlite3.c:88185:7 88560 _ = _nDepth 88561 var _nDiv int64 // sqlite3.c:88186:7 88562 _ = _nDiv 88563 _nDepth = i32(0) 88564 _nDiv = i64(16) 88565 _0: 88566 if _nDiv >= int64(_nPMA) { 88567 goto _1 88568 } 88569 88570 _nDiv = _nDiv * int64(i32(16)) 88571 _nDepth += 1 88572 goto _0 88573 88574 _1: 88575 r0 = _nDepth 88576 return 88577 88578 } 88579 88580 func _vdbeMergeEngineLevel0(tls *crt.TLS, _pTask *XSortSubtask, _nPMA int32, _piOffset *int64, _ppOut **XMergeEngine) (r0 int32) { // sqlite3.c:88145:1 88581 var _pNew *XMergeEngine // sqlite3.c:88151:15 88582 _ = _pNew 88583 var _iOff int64 // sqlite3.c:88152:7 88584 _ = _iOff 88585 var _i int32 // sqlite3.c:88153:7 88586 _ = _i 88587 var _rc int32 // sqlite3.c:88154:7 88588 _ = _rc 88589 var _1_nDummy int64 // sqlite3.c:88160:9 88590 _ = _1_nDummy 88591 var _1_pReadr *XPmaReader // sqlite3.c:88161:15 88592 _ = _1_pReadr 88593 _iOff = *_piOffset 88594 _rc = i32(0) 88595 *_ppOut = store8272937(&_pNew, _vdbeMergeEngineNew(tls, _nPMA)) 88596 if _pNew != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 88597 goto _0 88598 } 88599 88600 _rc = _sqlite3NomemError(tls, i32(88157)) 88601 _0: 88602 _i = i32(0) 88603 _1: 88604 if _i >= _nPMA || _rc != i32(0) { 88605 goto _5 88606 } 88607 88608 _1_nDummy = int64(i32(0)) 88609 _1_pReadr = (*XPmaReader)(unsafe.Pointer(uintptr(_pNew.X3) + 52*uintptr(_i))) 88610 _rc = _vdbePmaReaderInit(tls, _pTask, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(36 /* X7 */))), _iOff, _1_pReadr, &_1_nDummy) 88611 _iOff = _1_pReadr.X1 88612 _i += 1 88613 goto _1 88614 88615 _5: 88616 if _rc == i32(0) { 88617 goto _6 88618 } 88619 88620 _vdbeMergeEngineFree(tls, _pNew) 88621 *_ppOut = (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) 88622 _6: 88623 *_piOffset = _iOff 88624 r0 = _rc 88625 return 88626 88627 } 88628 88629 func _vdbePmaReaderInit(tls *crt.TLS, _pTask *XSortSubtask, _pFile *XSorterFile, _iStart int64, _pReadr *XPmaReader, _pnByte *int64) (r0 int32) { // sqlite3.c:86573:1 88630 var _rc int32 // sqlite3.c:86580:7 88631 _ = _rc 88632 var _1_nByte uint64 // sqlite3.c:86589:9 88633 _ = _1_nByte 88634 func() int32 { 88635 if (_pFile.X1) > _iStart { 88636 return i32(0) 88637 } 88638 return func() int32 { 88639 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86582), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderInitØ00__func__Ø000))), unsafe.Pointer(str(90120))) 88640 crt.X__builtin_abort(tls) 88641 return i32(0) 88642 }() 88643 }() 88644 func() int32 { 88645 if ((_pReadr.X5) == (*uint8)(unsafe.Pointer(uintptr(i32(0))))) && ((_pReadr.X2) == i32(0)) { 88646 return i32(0) 88647 } 88648 return func() int32 { 88649 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86583), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderInitØ00__func__Ø000))), unsafe.Pointer(str(90140))) 88650 crt.X__builtin_abort(tls) 88651 return i32(0) 88652 }() 88653 }() 88654 func() int32 { 88655 if (_pReadr.X7) == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 88656 return i32(0) 88657 } 88658 return func() int32 { 88659 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86584), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderInitØ00__func__Ø000))), unsafe.Pointer(str(90180))) 88660 crt.X__builtin_abort(tls) 88661 return i32(0) 88662 }() 88663 }() 88664 func() int32 { 88665 if (_pReadr.X9) == (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 88666 return i32(0) 88667 } 88668 return func() int32 { 88669 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86585), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderInitØ00__func__Ø000))), unsafe.Pointer(str(90200))) 88670 crt.X__builtin_abort(tls) 88671 return i32(0) 88672 }() 88673 }() 88674 _rc = _vdbePmaReaderSeek(tls, _pTask, _pReadr, _pFile, _iStart) 88675 if _rc != i32(0) { 88676 goto _9 88677 } 88678 88679 _1_nByte = u64(0) 88680 _rc = _vdbePmaReadVarint(tls, _pReadr, &_1_nByte) 88681 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(8 /* X1 */))) = int64(uint64(_pReadr.X0) + _1_nByte) 88682 { 88683 p := _pnByte 88684 *p = int64(uint64(*p) + _1_nByte) 88685 sink967 = *p 88686 } 88687 _9: 88688 if _rc != i32(0) { 88689 goto _10 88690 } 88691 88692 _rc = _vdbePmaReaderNext(tls, _pReadr) 88693 _10: 88694 r0 = _rc 88695 return 88696 88697 } 88698 88699 var _vdbePmaReaderInitØ00__func__Ø000 [18]int8 // - 88700 88701 func init() { 88702 crt.Xstrncpy(nil, &_vdbePmaReaderInitØ00__func__Ø000[0], str(90216), 18) 88703 } 88704 88705 func _vdbePmaReaderSeek(tls *crt.TLS, _pTask *XSortSubtask, _pReadr *XPmaReader, _pFile *XSorterFile, _iOff int64) (r0 int32) { // sqlite3.c:86479:1 88706 var _rc int32 // sqlite3.c:86485:7 88707 _ = _rc 88708 var _2_pgsz int32 // sqlite3.c:86500:9 88709 _ = _2_pgsz 88710 var _2_iBuf int32 // sqlite3.c:86501:9 88711 _ = _2_iBuf 88712 var _4_nRead int32 // sqlite3.c:86508:11 88713 _ = _4_nRead 88714 _rc = i32(0) 88715 func() int32 { 88716 if ((*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) == (*XIncrMerger)(unsafe.Pointer(uintptr(i32(0))))) || (((*XIncrMerger)(unsafe.Pointer(_pReadr.X10)).X4) == i32(0)) { 88717 return i32(0) 88718 } 88719 return func() int32 { 88720 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86487), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderSeekØ00__func__Ø000))), unsafe.Pointer(str(90236))) 88721 crt.X__builtin_abort(tls) 88722 return i32(0) 88723 }() 88724 }() 88725 if _sqlite3FaultSim(tls, i32(201)) == 0 { 88726 goto _3 88727 } 88728 88729 r0 = i32(266) 88730 return 88731 88732 _3: 88733 if (_pReadr.X9) == nil { 88734 goto _4 88735 } 88736 88737 _sqlite3OsUnfetch(tls, (*Xsqlite3_file)(unsafe.Pointer(_pReadr.X4)), int64(i32(0)), (unsafe.Pointer)(_pReadr.X9)) 88738 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(44 /* X9 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 88739 _4: 88740 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(0 /* X0 */))) = _iOff 88741 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(8 /* X1 */))) = _pFile.X1 88742 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(24 /* X4 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pFile.X0)) 88743 _rc = _vdbeSorterMapFile(tls, _pTask, _pFile, (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr))+uintptr(44 /* X9 */)))) 88744 if _rc != i32(0) || (_pReadr.X9) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 88745 goto _6 88746 } 88747 88748 _2_pgsz = (*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X3 88749 _2_iBuf = int32((_pReadr.X0) % int64(_2_pgsz)) 88750 if (_pReadr.X7) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 88751 goto _7 88752 } 88753 88754 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(36 /* X7 */))) = (*uint8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_2_pgsz)))) 88755 if (_pReadr.X7) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 88756 goto _8 88757 } 88758 88759 _rc = _sqlite3NomemError(tls, i32(86504)) 88760 _8: 88761 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(40 /* X8 */))) = _2_pgsz 88762 _7: 88763 if _rc != i32(0) || _2_iBuf == 0 { 88764 goto _10 88765 } 88766 88767 _4_nRead = _2_pgsz - _2_iBuf 88768 if ((_pReadr.X0) + int64(_4_nRead)) <= (_pReadr.X1) { 88769 goto _11 88770 } 88771 88772 _4_nRead = int32((_pReadr.X1) - (_pReadr.X0)) 88773 _11: 88774 _rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_pReadr.X4)), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr.X7))+1*uintptr(_2_iBuf)))), _4_nRead, _pReadr.X0) 88775 _10: 88776 _6: 88777 r0 = _rc 88778 return 88779 88780 } 88781 88782 var _vdbePmaReaderSeekØ00__func__Ø000 [18]int8 // - 88783 88784 func init() { 88785 crt.Xstrncpy(nil, &_vdbePmaReaderSeekØ00__func__Ø000[0], str(90280), 18) 88786 } 88787 88788 func _vdbeSorterMapFile(tls *crt.TLS, _pTask *XSortSubtask, _pFile *XSorterFile, _pp **uint8) (r0 int32) { // sqlite3.c:86462:1 88789 var _rc int32 // sqlite3.c:86463:7 88790 _ = _rc 88791 var _1_pFd *Xsqlite3_file // sqlite3.c:86465:18 88792 _ = _1_pFd 88793 _rc = i32(0) 88794 if (_pFile.X1) > int64((*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X6)).X32) { 88795 goto _0 88796 } 88797 88798 _1_pFd = (*Xsqlite3_file)(unsafe.Pointer(_pFile.X0)) 88799 if ((*Xsqlite3_io_methods)(unsafe.Pointer(_1_pFd.X0)).X0) < i32(3) { 88800 goto _1 88801 } 88802 88803 _rc = _sqlite3OsFetch(tls, _1_pFd, int64(i32(0)), int32(_pFile.X1), (*unsafe.Pointer)(unsafe.Pointer(_pp))) 88804 _1: 88805 _0: 88806 r0 = _rc 88807 return 88808 88809 } 88810 88811 func _vdbePmaReadVarint(tls *crt.TLS, _p *XPmaReader, _pnOut *uint64) (r0 int32) { // sqlite3.c:86429:1 88812 var _iBuf int32 // sqlite3.c:86430:7 88813 _ = _iBuf 88814 var _4_aVarint [16]uint8 // sqlite3.c:86439:10 88815 _ = _4_aVarint 88816 var _4_a *uint8 // sqlite3.c:86439:23 88817 _ = _4_a 88818 var _4_i int32 // sqlite3.c:86440:11 88819 _ = _4_i 88820 var _4_rc int32 // sqlite3.c:86440:18 88821 _ = _4_rc 88822 if (_p.X9) == nil { 88823 goto _0 88824 } 88825 88826 { 88827 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 88828 *p = (*p) + int64(_sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X9))+1*uintptr(_p.X0))), _pnOut)) 88829 sink967 = *p 88830 } 88831 goto _1 88832 88833 _0: 88834 _iBuf = int32((_p.X0) % int64(_p.X8)) 88835 if _iBuf == 0 || ((_p.X8)-_iBuf) < i32(9) { 88836 goto _3 88837 } 88838 88839 { 88840 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 88841 *p = (*p) + int64(_sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7))+1*uintptr(_iBuf))), _pnOut)) 88842 sink967 = *p 88843 } 88844 goto _4 88845 88846 _3: 88847 _4_i = i32(0) 88848 _5: 88849 _4_rc = _vdbePmaReadBlob(tls, _p, i32(1), &_4_a) 88850 if _4_rc == 0 { 88851 goto _6 88852 } 88853 88854 r0 = _4_rc 88855 return 88856 88857 _6: 88858 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_4_aVarint)) + 1*uintptr(postInc961(&_4_i, int32(1))&i32(15)))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_a)) + 1*uintptr(i32(0)))) 88859 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_a)) + 1*uintptr(i32(0))))) & i32(128)) != i32(0) { 88860 goto _5 88861 } 88862 88863 _sqlite3GetVarint(tls, (*uint8)(unsafe.Pointer(&_4_aVarint)), _pnOut) 88864 _4: 88865 _1: 88866 r0 = i32(0) 88867 return 88868 88869 } 88870 88871 func _vdbePmaReadBlob(tls *crt.TLS, _p *XPmaReader, _nByte int32, _ppOut **uint8) (r0 int32) { // sqlite3.c:86335:1 88872 var _iBuf int32 // sqlite3.c:86340:7 88873 _ = _iBuf 88874 var _nAvail int32 // sqlite3.c:86341:7 88875 _ = _nAvail 88876 var _2_nRead int32 // sqlite3.c:86356:9 88877 _ = _2_nRead 88878 var _2_rc int32 // sqlite3.c:86357:9 88879 _ = _2_rc 88880 var _6_nRem int32 // sqlite3.c:86384:9 88881 _ = _6_nRem 88882 var _7_aNew *uint8 // sqlite3.c:86388:10 88883 _ = _7_aNew 88884 var _7_nNew int32 // sqlite3.c:86389:11 88885 _ = _7_nNew 88886 var _8_rc int32 // sqlite3.c:86406:11 88887 _ = _8_rc 88888 var _8_nCopy int32 // sqlite3.c:86407:11 88889 _ = _8_nCopy 88890 var _8_aNext *uint8 // sqlite3.c:86408:10 88891 _ = _8_aNext 88892 if (_p.X9) == nil { 88893 goto _0 88894 } 88895 88896 *_ppOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X9)) + 1*uintptr(_p.X0))) 88897 { 88898 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 88899 *p = (*p) + int64(_nByte) 88900 sink967 = *p 88901 } 88902 r0 = i32(0) 88903 return 88904 88905 _0: 88906 func() int32 { 88907 if (_p.X7) != nil { 88908 return i32(0) 88909 } 88910 return func() int32 { 88911 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86349), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReadBlobØ00__func__Ø000))), unsafe.Pointer(str(90300))) 88912 crt.X__builtin_abort(tls) 88913 return i32(0) 88914 }() 88915 }() 88916 _iBuf = int32((_p.X0) % int64(_p.X8)) 88917 if _iBuf != i32(0) { 88918 goto _3 88919 } 88920 88921 if ((_p.X1) - (_p.X0)) <= int64(_p.X8) { 88922 goto _4 88923 } 88924 88925 _2_nRead = _p.X8 88926 goto _5 88927 88928 _4: 88929 _2_nRead = int32((_p.X1) - (_p.X0)) 88930 _5: 88931 func() int32 { 88932 if _2_nRead > i32(0) { 88933 return i32(0) 88934 } 88935 return func() int32 { 88936 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86365), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReadBlobØ00__func__Ø000))), unsafe.Pointer(str(90312))) 88937 crt.X__builtin_abort(tls) 88938 return i32(0) 88939 }() 88940 }() 88941 _2_rc = _sqlite3OsRead(tls, (*Xsqlite3_file)(unsafe.Pointer(_p.X4)), (unsafe.Pointer)(_p.X7), _2_nRead, _p.X0) 88942 func() int32 { 88943 if _2_rc != i32(522) { 88944 return i32(0) 88945 } 88946 return func() int32 { 88947 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86369), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReadBlobØ00__func__Ø000))), unsafe.Pointer(str(90320))) 88948 crt.X__builtin_abort(tls) 88949 return i32(0) 88950 }() 88951 }() 88952 if _2_rc == i32(0) { 88953 goto _10 88954 } 88955 88956 r0 = _2_rc 88957 return 88958 88959 _10: 88960 _3: 88961 _nAvail = (_p.X8) - _iBuf 88962 if _nByte > _nAvail { 88963 goto _11 88964 } 88965 88966 *_ppOut = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7)) + 1*uintptr(_iBuf))) 88967 { 88968 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 88969 *p = (*p) + int64(_nByte) 88970 sink967 = *p 88971 } 88972 goto _12 88973 88974 _11: 88975 if (_p.X2) >= _nByte { 88976 goto _13 88977 } 88978 88979 _7_nNew = func() int32 { 88980 if i32(128) > ((_p.X2) * i32(2)) { 88981 return i32(128) 88982 } 88983 return ((_p.X2) * i32(2)) 88984 }() 88985 _16: 88986 if _nByte <= _7_nNew { 88987 goto _17 88988 } 88989 88990 _7_nNew = _7_nNew * i32(2) 88991 goto _16 88992 88993 _17: 88994 _7_aNew = (*uint8)(unsafe.Pointer(_sqlite3Realloc(tls, (unsafe.Pointer)(_p.X5), uint64(_7_nNew)))) 88995 if _7_aNew != nil { 88996 goto _18 88997 } 88998 88999 r0 = _sqlite3NomemError(tls, i32(86392)) 89000 return 89001 89002 _18: 89003 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) = _7_nNew 89004 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X5 */))) = _7_aNew 89005 _13: 89006 crt.Xmemcpy(tls, (unsafe.Pointer)(_p.X5), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X7))+1*uintptr(_iBuf)))), uint32(_nAvail)) 89007 { 89008 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 89009 *p = (*p) + int64(_nAvail) 89010 sink967 = *p 89011 } 89012 _6_nRem = _nByte - _nAvail 89013 _19: 89014 if _6_nRem <= i32(0) { 89015 goto _20 89016 } 89017 89018 _8_nCopy = _6_nRem 89019 if _6_nRem <= (_p.X8) { 89020 goto _21 89021 } 89022 89023 _8_nCopy = _p.X8 89024 _21: 89025 _8_rc = _vdbePmaReadBlob(tls, _p, _8_nCopy, &_8_aNext) 89026 if _8_rc == i32(0) { 89027 goto _22 89028 } 89029 89030 r0 = _8_rc 89031 return 89032 89033 _22: 89034 func() int32 { 89035 if _8_aNext != (_p.X5) { 89036 return i32(0) 89037 } 89038 return func() int32 { 89039 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(86414), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReadBlobØ00__func__Ø000))), unsafe.Pointer(str(90348))) 89040 crt.X__builtin_abort(tls) 89041 return i32(0) 89042 }() 89043 }() 89044 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X5))+1*uintptr(_nByte-_6_nRem)))), (unsafe.Pointer)(_8_aNext), uint32(_8_nCopy)) 89045 { 89046 p := &_6_nRem 89047 *p = (*p) - _8_nCopy 89048 sink961 = *p 89049 } 89050 goto _19 89051 89052 _20: 89053 *_ppOut = _p.X5 89054 _12: 89055 r0 = i32(0) 89056 return 89057 89058 } 89059 89060 var _vdbePmaReadBlobØ00__func__Ø000 [16]int8 // - 89061 89062 func init() { 89063 crt.Xstrncpy(nil, &_vdbePmaReadBlobØ00__func__Ø000[0], str(90368), 16) 89064 } 89065 89066 func _vdbePmaReaderNext(tls *crt.TLS, _pReadr *XPmaReader) (r0 int32) { // sqlite3.c:86526:1 89067 var _rc int32 // sqlite3.c:86527:7 89068 _ = _rc 89069 var _nRec uint64 // sqlite3.c:86528:7 89070 _ = _nRec 89071 var _1_pIncr *XIncrMerger // sqlite3.c:86532:16 89072 _ = _1_pIncr 89073 var _1_bEof int32 // sqlite3.c:86533:9 89074 _ = _1_bEof 89075 _rc = i32(0) 89076 _nRec = u64(0) 89077 if (_pReadr.X0) < (_pReadr.X1) { 89078 goto _0 89079 } 89080 89081 _1_pIncr = (*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) 89082 _1_bEof = i32(1) 89083 if _1_pIncr == nil { 89084 goto _1 89085 } 89086 89087 _rc = _vdbeIncrSwap(tls, _1_pIncr) 89088 if _rc != i32(0) || (_1_pIncr.X4) != i32(0) { 89089 goto _3 89090 } 89091 89092 _rc = _vdbePmaReaderSeek(tls, (*XSortSubtask)(unsafe.Pointer(_1_pIncr.X0)), _pReadr, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(0)))), _1_pIncr.X2) 89093 _1_bEof = i32(0) 89094 _3: 89095 _1: 89096 if _1_bEof == 0 { 89097 goto _4 89098 } 89099 89100 _vdbePmaReaderClear(tls, _pReadr) 89101 r0 = _rc 89102 return 89103 89104 _4: 89105 _0: 89106 if _rc != i32(0) { 89107 goto _5 89108 } 89109 89110 _rc = _vdbePmaReadVarint(tls, _pReadr, &_nRec) 89111 _5: 89112 if _rc != i32(0) { 89113 goto _6 89114 } 89115 89116 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr)) + uintptr(20 /* X3 */))) = int32(_nRec) 89117 _rc = _vdbePmaReadBlob(tls, _pReadr, int32(_nRec), (**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pReadr))+uintptr(32 /* X6 */)))) 89118 _6: 89119 r0 = _rc 89120 return 89121 89122 } 89123 89124 func _vdbeIncrSwap(tls *crt.TLS, _pIncr *XIncrMerger) (r0 int32) { // sqlite3.c:87798:1 89125 var _rc int32 // sqlite3.c:87799:7 89126 _ = _rc 89127 var _2_f0 XSorterFile // sqlite3.c:87806:18 89128 _ = _2_f0 89129 _rc = i32(0) 89130 if (_pIncr.X5) == 0 { 89131 goto _0 89132 } 89133 89134 _rc = _vdbeSorterJoinThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0))) 89135 if _rc != i32(0) { 89136 goto _1 89137 } 89138 89139 _2_f0 = *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(0)))) 89140 *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(0)))) = *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(1)))) 89141 *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(1)))) = _2_f0 89142 _1: 89143 if _rc != i32(0) { 89144 goto _2 89145 } 89146 89147 if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(0)))).X1) != (_pIncr.X2) { 89148 goto _3 89149 } 89150 89151 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(20 /* X4 */))) = i32(1) 89152 goto _4 89153 89154 _3: 89155 _rc = _vdbeIncrBgPopulate(tls, _pIncr) 89156 _4: 89157 _2: 89158 goto _5 89159 89160 _0: 89161 _rc = _vdbeIncrPopulate(tls, _pIncr) 89162 *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(0)))) = *(*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(1)))) 89163 if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(0)))).X1) != (_pIncr.X2) { 89164 goto _6 89165 } 89166 89167 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(20 /* X4 */))) = i32(1) 89168 _6: 89169 _5: 89170 r0 = _rc 89171 return 89172 89173 } 89174 89175 func _vdbeIncrBgPopulate(tls *crt.TLS, _pIncr *XIncrMerger) (r0 int32) { // sqlite3.c:87774:1 89176 var _p unsafe.Pointer // sqlite3.c:87775:8 89177 _ = _p 89178 _p = (unsafe.Pointer)(_pIncr) 89179 func() int32 { 89180 if (_pIncr.X5) != 0 { 89181 return i32(0) 89182 } 89183 return func() int32 { 89184 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87776), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeIncrBgPopulateØ00__func__Ø000))), unsafe.Pointer(str(90384))) 89185 crt.X__builtin_abort(tls) 89186 return i32(0) 89187 }() 89188 }() 89189 r0 = _vdbeSorterCreateThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)), _vdbeIncrPopulateThread, _p) 89190 return 89191 89192 } 89193 89194 var _vdbeIncrBgPopulateØ00__func__Ø000 [19]int8 // - 89195 89196 func init() { 89197 crt.Xstrncpy(nil, &_vdbeIncrBgPopulateØ00__func__Ø000[0], str(90404), 19) 89198 } 89199 89200 func _vdbeIncrPopulateThread(tls *crt.TLS, _pCtx unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:87764:1 89201 var _pIncr *XIncrMerger // sqlite3.c:87765:14 89202 _ = _pIncr 89203 var _pRet unsafe.Pointer // sqlite3.c:87766:8 89204 _ = _pRet 89205 _pIncr = (*XIncrMerger)(unsafe.Pointer(_pCtx)) 89206 _pRet = (unsafe.Pointer)(uintptr(_vdbeIncrPopulate(tls, _pIncr))) 89207 *(*int32)(unsafe.Pointer(uintptr(_pIncr.X0) + uintptr(4 /* X1 */))) = i32(1) 89208 r0 = _pRet 89209 return 89210 89211 } 89212 89213 func _vdbeIncrPopulate(tls *crt.TLS, _pIncr *XIncrMerger) (r0 int32) { // sqlite3.c:87722:1 89214 var _rc int32 // sqlite3.c:87723:7 89215 _ = _rc 89216 var _rc2 int32 // sqlite3.c:87724:7 89217 _ = _rc2 89218 var _iStart int64 // sqlite3.c:87725:7 89219 _ = _iStart 89220 var _pOut *XSorterFile // sqlite3.c:87726:14 89221 _ = _pOut 89222 var _pTask *XSortSubtask // sqlite3.c:87727:15 89223 _ = _pTask 89224 var _pMerger *XMergeEngine // sqlite3.c:87728:15 89225 _ = _pMerger 89226 var _writer XPmaWriter // sqlite3.c:87729:13 89227 _ = _writer 89228 var _1_dummy int32 // sqlite3.c:87736:9 89229 _ = _1_dummy 89230 var _1_pReader *XPmaReader // sqlite3.c:87737:15 89231 _ = _1_pReader 89232 var _1_nKey int32 // sqlite3.c:87738:9 89233 _ = _1_nKey 89234 var _1_iEof int64 // sqlite3.c:87739:9 89235 _ = _1_iEof 89236 _rc = i32(0) 89237 _iStart = _pIncr.X2 89238 _pOut = (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */))))) + 12*uintptr(i32(1)))) 89239 _pTask = (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)) 89240 _pMerger = (*XMergeEngine)(unsafe.Pointer(_pIncr.X1)) 89241 func() int32 { 89242 if (_pIncr.X4) == i32(0) { 89243 return i32(0) 89244 } 89245 return func() int32 { 89246 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87730), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeIncrPopulateØ00__func__Ø000))), unsafe.Pointer(str(90424))) 89247 crt.X__builtin_abort(tls) 89248 return i32(0) 89249 }() 89250 }() 89251 _vdbePmaWriterInit(tls, (*Xsqlite3_file)(unsafe.Pointer(_pOut.X0)), &_writer, (*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X3, _iStart) 89252 _2: 89253 if _rc != i32(0) { 89254 goto _3 89255 } 89256 89257 _1_pReader = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(i32(1))))))) 89258 _1_nKey = _1_pReader.X3 89259 _1_iEof = (_writer.X5) + int64(_writer.X4) 89260 if (*Xsqlite3_file)(unsafe.Pointer(_1_pReader.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 89261 goto _4 89262 } 89263 89264 goto _3 89265 89266 _4: 89267 if ((_1_iEof + int64(_1_nKey)) + int64(_sqlite3VarintLen(tls, uint64(_1_nKey)))) <= (_iStart + int64(_pIncr.X3)) { 89268 goto _5 89269 } 89270 89271 goto _3 89272 89273 _5: 89274 _vdbePmaWriteVarint(tls, &_writer, uint64(_1_nKey)) 89275 _vdbePmaWriteBlob(tls, &_writer, _1_pReader.X6, _1_nKey) 89276 func() int32 { 89277 if (*XSortSubtask)(unsafe.Pointer((*XMergeEngine)(unsafe.Pointer(_pIncr.X1)).X1)) == _pTask { 89278 return i32(0) 89279 } 89280 return func() int32 { 89281 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87749), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeIncrPopulateØ00__func__Ø000))), unsafe.Pointer(str(90440))) 89282 crt.X__builtin_abort(tls) 89283 return i32(0) 89284 }() 89285 }() 89286 _rc = _vdbeMergeEngineStep(tls, (*XMergeEngine)(unsafe.Pointer(_pIncr.X1)), &_1_dummy) 89287 goto _2 89288 89289 _3: 89290 _rc2 = _vdbePmaWriterFinish(tls, &_writer, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut))+uintptr(4 /* X1 */)))) 89291 if _rc != i32(0) { 89292 goto _8 89293 } 89294 89295 _rc = _rc2 89296 _8: 89297 r0 = _rc 89298 return 89299 89300 } 89301 89302 var _vdbeIncrPopulateØ00__func__Ø000 [17]int8 // - 89303 89304 func init() { 89305 crt.Xstrncpy(nil, &_vdbeIncrPopulateØ00__func__Ø000[0], str(90472), 17) 89306 } 89307 89308 func _vdbeMergeEngineStep(tls *crt.TLS, _pMerger *XMergeEngine, _pbEof *int32) (r0 int32) { // sqlite3.c:87462:1 89309 var _rc int32 // sqlite3.c:87466:7 89310 _ = _rc 89311 var _iPrev int32 // sqlite3.c:87467:7 89312 _ = _iPrev 89313 var _pTask *XSortSubtask // sqlite3.c:87468:15 89314 _ = _pTask 89315 var _1_i int32 // sqlite3.c:87475:9 89316 _ = _1_i 89317 var _1_pReadr1 *XPmaReader // sqlite3.c:87476:15 89318 _ = _1_pReadr1 89319 var _1_pReadr2 *XPmaReader // sqlite3.c:87477:15 89320 _ = _1_pReadr2 89321 var _1_bCached int32 // sqlite3.c:87478:9 89322 _ = _1_bCached 89323 var _2_iRes int32 // sqlite3.c:87487:11 89324 _ = _2_iRes 89325 _iPrev = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(i32(1)))) 89326 _pTask = (*XSortSubtask)(unsafe.Pointer(_pMerger.X1)) 89327 _rc = _vdbePmaReaderNext(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+52*uintptr(_iPrev)))) 89328 if _rc != i32(0) { 89329 goto _0 89330 } 89331 89332 _1_bCached = i32(0) 89333 _1_pReadr1 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(_iPrev&i32(65534)))) 89334 _1_pReadr2 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(_iPrev|i32(1)))) 89335 _1_i = ((_pMerger.X0) + _iPrev) / i32(2) 89336 _1: 89337 if _1_i <= i32(0) { 89338 goto _4 89339 } 89340 89341 if (*Xsqlite3_file)(unsafe.Pointer(_1_pReadr1.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 89342 goto _5 89343 } 89344 89345 _2_iRes = i32(1) 89346 goto _6 89347 89348 _5: 89349 if (*Xsqlite3_file)(unsafe.Pointer(_1_pReadr2.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 89350 goto _7 89351 } 89352 89353 _2_iRes = i32(-1) 89354 goto _8 89355 89356 _7: 89357 _2_iRes = (*(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 89358 f func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 89359 }{(_pTask.X6)})))(tls, _pTask, &_1_bCached, (unsafe.Pointer)(_1_pReadr1.X6), _1_pReadr1.X3, (unsafe.Pointer)(_1_pReadr2.X6), _1_pReadr2.X3) 89360 _8: 89361 _6: 89362 if _2_iRes >= i32(0) && (_2_iRes != i32(0) || uintptr(unsafe.Pointer(_1_pReadr1)) >= uintptr(unsafe.Pointer(_1_pReadr2))) { 89363 goto _11 89364 } 89365 89366 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i))) = int32((uintptr(unsafe.Pointer(_1_pReadr1)) - uintptr(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(_pMerger.X3))))) / 52) 89367 _1_pReadr2 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i^i32(1))))))) 89368 _1_bCached = i32(0) 89369 goto _12 89370 89371 _11: 89372 if (*Xsqlite3_file)(unsafe.Pointer(_1_pReadr1.X4)) == nil { 89373 goto _13 89374 } 89375 89376 _1_bCached = i32(0) 89377 _13: 89378 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i))) = int32((uintptr(unsafe.Pointer(_1_pReadr2)) - uintptr(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(_pMerger.X3))))) / 52) 89379 _1_pReadr1 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_1_i^i32(1))))))) 89380 _12: 89381 _1_i = _1_i / i32(2) 89382 goto _1 89383 89384 _4: 89385 *_pbEof = bool2int((*Xsqlite3_file)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+52*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(i32(1))))))).X4)) == (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0))))) 89386 _0: 89387 r0 = func() int32 { 89388 if _rc == i32(0) { 89389 return int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) 89390 } 89391 return _rc 89392 }() 89393 return 89394 89395 } 89396 89397 func _vdbeSorterAddToTree(tls *crt.TLS, _pTask *XSortSubtask, _nDepth int32, _iSeq int32, _pRoot *XMergeEngine, _pLeaf *XMergeEngine) (r0 int32) { // sqlite3.c:88202:1 89398 var _rc int32 // sqlite3.c:88209:7 89399 _ = _rc 89400 var _nDiv int32 // sqlite3.c:88210:7 89401 _ = _nDiv 89402 var _i int32 // sqlite3.c:88211:7 89403 _ = _i 89404 var _p *XMergeEngine // sqlite3.c:88212:15 89405 _ = _p 89406 var _pIncr *XIncrMerger // sqlite3.c:88213:14 89407 _ = _pIncr 89408 var _2_iIter int32 // sqlite3.c:88222:9 89409 _ = _2_iIter 89410 var _2_pReadr *XPmaReader // sqlite3.c:88223:15 89411 _ = _2_pReadr 89412 var _3_pNew *XMergeEngine // sqlite3.c:88226:19 89413 _ = _3_pNew 89414 _rc = i32(0) 89415 _nDiv = i32(1) 89416 _p = _pRoot 89417 _rc = _vdbeIncrMergerNew(tls, _pTask, _pLeaf, &_pIncr) 89418 _i = i32(1) 89419 _0: 89420 if _i >= _nDepth { 89421 goto _3 89422 } 89423 89424 _nDiv = _nDiv * i32(16) 89425 _i += 1 89426 goto _0 89427 89428 _3: 89429 _i = i32(1) 89430 _4: 89431 if _i >= _nDepth || _rc != i32(0) { 89432 goto _8 89433 } 89434 89435 _2_iIter = (_iSeq / _nDiv) % i32(16) 89436 _2_pReadr = (*XPmaReader)(unsafe.Pointer(uintptr(_p.X3) + 52*uintptr(_2_iIter))) 89437 if (*XIncrMerger)(unsafe.Pointer(_2_pReadr.X10)) != (*XIncrMerger)(unsafe.Pointer(uintptr(i32(0)))) { 89438 goto _9 89439 } 89440 89441 _3_pNew = _vdbeMergeEngineNew(tls, i32(16)) 89442 if _3_pNew != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 89443 goto _10 89444 } 89445 89446 _rc = _sqlite3NomemError(tls, i32(88228)) 89447 goto _11 89448 89449 _10: 89450 _rc = _vdbeIncrMergerNew(tls, _pTask, _3_pNew, (**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pReadr))+uintptr(48 /* X10 */)))))) 89451 _11: 89452 _9: 89453 if _rc != i32(0) { 89454 goto _12 89455 } 89456 89457 _p = (*XMergeEngine)(unsafe.Pointer((*XIncrMerger)(unsafe.Pointer(_2_pReadr.X10)).X1)) 89458 _nDiv = _nDiv / i32(16) 89459 _12: 89460 _i += 1 89461 goto _4 89462 89463 _8: 89464 if _rc != i32(0) { 89465 goto _13 89466 } 89467 89468 *(**XIncrMerger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPmaReader)(unsafe.Pointer(uintptr(_p.X3)+52*uintptr(_iSeq%i32(16)))))) + uintptr(48 /* X10 */))))) = _pIncr 89469 goto _14 89470 89471 _13: 89472 _vdbeIncrFree(tls, _pIncr) 89473 _14: 89474 r0 = _rc 89475 return 89476 89477 } 89478 89479 func _vdbeIncrMergerNew(tls *crt.TLS, _pTask *XSortSubtask, _pMerger *XMergeEngine, _ppOut **XIncrMerger) (r0 int32) { // sqlite3.c:87837:1 89480 var _rc int32 // sqlite3.c:87842:7 89481 _ = _rc 89482 var _pIncr *XIncrMerger // sqlite3.c:87843:14 89483 _ = _pIncr 89484 _rc = i32(0) 89485 _pIncr = store8262880(_ppOut, (*XIncrMerger)(unsafe.Pointer(func() unsafe.Pointer { 89486 if _sqlite3FaultSim(tls, i32(100)) != 0 { 89487 return unsafe.Pointer((unsafe.Pointer)(uintptr(i32(0)))) 89488 } 89489 return _sqlite3MallocZero(tls, uint64(u32(52))) 89490 }()))) 89491 if _pIncr == nil { 89492 goto _2 89493 } 89494 89495 *(**XMergeEngine)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(4 /* X1 */))))) = _pMerger 89496 *(**XSortSubtask)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(0 /* X0 */))))) = _pTask 89497 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(16 /* X3 */))) = func() int32 { 89498 if (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X2) + i32(9)) > (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X1) / i32(2)) { 89499 return (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X2) + i32(9)) 89500 } 89501 return (((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X1) / i32(2)) 89502 }() 89503 { 89504 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))))) + uintptr(4 /* X1 */))) 89505 *p = (*p) + int64(_pIncr.X3) 89506 sink967 = *p 89507 } 89508 goto _5 89509 89510 _2: 89511 _vdbeMergeEngineFree(tls, _pMerger) 89512 _rc = _sqlite3NomemError(tls, i32(87852)) 89513 _5: 89514 r0 = _rc 89515 return 89516 89517 } 89518 89519 var _vdbeSorterSetupMergeØ00__func__Ø000 [21]int8 // - 89520 89521 func init() { 89522 crt.Xstrncpy(nil, &_vdbeSorterSetupMergeØ00__func__Ø000[0], str(90492), 21) 89523 } 89524 89525 func _vdbeIncrMergerSetThreads(tls *crt.TLS, _pIncr *XIncrMerger) { // sqlite3.c:87861:1 89526 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(24 /* X5 */))) = i32(1) 89527 { 89528 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr(_pIncr.X0)+uintptr(48 /* X8 */))))) + uintptr(4 /* X1 */))) 89529 *p = (*p) - int64(_pIncr.X3) 89530 sink967 = *p 89531 } 89532 return 89533 89534 } 89535 89536 func _vdbePmaReaderIncrInit(tls *crt.TLS, _pReadr *XPmaReader, _eMode int32) (r0 int32) { // sqlite3.c:88115:1 89537 var _pIncr *XIncrMerger // sqlite3.c:88116:14 89538 _ = _pIncr 89539 var _rc int32 // sqlite3.c:88117:7 89540 _ = _rc 89541 var _2_pCtx unsafe.Pointer // sqlite3.c:88122:12 89542 _ = _2_pCtx 89543 _pIncr = (*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) 89544 _rc = i32(0) 89545 if _pIncr == nil { 89546 goto _0 89547 } 89548 89549 func() int32 { 89550 if ((_pIncr.X5) == i32(0)) || (_eMode == i32(1)) { 89551 return i32(0) 89552 } 89553 return func() int32 { 89554 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88120), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderIncrInitØ00__func__Ø000))), unsafe.Pointer(str(90516))) 89555 crt.X__builtin_abort(tls) 89556 return i32(0) 89557 }() 89558 }() 89559 if (_pIncr.X5) == 0 { 89560 goto _4 89561 } 89562 89563 _2_pCtx = (unsafe.Pointer)(_pReadr) 89564 _rc = _vdbeSorterCreateThread(tls, (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)), _vdbePmaReaderBgIncrInit, _2_pCtx) 89565 goto _5 89566 89567 _4: 89568 _rc = _vdbePmaReaderIncrMergeInit(tls, _pReadr, _eMode) 89569 _5: 89570 _0: 89571 r0 = _rc 89572 return 89573 89574 } 89575 89576 var _vdbePmaReaderIncrInitØ00__func__Ø000 [22]int8 // - 89577 89578 func init() { 89579 crt.Xstrncpy(nil, &_vdbePmaReaderIncrInitØ00__func__Ø000[0], str(90564), 22) 89580 } 89581 89582 func _vdbePmaReaderBgIncrInit(tls *crt.TLS, _pCtx unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:88094:1 89583 var _pReader *XPmaReader // sqlite3.c:88095:13 89584 _ = _pReader 89585 var _pRet unsafe.Pointer // sqlite3.c:88096:8 89586 _ = _pRet 89587 _pReader = (*XPmaReader)(unsafe.Pointer(_pCtx)) 89588 _pRet = (unsafe.Pointer)(uintptr(_vdbePmaReaderIncrMergeInit(tls, _pReader, i32(1)))) 89589 *(*int32)(unsafe.Pointer(uintptr((*XIncrMerger)(unsafe.Pointer(_pReader.X10)).X0) + uintptr(4 /* X1 */))) = i32(1) 89590 r0 = _pRet 89591 return 89592 89593 } 89594 89595 func _vdbePmaReaderIncrMergeInit(tls *crt.TLS, _pReadr *XPmaReader, _eMode int32) (r0 int32) { // sqlite3.c:88027:1 89596 var _rc int32 // sqlite3.c:88028:7 89597 _ = _rc 89598 var _pIncr *XIncrMerger // sqlite3.c:88029:14 89599 _ = _pIncr 89600 var _pTask *XSortSubtask // sqlite3.c:88030:15 89601 _ = _pTask 89602 var _db *Xsqlite3 // sqlite3.c:88031:11 89603 _ = _db 89604 var _1_mxSz int32 // sqlite3.c:88042:9 89605 _ = _1_mxSz 89606 _rc = i32(0) 89607 _pIncr = (*XIncrMerger)(unsafe.Pointer(_pReadr.X10)) 89608 _pTask = (*XSortSubtask)(unsafe.Pointer(_pIncr.X0)) 89609 _db = (*Xsqlite3)(unsafe.Pointer((*XVdbeSorter)(unsafe.Pointer(_pTask.X2)).X6)) 89610 i32(0) 89611 _rc = _vdbeMergeEngineInit(tls, _pTask, (*XMergeEngine)(unsafe.Pointer(_pIncr.X1)), _eMode) 89612 if _rc != i32(0) { 89613 goto _0 89614 } 89615 89616 _1_mxSz = _pIncr.X3 89617 if (_pIncr.X5) == 0 { 89618 goto _1 89619 } 89620 89621 _rc = _vdbeSorterOpenTempFile(tls, _db, int64(_1_mxSz), (**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(0))))))+uintptr(0 /* X0 */)))))) 89622 if _rc != i32(0) { 89623 goto _2 89624 } 89625 89626 _rc = _vdbeSorterOpenTempFile(tls, _db, int64(_1_mxSz), (**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(1))))))+uintptr(0 /* X0 */)))))) 89627 _2: 89628 goto _3 89629 89630 _1: 89631 if (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))).X0)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 89632 goto _4 89633 } 89634 89635 func() int32 { 89636 if ((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(48 /* X8 */))).X1) > int64(i32(0)) { 89637 return i32(0) 89638 } 89639 return func() int32 { 89640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88053), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderIncrMergeInitØ00__func__Ø000))), unsafe.Pointer(str(90588))) 89641 crt.X__builtin_abort(tls) 89642 return i32(0) 89643 }() 89644 }() 89645 _rc = _vdbeSorterOpenTempFile(tls, _db, (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))).X1, (**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */)))))+uintptr(0 /* X0 */)))))) 89646 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))))) + uintptr(4 /* X1 */))) = int64(i32(0)) 89647 _4: 89648 if _rc != i32(0) { 89649 goto _7 89650 } 89651 89652 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr))+uintptr(28 /* X6 */)))))+12*uintptr(i32(1)))))) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(48 /* X8 */))).X0)) 89653 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIncr)) + uintptr(8 /* X2 */))) = (*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask)) + uintptr(48 /* X8 */))).X1 89654 { 89655 p := (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XSorterFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTask))+uintptr(48 /* X8 */))))) + uintptr(4 /* X1 */))) 89656 *p = (*p) + int64(_1_mxSz) 89657 sink967 = *p 89658 } 89659 _7: 89660 _3: 89661 _0: 89662 if _rc != i32(0) || (_pIncr.X5) == 0 { 89663 goto _9 89664 } 89665 89666 func() int32 { 89667 if (_eMode == i32(2)) || (_eMode == i32(1)) { 89668 return i32(0) 89669 } 89670 return func() int32 { 89671 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88077), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbePmaReaderIncrMergeInitØ00__func__Ø000))), unsafe.Pointer(str(90608))) 89672 crt.X__builtin_abort(tls) 89673 return i32(0) 89674 }() 89675 }() 89676 _rc = _vdbeIncrPopulate(tls, _pIncr) 89677 _9: 89678 if _rc != i32(0) || i32(0) == 0 && _eMode == i32(1) { 89679 goto _15 89680 } 89681 89682 _rc = _vdbePmaReaderNext(tls, _pReadr) 89683 _15: 89684 r0 = _rc 89685 return 89686 89687 } 89688 89689 func _vdbeMergeEngineInit(tls *crt.TLS, _pTask *XSortSubtask, _pMerger *XMergeEngine, _eMode int32) (r0 int32) { // sqlite3.c:87956:1 89690 var _rc int32 // sqlite3.c:87961:7 89691 _ = _rc 89692 var _i int32 // sqlite3.c:87962:7 89693 _ = _i 89694 var _nTree int32 // sqlite3.c:87963:7 89695 _ = _nTree 89696 _rc = i32(0) 89697 _nTree = _pMerger.X0 89698 i32(0) 89699 func() int32 { 89700 if (*XSortSubtask)(unsafe.Pointer(_pMerger.X1)) == (*XSortSubtask)(unsafe.Pointer(uintptr(i32(0)))) { 89701 return i32(0) 89702 } 89703 return func() int32 { 89704 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87969), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMergeEngineInitØ00__func__Ø000))), unsafe.Pointer(str(90656))) 89705 crt.X__builtin_abort(tls) 89706 return i32(0) 89707 }() 89708 }() 89709 *(**XSortSubtask)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger)) + uintptr(4 /* X1 */))))) = _pTask 89710 _i = i32(0) 89711 _2: 89712 if _i >= _nTree { 89713 goto _5 89714 } 89715 89716 if i32(1) == 0 || _eMode != i32(2) { 89717 goto _7 89718 } 89719 89720 _rc = _vdbePmaReaderNext(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+52*uintptr((_nTree-_i)-i32(1))))) 89721 goto _8 89722 89723 _7: 89724 _rc = _vdbePmaReaderIncrInit(tls, (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3)+52*uintptr(_i))), i32(0)) 89725 _8: 89726 if _rc == i32(0) { 89727 goto _9 89728 } 89729 89730 r0 = _rc 89731 return 89732 89733 _9: 89734 _i += 1 89735 goto _2 89736 89737 _5: 89738 _i = (_pMerger.X0) - i32(1) 89739 _10: 89740 if _i <= i32(0) { 89741 goto _13 89742 } 89743 89744 _vdbeMergeEngineCompare(tls, _pMerger, _i) 89745 _i -= 1 89746 goto _10 89747 89748 _13: 89749 r0 = int32((*XUnpackedRecord)(unsafe.Pointer(_pTask.X3)).X4) 89750 return 89751 89752 } 89753 89754 var _vdbeMergeEngineInitØ00__func__Ø000 [20]int8 // - 89755 89756 func init() { 89757 crt.Xstrncpy(nil, &_vdbeMergeEngineInitØ00__func__Ø000[0], str(90676), 20) 89758 } 89759 89760 func _vdbeMergeEngineCompare(tls *crt.TLS, _pMerger *XMergeEngine, _iOut int32) { // sqlite3.c:87874:1 89761 var _i1 int32 // sqlite3.c:87878:7 89762 _ = _i1 89763 var _i2 int32 // sqlite3.c:87879:7 89764 _ = _i2 89765 var _iRes int32 // sqlite3.c:87880:7 89766 _ = _iRes 89767 var _p1 *XPmaReader // sqlite3.c:87881:13 89768 _ = _p1 89769 var _p2 *XPmaReader // sqlite3.c:87882:13 89770 _ = _p2 89771 var _5_pTask *XSortSubtask // sqlite3.c:87902:17 89772 _ = _5_pTask 89773 var _5_bCached int32 // sqlite3.c:87903:9 89774 _ = _5_bCached 89775 var _5_res int32 // sqlite3.c:87904:9 89776 _ = _5_res 89777 func() int32 { 89778 if (_iOut < (_pMerger.X0)) && (_iOut > i32(0)) { 89779 return i32(0) 89780 } 89781 return func() int32 { 89782 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87884), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMergeEngineCompareØ00__func__Ø000))), unsafe.Pointer(str(90696))) 89783 crt.X__builtin_abort(tls) 89784 return i32(0) 89785 }() 89786 }() 89787 if _iOut < ((_pMerger.X0) / i32(2)) { 89788 goto _3 89789 } 89790 89791 _i1 = (_iOut - ((_pMerger.X0) / i32(2))) * i32(2) 89792 _i2 = _i1 + i32(1) 89793 goto _4 89794 89795 _3: 89796 _i1 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_iOut*i32(2)))) 89797 _i2 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr((_iOut*i32(2))+i32(1)))) 89798 _4: 89799 _p1 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(_i1))) 89800 _p2 = (*XPmaReader)(unsafe.Pointer(uintptr(_pMerger.X3) + 52*uintptr(_i2))) 89801 if (*Xsqlite3_file)(unsafe.Pointer(_p1.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 89802 goto _5 89803 } 89804 89805 _iRes = _i2 89806 goto _6 89807 89808 _5: 89809 if (*Xsqlite3_file)(unsafe.Pointer(_p2.X4)) != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 89810 goto _7 89811 } 89812 89813 _iRes = _i1 89814 goto _8 89815 89816 _7: 89817 _5_pTask = (*XSortSubtask)(unsafe.Pointer(_pMerger.X1)) 89818 _5_bCached = i32(0) 89819 func() int32 { 89820 if (*XUnpackedRecord)(unsafe.Pointer(_5_pTask.X3)) != (*XUnpackedRecord)(unsafe.Pointer(uintptr(i32(0)))) { 89821 return i32(0) 89822 } 89823 return func() int32 { 89824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87905), unsafe.Pointer((*int8)(unsafe.Pointer(&_vdbeMergeEngineCompareØ00__func__Ø000))), unsafe.Pointer(str(90728))) 89825 crt.X__builtin_abort(tls) 89826 return i32(0) 89827 }() 89828 }() 89829 _5_res = (*(*func(*crt.TLS, *XSortSubtask, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 89830 f func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 89831 }{(_5_pTask.X6)})))(tls, _5_pTask, &_5_bCached, (unsafe.Pointer)(_p1.X6), _p1.X3, (unsafe.Pointer)(_p2.X6), _p2.X3) 89832 if _5_res > i32(0) { 89833 goto _11 89834 } 89835 89836 _iRes = _i1 89837 goto _12 89838 89839 _11: 89840 _iRes = _i2 89841 _12: 89842 _8: 89843 _6: 89844 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMerger.X2)) + 4*uintptr(_iOut))) = _iRes 89845 return 89846 89847 } 89848 89849 var _vdbeMergeEngineCompareØ00__func__Ø000 [23]int8 // - 89850 89851 func init() { 89852 crt.Xstrncpy(nil, &_vdbeMergeEngineCompareØ00__func__Ø000[0], str(90748), 23) 89853 } 89854 89855 var _vdbePmaReaderIncrMergeInitØ00__func__Ø000 [27]int8 // - 89856 89857 func init() { 89858 crt.Xstrncpy(nil, &_vdbePmaReaderIncrMergeInitØ00__func__Ø000[0], str(90772), 27) 89859 } 89860 89861 func _sqlite3VdbeSorterNext(tls *crt.TLS, _db *Xsqlite3, _pCsr *XVdbeCursor, _pbEof *int32) (r0 int32) { // sqlite3.c:88467:1 89862 var _pSorter *XVdbeSorter // sqlite3.c:88468:14 89863 _ = _pSorter 89864 var _rc int32 // sqlite3.c:88469:7 89865 _ = _rc 89866 var _4_pFree *XSorterRecord // sqlite3.c:88490:18 89867 _ = _4_pFree 89868 func() int32 { 89869 if int32(_pCsr.X0) == i32(1) { 89870 return i32(0) 89871 } 89872 return func() int32 { 89873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88471), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(61056))) 89874 crt.X__builtin_abort(tls) 89875 return i32(0) 89876 }() 89877 }() 89878 _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) 89879 func() int32 { 89880 if ((_pSorter.X12) != 0) || (((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0))))) && ((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))))) { 89881 return i32(0) 89882 } 89883 return func() int32 { 89884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88473), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(90800))) 89885 crt.X__builtin_abort(tls) 89886 return i32(0) 89887 }() 89888 }() 89889 if (_pSorter.X12) == 0 { 89890 goto _6 89891 } 89892 89893 func() int32 { 89894 if ((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) == (*XPmaReader)(unsafe.Pointer(uintptr(i32(0))))) || ((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) == (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0))))) { 89895 return i32(0) 89896 } 89897 return func() int32 { 89898 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88475), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(90868))) 89899 crt.X__builtin_abort(tls) 89900 return i32(0) 89901 }() 89902 }() 89903 func() int32 { 89904 if (int32(_pSorter.X13) == i32(0)) || ((*XPmaReader)(unsafe.Pointer(_pSorter.X4)) != nil) { 89905 return i32(0) 89906 } 89907 return func() int32 { 89908 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88476), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(90912))) 89909 crt.X__builtin_abort(tls) 89910 return i32(0) 89911 }() 89912 }() 89913 func() int32 { 89914 if (int32(_pSorter.X13) == i32(1)) || ((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) != nil) { 89915 return i32(0) 89916 } 89917 return func() int32 { 89918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88477), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(90956))) 89919 crt.X__builtin_abort(tls) 89920 return i32(0) 89921 }() 89922 }() 89923 if (_pSorter.X13) == 0 { 89924 goto _16 89925 } 89926 89927 _rc = _vdbePmaReaderNext(tls, (*XPmaReader)(unsafe.Pointer(_pSorter.X4))) 89928 *_pbEof = bool2int((*Xsqlite3_file)(unsafe.Pointer((*XPmaReader)(unsafe.Pointer(_pSorter.X4)).X4)) == (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0))))) 89929 goto _17 89930 89931 _16: 89932 func() int32 { 89933 if (*XMergeEngine)(unsafe.Pointer(_pSorter.X5)) != (*XMergeEngine)(unsafe.Pointer(uintptr(i32(0)))) { 89934 return i32(0) 89935 } 89936 return func() int32 { 89937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88485), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(91000))) 89938 crt.X__builtin_abort(tls) 89939 return i32(0) 89940 }() 89941 }() 89942 func() int32 { 89943 if (*XSortSubtask)(unsafe.Pointer((*XMergeEngine)(unsafe.Pointer(_pSorter.X5)).X1)) == (*XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XSortSubtask)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(64 /* X17 */)))))+60*uintptr(i32(0)))) { 89944 return i32(0) 89945 } 89946 return func() int32 { 89947 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(88486), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterNextØ00__func__Ø000))), unsafe.Pointer(str(91020))) 89948 crt.X__builtin_abort(tls) 89949 return i32(0) 89950 }() 89951 }() 89952 _rc = _vdbeMergeEngineStep(tls, (*XMergeEngine)(unsafe.Pointer(_pSorter.X5)), _pbEof) 89953 _17: 89954 goto _22 89955 89956 _6: 89957 _4_pFree = (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X0)) 89958 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pFree)) + uintptr(4 /* X1 */))))))) 89959 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pFree)) + uintptr(4 /* X1 */))))))) = (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) 89960 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 89961 goto _23 89962 } 89963 89964 _vdbeSorterRecordFree(tls, _db, _4_pFree) 89965 _23: 89966 *_pbEof = bool2int((*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)) == nil) 89967 _rc = i32(0) 89968 _22: 89969 r0 = _rc 89970 return 89971 89972 } 89973 89974 var _sqlite3VdbeSorterNextØ00__func__Ø000 [22]int8 // - 89975 89976 func init() { 89977 crt.Xstrncpy(nil, &_sqlite3VdbeSorterNextØ00__func__Ø000[0], str(91068), 22) 89978 } 89979 89980 func _sqlite3VdbeSorterWrite(tls *crt.TLS, _pCsr *XVdbeCursor, _pVal *XMem) (r0 int32) { // sqlite3.c:87614:1 89981 var _pSorter *XVdbeSorter // sqlite3.c:87618:14 89982 _ = _pSorter 89983 var _rc int32 // sqlite3.c:87619:7 89984 _ = _rc 89985 var _pNew *XSorterRecord // sqlite3.c:87620:16 89986 _ = _pNew 89987 var _bFlush int32 // sqlite3.c:87621:7 89988 _ = _bFlush 89989 var _nReq int32 // sqlite3.c:87622:7 89990 _ = _nReq 89991 var _nPMA int32 // sqlite3.c:87623:7 89992 _ = _nPMA 89993 var _t int32 // sqlite3.c:87624:7 89994 _ = _t 89995 var _9_nMin int32 // sqlite3.c:87680:9 89996 _ = _9_nMin 89997 var _10_aNew *uint8 // sqlite3.c:87683:10 89998 _ = _10_aNew 89999 var _10_iListOff int32 // sqlite3.c:87684:11 90000 _ = _10_iListOff 90001 var _10_nNew int32 // sqlite3.c:87685:11 90002 _ = _10_nNew 90003 _rc = i32(0) 90004 func() int32 { 90005 if int32(_pCsr.X0) == i32(1) { 90006 return i32(0) 90007 } 90008 return func() int32 { 90009 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87626), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterWriteØ00__func__Ø000))), unsafe.Pointer(str(61056))) 90010 crt.X__builtin_abort(tls) 90011 return i32(0) 90012 }() 90013 }() 90014 _pSorter = (*XVdbeSorter)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(36 /* X14 */))))))) 90015 func() int32 { 90016 if int32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal.X5)) + 1*uintptr(i32(1))))))) < int32(u8(128)) { 90017 return func() int32 { 90018 _t = int32(uint32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal.X5)) + 1*uintptr(i32(1)))))))) 90019 return i32(1) 90020 }() 90021 } 90022 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVal.X5))+1*uintptr(i32(1)))))), (*uint32)(unsafe.Pointer(&_t)))) 90023 }() 90024 if _t <= i32(0) || _t >= i32(10) || _t == i32(7) { 90025 goto _6 90026 } 90027 90028 { 90029 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(60 /* X16 */))) 90030 *p = uint8(int32(*p) & i32(1)) 90031 sink6915 = *p 90032 } 90033 goto _7 90034 90035 _6: 90036 if _t <= i32(10) || (_t&i32(1)) == 0 { 90037 goto _9 90038 } 90039 90040 { 90041 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(60 /* X16 */))) 90042 *p = uint8(int32(*p) & i32(2)) 90043 sink6915 = *p 90044 } 90045 goto _10 90046 90047 _9: 90048 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(60 /* X16 */))) = uint8(i32(0)) 90049 _10: 90050 _7: 90051 func() int32 { 90052 if _pSorter != nil { 90053 return i32(0) 90054 } 90055 return func() int32 { 90056 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87637), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterWriteØ00__func__Ø000))), unsafe.Pointer(str(88884))) 90057 crt.X__builtin_abort(tls) 90058 return i32(0) 90059 }() 90060 }() 90061 _nReq = int32(uint32(_pVal.X4) + u32(8)) 90062 _nPMA = (_pVal.X4) + _sqlite3VarintLen(tls, uint64(_pVal.X4)) 90063 if (_pSorter.X1) == 0 { 90064 goto _13 90065 } 90066 90067 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) == nil { 90068 goto _14 90069 } 90070 90071 _bFlush = bool2int((_pSorter.X10) != 0 && (((_pSorter.X10) + _nReq) > (_pSorter.X1))) 90072 goto _16 90073 90074 _14: 90075 _bFlush = bool2int((((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X2) > (_pSorter.X1)) || ((((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X2) > (_pSorter.X0)) && _sqlite3HeapNearlyFull(tls) != 0)) 90076 _16: 90077 if _bFlush == 0 { 90078 goto _19 90079 } 90080 90081 _rc = _vdbeSorterFlushPMA(tls, _pSorter) 90082 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(8 /* X2 */))) = i32(0) 90083 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(48 /* X10 */))) = i32(0) 90084 func() int32 { 90085 if (_rc != i32(0)) || ((*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)) == (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0))))) { 90086 return i32(0) 90087 } 90088 return func() int32 { 90089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(87670), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSorterWriteØ00__func__Ø000))), unsafe.Pointer(str(91092))) 90090 crt.X__builtin_abort(tls) 90091 return i32(0) 90092 }() 90093 }() 90094 _19: 90095 _13: 90096 { 90097 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(8 /* X2 */))) 90098 *p = (*p) + _nPMA 90099 sink961 = *p 90100 } 90101 if _nPMA <= (_pSorter.X2) { 90102 goto _23 90103 } 90104 90105 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(8 /* X2 */))) = _nPMA 90106 _23: 90107 if ((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X1) == nil { 90108 goto _24 90109 } 90110 90111 _9_nMin = (_pSorter.X10) + _nReq 90112 if _9_nMin <= (_pSorter.X11) { 90113 goto _25 90114 } 90115 90116 _10_iListOff = int32((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)))))) - uintptr(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X1))) / 1) 90117 _10_nNew = (_pSorter.X11) * i32(2) 90118 _26: 90119 if _10_nNew >= _9_nMin { 90120 goto _27 90121 } 90122 90123 _10_nNew = _10_nNew * i32(2) 90124 goto _26 90125 90126 _27: 90127 if _10_nNew <= (_pSorter.X1) { 90128 goto _28 90129 } 90130 90131 _10_nNew = _pSorter.X1 90132 _28: 90133 if _10_nNew >= _9_nMin { 90134 goto _29 90135 } 90136 90137 _10_nNew = _9_nMin 90138 _29: 90139 _10_aNew = (*uint8)(unsafe.Pointer(_sqlite3Realloc(tls, (unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X1), uint64(_10_nNew)))) 90140 if _10_aNew != nil { 90141 goto _30 90142 } 90143 90144 r0 = _sqlite3NomemError(tls, i32(87691)) 90145 return 90146 90147 _30: 90148 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))))) = (*XSorterRecord)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_aNew)) + 1*uintptr(_10_iListOff))))) 90149 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(4 /* X1 */))) = _10_aNew 90150 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(52 /* X11 */))) = _10_nNew 90151 _25: 90152 _pNew = (*XSorterRecord)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X1)) + 1*uintptr(_pSorter.X10))))) 90153 { 90154 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(48 /* X10 */))) 90155 *p = (*p) + ((_nReq + i32(7)) & i32(-8)) 90156 sink961 = *p 90157 } 90158 if (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)) == nil { 90159 goto _31 90160 } 90161 90162 *(*int32)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))) = int32((uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X0)))))) - uintptr(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))).X1))) / 1) 90163 _31: 90164 goto _32 90165 90166 _24: 90167 _pNew = (*XSorterRecord)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_nReq)))) 90168 if _pNew != (*XSorterRecord)(unsafe.Pointer(uintptr(i32(0)))) { 90169 goto _33 90170 } 90171 90172 r0 = _sqlite3NomemError(tls, i32(87705)) 90173 return 90174 90175 _33: 90176 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8268643)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))))) = (*XSorterRecord)(unsafe.Pointer((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter)) + uintptr(36 /* X9 */))).X0)) 90177 _32: 90178 crt.Xmemcpy(tls, (unsafe.Pointer)((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer(_pNew))+uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((*XSorterRecord)(unsafe.Pointer(uintptr(8)))))))))))), (unsafe.Pointer)(_pVal.X5), uint32(_pVal.X4)) 90179 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _pVal.X4 90180 *(**XSorterRecord)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8228881)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSorter))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))))) = _pNew 90181 r0 = _rc 90182 return 90183 90184 } 90185 90186 var _sqlite3VdbeSorterWriteØ00__func__Ø000 [23]int8 // - 90187 90188 func init() { 90189 crt.Xstrncpy(nil, &_sqlite3VdbeSorterWriteØ00__func__Ø000[0], str(91132), 23) 90190 } 90191 90192 func _sqlite3HeapNearlyFull(tls *crt.TLS) (r0 int32) { // sqlite3.c:24359:1 90193 r0 = _mem0.X5 90194 return 90195 90196 } 90197 90198 func _sqlite3VdbeIdxRowid(tls *crt.TLS, _db *Xsqlite3, _pCur *XBtCursor, _rowid *int64) (r0 int32) { // sqlite3.c:75709:1 90199 var _nCellKey int64 // sqlite3.c:75710:7 90200 _ = _nCellKey 90201 var _rc int32 // sqlite3.c:75711:7 90202 _ = _rc 90203 var _szHdr uint32 // sqlite3.c:75712:7 90204 _ = _szHdr 90205 var _typeRowid uint32 // sqlite3.c:75713:7 90206 _ = _typeRowid 90207 var _lenRowid uint32 // sqlite3.c:75714:7 90208 _ = _lenRowid 90209 var _m XMem // sqlite3.c:75715:7 90210 _ = _m 90211 var _v XMem // sqlite3.c:75715:10 90212 _ = _v 90213 _nCellKey = i64(0) 90214 func() int32 { 90215 if _sqlite3BtreeCursorIsValid(tls, _pCur) != 0 { 90216 return i32(0) 90217 } 90218 return func() int32 { 90219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75722), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIdxRowidØ00__func__Ø000))), unsafe.Pointer(str(79804))) 90220 crt.X__builtin_abort(tls) 90221 return i32(0) 90222 }() 90223 }() 90224 _nCellKey = int64(_sqlite3BtreePayloadSize(tls, _pCur)) 90225 func() int32 { 90226 if (uint64(_nCellKey) & u64(4294967295)) == uint64(_nCellKey) { 90227 return i32(0) 90228 } 90229 return func() int32 { 90230 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIdxRowidØ00__func__Ø000))), unsafe.Pointer(str(91156))) 90231 crt.X__builtin_abort(tls) 90232 return i32(0) 90233 }() 90234 }() 90235 _sqlite3VdbeMemInit(tls, &_m, _db, uint16(i32(0))) 90236 _rc = _sqlite3VdbeMemFromBtree(tls, _pCur, uint32(i32(0)), uint32(_nCellKey), &_m) 90237 if _rc == 0 { 90238 goto _4 90239 } 90240 90241 r0 = _rc 90242 return 90243 90244 _4: 90245 func() int32 { 90246 if int32(*(*uint8)(unsafe.Pointer(_m.X5))) < int32(u8(128)) { 90247 return func() int32 { _szHdr = uint32(*(*uint8)(unsafe.Pointer(_m.X5))); return i32(1) }() 90248 } 90249 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer(_m.X5)), &_szHdr)) 90250 }() 90251 if _szHdr >= uint32(i32(3)) && int32(_szHdr) <= (_m.X4) { 90252 goto _8 90253 } 90254 90255 goto _idx_rowid_corruption 90256 90257 _8: 90258 func() int32 { 90259 if int32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5)) + 1*uintptr(_szHdr-uint32(i32(1)))))))) < int32(u8(128)) { 90260 return func() int32 { 90261 _typeRowid = uint32(*(*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5)) + 1*uintptr(_szHdr-uint32(i32(1)))))))) 90262 return i32(1) 90263 }() 90264 } 90265 return int32(_sqlite3GetVarint32(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5))+1*uintptr(_szHdr-uint32(i32(1))))))), &_typeRowid)) 90266 }() 90267 if _typeRowid >= uint32(i32(1)) && _typeRowid <= uint32(i32(9)) && _typeRowid != uint32(i32(7)) { 90268 goto _13 90269 } 90270 90271 goto _idx_rowid_corruption 90272 90273 _13: 90274 _lenRowid = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SmallTypeSizes)) + 1*uintptr(_typeRowid)))) 90275 if uint32(_m.X4) >= (_szHdr + _lenRowid) { 90276 goto _14 90277 } 90278 90279 goto _idx_rowid_corruption 90280 90281 _14: 90282 _sqlite3VdbeSerialGet(tls, (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_m.X5))+1*uintptr(uint32(_m.X4)-_lenRowid))))), _typeRowid, &_v) 90283 *_rowid = *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_v)) + uintptr(0 /* X0 */))))) 90284 _sqlite3VdbeMemRelease(tls, &_m) 90285 r0 = i32(0) 90286 return 90287 90288 _idx_rowid_corruption: 90289 _sqlite3VdbeMemRelease(tls, &_m) 90290 r0 = _sqlite3CorruptError(tls, i32(75772)) 90291 return 90292 90293 } 90294 90295 var _sqlite3VdbeIdxRowidØ00__func__Ø000 [20]int8 // - 90296 90297 func init() { 90298 crt.Xstrncpy(nil, &_sqlite3VdbeIdxRowidØ00__func__Ø000[0], str(91200), 20) 90299 } 90300 90301 func _sqlite3VdbeIdxKeyCompare(tls *crt.TLS, _db *Xsqlite3, _pC *XVdbeCursor, _pUnpacked *XUnpackedRecord, _res *int32) (r0 int32) { // sqlite3.c:75786:1 90302 var _nCellKey int64 // sqlite3.c:75792:7 90303 _ = _nCellKey 90304 var _rc int32 // sqlite3.c:75793:7 90305 _ = _rc 90306 var _pCur *XBtCursor // sqlite3.c:75794:12 90307 _ = _pCur 90308 var _m XMem // sqlite3.c:75795:7 90309 _ = _m 90310 _nCellKey = i64(0) 90311 func() int32 { 90312 if int32(_pC.X0) == i32(0) { 90313 return i32(0) 90314 } 90315 return func() int32 { 90316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75797), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIdxKeyCompareØ00__func__Ø000))), unsafe.Pointer(str(67568))) 90317 crt.X__builtin_abort(tls) 90318 return i32(0) 90319 }() 90320 }() 90321 _pCur = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pC)) + uintptr(36 /* X14 */))))))) 90322 func() int32 { 90323 if _sqlite3BtreeCursorIsValid(tls, _pCur) != 0 { 90324 return i32(0) 90325 } 90326 return func() int32 { 90327 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeIdxKeyCompareØ00__func__Ø000))), unsafe.Pointer(str(79804))) 90328 crt.X__builtin_abort(tls) 90329 return i32(0) 90330 }() 90331 }() 90332 _nCellKey = int64(_sqlite3BtreePayloadSize(tls, _pCur)) 90333 if _nCellKey > int64(i32(0)) && _nCellKey <= int64(i32(2147483647)) { 90334 goto _5 90335 } 90336 90337 *_res = i32(0) 90338 r0 = _sqlite3CorruptError(tls, i32(75805)) 90339 return 90340 90341 _5: 90342 _sqlite3VdbeMemInit(tls, &_m, _db, uint16(i32(0))) 90343 _rc = _sqlite3VdbeMemFromBtree(tls, _pCur, uint32(i32(0)), uint32(_nCellKey), &_m) 90344 if _rc == 0 { 90345 goto _6 90346 } 90347 90348 r0 = _rc 90349 return 90350 90351 _6: 90352 *_res = _sqlite3VdbeRecordCompare(tls, _m.X4, (unsafe.Pointer)(_m.X5), _pUnpacked) 90353 _sqlite3VdbeMemRelease(tls, &_m) 90354 r0 = i32(0) 90355 return 90356 90357 } 90358 90359 var _sqlite3VdbeIdxKeyCompareØ00__func__Ø000 [25]int8 // - 90360 90361 func init() { 90362 crt.Xstrncpy(nil, &_sqlite3VdbeIdxKeyCompareØ00__func__Ø000[0], str(91220), 25) 90363 } 90364 90365 func _sqlite3BtreeDropTable(tls *crt.TLS, _p *XBtree, _iTable int32, _piMoved *int32) (r0 int32) { // sqlite3.c:67746:1 90366 var _rc int32 // sqlite3.c:67747:7 90367 _ = _rc 90368 _sqlite3BtreeEnter(tls, _p) 90369 _rc = _btreeDropTable(tls, _p, uint32(_iTable), _piMoved) 90370 _sqlite3BtreeLeave(tls, _p) 90371 r0 = _rc 90372 return 90373 90374 } 90375 90376 func _btreeDropTable(tls *crt.TLS, _p *XBtree, _iTable uint32, _piMoved *int32) (r0 int32) { // sqlite3.c:67664:1 90377 var _rc int32 // sqlite3.c:67665:7 90378 _ = _rc 90379 var _pPage *XMemPage // sqlite3.c:67666:11 90380 _ = _pPage 90381 var _pBt *XBtShared // sqlite3.c:67667:12 90382 _ = _pBt 90383 var _2_maxRootPgno uint32 // sqlite3.c:67688:10 90384 _ = _2_maxRootPgno 90385 var _5_pMove *XMemPage // sqlite3.c:67705:15 90386 _ = _5_pMove 90387 _pPage = nil 90388 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 90389 func() int32 { 90390 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 90391 return i32(0) 90392 } 90393 return func() int32 { 90394 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67669), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeDropTableØ00__func__Ø000))), unsafe.Pointer(str(17984))) 90395 crt.X__builtin_abort(tls) 90396 return i32(0) 90397 }() 90398 }() 90399 func() int32 { 90400 if int32(_p.X2) == i32(2) { 90401 return i32(0) 90402 } 90403 return func() int32 { 90404 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67670), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeDropTableØ00__func__Ø000))), unsafe.Pointer(str(80244))) 90405 crt.X__builtin_abort(tls) 90406 return i32(0) 90407 }() 90408 }() 90409 func() int32 { 90410 if _iTable >= uint32(i32(2)) { 90411 return i32(0) 90412 } 90413 return func() int32 { 90414 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67671), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeDropTableØ00__func__Ø000))), unsafe.Pointer(str(91248))) 90415 crt.X__builtin_abort(tls) 90416 return i32(0) 90417 }() 90418 }() 90419 _rc = _btreeGetPage(tls, _pBt, _iTable, &_pPage, i32(0)) 90420 if _rc == 0 { 90421 goto _6 90422 } 90423 90424 r0 = _rc 90425 return 90426 90427 _6: 90428 _rc = _sqlite3BtreeClearTable(tls, _p, int32(_iTable), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 90429 if _rc == 0 { 90430 goto _7 90431 } 90432 90433 _releasePage(tls, _pPage) 90434 r0 = _rc 90435 return 90436 90437 _7: 90438 *_piMoved = i32(0) 90439 if (_pBt.X5) == 0 { 90440 goto _8 90441 } 90442 90443 _sqlite3BtreeGetMeta(tls, _p, i32(4), &_2_maxRootPgno) 90444 if _iTable != _2_maxRootPgno { 90445 goto _9 90446 } 90447 90448 _freePage(tls, _pPage, &_rc) 90449 _releasePage(tls, _pPage) 90450 if _rc == i32(0) { 90451 goto _10 90452 } 90453 90454 r0 = _rc 90455 return 90456 90457 _10: 90458 goto _11 90459 90460 _9: 90461 _releasePage(tls, _pPage) 90462 _rc = _btreeGetPage(tls, _pBt, _2_maxRootPgno, &_5_pMove, i32(0)) 90463 if _rc == i32(0) { 90464 goto _12 90465 } 90466 90467 r0 = _rc 90468 return 90469 90470 _12: 90471 _rc = _relocatePage(tls, _pBt, _5_pMove, uint8(i32(1)), uint32(i32(0)), _iTable, i32(0)) 90472 _releasePage(tls, _5_pMove) 90473 if _rc == i32(0) { 90474 goto _13 90475 } 90476 90477 r0 = _rc 90478 return 90479 90480 _13: 90481 _5_pMove = (*XMemPage)(unsafe.Pointer(uintptr(i32(0)))) 90482 _rc = _btreeGetPage(tls, _pBt, _2_maxRootPgno, &_5_pMove, i32(0)) 90483 _freePage(tls, _5_pMove, &_rc) 90484 _releasePage(tls, _5_pMove) 90485 if _rc == i32(0) { 90486 goto _14 90487 } 90488 90489 r0 = _rc 90490 return 90491 90492 _14: 90493 *_piMoved = int32(_2_maxRootPgno) 90494 _11: 90495 _2_maxRootPgno -= 1 90496 _15: 90497 if _2_maxRootPgno != ((uint32(_sqlite3PendingByte)/(_pBt.X15))+uint32(i32(1))) && _ptrmapPageno(tls, _pBt, _2_maxRootPgno) != _2_maxRootPgno { 90498 goto _16 90499 } 90500 90501 _2_maxRootPgno -= 1 90502 goto _15 90503 90504 _16: 90505 func() int32 { 90506 if _2_maxRootPgno != ((uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1))) { 90507 return i32(0) 90508 } 90509 return func() int32 { 90510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67736), unsafe.Pointer((*int8)(unsafe.Pointer(&_btreeDropTableØ00__func__Ø000))), unsafe.Pointer(str(91260))) 90511 crt.X__builtin_abort(tls) 90512 return i32(0) 90513 }() 90514 }() 90515 _rc = _sqlite3BtreeUpdateMeta(tls, _p, i32(4), _2_maxRootPgno) 90516 goto _20 90517 90518 _8: 90519 _freePage(tls, _pPage, &_rc) 90520 _releasePage(tls, _pPage) 90521 _20: 90522 r0 = _rc 90523 return 90524 90525 } 90526 90527 var _btreeDropTableØ00__func__Ø000 [15]int8 // - 90528 90529 func init() { 90530 crt.Xstrncpy(nil, &_btreeDropTableØ00__func__Ø000[0], str(91296), 15) 90531 } 90532 90533 func _sqlite3BtreeClearTable(tls *crt.TLS, _p *XBtree, _iTable int32, _pnChange *int32) (r0 int32) { // sqlite3.c:67616:1 90534 var _rc int32 // sqlite3.c:67617:7 90535 _ = _rc 90536 var _pBt *XBtShared // sqlite3.c:67618:12 90537 _ = _pBt 90538 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 90539 _sqlite3BtreeEnter(tls, _p) 90540 func() int32 { 90541 if int32(_p.X2) == i32(2) { 90542 return i32(0) 90543 } 90544 return func() int32 { 90545 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67620), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeClearTableØ00__func__Ø000))), unsafe.Pointer(str(80244))) 90546 crt.X__builtin_abort(tls) 90547 return i32(0) 90548 }() 90549 }() 90550 _rc = _saveAllCursors(tls, _pBt, uint32(_iTable), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) 90551 if i32(0) != _rc { 90552 goto _2 90553 } 90554 90555 _invalidateIncrblobCursors(tls, _p, int64(i32(0)), i32(1)) 90556 _rc = _clearDatabasePage(tls, _pBt, uint32(_iTable), i32(0), _pnChange) 90557 _2: 90558 _sqlite3BtreeLeave(tls, _p) 90559 r0 = _rc 90560 return 90561 90562 } 90563 90564 var _sqlite3BtreeClearTableØ00__func__Ø000 [23]int8 // - 90565 90566 func init() { 90567 crt.Xstrncpy(nil, &_sqlite3BtreeClearTableØ00__func__Ø000[0], str(91312), 23) 90568 } 90569 90570 func _clearDatabasePage(tls *crt.TLS, _pBt *XBtShared, _pgno uint32, _freePageFlag int32, _pnChange *int32) (r0 int32) { // sqlite3.c:67549:1 90571 var _pPage *XMemPage // sqlite3.c:67555:11 90572 _ = _pPage 90573 var _rc int32 // sqlite3.c:67556:7 90574 _ = _rc 90575 var _pCell *uint8 // sqlite3.c:67557:17 90576 _ = _pCell 90577 var _i int32 // sqlite3.c:67558:7 90578 _ = _i 90579 var _hdr int32 // sqlite3.c:67559:7 90580 _ = _hdr 90581 var _info XCellInfo // sqlite3.c:67560:12 90582 _ = _info 90583 func() int32 { 90584 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pBt.X21))) != 0 { 90585 return i32(0) 90586 } 90587 return func() int32 { 90588 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67562), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearDatabasePageØ00__func__Ø000))), unsafe.Pointer(str(9252))) 90589 crt.X__builtin_abort(tls) 90590 return i32(0) 90591 }() 90592 }() 90593 if _pgno <= _btreePagecount(tls, _pBt) { 90594 goto _2 90595 } 90596 90597 r0 = _sqlite3CorruptError(tls, i32(67564)) 90598 return 90599 90600 _2: 90601 _rc = _getAndInitPage(tls, _pBt, _pgno, &_pPage, (*XBtCursor)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 90602 if _rc == 0 { 90603 goto _3 90604 } 90605 90606 r0 = _rc 90607 return 90608 90609 _3: 90610 if (_pPage.X1) == 0 { 90611 goto _4 90612 } 90613 90614 _rc = _sqlite3CorruptError(tls, i32(67569)) 90615 goto _cleardatabasepage_out 90616 90617 _4: 90618 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(1 /* X1 */))) = uint8(i32(1)) 90619 _hdr = int32(_pPage.X6) 90620 _i = i32(0) 90621 _5: 90622 if _i >= int32(_pPage.X14) { 90623 goto _8 90624 } 90625 90626 _pCell = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pPage.X19)) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(int32(_pPage.X15)&((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_i))))) + 1*uintptr(i32(0)))))<<uint(i32(8)))|int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X21))+1*uintptr(i32(2)*_i))))) + 1*uintptr(i32(1))))))))))))) 90627 if (_pPage.X5) != 0 { 90628 goto _9 90629 } 90630 90631 _rc = _clearDatabasePage(tls, _pBt, _sqlite3Get4byte(tls, _pCell), i32(1), _pnChange) 90632 if _rc == 0 { 90633 goto _10 90634 } 90635 90636 goto _cleardatabasepage_out 90637 90638 _10: 90639 _9: 90640 _rc = _clearCell(tls, _pPage, _pCell, &_info) 90641 if _rc == 0 { 90642 goto _11 90643 } 90644 90645 goto _cleardatabasepage_out 90646 90647 _11: 90648 _i += 1 90649 goto _5 90650 90651 _8: 90652 if (_pPage.X5) != 0 { 90653 goto _12 90654 } 90655 90656 _rc = _clearDatabasePage(tls, _pBt, _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19))+1*uintptr(_hdr+i32(8))))), i32(1), _pnChange) 90657 if _rc == 0 { 90658 goto _13 90659 } 90660 90661 goto _cleardatabasepage_out 90662 90663 _13: 90664 goto _14 90665 90666 _12: 90667 if _pnChange == nil { 90668 goto _15 90669 } 90670 90671 func() int32 { 90672 if ((_pPage.X2) != 0) || ((_sqlite3Config.X6) == i32(0)) { 90673 return i32(0) 90674 } 90675 return func() int32 { 90676 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67587), unsafe.Pointer((*int8)(unsafe.Pointer(&_clearDatabasePageØ00__func__Ø000))), unsafe.Pointer(str(91336))) 90677 crt.X__builtin_abort(tls) 90678 return i32(0) 90679 }() 90680 }() 90681 { 90682 p := _pnChange 90683 *p = (*p) + int32(_pPage.X14) 90684 sink961 = *p 90685 } 90686 _15: 90687 _14: 90688 if _freePageFlag == 0 { 90689 goto _19 90690 } 90691 90692 _freePage(tls, _pPage, &_rc) 90693 goto _20 90694 90695 _19: 90696 if store961(&_rc, _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer(_pPage.X23)))) != i32(0) { 90697 goto _21 90698 } 90699 90700 _zeroPage(tls, _pPage, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage.X19)) + 1*uintptr(_hdr))))|i32(8)) 90701 _21: 90702 _20: 90703 _cleardatabasepage_out: 90704 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(1 /* X1 */))) = uint8(i32(0)) 90705 _releasePage(tls, _pPage) 90706 r0 = _rc 90707 return 90708 90709 } 90710 90711 var _clearDatabasePageØ00__func__Ø000 [18]int8 // - 90712 90713 func init() { 90714 crt.Xstrncpy(nil, &_clearDatabasePageØ00__func__Ø000[0], str(91364), 18) 90715 } 90716 90717 func _sqlite3RootPageMoved(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _iFrom int32, _iTo int32) { // sqlite3.c:101748:1 90718 var _pElem *XHashElem // sqlite3.c:101749:12 90719 _ = _pElem 90720 var _pHash *XHash // sqlite3.c:101750:8 90721 _ = _pHash 90722 var _pDb *XDb // sqlite3.c:101751:6 90723 _ = _pDb 90724 var _1_pTab *XTable // sqlite3.c:101757:11 90725 _ = _1_pTab 90726 var _3_pIdx *XIndex // sqlite3.c:101764:11 90727 _ = _3_pIdx 90728 func() int32 { 90729 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 90730 return i32(0) 90731 } 90732 return func() int32 { 90733 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101753), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RootPageMovedØ00__func__Ø000))), unsafe.Pointer(str(54008))) 90734 crt.X__builtin_abort(tls) 90735 return i32(0) 90736 }() 90737 }() 90738 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 90739 _pHash = (*XHash)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(8 /* X2 */))) 90740 _pElem = (*XHashElem)(unsafe.Pointer(_pHash.X2)) 90741 _2: 90742 if _pElem == nil { 90743 goto _5 90744 } 90745 90746 _1_pTab = (*XTable)(unsafe.Pointer(_pElem.X2)) 90747 if (_1_pTab.X7) != _iFrom { 90748 goto _6 90749 } 90750 90751 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(28 /* X7 */))) = _iTo 90752 _6: 90753 _pElem = (*XHashElem)(unsafe.Pointer(_pElem.X0)) 90754 goto _2 90755 90756 _5: 90757 _pHash = (*XHash)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(24 /* X3 */))) 90758 _pElem = (*XHashElem)(unsafe.Pointer(_pHash.X2)) 90759 _7: 90760 if _pElem == nil { 90761 goto _10 90762 } 90763 90764 _3_pIdx = (*XIndex)(unsafe.Pointer(_pElem.X2)) 90765 if (_3_pIdx.X11) != _iFrom { 90766 goto _11 90767 } 90768 90769 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx)) + uintptr(44 /* X11 */))) = _iTo 90770 _11: 90771 _pElem = (*XHashElem)(unsafe.Pointer(_pElem.X0)) 90772 goto _7 90773 90774 _10: 90775 return 90776 90777 } 90778 90779 var _sqlite3RootPageMovedØ00__func__Ø000 [21]int8 // - 90780 90781 func init() { 90782 crt.Xstrncpy(nil, &_sqlite3RootPageMovedØ00__func__Ø000[0], str(91384), 21) 90783 } 90784 90785 func _sqlite3BtreeClearTableOfCursor(tls *crt.TLS, _pCur *XBtCursor) (r0 int32) { // sqlite3.c:67640:1 90786 r0 = _sqlite3BtreeClearTable(tls, (*XBtree)(unsafe.Pointer(_pCur.X0)), int32(_pCur.X7), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 90787 return 90788 90789 } 90790 90791 func _sqlite3AnalysisLoad(tls *crt.TLS, _db *Xsqlite3, _iDb int32) (r0 int32) { // sqlite3.c:98531:1 90792 var _sInfo XanalysisInfo // sqlite3.c:98532:16 90793 _ = _sInfo 90794 var _i *XHashElem // sqlite3.c:98533:12 90795 _ = _i 90796 var _zSql *int8 // sqlite3.c:98534:8 90797 _ = _zSql 90798 var _rc int32 // sqlite3.c:98535:7 90799 _ = _rc 90800 var _pSchema *XSchema // sqlite3.c:98536:10 90801 _ = _pSchema 90802 var _1_pTab *XTable // sqlite3.c:98544:11 90803 _ = _1_pTab 90804 var _2_pIdx *XIndex // sqlite3.c:98548:11 90805 _ = _2_pIdx 90806 var _6_pIdx *XIndex // sqlite3.c:98573:11 90807 _ = _6_pIdx 90808 _rc = i32(0) 90809 _pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 90810 func() int32 { 90811 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 90812 return i32(0) 90813 } 90814 return func() int32 { 90815 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98538), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AnalysisLoadØ00__func__Ø000))), unsafe.Pointer(str(22608))) 90816 crt.X__builtin_abort(tls) 90817 return i32(0) 90818 }() 90819 }() 90820 func() int32 { 90821 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 90822 return i32(0) 90823 } 90824 return func() int32 { 90825 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98539), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AnalysisLoadØ00__func__Ø000))), unsafe.Pointer(str(69052))) 90826 crt.X__builtin_abort(tls) 90827 return i32(0) 90828 }() 90829 }() 90830 func() int32 { 90831 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 90832 return i32(0) 90833 } 90834 return func() int32 { 90835 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98542), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AnalysisLoadØ00__func__Ø000))), unsafe.Pointer(str(54008))) 90836 crt.X__builtin_abort(tls) 90837 return i32(0) 90838 }() 90839 }() 90840 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(8 /* X2 */))).X2)) 90841 _7: 90842 if _i == nil { 90843 goto _10 90844 } 90845 90846 _1_pTab = (*XTable)(unsafe.Pointer(_i.X2)) 90847 { 90848 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(36 /* X9 */))) 90849 *p = (*p) & uint32(i32(-17)) 90850 sink985 = *p 90851 } 90852 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 90853 goto _7 90854 90855 _10: 90856 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(24 /* X3 */))).X2)) 90857 _11: 90858 if _i == nil { 90859 goto _14 90860 } 90861 90862 _2_pIdx = (*XIndex)(unsafe.Pointer(_i.X2)) 90863 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pIdx))+uintptr(55 /* X16 */))), int8(i32(0)), 128, 7) 90864 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 90865 goto _11 90866 90867 _14: 90868 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sInfo)) + uintptr(0 /* X0 */))))) = _db 90869 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sInfo)) + uintptr(4 /* X1 */))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 90870 if _sqlite3FindTable(tls, _db, str(91408), _sInfo.X1) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 90871 goto _15 90872 } 90873 90874 _zSql = _sqlite3MPrintf(tls, _db, str(91424), unsafe.Pointer(_sInfo.X1)) 90875 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 90876 goto _16 90877 } 90878 90879 _rc = _sqlite3NomemError(tls, i32(98563)) 90880 goto _17 90881 90882 _16: 90883 _rc = Xsqlite3_exec(tls, _db, _zSql, _analysisLoader, (unsafe.Pointer)(&_sInfo), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 90884 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zSql)) 90885 _17: 90886 _15: 90887 func() int32 { 90888 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 90889 return i32(0) 90890 } 90891 return func() int32 { 90892 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98571), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AnalysisLoadØ00__func__Ø000))), unsafe.Pointer(str(54008))) 90893 crt.X__builtin_abort(tls) 90894 return i32(0) 90895 }() 90896 }() 90897 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(24 /* X3 */))).X2)) 90898 _20: 90899 if _i == nil { 90900 goto _23 90901 } 90902 90903 _6_pIdx = (*XIndex)(unsafe.Pointer(_i.X2)) 90904 if ((uint32((_6_pIdx.X16)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { 90905 goto _24 90906 } 90907 90908 _sqlite3DefaultRowEst(tls, _6_pIdx) 90909 _24: 90910 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 90911 goto _20 90912 90913 _23: 90914 if _rc != i32(7) { 90915 goto _25 90916 } 90917 90918 _sqlite3OomFault(tls, _db) 90919 _25: 90920 r0 = _rc 90921 return 90922 90923 } 90924 90925 var _sqlite3AnalysisLoadØ00__func__Ø000 [20]int8 // - 90926 90927 func init() { 90928 crt.Xstrncpy(nil, &_sqlite3AnalysisLoadØ00__func__Ø000[0], str(91468), 20) 90929 } 90930 90931 func _sqlite3FindTable(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _zDatabase *int8) (r0 *XTable) { // sqlite3.c:99749:1 90932 var _p *XTable // sqlite3.c:99750:9 90933 _ = _p 90934 var _i int32 // sqlite3.c:99751:7 90935 _ = _i 90936 var _2_j int32 // sqlite3.c:99764:11 90937 _ = _2_j 90938 _p = nil 90939 func() int32 { 90940 if (_zDatabase != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 90941 return i32(0) 90942 } 90943 return func() int32 { 90944 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99754), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindTableØ00__func__Ø000))), unsafe.Pointer(str(91488))) 90945 crt.X__builtin_abort(tls) 90946 return i32(0) 90947 }() 90948 }() 90949 _3: 90950 _i = i32(0) 90951 _5: 90952 if _i >= (_db.X5) { 90953 goto _8 90954 } 90955 90956 _2_j = func() int32 { 90957 if _i < i32(2) { 90958 return (_i ^ i32(1)) 90959 } 90960 return _i 90961 }() 90962 if _zDatabase != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3StrICmp(tls, _zDatabase, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_2_j))).X0) != i32(0) { 90963 goto _12 90964 } 90965 90966 func() int32 { 90967 if _sqlite3SchemaMutexHeld(tls, _db, _2_j, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 90968 return i32(0) 90969 } 90970 return func() int32 { 90971 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99766), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindTableØ00__func__Ø000))), unsafe.Pointer(str(63380))) 90972 crt.X__builtin_abort(tls) 90973 return i32(0) 90974 }() 90975 }() 90976 _p = (*XTable)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_2_j))).X4)+uintptr(8 /* X2 */))), _zName))) 90977 if _p == nil { 90978 goto _15 90979 } 90980 90981 r0 = _p 90982 return 90983 90984 _15: 90985 _12: 90986 _i += 1 90987 goto _5 90988 90989 _8: 90990 if _sqlite3StrICmp(tls, _zName, str(52816)) == i32(0) { 90991 goto _16 90992 } 90993 90994 goto _4 90995 90996 _16: 90997 if Xsqlite3_stricmp(tls, _zDatabase, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X0) == i32(0) { 90998 goto _17 90999 } 91000 91001 goto _4 91002 91003 _17: 91004 _zName = str(52796) 91005 goto _3 91006 91007 _4: 91008 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 91009 return 91010 91011 } 91012 91013 var _sqlite3FindTableØ00__func__Ø000 [17]int8 // - 91014 91015 func init() { 91016 crt.Xstrncpy(nil, &_sqlite3FindTableØ00__func__Ø000[0], str(91536), 17) 91017 } 91018 91019 func _analysisLoader(tls *crt.TLS, _pData unsafe.Pointer, _argc int32, _argv **int8, _NotUsed **int8) (r0 int32) { // sqlite3.c:98188:1 91020 var _pInfo *XanalysisInfo // sqlite3.c:98189:16 91021 _ = _pInfo 91022 var _pIndex *XIndex // sqlite3.c:98190:9 91023 _ = _pIndex 91024 var _pTable *XTable // sqlite3.c:98191:9 91025 _ = _pTable 91026 var _z *int8 // sqlite3.c:98192:14 91027 _ = _z 91028 var _6_aiRowEst *uint32 // sqlite3.c:98214:13 91029 _ = _6_aiRowEst 91030 var _6_nCol int32 // sqlite3.c:98215:9 91031 _ = _6_nCol 91032 var _8_fakeIdx XIndex // sqlite3.c:98234:11 91033 _ = _8_fakeIdx 91034 _pInfo = (*XanalysisInfo)(unsafe.Pointer(_pData)) 91035 func() int32 { 91036 if _argc == i32(3) { 91037 return i32(0) 91038 } 91039 return func() int32 { 91040 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98194), unsafe.Pointer((*int8)(unsafe.Pointer(&_analysisLoaderØ00__func__Ø000))), unsafe.Pointer(str(53092))) 91041 crt.X__builtin_abort(tls) 91042 return i32(0) 91043 }() 91044 }() 91045 func() int32 { ; return _argc }() 91046 if _argv != (**int8)(unsafe.Pointer(uintptr(i32(0)))) && (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 91047 goto _4 91048 } 91049 91050 r0 = i32(0) 91051 return 91052 91053 _4: 91054 _pTable = _sqlite3FindTable(tls, (*Xsqlite3)(unsafe.Pointer(_pInfo.X0)), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), _pInfo.X1) 91055 if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 91056 goto _5 91057 } 91058 91059 r0 = i32(0) 91060 return 91061 91062 _5: 91063 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 91064 goto _6 91065 } 91066 91067 _pIndex = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 91068 goto _7 91069 91070 _6: 91071 if Xsqlite3_stricmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) != i32(0) { 91072 goto _8 91073 } 91074 91075 _pIndex = _sqlite3PrimaryKeyIndex(tls, _pTable) 91076 goto _9 91077 91078 _8: 91079 _pIndex = _sqlite3FindIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pInfo.X0)), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1)))), _pInfo.X1) 91080 _9: 91081 _7: 91082 _z = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2)))) 91083 if _pIndex == nil { 91084 goto _10 91085 } 91086 91087 _6_aiRowEst = nil 91088 _6_nCol = int32(_pIndex.X13) + i32(1) 91089 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(0)), 4, 2) 91090 _decodeIntArray(tls, _z, _6_nCol, _6_aiRowEst, _pIndex.X2, _pIndex) 91091 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(1)), 128, 7) 91092 if (*XExpr)(unsafe.Pointer(_pIndex.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 91093 goto _11 91094 } 91095 91096 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(44 /* X12 */))) = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X2)) + 2*uintptr(i32(0)))) 91097 { 91098 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(36 /* X9 */))) 91099 *p = (*p) | uint32(i32(16)) 91100 sink985 = *p 91101 } 91102 _11: 91103 goto _12 91104 91105 _10: 91106 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_fakeIdx)) + uintptr(48 /* X12 */))) = _pTable.X13 91107 _decodeIntArray(tls, _z, i32(1), (*uint32)(unsafe.Pointer(uintptr(i32(0)))), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(44 /* X12 */))), &_8_fakeIdx) 91108 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(46 /* X13 */))) = _8_fakeIdx.X12 91109 { 91110 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(36 /* X9 */))) 91111 *p = (*p) | uint32(i32(16)) 91112 sink985 = *p 91113 } 91114 _12: 91115 r0 = i32(0) 91116 return 91117 91118 } 91119 91120 var _analysisLoaderØ00__func__Ø000 [15]int8 // - 91121 91122 func init() { 91123 crt.Xstrncpy(nil, &_analysisLoaderØ00__func__Ø000[0], str(91556), 15) 91124 } 91125 91126 func _decodeIntArray(tls *crt.TLS, _zIntArray *int8, _nOut int32, _aOut *uint32, _aLog *int16, _pIndex *XIndex) { // sqlite3.c:98117:1 91127 var _z *int8 // sqlite3.c:98124:8 91128 _ = _z 91129 var _c int32 // sqlite3.c:98125:7 91130 _ = _c 91131 var _i int32 // sqlite3.c:98126:7 91132 _ = _i 91133 var _v uint32 // sqlite3.c:98127:11 91134 _ = _v 91135 _z = _zIntArray 91136 func() int32 { 91137 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 91138 return i32(0) 91139 } 91140 return func() int32 { 91141 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98132), unsafe.Pointer((*int8)(unsafe.Pointer(&_decodeIntArrayØ00__func__Ø000))), unsafe.Pointer(str(46896))) 91142 crt.X__builtin_abort(tls) 91143 return i32(0) 91144 }() 91145 }() 91146 _i = i32(0) 91147 _2: 91148 if (*_z) == 0 || _i >= _nOut { 91149 goto _6 91150 } 91151 91152 _v = uint32(i32(0)) 91153 _7: 91154 if store961(&_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0)))))) < i32(48) || _c > i32(57) { 91155 goto _8 91156 } 91157 91158 _v = ((_v * uint32(i32(10))) + uint32(_c)) - uint32(i32(48)) 91159 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 91160 goto _7 91161 91162 _8: 91163 func() int32 { 91164 if _aOut == (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 91165 return i32(0) 91166 } 91167 return func() int32 { 91168 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98144), unsafe.Pointer((*int8)(unsafe.Pointer(&_decodeIntArrayØ00__func__Ø000))), unsafe.Pointer(str(91572))) 91169 crt.X__builtin_abort(tls) 91170 return i32(0) 91171 }() 91172 }() 91173 91174 func() int32 { 91175 if _aLog != (*int16)(unsafe.Pointer(uintptr(i32(0)))) { 91176 return i32(0) 91177 } 91178 return func() int32 { 91179 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98146), unsafe.Pointer((*int8)(unsafe.Pointer(&_decodeIntArrayØ00__func__Ø000))), unsafe.Pointer(str(91580))) 91180 crt.X__builtin_abort(tls) 91181 return i32(0) 91182 }() 91183 }() 91184 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLog)) + 2*uintptr(_i))) = _sqlite3LogEst(tls, uint64(_v)) 91185 if int32(*_z) != i32(32) { 91186 goto _14 91187 } 91188 91189 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 91190 _14: 91191 _i += 1 91192 goto _2 91193 91194 _6: 91195 func() int32 { 91196 if _pIndex != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 91197 return i32(0) 91198 } 91199 return func() int32 { 91200 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98152), unsafe.Pointer((*int8)(unsafe.Pointer(&_decodeIntArrayØ00__func__Ø000))), unsafe.Pointer(str(91588))) 91201 crt.X__builtin_abort(tls) 91202 return i32(0) 91203 }() 91204 }() 91205 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(0)), 4, 2) 91206 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(0)), 64, 6) 91207 _17: 91208 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == 0 { 91209 goto _18 91210 } 91211 91212 if Xsqlite3_strglob(tls, str(91600), _z) != i32(0) { 91213 goto _19 91214 } 91215 91216 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(1)), 4, 2) 91217 goto _20 91218 91219 _19: 91220 if Xsqlite3_strglob(tls, str(91612), _z) != i32(0) { 91221 goto _21 91222 } 91223 91224 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(48 /* X12 */))) = _sqlite3LogEst(tls, uint64(_sqlite3Atoi(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(3))))))))))) 91225 goto _22 91226 91227 _21: 91228 if Xsqlite3_strglob(tls, str(91624), _z) != i32(0) { 91229 goto _23 91230 } 91231 91232 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(1)), 64, 6) 91233 _23: 91234 _22: 91235 _20: 91236 _24: 91237 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == i32(32) { 91238 goto _25 91239 } 91240 91241 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 91242 goto _24 91243 91244 _25: 91245 _27: 91246 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(32) { 91247 goto _28 91248 } 91249 91250 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 91251 goto _27 91252 91253 _28: 91254 goto _17 91255 91256 _18: 91257 return 91258 91259 } 91260 91261 var _decodeIntArrayØ00__func__Ø000 [15]int8 // - 91262 91263 func init() { 91264 crt.Xstrncpy(nil, &_decodeIntArrayØ00__func__Ø000[0], str(91636), 15) 91265 } 91266 91267 func Xsqlite3_strglob(tls *crt.TLS, _zGlobPattern *int8, _zString *int8) (r0 int32) { // sqlite3.c:106062:12 91268 r0 = _patternCompare(tls, (*uint8)(unsafe.Pointer(_zGlobPattern)), (*uint8)(unsafe.Pointer(_zString)), &_globInfo, uint32(i32(91))) 91269 return 91270 91271 } 91272 91273 func _patternCompare(tls *crt.TLS, _zPattern *uint8, _zString *uint8, _pInfo *T8650382, _matchOther uint32) (r0 int32) { // sqlite3.c:105934:1 91274 var _c uint32 // sqlite3.c:105940:7 91275 _ = _c 91276 var _c2 uint32 // sqlite3.c:105940:10 91277 _ = _c2 91278 var _matchOne uint32 // sqlite3.c:105941:7 91279 _ = _matchOne 91280 var _matchAll uint32 // sqlite3.c:105942:7 91281 _ = _matchAll 91282 var _noCase uint8 // sqlite3.c:105943:6 91283 _ = _noCase 91284 var _zEscaped *uint8 // sqlite3.c:105944:12 91285 _ = _zEscaped 91286 var _9_bMatch int32 // sqlite3.c:105967:17 91287 _ = _9_bMatch 91288 var _13_cx uint32 // sqlite3.c:105985:13 91289 _ = _13_cx 91290 var _13_bMatch int32 // sqlite3.c:105986:13 91291 _ = _13_bMatch 91292 var _17_bMatch int32 // sqlite3.c:105999:13 91293 _ = _17_bMatch 91294 var _21_prior_c uint32 // sqlite3.c:106014:13 91295 _ = _21_prior_c 91296 var _21_seen int32 // sqlite3.c:106015:13 91297 _ = _21_seen 91298 var _21_invert int32 // sqlite3.c:106016:13 91299 _ = _21_invert 91300 _matchOne = uint32(_pInfo.X1) 91301 _matchAll = uint32(_pInfo.X0) 91302 _noCase = _pInfo.X3 91303 _zEscaped = nil 91304 _0: 91305 if store985(&_c, func() uint32 { 91306 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) < i32(128) { 91307 return uint32(*postInc6921(&_zPattern, 1)) 91308 } 91309 return _sqlite3Utf8Read(tls, &_zPattern) 91310 }()) == uint32(i32(0)) { 91311 goto _1 91312 } 91313 91314 if _c != _matchAll { 91315 goto _4 91316 } 91317 91318 _5: 91319 if store985(&_c, func() uint32 { 91320 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) < i32(128) { 91321 return uint32(*postInc6921(&_zPattern, 1)) 91322 } 91323 return _sqlite3Utf8Read(tls, &_zPattern) 91324 }()) != _matchAll && _c != _matchOne { 91325 goto _6 91326 } 91327 91328 if _c != _matchOne || _sqlite3Utf8Read(tls, &_zString) != uint32(i32(0)) { 91329 goto _11 91330 } 91331 91332 r0 = i32(2) 91333 return 91334 91335 _11: 91336 goto _5 91337 91338 _6: 91339 if _c != uint32(i32(0)) { 91340 goto _12 91341 } 91342 91343 r0 = i32(0) 91344 return 91345 91346 _12: 91347 if _c != _matchOther { 91348 goto _14 91349 } 91350 91351 if int32(_pInfo.X2) != i32(0) { 91352 goto _15 91353 } 91354 91355 _c = _sqlite3Utf8Read(tls, &_zPattern) 91356 if _c != uint32(i32(0)) { 91357 goto _16 91358 } 91359 91360 r0 = i32(2) 91361 return 91362 91363 _16: 91364 goto _17 91365 91366 _15: 91367 func() int32 { 91368 if _matchOther < uint32(i32(128)) { 91369 return i32(0) 91370 } 91371 return func() int32 { 91372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105965), unsafe.Pointer((*int8)(unsafe.Pointer(&_patternCompareØ00__func__Ø000))), unsafe.Pointer(str(91652))) 91373 crt.X__builtin_abort(tls) 91374 return i32(0) 91375 }() 91376 }() 91377 _20: 91378 if (*_zString) == 0 { 91379 goto _21 91380 } 91381 91382 _9_bMatch = _patternCompare(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern))+1*uintptr(i32(-1)))), _zString, _pInfo, _matchOther) 91383 if _9_bMatch == i32(1) { 91384 goto _22 91385 } 91386 91387 r0 = _9_bMatch 91388 return 91389 91390 _22: 91391 if int32(*postInc6921(&_zString, 1)) < i32(192) { 91392 goto _23 91393 } 91394 91395 _24: 91396 if (int32(*_zString) & i32(192)) != i32(128) { 91397 goto _25 91398 } 91399 91400 *(*uintptr)(unsafe.Pointer(&_zString)) += uintptr(1) 91401 goto _24 91402 91403 _25: 91404 _23: 91405 goto _20 91406 91407 _21: 91408 r0 = i32(2) 91409 return 91410 91411 _17: 91412 _14: 91413 if _c > uint32(i32(128)) { 91414 goto _26 91415 } 91416 91417 if _noCase == 0 { 91418 goto _27 91419 } 91420 91421 _13_cx = _c & uint32(^(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_c))))) & i32(32))) 91422 _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(_c))))) 91423 goto _28 91424 91425 _27: 91426 _13_cx = _c 91427 _28: 91428 _29: 91429 if store985(&_c2, uint32(*postInc6921(&_zString, 1))) == uint32(i32(0)) { 91430 goto _30 91431 } 91432 91433 if _c2 == _c || _c2 == _13_cx { 91434 goto _32 91435 } 91436 91437 goto _29 91438 91439 _32: 91440 _13_bMatch = _patternCompare(tls, _zPattern, _zString, _pInfo, _matchOther) 91441 if _13_bMatch == i32(1) { 91442 goto _33 91443 } 91444 91445 r0 = _13_bMatch 91446 return 91447 91448 _33: 91449 goto _29 91450 91451 _30: 91452 goto _34 91453 91454 _26: 91455 _35: 91456 if store985(&_c2, func() uint32 { 91457 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zString)) + 1*uintptr(i32(0))))) < i32(128) { 91458 return uint32(*postInc6921(&_zString, 1)) 91459 } 91460 return _sqlite3Utf8Read(tls, &_zString) 91461 }()) == uint32(i32(0)) { 91462 goto _36 91463 } 91464 91465 if _c2 == _c { 91466 goto _39 91467 } 91468 91469 goto _35 91470 91471 _39: 91472 _17_bMatch = _patternCompare(tls, _zPattern, _zString, _pInfo, _matchOther) 91473 if _17_bMatch == i32(1) { 91474 goto _40 91475 } 91476 91477 r0 = _17_bMatch 91478 return 91479 91480 _40: 91481 goto _35 91482 91483 _36: 91484 _34: 91485 r0 = i32(2) 91486 return 91487 91488 _4: 91489 if _c != _matchOther { 91490 goto _41 91491 } 91492 91493 if int32(_pInfo.X2) != i32(0) { 91494 goto _42 91495 } 91496 91497 _c = _sqlite3Utf8Read(tls, &_zPattern) 91498 if _c != uint32(i32(0)) { 91499 goto _43 91500 } 91501 91502 r0 = i32(1) 91503 return 91504 91505 _43: 91506 _zEscaped = _zPattern 91507 goto _44 91508 91509 _42: 91510 _21_prior_c = uint32(i32(0)) 91511 _21_seen = i32(0) 91512 _21_invert = i32(0) 91513 _c = _sqlite3Utf8Read(tls, &_zString) 91514 if _c != uint32(i32(0)) { 91515 goto _45 91516 } 91517 91518 r0 = i32(1) 91519 return 91520 91521 _45: 91522 _c2 = _sqlite3Utf8Read(tls, &_zPattern) 91523 if _c2 != uint32(i32(94)) { 91524 goto _46 91525 } 91526 91527 _21_invert = i32(1) 91528 _c2 = _sqlite3Utf8Read(tls, &_zPattern) 91529 _46: 91530 if _c2 != uint32(i32(93)) { 91531 goto _47 91532 } 91533 91534 if _c != uint32(i32(93)) { 91535 goto _48 91536 } 91537 91538 _21_seen = i32(1) 91539 _48: 91540 _c2 = _sqlite3Utf8Read(tls, &_zPattern) 91541 _47: 91542 _49: 91543 if _c2 == 0 || _c2 == uint32(i32(93)) { 91544 goto _50 91545 } 91546 91547 if _c2 != uint32(i32(45)) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) == i32(93) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) == i32(0) || _21_prior_c <= uint32(i32(0)) { 91548 goto _55 91549 } 91550 91551 _c2 = _sqlite3Utf8Read(tls, &_zPattern) 91552 if _c < _21_prior_c || _c > _c2 { 91553 goto _57 91554 } 91555 91556 _21_seen = i32(1) 91557 _57: 91558 _21_prior_c = uint32(i32(0)) 91559 goto _58 91560 91561 _55: 91562 if _c != _c2 { 91563 goto _59 91564 } 91565 91566 _21_seen = i32(1) 91567 _59: 91568 _21_prior_c = _c2 91569 _58: 91570 _c2 = _sqlite3Utf8Read(tls, &_zPattern) 91571 goto _49 91572 91573 _50: 91574 if _c2 != uint32(i32(0)) && (_21_seen^_21_invert) != i32(0) { 91575 goto _61 91576 } 91577 91578 r0 = i32(1) 91579 return 91580 91581 _61: 91582 goto _0 91583 91584 _44: 91585 _41: 91586 _c2 = func() uint32 { 91587 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zString)) + 1*uintptr(i32(0))))) < i32(128) { 91588 return uint32(*postInc6921(&_zString, 1)) 91589 } 91590 return _sqlite3Utf8Read(tls, &_zString) 91591 }() 91592 if _c != _c2 { 91593 goto _64 91594 } 91595 91596 goto _0 91597 91598 _64: 91599 if _noCase == 0 || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(_c))))) != int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(_c2))))) || _c >= uint32(i32(128)) || _c2 >= uint32(i32(128)) { 91600 goto _68 91601 } 91602 91603 goto _0 91604 91605 _68: 91606 if _c != _matchOne || _zPattern == _zEscaped || _c2 == uint32(i32(0)) { 91607 goto _71 91608 } 91609 91610 goto _0 91611 91612 _71: 91613 r0 = i32(1) 91614 return 91615 91616 _1: 91617 r0 = func() int32 { 91618 if int32(*_zString) == i32(0) { 91619 return i32(0) 91620 } 91621 return i32(1) 91622 }() 91623 return 91624 91625 } 91626 91627 func _sqlite3Utf8Read(tls *crt.TLS, _pz **uint8) (r0 uint32) { // sqlite3.c:27247:1 91628 var _c uint32 // sqlite3.c:27250:16 91629 _ = _c 91630 _c = uint32(*postInc6921(_pz, 1)) 91631 if _c < uint32(i32(192)) { 91632 goto _0 91633 } 91634 91635 _c = uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Utf8Trans1)) + 1*uintptr(_c-uint32(i32(192)))))) 91636 _1: 91637 if (int32(*(*_pz)) & i32(192)) != i32(128) { 91638 goto _2 91639 } 91640 91641 _c = (_c << uint(i32(6))) + uint32(i32(63)&int32(*postInc6921(_pz, 1))) 91642 goto _1 91643 91644 _2: 91645 if _c >= uint32(i32(128)) && (_c&u32(4294965248)) != uint32(i32(55296)) && (_c&u32(4294967294)) != uint32(i32(65534)) { 91646 goto _5 91647 } 91648 91649 _c = uint32(i32(65533)) 91650 _5: 91651 _0: 91652 r0 = _c 91653 return 91654 91655 } 91656 91657 var _patternCompareØ00__func__Ø000 [15]int8 // - 91658 91659 func init() { 91660 crt.Xstrncpy(nil, &_patternCompareØ00__func__Ø000[0], str(91668), 15) 91661 } 91662 91663 var _globInfo T8650382 // sqlite3.c:105881:33 91664 91665 func init() { 91666 _globInfo = T8650382{X0: u8(42), X1: u8(63), X2: u8(91), X3: u8(0)} 91667 } 91668 91669 func _sqlite3DefaultRowEst(tls *crt.TLS, _pIdx *XIndex) { // sqlite3.c:102902:1 91670 var _aVal [5]int16 // sqlite3.c:102904:10 91671 _ = _aVal 91672 var _a *int16 // sqlite3.c:102905:10 91673 _ = _a 91674 var _nCopy int32 // sqlite3.c:102906:7 91675 _ = _nCopy 91676 var _i int32 // sqlite3.c:102907:7 91677 _ = _i 91678 _aVal = [5]int16{i16(33), i16(32), i16(30), i16(28), i16(26)} 91679 _a = _pIdx.X2 91680 _nCopy = func() int32 { 91681 if i32(5) < int32(_pIdx.X13) { 91682 return i32(5) 91683 } 91684 return int32(_pIdx.X13) 91685 }() 91686 func() int32 { 91687 if ((uint32((_pIdx.X16)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) == 0 { 91688 return i32(0) 91689 } 91690 return func() int32 { 91691 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102910), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DefaultRowEstØ00__func__Ø000))), unsafe.Pointer(str(91684))) 91692 crt.X__builtin_abort(tls) 91693 return i32(0) 91694 }() 91695 }() 91696 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0)))) = (*XTable)(unsafe.Pointer(_pIdx.X3)).X12 91697 if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 91698 goto _4 91699 } 91700 91701 { 91702 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0)))) 91703 *p = int16(int32(*p) - i32(10)) 91704 sink955 = *p 91705 } 91706 _4: 91707 func() int32 { 91708 if i32(10) == int32(_sqlite3LogEst(tls, uint64(i32(2)))) { 91709 return i32(0) 91710 } 91711 return func() int32 { 91712 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102916), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DefaultRowEstØ00__func__Ø000))), unsafe.Pointer(str(91700))) 91713 crt.X__builtin_abort(tls) 91714 return i32(0) 91715 }() 91716 }() 91717 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0))))) >= i32(33) { 91718 goto _7 91719 } 91720 91721 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(i32(0)))) = int16(i32(33)) 91722 _7: 91723 func() int32 { 91724 if i32(33) == int32(_sqlite3LogEst(tls, uint64(i32(10)))) { 91725 return i32(0) 91726 } 91727 return func() int32 { 91728 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102917), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DefaultRowEstØ00__func__Ø000))), unsafe.Pointer(str(91724))) 91729 crt.X__builtin_abort(tls) 91730 return i32(0) 91731 }() 91732 }() 91733 crt.Xmemcpy(tls, (unsafe.Pointer)((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a))+2*uintptr(i32(1))))), (unsafe.Pointer)(&_aVal), uint32(_nCopy)*u32(2)) 91734 _i = _nCopy + i32(1) 91735 _10: 91736 if _i > int32(_pIdx.X13) { 91737 goto _13 91738 } 91739 91740 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(_i))) = int16(i32(23)) 91741 func() int32 { 91742 if i32(23) == int32(_sqlite3LogEst(tls, uint64(i32(5)))) { 91743 return i32(0) 91744 } 91745 return func() int32 { 91746 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102923), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DefaultRowEstØ00__func__Ø000))), unsafe.Pointer(str(91748))) 91747 crt.X__builtin_abort(tls) 91748 return i32(0) 91749 }() 91750 }() 91751 _i += 1 91752 goto _10 91753 91754 _13: 91755 func() int32 { 91756 if i32(0) == int32(_sqlite3LogEst(tls, uint64(i32(1)))) { 91757 return i32(0) 91758 } 91759 return func() int32 { 91760 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102926), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DefaultRowEstØ00__func__Ø000))), unsafe.Pointer(str(48928))) 91761 crt.X__builtin_abort(tls) 91762 return i32(0) 91763 }() 91764 }() 91765 if int32(_pIdx.X15) == i32(0) { 91766 goto _18 91767 } 91768 91769 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 2*uintptr(_pIdx.X13))) = int16(i32(0)) 91770 _18: 91771 return 91772 91773 } 91774 91775 var _sqlite3DefaultRowEstØ00__func__Ø000 [21]int8 // - 91776 91777 func init() { 91778 crt.Xstrncpy(nil, &_sqlite3DefaultRowEstØ00__func__Ø000[0], str(91772), 21) 91779 } 91780 91781 func _sqlite3UnlinkAndDeleteTable(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zTabName *int8) { // sqlite3.c:100107:1 91782 var _p *XTable // sqlite3.c:100108:9 91783 _ = _p 91784 var _pDb *XDb // sqlite3.c:100109:6 91785 _ = _pDb 91786 func() int32 { 91787 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 91788 return i32(0) 91789 } 91790 return func() int32 { 91791 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteTableØ00__func__Ø000))), unsafe.Pointer(str(1184))) 91792 crt.X__builtin_abort(tls) 91793 return i32(0) 91794 }() 91795 }() 91796 func() int32 { 91797 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 91798 return i32(0) 91799 } 91800 return func() int32 { 91801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100112), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteTableØ00__func__Ø000))), unsafe.Pointer(str(22608))) 91802 crt.X__builtin_abort(tls) 91803 return i32(0) 91804 }() 91805 }() 91806 func() int32 { 91807 if _zTabName != nil { 91808 return i32(0) 91809 } 91810 return func() int32 { 91811 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100113), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteTableØ00__func__Ø000))), unsafe.Pointer(str(91796))) 91812 crt.X__builtin_abort(tls) 91813 return i32(0) 91814 }() 91815 }() 91816 func() int32 { 91817 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 91818 return i32(0) 91819 } 91820 return func() int32 { 91821 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100114), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteTableØ00__func__Ø000))), unsafe.Pointer(str(54008))) 91822 crt.X__builtin_abort(tls) 91823 return i32(0) 91824 }() 91825 }() 91826 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 91827 _p = (*XTable)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pDb.X4)+uintptr(8 /* X2 */))), _zTabName, (unsafe.Pointer)(uintptr(i32(0)))))) 91828 _sqlite3DeleteTable(tls, _db, _p) 91829 { 91830 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 91831 *p = (*p) | i32(2) 91832 sink961 = *p 91833 } 91834 return 91835 91836 } 91837 91838 var _sqlite3UnlinkAndDeleteTableØ00__func__Ø000 [28]int8 // - 91839 91840 func init() { 91841 crt.Xstrncpy(nil, &_sqlite3UnlinkAndDeleteTableØ00__func__Ø000[0], str(91808), 28) 91842 } 91843 91844 func _sqlite3UnlinkAndDeleteIndex(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zIdxName *int8) { // sqlite3.c:99911:1 91845 var _pIndex *XIndex // sqlite3.c:99912:9 91846 _ = _pIndex 91847 var _pHash *XHash // sqlite3.c:99913:8 91848 _ = _pHash 91849 var _3_p *XIndex // sqlite3.c:99922:13 91850 _ = _3_p 91851 func() int32 { 91852 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 91853 return i32(0) 91854 } 91855 return func() int32 { 91856 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99915), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteIndexØ00__func__Ø000))), unsafe.Pointer(str(54008))) 91857 crt.X__builtin_abort(tls) 91858 return i32(0) 91859 }() 91860 }() 91861 _pHash = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(24 /* X3 */))) 91862 _pIndex = (*XIndex)(unsafe.Pointer(_sqlite3HashInsert(tls, _pHash, _zIdxName, (unsafe.Pointer)(uintptr(i32(0)))))) 91863 if func() int32 { 91864 if _pIndex != nil { 91865 return i32(1) 91866 } 91867 return func() int32 { 91868 func() int32 { 91869 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99918), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteIndexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 91870 crt.X__builtin_abort(tls) 91871 return i32(0) 91872 }() 91873 return i32(0) 91874 }() 91875 }() == 0 { 91876 goto _4 91877 } 91878 91879 if (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIndex.X3)).X2)) != _pIndex { 91880 goto _5 91881 } 91882 91883 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pIndex.X3) + uintptr(8 /* X2 */))))) = (*XIndex)(unsafe.Pointer(_pIndex.X5)) 91884 goto _6 91885 91886 _5: 91887 _3_p = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIndex.X3)).X2)) 91888 _7: 91889 if func() int32 { 91890 if _3_p != nil { 91891 return i32(1) 91892 } 91893 return func() int32 { 91894 func() int32 { 91895 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99926), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteIndexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 91896 crt.X__builtin_abort(tls) 91897 return i32(0) 91898 }() 91899 return i32(0) 91900 }() 91901 }() == 0 || (*XIndex)(unsafe.Pointer(_3_p.X5)) == _pIndex { 91902 goto _8 91903 } 91904 91905 _3_p = (*XIndex)(unsafe.Pointer(_3_p.X5)) 91906 goto _7 91907 91908 _8: 91909 if func() int32 { 91910 if (_3_p != nil) && ((*XIndex)(unsafe.Pointer(_3_p.X5)) == _pIndex) { 91911 return i32(1) 91912 } 91913 return func() int32 { 91914 func() int32 { 91915 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99927), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteIndexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 91916 crt.X__builtin_abort(tls) 91917 return i32(0) 91918 }() 91919 return i32(0) 91920 }() 91921 }() == 0 { 91922 goto _15 91923 } 91924 91925 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_p)) + uintptr(20 /* X5 */))))) = (*XIndex)(unsafe.Pointer(_pIndex.X5)) 91926 _15: 91927 _6: 91928 _freeIndex(tls, _db, _pIndex) 91929 _4: 91930 { 91931 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 91932 *p = (*p) | i32(2) 91933 sink961 = *p 91934 } 91935 return 91936 91937 } 91938 91939 var _sqlite3UnlinkAndDeleteIndexØ00__func__Ø000 [28]int8 // - 91940 91941 func init() { 91942 crt.Xstrncpy(nil, &_sqlite3UnlinkAndDeleteIndexØ00__func__Ø000[0], str(91836), 28) 91943 } 91944 91945 func _sqlite3UnlinkAndDeleteTrigger(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zName *int8) { // sqlite3.c:122754:1 91946 var _pTrigger *XTrigger // sqlite3.c:122755:11 91947 _ = _pTrigger 91948 var _pHash *XHash // sqlite3.c:122756:8 91949 _ = _pHash 91950 var _2_pTab *XTable // sqlite3.c:122763:13 91951 _ = _2_pTab 91952 var _2_pp **XTrigger // sqlite3.c:122764:15 91953 _ = _2_pp 91954 func() int32 { 91955 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 91956 return i32(0) 91957 } 91958 return func() int32 { 91959 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122758), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteTriggerØ00__func__Ø000))), unsafe.Pointer(str(54008))) 91960 crt.X__builtin_abort(tls) 91961 return i32(0) 91962 }() 91963 }() 91964 _pHash = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(40 /* X4 */))) 91965 _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3HashInsert(tls, _pHash, _zName, (unsafe.Pointer)(uintptr(i32(0)))))) 91966 if func() int32 { 91967 if _pTrigger != nil { 91968 return i32(1) 91969 } 91970 return func() int32 { 91971 func() int32 { 91972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122761), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UnlinkAndDeleteTriggerØ00__func__Ø000))), unsafe.Pointer(str(5204))) 91973 crt.X__builtin_abort(tls) 91974 return i32(0) 91975 }() 91976 return i32(0) 91977 }() 91978 }() == 0 { 91979 goto _4 91980 } 91981 91982 if (*XSchema)(unsafe.Pointer(_pTrigger.X6)) != (*XSchema)(unsafe.Pointer(_pTrigger.X7)) { 91983 goto _5 91984 } 91985 91986 _2_pTab = _tableOfTrigger(tls, _pTrigger) 91987 _2_pp = (**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pTab)) + uintptr(68 /* X19 */))))) 91988 _6: 91989 if (*_2_pp) == _pTrigger { 91990 goto _9 91991 } 91992 91993 _2_pp = (**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_2_pp)) + uintptr(32 /* X9 */))))) 91994 goto _6 91995 91996 _9: 91997 *_2_pp = (*XTrigger)(unsafe.Pointer((*_2_pp).X9)) 91998 _5: 91999 _sqlite3DeleteTrigger(tls, _db, _pTrigger) 92000 { 92001 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 92002 *p = (*p) | i32(2) 92003 sink961 = *p 92004 } 92005 _4: 92006 return 92007 92008 } 92009 92010 var _sqlite3UnlinkAndDeleteTriggerØ00__func__Ø000 [30]int8 // - 92011 92012 func init() { 92013 crt.Xstrncpy(nil, &_sqlite3UnlinkAndDeleteTriggerØ00__func__Ø000[0], str(91864), 30) 92014 } 92015 92016 func _tableOfTrigger(tls *crt.TLS, _pTrigger *XTrigger) (r0 *XTable) { // sqlite3.c:122706:1 92017 r0 = (*XTable)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_pTrigger.X7)+uintptr(8 /* X2 */))), _pTrigger.X1))) 92018 return 92019 92020 } 92021 92022 func _sqlite3BtreeIntegrityCheck(tls *crt.TLS, _p *XBtree, _aRoot *int32, _nRoot int32, _mxErr int32, _pnErr *int32) (r0 *int8) { // sqlite3.c:68417:1 92023 var _i uint32 // sqlite3.c:68424:8 92024 _ = _i 92025 var _sCheck XIntegrityCk // sqlite3.c:68425:15 92026 _ = _sCheck 92027 var _pBt *XBtShared // sqlite3.c:68426:12 92028 _ = _pBt 92029 var _savedDbFlags int32 // sqlite3.c:68427:7 92030 _ = _savedDbFlags 92031 var _zErr [100]int8 // sqlite3.c:68428:8 92032 _ = _zErr 92033 var _nRef int32 // sqlite3.c:68429:17 92034 _ = _nRef 92035 var _4_notUsed int64 // sqlite3.c:68478:9 92036 _ = _4_notUsed 92037 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 92038 _savedDbFlags = (*Xsqlite3)(unsafe.Pointer(_pBt.X1)).X6 92039 _sqlite3BtreeEnter(tls, _p) 92040 func() int32 { 92041 if (int32(_p.X2) > i32(0)) && (int32(_pBt.X8) > i32(0)) { 92042 return i32(0) 92043 } 92044 return func() int32 { 92045 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68432), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIntegrityCheckØ00__func__Ø000))), unsafe.Pointer(str(91896))) 92046 crt.X__builtin_abort(tls) 92047 return i32(0) 92048 }() 92049 }() 92050 _nRef = _sqlite3PagerRefcount(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) 92051 func() int32 { 92052 if _nRef >= i32(0) { 92053 return i32(0) 92054 } 92055 return func() int32 { 92056 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68434), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIntegrityCheckØ00__func__Ø000))), unsafe.Pointer(str(91952))) 92057 crt.X__builtin_abort(tls) 92058 return i32(0) 92059 }() 92060 }() 92061 *(**XBtShared)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(0 /* X0 */))))) = _pBt 92062 *(**XPager)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(4 /* X1 */))))) = (*XPager)(unsafe.Pointer(_pBt.X0)) 92063 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(12 /* X3 */))) = _btreePagecount(tls, (*XBtShared)(unsafe.Pointer(_sCheck.X0))) 92064 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(16 /* X4 */))) = _mxErr 92065 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(20 /* X5 */))) = i32(0) 92066 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(24 /* X6 */))) = i32(0) 92067 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(28 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 92068 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(32 /* X8 */))) = i32(0) 92069 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(36 /* X9 */))) = i32(0) 92070 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(8 /* X2 */))) = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 92071 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(68 /* X11 */))) = (*uint32)(unsafe.Pointer(uintptr(i32(0)))) 92072 _sqlite3StrAccumInit(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(40 /* X10 */))), (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zErr)), int32(u32(100)), i32(1000000000)) 92073 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(40 /* X10 */))))) + uintptr(25 /* X7 */))) = uint8(i32(1)) 92074 if (_sCheck.X3) != uint32(i32(0)) { 92075 goto _5 92076 } 92077 92078 goto _integrity_ck_cleanup 92079 92080 _5: 92081 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(8 /* X2 */))) = (*uint8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(((_sCheck.X3)/uint32(i32(8)))+uint32(i32(1)))))) 92082 if (_sCheck.X2) != nil { 92083 goto _6 92084 } 92085 92086 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(24 /* X6 */))) = i32(1) 92087 goto _integrity_ck_cleanup 92088 92089 _6: 92090 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(68 /* X11 */))) = (*uint32)(unsafe.Pointer(_sqlite3PageMalloc(tls, int32(_pBt.X15)))) 92091 if (_sCheck.X11) != (*uint32)(unsafe.Pointer(uintptr(i32(0)))) { 92092 goto _7 92093 } 92094 92095 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(24 /* X6 */))) = i32(1) 92096 goto _integrity_ck_cleanup 92097 92098 _7: 92099 _i = (uint32(_sqlite3PendingByte) / (_pBt.X15)) + uint32(i32(1)) 92100 if _i > (_sCheck.X3) { 92101 goto _8 92102 } 92103 92104 _setPageReferenced(tls, &_sCheck, _i) 92105 _8: 92106 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(28 /* X7 */))) = str(91960) 92107 _checkList(tls, &_sCheck, i32(1), int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(32)))))), int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))))) 92108 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(28 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 92109 { 92110 p := (*int32)(unsafe.Pointer(uintptr(_pBt.X1) + uintptr(24 /* X6 */))) 92111 *p = (*p) & i32(-536870913) 92112 sink961 = *p 92113 } 92114 _i = uint32(i32(0)) 92115 _9: 92116 if int32(_i) >= _nRoot || (_sCheck.X4) == 0 { 92117 goto _13 92118 } 92119 92120 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i)))) != i32(0) { 92121 goto _14 92122 } 92123 92124 goto _10 92125 92126 _14: 92127 if (_pBt.X5) == 0 || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i)))) <= i32(1) { 92128 goto _16 92129 } 92130 92131 _checkPtrmap(tls, &_sCheck, uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i)))), uint8(i32(1)), uint32(i32(0))) 92132 _16: 92133 _checkTreePage(tls, &_sCheck, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRoot)) + 4*uintptr(_i))), &_4_notUsed, i64(9223372036854775807)) 92134 _10: 92135 _i += 1 92136 goto _9 92137 92138 _13: 92139 *(*int32)(unsafe.Pointer(uintptr(_pBt.X1) + uintptr(24 /* X6 */))) = _savedDbFlags 92140 _i = uint32(i32(1)) 92141 _17: 92142 if _i > (_sCheck.X3) || (_sCheck.X4) == 0 { 92143 goto _21 92144 } 92145 92146 if _getPageReferenced(tls, &_sCheck, _i) != i32(0) || _ptrmapPageno(tls, _pBt, _i) == _i && (_pBt.X5) != 0 { 92147 goto _24 92148 } 92149 92150 _checkAppendMsg(tls, &_sCheck, str(91976), _i) 92151 _24: 92152 if _getPageReferenced(tls, &_sCheck, _i) == i32(0) || (_ptrmapPageno(tls, _pBt, _i) != _i || (_pBt.X5) == 0) { 92153 goto _27 92154 } 92155 92156 _checkAppendMsg(tls, &_sCheck, str(92000), _i) 92157 _27: 92158 _i += 1 92159 goto _17 92160 92161 _21: 92162 _integrity_ck_cleanup: 92163 _sqlite3PageFree(tls, (unsafe.Pointer)(_sCheck.X11)) 92164 Xsqlite3_free(tls, (unsafe.Pointer)(_sCheck.X2)) 92165 if (_sCheck.X6) == 0 { 92166 goto _28 92167 } 92168 92169 _sqlite3StrAccumReset(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(40 /* X10 */)))) 92170 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck)) + uintptr(20 /* X5 */))) += 1 92171 _28: 92172 *_pnErr = _sCheck.X5 92173 if (_sCheck.X5) != i32(0) { 92174 goto _29 92175 } 92176 92177 _sqlite3StrAccumReset(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(40 /* X10 */)))) 92178 _29: 92179 func() int32 { 92180 if _nRef == _sqlite3PagerRefcount(tls, (*XPager)(unsafe.Pointer(_pBt.X0))) { 92181 return i32(0) 92182 } 92183 return func() int32 { 92184 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68523), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIntegrityCheckØ00__func__Ø000))), unsafe.Pointer(str(92036))) 92185 crt.X__builtin_abort(tls) 92186 return i32(0) 92187 }() 92188 }() 92189 _sqlite3BtreeLeave(tls, _p) 92190 r0 = _sqlite3StrAccumFinish(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCheck))+uintptr(40 /* X10 */)))) 92191 return 92192 92193 } 92194 92195 var _sqlite3BtreeIntegrityCheckØ00__func__Ø000 [27]int8 // - 92196 92197 func init() { 92198 crt.Xstrncpy(nil, &_sqlite3BtreeIntegrityCheckØ00__func__Ø000[0], str(92076), 27) 92199 } 92200 92201 func _setPageReferenced(tls *crt.TLS, _pCheck *XIntegrityCk, _iPg uint32) { // sqlite3.c:67954:1 92202 func() int32 { 92203 if (_iPg <= (_pCheck.X3)) && i32(1) != 0 { 92204 return i32(0) 92205 } 92206 return func() int32 { 92207 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67955), unsafe.Pointer((*int8)(unsafe.Pointer(&_setPageReferencedØ00__func__Ø000))), unsafe.Pointer(str(92104))) 92208 crt.X__builtin_abort(tls) 92209 return i32(0) 92210 }() 92211 }() 92212 { 92213 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck.X2)) + 1*uintptr(_iPg/uint32(i32(8))))) 92214 *p = uint8(int32(*p) | (i32(1) << uint(int32(_iPg&uint32(i32(7)))))) 92215 sink6915 = *p 92216 } 92217 return 92218 92219 } 92220 92221 var _setPageReferencedØ00__func__Ø000 [18]int8 // - 92222 92223 func init() { 92224 crt.Xstrncpy(nil, &_setPageReferencedØ00__func__Ø000[0], str(92156), 18) 92225 } 92226 92227 func _checkList(tls *crt.TLS, _pCheck *XIntegrityCk, _isFreeList int32, _iPage int32, _N int32) { // sqlite3.c:68017:1 92228 var _i int32 // sqlite3.c:68023:7 92229 _ = _i 92230 var _expected int32 // sqlite3.c:68024:7 92231 _ = _expected 92232 var _iFirst int32 // sqlite3.c:68025:7 92233 _ = _iFirst 92234 var _1_pOvflPage *XPgHdr // sqlite3.c:68027:12 92235 _ = _1_pOvflPage 92236 var _1_pOvflData *uint8 // sqlite3.c:68028:19 92237 _ = _1_pOvflData 92238 var _4_n int32 // sqlite3.c:68042:11 92239 _ = _4_n 92240 var _8_iFreePage uint32 // sqlite3.c:68054:16 92241 _ = _8_iFreePage 92242 _expected = _N 92243 _iFirst = _iPage 92244 _0: 92245 if postInc961(&_N, int32(-1)) <= i32(0) || (_pCheck.X4) == 0 { 92246 goto _1 92247 } 92248 92249 if _iPage >= i32(1) { 92250 goto _3 92251 } 92252 92253 _checkAppendMsg(tls, _pCheck, str(92176), _N+i32(1), _expected, _iFirst) 92254 goto _1 92255 92256 _3: 92257 if _checkRef(tls, _pCheck, uint32(_iPage)) == 0 { 92258 goto _4 92259 } 92260 92261 goto _1 92262 92263 _4: 92264 if _sqlite3PagerGet(tls, (*XPager)(unsafe.Pointer(_pCheck.X1)), uint32(_iPage), &_1_pOvflPage, i32(0)) == 0 { 92265 goto _5 92266 } 92267 92268 _checkAppendMsg(tls, _pCheck, str(92236), _iPage) 92269 goto _1 92270 92271 _5: 92272 _1_pOvflData = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _1_pOvflPage))) 92273 if _isFreeList == 0 { 92274 goto _6 92275 } 92276 92277 _4_n = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOvflData))+1*uintptr(i32(4)))))) 92278 if ((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X5) == 0 { 92279 goto _7 92280 } 92281 92282 _checkPtrmap(tls, _pCheck, uint32(_iPage), uint8(i32(2)), uint32(i32(0))) 92283 _7: 92284 if _4_n <= ((int32((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X16) / i32(4)) - i32(2)) { 92285 goto _8 92286 } 92287 92288 _checkAppendMsg(tls, _pCheck, str(92260), _iPage) 92289 _N -= 1 92290 goto _9 92291 92292 _8: 92293 _i = i32(0) 92294 _10: 92295 if _i >= _4_n { 92296 goto _13 92297 } 92298 92299 _8_iFreePage = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOvflData))+1*uintptr(i32(8)+(_i*i32(4)))))) 92300 if ((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X5) == 0 { 92301 goto _14 92302 } 92303 92304 _checkPtrmap(tls, _pCheck, _8_iFreePage, uint8(i32(2)), uint32(i32(0))) 92305 _14: 92306 _checkRef(tls, _pCheck, _8_iFreePage) 92307 _i += 1 92308 goto _10 92309 92310 _13: 92311 { 92312 p := &_N 92313 *p = (*p) - _4_n 92314 sink961 = *p 92315 } 92316 _9: 92317 goto _15 92318 92319 _6: 92320 if ((*XBtShared)(unsafe.Pointer(_pCheck.X0)).X5) == 0 || _N <= i32(0) { 92321 goto _17 92322 } 92323 92324 _i = int32(_sqlite3Get4byte(tls, _1_pOvflData)) 92325 _checkPtrmap(tls, _pCheck, uint32(_i), uint8(i32(4)), uint32(_iPage)) 92326 _17: 92327 _15: 92328 _iPage = int32(_sqlite3Get4byte(tls, _1_pOvflData)) 92329 _sqlite3PagerUnref(tls, _1_pOvflPage) 92330 if _isFreeList == 0 || _N >= bool2int(_iPage != i32(0)) { 92331 goto _19 92332 } 92333 92334 _checkAppendMsg(tls, _pCheck, str(92300)) 92335 _19: 92336 goto _0 92337 92338 _1: 92339 return 92340 92341 } 92342 92343 func _checkAppendMsg(tls *crt.TLS, _pCheck *XIntegrityCk, _zFormat *int8, args ...interface{}) { // sqlite3.c:67916:1 92344 var _ap []interface{} // sqlite3.c:67921:11 92345 _ = _ap 92346 if (_pCheck.X4) != 0 { 92347 goto _0 92348 } 92349 92350 return 92351 92352 _0: 92353 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(16 /* X4 */))) -= 1 92354 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(20 /* X5 */))) += 1 92355 _ap = args 92356 if ((*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(40 /* X10 */))).X3) == 0 { 92357 goto _1 92358 } 92359 92360 _sqlite3StrAccumAppend(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(40 /* X10 */))), str(39704), i32(1)) 92361 _1: 92362 if (_pCheck.X7) == nil { 92363 goto _2 92364 } 92365 92366 _sqlite3XPrintf(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(40 /* X10 */))), _pCheck.X7, _pCheck.X8, _pCheck.X9) 92367 _2: 92368 _sqlite3VXPrintf(tls, (*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(40 /* X10 */))), _zFormat, _ap) 92369 _ap = nil 92370 if int32((*XStrAccum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck))+uintptr(40 /* X10 */))).X6) != i32(1) { 92371 goto _3 92372 } 92373 92374 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(24 /* X6 */))) = i32(1) 92375 _3: 92376 return 92377 92378 } 92379 92380 func _checkRef(tls *crt.TLS, _pCheck *XIntegrityCk, _iPage uint32) (r0 int32) { // sqlite3.c:67968:1 92381 if _iPage != uint32(i32(0)) { 92382 goto _0 92383 } 92384 92385 r0 = i32(1) 92386 return 92387 92388 _0: 92389 if _iPage <= (_pCheck.X3) { 92390 goto _1 92391 } 92392 92393 _checkAppendMsg(tls, _pCheck, str(92340), _iPage) 92394 r0 = i32(1) 92395 return 92396 92397 _1: 92398 if _getPageReferenced(tls, _pCheck, _iPage) == 0 { 92399 goto _2 92400 } 92401 92402 _checkAppendMsg(tls, _pCheck, str(92364), _iPage) 92403 r0 = i32(1) 92404 return 92405 92406 _2: 92407 _setPageReferenced(tls, _pCheck, _iPage) 92408 r0 = i32(0) 92409 return 92410 92411 } 92412 92413 func _getPageReferenced(tls *crt.TLS, _pCheck *XIntegrityCk, _iPg uint32) (r0 int32) { // sqlite3.c:67946:1 92414 func() int32 { 92415 if (_iPg <= (_pCheck.X3)) && i32(1) != 0 { 92416 return i32(0) 92417 } 92418 return func() int32 { 92419 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(67947), unsafe.Pointer((*int8)(unsafe.Pointer(&_getPageReferencedØ00__func__Ø000))), unsafe.Pointer(str(92104))) 92420 crt.X__builtin_abort(tls) 92421 return i32(0) 92422 }() 92423 }() 92424 r0 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck.X2)) + 1*uintptr(_iPg/uint32(i32(8)))))) & (i32(1) << uint(int32(_iPg&uint32(i32(7))))) 92425 return 92426 92427 } 92428 92429 var _getPageReferencedØ00__func__Ø000 [18]int8 // - 92430 92431 func init() { 92432 crt.Xstrncpy(nil, &_getPageReferencedØ00__func__Ø000[0], str(92392), 18) 92433 } 92434 92435 func _checkPtrmap(tls *crt.TLS, _pCheck *XIntegrityCk, _iChild uint32, _eType uint8, _iParent uint32) { // sqlite3.c:67988:1 92436 var _rc int32 // sqlite3.c:67994:7 92437 _ = _rc 92438 var _ePtrmapType uint8 // sqlite3.c:67995:6 92439 _ = _ePtrmapType 92440 var _iPtrmapParent uint32 // sqlite3.c:67996:8 92441 _ = _iPtrmapParent 92442 _rc = _ptrmapGet(tls, (*XBtShared)(unsafe.Pointer(_pCheck.X0)), _iChild, &_ePtrmapType, &_iPtrmapParent) 92443 if _rc == i32(0) { 92444 goto _0 92445 } 92446 92447 if _rc != i32(7) && _rc != i32(3082) { 92448 goto _2 92449 } 92450 92451 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(24 /* X6 */))) = i32(1) 92452 _2: 92453 _checkAppendMsg(tls, _pCheck, str(92412), _iChild) 92454 return 92455 92456 _0: 92457 if int32(_ePtrmapType) == int32(_eType) && _iPtrmapParent == _iParent { 92458 goto _4 92459 } 92460 92461 _checkAppendMsg(tls, _pCheck, str(92444), _iChild, int32(_eType), _iParent, int32(_ePtrmapType), _iPtrmapParent) 92462 _4: 92463 return 92464 92465 } 92466 92467 func _checkTreePage(tls *crt.TLS, _pCheck *XIntegrityCk, _iPage int32, _piMinKey *int64, _maxKey int64) (r0 int32) { // sqlite3.c:68153:1 92468 var _pPage *XMemPage // sqlite3.c:68159:11 92469 _ = _pPage 92470 var _i int32 // sqlite3.c:68160:7 92471 _ = _i 92472 var _rc int32 // sqlite3.c:68161:7 92473 _ = _rc 92474 var _depth int32 // sqlite3.c:68162:7 92475 _ = _depth 92476 var _d2 int32 // sqlite3.c:68162:19 92477 _ = _d2 92478 var _pgno int32 // sqlite3.c:68163:7 92479 _ = _pgno 92480 var _nFrag int32 // sqlite3.c:68164:7 92481 _ = _nFrag 92482 var _hdr int32 // sqlite3.c:68165:7 92483 _ = _hdr 92484 var _cellStart int32 // sqlite3.c:68166:7 92485 _ = _cellStart 92486 var _nCell int32 // sqlite3.c:68167:7 92487 _ = _nCell 92488 var _doCoverageCheck int32 // sqlite3.c:68168:7 92489 _ = _doCoverageCheck 92490 var _keyCanBeEqual int32 // sqlite3.c:68169:7 92491 _ = _keyCanBeEqual 92492 var _data *uint8 // sqlite3.c:68171:6 92493 _ = _data 92494 var _pCell *uint8 // sqlite3.c:68172:6 92495 _ = _pCell 92496 var _pCellIdx *uint8 // sqlite3.c:68173:6 92497 _ = _pCellIdx 92498 var _pBt *XBtShared // sqlite3.c:68174:12 92499 _ = _pBt 92500 var _pc uint32 // sqlite3.c:68175:7 92501 _ = _pc 92502 var _usableSize uint32 // sqlite3.c:68176:7 92503 _ = _usableSize 92504 var _contentOffset uint32 // sqlite3.c:68177:7 92505 _ = _contentOffset 92506 var _heap *uint32 // sqlite3.c:68178:7 92507 _ = _heap 92508 var _x uint32 // sqlite3.c:68179:7 92509 _ = _x 92510 var _prev uint32 // sqlite3.c:68179:10 92511 _ = _prev 92512 var _saved_zPfx *int8 // sqlite3.c:68180:14 92513 _ = _saved_zPfx 92514 var _saved_v1 int32 // sqlite3.c:68181:7 92515 _ = _saved_v1 92516 var _saved_v2 int32 // sqlite3.c:68182:7 92517 _ = _saved_v2 92518 var _savedIsInit uint8 // sqlite3.c:68183:6 92519 _ = _savedIsInit 92520 var _6_info XCellInfo // sqlite3.c:68249:14 92521 _ = _6_info 92522 var _11_nPage int32 // sqlite3.c:68280:11 92523 _ = _11_nPage 92524 var _11_pgnoOvfl uint32 // sqlite3.c:68281:12 92525 _ = _11_pgnoOvfl 92526 var _19_size uint32 // sqlite3.c:68325:13 92527 _ = _19_size 92528 var _20_size int32 // sqlite3.c:68339:11 92529 _ = _20_size 92530 var _20_j int32 // sqlite3.c:68339:17 92531 _ = _20_j 92532 _pPage = nil 92533 _depth = i32(-1) 92534 _doCoverageCheck = i32(1) 92535 _keyCanBeEqual = i32(1) 92536 _heap = nil 92537 _prev = u32(0) 92538 _saved_zPfx = _pCheck.X7 92539 _saved_v1 = _pCheck.X8 92540 _saved_v2 = _pCheck.X9 92541 _savedIsInit = u8(0) 92542 _pBt = (*XBtShared)(unsafe.Pointer(_pCheck.X0)) 92543 _usableSize = _pBt.X16 92544 if _iPage != i32(0) { 92545 goto _0 92546 } 92547 92548 r0 = i32(0) 92549 return 92550 92551 _0: 92552 if _checkRef(tls, _pCheck, uint32(_iPage)) == 0 { 92553 goto _1 92554 } 92555 92556 r0 = i32(0) 92557 return 92558 92559 _1: 92560 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(28 /* X7 */))) = str(92500) 92561 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(32 /* X8 */))) = _iPage 92562 if store961(&_rc, _btreeGetPage(tls, _pBt, uint32(_iPage), &_pPage, i32(0))) == i32(0) { 92563 goto _2 92564 } 92565 92566 _checkAppendMsg(tls, _pCheck, str(92512), _rc) 92567 goto _end_of_check 92568 92569 _2: 92570 _savedIsInit = _pPage.X0 92571 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 92572 if store961(&_rc, _btreeInitPage(tls, _pPage)) == i32(0) { 92573 goto _3 92574 } 92575 92576 func() int32 { 92577 if _rc == i32(11) { 92578 return i32(0) 92579 } 92580 return func() int32 { 92581 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68204), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92552))) 92582 crt.X__builtin_abort(tls) 92583 return i32(0) 92584 }() 92585 }() 92586 _checkAppendMsg(tls, _pCheck, str(92572), _rc) 92587 goto _end_of_check 92588 92589 _3: 92590 _data = _pPage.X19 92591 _hdr = int32(_pPage.X6) 92592 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(28 /* X7 */))) = str(92612) 92593 _contentOffset = uint32(((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(5)))))) + 1*uintptr(i32(1)))))) - i32(1)) & i32(65535)) + i32(1)) 92594 func() int32 { 92595 if _contentOffset <= _usableSize { 92596 return i32(0) 92597 } 92598 return func() int32 { 92599 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68215), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92640))) 92600 crt.X__builtin_abort(tls) 92601 return i32(0) 92602 }() 92603 }() 92604 _nCell = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(3)))))) + 1*uintptr(i32(1))))) 92605 func() int32 { 92606 if int32(_pPage.X14) == _nCell { 92607 return i32(0) 92608 } 92609 return func() int32 { 92610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68220), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92668))) 92611 crt.X__builtin_abort(tls) 92612 return i32(0) 92613 }() 92614 }() 92615 _cellStart = (_hdr + i32(12)) - (i32(4) * int32(_pPage.X5)) 92616 func() int32 { 92617 if (_pPage.X21) == (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cellStart))) { 92618 return i32(0) 92619 } 92620 return func() int32 { 92621 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68225), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92688))) 92622 crt.X__builtin_abort(tls) 92623 return i32(0) 92624 }() 92625 }() 92626 _pCellIdx = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_cellStart+(i32(2)*(_nCell-i32(1)))))) 92627 if (_pPage.X5) != 0 { 92628 goto _12 92629 } 92630 92631 _pgno = int32(_sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(8)))))) 92632 if (_pBt.X5) == 0 { 92633 goto _13 92634 } 92635 92636 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(28 /* X7 */))) = str(92724) 92637 _checkPtrmap(tls, _pCheck, uint32(_pgno), uint8(i32(5)), uint32(_iPage)) 92638 _13: 92639 _depth = _checkTreePage(tls, _pCheck, _pgno, &_maxKey, _maxKey) 92640 _keyCanBeEqual = i32(0) 92641 goto _14 92642 92643 _12: 92644 _heap = _pCheck.X11 92645 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_heap)) + 4*uintptr(i32(0)))) = uint32(i32(0)) 92646 _14: 92647 _i = _nCell - i32(1) 92648 _15: 92649 if _i < i32(0) || (_pCheck.X4) == 0 { 92650 goto _19 92651 } 92652 92653 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(36 /* X9 */))) = _i 92654 func() int32 { 92655 if _pCellIdx == (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cellStart+(_i*i32(2))))) { 92656 return i32(0) 92657 } 92658 return func() int32 { 92659 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68253), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92752))) 92660 crt.X__builtin_abort(tls) 92661 return i32(0) 92662 }() 92663 }() 92664 _pc = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellIdx)) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCellIdx)) + 1*uintptr(i32(1)))))) 92665 { 92666 p := &_pCellIdx 92667 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) - 1*uintptr(i32(2)))) 92668 sink6921 = *p 92669 } 92670 if _pc >= _contentOffset && _pc <= (_usableSize-uint32(i32(4))) { 92671 goto _23 92672 } 92673 92674 _checkAppendMsg(tls, _pCheck, str(92788), _pc, _contentOffset, _usableSize-uint32(i32(4))) 92675 _doCoverageCheck = i32(0) 92676 goto _16 92677 92678 _23: 92679 _pCell = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_pc))) 92680 (*(*func(*crt.TLS, *XMemPage, *uint8, *XCellInfo))(unsafe.Pointer(&struct { 92681 f func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 92682 }{(_pPage.X25)})))(tls, _pPage, _pCell, &_6_info) 92683 if (_pc + uint32(_6_info.X4)) <= _usableSize { 92684 goto _24 92685 } 92686 92687 _checkAppendMsg(tls, _pCheck, str(92820)) 92688 _doCoverageCheck = i32(0) 92689 goto _16 92690 92691 _24: 92692 if (_pPage.X2) == 0 { 92693 goto _25 92694 } 92695 92696 if func() int32 { 92697 if _keyCanBeEqual != 0 { 92698 return bool2int((_6_info.X0) > _maxKey) 92699 } 92700 return bool2int((_6_info.X0) >= _maxKey) 92701 }() == 0 { 92702 goto _28 92703 } 92704 92705 _checkAppendMsg(tls, _pCheck, str(92844), _6_info.X0) 92706 _28: 92707 _maxKey = _6_info.X0 92708 _25: 92709 if (_6_info.X2) <= uint32(_6_info.X3) { 92710 goto _29 92711 } 92712 92713 func() int32 { 92714 if ((_pc + uint32(_6_info.X4)) - uint32(i32(4))) <= _usableSize { 92715 return i32(0) 92716 } 92717 return func() int32 { 92718 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68282), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92868))) 92719 crt.X__builtin_abort(tls) 92720 return i32(0) 92721 }() 92722 }() 92723 _11_nPage = int32(((((_6_info.X2) - uint32(_6_info.X3)) + _usableSize) - uint32(i32(5))) / (_usableSize - uint32(i32(4)))) 92724 _11_pgnoOvfl = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCell))+1*uintptr(int32(_6_info.X4)-i32(4))))) 92725 if (_pBt.X5) == 0 { 92726 goto _32 92727 } 92728 92729 _checkPtrmap(tls, _pCheck, _11_pgnoOvfl, uint8(i32(3)), uint32(_iPage)) 92730 _32: 92731 _checkList(tls, _pCheck, i32(0), int32(_11_pgnoOvfl), _11_nPage) 92732 _29: 92733 if (_pPage.X5) != 0 { 92734 goto _33 92735 } 92736 92737 _pgno = int32(_sqlite3Get4byte(tls, _pCell)) 92738 if (_pBt.X5) == 0 { 92739 goto _34 92740 } 92741 92742 _checkPtrmap(tls, _pCheck, uint32(_pgno), uint8(i32(5)), uint32(_iPage)) 92743 _34: 92744 _d2 = _checkTreePage(tls, _pCheck, _pgno, &_maxKey, _maxKey) 92745 _keyCanBeEqual = i32(0) 92746 if _d2 == _depth { 92747 goto _35 92748 } 92749 92750 _checkAppendMsg(tls, _pCheck, str(92904)) 92751 _depth = _d2 92752 _35: 92753 goto _36 92754 92755 _33: 92756 _btreeHeapInsert(tls, _heap, (_pc<<uint(i32(16)))|((_pc+uint32(_6_info.X4))-uint32(i32(1)))) 92757 _36: 92758 _16: 92759 _i -= 1 92760 goto _15 92761 92762 _19: 92763 *_piMinKey = _maxKey 92764 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(28 /* X7 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 92765 if _doCoverageCheck == 0 || (_pCheck.X4) <= i32(0) { 92766 goto _38 92767 } 92768 92769 if (_pPage.X5) != 0 { 92770 goto _39 92771 } 92772 92773 _heap = _pCheck.X11 92774 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_heap)) + 4*uintptr(i32(0)))) = uint32(i32(0)) 92775 _i = _nCell - i32(1) 92776 _40: 92777 if _i < i32(0) { 92778 goto _43 92779 } 92780 92781 _pc = uint32((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cellStart+(_i*i32(2))))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_cellStart+(_i*i32(2))))))) + 1*uintptr(i32(1)))))) 92782 _19_size = uint32((*(*func(*crt.TLS, *XMemPage, *uint8) uint16)(unsafe.Pointer(&struct { 92783 f func(*crt.TLS, unsafe.Pointer, *uint8) uint16 92784 }{(_pPage.X24)})))(tls, _pPage, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_pc))))) 92785 _btreeHeapInsert(tls, _heap, (_pc<<uint(i32(16)))|((_pc+_19_size)-uint32(i32(1)))) 92786 _i -= 1 92787 goto _40 92788 92789 _43: 92790 _39: 92791 _i = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_hdr+i32(1)))))) + 1*uintptr(i32(1))))) 92792 _44: 92793 if _i <= i32(0) { 92794 goto _45 92795 } 92796 92797 func() int32 { 92798 if uint32(_i) <= (_usableSize - uint32(i32(4))) { 92799 return i32(0) 92800 } 92801 return func() int32 { 92802 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68340), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92932))) 92803 crt.X__builtin_abort(tls) 92804 return i32(0) 92805 }() 92806 }() 92807 _20_size = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_i+i32(2)))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_i+i32(2)))))) + 1*uintptr(i32(1))))) 92808 func() int32 { 92809 if uint32(_i+_20_size) <= _usableSize { 92810 return i32(0) 92811 } 92812 return func() int32 { 92813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68342), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92956))) 92814 crt.X__builtin_abort(tls) 92815 return i32(0) 92816 }() 92817 }() 92818 _btreeHeapInsert(tls, _heap, (uint32(_i)<<uint(i32(16)))|uint32((_i+_20_size)-i32(1))) 92819 _20_j = (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_i))))) + 1*uintptr(i32(0))))) << uint(i32(8))) | int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data))+1*uintptr(_i))))) + 1*uintptr(i32(1))))) 92820 func() int32 { 92821 if (_20_j == i32(0)) || (_20_j > (_i + _20_size)) { 92822 return i32(0) 92823 } 92824 return func() int32 { 92825 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68351), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(92984))) 92826 crt.X__builtin_abort(tls) 92827 return i32(0) 92828 }() 92829 }() 92830 func() int32 { 92831 if uint32(_20_j) <= (_usableSize - uint32(i32(4))) { 92832 return i32(0) 92833 } 92834 return func() int32 { 92835 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68352), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkTreePageØ00__func__Ø000))), unsafe.Pointer(str(93004))) 92836 crt.X__builtin_abort(tls) 92837 return i32(0) 92838 }() 92839 }() 92840 _i = _20_j 92841 goto _44 92842 92843 _45: 92844 _nFrag = i32(0) 92845 _prev = _contentOffset - uint32(i32(1)) 92846 _55: 92847 if _btreeHeapPull(tls, _heap, &_x) == 0 { 92848 goto _56 92849 } 92850 92851 if (_prev & uint32(i32(65535))) < (_x >> uint(i32(16))) { 92852 goto _57 92853 } 92854 92855 _checkAppendMsg(tls, _pCheck, str(93028), _x>>uint(i32(16)), _iPage) 92856 goto _56 92857 92858 _57: 92859 { 92860 p := &_nFrag 92861 *p = int32(uint32(*p) + (((_x >> uint(i32(16))) - (_prev & uint32(i32(65535)))) - uint32(i32(1)))) 92862 sink961 = *p 92863 } 92864 _prev = _x 92865 goto _55 92866 92867 _56: 92868 { 92869 p := &_nFrag 92870 *p = int32(uint32(*p) + ((_usableSize - (_prev & uint32(i32(65535)))) - uint32(i32(1)))) 92871 sink961 = *p 92872 } 92873 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_heap)) + 4*uintptr(i32(0))))) != uint32(i32(0)) || _nFrag == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))) { 92874 goto _60 92875 } 92876 92877 _checkAppendMsg(tls, _pCheck, str(93068), _nFrag, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_data)) + 1*uintptr(_hdr+i32(7))))), _iPage) 92878 _60: 92879 _38: 92880 _end_of_check: 92881 if _doCoverageCheck != 0 { 92882 goto _61 92883 } 92884 92885 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))) = _savedIsInit 92886 _61: 92887 _releasePage(tls, _pPage) 92888 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(28 /* X7 */))) = _saved_zPfx 92889 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(32 /* X8 */))) = _saved_v1 92890 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCheck)) + uintptr(36 /* X9 */))) = _saved_v2 92891 r0 = _depth + i32(1) 92892 return 92893 92894 } 92895 92896 var _checkTreePageØ00__func__Ø000 [14]int8 // - 92897 92898 func init() { 92899 crt.Xstrncpy(nil, &_checkTreePageØ00__func__Ø000[0], str(93120), 14) 92900 } 92901 92902 func _btreeHeapInsert(tls *crt.TLS, _aHeap *uint32, _x uint32) { // sqlite3.c:68109:1 92903 var _j uint32 // sqlite3.c:68110:7 92904 _ = _j 92905 var _i uint32 // sqlite3.c:68110:10 92906 _ = _i 92907 _i = preInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap))+4*uintptr(i32(0)))), uint32(1)) 92908 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) = _x 92909 _0: 92910 if store985(&_j, _i/uint32(i32(2))) <= uint32(i32(0)) || (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j)))) <= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i)))) { 92911 goto _1 92912 } 92913 92914 _x = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) 92915 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) 92916 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) = _x 92917 _i = _j 92918 goto _0 92919 92920 _1: 92921 return 92922 92923 } 92924 92925 func _btreeHeapPull(tls *crt.TLS, _aHeap *uint32, _pOut *uint32) (r0 int32) { // sqlite3.c:68119:1 92926 var _j uint32 // sqlite3.c:68120:7 92927 _ = _j 92928 var _i uint32 // sqlite3.c:68120:10 92929 _ = _i 92930 var _x uint32 // sqlite3.c:68120:13 92931 _ = _x 92932 if store985(&_x, *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(0))))) != uint32(i32(0)) { 92933 goto _0 92934 } 92935 92936 r0 = i32(0) 92937 return 92938 92939 _0: 92940 *_pOut = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(1)))) 92941 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(1)))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_x))) 92942 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_x))) = u32(4294967295) 92943 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(0)))) -= 1 92944 _i = uint32(i32(1)) 92945 _1: 92946 if store985(&_j, _i*uint32(i32(2))) > (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(i32(0))))) { 92947 goto _2 92948 } 92949 92950 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j)))) <= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j+uint32(i32(1)))))) { 92951 goto _3 92952 } 92953 92954 _j += 1 92955 _3: 92956 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i)))) >= (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j)))) { 92957 goto _4 92958 } 92959 92960 goto _2 92961 92962 _4: 92963 _x = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) 92964 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_i))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) 92965 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aHeap)) + 4*uintptr(_j))) = _x 92966 _i = _j 92967 goto _1 92968 92969 _2: 92970 r0 = i32(1) 92971 return 92972 92973 } 92974 92975 func _sqlite3VdbeMemSetRowSet(tls *crt.TLS, _pMem *XMem) { // sqlite3.c:70336:1 92976 var _db *Xsqlite3 // sqlite3.c:70337:11 92977 _ = _db 92978 _db = (*Xsqlite3)(unsafe.Pointer(_pMem.X9)) 92979 func() int32 { 92980 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 92981 return i32(0) 92982 } 92983 return func() int32 { 92984 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70338), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetRowSetØ00__func__Ø000))), unsafe.Pointer(str(1184))) 92985 crt.X__builtin_abort(tls) 92986 return i32(0) 92987 }() 92988 }() 92989 func() int32 { 92990 if (int32(_pMem.X1) & i32(32)) == i32(0) { 92991 return i32(0) 92992 } 92993 return func() int32 { 92994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70339), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetRowSetØ00__func__Ø000))), unsafe.Pointer(str(6376))) 92995 crt.X__builtin_abort(tls) 92996 return i32(0) 92997 }() 92998 }() 92999 _sqlite3VdbeMemRelease(tls, _pMem) 93000 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(20 /* X6 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(i32(64))))) 93001 if (_db.X17) == 0 { 93002 goto _4 93003 } 93004 93005 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(1)) 93006 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = i32(0) 93007 goto _5 93008 93009 _4: 93010 func() int32 { 93011 if (_pMem.X6) != nil { 93012 return i32(0) 93013 } 93014 return func() int32 { 93015 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70346), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetRowSetØ00__func__Ø000))), unsafe.Pointer(str(93136))) 93016 crt.X__builtin_abort(tls) 93017 return i32(0) 93018 }() 93019 }() 93020 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(24 /* X7 */))) = _sqlite3DbMallocSize(tls, _db, (unsafe.Pointer)(_pMem.X6)) 93021 *(**XRowSet)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) = _sqlite3RowSetInit(tls, _db, (unsafe.Pointer)(_pMem.X6), uint32(_pMem.X7)) 93022 func() int32 { 93023 if (*XRowSet)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(0 /* X0 */))))))) != (*XRowSet)(unsafe.Pointer(uintptr(i32(0)))) { 93024 return i32(0) 93025 } 93026 return func() int32 { 93027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70349), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemSetRowSetØ00__func__Ø000))), unsafe.Pointer(str(93152))) 93028 crt.X__builtin_abort(tls) 93029 return i32(0) 93030 }() 93031 }() 93032 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMem)) + uintptr(8 /* X1 */))) = uint16(i32(32)) 93033 _5: 93034 return 93035 93036 } 93037 93038 var _sqlite3VdbeMemSetRowSetØ00__func__Ø000 [24]int8 // - 93039 93040 func init() { 93041 crt.Xstrncpy(nil, &_sqlite3VdbeMemSetRowSetØ00__func__Ø000[0], str(93172), 24) 93042 } 93043 93044 func _sqlite3RowSetInit(tls *crt.TLS, _db *Xsqlite3, _pSpace unsafe.Pointer, _N uint32) (r0 *XRowSet) { // sqlite3.c:46358:1 93045 var _p *XRowSet // sqlite3.c:46359:10 93046 _ = _p 93047 func() int32 { 93048 if _N >= u32(32) { 93049 return i32(0) 93050 } 93051 return func() int32 { 93052 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46360), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RowSetInitØ00__func__Ø000))), unsafe.Pointer(str(93196))) 93053 crt.X__builtin_abort(tls) 93054 return i32(0) 93055 }() 93056 }() 93057 _p = (*XRowSet)(unsafe.Pointer(_pSpace)) 93058 *(**T7901247)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = (*T7901247)(unsafe.Pointer(uintptr(i32(0)))) 93059 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = _db 93060 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93061 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93062 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93063 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = (*T7901175)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u32(32)))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p)))))))) 93064 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = uint16((_N - u32(32)) / u32(16)) 93065 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(26 /* X7 */))) = uint16(i32(1)) 93066 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X8 */))) = i32(0) 93067 r0 = _p 93068 return 93069 93070 } 93071 93072 var _sqlite3RowSetInitØ00__func__Ø000 [18]int8 // - 93073 93074 func init() { 93075 crt.Xstrncpy(nil, &_sqlite3RowSetInitØ00__func__Ø000[0], str(93220), 18) 93076 } 93077 93078 func _sqlite3RowSetInsert(tls *crt.TLS, _p *XRowSet, _rowid int64) { // sqlite3.c:46426:1 93079 var _pEntry *T7901175 // sqlite3.c:46427:22 93080 _ = _pEntry 93081 var _pLast *T7901175 // sqlite3.c:46428:22 93082 _ = _pLast 93083 func() int32 { 93084 if (_p != (*XRowSet)(unsafe.Pointer(uintptr(i32(0))))) && ((int32(_p.X7) & i32(2)) == i32(0)) { 93085 return i32(0) 93086 } 93087 return func() int32 { 93088 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46431), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RowSetInsertØ00__func__Ø000))), unsafe.Pointer(str(93240))) 93089 crt.X__builtin_abort(tls) 93090 return i32(0) 93091 }() 93092 }() 93093 _pEntry = _rowSetEntryAlloc(tls, _p) 93094 if _pEntry != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93095 goto _3 93096 } 93097 93098 return 93099 93100 _3: 93101 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(0 /* X0 */))) = _rowid 93102 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEntry)) + uintptr(8 /* X1 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93103 _pLast = (*T7901175)(unsafe.Pointer(_p.X3)) 93104 if _pLast == nil { 93105 goto _4 93106 } 93107 93108 if _rowid > (_pLast.X0) { 93109 goto _5 93110 } 93111 93112 { 93113 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(26 /* X7 */))) 93114 *p = uint16(int32(*p) & i32(-2)) 93115 sink6908 = *p 93116 } 93117 _5: 93118 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLast)) + uintptr(8 /* X1 */))))) = _pEntry 93119 goto _6 93120 93121 _4: 93122 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = _pEntry 93123 _6: 93124 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = _pEntry 93125 return 93126 93127 } 93128 93129 var _sqlite3RowSetInsertØ00__func__Ø000 [20]int8 // - 93130 93131 func init() { 93132 crt.Xstrncpy(nil, &_sqlite3RowSetInsertØ00__func__Ø000[0], str(93280), 20) 93133 } 93134 93135 func _rowSetEntryAlloc(tls *crt.TLS, _p *XRowSet) (r0 *T7901175) { // sqlite3.c:46401:1 93136 var _1_pNew *T7901247 // sqlite3.c:46406:24 93137 _ = _1_pNew 93138 func() int32 { 93139 if _p != (*XRowSet)(unsafe.Pointer(uintptr(i32(0)))) { 93140 return i32(0) 93141 } 93142 return func() int32 { 93143 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46402), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetEntryAllocØ00__func__Ø000))), unsafe.Pointer(str(824))) 93144 crt.X__builtin_abort(tls) 93145 return i32(0) 93146 }() 93147 }() 93148 if int32(_p.X6) != i32(0) { 93149 goto _2 93150 } 93151 93152 _1_pNew = (*T7901247)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_p.X1)), uint64(u32(1012))))) 93153 if _1_pNew != (*T7901247)(unsafe.Pointer(uintptr(i32(0)))) { 93154 goto _3 93155 } 93156 93157 r0 = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93158 return 93159 93160 _3: 93161 *(**T7901247)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(0 /* X0 */))))) = (*T7901247)(unsafe.Pointer(_p.X0)) 93162 *(**T7901247)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _1_pNew 93163 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = (*T7901175)(unsafe.Pointer((*[63]struct { 93164 X0 int64 93165 X1 unsafe.Pointer 93166 X2 unsafe.Pointer 93167 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(4 /* X1 */))))) 93168 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = uint16(u32(63)) 93169 _2: 93170 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) -= 1 93171 r0 = postInc7901361((**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X4 */))))), 16) 93172 return 93173 93174 } 93175 93176 var _rowSetEntryAllocØ00__func__Ø000 [17]int8 // - 93177 93178 func init() { 93179 crt.Xstrncpy(nil, &_rowSetEntryAllocØ00__func__Ø000[0], str(93300), 17) 93180 } 93181 93182 func _sqlite3RowSetNext(tls *crt.TLS, _p *XRowSet, _pRowid *int64) (r0 int32) { // sqlite3.c:46624:1 93183 func() int32 { 93184 if _p != (*XRowSet)(unsafe.Pointer(uintptr(i32(0)))) { 93185 return i32(0) 93186 } 93187 return func() int32 { 93188 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46625), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RowSetNextØ00__func__Ø000))), unsafe.Pointer(str(824))) 93189 crt.X__builtin_abort(tls) 93190 return i32(0) 93191 }() 93192 }() 93193 func() int32 { 93194 if (*T7901175)(unsafe.Pointer(_p.X5)) == (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93195 return i32(0) 93196 } 93197 return func() int32 { 93198 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46626), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RowSetNextØ00__func__Ø000))), unsafe.Pointer(str(93320))) 93199 crt.X__builtin_abort(tls) 93200 return i32(0) 93201 }() 93202 }() 93203 if (int32(_p.X7) & i32(2)) != i32(0) { 93204 goto _4 93205 } 93206 93207 if (int32(_p.X7) & i32(1)) != i32(0) { 93208 goto _5 93209 } 93210 93211 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = _rowSetEntrySort(tls, (*T7901175)(unsafe.Pointer(_p.X2))) 93212 _5: 93213 { 93214 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(26 /* X7 */))) 93215 *p = uint16(int32(*p) | i32(3)) 93216 sink6908 = *p 93217 } 93218 _4: 93219 if (*T7901175)(unsafe.Pointer(_p.X2)) == nil { 93220 goto _6 93221 } 93222 93223 *_pRowid = (*T7901175)(unsafe.Pointer(_p.X2)).X0 93224 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))))) = (*T7901175)(unsafe.Pointer((*T7901175)(unsafe.Pointer(_p.X2)).X1)) 93225 if (*T7901175)(unsafe.Pointer(_p.X2)) != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93226 goto _7 93227 } 93228 93229 _sqlite3RowSetClear(tls, _p) 93230 _7: 93231 r0 = i32(1) 93232 return 93233 93234 _6: 93235 r0 = i32(0) 93236 return 93237 93238 } 93239 93240 var _sqlite3RowSetNextØ00__func__Ø000 [18]int8 // - 93241 93242 func init() { 93243 crt.Xstrncpy(nil, &_sqlite3RowSetNextØ00__func__Ø000[0], str(93336), 18) 93244 } 93245 93246 func _rowSetEntrySort(tls *crt.TLS, _pIn *T7901175) (r0 *T7901175) { // sqlite3.c:46492:1 93247 var _i uint32 // sqlite3.c:46493:16 93248 _ = _i 93249 var _pNext *T7901175 // sqlite3.c:46494:22 93250 _ = _pNext 93251 var _aBucket [40]*struct { 93252 X0 int64 93253 X1 unsafe.Pointer 93254 X2 unsafe.Pointer 93255 } // sqlite3.c:46494:30 93256 _ = _aBucket 93257 crt.Xmemset(tls, (unsafe.Pointer)(&_aBucket), i32(0), u32(160)) 93258 _0: 93259 if _pIn == nil { 93260 goto _1 93261 } 93262 93263 _pNext = (*T7901175)(unsafe.Pointer(_pIn.X1)) 93264 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(8 /* X1 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93265 _i = uint32(i32(0)) 93266 _2: 93267 if (*(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i)))) == nil { 93268 goto _5 93269 } 93270 93271 _pIn = _rowSetEntryMerge(tls, *(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i))), _pIn) 93272 *(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93273 _i += 1 93274 goto _2 93275 93276 _5: 93277 *(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i))) = _pIn 93278 _pIn = _pNext 93279 goto _0 93280 93281 _1: 93282 _pIn = *(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(i32(0)))) 93283 _i = uint32(i32(1)) 93284 _6: 93285 if _i >= u32(40) { 93286 goto _9 93287 } 93288 93289 if (*(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i)))) != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93290 goto _10 93291 } 93292 93293 goto _7 93294 93295 _10: 93296 _pIn = func() *T7901175 { 93297 if _pIn != nil { 93298 return _rowSetEntryMerge(tls, _pIn, *(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i)))) 93299 } 93300 return (*(**T7901175)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aBucket)) + 4*uintptr(_i)))) 93301 }() 93302 _7: 93303 _i += 1 93304 goto _6 93305 93306 _9: 93307 r0 = _pIn 93308 return 93309 93310 } 93311 93312 func _rowSetEntryMerge(tls *crt.TLS, _pA *T7901175, _pB *T7901175) (r0 *T7901175) { // sqlite3.c:46457:1 93313 var _head T7901175 // sqlite3.c:46461:22 93314 _ = _head 93315 var _pTail *T7901175 // sqlite3.c:46462:22 93316 _ = _pTail 93317 _pTail = &_head 93318 func() int32 { 93319 if (_pA != (*T7901175)(unsafe.Pointer(uintptr(i32(0))))) && (_pB != (*T7901175)(unsafe.Pointer(uintptr(i32(0))))) { 93320 return i32(0) 93321 } 93322 return func() int32 { 93323 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46465), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetEntryMergeØ00__func__Ø000))), unsafe.Pointer(str(17060))) 93324 crt.X__builtin_abort(tls) 93325 return i32(0) 93326 }() 93327 }() 93328 _3: 93329 func() int32 { 93330 if ((*T7901175)(unsafe.Pointer(_pA.X1)) == (*T7901175)(unsafe.Pointer(uintptr(i32(0))))) || ((_pA.X0) <= ((*T7901175)(unsafe.Pointer(_pA.X1)).X0)) { 93331 return i32(0) 93332 } 93333 return func() int32 { 93334 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46467), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetEntryMergeØ00__func__Ø000))), unsafe.Pointer(str(93356))) 93335 crt.X__builtin_abort(tls) 93336 return i32(0) 93337 }() 93338 }() 93339 func() int32 { 93340 if ((*T7901175)(unsafe.Pointer(_pB.X1)) == (*T7901175)(unsafe.Pointer(uintptr(i32(0))))) || ((_pB.X0) <= ((*T7901175)(unsafe.Pointer(_pB.X1)).X0)) { 93341 return i32(0) 93342 } 93343 return func() int32 { 93344 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46468), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetEntryMergeØ00__func__Ø000))), unsafe.Pointer(str(93396))) 93345 crt.X__builtin_abort(tls) 93346 return i32(0) 93347 }() 93348 }() 93349 if (_pA.X0) > (_pB.X0) { 93350 goto _12 93351 } 93352 93353 if (_pA.X0) >= (_pB.X0) { 93354 goto _13 93355 } 93356 93357 _pTail = store7901361((**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail))+uintptr(8 /* X1 */))))), _pA) 93358 _13: 93359 _pA = (*T7901175)(unsafe.Pointer(_pA.X1)) 93360 if _pA != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93361 goto _14 93362 } 93363 93364 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(8 /* X1 */))))) = _pB 93365 goto _5 93366 93367 _14: 93368 goto _15 93369 93370 _12: 93371 _pTail = store7901361((**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail))+uintptr(8 /* X1 */))))), _pB) 93372 _pB = (*T7901175)(unsafe.Pointer(_pB.X1)) 93373 if _pB != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93374 goto _16 93375 } 93376 93377 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTail)) + uintptr(8 /* X1 */))))) = _pA 93378 goto _5 93379 93380 _16: 93381 _15: 93382 goto _3 93383 93384 _5: 93385 r0 = (*T7901175)(unsafe.Pointer(_head.X1)) 93386 return 93387 93388 } 93389 93390 var _rowSetEntryMergeØ00__func__Ø000 [17]int8 // - 93391 93392 func init() { 93393 crt.Xstrncpy(nil, &_rowSetEntryMergeØ00__func__Ø000[0], str(93436), 17) 93394 } 93395 93396 func _sqlite3RowSetTest(tls *crt.TLS, _pRowSet *XRowSet, _iBatch int32, _iRowid int64) (r0 int32) { // sqlite3.c:46658:1 93397 var _p *T7901175 // sqlite3.c:46659:22 93398 _ = _p 93399 var _pTree *T7901175 // sqlite3.c:46659:26 93400 _ = _pTree 93401 var _2_ppPrevTree **T7901175 // sqlite3.c:46670:26 93402 _ = _2_ppPrevTree 93403 var _6_pAux *T7901175 // sqlite3.c:46681:30 93404 _ = _6_pAux 93405 var _6_pTail *T7901175 // sqlite3.c:46681:37 93406 _ = _6_pTail 93407 func() int32 { 93408 if (_pRowSet != (*XRowSet)(unsafe.Pointer(uintptr(i32(0))))) && ((int32(_pRowSet.X7) & i32(2)) == i32(0)) { 93409 return i32(0) 93410 } 93411 return func() int32 { 93412 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46662), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RowSetTestØ00__func__Ø000))), unsafe.Pointer(str(93456))) 93413 crt.X__builtin_abort(tls) 93414 return i32(0) 93415 }() 93416 }() 93417 if _iBatch == (_pRowSet.X8) { 93418 goto _3 93419 } 93420 93421 _p = (*T7901175)(unsafe.Pointer(_pRowSet.X2)) 93422 if _p == nil { 93423 goto _4 93424 } 93425 93426 _2_ppPrevTree = (**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(20 /* X5 */))))) 93427 if (int32(_pRowSet.X7) & i32(1)) != i32(0) { 93428 goto _5 93429 } 93430 93431 _p = _rowSetEntrySort(tls, _p) 93432 _5: 93433 _pTree = (*T7901175)(unsafe.Pointer(_pRowSet.X5)) 93434 _6: 93435 if _pTree == nil { 93436 goto _9 93437 } 93438 93439 _2_ppPrevTree = (**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(8 /* X1 */))))) 93440 if (*T7901175)(unsafe.Pointer(_pTree.X2)) != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93441 goto _10 93442 } 93443 93444 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(12 /* X2 */))))) = _rowSetListToTree(tls, _p) 93445 goto _9 93446 93447 _10: 93448 _rowSetTreeToList(tls, (*T7901175)(unsafe.Pointer(_pTree.X2)), &_6_pAux, &_6_pTail) 93449 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(12 /* X2 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93450 _p = _rowSetEntryMerge(tls, _6_pAux, _p) 93451 _pTree = (*T7901175)(unsafe.Pointer(_pTree.X1)) 93452 goto _6 93453 93454 _9: 93455 if _pTree != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93456 goto _12 93457 } 93458 93459 *_2_ppPrevTree = store7901361(&_pTree, _rowSetEntryAlloc(tls, _pRowSet)) 93460 if _pTree == nil { 93461 goto _13 93462 } 93463 93464 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(0 /* X0 */))) = int64(i32(0)) 93465 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(8 /* X1 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93466 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTree)) + uintptr(12 /* X2 */))))) = _rowSetListToTree(tls, _p) 93467 _13: 93468 _12: 93469 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(8 /* X2 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93470 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(12 /* X3 */))))) = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93471 { 93472 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(26 /* X7 */))) 93473 *p = uint16(int32(*p) | i32(1)) 93474 sink6908 = *p 93475 } 93476 _4: 93477 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRowSet)) + uintptr(28 /* X8 */))) = _iBatch 93478 _3: 93479 _pTree = (*T7901175)(unsafe.Pointer(_pRowSet.X5)) 93480 _14: 93481 if _pTree == nil { 93482 goto _17 93483 } 93484 93485 _p = (*T7901175)(unsafe.Pointer(_pTree.X2)) 93486 _18: 93487 if _p == nil { 93488 goto _19 93489 } 93490 93491 if (_p.X0) >= _iRowid { 93492 goto _20 93493 } 93494 93495 _p = (*T7901175)(unsafe.Pointer(_p.X1)) 93496 goto _21 93497 93498 _20: 93499 if (_p.X0) <= _iRowid { 93500 goto _22 93501 } 93502 93503 _p = (*T7901175)(unsafe.Pointer(_p.X2)) 93504 goto _23 93505 93506 _22: 93507 r0 = i32(1) 93508 return 93509 93510 _23: 93511 _21: 93512 goto _18 93513 93514 _19: 93515 _pTree = (*T7901175)(unsafe.Pointer(_pTree.X1)) 93516 goto _14 93517 93518 _17: 93519 r0 = i32(0) 93520 return 93521 93522 } 93523 93524 var _sqlite3RowSetTestØ00__func__Ø000 [18]int8 // - 93525 93526 func init() { 93527 crt.Xstrncpy(nil, &_sqlite3RowSetTestØ00__func__Ø000[0], str(93508), 18) 93528 } 93529 93530 func _rowSetListToTree(tls *crt.TLS, _pList *T7901175) (r0 *T7901175) { // sqlite3.c:46592:1 93531 var _iDepth int32 // sqlite3.c:46593:7 93532 _ = _iDepth 93533 var _p *T7901175 // sqlite3.c:46594:22 93534 _ = _p 93535 var _pLeft *T7901175 // sqlite3.c:46595:22 93536 _ = _pLeft 93537 func() int32 { 93538 if _pList != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93539 return i32(0) 93540 } 93541 return func() int32 { 93542 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46597), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetListToTreeØ00__func__Ø000))), unsafe.Pointer(str(93528))) 93543 crt.X__builtin_abort(tls) 93544 return i32(0) 93545 }() 93546 }() 93547 _p = _pList 93548 _pList = (*T7901175)(unsafe.Pointer(_p.X1)) 93549 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))))) = store7901361((**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))))), (*T7901175)(unsafe.Pointer(uintptr(i32(0))))) 93550 _iDepth = i32(1) 93551 _2: 93552 if _pList == nil { 93553 goto _5 93554 } 93555 93556 _pLeft = _p 93557 _p = _pList 93558 _pList = (*T7901175)(unsafe.Pointer(_p.X1)) 93559 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))))) = _pLeft 93560 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _rowSetNDeepTree(tls, &_pList, _iDepth) 93561 _iDepth += 1 93562 goto _2 93563 93564 _5: 93565 r0 = _p 93566 return 93567 93568 } 93569 93570 var _rowSetListToTreeØ00__func__Ø000 [17]int8 // - 93571 93572 func init() { 93573 crt.Xstrncpy(nil, &_rowSetListToTreeØ00__func__Ø000[0], str(93540), 17) 93574 } 93575 93576 func _rowSetNDeepTree(tls *crt.TLS, _ppList **T7901175, _iDepth int32) (r0 *T7901175) { // sqlite3.c:46556:1 93577 var _p *T7901175 // sqlite3.c:46560:22 93578 _ = _p 93579 var _pLeft *T7901175 // sqlite3.c:46561:22 93580 _ = _pLeft 93581 if (*_ppList) != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93582 goto _0 93583 } 93584 93585 r0 = (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) 93586 return 93587 93588 _0: 93589 if _iDepth <= i32(1) { 93590 goto _1 93591 } 93592 93593 _pLeft = _rowSetNDeepTree(tls, _ppList, _iDepth-i32(1)) 93594 _p = *_ppList 93595 if _p != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93596 goto _2 93597 } 93598 93599 r0 = _pLeft 93600 return 93601 93602 _2: 93603 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))))) = _pLeft 93604 *_ppList = (*T7901175)(unsafe.Pointer(_p.X1)) 93605 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))))) = _rowSetNDeepTree(tls, _ppList, _iDepth-i32(1)) 93606 goto _3 93607 93608 _1: 93609 _p = *_ppList 93610 *_ppList = (*T7901175)(unsafe.Pointer(_p.X1)) 93611 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X2 */))))) = store7901361((**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))))), (*T7901175)(unsafe.Pointer(uintptr(i32(0))))) 93612 _3: 93613 r0 = _p 93614 return 93615 93616 } 93617 93618 func _rowSetTreeToList(tls *crt.TLS, _pIn *T7901175, _ppFirst **T7901175, _ppLast **T7901175) { // sqlite3.c:46521:1 93619 var _1_p *T7901175 // sqlite3.c:46528:24 93620 _ = _1_p 93621 func() int32 { 93622 if _pIn != (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93623 return i32(0) 93624 } 93625 return func() int32 { 93626 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46526), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetTreeToListØ00__func__Ø000))), unsafe.Pointer(str(93560))) 93627 crt.X__builtin_abort(tls) 93628 return i32(0) 93629 }() 93630 }() 93631 if (*T7901175)(unsafe.Pointer(_pIn.X2)) == nil { 93632 goto _2 93633 } 93634 93635 _rowSetTreeToList(tls, (*T7901175)(unsafe.Pointer(_pIn.X2)), _ppFirst, &_1_p) 93636 *(**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(8 /* X1 */))))) = _pIn 93637 goto _3 93638 93639 _2: 93640 *_ppFirst = _pIn 93641 _3: 93642 if (*T7901175)(unsafe.Pointer(_pIn.X1)) == nil { 93643 goto _4 93644 } 93645 93646 _rowSetTreeToList(tls, (*T7901175)(unsafe.Pointer(_pIn.X1)), (**T7901175)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn))+uintptr(8 /* X1 */))))), _ppLast) 93647 goto _5 93648 93649 _4: 93650 *_ppLast = _pIn 93651 _5: 93652 func() int32 { 93653 if (*T7901175)(unsafe.Pointer((*_ppLast).X1)) == (*T7901175)(unsafe.Pointer(uintptr(i32(0)))) { 93654 return i32(0) 93655 } 93656 return func() int32 { 93657 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46539), unsafe.Pointer((*int8)(unsafe.Pointer(&_rowSetTreeToListØ00__func__Ø000))), unsafe.Pointer(str(93568))) 93658 crt.X__builtin_abort(tls) 93659 return i32(0) 93660 }() 93661 }() 93662 return 93663 93664 } 93665 93666 var _rowSetTreeToListØ00__func__Ø000 [17]int8 // - 93667 93668 func init() { 93669 crt.Xstrncpy(nil, &_rowSetTreeToListØ00__func__Ø000[0], str(93592), 17) 93670 } 93671 93672 func _sqlite3Checkpoint(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:142072:1 93673 var _rc int32 // sqlite3.c:142073:7 93674 _ = _rc 93675 var _i int32 // sqlite3.c:142074:7 93676 _ = _i 93677 var _bBusy int32 // sqlite3.c:142075:7 93678 _ = _bBusy 93679 _rc = i32(0) 93680 _bBusy = i32(0) 93681 func() int32 { 93682 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 93683 return i32(0) 93684 } 93685 return func() int32 { 93686 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142077), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CheckpointØ00__func__Ø000))), unsafe.Pointer(str(832))) 93687 crt.X__builtin_abort(tls) 93688 return i32(0) 93689 }() 93690 }() 93691 func() int32 { 93692 if (_pnLog == nil) || ((*_pnLog) == i32(-1)) { 93693 return i32(0) 93694 } 93695 return func() int32 { 93696 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142078), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CheckpointØ00__func__Ø000))), unsafe.Pointer(str(93612))) 93697 crt.X__builtin_abort(tls) 93698 return i32(0) 93699 }() 93700 }() 93701 func() int32 { 93702 if (_pnCkpt == nil) || ((*_pnCkpt) == i32(-1)) { 93703 return i32(0) 93704 } 93705 return func() int32 { 93706 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142079), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CheckpointØ00__func__Ø000))), unsafe.Pointer(str(93636))) 93707 crt.X__builtin_abort(tls) 93708 return i32(0) 93709 }() 93710 }() 93711 _i = i32(0) 93712 _8: 93713 if _i >= (_db.X5) || _rc != i32(0) { 93714 goto _12 93715 } 93716 93717 if _i != _iDb && _iDb != i32(10) { 93718 goto _14 93719 } 93720 93721 _rc = _sqlite3BtreeCheckpoint(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X1)), _eMode, _pnLog, _pnCkpt) 93722 _pnLog = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 93723 _pnCkpt = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 93724 if _rc != i32(5) { 93725 goto _15 93726 } 93727 93728 _bBusy = i32(1) 93729 _rc = i32(0) 93730 _15: 93731 _14: 93732 _i += 1 93733 goto _8 93734 93735 _12: 93736 r0 = func() int32 { 93737 if (_rc == i32(0)) && _bBusy != 0 { 93738 return i32(5) 93739 } 93740 return _rc 93741 }() 93742 return 93743 93744 } 93745 93746 var _sqlite3CheckpointØ00__func__Ø000 [18]int8 // - 93747 93748 func init() { 93749 crt.Xstrncpy(nil, &_sqlite3CheckpointØ00__func__Ø000[0], str(93660), 18) 93750 } 93751 93752 func _sqlite3BtreeCheckpoint(tls *crt.TLS, _p *XBtree, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:68571:1 93753 var _rc int32 // sqlite3.c:68572:7 93754 _ = _rc 93755 var _1_pBt *XBtShared // sqlite3.c:68574:14 93756 _ = _1_pBt 93757 _rc = i32(0) 93758 if _p == nil { 93759 goto _0 93760 } 93761 93762 _1_pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 93763 _sqlite3BtreeEnter(tls, _p) 93764 if int32(_1_pBt.X8) == i32(0) { 93765 goto _1 93766 } 93767 93768 _rc = i32(6) 93769 goto _2 93770 93771 _1: 93772 _rc = _sqlite3PagerCheckpoint(tls, (*XPager)(unsafe.Pointer(_1_pBt.X0)), (*Xsqlite3)(unsafe.Pointer(_p.X0)), _eMode, _pnLog, _pnCkpt) 93773 _2: 93774 _sqlite3BtreeLeave(tls, _p) 93775 _0: 93776 r0 = _rc 93777 return 93778 93779 } 93780 93781 func _sqlite3PagerCheckpoint(tls *crt.TLS, _pPager *XPager, _db *Xsqlite3, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:54160:1 93782 var _rc int32 // sqlite3.c:54167:7 93783 _ = _rc 93784 _rc = i32(0) 93785 if (*XWal)(unsafe.Pointer(_pPager.X60)) == nil { 93786 goto _0 93787 } 93788 93789 _rc = _sqlite3WalCheckpoint(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _db, _eMode, func() func(*crt.TLS, unsafe.Pointer) int32 { 93790 if _eMode == i32(0) { 93791 return nil 93792 } 93793 return (_pPager.X53) 93794 }(), _pPager.X54, int32(_pPager.X7), _pPager.X48, (*uint8)(unsafe.Pointer(_pPager.X58)), _pnLog, _pnCkpt) 93795 _0: 93796 r0 = _rc 93797 return 93798 93799 } 93800 93801 func _sqlite3PagerOkToChangeJournalMode(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54110:1 93802 func() int32 { 93803 if _assert_pager_state(tls, _pPager) != 0 { 93804 return i32(0) 93805 } 93806 return func() int32 { 93807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54111), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOkToChangeJournalModeØ00__func__Ø000))), unsafe.Pointer(str(11184))) 93808 crt.X__builtin_abort(tls) 93809 return i32(0) 93810 }() 93811 }() 93812 if int32(_pPager.X14) < i32(3) { 93813 goto _2 93814 } 93815 93816 r0 = i32(0) 93817 return 93818 93819 _2: 93820 if func() int32 { 93821 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) && ((_pPager.X34) > int64(i32(0))) { 93822 return func() int32 { 93823 func() int32 { 93824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54113), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerOkToChangeJournalModeØ00__func__Ø000))), unsafe.Pointer(str(5204))) 93825 crt.X__builtin_abort(tls) 93826 return i32(0) 93827 }() 93828 return i32(1) 93829 }() 93830 } 93831 return i32(0) 93832 }() == 0 { 93833 goto _6 93834 } 93835 93836 r0 = i32(0) 93837 return 93838 93839 _6: 93840 r0 = i32(1) 93841 return 93842 93843 } 93844 93845 var _sqlite3PagerOkToChangeJournalModeØ00__func__Ø000 [34]int8 // - 93846 93847 func init() { 93848 crt.Xstrncpy(nil, &_sqlite3PagerOkToChangeJournalModeØ00__func__Ø000[0], str(93680), 34) 93849 } 93850 93851 func _sqlite3PagerCloseWal(tls *crt.TLS, _pPager *XPager, _db *Xsqlite3) (r0 int32) { // sqlite3.c:54301:1 93852 var _rc int32 // sqlite3.c:54302:7 93853 _ = _rc 93854 var _1_logexists int32 // sqlite3.c:54311:9 93855 _ = _1_logexists 93856 _rc = i32(0) 93857 func() int32 { 93858 if int32(_pPager.X2) == i32(5) { 93859 return i32(0) 93860 } 93861 return func() int32 { 93862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54304), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCloseWalØ00__func__Ø000))), unsafe.Pointer(str(93716))) 93863 crt.X__builtin_abort(tls) 93864 return i32(0) 93865 }() 93866 }() 93867 if (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { 93868 goto _2 93869 } 93870 93871 _1_logexists = i32(0) 93872 _rc = _pagerLockDb(tls, _pPager, i32(1)) 93873 if _rc != i32(0) { 93874 goto _3 93875 } 93876 93877 _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X61, i32(0), &_1_logexists) 93878 _3: 93879 if _rc != i32(0) || _1_logexists == 0 { 93880 goto _5 93881 } 93882 93883 _rc = _pagerOpenWal(tls, _pPager) 93884 _5: 93885 _2: 93886 if _rc != i32(0) || (*XWal)(unsafe.Pointer(_pPager.X60)) == nil { 93887 goto _7 93888 } 93889 93890 _rc = _pagerExclusiveLock(tls, _pPager) 93891 if _rc != i32(0) { 93892 goto _8 93893 } 93894 93895 _rc = _sqlite3WalClose(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _db, int32(_pPager.X7), _pPager.X48, (*uint8)(unsafe.Pointer(_pPager.X58))) 93896 *(**XWal)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(212 /* X60 */))))) = (*XWal)(unsafe.Pointer(uintptr(i32(0)))) 93897 _pagerFixMaplimit(tls, _pPager) 93898 if _rc == 0 || (_pPager.X1) != 0 { 93899 goto _10 93900 } 93901 93902 _pagerUnlockDb(tls, _pPager, i32(1)) 93903 _10: 93904 _8: 93905 _7: 93906 r0 = _rc 93907 return 93908 93909 } 93910 93911 var _sqlite3PagerCloseWalØ00__func__Ø000 [21]int8 // - 93912 93913 func init() { 93914 crt.Xstrncpy(nil, &_sqlite3PagerCloseWalØ00__func__Ø000[0], str(93760), 21) 93915 } 93916 93917 func _sqlite3PagerSetJournalMode(tls *crt.TLS, _pPager *XPager, _eMode int32) (r0 int32) { // sqlite3.c:54003:1 93918 var _eOld uint8 // sqlite3.c:54004:6 93919 _ = _eOld 93920 var _6_rc int32 // sqlite3.c:54069:13 93921 _ = _6_rc 93922 var _6_state int32 // sqlite3.c:54070:13 93923 _ = _6_state 93924 _eOld = _pPager.X2 93925 _print_pager_state(tls, _pPager) 93926 func() int32 { 93927 if (((((_eMode == i32(0)) || (_eMode == i32(3))) || (_eMode == i32(1))) || (_eMode == i32(2))) || (_eMode == i32(5))) || (_eMode == i32(4)) { 93928 return i32(0) 93929 } 93930 return func() int32 { 93931 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54014), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(93784))) 93932 crt.X__builtin_abort(tls) 93933 return i32(0) 93934 }() 93935 }() 93936 func() int32 { 93937 if (int32(_pPager.X10) == i32(0)) || (_eMode != i32(5)) { 93938 return i32(0) 93939 } 93940 return func() int32 { 93941 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54025), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(93988))) 93942 crt.X__builtin_abort(tls) 93943 return i32(0) 93944 }() 93945 }() 93946 if (_pPager.X13) == 0 { 93947 goto _10 93948 } 93949 93950 func() int32 { 93951 if (int32(_eOld) == i32(4)) || (int32(_eOld) == i32(2)) { 93952 return i32(0) 93953 } 93954 return func() int32 { 93955 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(94040))) 93956 crt.X__builtin_abort(tls) 93957 return i32(0) 93958 }() 93959 }() 93960 if _eMode == i32(4) || _eMode == i32(2) { 93961 goto _15 93962 } 93963 93964 _eMode = int32(_eOld) 93965 _15: 93966 _10: 93967 if _eMode == int32(_eOld) { 93968 goto _16 93969 } 93970 93971 func() int32 { 93972 if int32(_pPager.X14) != i32(6) { 93973 return i32(0) 93974 } 93975 return func() int32 { 93976 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54040), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(15416))) 93977 crt.X__builtin_abort(tls) 93978 return i32(0) 93979 }() 93980 }() 93981 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(5 /* X2 */))) = uint8(_eMode) 93982 i32(0) 93983 i32(0) 93984 i32(0) 93985 i32(0) 93986 i32(0) 93987 i32(0) 93988 func() int32 { 93989 if ((*Xsqlite3_io_methods)(unsafe.Pointer((*Xsqlite3_file)(unsafe.Pointer(_pPager.X31)).X0)) != (*Xsqlite3_io_methods)(unsafe.Pointer(uintptr(i32(0))))) || ((_pPager.X1) != 0) { 93990 return i32(0) 93991 } 93992 return func() int32 { 93993 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54054), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(94104))) 93994 crt.X__builtin_abort(tls) 93995 return i32(0) 93996 }() 93997 }() 93998 if (_pPager.X1) != 0 || (int32(_eOld)&i32(5)) != i32(1) || (_eMode&i32(1)) != i32(0) { 93999 goto _24 94000 } 94001 94002 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 94003 if int32(_pPager.X15) < i32(2) { 94004 goto _25 94005 } 94006 94007 _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X52, i32(0)) 94008 goto _26 94009 94010 _25: 94011 _6_rc = i32(0) 94012 _6_state = int32(_pPager.X14) 94013 func() int32 { 94014 if (_6_state == i32(0)) || (_6_state == i32(1)) { 94015 return i32(0) 94016 } 94017 return func() int32 { 94018 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54071), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(94148))) 94019 crt.X__builtin_abort(tls) 94020 return i32(0) 94021 }() 94022 }() 94023 if _6_state != i32(0) { 94024 goto _30 94025 } 94026 94027 _6_rc = _sqlite3PagerSharedLock(tls, _pPager) 94028 _30: 94029 if int32(_pPager.X14) != i32(1) { 94030 goto _31 94031 } 94032 94033 func() int32 { 94034 if _6_rc == i32(0) { 94035 return i32(0) 94036 } 94037 return func() int32 { 94038 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54076), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(15360))) 94039 crt.X__builtin_abort(tls) 94040 return i32(0) 94041 }() 94042 }() 94043 _6_rc = _pagerLockDb(tls, _pPager, i32(2)) 94044 _31: 94045 if _6_rc != i32(0) { 94046 goto _34 94047 } 94048 94049 _sqlite3OsDelete(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pPager.X0)), _pPager.X52, i32(0)) 94050 _34: 94051 if _6_rc != i32(0) || _6_state != i32(1) { 94052 goto _36 94053 } 94054 94055 _pagerUnlockDb(tls, _pPager, i32(1)) 94056 goto _37 94057 94058 _36: 94059 if _6_state != i32(0) { 94060 goto _38 94061 } 94062 94063 _pager_unlock(tls, _pPager) 94064 _38: 94065 _37: 94066 func() int32 { 94067 if _6_state == int32(_pPager.X14) { 94068 return i32(0) 94069 } 94070 return func() int32 { 94071 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54087), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerSetJournalModeØ00__func__Ø000))), unsafe.Pointer(str(94192))) 94072 crt.X__builtin_abort(tls) 94073 return i32(0) 94074 }() 94075 }() 94076 _26: 94077 goto _41 94078 94079 _24: 94080 if _eMode != i32(2) { 94081 goto _42 94082 } 94083 94084 _sqlite3OsClose(tls, (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32))) 94085 _42: 94086 _41: 94087 _16: 94088 r0 = int32(_pPager.X2) 94089 return 94090 94091 } 94092 94093 func _print_pager_state(tls *crt.TLS, _p *XPager) (r0 *int8) { // sqlite3.c:47860:1 94094 Xsqlite3_snprintf(tls, i32(1024), (*int8)(unsafe.Pointer(&_print_pager_stateØ00zRetØ001)), str(94216), unsafe.Pointer(_p.X51), unsafe.Pointer(func() *int8 { 94095 if int32(_p.X14) == i32(0) { 94096 return str(94496) 94097 } 94098 return func() *int8 { 94099 if int32(_p.X14) == i32(1) { 94100 return str(94504) 94101 } 94102 return func() *int8 { 94103 if int32(_p.X14) == i32(2) { 94104 return str(94512) 94105 } 94106 return func() *int8 { 94107 if int32(_p.X14) == i32(3) { 94108 return str(94528) 94109 } 94110 return func() *int8 { 94111 if int32(_p.X14) == i32(4) { 94112 return str(94544) 94113 } 94114 return func() *int8 { 94115 if int32(_p.X14) == i32(5) { 94116 return str(94560) 94117 } 94118 return func() *int8 { 94119 if int32(_p.X14) == i32(6) { 94120 return str(94576) 94121 } 94122 return str(94584) 94123 }() 94124 }() 94125 }() 94126 }() 94127 }() 94128 }() 94129 }()), _p.X26, unsafe.Pointer(func() *int8 { 94130 if int32(_p.X15) == i32(0) { 94131 return str(94592) 94132 } 94133 return func() *int8 { 94134 if int32(_p.X15) == i32(2) { 94135 return str(94600) 94136 } 94137 return func() *int8 { 94138 if int32(_p.X15) == i32(4) { 94139 return str(26112) 94140 } 94141 return func() *int8 { 94142 if int32(_p.X15) == i32(1) { 94143 return str(94612) 94144 } 94145 return func() *int8 { 94146 if int32(_p.X15) == i32(5) { 94147 return str(94620) 94148 } 94149 return str(94584) 94150 }() 94151 }() 94152 }() 94153 }() 94154 }()), unsafe.Pointer(func() *int8 { 94155 if (_p.X1) != 0 { 94156 return str(94628) 94157 } 94158 return str(94640) 94159 }()), unsafe.Pointer(func() *int8 { 94160 if int32(_p.X2) == i32(4) { 94161 return str(94648) 94162 } 94163 return func() *int8 { 94164 if int32(_p.X2) == i32(2) { 94165 return str(94656) 94166 } 94167 return func() *int8 { 94168 if int32(_p.X2) == i32(0) { 94169 return str(94660) 94170 } 94171 return func() *int8 { 94172 if int32(_p.X2) == i32(1) { 94173 return str(94668) 94174 } 94175 return func() *int8 { 94176 if int32(_p.X2) == i32(3) { 94177 return str(94676) 94178 } 94179 return func() *int8 { 94180 if int32(_p.X2) == i32(5) { 94181 return str(94688) 94182 } 94183 return str(94584) 94184 }() 94185 }() 94186 }() 94187 }() 94188 }() 94189 }()), int32(_p.X10), int32(_p.X13), int32(_p.X3), _p.X34, _p.X35, int32(_p.X22), int32(_p.X23), int32(_p.X24)) 94190 r0 = (*int8)(unsafe.Pointer(&_print_pager_stateØ00zRetØ001)) 94191 return 94192 94193 } 94194 94195 var _print_pager_stateØ00zRetØ001 [1024]int8 // sqlite3.c:47861:15 94196 94197 var _sqlite3PagerSetJournalModeØ00__func__Ø000 [27]int8 // - 94198 94199 func init() { 94200 crt.Xstrncpy(nil, &_sqlite3PagerSetJournalModeØ00__func__Ø000[0], str(94692), 27) 94201 } 94202 94203 func _sqlite3BtreeSetVersion(tls *crt.TLS, _pBtree *XBtree, _iVersion int32) (r0 int32) { // sqlite3.c:68744:1 94204 var _pBt *XBtShared // sqlite3.c:68745:12 94205 _ = _pBt 94206 var _rc int32 // sqlite3.c:68746:7 94207 _ = _rc 94208 var _1_aData *uint8 // sqlite3.c:68758:8 94209 _ = _1_aData 94210 _pBt = (*XBtShared)(unsafe.Pointer(_pBtree.X1)) 94211 func() int32 { 94212 if (_iVersion == i32(1)) || (_iVersion == i32(2)) { 94213 return i32(0) 94214 } 94215 return func() int32 { 94216 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68748), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetVersionØ00__func__Ø000))), unsafe.Pointer(str(94720))) 94217 crt.X__builtin_abort(tls) 94218 return i32(0) 94219 }() 94220 }() 94221 { 94222 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 94223 *p = uint16(int32(*p) & i32(-17)) 94224 sink6908 = *p 94225 } 94226 if _iVersion != i32(1) { 94227 goto _3 94228 } 94229 94230 { 94231 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 94232 *p = uint16(int32(*p) | i32(16)) 94233 sink6908 = *p 94234 } 94235 _3: 94236 _rc = _sqlite3BtreeBeginTrans(tls, _pBtree, i32(0)) 94237 if _rc != i32(0) { 94238 goto _4 94239 } 94240 94241 _1_aData = (*XMemPage)(unsafe.Pointer(_pBt.X3)).X19 94242 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aData)) + 1*uintptr(i32(18))))) == int32(uint8(_iVersion)) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aData)) + 1*uintptr(i32(19))))) == int32(uint8(_iVersion)) { 94243 goto _6 94244 } 94245 94246 _rc = _sqlite3BtreeBeginTrans(tls, _pBtree, i32(2)) 94247 if _rc != i32(0) { 94248 goto _7 94249 } 94250 94251 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) 94252 if _rc != i32(0) { 94253 goto _8 94254 } 94255 94256 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aData)) + 1*uintptr(i32(18)))) = uint8(_iVersion) 94257 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aData)) + 1*uintptr(i32(19)))) = uint8(_iVersion) 94258 _8: 94259 _7: 94260 _6: 94261 _4: 94262 { 94263 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 94264 *p = uint16(int32(*p) & i32(-17)) 94265 sink6908 = *p 94266 } 94267 r0 = _rc 94268 return 94269 94270 } 94271 94272 var _sqlite3BtreeSetVersionØ00__func__Ø000 [23]int8 // - 94273 94274 func init() { 94275 crt.Xstrncpy(nil, &_sqlite3BtreeSetVersionØ00__func__Ø000[0], str(94748), 23) 94276 } 94277 94278 func _sqlite3JournalModename(tls *crt.TLS, _eMode int32) (r0 *int8) { // sqlite3.c:113219:1 94279 i32(0) 94280 i32(0) 94281 i32(0) 94282 i32(0) 94283 i32(0) 94284 i32(0) 94285 func() int32 { 94286 if (_eMode >= i32(0)) && (_eMode <= i32(6)) { 94287 return i32(0) 94288 } 94289 return func() int32 { 94290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113232), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3JournalModenameØ00__func__Ø000))), unsafe.Pointer(str(94772))) 94291 crt.X__builtin_abort(tls) 94292 return i32(0) 94293 }() 94294 }() 94295 if _eMode != i32(6) { 94296 goto _3 94297 } 94298 94299 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 94300 return 94301 94302 _3: 94303 r0 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JournalModenameØ00azModeNameØ001)) + 4*uintptr(_eMode))) 94304 return 94305 94306 } 94307 94308 var _sqlite3JournalModenameØ00__func__Ø000 [23]int8 // - 94309 94310 func init() { 94311 crt.Xstrncpy(nil, &_sqlite3JournalModenameØ00__func__Ø000[0], str(94816), 23) 94312 } 94313 94314 var _sqlite3JournalModenameØ00azModeNameØ001 [6]*int8 // sqlite3.c:113220:15 94315 94316 func init() { 94317 _sqlite3JournalModenameØ00azModeNameØ001 = [6]*int8{str(94660), str(94668), str(94656), str(94676), str(94648), str(94688)} 94318 } 94319 94320 func _sqlite3RunVacuum(tls *crt.TLS, _pzErrMsg **int8, _db *Xsqlite3, _iDb int32) (r0 int32) { // sqlite3.c:124283:1 94321 var _rc int32 // sqlite3.c:124284:7 94322 _ = _rc 94323 var _pMain *XBtree // sqlite3.c:124285:9 94324 _ = _pMain 94325 var _pTemp *XBtree // sqlite3.c:124286:9 94326 _ = _pTemp 94327 var _saved_flags int32 // sqlite3.c:124287:7 94328 _ = _saved_flags 94329 var _saved_nChange int32 // sqlite3.c:124288:7 94330 _ = _saved_nChange 94331 var _saved_nTotalChange int32 // sqlite3.c:124289:7 94332 _ = _saved_nTotalChange 94333 var _saved_mTrace uint8 // sqlite3.c:124290:6 94334 _ = _saved_mTrace 94335 var _pDb *XDb // sqlite3.c:124291:6 94336 _ = _pDb 94337 var _isMemDb int32 // sqlite3.c:124292:7 94338 _ = _isMemDb 94339 var _nRes int32 // sqlite3.c:124293:7 94340 _ = _nRes 94341 var _nDb int32 // sqlite3.c:124294:7 94342 _ = _nDb 94343 var _zDbMain *int8 // sqlite3.c:124295:14 94344 _ = _zDbMain 94345 var _5_meta uint32 // sqlite3.c:124450:9 94346 _ = _5_meta 94347 var _5_i int32 // sqlite3.c:124451:9 94348 _ = _5_i 94349 _rc = i32(0) 94350 _pDb = nil 94351 if (_db.X15) != 0 { 94352 goto _0 94353 } 94354 94355 _sqlite3SetString(tls, _pzErrMsg, _db, str(94840)) 94356 r0 = i32(1) 94357 return 94358 94359 _0: 94360 if (_db.X34) <= i32(1) { 94361 goto _1 94362 } 94363 94364 _sqlite3SetString(tls, _pzErrMsg, _db, str(94880)) 94365 r0 = i32(1) 94366 return 94367 94368 _1: 94369 _saved_flags = _db.X6 94370 _saved_nChange = _db.X29 94371 _saved_nTotalChange = _db.X30 94372 _saved_mTrace = _db.X24 94373 { 94374 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 94375 *p = (*p) | i32(270542848) 94376 sink961 = *p 94377 } 94378 { 94379 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 94380 *p = (*p) & i32(-655489) 94381 sink961 = *p 94382 } 94383 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(72 /* X24 */))) = uint8(i32(0)) 94384 _zDbMain = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 94385 _pMain = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X1)) 94386 _isMemDb = _sqlite3PagerIsMemdb(tls, _sqlite3BtreePager(tls, _pMain)) 94387 _nDb = _db.X5 94388 _rc = _execSql(tls, _db, _pzErrMsg, str(94924)) 94389 if _rc == i32(0) { 94390 goto _2 94391 } 94392 94393 goto _end_of_vacuum 94394 94395 _2: 94396 func() int32 { 94397 if ((_db.X5) - i32(1)) == _nDb { 94398 return i32(0) 94399 } 94400 return func() int32 { 94401 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124339), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(94948))) 94402 crt.X__builtin_abort(tls) 94403 return i32(0) 94404 }() 94405 }() 94406 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_nDb))) 94407 func() int32 { 94408 if crt.Xstrcmp(tls, _pDb.X0, str(94968)) == i32(0) { 94409 return i32(0) 94410 } 94411 return func() int32 { 94412 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124341), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(94980))) 94413 crt.X__builtin_abort(tls) 94414 return i32(0) 94415 }() 94416 }() 94417 _pTemp = (*XBtree)(unsafe.Pointer(_pDb.X1)) 94418 _sqlite3BtreeCommit(tls, _pTemp) 94419 _nRes = _sqlite3BtreeGetOptimalReserve(tls, _pMain) 94420 _sqlite3BtreeSetCacheSize(tls, _pTemp, (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4)).X10) 94421 _sqlite3BtreeSetSpillSize(tls, _pTemp, _sqlite3BtreeSetSpillSize(tls, _pMain, i32(0))) 94422 _sqlite3BtreeSetPagerFlags(tls, _pTemp, uint32(i32(33))) 94423 _rc = _execSql(tls, _db, _pzErrMsg, str(26068)) 94424 if _rc == i32(0) { 94425 goto _7 94426 } 94427 94428 goto _end_of_vacuum 94429 94430 _7: 94431 _rc = _sqlite3BtreeBeginTrans(tls, _pMain, i32(2)) 94432 if _rc == i32(0) { 94433 goto _8 94434 } 94435 94436 goto _end_of_vacuum 94437 94438 _8: 94439 if _sqlite3PagerGetJournalMode(tls, _sqlite3BtreePager(tls, _pMain)) != i32(5) { 94440 goto _9 94441 } 94442 94443 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(76 /* X27 */))) = i32(0) 94444 _9: 94445 if _sqlite3BtreeSetPageSize(tls, _pTemp, _sqlite3BtreeGetPageSize(tls, _pMain), _nRes, i32(0)) == 0 && (_isMemDb != 0 || _sqlite3BtreeSetPageSize(tls, _pTemp, _db.X27, _nRes, i32(0)) == 0) && func() int32 { 94446 if (_db.X17) != 0 { 94447 return func() int32 { 94448 func() int32 { 94449 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124384), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(5204))) 94450 crt.X__builtin_abort(tls) 94451 return i32(0) 94452 }() 94453 return i32(1) 94454 }() 94455 } 94456 return i32(0) 94457 }() == 0 { 94458 goto _15 94459 } 94460 94461 _rc = _sqlite3NomemError(tls, i32(124386)) 94462 goto _end_of_vacuum 94463 94464 _15: 94465 _sqlite3BtreeSetAutoVacuum(tls, _pTemp, func() int32 { 94466 if int32(_db.X20) >= i32(0) { 94467 return int32(_db.X20) 94468 } 94469 return _sqlite3BtreeGetAutoVacuum(tls, _pMain) 94470 }()) 94471 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(_nDb) 94472 _rc = _execSqlF(tls, _db, _pzErrMsg, str(95020), unsafe.Pointer(_zDbMain)) 94473 if _rc == i32(0) { 94474 goto _18 94475 } 94476 94477 goto _end_of_vacuum 94478 94479 _18: 94480 _rc = _execSqlF(tls, _db, _pzErrMsg, str(95128), unsafe.Pointer(_zDbMain)) 94481 if _rc == i32(0) { 94482 goto _19 94483 } 94484 94485 goto _end_of_vacuum 94486 94487 _19: 94488 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 94489 _rc = _execSqlF(tls, _db, _pzErrMsg, str(95204), unsafe.Pointer(_zDbMain)) 94490 func() int32 { 94491 if ((_db.X6) & i32(268435456)) != i32(0) { 94492 return i32(0) 94493 } 94494 return func() int32 { 94495 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124425), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(95356))) 94496 crt.X__builtin_abort(tls) 94497 return i32(0) 94498 }() 94499 }() 94500 { 94501 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 94502 *p = (*p) & i32(-268435457) 94503 sink961 = *p 94504 } 94505 if _rc == i32(0) { 94506 goto _22 94507 } 94508 94509 goto _end_of_vacuum 94510 94511 _22: 94512 _rc = _execSqlF(tls, _db, _pzErrMsg, str(95388), unsafe.Pointer(_zDbMain)) 94513 if _rc == 0 { 94514 goto _23 94515 } 94516 94517 goto _end_of_vacuum 94518 94519 _23: 94520 func() int32 { 94521 if i32(1) == _sqlite3BtreeIsInTrans(tls, _pTemp) { 94522 return i32(0) 94523 } 94524 return func() int32 { 94525 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124467), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(95520))) 94526 crt.X__builtin_abort(tls) 94527 return i32(0) 94528 }() 94529 }() 94530 func() int32 { 94531 if i32(1) == _sqlite3BtreeIsInTrans(tls, _pMain) { 94532 return i32(0) 94533 } 94534 return func() int32 { 94535 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124468), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(95552))) 94536 crt.X__builtin_abort(tls) 94537 return i32(0) 94538 }() 94539 }() 94540 _5_i = i32(0) 94541 _28: 94542 if _5_i >= i32(10) { 94543 goto _31 94544 } 94545 94546 _sqlite3BtreeGetMeta(tls, _pMain, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3RunVacuumØ00aCopyØ001)) + 1*uintptr(_5_i)))), &_5_meta) 94547 _rc = _sqlite3BtreeUpdateMeta(tls, _pTemp, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3RunVacuumØ00aCopyØ001)) + 1*uintptr(_5_i)))), _5_meta+uint32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3RunVacuumØ00aCopyØ001)) + 1*uintptr(_5_i+i32(1)))))) 94548 if func() int32 { 94549 if _rc != i32(0) { 94550 return func() int32 { 94551 func() int32 { 94552 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124476), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(5204))) 94553 crt.X__builtin_abort(tls) 94554 return i32(0) 94555 }() 94556 return i32(1) 94557 }() 94558 } 94559 return i32(0) 94560 }() == 0 { 94561 goto _34 94562 } 94563 94564 goto _end_of_vacuum 94565 94566 _34: 94567 { 94568 p := &_5_i 94569 *p = (*p) + i32(2) 94570 sink961 = *p 94571 } 94572 goto _28 94573 94574 _31: 94575 _rc = _sqlite3BtreeCopyFile(tls, _pMain, _pTemp) 94576 if _rc == i32(0) { 94577 goto _35 94578 } 94579 94580 goto _end_of_vacuum 94581 94582 _35: 94583 _rc = _sqlite3BtreeCommit(tls, _pTemp) 94584 if _rc == i32(0) { 94585 goto _36 94586 } 94587 94588 goto _end_of_vacuum 94589 94590 _36: 94591 _sqlite3BtreeSetAutoVacuum(tls, _pMain, _sqlite3BtreeGetAutoVacuum(tls, _pTemp)) 94592 func() int32 { 94593 if _rc == i32(0) { 94594 return i32(0) 94595 } 94596 return func() int32 { 94597 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124488), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RunVacuumØ00__func__Ø000))), unsafe.Pointer(str(15360))) 94598 crt.X__builtin_abort(tls) 94599 return i32(0) 94600 }() 94601 }() 94602 _rc = _sqlite3BtreeSetPageSize(tls, _pMain, _sqlite3BtreeGetPageSize(tls, _pTemp), _nRes, i32(1)) 94603 _end_of_vacuum: 94604 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 94605 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) = _saved_flags 94606 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(84 /* X29 */))) = _saved_nChange 94607 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(88 /* X30 */))) = _saved_nTotalChange 94608 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(72 /* X24 */))) = _saved_mTrace 94609 _sqlite3BtreeSetPageSize(tls, _pMain, i32(-1), i32(-1), i32(1)) 94610 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 94611 if _pDb == nil { 94612 goto _39 94613 } 94614 94615 _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 94616 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(4 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 94617 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(12 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) 94618 _39: 94619 _sqlite3ResetAllSchemasOfConnection(tls, _db) 94620 r0 = _rc 94621 return 94622 94623 } 94624 94625 func _execSql(tls *crt.TLS, _db *Xsqlite3, _pzErrMsg **int8, _zSql *int8) (r0 int32) { // sqlite3.c:124186:1 94626 var _pStmt unsafe.Pointer // sqlite3.c:124187:16 94627 _ = _pStmt 94628 var _rc int32 // sqlite3.c:124188:7 94629 _ = _rc 94630 var _1_zSubSql *int8 // sqlite3.c:124194:16 94631 _ = _1_zSubSql 94632 _rc = Xsqlite3_prepare_v2(tls, _db, _zSql, i32(-1), &_pStmt, (**int8)(unsafe.Pointer(uintptr(i32(0))))) 94633 if _rc == i32(0) { 94634 goto _0 94635 } 94636 94637 r0 = _rc 94638 return 94639 94640 _0: 94641 _1: 94642 if i32(100) != store961(&_rc, Xsqlite3_step(tls, _pStmt)) { 94643 goto _2 94644 } 94645 94646 _1_zSubSql = (*int8)(unsafe.Pointer(Xsqlite3_column_text(tls, _pStmt, i32(0)))) 94647 func() int32 { 94648 if Xsqlite3_strnicmp(tls, _zSql, str(26924), i32(6)) == i32(0) { 94649 return i32(0) 94650 } 94651 return func() int32 { 94652 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124195), unsafe.Pointer((*int8)(unsafe.Pointer(&_execSqlØ00__func__Ø000))), unsafe.Pointer(str(95584))) 94653 crt.X__builtin_abort(tls) 94654 return i32(0) 94655 }() 94656 }() 94657 if _1_zSubSql == nil { 94658 goto _5 94659 } 94660 94661 func() int32 { 94662 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zSubSql)) + 1*uintptr(i32(0))))) != i32(83) { 94663 return i32(0) 94664 } 94665 return func() int32 { 94666 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124197), unsafe.Pointer((*int8)(unsafe.Pointer(&_execSqlØ00__func__Ø000))), unsafe.Pointer(str(95624))) 94667 crt.X__builtin_abort(tls) 94668 return i32(0) 94669 }() 94670 }() 94671 _rc = _execSql(tls, _db, _pzErrMsg, _1_zSubSql) 94672 if _rc == i32(0) { 94673 goto _8 94674 } 94675 94676 goto _2 94677 94678 _8: 94679 _5: 94680 goto _1 94681 94682 _2: 94683 func() int32 { 94684 if _rc != i32(100) { 94685 return i32(0) 94686 } 94687 return func() int32 { 94688 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124202), unsafe.Pointer((*int8)(unsafe.Pointer(&_execSqlØ00__func__Ø000))), unsafe.Pointer(str(95640))) 94689 crt.X__builtin_abort(tls) 94690 return i32(0) 94691 }() 94692 }() 94693 if _rc != i32(101) { 94694 goto _11 94695 } 94696 94697 _rc = i32(0) 94698 _11: 94699 if _rc == 0 { 94700 goto _12 94701 } 94702 94703 _sqlite3SetString(tls, _pzErrMsg, _db, Xsqlite3_errmsg(tls, _db)) 94704 _12: 94705 Xsqlite3_finalize(tls, _pStmt) 94706 r0 = _rc 94707 return 94708 94709 } 94710 94711 var _execSqlØ00__func__Ø000 [8]int8 // - 94712 94713 func init() { 94714 crt.Xstrncpy(nil, &_execSqlØ00__func__Ø000[0], str(95656), 8) 94715 } 94716 94717 var _sqlite3RunVacuumØ00__func__Ø000 [17]int8 // - 94718 94719 func init() { 94720 crt.Xstrncpy(nil, &_sqlite3RunVacuumØ00__func__Ø000[0], str(95664), 17) 94721 } 94722 94723 func _sqlite3BtreeGetOptimalReserve(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61733:1 94724 var _n int32 // sqlite3.c:61734:7 94725 _ = _n 94726 _sqlite3BtreeEnter(tls, _p) 94727 _n = _sqlite3BtreeGetReserveNoMutex(tls, _p) 94728 _sqlite3BtreeLeave(tls, _p) 94729 r0 = _n 94730 return 94731 94732 } 94733 94734 func _sqlite3BtreeSetSpillSize(tls *crt.TLS, _p *XBtree, _mxPage int32) (r0 int32) { // sqlite3.c:61602:1 94735 var _pBt *XBtShared // sqlite3.c:61603:12 94736 _ = _pBt 94737 var _res int32 // sqlite3.c:61604:7 94738 _ = _res 94739 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 94740 func() int32 { 94741 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 94742 return i32(0) 94743 } 94744 return func() int32 { 94745 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61605), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetSpillSizeØ00__func__Ø000))), unsafe.Pointer(str(8940))) 94746 crt.X__builtin_abort(tls) 94747 return i32(0) 94748 }() 94749 }() 94750 _sqlite3BtreeEnter(tls, _p) 94751 _res = _sqlite3PagerSetSpillsize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _mxPage) 94752 _sqlite3BtreeLeave(tls, _p) 94753 r0 = _res 94754 return 94755 94756 } 94757 94758 var _sqlite3BtreeSetSpillSizeØ00__func__Ø000 [25]int8 // - 94759 94760 func init() { 94761 crt.Xstrncpy(nil, &_sqlite3BtreeSetSpillSizeØ00__func__Ø000[0], str(95684), 25) 94762 } 94763 94764 func _sqlite3PagerSetSpillsize(tls *crt.TLS, _pPager *XPager, _mxPage int32) (r0 int32) { // sqlite3.c:50335:1 94765 r0 = _sqlite3PcacheSetSpillsize(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)), _mxPage) 94766 return 94767 94768 } 94769 94770 func _sqlite3PcacheSetSpillsize(tls *crt.TLS, _p *XPCache, _mxPage int32) (r0 int32) { // sqlite3.c:44905:1 94771 var _res int32 // sqlite3.c:44906:7 94772 _ = _res 94773 func() int32 { 94774 if (_p.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 94775 return i32(0) 94776 } 94777 return func() int32 { 94778 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44907), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheSetSpillsizeØ00__func__Ø000))), unsafe.Pointer(str(95712))) 94779 crt.X__builtin_abort(tls) 94780 return i32(0) 94781 }() 94782 }() 94783 if _mxPage == 0 { 94784 goto _2 94785 } 94786 94787 if _mxPage >= i32(0) { 94788 goto _3 94789 } 94790 94791 _mxPage = int32((int64(i32(-1024)) * int64(_mxPage)) / int64((_p.X6)+(_p.X7))) 94792 _3: 94793 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))) = _mxPage 94794 _2: 94795 _res = _numberOfCachePages(tls, _p) 94796 if _res >= (_p.X5) { 94797 goto _4 94798 } 94799 94800 _res = _p.X5 94801 _4: 94802 r0 = _res 94803 return 94804 94805 } 94806 94807 var _sqlite3PcacheSetSpillsizeØ00__func__Ø000 [26]int8 // - 94808 94809 func init() { 94810 crt.Xstrncpy(nil, &_sqlite3PcacheSetSpillsizeØ00__func__Ø000[0], str(95728), 26) 94811 } 94812 94813 func _sqlite3BtreeSetPagerFlags(tls *crt.TLS, _p *XBtree, _pgFlags uint32) (r0 int32) { // sqlite3.c:61636:1 94814 var _pBt *XBtShared // sqlite3.c:61640:12 94815 _ = _pBt 94816 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 94817 func() int32 { 94818 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 94819 return i32(0) 94820 } 94821 return func() int32 { 94822 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61641), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetPagerFlagsØ00__func__Ø000))), unsafe.Pointer(str(8940))) 94823 crt.X__builtin_abort(tls) 94824 return i32(0) 94825 }() 94826 }() 94827 _sqlite3BtreeEnter(tls, _p) 94828 _sqlite3PagerSetFlags(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _pgFlags) 94829 _sqlite3BtreeLeave(tls, _p) 94830 r0 = i32(0) 94831 return 94832 94833 } 94834 94835 var _sqlite3BtreeSetPagerFlagsØ00__func__Ø000 [26]int8 // - 94836 94837 func init() { 94838 crt.Xstrncpy(nil, &_sqlite3BtreeSetPagerFlagsØ00__func__Ø000[0], str(95756), 26) 94839 } 94840 94841 func _sqlite3PagerSetFlags(tls *crt.TLS, _pPager *XPager, _pgFlags uint32) { // sqlite3.c:50422:1 94842 var _level uint32 // sqlite3.c:50426:12 94843 _ = _level 94844 _level = _pgFlags & uint32(i32(7)) 94845 if (_pPager.X10) == 0 { 94846 goto _0 94847 } 94848 94849 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(7 /* X4 */))) = uint8(i32(1)) 94850 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(8 /* X5 */))) = uint8(i32(0)) 94851 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X6 */))) = uint8(i32(0)) 94852 goto _1 94853 94854 _0: 94855 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(7 /* X4 */))) = uint8(func() int32 { 94856 if _level == uint32(i32(1)) { 94857 return i32(1) 94858 } 94859 return i32(0) 94860 }()) 94861 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(8 /* X5 */))) = uint8(func() int32 { 94862 if _level >= uint32(i32(3)) { 94863 return i32(1) 94864 } 94865 return i32(0) 94866 }()) 94867 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(9 /* X6 */))) = uint8(func() int32 { 94868 if _level == uint32(i32(4)) { 94869 return i32(1) 94870 } 94871 return i32(0) 94872 }()) 94873 _1: 94874 if (_pPager.X4) == 0 { 94875 goto _8 94876 } 94877 94878 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X9 */))) = uint8(i32(0)) 94879 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(10 /* X7 */))) = uint8(i32(0)) 94880 goto _9 94881 94882 _8: 94883 if (_pgFlags & uint32(i32(8))) == 0 { 94884 goto _10 94885 } 94886 94887 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X9 */))) = uint8(i32(3)) 94888 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(10 /* X7 */))) = uint8(i32(3)) 94889 goto _11 94890 94891 _10: 94892 if (_pgFlags & uint32(i32(16))) == 0 { 94893 goto _12 94894 } 94895 94896 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X9 */))) = uint8(i32(2)) 94897 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(10 /* X7 */))) = uint8(i32(3)) 94898 goto _13 94899 94900 _12: 94901 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(12 /* X9 */))) = uint8(i32(2)) 94902 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(10 /* X7 */))) = uint8(i32(2)) 94903 _13: 94904 _11: 94905 _9: 94906 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(11 /* X8 */))) = _pPager.X9 94907 if (_pPager.X5) == 0 { 94908 goto _14 94909 } 94910 94911 { 94912 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(11 /* X8 */))) 94913 *p = uint8(int32(*p) | i32(32)) 94914 sink6915 = *p 94915 } 94916 _14: 94917 if (_pgFlags & uint32(i32(32))) == 0 { 94918 goto _15 94919 } 94920 94921 { 94922 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X18 */))) 94923 *p = uint8(int32(*p) & i32(-2)) 94924 sink6915 = *p 94925 } 94926 goto _16 94927 94928 _15: 94929 { 94930 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(21 /* X18 */))) 94931 *p = uint8(int32(*p) | i32(1)) 94932 sink6915 = *p 94933 } 94934 _16: 94935 return 94936 94937 } 94938 94939 func _sqlite3BtreeSetPageSize(tls *crt.TLS, _p *XBtree, _pageSize int32, _nReserve int32, _iFix int32) (r0 int32) { // sqlite3.c:61669:1 94940 var _rc int32 // sqlite3.c:61670:7 94941 _ = _rc 94942 var _pBt *XBtShared // sqlite3.c:61671:12 94943 _ = _pBt 94944 _rc = i32(0) 94945 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 94946 func() int32 { 94947 if (_nReserve >= i32(-1)) && (_nReserve <= i32(255)) { 94948 return i32(0) 94949 } 94950 return func() int32 { 94951 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61672), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetPageSizeØ00__func__Ø000))), unsafe.Pointer(str(95784))) 94952 crt.X__builtin_abort(tls) 94953 return i32(0) 94954 }() 94955 }() 94956 _sqlite3BtreeEnter(tls, _p) 94957 if (int32(_pBt.X10) & i32(2)) == 0 { 94958 goto _3 94959 } 94960 94961 _sqlite3BtreeLeave(tls, _p) 94962 r0 = i32(8) 94963 return 94964 94965 _3: 94966 if _nReserve >= i32(0) { 94967 goto _4 94968 } 94969 94970 _nReserve = int32((_pBt.X15) - (_pBt.X16)) 94971 _4: 94972 func() int32 { 94973 if (_nReserve >= i32(0)) && (_nReserve <= i32(255)) { 94974 return i32(0) 94975 } 94976 return func() int32 { 94977 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61684), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetPageSizeØ00__func__Ø000))), unsafe.Pointer(str(95816))) 94978 crt.X__builtin_abort(tls) 94979 return i32(0) 94980 }() 94981 }() 94982 if _pageSize < i32(512) || _pageSize > i32(65536) || ((_pageSize-i32(1))&_pageSize) != i32(0) { 94983 goto _10 94984 } 94985 94986 func() int32 { 94987 if (_pageSize & i32(7)) == i32(0) { 94988 return i32(0) 94989 } 94990 return func() int32 { 94991 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61687), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetPageSizeØ00__func__Ø000))), unsafe.Pointer(str(54256))) 94992 crt.X__builtin_abort(tls) 94993 return i32(0) 94994 }() 94995 }() 94996 func() int32 { 94997 if (*XBtCursor)(unsafe.Pointer(_pBt.X2)) == nil { 94998 return i32(0) 94999 } 95000 return func() int32 { 95001 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61688), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetPageSizeØ00__func__Ø000))), unsafe.Pointer(str(23004))) 95002 crt.X__builtin_abort(tls) 95003 return i32(0) 95004 }() 95005 }() 95006 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(32 /* X15 */))) = uint32(_pageSize) 95007 _freeTempSpace(tls, _pBt) 95008 _10: 95009 _rc = _sqlite3PagerSetPagesize(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt))+uintptr(32 /* X15 */))), _nReserve) 95010 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(36 /* X16 */))) = (_pBt.X15) - uint32(uint16(_nReserve)) 95011 if _iFix == 0 { 95012 goto _15 95013 } 95014 95015 { 95016 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(22 /* X10 */))) 95017 *p = uint16(int32(*p) | i32(2)) 95018 sink6908 = *p 95019 } 95020 _15: 95021 _sqlite3BtreeLeave(tls, _p) 95022 r0 = _rc 95023 return 95024 95025 } 95026 95027 var _sqlite3BtreeSetPageSizeØ00__func__Ø000 [24]int8 // - 95028 95029 func init() { 95030 crt.Xstrncpy(nil, &_sqlite3BtreeSetPageSizeØ00__func__Ø000[0], str(95848), 24) 95031 } 95032 95033 func _sqlite3BtreeSetAutoVacuum(tls *crt.TLS, _p *XBtree, _autoVacuum int32) (r0 int32) { // sqlite3.c:61782:1 95034 var _pBt *XBtShared // sqlite3.c:61786:12 95035 _ = _pBt 95036 var _rc int32 // sqlite3.c:61787:7 95037 _ = _rc 95038 var _av uint8 // sqlite3.c:61788:6 95039 _ = _av 95040 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 95041 _rc = i32(0) 95042 _av = uint8(_autoVacuum) 95043 _sqlite3BtreeEnter(tls, _p) 95044 if (int32(_pBt.X10)&i32(2)) == i32(0) || func() int32 { 95045 if _av != 0 { 95046 return i32(1) 95047 } 95048 return i32(0) 95049 }() == int32(_pBt.X5) { 95050 goto _3 95051 } 95052 95053 _rc = i32(8) 95054 goto _4 95055 95056 _3: 95057 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(17 /* X5 */))) = uint8(func() int32 { 95058 if _av != 0 { 95059 return i32(1) 95060 } 95061 return i32(0) 95062 }()) 95063 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(18 /* X6 */))) = uint8(func() int32 { 95064 if int32(_av) == i32(2) { 95065 return i32(1) 95066 } 95067 return i32(0) 95068 }()) 95069 _4: 95070 _sqlite3BtreeLeave(tls, _p) 95071 r0 = _rc 95072 return 95073 95074 } 95075 95076 func _sqlite3BtreeGetAutoVacuum(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:61806:1 95077 var _rc int32 // sqlite3.c:61810:7 95078 _ = _rc 95079 _sqlite3BtreeEnter(tls, _p) 95080 _rc = func() int32 { 95081 if ((*XBtShared)(unsafe.Pointer(_p.X1)).X5) == 0 { 95082 return i32(0) 95083 } 95084 return func() int32 { 95085 if ((*XBtShared)(unsafe.Pointer(_p.X1)).X6) == 0 { 95086 return i32(1) 95087 } 95088 return i32(2) 95089 }() 95090 }() 95091 _sqlite3BtreeLeave(tls, _p) 95092 r0 = _rc 95093 return 95094 95095 } 95096 95097 func _execSqlF(tls *crt.TLS, _db *Xsqlite3, _pzErrMsg **int8, _zSql *int8, args ...interface{}) (r0 int32) { // sqlite3.c:124210:1 95098 var _z *int8 // sqlite3.c:124211:8 95099 _ = _z 95100 var _ap []interface{} // sqlite3.c:124212:11 95101 _ = _ap 95102 var _rc int32 // sqlite3.c:124213:7 95103 _ = _rc 95104 _ap = args 95105 _z = _sqlite3VMPrintf(tls, _db, _zSql, _ap) 95106 _ap = nil 95107 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 95108 goto _0 95109 } 95110 95111 r0 = i32(7) 95112 return 95113 95114 _0: 95115 _rc = _execSql(tls, _db, _pzErrMsg, _z) 95116 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) 95117 r0 = _rc 95118 return 95119 95120 } 95121 95122 var _sqlite3RunVacuumØ00aCopyØ001 [10]uint8 // sqlite3.c:124459:32 95123 95124 func init() { 95125 _sqlite3RunVacuumØ00aCopyØ001 = [10]uint8{1, 1, 3, 0, 5, 0, 6, 0, 8, 0} 95126 } 95127 95128 func _sqlite3BtreeCopyFile(tls *crt.TLS, _pTo *XBtree, _pFrom *XBtree) (r0 int32) { // sqlite3.c:69562:1 95129 var _rc int32 // sqlite3.c:69563:7 95130 _ = _rc 95131 var _pFd *Xsqlite3_file // sqlite3.c:69564:16 95132 _ = _pFd 95133 var _b Xsqlite3_backup // sqlite3.c:69565:18 95134 _ = _b 95135 var _1_nByte int64 // sqlite3.c:69572:9 95136 _ = _1_nByte 95137 _sqlite3BtreeEnter(tls, _pTo) 95138 _sqlite3BtreeEnter(tls, _pFrom) 95139 func() int32 { 95140 if _sqlite3BtreeIsInTrans(tls, _pTo) != 0 { 95141 return i32(0) 95142 } 95143 return func() int32 { 95144 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69569), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCopyFileØ00__func__Ø000))), unsafe.Pointer(str(95872))) 95145 crt.X__builtin_abort(tls) 95146 return i32(0) 95147 }() 95148 }() 95149 _pFd = _sqlite3PagerFile(tls, _sqlite3BtreePager(tls, _pTo)) 95150 if (*Xsqlite3_io_methods)(unsafe.Pointer(_pFd.X0)) == nil { 95151 goto _2 95152 } 95153 95154 _1_nByte = int64(_sqlite3BtreeGetPageSize(tls, _pFrom)) * int64(_sqlite3BtreeLastPage(tls, _pFrom)) 95155 _rc = _sqlite3OsFileControl(tls, _pFd, i32(11), (unsafe.Pointer)(&_1_nByte)) 95156 if _rc != i32(12) { 95157 goto _3 95158 } 95159 95160 _rc = i32(0) 95161 _3: 95162 if _rc == 0 { 95163 goto _4 95164 } 95165 95166 goto _copy_finished 95167 95168 _4: 95169 _2: 95170 crt.Xmemset(tls, (unsafe.Pointer)(&_b), i32(0), u32(48)) 95171 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(20 /* X5 */))))) = (*Xsqlite3)(unsafe.Pointer(_pFrom.X0)) 95172 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(24 /* X6 */))))) = _pFrom 95173 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(4 /* X1 */))))) = _pTo 95174 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_b)) + uintptr(16 /* X4 */))) = uint32(i32(1)) 95175 Xsqlite3_backup_step(tls, &_b, i32(2147483647)) 95176 func() int32 { 95177 if (_b.X7) != i32(0) { 95178 return i32(0) 95179 } 95180 return func() int32 { 95181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69600), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCopyFileØ00__func__Ø000))), unsafe.Pointer(str(95900))) 95182 crt.X__builtin_abort(tls) 95183 return i32(0) 95184 }() 95185 }() 95186 _rc = Xsqlite3_backup_finish(tls, &_b) 95187 if _rc != i32(0) { 95188 goto _7 95189 } 95190 95191 { 95192 p := (*uint16)(unsafe.Pointer(uintptr(_pTo.X1) + uintptr(22 /* X10 */))) 95193 *p = uint16(int32(*p) & i32(-3)) 95194 sink6908 = *p 95195 } 95196 goto _8 95197 95198 _7: 95199 _sqlite3PagerClearCache(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_b.X1)))) 95200 _8: 95201 func() int32 { 95202 if _sqlite3BtreeIsInTrans(tls, _pTo) == i32(0) { 95203 return i32(0) 95204 } 95205 return func() int32 { 95206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69609), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeCopyFileØ00__func__Ø000))), unsafe.Pointer(str(95916))) 95207 crt.X__builtin_abort(tls) 95208 return i32(0) 95209 }() 95210 }() 95211 _copy_finished: 95212 _sqlite3BtreeLeave(tls, _pFrom) 95213 _sqlite3BtreeLeave(tls, _pTo) 95214 r0 = _rc 95215 return 95216 95217 } 95218 95219 var _sqlite3BtreeCopyFileØ00__func__Ø000 [21]int8 // - 95220 95221 func init() { 95222 crt.Xstrncpy(nil, &_sqlite3BtreeCopyFileØ00__func__Ø000[0], str(95948), 21) 95223 } 95224 95225 func Xsqlite3_backup_step(tls *crt.TLS, _p *Xsqlite3_backup, _nPage int32) (r0 int32) { // sqlite3.c:69163:12 95226 var _rc int32 // sqlite3.c:69164:7 95227 _ = _rc 95228 var _destMode int32 // sqlite3.c:69165:7 95229 _ = _destMode 95230 var _pgszSrc int32 // sqlite3.c:69166:7 95231 _ = _pgszSrc 95232 var _pgszDest int32 // sqlite3.c:69167:7 95233 _ = _pgszDest 95234 var _2_pSrcPager *XPager // sqlite3.c:69180:11 95235 _ = _2_pSrcPager 95236 var _2_pDestPager *XPager // sqlite3.c:69181:11 95237 _ = _2_pDestPager 95238 var _2_ii int32 // sqlite3.c:69182:9 95239 _ = _2_ii 95240 var _2_nSrcPage int32 // sqlite3.c:69183:9 95241 _ = _2_nSrcPage 95242 var _2_bCloseTrans int32 // sqlite3.c:69184:9 95243 _ = _2_bCloseTrans 95244 var _9_iSrcPg uint32 // sqlite3.c:69237:18 95245 _ = _9_iSrcPg 95246 var _10_pSrcPg *XPgHdr // sqlite3.c:69239:16 95247 _ = _10_pSrcPg 95248 var _21_nDestTruncate int32 // sqlite3.c:69280:13 95249 _ = _21_nDestTruncate 95250 var _22_ratio int32 // sqlite3.c:69296:15 95251 _ = _22_ratio 95252 var _25_iSize int64 // sqlite3.c:69316:21 95253 _ = _25_iSize 95254 var _25_pFile *Xsqlite3_file // sqlite3.c:69317:24 95255 _ = _25_pFile 95256 var _25_iPg uint32 // sqlite3.c:69318:16 95257 _ = _25_iPg 95258 var _25_nDstPage int32 // sqlite3.c:69319:15 95259 _ = _25_nDstPage 95260 var _25_iOff int64 // sqlite3.c:69320:15 95261 _ = _25_iOff 95262 var _25_iEnd int64 // sqlite3.c:69321:15 95263 _ = _25_iEnd 95264 var _27_pPg *XPgHdr // sqlite3.c:69339:22 95265 _ = _27_pPg 95266 var _30_pSrcPg *XPgHdr // sqlite3.c:69358:19 95267 _ = _30_pSrcPg 95268 var _30_iSrcPg uint32 // sqlite3.c:69359:24 95269 _ = _30_iSrcPg 95270 var _31_zData *uint8 // sqlite3.c:69362:18 95271 _ = _31_zData 95272 var _36_rc2 int32 // sqlite3.c:69395:21 95273 _ = _36_rc2 95274 _pgszSrc = i32(0) 95275 _pgszDest = i32(0) 95276 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { 95277 goto _0 95278 } 95279 95280 r0 = _sqlite3MisuseError(tls, i32(69170)) 95281 return 95282 95283 _0: 95284 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X5)).X3))) 95285 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 95286 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95287 goto _1 95288 } 95289 95290 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 95291 _1: 95292 _rc = _p.X7 95293 if _isFatalError(tls, _rc) != 0 { 95294 goto _2 95295 } 95296 95297 _2_pSrcPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 95298 _2_pDestPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X1))) 95299 _2_nSrcPage = i32(-1) 95300 _2_bCloseTrans = i32(0) 95301 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil || int32((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X8) != i32(2) { 95302 goto _4 95303 } 95304 95305 _rc = i32(5) 95306 goto _5 95307 95308 _4: 95309 _rc = i32(0) 95310 _5: 95311 if _rc != i32(0) || i32(0) != _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer(_p.X6))) { 95312 goto _7 95313 } 95314 95315 _rc = _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_p.X6)), i32(0)) 95316 _2_bCloseTrans = i32(1) 95317 _7: 95318 if (_p.X3) != i32(0) || _rc != i32(0) || _setDestPgsz(tls, _p) != i32(7) { 95319 goto _10 95320 } 95321 95322 _rc = i32(7) 95323 _10: 95324 if i32(0) != _rc || (_p.X3) != i32(0) || i32(0) != store961(&_rc, _sqlite3BtreeBeginTrans(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(2))) { 95325 goto _13 95326 } 95327 95328 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = i32(1) 95329 _sqlite3BtreeGetMeta(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(1), (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))) 95330 _13: 95331 _pgszSrc = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 95332 _pgszDest = _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1))) 95333 _destMode = _sqlite3PagerGetJournalMode(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X1)))) 95334 if i32(0) != _rc || _destMode != i32(5) || _pgszSrc == _pgszDest { 95335 goto _16 95336 } 95337 95338 _rc = i32(8) 95339 _16: 95340 _2_nSrcPage = int32(_sqlite3BtreeLastPage(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) 95341 func() int32 { 95342 if _2_nSrcPage >= i32(0) { 95343 return i32(0) 95344 } 95345 return func() int32 { 95346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69235), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(95972))) 95347 crt.X__builtin_abort(tls) 95348 return i32(0) 95349 }() 95350 }() 95351 _2_ii = i32(0) 95352 _19: 95353 if _nPage >= i32(0) && _2_ii >= _nPage || (_p.X4) > uint32(_2_nSrcPage) || _rc != 0 { 95354 goto _25 95355 } 95356 95357 _9_iSrcPg = _p.X4 95358 if _9_iSrcPg == ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X6)).X1)).X15)) + uint32(i32(1))) { 95359 goto _26 95360 } 95361 95362 _rc = _sqlite3PagerGet(tls, _2_pSrcPager, _9_iSrcPg, &_10_pSrcPg, i32(2)) 95363 if _rc != i32(0) { 95364 goto _27 95365 } 95366 95367 _rc = _backupOnePage(tls, _p, _9_iSrcPg, (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _10_pSrcPg))), i32(0)) 95368 _sqlite3PagerUnref(tls, _10_pSrcPg) 95369 _27: 95370 _26: 95371 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) += 1 95372 _2_ii += 1 95373 goto _19 95374 95375 _25: 95376 if _rc != i32(0) { 95377 goto _28 95378 } 95379 95380 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) = uint32(_2_nSrcPage) 95381 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X8 */))) = uint32(_2_nSrcPage+i32(1)) - (_p.X4) 95382 if (_p.X4) <= uint32(_2_nSrcPage) { 95383 goto _29 95384 } 95385 95386 _rc = i32(101) 95387 goto _30 95388 95389 _29: 95390 if (_p.X10) != 0 { 95391 goto _31 95392 } 95393 95394 _attachBackupObject(tls, _p) 95395 _31: 95396 _30: 95397 _28: 95398 if _rc != i32(101) { 95399 goto _32 95400 } 95401 95402 if _2_nSrcPage != i32(0) { 95403 goto _33 95404 } 95405 95406 _rc = _sqlite3BtreeNewDb(tls, (*XBtree)(unsafe.Pointer(_p.X1))) 95407 _2_nSrcPage = i32(1) 95408 _33: 95409 if _rc != i32(0) && _rc != i32(101) { 95410 goto _35 95411 } 95412 95413 _rc = _sqlite3BtreeUpdateMeta(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(1), (_p.X2)+uint32(i32(1))) 95414 _35: 95415 if _rc != i32(0) { 95416 goto _36 95417 } 95418 95419 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95420 goto _37 95421 } 95422 95423 _sqlite3ResetAllSchemasOfConnection(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0))) 95424 _37: 95425 if _destMode != i32(5) { 95426 goto _38 95427 } 95428 95429 _rc = _sqlite3BtreeSetVersion(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(2)) 95430 _38: 95431 _36: 95432 if _rc != i32(0) { 95433 goto _39 95434 } 95435 95436 func() int32 { 95437 if _pgszSrc == _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))) { 95438 return i32(0) 95439 } 95440 return func() int32 { 95441 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69293), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(95984))) 95442 crt.X__builtin_abort(tls) 95443 return i32(0) 95444 }() 95445 }() 95446 func() int32 { 95447 if _pgszDest == _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1))) { 95448 return i32(0) 95449 } 95450 return func() int32 { 95451 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69294), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(96028))) 95452 crt.X__builtin_abort(tls) 95453 return i32(0) 95454 }() 95455 }() 95456 if _pgszSrc >= _pgszDest { 95457 goto _44 95458 } 95459 95460 _22_ratio = _pgszDest / _pgszSrc 95461 _21_nDestTruncate = ((_2_nSrcPage + _22_ratio) - i32(1)) / _22_ratio 95462 if _21_nDestTruncate != int32((uint32(_sqlite3PendingByte)/((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15))+uint32(i32(1))) { 95463 goto _45 95464 } 95465 95466 _21_nDestTruncate -= 1 95467 _45: 95468 goto _46 95469 95470 _44: 95471 _21_nDestTruncate = _2_nSrcPage * (_pgszSrc / _pgszDest) 95472 _46: 95473 func() int32 { 95474 if _21_nDestTruncate > i32(0) { 95475 return i32(0) 95476 } 95477 return func() int32 { 95478 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69304), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(96072))) 95479 crt.X__builtin_abort(tls) 95480 return i32(0) 95481 }() 95482 }() 95483 if _pgszSrc >= _pgszDest { 95484 goto _49 95485 } 95486 95487 _25_iSize = int64(_pgszSrc) * int64(_2_nSrcPage) 95488 _25_pFile = _sqlite3PagerFile(tls, _2_pDestPager) 95489 func() int32 { 95490 if _25_pFile != nil { 95491 return i32(0) 95492 } 95493 return func() int32 { 95494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69323), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(61332))) 95495 crt.X__builtin_abort(tls) 95496 return i32(0) 95497 }() 95498 }() 95499 func() int32 { 95500 if ((_21_nDestTruncate == i32(0)) || ((int64(_21_nDestTruncate) * int64(_pgszDest)) >= _25_iSize)) || (((_21_nDestTruncate == int32(((uint32(_sqlite3PendingByte)/((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15))+uint32(i32(1)))-uint32(i32(1)))) && (_25_iSize >= int64(_sqlite3PendingByte))) && (_25_iSize <= int64(_sqlite3PendingByte+_pgszDest))) { 95501 return i32(0) 95502 } 95503 return func() int32 { 95504 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69324), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(96088))) 95505 crt.X__builtin_abort(tls) 95506 return i32(0) 95507 }() 95508 }() 95509 _sqlite3PagerPagecount(tls, _2_pDestPager, &_25_nDstPage) 95510 _25_iPg = uint32(_21_nDestTruncate) 95511 _58: 95512 if _rc != i32(0) || _25_iPg > uint32(_25_nDstPage) { 95513 goto _62 95514 } 95515 95516 if _25_iPg == ((uint32(_sqlite3PendingByte) / ((*XBtShared)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_p.X1)).X1)).X15)) + uint32(i32(1))) { 95517 goto _63 95518 } 95519 95520 _rc = _sqlite3PagerGet(tls, _2_pDestPager, _25_iPg, &_27_pPg, i32(0)) 95521 if _rc != i32(0) { 95522 goto _64 95523 } 95524 95525 _rc = _sqlite3PagerWrite(tls, _27_pPg) 95526 _sqlite3PagerUnref(tls, _27_pPg) 95527 _64: 95528 _63: 95529 _25_iPg += 1 95530 goto _58 95531 95532 _62: 95533 if _rc != i32(0) { 95534 goto _65 95535 } 95536 95537 _rc = _sqlite3PagerCommitPhaseOne(tls, _2_pDestPager, (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(1)) 95538 _65: 95539 _25_iEnd = func() int64 { 95540 if int64(_sqlite3PendingByte+_pgszDest) < _25_iSize { 95541 return int64(_sqlite3PendingByte + _pgszDest) 95542 } 95543 return _25_iSize 95544 }() 95545 _25_iOff = int64(_sqlite3PendingByte + _pgszSrc) 95546 _68: 95547 if _rc != i32(0) || _25_iOff >= _25_iEnd { 95548 goto _72 95549 } 95550 95551 _30_pSrcPg = (*XPgHdr)(unsafe.Pointer(uintptr(i32(0)))) 95552 _30_iSrcPg = uint32((_25_iOff / int64(_pgszSrc)) + int64(i32(1))) 95553 _rc = _sqlite3PagerGet(tls, _2_pSrcPager, _30_iSrcPg, &_30_pSrcPg, i32(0)) 95554 if _rc != i32(0) { 95555 goto _73 95556 } 95557 95558 _31_zData = (*uint8)(unsafe.Pointer(_sqlite3PagerGetData(tls, _30_pSrcPg))) 95559 _rc = _sqlite3OsWrite(tls, _25_pFile, (unsafe.Pointer)(_31_zData), _pgszSrc, _25_iOff) 95560 _73: 95561 _sqlite3PagerUnref(tls, _30_pSrcPg) 95562 { 95563 p := &_25_iOff 95564 *p = (*p) + int64(_pgszSrc) 95565 sink967 = *p 95566 } 95567 goto _68 95568 95569 _72: 95570 if _rc != i32(0) { 95571 goto _74 95572 } 95573 95574 _rc = _backupTruncateFile(tls, _25_pFile, _25_iSize) 95575 _74: 95576 if _rc != i32(0) { 95577 goto _75 95578 } 95579 95580 _rc = _sqlite3PagerSync(tls, _2_pDestPager, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 95581 _75: 95582 goto _76 95583 95584 _49: 95585 _sqlite3PagerTruncateImage(tls, _2_pDestPager, uint32(_21_nDestTruncate)) 95586 _rc = _sqlite3PagerCommitPhaseOne(tls, _2_pDestPager, (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 95587 _76: 95588 if i32(0) != _rc || i32(0) != store961(&_rc, _sqlite3BtreeCommitPhaseTwo(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(0))) { 95589 goto _78 95590 } 95591 95592 _rc = i32(101) 95593 _78: 95594 _39: 95595 _32: 95596 if _2_bCloseTrans == 0 { 95597 goto _79 95598 } 95599 95600 _36_rc2 = _sqlite3BtreeCommitPhaseOne(tls, (*XBtree)(unsafe.Pointer(_p.X6)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 95601 { 95602 p := &_36_rc2 95603 *p = (*p) | _sqlite3BtreeCommitPhaseTwo(tls, (*XBtree)(unsafe.Pointer(_p.X6)), i32(0)) 95604 sink961 = *p 95605 } 95606 func() int32 { 95607 if _36_rc2 == i32(0) { 95608 return i32(0) 95609 } 95610 return func() int32 { 95611 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69398), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_backup_stepØ00__func__Ø000))), unsafe.Pointer(str(19572))) 95612 crt.X__builtin_abort(tls) 95613 return i32(0) 95614 }() 95615 }() 95616 _79: 95617 if _rc != i32(3082) { 95618 goto _82 95619 } 95620 95621 _rc = _sqlite3NomemError(tls, i32(69402)) 95622 _82: 95623 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = _rc 95624 _2: 95625 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95626 goto _83 95627 } 95628 95629 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 95630 _83: 95631 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 95632 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X5)).X3))) 95633 r0 = _rc 95634 return 95635 95636 } 95637 95638 func _setDestPgsz(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:68928:1 95639 var _rc int32 // sqlite3.c:68929:7 95640 _ = _rc 95641 _rc = _sqlite3BtreeSetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X1)), _sqlite3BtreeGetPageSize(tls, (*XBtree)(unsafe.Pointer(_p.X6))), i32(-1), i32(0)) 95642 r0 = _rc 95643 return 95644 95645 } 95646 95647 var _sqlite3_backup_stepØ00__func__Ø000 [20]int8 // - 95648 95649 func init() { 95650 crt.Xstrncpy(nil, &_sqlite3_backup_stepØ00__func__Ø000[0], str(96272), 20) 95651 } 95652 95653 func _attachBackupObject(tls *crt.TLS, _p *Xsqlite3_backup) { // sqlite3.c:69151:1 95654 var _pp **Xsqlite3_backup // sqlite3.c:69152:18 95655 _ = _pp 95656 func() int32 { 95657 if _sqlite3BtreeHoldsMutex(tls, (*XBtree)(unsafe.Pointer(_p.X6))) != 0 { 95658 return i32(0) 95659 } 95660 return func() int32 { 95661 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(69153), unsafe.Pointer((*int8)(unsafe.Pointer(&_attachBackupObjectØ00__func__Ø000))), unsafe.Pointer(str(96292))) 95662 crt.X__builtin_abort(tls) 95663 return i32(0) 95664 }() 95665 }() 95666 _pp = _sqlite3PagerBackupPtr(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) 95667 *(**Xsqlite3_backup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))))) = *_pp 95668 *_pp = _p 95669 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(1) 95670 return 95671 95672 } 95673 95674 var _attachBackupObjectØ00__func__Ø000 [19]int8 // - 95675 95676 func init() { 95677 crt.Xstrncpy(nil, &_attachBackupObjectØ00__func__Ø000[0], str(96324), 19) 95678 } 95679 95680 func _sqlite3PagerBackupPtr(tls *crt.TLS, _pPager *XPager) (r0 **Xsqlite3_backup) { // sqlite3.c:54137:1 95681 r0 = (**Xsqlite3_backup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(92 /* X36 */))))) 95682 return 95683 95684 } 95685 95686 func _sqlite3BtreeNewDb(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:62121:1 95687 var _rc int32 // sqlite3.c:62122:7 95688 _ = _rc 95689 _sqlite3BtreeEnter(tls, _p) 95690 *(*uint32)(unsafe.Pointer(uintptr(_p.X1) + uintptr(44 /* X18 */))) = uint32(i32(0)) 95691 _rc = _newDatabase(tls, (*XBtShared)(unsafe.Pointer(_p.X1))) 95692 _sqlite3BtreeLeave(tls, _p) 95693 r0 = _rc 95694 return 95695 95696 } 95697 95698 func _backupTruncateFile(tls *crt.TLS, _pFile *Xsqlite3_file, _iSize int64) (r0 int32) { // sqlite3.c:69138:1 95699 var _iCurrent int64 // sqlite3.c:69139:7 95700 _ = _iCurrent 95701 var _rc int32 // sqlite3.c:69140:7 95702 _ = _rc 95703 _rc = _sqlite3OsFileSize(tls, _pFile, &_iCurrent) 95704 if _rc != i32(0) || _iCurrent <= _iSize { 95705 goto _1 95706 } 95707 95708 _rc = _sqlite3OsTruncate(tls, _pFile, _iSize) 95709 _1: 95710 r0 = _rc 95711 return 95712 95713 } 95714 95715 func Xsqlite3_backup_finish(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:69417:12 95716 var _pp **Xsqlite3_backup // sqlite3.c:69418:18 95717 _ = _pp 95718 var _pSrcDb *Xsqlite3 // sqlite3.c:69419:11 95719 _ = _pSrcDb 95720 var _rc int32 // sqlite3.c:69420:7 95721 _ = _rc 95722 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { 95723 goto _0 95724 } 95725 95726 r0 = i32(0) 95727 return 95728 95729 _0: 95730 _pSrcDb = (*Xsqlite3)(unsafe.Pointer(_p.X5)) 95731 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pSrcDb.X3))) 95732 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 95733 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95734 goto _1 95735 } 95736 95737 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 95738 _1: 95739 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95740 goto _2 95741 } 95742 95743 *(*int32)(unsafe.Pointer(uintptr(_p.X6) + uintptr(16 /* X7 */))) -= 1 95744 _2: 95745 if (_p.X10) == 0 { 95746 goto _3 95747 } 95748 95749 _pp = _sqlite3PagerBackupPtr(tls, _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_p.X6)))) 95750 _4: 95751 if (*_pp) == _p { 95752 goto _5 95753 } 95754 95755 _pp = (**Xsqlite3_backup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(44 /* X11 */))))) 95756 goto _4 95757 95758 _5: 95759 *_pp = (*Xsqlite3_backup)(unsafe.Pointer(_p.X11)) 95760 _3: 95761 _sqlite3BtreeRollback(tls, (*XBtree)(unsafe.Pointer(_p.X1)), i32(0), i32(0)) 95762 _rc = func() int32 { 95763 if (_p.X7) == i32(101) { 95764 return i32(0) 95765 } 95766 return (_p.X7) 95767 }() 95768 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95769 goto _8 95770 } 95771 95772 _sqlite3Error(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) 95773 _sqlite3LeaveMutexAndCloseZombie(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0))) 95774 _8: 95775 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_p.X6))) 95776 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) == nil { 95777 goto _9 95778 } 95779 95780 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 95781 _9: 95782 _sqlite3LeaveMutexAndCloseZombie(tls, _pSrcDb) 95783 r0 = _rc 95784 return 95785 95786 } 95787 95788 func _sqlite3PagerClearCache(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:54145:1 95789 func() int32 { 95790 if (int32(_pPager.X13) == i32(0)) || ((_pPager.X10) != 0) { 95791 return i32(0) 95792 } 95793 return func() int32 { 95794 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(54146), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerClearCacheØ00__func__Ø000))), unsafe.Pointer(str(58976))) 95795 crt.X__builtin_abort(tls) 95796 return i32(0) 95797 }() 95798 }() 95799 if int32(_pPager.X10) != i32(0) { 95800 goto _3 95801 } 95802 95803 _pager_reset(tls, _pPager) 95804 _3: 95805 return 95806 95807 } 95808 95809 var _sqlite3PagerClearCacheØ00__func__Ø000 [23]int8 // - 95810 95811 func init() { 95812 crt.Xstrncpy(nil, &_sqlite3PagerClearCacheØ00__func__Ø000[0], str(96344), 23) 95813 } 95814 95815 func _sqlite3BtreeIncrVacuum(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:62633:1 95816 var _rc int32 // sqlite3.c:62634:7 95817 _ = _rc 95818 var _pBt *XBtShared // sqlite3.c:62635:12 95819 _ = _pBt 95820 var _2_nOrig uint32 // sqlite3.c:62642:10 95821 _ = _2_nOrig 95822 var _2_nFree uint32 // sqlite3.c:62643:10 95823 _ = _2_nFree 95824 var _2_nFin uint32 // sqlite3.c:62644:10 95825 _ = _2_nFin 95826 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 95827 _sqlite3BtreeEnter(tls, _p) 95828 func() int32 { 95829 if (int32(_pBt.X8) == i32(2)) && (int32(_p.X2) == i32(2)) { 95830 return i32(0) 95831 } 95832 return func() int32 { 95833 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(62638), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeIncrVacuumØ00__func__Ø000))), unsafe.Pointer(str(96368))) 95834 crt.X__builtin_abort(tls) 95835 return i32(0) 95836 }() 95837 }() 95838 if (_pBt.X5) != 0 { 95839 goto _3 95840 } 95841 95842 _rc = i32(101) 95843 goto _4 95844 95845 _3: 95846 _2_nOrig = _btreePagecount(tls, _pBt) 95847 _2_nFree = _sqlite3Get4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(36))))) 95848 _2_nFin = _finalDbSize(tls, _pBt, _2_nOrig, _2_nFree) 95849 if _2_nOrig >= _2_nFin { 95850 goto _5 95851 } 95852 95853 _rc = _sqlite3CorruptError(tls, i32(62647)) 95854 goto _6 95855 95856 _5: 95857 if _2_nFree <= uint32(i32(0)) { 95858 goto _7 95859 } 95860 95861 _rc = _saveAllCursors(tls, _pBt, uint32(i32(0)), (*XBtCursor)(unsafe.Pointer(uintptr(i32(0))))) 95862 if _rc != i32(0) { 95863 goto _8 95864 } 95865 95866 _invalidateAllOverflowCache(tls, _pBt) 95867 _rc = _incrVacuumStep(tls, _pBt, _2_nFin, _2_nOrig, i32(0)) 95868 _8: 95869 if _rc != i32(0) { 95870 goto _9 95871 } 95872 95873 _rc = _sqlite3PagerWrite(tls, (*XPgHdr)(unsafe.Pointer((*XMemPage)(unsafe.Pointer(_pBt.X3)).X23))) 95874 _sqlite3Put4byte(tls, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMemPage)(unsafe.Pointer(_pBt.X3)).X19))+1*uintptr(i32(28)))), _pBt.X18) 95875 _9: 95876 goto _10 95877 95878 _7: 95879 _rc = i32(101) 95880 _10: 95881 _6: 95882 _4: 95883 _sqlite3BtreeLeave(tls, _p) 95884 r0 = _rc 95885 return 95886 95887 } 95888 95889 var _sqlite3BtreeIncrVacuumØ00__func__Ø000 [23]int8 // - 95890 95891 func init() { 95892 crt.Xstrncpy(nil, &_sqlite3BtreeIncrVacuumØ00__func__Ø000[0], str(96428), 23) 95893 } 95894 95895 func _sqlite3BtreeLockTable(tls *crt.TLS, _p *XBtree, _iTab int32, _isWriteLock uint8) (r0 int32) { // sqlite3.c:68655:1 95896 var _rc int32 // sqlite3.c:68656:7 95897 _ = _rc 95898 var _1_lockType uint8 // sqlite3.c:68659:8 95899 _ = _1_lockType 95900 _rc = i32(0) 95901 func() int32 { 95902 if int32(_p.X2) != i32(0) { 95903 return i32(0) 95904 } 95905 return func() int32 { 95906 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68657), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLockTableØ00__func__Ø000))), unsafe.Pointer(str(96452))) 95907 crt.X__builtin_abort(tls) 95908 return i32(0) 95909 }() 95910 }() 95911 if (_p.X3) == 0 { 95912 goto _2 95913 } 95914 95915 _1_lockType = uint8(i32(1) + int32(_isWriteLock)) 95916 i32(0) 95917 func() int32 { 95918 if (int32(_isWriteLock) == i32(0)) || (int32(_isWriteLock) == i32(1)) { 95919 return i32(0) 95920 } 95921 return func() int32 { 95922 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68661), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeLockTableØ00__func__Ø000))), unsafe.Pointer(str(73884))) 95923 crt.X__builtin_abort(tls) 95924 return i32(0) 95925 }() 95926 }() 95927 _sqlite3BtreeEnter(tls, _p) 95928 _rc = _querySharedCacheTableLock(tls, _p, uint32(_iTab), _1_lockType) 95929 if _rc != i32(0) { 95930 goto _6 95931 } 95932 95933 _rc = _setSharedCacheTableLock(tls, _p, uint32(_iTab), _1_lockType) 95934 _6: 95935 _sqlite3BtreeLeave(tls, _p) 95936 _2: 95937 r0 = _rc 95938 return 95939 95940 } 95941 95942 var _sqlite3BtreeLockTableØ00__func__Ø000 [22]int8 // - 95943 95944 func init() { 95945 crt.Xstrncpy(nil, &_sqlite3BtreeLockTableØ00__func__Ø000[0], str(96476), 22) 95946 } 95947 95948 func _setSharedCacheTableLock(tls *crt.TLS, _p *XBtree, _iTable uint32, _eLock uint8) (r0 int32) { // sqlite3.c:59277:1 95949 var _pBt *XBtShared // sqlite3.c:59278:12 95950 _ = _pBt 95951 var _pLock *XBtLock // sqlite3.c:59279:10 95952 _ = _pLock 95953 var _pIter *XBtLock // sqlite3.c:59280:10 95954 _ = _pIter 95955 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 95956 _pLock = nil 95957 func() int32 { 95958 if _sqlite3BtreeHoldsMutex(tls, _p) != 0 { 95959 return i32(0) 95960 } 95961 return func() int32 { 95962 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59282), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(17984))) 95963 crt.X__builtin_abort(tls) 95964 return i32(0) 95965 }() 95966 }() 95967 func() int32 { 95968 if (int32(_eLock) == i32(1)) || (int32(_eLock) == i32(2)) { 95969 return i32(0) 95970 } 95971 return func() int32 { 95972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59283), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(53600))) 95973 crt.X__builtin_abort(tls) 95974 return i32(0) 95975 }() 95976 }() 95977 func() int32 { 95978 if (*Xsqlite3)(unsafe.Pointer(_p.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 95979 return i32(0) 95980 } 95981 return func() int32 { 95982 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59284), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(24672))) 95983 crt.X__builtin_abort(tls) 95984 return i32(0) 95985 }() 95986 }() 95987 func() int32 { 95988 if (i32(0) == (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X6) & i32(16384))) || (int32(_eLock) == i32(2)) { 95989 return i32(0) 95990 } 95991 return func() int32 { 95992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59290), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(96500))) 95993 crt.X__builtin_abort(tls) 95994 return i32(0) 95995 }() 95996 }() 95997 func() int32 { 95998 if (_p.X3) != 0 { 95999 return i32(0) 96000 } 96001 return func() int32 { 96002 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59294), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(96564))) 96003 crt.X__builtin_abort(tls) 96004 return i32(0) 96005 }() 96006 }() 96007 func() int32 { 96008 if i32(0) == _querySharedCacheTableLock(tls, _p, _iTable, _eLock) { 96009 return i32(0) 96010 } 96011 return func() int32 { 96012 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(59295), unsafe.Pointer((*int8)(unsafe.Pointer(&_setSharedCacheTableLockØ00__func__Ø000))), unsafe.Pointer(str(96576))) 96013 crt.X__builtin_abort(tls) 96014 return i32(0) 96015 }() 96016 }() 96017 _pIter = (*XBtLock)(unsafe.Pointer(_pBt.X25)) 96018 _14: 96019 if _pIter == nil { 96020 goto _17 96021 } 96022 96023 if (_pIter.X1) != _iTable || (*XBtree)(unsafe.Pointer(_pIter.X0)) != _p { 96024 goto _19 96025 } 96026 96027 _pLock = _pIter 96028 goto _17 96029 96030 _19: 96031 _pIter = (*XBtLock)(unsafe.Pointer(_pIter.X3)) 96032 goto _14 96033 96034 _17: 96035 if _pLock != nil { 96036 goto _20 96037 } 96038 96039 _pLock = (*XBtLock)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(16))))) 96040 if _pLock != nil { 96041 goto _21 96042 } 96043 96044 r0 = _sqlite3NomemError(tls, i32(59311)) 96045 return 96046 96047 _21: 96048 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(4 /* X1 */))) = _iTable 96049 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(0 /* X0 */))))) = _p 96050 *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(12 /* X3 */))))) = (*XBtLock)(unsafe.Pointer(_pBt.X25)) 96051 *(**XBtLock)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBt)) + uintptr(72 /* X25 */))))) = _pLock 96052 _20: 96053 i32(0) 96054 if int32(_eLock) <= int32(_pLock.X2) { 96055 goto _22 96056 } 96057 96058 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLock)) + uintptr(8 /* X2 */))) = _eLock 96059 _22: 96060 r0 = i32(0) 96061 return 96062 96063 } 96064 96065 var _setSharedCacheTableLockØ00__func__Ø000 [24]int8 // - 96066 96067 func init() { 96068 crt.Xstrncpy(nil, &_setSharedCacheTableLockØ00__func__Ø000[0], str(96632), 24) 96069 } 96070 96071 func _sqlite3VtabBegin(tls *crt.TLS, _db *Xsqlite3, _pVTab *XVTable) (r0 int32) { // sqlite3.c:125454:1 96072 var _rc int32 // sqlite3.c:125455:7 96073 _ = _rc 96074 var _pModule *Xsqlite3_module // sqlite3.c:125456:24 96075 _ = _pModule 96076 var _3_i int32 // sqlite3.c:125472:9 96077 _ = _3_i 96078 var _7_iSvpt int32 // sqlite3.c:125487:13 96079 _ = _7_iSvpt 96080 _rc = i32(0) 96081 if (_db.X64) <= i32(0) || (**XVTable)(unsafe.Pointer(_db.X67)) != (**XVTable)(unsafe.Pointer(uintptr(i32(0)))) { 96082 goto _1 96083 } 96084 96085 r0 = i32(6) 96086 return 96087 96088 _1: 96089 if _pVTab != nil { 96090 goto _2 96091 } 96092 96093 r0 = i32(0) 96094 return 96095 96096 _2: 96097 _pModule = (*Xsqlite3_module)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)).X0)) 96098 if (*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { 96099 f func(*crt.TLS, unsafe.Pointer) int32 96100 }{(_pModule.X14)}))) == nil { 96101 goto _3 96102 } 96103 96104 _3_i = i32(0) 96105 _4: 96106 if _3_i >= (_db.X64) { 96107 goto _7 96108 } 96109 96110 if (*(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X67)) + 4*uintptr(_3_i)))) != _pVTab { 96111 goto _8 96112 } 96113 96114 r0 = i32(0) 96115 return 96116 96117 _8: 96118 _3_i += 1 96119 goto _4 96120 96121 _7: 96122 _rc = _growVTrans(tls, _db) 96123 if _rc != i32(0) { 96124 goto _9 96125 } 96126 96127 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { 96128 f func(*crt.TLS, unsafe.Pointer) int32 96129 }{(_pModule.X14)})))(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2))) 96130 if _rc != i32(0) { 96131 goto _10 96132 } 96133 96134 _7_iSvpt = (_db.X76) + (_db.X75) 96135 _addToVTrans(tls, _db, _pVTab) 96136 if _7_iSvpt == 0 || (*(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { 96137 f func(*crt.TLS, unsafe.Pointer, int32) int32 96138 }{(_pModule.X20)}))) == nil { 96139 goto _12 96140 } 96141 96142 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTab)) + uintptr(20 /* X5 */))) = _7_iSvpt 96143 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, int32) int32)(unsafe.Pointer(&struct { 96144 f func(*crt.TLS, unsafe.Pointer, int32) int32 96145 }{(_pModule.X20)})))(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)), _7_iSvpt-i32(1)) 96146 _12: 96147 _10: 96148 _9: 96149 _3: 96150 r0 = _rc 96151 return 96152 96153 } 96154 96155 func _growVTrans(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125182:1 96156 var _ARRAY_INCR int32 // sqlite3.c:125183:13 96157 _ = _ARRAY_INCR 96158 var _1_aVTrans **XVTable // sqlite3.c:125187:12 96159 _ = _1_aVTrans 96160 var _1_nBytes int32 // sqlite3.c:125188:9 96161 _ = _1_nBytes 96162 _ARRAY_INCR = i32(5) 96163 if ((_db.X64) % _ARRAY_INCR) != i32(0) { 96164 goto _0 96165 } 96166 96167 _1_nBytes = int32(u32(4) * uint32((_db.X64)+_ARRAY_INCR)) 96168 _1_aVTrans = (**XVTable)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_db.X67), uint64(_1_nBytes)))) 96169 if _1_aVTrans != nil { 96170 goto _1 96171 } 96172 96173 r0 = _sqlite3NomemError(tls, i32(125191)) 96174 return 96175 96176 _1: 96177 crt.Xmemset(tls, (unsafe.Pointer)((**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aVTrans))+4*uintptr(_db.X64)))), i32(0), u32(4)*uint32(_ARRAY_INCR)) 96178 *(***XVTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(336 /* X67 */))))) = _1_aVTrans 96179 _0: 96180 r0 = i32(0) 96181 return 96182 96183 } 96184 96185 func _addToVTrans(tls *crt.TLS, _db *Xsqlite3, _pVTab *XVTable) { // sqlite3.c:125204:1 96186 *(**XVTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db.X67)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(312 /* X64 */))), int32(1))))) = _pVTab 96187 _sqlite3VtabLock(tls, _pVTab) 96188 return 96189 96190 } 96191 96192 func _sqlite3VdbeMemCopy(tls *crt.TLS, _pTo *XMem, _pFrom *XMem) (r0 int32) { // sqlite3.c:70420:1 96193 var _rc int32 // sqlite3.c:70421:7 96194 _ = _rc 96195 _rc = i32(0) 96196 func() int32 { 96197 if (int32(_pFrom.X1) & i32(32)) == i32(0) { 96198 return i32(0) 96199 } 96200 return func() int32 { 96201 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(70423), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMemCopyØ00__func__Ø000))), unsafe.Pointer(str(75156))) 96202 crt.X__builtin_abort(tls) 96203 return i32(0) 96204 }() 96205 }() 96206 if (int32(_pTo.X1) & i32(9312)) == i32(0) { 96207 goto _2 96208 } 96209 96210 _vdbeMemClearExternAndSetNull(tls, _pTo) 96211 _2: 96212 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u32(20)) 96213 { 96214 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) 96215 *p = uint16(int32(*p) & i32(-1025)) 96216 sink6908 = *p 96217 } 96218 if (int32(_pTo.X1) & i32(18)) == 0 { 96219 goto _3 96220 } 96221 96222 if i32(0) != (int32(_pFrom.X1) & i32(2048)) { 96223 goto _4 96224 } 96225 96226 { 96227 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) 96228 *p = uint16(int32(*p) | i32(4096)) 96229 sink6908 = *p 96230 } 96231 _rc = _sqlite3VdbeMemMakeWriteable(tls, _pTo) 96232 _4: 96233 _3: 96234 r0 = _rc 96235 return 96236 96237 } 96238 96239 var _sqlite3VdbeMemCopyØ00__func__Ø000 [19]int8 // - 96240 96241 func init() { 96242 crt.Xstrncpy(nil, &_sqlite3VdbeMemCopyØ00__func__Ø000[0], str(96656), 19) 96243 } 96244 96245 func _sqlite3VtabCallCreate(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zTab *int8, _pzErr **int8) (r0 int32) { // sqlite3.c:125218:1 96246 var _rc int32 // sqlite3.c:125219:7 96247 _ = _rc 96248 var _pTab *XTable // sqlite3.c:125220:9 96249 _ = _pTab 96250 var _pMod *XModule // sqlite3.c:125221:10 96251 _ = _pMod 96252 var _zMod *int8 // sqlite3.c:125222:14 96253 _ = _zMod 96254 _rc = i32(0) 96255 _pTab = _sqlite3FindTable(tls, _db, _zTab, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) 96256 func() int32 { 96257 if ((_pTab != nil) && (_pTab.X16) != 0) && ((*XVTable)(unsafe.Pointer(_pTab.X18)) == nil) { 96258 return i32(0) 96259 } 96260 return func() int32 { 96261 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125225), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallCreateØ00__func__Ø000))), unsafe.Pointer(str(96676))) 96262 crt.X__builtin_abort(tls) 96263 return i32(0) 96264 }() 96265 }() 96266 _zMod = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 4*uintptr(i32(0)))) 96267 _pMod = (*XModule)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */))), _zMod))) 96268 if _pMod != (*XModule)(unsafe.Pointer(uintptr(i32(0)))) && *(*unsafe.Pointer)(unsafe.Pointer(&struct { 96269 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 96270 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 96271 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 96272 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X1)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 96273 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 96274 }{nil})) && *(*unsafe.Pointer)(unsafe.Pointer(&struct { 96275 f func(*crt.TLS, *Xsqlite3_vtab) int32 96276 }{(*(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { 96277 f func(*crt.TLS, unsafe.Pointer) int32 96278 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X5)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 96279 f func(*crt.TLS, *Xsqlite3_vtab) int32 96280 }{nil})) { 96281 goto _6 96282 } 96283 96284 *_pzErr = _sqlite3MPrintf(tls, _db, str(96720), unsafe.Pointer(_zMod)) 96285 _rc = i32(1) 96286 goto _7 96287 96288 _6: 96289 _rc = _vtabCallConstructor(tls, _db, _pTab, _pMod, *(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 96290 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 96291 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X1)})), _pzErr) 96292 _7: 96293 if _rc != i32(0) || func() int32 { 96294 if _sqlite3GetVTable(tls, _db, _pTab) != nil { 96295 return i32(1) 96296 } 96297 return func() int32 { 96298 func() int32 { 96299 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125244), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallCreateØ00__func__Ø000))), unsafe.Pointer(str(5204))) 96300 crt.X__builtin_abort(tls) 96301 return i32(0) 96302 }() 96303 return i32(0) 96304 }() 96305 }() == 0 { 96306 goto _11 96307 } 96308 96309 _rc = _growVTrans(tls, _db) 96310 if _rc != i32(0) { 96311 goto _12 96312 } 96313 96314 _addToVTrans(tls, _db, _sqlite3GetVTable(tls, _db, _pTab)) 96315 _12: 96316 _11: 96317 r0 = _rc 96318 return 96319 96320 } 96321 96322 var _sqlite3VtabCallCreateØ00__func__Ø000 [22]int8 // - 96323 96324 func init() { 96325 crt.Xstrncpy(nil, &_sqlite3VtabCallCreateØ00__func__Ø000[0], str(96740), 22) 96326 } 96327 96328 func _vtabCallConstructor(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable, _pMod *XModule, _xConstruct func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32, _pzErr **int8) (r0 int32) { // sqlite3.c:125019:1 96329 var _sCtx XVtabCtx // sqlite3.c:125026:11 96330 _ = _sCtx 96331 var _pVTable *XVTable // sqlite3.c:125027:10 96332 _ = _pVTable 96333 var _rc int32 // sqlite3.c:125028:7 96334 _ = _rc 96335 var _azArg **int8 // sqlite3.c:125029:14 96336 _ = _azArg 96337 var _nArg int32 // sqlite3.c:125030:7 96338 _ = _nArg 96339 var _zErr *int8 // sqlite3.c:125031:8 96340 _ = _zErr 96341 var _zModuleName *int8 // sqlite3.c:125032:8 96342 _ = _zModuleName 96343 var _iDb int32 // sqlite3.c:125033:7 96344 _ = _iDb 96345 var _pCtx *XVtabCtx // sqlite3.c:125034:11 96346 _ = _pCtx 96347 var _9_zFormat *int8 // sqlite3.c:125090:18 96348 _ = _9_zFormat 96349 var _10_iCol int32 // sqlite3.c:125095:11 96350 _ = _10_iCol 96351 var _10_oooHidden uint8 // sqlite3.c:125096:10 96352 _ = _10_oooHidden 96353 var _11_zType *int8 // sqlite3.c:125106:14 96354 _ = _11_zType 96355 var _11_nType int32 // sqlite3.c:125107:13 96356 _ = _11_nType 96357 var _11_i int32 // sqlite3.c:125108:13 96358 _ = _11_i 96359 var _14_j int32 // sqlite3.c:125119:15 96360 _ = _14_j 96361 var _14_nDel int32 // sqlite3.c:125120:15 96362 _ = _14_nDel 96363 _azArg = _pTab.X17 96364 _nArg = _pTab.X16 96365 _zErr = nil 96366 _pCtx = (*XVtabCtx)(unsafe.Pointer(_db.X66)) 96367 _0: 96368 if _pCtx == nil { 96369 goto _3 96370 } 96371 96372 if (*XTable)(unsafe.Pointer(_pCtx.X1)) != _pTab { 96373 goto _4 96374 } 96375 96376 *_pzErr = _sqlite3MPrintf(tls, _db, str(96764), unsafe.Pointer(_pTab.X0)) 96377 r0 = i32(6) 96378 return 96379 96380 _4: 96381 _pCtx = (*XVtabCtx)(unsafe.Pointer(_pCtx.X2)) 96382 goto _0 96383 96384 _3: 96385 _zModuleName = _sqlite3MPrintf(tls, _db, str(25612), unsafe.Pointer(_pTab.X0)) 96386 if _zModuleName != nil { 96387 goto _5 96388 } 96389 96390 r0 = _sqlite3NomemError(tls, i32(125048)) 96391 return 96392 96393 _5: 96394 _pVTable = (*XVTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(28))))) 96395 if _pVTable != nil { 96396 goto _6 96397 } 96398 96399 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zModuleName)) 96400 r0 = _sqlite3NomemError(tls, i32(125054)) 96401 return 96402 96403 _6: 96404 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(0 /* X0 */))))) = _db 96405 *(**XModule)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(4 /* X1 */))))) = _pMod 96406 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 96407 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 4*uintptr(i32(1)))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 96408 func() int32 { 96409 if (**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(332 /* X66 */))))) != nil { 96410 return i32(0) 96411 } 96412 return func() int32 { 96413 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125063), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabCallConstructorØ00__func__Ø000))), unsafe.Pointer(str(96808))) 96414 crt.X__builtin_abort(tls) 96415 return i32(0) 96416 }() 96417 }() 96418 func() int32 { 96419 if _xConstruct != nil { 96420 return i32(0) 96421 } 96422 return func() int32 { 96423 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125064), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabCallConstructorØ00__func__Ø000))), unsafe.Pointer(str(96824))) 96424 crt.X__builtin_abort(tls) 96425 return i32(0) 96426 }() 96427 }() 96428 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(4 /* X1 */))))) = _pTab 96429 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(0 /* X0 */))))) = _pVTable 96430 *(**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(8 /* X2 */))))) = (*XVtabCtx)(unsafe.Pointer(_db.X66)) 96431 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCtx)) + uintptr(12 /* X3 */))) = i32(0) 96432 *(**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(332 /* X66 */))))) = &_sCtx 96433 _rc = _xConstruct(tls, _db, _pMod.X2, _nArg, _azArg, (**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable))+uintptr(8 /* X2 */))))), &_zErr) 96434 *(**XVtabCtx)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(332 /* X66 */))))) = (*XVtabCtx)(unsafe.Pointer(_sCtx.X2)) 96435 if _rc != i32(7) { 96436 goto _11 96437 } 96438 96439 _sqlite3OomFault(tls, _db) 96440 _11: 96441 func() int32 { 96442 if (*XTable)(unsafe.Pointer(_sCtx.X1)) == _pTab { 96443 return i32(0) 96444 } 96445 return func() int32 { 96446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125073), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabCallConstructorØ00__func__Ø000))), unsafe.Pointer(str(96836))) 96447 crt.X__builtin_abort(tls) 96448 return i32(0) 96449 }() 96450 }() 96451 if i32(0) == _rc { 96452 goto _14 96453 } 96454 96455 if _zErr != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 96456 goto _15 96457 } 96458 96459 *_pzErr = _sqlite3MPrintf(tls, _db, str(96852), unsafe.Pointer(_zModuleName)) 96460 goto _16 96461 96462 _15: 96463 *_pzErr = _sqlite3MPrintf(tls, _db, str(25612), unsafe.Pointer(_zErr)) 96464 Xsqlite3_free(tls, (unsafe.Pointer)(_zErr)) 96465 _16: 96466 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pVTable)) 96467 goto _17 96468 96469 _14: 96470 if func() int32 { 96471 if (*Xsqlite3_vtab)(unsafe.Pointer(_pVTable.X2)) != nil { 96472 return i32(1) 96473 } 96474 return func() int32 { 96475 func() int32 { 96476 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125083), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabCallConstructorØ00__func__Ø000))), unsafe.Pointer(str(5204))) 96477 crt.X__builtin_abort(tls) 96478 return i32(0) 96479 }() 96480 return i32(0) 96481 }() 96482 }() == 0 { 96483 goto _20 96484 } 96485 96486 crt.Xmemset(tls, _pVTable.X2, i32(0), u32(12)) 96487 *(**Xsqlite3_module)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pVTable.X2) + uintptr(0 /* X0 */))))) = (*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)) 96488 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(12 /* X3 */))) = i32(1) 96489 if (_sCtx.X3) != i32(0) { 96490 goto _21 96491 } 96492 96493 _9_zFormat = str(96884) 96494 *_pzErr = _sqlite3MPrintf(tls, _db, _9_zFormat, unsafe.Pointer(_pTab.X0)) 96495 _sqlite3VtabUnlock(tls, _pVTable) 96496 _rc = i32(1) 96497 goto _22 96498 96499 _21: 96500 _10_oooHidden = u8(0) 96501 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVTable)) + uintptr(24 /* X6 */))))) = (*XVTable)(unsafe.Pointer(_pTab.X18)) 96502 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X18 */))))) = _pVTable 96503 _10_iCol = i32(0) 96504 _23: 96505 if _10_iCol >= int32(_pTab.X11) { 96506 goto _26 96507 } 96508 96509 _11_zType = _sqlite3ColumnType(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_10_iCol))), str(196)) 96510 _11_i = i32(0) 96511 _11_nType = _sqlite3Strlen30(tls, _11_zType) 96512 _11_i = i32(0) 96513 _27: 96514 if _11_i >= _11_nType { 96515 goto _30 96516 } 96517 96518 if i32(0) != Xsqlite3_strnicmp(tls, str(96932), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType))+1*uintptr(_11_i))), i32(6)) || _11_i != i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i-i32(1))))) != i32(32) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i+i32(6))))) != i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i+i32(6))))) != i32(32) { 96519 goto _35 96520 } 96521 96522 goto _30 96523 96524 _35: 96525 _11_i += 1 96526 goto _27 96527 96528 _30: 96529 if _11_i >= _11_nType { 96530 goto _36 96531 } 96532 96533 _14_nDel = i32(6) + func() int32 { 96534 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i+i32(6))))) != 0 { 96535 return i32(1) 96536 } 96537 return i32(0) 96538 }() 96539 _14_j = _11_i 96540 _39: 96541 if (_14_j + _14_nDel) > _11_nType { 96542 goto _42 96543 } 96544 96545 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_14_j))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_14_j+_14_nDel))) 96546 _14_j += 1 96547 goto _39 96548 96549 _42: 96550 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i)))) != i32(0) || _11_i <= i32(0) { 96551 goto _44 96552 } 96553 96554 func() int32 { 96555 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i-i32(1))))) == i32(32) { 96556 return i32(0) 96557 } 96558 return func() int32 { 96559 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125125), unsafe.Pointer((*int8)(unsafe.Pointer(&_vtabCallConstructorØ00__func__Ø000))), unsafe.Pointer(str(96940))) 96560 crt.X__builtin_abort(tls) 96561 return i32(0) 96562 }() 96563 }() 96564 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_zType)) + 1*uintptr(_11_i-i32(1)))) = int8(i32(0)) 96565 _44: 96566 { 96567 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_10_iCol))))) + uintptr(15 /* X6 */))) 96568 *p = uint8(int32(*p) | i32(2)) 96569 sink6915 = *p 96570 } 96571 _10_oooHidden = uint8(i32(128)) 96572 goto _47 96573 96574 _36: 96575 { 96576 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(36 /* X9 */))) 96577 *p = (*p) | uint32(_10_oooHidden) 96578 sink985 = *p 96579 } 96580 _47: 96581 _10_iCol += 1 96582 goto _23 96583 96584 _26: 96585 _22: 96586 _20: 96587 _17: 96588 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zModuleName)) 96589 r0 = _rc 96590 return 96591 96592 } 96593 96594 var _vtabCallConstructorØ00__func__Ø000 [20]int8 // - 96595 96596 func init() { 96597 crt.Xstrncpy(nil, &_vtabCallConstructorØ00__func__Ø000[0], str(96956), 20) 96598 } 96599 96600 func _sqlite3ColumnType(tls *crt.TLS, _pCol *XColumn, _zDflt *int8) (r0 *int8) { // sqlite3.c:27733:1 96601 if (int32(_pCol.X6) & i32(4)) != i32(0) { 96602 goto _0 96603 } 96604 96605 r0 = _zDflt 96606 return 96607 96608 _0: 96609 r0 = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_pCol.X0))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(crt.Xstrlen(tls, _pCol.X0)))))))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(1)))))))) 96610 return 96611 96612 } 96613 96614 func _sqlite3VtabCallDestroy(tls *crt.TLS, _db *Xsqlite3, _iDb int32, _zTab *int8) (r0 int32) { // sqlite3.c:125344:1 96615 var _rc int32 // sqlite3.c:125345:7 96616 _ = _rc 96617 var _pTab *XTable // sqlite3.c:125346:9 96618 _ = _pTab 96619 var _1_p *XVTable // sqlite3.c:125350:12 96620 _ = _1_p 96621 var _1_xDestroy func(*crt.TLS, *Xsqlite3_vtab) int32 // sqlite3.c:125351:9 96622 _ = _1_xDestroy 96623 _rc = i32(0) 96624 _pTab = _sqlite3FindTable(tls, _db, _zTab, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) 96625 if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) || func() int32 { 96626 if (*XVTable)(unsafe.Pointer(_pTab.X18)) != (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) { 96627 return i32(1) 96628 } 96629 return func() int32 { 96630 func() int32 { 96631 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125349), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallDestroyØ00__func__Ø000))), unsafe.Pointer(str(5204))) 96632 crt.X__builtin_abort(tls) 96633 return i32(0) 96634 }() 96635 return i32(0) 96636 }() 96637 }() == 0 { 96638 goto _3 96639 } 96640 96641 _1_p = (*XVTable)(unsafe.Pointer(_pTab.X18)) 96642 _4: 96643 if _1_p == nil { 96644 goto _7 96645 } 96646 96647 func() int32 { 96648 if (*Xsqlite3_vtab)(unsafe.Pointer(_1_p.X2)) != nil { 96649 return i32(0) 96650 } 96651 return func() int32 { 96652 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125353), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallDestroyØ00__func__Ø000))), unsafe.Pointer(str(96976))) 96653 crt.X__builtin_abort(tls) 96654 return i32(0) 96655 }() 96656 }() 96657 if ((*Xsqlite3_vtab)(unsafe.Pointer(_1_p.X2)).X1) <= i32(0) { 96658 goto _10 96659 } 96660 96661 r0 = i32(6) 96662 return 96663 96664 _10: 96665 _1_p = (*XVTable)(unsafe.Pointer(_1_p.X6)) 96666 goto _4 96667 96668 _7: 96669 _1_p = _vtabDisconnectAll(tls, _db, _pTab) 96670 _1_xDestroy = *(*func(*crt.TLS, *Xsqlite3_vtab) int32)(unsafe.Pointer(&struct { 96671 f func(*crt.TLS, unsafe.Pointer) int32 96672 }{((*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer(_1_p.X1)).X0)).X5)})) 96673 func() int32 { 96674 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 96675 f func(*crt.TLS, *Xsqlite3_vtab) int32 96676 }{_1_xDestroy})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 96677 f func(*crt.TLS, *Xsqlite3_vtab) int32 96678 }{nil})) { 96679 return i32(0) 96680 } 96681 return func() int32 { 96682 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125360), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallDestroyØ00__func__Ø000))), unsafe.Pointer(str(96988))) 96683 crt.X__builtin_abort(tls) 96684 return i32(0) 96685 }() 96686 }() 96687 _rc = _1_xDestroy(tls, (*Xsqlite3_vtab)(unsafe.Pointer(_1_p.X2))) 96688 if _rc != i32(0) { 96689 goto _13 96690 } 96691 96692 func() int32 { 96693 if ((*XVTable)(unsafe.Pointer(_pTab.X18)) == _1_p) && ((*XVTable)(unsafe.Pointer(_1_p.X6)) == (*XVTable)(unsafe.Pointer(uintptr(i32(0))))) { 96694 return i32(0) 96695 } 96696 return func() int32 { 96697 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125364), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallDestroyØ00__func__Ø000))), unsafe.Pointer(str(97000))) 96698 crt.X__builtin_abort(tls) 96699 return i32(0) 96700 }() 96701 }() 96702 *(**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(8 /* X2 */))))) = (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) 96703 *(**XVTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(64 /* X18 */))))) = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) 96704 _sqlite3VtabUnlock(tls, _1_p) 96705 _13: 96706 _3: 96707 r0 = _rc 96708 return 96709 96710 } 96711 96712 var _sqlite3VtabCallDestroyØ00__func__Ø000 [23]int8 // - 96713 96714 func init() { 96715 crt.Xstrncpy(nil, &_sqlite3VtabCallDestroyØ00__func__Ø000[0], str(97032), 23) 96716 } 96717 96718 func _sqlite3BtreeMaxPageCount(tls *crt.TLS, _p *XBtree, _mxPage int32) (r0 int32) { // sqlite3.c:61750:1 96719 var _n int32 // sqlite3.c:61751:7 96720 _ = _n 96721 _sqlite3BtreeEnter(tls, _p) 96722 _n = _sqlite3PagerMaxPageCount(tls, (*XPager)(unsafe.Pointer((*XBtShared)(unsafe.Pointer(_p.X1)).X0)), _mxPage) 96723 _sqlite3BtreeLeave(tls, _p) 96724 r0 = _n 96725 return 96726 96727 } 96728 96729 func _sqlite3PagerMaxPageCount(tls *crt.TLS, _pPager *XPager, _mxPage int32) (r0 int32) { // sqlite3.c:50644:1 96730 if _mxPage <= i32(0) { 96731 goto _0 96732 } 96733 96734 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(156 /* X49 */))) = uint32(_mxPage) 96735 _0: 96736 func() int32 { 96737 if int32(_pPager.X14) != i32(0) { 96738 return i32(0) 96739 } 96740 return func() int32 { 96741 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50648), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMaxPageCountØ00__func__Ø000))), unsafe.Pointer(str(97056))) 96742 crt.X__builtin_abort(tls) 96743 return i32(0) 96744 }() 96745 }() 96746 func() int32 { 96747 if (_pPager.X49) >= (_pPager.X22) { 96748 return i32(0) 96749 } 96750 return func() int32 { 96751 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(50649), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerMaxPageCountØ00__func__Ø000))), unsafe.Pointer(str(97084))) 96752 crt.X__builtin_abort(tls) 96753 return i32(0) 96754 }() 96755 }() 96756 r0 = int32(_pPager.X49) 96757 return 96758 96759 } 96760 96761 var _sqlite3PagerMaxPageCountØ00__func__Ø000 [25]int8 // - 96762 96763 func init() { 96764 crt.Xstrncpy(nil, &_sqlite3PagerMaxPageCountØ00__func__Ø000[0], str(97116), 25) 96765 } 96766 96767 func _sqlite3VdbeExpandSql(tls *crt.TLS, _p *XVdbe, _zRawSql *int8) (r0 *int8) { // sqlite3.c:77970:1 96768 var _db *Xsqlite3 // sqlite3.c:77974:11 96769 _ = _db 96770 var _idx int32 // sqlite3.c:77975:7 96771 _ = _idx 96772 var _nextIndex int32 // sqlite3.c:77976:7 96773 _ = _nextIndex 96774 var _n int32 // sqlite3.c:77977:7 96775 _ = _n 96776 var _nToken int32 // sqlite3.c:77978:7 96777 _ = _nToken 96778 var _i int32 // sqlite3.c:77979:7 96779 _ = _i 96780 var _pVar *XMem // sqlite3.c:77980:7 96781 _ = _pVar 96782 var _out XStrAccum // sqlite3.c:77981:12 96783 _ = _out 96784 var _utf8 XMem // sqlite3.c:77983:7 96785 _ = _utf8 96786 var _zBase [100]int8 // sqlite3.c:77985:8 96787 _ = _zBase 96788 var _2_zStart *int8 // sqlite3.c:77992:18 96789 _ = _2_zStart 96790 var _13_nOut int32 // sqlite3.c:78036:13 96791 _ = _13_nOut 96792 var _13_enc uint8 // sqlite3.c:78038:12 96793 _ = _13_enc 96794 var _17_nOut int32 // sqlite3.c:78069:13 96795 _ = _17_nOut 96796 _idx = i32(0) 96797 _nextIndex = i32(1) 96798 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 96799 _sqlite3StrAccumInit(tls, &_out, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBase)), int32(u32(100)), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) 96800 if (_db.X37) <= i32(1) { 96801 goto _0 96802 } 96803 96804 _1: 96805 if (*_zRawSql) == 0 { 96806 goto _2 96807 } 96808 96809 _2_zStart = _zRawSql 96810 _3: 96811 if int32(*postInc1025(&_zRawSql, 1)) == i32(10) || (*_zRawSql) == 0 { 96812 goto _4 96813 } 96814 96815 goto _3 96816 96817 _4: 96818 _sqlite3StrAccumAppend(tls, &_out, str(74480), i32(3)) 96819 func() int32 { 96820 if int32((uintptr(unsafe.Pointer(_zRawSql))-uintptr(unsafe.Pointer(_2_zStart)))/1) > i32(0) { 96821 return i32(0) 96822 } 96823 return func() int32 { 96824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77995), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97144))) 96825 crt.X__builtin_abort(tls) 96826 return i32(0) 96827 }() 96828 }() 96829 _sqlite3StrAccumAppend(tls, &_out, _2_zStart, int32((uintptr(unsafe.Pointer(_zRawSql))-uintptr(unsafe.Pointer(_2_zStart)))/1)) 96830 goto _1 96831 96832 _2: 96833 goto _8 96834 96835 _0: 96836 if int32(_p.X4) != i32(0) { 96837 goto _9 96838 } 96839 96840 _sqlite3StrAccumAppend(tls, &_out, _zRawSql, _sqlite3Strlen30(tls, _zRawSql)) 96841 goto _10 96842 96843 _9: 96844 _11: 96845 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) == 0 { 96846 goto _12 96847 } 96848 96849 _n = _findNextHostParameter(tls, _zRawSql, &_nToken) 96850 func() int32 { 96851 if _n > i32(0) { 96852 return i32(0) 96853 } 96854 return func() int32 { 96855 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78003), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(1352))) 96856 crt.X__builtin_abort(tls) 96857 return i32(0) 96858 }() 96859 }() 96860 _sqlite3StrAccumAppend(tls, &_out, _zRawSql, _n) 96861 { 96862 p := &_zRawSql 96863 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 96864 sink1025 = *p 96865 } 96866 func() int32 { 96867 if ((*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) != 0) || (_nToken == i32(0)) { 96868 return i32(0) 96869 } 96870 return func() int32 { 96871 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78006), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97168))) 96872 crt.X__builtin_abort(tls) 96873 return i32(0) 96874 }() 96875 }() 96876 if _nToken != i32(0) { 96877 goto _18 96878 } 96879 96880 goto _12 96881 96882 _18: 96883 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) != i32(63) { 96884 goto _19 96885 } 96886 96887 if _nToken <= i32(1) { 96888 goto _20 96889 } 96890 96891 func() int32 { 96892 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(1))))))))) & i32(4)) != 0 { 96893 return i32(0) 96894 } 96895 return func() int32 { 96896 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78010), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97192))) 96897 crt.X__builtin_abort(tls) 96898 return i32(0) 96899 }() 96900 }() 96901 _sqlite3GetInt32(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql))+1*uintptr(i32(1)))), &_idx) 96902 goto _23 96903 96904 _20: 96905 _idx = _nextIndex 96906 _23: 96907 goto _24 96908 96909 _19: 96910 func() int32 { 96911 if (((int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) == i32(58)) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) == i32(36))) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) == i32(64))) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRawSql)) + 1*uintptr(i32(0))))) == i32(35)) { 96912 return i32(0) 96913 } 96914 return func() int32 { 96915 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78016), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97220))) 96916 crt.X__builtin_abort(tls) 96917 return i32(0) 96918 }() 96919 }() 96920 _idx = _sqlite3VdbeParameterIndex(tls, _p, _zRawSql, _nToken) 96921 func() int32 { 96922 if _idx > i32(0) { 96923 return i32(0) 96924 } 96925 return func() int32 { 96926 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78023), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97296))) 96927 crt.X__builtin_abort(tls) 96928 return i32(0) 96929 }() 96930 }() 96931 _24: 96932 { 96933 p := &_zRawSql 96934 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_nToken))) 96935 sink1025 = *p 96936 } 96937 _nextIndex = _idx + i32(1) 96938 func() int32 { 96939 if (_idx > i32(0)) && (_idx <= int32(_p.X4)) { 96940 return i32(0) 96941 } 96942 return func() int32 { 96943 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78027), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97304))) 96944 crt.X__builtin_abort(tls) 96945 return i32(0) 96946 }() 96947 }() 96948 _pVar = (*XMem)(unsafe.Pointer(uintptr(_p.X24) + 48*uintptr(_idx-i32(1)))) 96949 if (int32(_pVar.X1) & i32(1)) == 0 { 96950 goto _35 96951 } 96952 96953 _sqlite3StrAccumAppend(tls, &_out, str(200), i32(4)) 96954 goto _36 96955 96956 _35: 96957 if (int32(_pVar.X1) & i32(4)) == 0 { 96958 goto _37 96959 } 96960 96961 _sqlite3XPrintf(tls, &_out, str(5972), *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(0 /* X0 */)))))) 96962 goto _38 96963 96964 _37: 96965 if (int32(_pVar.X1) & i32(8)) == 0 { 96966 goto _39 96967 } 96968 96969 _sqlite3XPrintf(tls, &_out, str(5996), *(*float64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(0 /* X0 */)))))) 96970 goto _40 96971 96972 _39: 96973 if (int32(_pVar.X1) & i32(2)) == 0 { 96974 goto _41 96975 } 96976 96977 _13_enc = _db.X14 96978 if int32(_13_enc) == i32(1) { 96979 goto _42 96980 } 96981 96982 crt.Xmemset(tls, (unsafe.Pointer)(&_utf8), i32(0), u32(48)) 96983 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_utf8)) + uintptr(32 /* X9 */))))) = _db 96984 _sqlite3VdbeMemSetStr(tls, &_utf8, _pVar.X5, _pVar.X4, _13_enc, nil) 96985 if i32(7) != _sqlite3VdbeChangeEncoding(tls, &_utf8, i32(1)) { 96986 goto _43 96987 } 96988 96989 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_out)) + uintptr(24 /* X6 */))) = uint8(i32(1)) 96990 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_out)) + uintptr(16 /* X4 */))) = uint32(i32(0)) 96991 _43: 96992 _pVar = &_utf8 96993 _42: 96994 _13_nOut = _pVar.X4 96995 _sqlite3XPrintf(tls, &_out, str(97328), _13_nOut, unsafe.Pointer(_pVar.X5)) 96996 if int32(_13_enc) == i32(1) { 96997 goto _44 96998 } 96999 97000 _sqlite3VdbeMemRelease(tls, &_utf8) 97001 _44: 97002 goto _45 97003 97004 _41: 97005 if (int32(_pVar.X1) & i32(16384)) == 0 { 97006 goto _46 97007 } 97008 97009 _sqlite3XPrintf(tls, &_out, str(97336), *(*int32)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar)) + uintptr(0 /* X0 */)))))) 97010 goto _47 97011 97012 _46: 97013 func() int32 { 97014 if (int32(_pVar.X1) & i32(16)) != 0 { 97015 return i32(0) 97016 } 97017 return func() int32 { 97018 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(78070), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeExpandSqlØ00__func__Ø000))), unsafe.Pointer(str(97352))) 97019 crt.X__builtin_abort(tls) 97020 return i32(0) 97021 }() 97022 }() 97023 _sqlite3StrAccumAppend(tls, &_out, str(97376), i32(2)) 97024 _17_nOut = _pVar.X4 97025 _i = i32(0) 97026 _50: 97027 if _i >= _17_nOut { 97028 goto _53 97029 } 97030 97031 _sqlite3XPrintf(tls, &_out, str(97380), int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVar.X5)) + 1*uintptr(_i))))&i32(255)) 97032 _i += 1 97033 goto _50 97034 97035 _53: 97036 _sqlite3StrAccumAppend(tls, &_out, str(97388), i32(1)) 97037 _47: 97038 _45: 97039 _40: 97040 _38: 97041 _36: 97042 goto _11 97043 97044 _12: 97045 _10: 97046 _8: 97047 if (_out.X6) == 0 { 97048 goto _54 97049 } 97050 97051 _sqlite3StrAccumReset(tls, &_out) 97052 _54: 97053 r0 = _sqlite3StrAccumFinish(tls, &_out) 97054 return 97055 97056 } 97057 97058 var _sqlite3VdbeExpandSqlØ00__func__Ø000 [21]int8 // - 97059 97060 func init() { 97061 crt.Xstrncpy(nil, &_sqlite3VdbeExpandSqlØ00__func__Ø000[0], str(97392), 21) 97062 } 97063 97064 func _findNextHostParameter(tls *crt.TLS, _zSql *int8, _pnToken *int32) (r0 int32) { // sqlite3.c:77927:1 97065 var _tokenType int32 // sqlite3.c:77928:7 97066 _ = _tokenType 97067 var _nTotal int32 // sqlite3.c:77929:7 97068 _ = _nTotal 97069 var _n int32 // sqlite3.c:77930:7 97070 _ = _n 97071 _nTotal = i32(0) 97072 *_pnToken = i32(0) 97073 _0: 97074 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSql)) + 1*uintptr(i32(0))))) == 0 { 97075 goto _1 97076 } 97077 97078 _n = _sqlite3GetToken(tls, (*uint8)(unsafe.Pointer(_zSql)), &_tokenType) 97079 func() int32 { 97080 if (_n > i32(0)) && (_tokenType != i32(163)) { 97081 return i32(0) 97082 } 97083 return func() int32 { 97084 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77935), unsafe.Pointer((*int8)(unsafe.Pointer(&_findNextHostParameterØ00__func__Ø000))), unsafe.Pointer(str(97416))) 97085 crt.X__builtin_abort(tls) 97086 return i32(0) 97087 }() 97088 }() 97089 if _tokenType != i32(135) { 97090 goto _5 97091 } 97092 97093 *_pnToken = _n 97094 goto _1 97095 97096 _5: 97097 { 97098 p := &_nTotal 97099 *p = (*p) + _n 97100 sink961 = *p 97101 } 97102 { 97103 p := &_zSql 97104 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n))) 97105 sink1025 = *p 97106 } 97107 goto _0 97108 97109 _1: 97110 r0 = _nTotal 97111 return 97112 97113 } 97114 97115 var _findNextHostParameterØ00__func__Ø000 [22]int8 // - 97116 97117 func init() { 97118 crt.Xstrncpy(nil, &_findNextHostParameterØ00__func__Ø000[0], str(97448), 22) 97119 } 97120 97121 func Xsqlite3_strlike(tls *crt.TLS, _zPattern *int8, _zStr *int8, _esc uint32) (r0 int32) { // sqlite3.c:106070:12 97122 r0 = _patternCompare(tls, (*uint8)(unsafe.Pointer(_zPattern)), (*uint8)(unsafe.Pointer(_zStr)), &_likeInfoNorm, _esc) 97123 return 97124 97125 } 97126 97127 var _likeInfoNorm T8650382 // sqlite3.c:105884:33 97128 97129 func init() { 97130 _likeInfoNorm = T8650382{X0: u8(37), X1: u8(95), X2: u8(0), X3: u8(1)} 97131 } 97132 97133 func _doWalCallbacks(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:76495:1 97134 var _rc int32 // sqlite3.c:76496:7 97135 _ = _rc 97136 var _i int32 // sqlite3.c:76498:7 97137 _ = _i 97138 var _1_pBt *XBtree // sqlite3.c:76500:11 97139 _ = _1_pBt 97140 var _2_nEntry int32 // sqlite3.c:76502:11 97141 _ = _2_nEntry 97142 _rc = i32(0) 97143 _i = i32(0) 97144 _0: 97145 if _i >= (_db.X5) { 97146 goto _3 97147 } 97148 97149 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 97150 if _1_pBt == nil { 97151 goto _4 97152 } 97153 97154 _sqlite3BtreeEnter(tls, _1_pBt) 97155 _2_nEntry = _sqlite3PagerWalCallback(tls, _sqlite3BtreePager(tls, _1_pBt)) 97156 _sqlite3BtreeLeave(tls, _1_pBt) 97157 if (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&struct { 97158 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 97159 }{(_db.X51)}))) == nil || _2_nEntry <= i32(0) || _rc != i32(0) { 97160 goto _7 97161 } 97162 97163 _rc = (*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&struct { 97164 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 97165 }{(_db.X51)})))(tls, _db.X52, _db, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X0, _2_nEntry) 97166 _7: 97167 _4: 97168 _i += 1 97169 goto _0 97170 97171 _3: 97172 r0 = _rc 97173 return 97174 97175 } 97176 97177 func _sqlite3PagerWalCallback(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:54179:1 97178 r0 = _sqlite3WalCallback(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 97179 return 97180 97181 } 97182 97183 func _sqlite3WalCallback(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57791:1 97184 var _ret uint32 // sqlite3.c:57792:7 97185 _ = _ret 97186 _ret = u32(0) 97187 if _pWal == nil { 97188 goto _0 97189 } 97190 97191 _ret = _pWal.X3 97192 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(12 /* X3 */))) = uint32(i32(0)) 97193 _0: 97194 r0 = int32(_ret) 97195 return 97196 97197 } 97198 97199 func _sqlite3Reprepare(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:116094:1 97200 var _rc int32 // sqlite3.c:116095:7 97201 _ = _rc 97202 var _pNew unsafe.Pointer // sqlite3.c:116096:16 97203 _ = _pNew 97204 var _zSql *int8 // sqlite3.c:116097:14 97205 _ = _zSql 97206 var _db *Xsqlite3 // sqlite3.c:116098:11 97207 _ = _db 97208 func() int32 { 97209 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_sqlite3VdbeDb(tls, _p).X3))) != 0 { 97210 return i32(0) 97211 } 97212 return func() int32 { 97213 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116100), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReprepareØ00__func__Ø000))), unsafe.Pointer(str(97472))) 97214 crt.X__builtin_abort(tls) 97215 return i32(0) 97216 }() 97217 }() 97218 _zSql = Xsqlite3_sql(tls, (unsafe.Pointer)(_p)) 97219 func() int32 { 97220 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 97221 return i32(0) 97222 } 97223 return func() int32 { 97224 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116102), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReprepareØ00__func__Ø000))), unsafe.Pointer(str(25656))) 97225 crt.X__builtin_abort(tls) 97226 return i32(0) 97227 }() 97228 }() 97229 _db = _sqlite3VdbeDb(tls, _p) 97230 func() int32 { 97231 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) != 0 { 97232 return i32(0) 97233 } 97234 return func() int32 { 97235 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116104), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReprepareØ00__func__Ø000))), unsafe.Pointer(str(832))) 97236 crt.X__builtin_abort(tls) 97237 return i32(0) 97238 }() 97239 }() 97240 _rc = _sqlite3LockAndPrepare(tls, _db, _zSql, i32(-1), i32(0), _p, &_pNew, (**int8)(unsafe.Pointer(uintptr(i32(0))))) 97241 if _rc == 0 { 97242 goto _6 97243 } 97244 97245 if _rc != i32(7) { 97246 goto _7 97247 } 97248 97249 _sqlite3OomFault(tls, _db) 97250 _7: 97251 func() int32 { 97252 if unsafe.Pointer(_pNew) == (unsafe.Pointer)(uintptr(i32(0))) { 97253 return i32(0) 97254 } 97255 return func() int32 { 97256 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116110), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReprepareØ00__func__Ø000))), unsafe.Pointer(str(97516))) 97257 crt.X__builtin_abort(tls) 97258 return i32(0) 97259 }() 97260 }() 97261 r0 = _rc 97262 return 97263 97264 _6: 97265 func() int32 { 97266 if _pNew != (unsafe.Pointer)(uintptr(i32(0))) { 97267 return i32(0) 97268 } 97269 return func() int32 { 97270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116113), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReprepareØ00__func__Ø000))), unsafe.Pointer(str(21968))) 97271 crt.X__builtin_abort(tls) 97272 return i32(0) 97273 }() 97274 }() 97275 _sqlite3VdbeSwap(tls, (*XVdbe)(unsafe.Pointer(_pNew)), _p) 97276 _sqlite3TransferBindings(tls, _pNew, (unsafe.Pointer)(_p)) 97277 _sqlite3VdbeResetStepResult(tls, (*XVdbe)(unsafe.Pointer(_pNew))) 97278 _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_pNew))) 97279 r0 = i32(0) 97280 return 97281 97282 } 97283 97284 var _sqlite3ReprepareØ00__func__Ø000 [17]int8 // - 97285 97286 func init() { 97287 crt.Xstrncpy(nil, &_sqlite3ReprepareØ00__func__Ø000[0], str(97524), 17) 97288 } 97289 97290 func Xsqlite3_sql(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 *int8) { // sqlite3.c:77612:12 97291 var _p *XVdbe // sqlite3.c:77613:8 97292 _ = _p 97293 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 97294 r0 = func() *int8 { 97295 if _p != nil { 97296 return (_p.X36) 97297 } 97298 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 97299 }() 97300 return 97301 97302 } 97303 97304 func _sqlite3VdbeSwap(tls *crt.TLS, _pA *XVdbe, _pB *XVdbe) { // sqlite3.c:71401:1 97305 var _tmp XVdbe // sqlite3.c:71402:8 97306 _ = _tmp 97307 var _pTmp *XVdbe // sqlite3.c:71402:13 97308 _ = _pTmp 97309 var _zTmp *int8 // sqlite3.c:71403:8 97310 _ = _zTmp 97311 func() int32 { 97312 if (*Xsqlite3)(unsafe.Pointer(_pA.X0)) == (*Xsqlite3)(unsafe.Pointer(_pB.X0)) { 97313 return i32(0) 97314 } 97315 return func() int32 { 97316 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71404), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSwapØ00__func__Ø000))), unsafe.Pointer(str(97544))) 97317 crt.X__builtin_abort(tls) 97318 return i32(0) 97319 }() 97320 }() 97321 _tmp = *_pA 97322 *_pA = *_pB 97323 *_pB = _tmp 97324 _pTmp = (*XVdbe)(unsafe.Pointer(_pA.X2)) 97325 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X2 */))))) = (*XVdbe)(unsafe.Pointer(_pB.X2)) 97326 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X2 */))))) = _pTmp 97327 _pTmp = (*XVdbe)(unsafe.Pointer(_pA.X1)) 97328 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(4 /* X1 */))))) = (*XVdbe)(unsafe.Pointer(_pB.X1)) 97329 *(**XVdbe)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(4 /* X1 */))))) = _pTmp 97330 _zTmp = _pA.X36 97331 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(172 /* X36 */))) = _pB.X36 97332 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(172 /* X36 */))) = _zTmp 97333 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB))+uintptr(140 /* X32 */))), int16((uint32((_pA.X32)>>uint(i32(9)))<<uint(i32(31)))>>uint(i32(31))), 512, 9) 97334 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(192 /* X41 */))) = _pA.X41 97335 return 97336 97337 } 97338 97339 var _sqlite3VdbeSwapØ00__func__Ø000 [16]int8 // - 97340 97341 func init() { 97342 crt.Xstrncpy(nil, &_sqlite3VdbeSwapØ00__func__Ø000[0], str(97560), 16) 97343 } 97344 97345 func _sqlite3TransferBindings(tls *crt.TLS, _pFromStmt unsafe.Pointer, _pToStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77497:1 97346 var _pFrom *XVdbe // sqlite3.c:77498:8 97347 _ = _pFrom 97348 var _pTo *XVdbe // sqlite3.c:77499:8 97349 _ = _pTo 97350 var _i int32 // sqlite3.c:77500:7 97351 _ = _i 97352 _pFrom = (*XVdbe)(unsafe.Pointer(_pFromStmt)) 97353 _pTo = (*XVdbe)(unsafe.Pointer(_pToStmt)) 97354 func() int32 { 97355 if (*Xsqlite3)(unsafe.Pointer(_pTo.X0)) == (*Xsqlite3)(unsafe.Pointer(_pFrom.X0)) { 97356 return i32(0) 97357 } 97358 return func() int32 { 97359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77501), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TransferBindingsØ00__func__Ø000))), unsafe.Pointer(str(75188))) 97360 crt.X__builtin_abort(tls) 97361 return i32(0) 97362 }() 97363 }() 97364 func() int32 { 97365 if int32(_pTo.X4) == int32(_pFrom.X4) { 97366 return i32(0) 97367 } 97368 return func() int32 { 97369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77502), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TransferBindingsØ00__func__Ø000))), unsafe.Pointer(str(97576))) 97370 crt.X__builtin_abort(tls) 97371 return i32(0) 97372 }() 97373 }() 97374 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pTo.X0)).X3))) 97375 _i = i32(0) 97376 _4: 97377 if _i >= int32(_pFrom.X4) { 97378 goto _7 97379 } 97380 97381 _sqlite3VdbeMemMove(tls, (*XMem)(unsafe.Pointer(uintptr(_pTo.X24)+48*uintptr(_i))), (*XMem)(unsafe.Pointer(uintptr(_pFrom.X24)+48*uintptr(_i)))) 97382 _i += 1 97383 goto _4 97384 97385 _7: 97386 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pTo.X0)).X3))) 97387 r0 = i32(0) 97388 return 97389 97390 } 97391 97392 var _sqlite3TransferBindingsØ00__func__Ø000 [24]int8 // - 97393 97394 func init() { 97395 crt.Xstrncpy(nil, &_sqlite3TransferBindingsØ00__func__Ø000[0], str(97600), 24) 97396 } 97397 97398 func _sqlite3VdbeResetStepResult(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:74130:1 97399 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(0) 97400 return 97401 97402 } 97403 97404 var _sqlite3_stepØ00__func__Ø000 [13]int8 // - 97405 97406 func init() { 97407 crt.Xstrncpy(nil, &_sqlite3_stepØ00__func__Ø000[0], str(97624), 13) 97408 } 97409 97410 func _sqlite3FindDbName(tls *crt.TLS, _db *Xsqlite3, _zName *int8) (r0 int32) { // sqlite3.c:100165:1 97411 var _i int32 // sqlite3.c:100166:7 97412 _ = _i 97413 var _1_pDb *XDb // sqlite3.c:100168:8 97414 _ = _1_pDb 97415 _i = i32(-1) 97416 if _zName == nil { 97417 goto _0 97418 } 97419 97420 *func() **XDb { _i = (_db.X5) - i32(1); return &_1_pDb }() = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))) 97421 _1: 97422 if _i < i32(0) { 97423 goto _4 97424 } 97425 97426 if i32(0) != Xsqlite3_stricmp(tls, _1_pDb.X0, _zName) { 97427 goto _5 97428 } 97429 97430 goto _4 97431 97432 _5: 97433 if _i != i32(0) || i32(0) != Xsqlite3_stricmp(tls, str(97640), _zName) { 97434 goto _7 97435 } 97436 97437 goto _4 97438 97439 _7: 97440 *(*uintptr)(unsafe.Pointer(func() **XDb { _i -= 1; return &_1_pDb }())) += uintptr(4294967280) 97441 goto _1 97442 97443 _4: 97444 _0: 97445 r0 = _i 97446 return 97447 97448 } 97449 97450 func _sqlite3PragmaVtabRegister(tls *crt.TLS, _db *Xsqlite3, _zName *int8) (r0 *XModule) { // sqlite3.c:115377:1 97451 var _pName *XPragmaName // sqlite3.c:115378:20 97452 _ = _pName 97453 func() int32 { 97454 if Xsqlite3_strnicmp(tls, _zName, str(52588), i32(7)) == i32(0) { 97455 return i32(0) 97456 } 97457 return func() int32 { 97458 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115379), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaVtabRegisterØ00__func__Ø000))), unsafe.Pointer(str(97648))) 97459 crt.X__builtin_abort(tls) 97460 return i32(0) 97461 }() 97462 }() 97463 _pName = _pragmaLocate(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zName))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(7))))))))) 97464 if _pName != (*XPragmaName)(unsafe.Pointer(uintptr(i32(0)))) { 97465 goto _2 97466 } 97467 97468 r0 = (*XModule)(unsafe.Pointer(uintptr(i32(0)))) 97469 return 97470 97471 _2: 97472 if (int32(_pName.X2) & i32(48)) != i32(0) { 97473 goto _3 97474 } 97475 97476 r0 = (*XModule)(unsafe.Pointer(uintptr(i32(0)))) 97477 return 97478 97479 _3: 97480 func() int32 { 97481 if unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */))), _zName)) == (unsafe.Pointer)(uintptr(i32(0))) { 97482 return i32(0) 97483 } 97484 return func() int32 { 97485 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115383), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaVtabRegisterØ00__func__Ø000))), unsafe.Pointer(str(97692))) 97486 crt.X__builtin_abort(tls) 97487 return i32(0) 97488 }() 97489 }() 97490 r0 = _sqlite3VtabCreateModule(tls, _db, _zName, &_pragmaVtabModule, (unsafe.Pointer)(_pName), nil) 97491 return 97492 97493 } 97494 97495 var _sqlite3PragmaVtabRegisterØ00__func__Ø000 [26]int8 // - 97496 97497 func init() { 97498 crt.Xstrncpy(nil, &_sqlite3PragmaVtabRegisterØ00__func__Ø000[0], str(97732), 26) 97499 } 97500 97501 func _pragmaLocate(tls *crt.TLS, _zName *int8) (r0 *XPragmaName) { // sqlite3.c:113241:1 97502 var _upr int32 // sqlite3.c:113242:7 97503 _ = _upr 97504 var _lwr int32 // sqlite3.c:113242:12 97505 _ = _lwr 97506 var _mid int32 // sqlite3.c:113242:17 97507 _ = _mid 97508 var _rc int32 // sqlite3.c:113242:26 97509 _ = _rc 97510 _mid = i32(0) 97511 _lwr = i32(0) 97512 _upr = i32(67) 97513 _0: 97514 if _lwr > _upr { 97515 goto _1 97516 } 97517 97518 _mid = (_lwr + _upr) / i32(2) 97519 _rc = Xsqlite3_stricmp(tls, _zName, (*XPragmaName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPragmaName))+12*uintptr(_mid))).X0) 97520 if _rc != i32(0) { 97521 goto _2 97522 } 97523 97524 goto _1 97525 97526 _2: 97527 if _rc >= i32(0) { 97528 goto _3 97529 } 97530 97531 _upr = _mid - i32(1) 97532 goto _4 97533 97534 _3: 97535 _lwr = _mid + i32(1) 97536 _4: 97537 goto _0 97538 97539 _1: 97540 r0 = func() *XPragmaName { 97541 if _lwr > _upr { 97542 return (*XPragmaName)(unsafe.Pointer(uintptr(i32(0)))) 97543 } 97544 return (*XPragmaName)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aPragmaName)) + 12*uintptr(_mid))) 97545 }() 97546 return 97547 97548 } 97549 97550 var _aPragmaName [68]XPragmaName // sqlite3.c:112500:25 97551 97552 func init() { 97553 _aPragmaName = [68]XPragmaName{XPragmaName{X0: str(97760), X1: u8(0), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(8)}, XPragmaName{X0: str(97776), X1: u8(1), X2: u8(149), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97788), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1048576)}, XPragmaName{X0: str(97804), X1: u8(3), X2: u8(16), X3: u8(46), X4: u8(1), X5: u32(0)}, XPragmaName{X0: str(97820), X1: u8(4), X2: u8(149), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97832), X1: u8(5), X2: u8(148), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97844), X1: u8(6), X2: u8(2), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97864), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(536870912)}, XPragmaName{X0: str(97880), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(16)}, XPragmaName{X0: str(97904), X1: u8(7), X2: u8(16), X3: u8(29), X4: u8(2), X5: u32(0)}, XPragmaName{X0: str(97920), X1: u8(8), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97936), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(128)}, XPragmaName{X0: str(97952), X1: u8(9), X2: u8(4), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(97976), X1: u8(0), X2: u8(24), X3: u8(0), X4: u8(0), X5: u32(15)}, XPragmaName{X0: str(97992), X1: u8(10), X2: u8(17), X3: u8(26), X4: u8(3), X5: u32(0)}, XPragmaName{X0: str(98008), X1: u8(11), X2: u8(149), X3: u8(0), X4: u8(1), X5: u32(0)}, XPragmaName{X0: str(98028), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(33554432)}, XPragmaName{X0: str(98048), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(256)}, XPragmaName{X0: str(98072), X1: u8(12), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98084), X1: u8(13), X2: u8(1), X3: u8(39), X4: u8(4), X5: u32(0)}, XPragmaName{X0: str(98104), X1: u8(14), X2: u8(97), X3: u8(31), X4: u8(8), X5: u32(0)}, XPragmaName{X0: str(98124), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(524288)}, XPragmaName{X0: str(98140), X1: u8(0), X2: u8(24), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98156), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(4)}, XPragmaName{X0: str(98176), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(8)}, XPragmaName{X0: str(98188), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(8192)}, XPragmaName{X0: str(98216), X1: u8(15), X2: u8(3), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98236), X1: u8(16), X2: u8(97), X3: u8(12), X4: u8(3), X5: u32(0)}, XPragmaName{X0: str(98248), X1: u8(17), X2: u8(97), X3: u8(21), X4: u8(5), X5: u32(0)}, XPragmaName{X0: str(98260), X1: u8(16), X2: u8(97), X3: u8(15), X4: u8(6), X5: u32(1)}, XPragmaName{X0: str(98272), X1: u8(18), X2: u8(1), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98288), X1: u8(19), X2: u8(145), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98304), X1: u8(20), X2: u8(144), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98324), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(32768)}, XPragmaName{X0: str(98344), X1: u8(41), X2: u8(16), X3: u8(47), X4: u8(2), X5: u32(0)}, XPragmaName{X0: str(98356), X1: u8(22), X2: u8(144), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98372), X1: u8(23), X2: u8(145), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98388), X1: u8(24), X2: u8(0), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98400), X1: u8(25), X2: u8(32), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98412), X1: u8(23), X2: u8(145), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98424), X1: u8(26), X2: u8(148), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98436), X1: u8(42), X2: u8(0), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98452), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(67108864)}, XPragmaName{X0: str(98464), X1: u8(18), X2: u8(1), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98476), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(16384)}, XPragmaName{X0: str(98496), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(262144)}, XPragmaName{X0: str(98516), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(131072)}, XPragmaName{X0: str(98544), X1: u8(0), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1)}, XPragmaName{X0: str(98560), X1: u8(27), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98576), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(64)}, XPragmaName{X0: str(98596), X1: u8(28), X2: u8(2), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98612), X1: u8(29), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98628), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(512)}, XPragmaName{X0: str(98640), X1: u8(43), X2: u8(145), X3: u8(7), X4: u8(5), X5: u32(0)}, XPragmaName{X0: str(98648), X1: u8(30), X2: u8(149), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98660), X1: u8(31), X2: u8(97), X3: u8(1), X4: u8(6), X5: u32(0)}, XPragmaName{X0: str(98672), X1: u8(32), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98684), X1: u8(33), X2: u8(4), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98708), X1: u8(34), X2: u8(16), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98716), X1: u8(0), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(6)}, XPragmaName{X0: str(98732), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(4096)}, XPragmaName{X0: str(98748), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1537)}, XPragmaName{X0: str(98760), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(134217728)}, XPragmaName{X0: str(98772), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1024)}, XPragmaName{X0: str(98788), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(1)}, XPragmaName{X0: str(98800), X1: u8(35), X2: u8(0), X3: u8(0), X4: u8(0), X5: u32(0)}, XPragmaName{X0: str(98820), X1: u8(36), X2: u8(1), X3: u8(43), X4: u8(3), X5: u32(0)}, XPragmaName{X0: str(98836), X1: u8(2), X2: u8(20), X3: u8(0), X4: u8(0), X5: u32(67584)}} 97554 } 97555 97556 var _pragmaVtabModule Xsqlite3_module // sqlite3.c:115346:29 97557 97558 func init() { 97559 _pragmaVtabModule = Xsqlite3_module{X0: i32(0), X1: nil, X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32)(unsafe.Pointer(&struct { 97560 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 97561 }{_pragmaVtabConnect})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97562 f func(*crt.TLS, *Xsqlite3_vtab, *Xsqlite3_index_info) int32 97563 }{_pragmaVtabBestIndex})), X4: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97564 f func(*crt.TLS, *Xsqlite3_vtab) int32 97565 }{_pragmaVtabDisconnect})), X5: nil, X6: *(*func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97566 f func(*crt.TLS, *Xsqlite3_vtab, **Xsqlite3_file) int32 97567 }{_pragmaVtabOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97568 f func(*crt.TLS, *Xsqlite3_file) int32 97569 }{_pragmaVtabClose})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97570 f func(*crt.TLS, *Xsqlite3_file, int32, *int8, int32, **XMem) int32 97571 }{_pragmaVtabFilter})), X9: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97572 f func(*crt.TLS, *Xsqlite3_file) int32 97573 }{_pragmaVtabNext})), X10: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 97574 f func(*crt.TLS, *Xsqlite3_file) int32 97575 }{_pragmaVtabEof})), X11: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 97576 f func(*crt.TLS, *Xsqlite3_file, *Xsqlite3_context, int32) int32 97577 }{_pragmaVtabColumn})), X12: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 97578 f func(*crt.TLS, *Xsqlite3_file, *int64) int32 97579 }{_pragmaVtabRowid})), X13: nil, X14: nil, X15: nil, X16: nil, X17: nil, X18: nil, X19: nil, X20: nil, X21: nil, X22: nil} 97580 } 97581 97582 func _pragmaVtabConnect(tls *crt.TLS, _db *Xsqlite3, _pAux unsafe.Pointer, _argc int32, _argv **int8, _ppVtab **Xsqlite3_vtab, _pzErr **int8) (r0 int32) { // sqlite3.c:115106:1 97583 var _pPragma *XPragmaName // sqlite3.c:115113:20 97584 _ = _pPragma 97585 var _pTab *XPragmaVtab // sqlite3.c:115114:14 97586 _ = _pTab 97587 var _rc int32 // sqlite3.c:115115:7 97588 _ = _rc 97589 var _i int32 // sqlite3.c:115116:7 97590 _ = _i 97591 var _j int32 // sqlite3.c:115116:10 97592 _ = _j 97593 var _cSep int8 // sqlite3.c:115117:8 97594 _ = _cSep 97595 var _acc XStrAccum // sqlite3.c:115118:12 97596 _ = _acc 97597 var _zBuf [200]int8 // sqlite3.c:115119:8 97598 _ = _zBuf 97599 _pPragma = (*XPragmaName)(unsafe.Pointer(_pAux)) 97600 _pTab = nil 97601 _cSep = i8(40) 97602 97603 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(&_zBuf)), int32(u32(200)), i32(0)) 97604 _sqlite3StrAccumAppendAll(tls, &_acc, str(98852)) 97605 *func() *int32 { _i = i32(0); return &_j }() = int32(_pPragma.X3) 97606 _0: 97607 if _i >= int32(_pPragma.X4) { 97608 goto _3 97609 } 97610 97611 _sqlite3XPrintf(tls, &_acc, str(98868), int32(_cSep), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pragCName)) + 4*uintptr(_j))))) 97612 _cSep = int8(i32(44)) 97613 *func() *int32 { _i += 1; return &_j }() += 1 97614 goto _0 97615 97616 _3: 97617 if _i != i32(0) { 97618 goto _4 97619 } 97620 97621 _sqlite3XPrintf(tls, &_acc, str(98876), unsafe.Pointer(_pPragma.X0)) 97622 _cSep = int8(i32(44)) 97623 _i += 1 97624 _4: 97625 _j = i32(0) 97626 if (int32(_pPragma.X2) & i32(32)) == 0 { 97627 goto _5 97628 } 97629 97630 _sqlite3StrAccumAppendAll(tls, &_acc, str(98884)) 97631 _j += 1 97632 _5: 97633 if (int32(_pPragma.X2) & i32(192)) == 0 { 97634 goto _6 97635 } 97636 97637 _sqlite3StrAccumAppendAll(tls, &_acc, str(98896)) 97638 _j += 1 97639 _6: 97640 _sqlite3StrAccumAppend(tls, &_acc, str(39920), i32(1)) 97641 _sqlite3StrAccumFinish(tls, &_acc) 97642 func() int32 { 97643 if crt.Xstrlen(tls, (*int8)(unsafe.Pointer(&_zBuf))) < u32(199) { 97644 return i32(0) 97645 } 97646 return func() int32 { 97647 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115145), unsafe.Pointer((*int8)(unsafe.Pointer(&_pragmaVtabConnectØ00__func__Ø000))), unsafe.Pointer(str(98912))) 97648 crt.X__builtin_abort(tls) 97649 return i32(0) 97650 }() 97651 }() 97652 _rc = Xsqlite3_declare_vtab(tls, _db, (*int8)(unsafe.Pointer(&_zBuf))) 97653 if _rc != i32(0) { 97654 goto _9 97655 } 97656 97657 _pTab = (*XPragmaVtab)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u32(24))))) 97658 if _pTab != (*XPragmaVtab)(unsafe.Pointer(uintptr(i32(0)))) { 97659 goto _10 97660 } 97661 97662 _rc = i32(7) 97663 goto _11 97664 97665 _10: 97666 crt.Xmemset(tls, (unsafe.Pointer)(_pTab), i32(0), u32(24)) 97667 *(**XPragmaName)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(16 /* X2 */))))) = _pPragma 97668 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(12 /* X1 */))))) = _db 97669 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(21 /* X4 */))) = uint8(_i) 97670 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(20 /* X3 */))) = uint8(_j) 97671 _11: 97672 goto _12 97673 97674 _9: 97675 *_pzErr = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(Xsqlite3_errmsg(tls, _db))) 97676 _12: 97677 *_ppVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_pTab)) 97678 r0 = _rc 97679 return 97680 97681 } 97682 97683 func _sqlite3StrAccumAppendAll(tls *crt.TLS, _p *XStrAccum, _z *int8) { // sqlite3.c:25896:1 97684 _sqlite3StrAccumAppend(tls, _p, _z, _sqlite3Strlen30(tls, _z)) 97685 return 97686 97687 } 97688 97689 var _pragCName [49]*int8 // sqlite3.c:112439:19 97690 97691 func init() { 97692 _pragCName = [49]*int8{str(97820), str(98944), str(98948), str(98956), str(98964), str(98972), str(98984), str(98988), str(98992), str(98996), str(99004), str(99012), str(99020), str(98944), str(98948), str(99020), str(98944), str(98948), str(99028), str(99036), str(99044), str(99048), str(98948), str(99052), str(99060), str(99068), str(99048), str(98948), str(99076), str(99048), str(98948), str(99084), str(99048), str(99088), str(27736), str(99096), str(99100), str(99112), str(99124), str(99088), str(28688), str(99132), str(99140), str(99148), str(99156), str(99160), str(99176), str(99184), str(99196)} 97693 } 97694 97695 var _pragmaVtabConnectØ00__func__Ø000 [18]int8 // - 97696 97697 func init() { 97698 crt.Xstrncpy(nil, &_pragmaVtabConnectØ00__func__Ø000[0], str(99204), 18) 97699 } 97700 97701 func _pragmaVtabBestIndex(tls *crt.TLS, _tab *Xsqlite3_vtab, _pIdxInfo *Xsqlite3_index_info) (r0 int32) { // sqlite3.c:115182:1 97702 var _pTab *XPragmaVtab // sqlite3.c:115183:14 97703 _ = _pTab 97704 var _pConstraint *T8763263 // sqlite3.c:115184:41 97705 _ = _pConstraint 97706 var _i int32 // sqlite3.c:115185:7 97707 _ = _i 97708 var _j int32 // sqlite3.c:115185:10 97709 _ = _j 97710 var _seen [2]int32 // sqlite3.c:115186:7 97711 _ = _seen 97712 _pTab = (*XPragmaVtab)(unsafe.Pointer(_tab)) 97713 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(36 /* X9 */))) = float64(1) 97714 if int32(_pTab.X3) != i32(0) { 97715 goto _0 97716 } 97717 97718 r0 = i32(0) 97719 return 97720 97721 _0: 97722 _pConstraint = (*T8763263)(unsafe.Pointer(_pIdxInfo.X1)) 97723 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(0)))) = i32(0) 97724 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(1)))) = i32(0) 97725 _i = i32(0) 97726 _1: 97727 if _i >= (_pIdxInfo.X0) { 97728 goto _4 97729 } 97730 97731 if int32(_pConstraint.X2) != i32(0) { 97732 goto _5 97733 } 97734 97735 goto _2 97736 97737 _5: 97738 if int32(_pConstraint.X1) == i32(2) { 97739 goto _6 97740 } 97741 97742 goto _2 97743 97744 _6: 97745 if (_pConstraint.X0) >= int32(_pTab.X4) { 97746 goto _7 97747 } 97748 97749 goto _2 97750 97751 _7: 97752 _j = (_pConstraint.X0) - int32(_pTab.X4) 97753 func() int32 { 97754 if _j < i32(2) { 97755 return i32(0) 97756 } 97757 return func() int32 { 97758 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115198), unsafe.Pointer((*int8)(unsafe.Pointer(&_pragmaVtabBestIndexØ00__func__Ø000))), unsafe.Pointer(str(99224))) 97759 crt.X__builtin_abort(tls) 97760 return i32(0) 97761 }() 97762 }() 97763 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(_j))) = _i + i32(1) 97764 _2: 97765 *(*uintptr)(unsafe.Pointer(func() **T8763263 { _i += 1; return &_pConstraint }())) += uintptr(12) 97766 goto _1 97767 97768 _4: 97769 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(0))))) != i32(0) { 97770 goto _10 97771 } 97772 97773 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(36 /* X9 */))) = 2.147483647e+09 97774 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(44 /* X10 */))) = int64(i32(2147483647)) 97775 r0 = i32(0) 97776 return 97777 97778 _10: 97779 _j = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(0))))) - i32(1) 97780 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763350)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(0 /* X0 */))) = i32(1) 97781 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763350)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(1)) 97782 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(1))))) != i32(0) { 97783 goto _11 97784 } 97785 97786 r0 = i32(0) 97787 return 97788 97789 _11: 97790 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(36 /* X9 */))) = float64(20) 97791 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(44 /* X10 */))) = int64(i32(20)) 97792 _j = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_seen)) + 4*uintptr(i32(1))))) - i32(1) 97793 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763350)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(0 /* X0 */))) = i32(2) 97794 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763350)(unsafe.Pointer(uintptr(_pIdxInfo.X4)+8*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(1)) 97795 r0 = i32(0) 97796 return 97797 97798 } 97799 97800 var _pragmaVtabBestIndexØ00__func__Ø000 [20]int8 // - 97801 97802 func init() { 97803 crt.Xstrncpy(nil, &_pragmaVtabBestIndexØ00__func__Ø000[0], str(99232), 20) 97804 } 97805 97806 func _pragmaVtabDisconnect(tls *crt.TLS, _pVtab *Xsqlite3_vtab) (r0 int32) { // sqlite3.c:115169:1 97807 var _pTab *XPragmaVtab // sqlite3.c:115170:14 97808 _ = _pTab 97809 _pTab = (*XPragmaVtab)(unsafe.Pointer(_pVtab)) 97810 Xsqlite3_free(tls, (unsafe.Pointer)(_pTab)) 97811 r0 = i32(0) 97812 return 97813 97814 } 97815 97816 func _pragmaVtabOpen(tls *crt.TLS, _pVtab *Xsqlite3_vtab, _ppCursor **Xsqlite3_file) (r0 int32) { // sqlite3.c:115219:1 97817 var _pCsr *XPragmaVtabCursor // sqlite3.c:115220:20 97818 _ = _pCsr 97819 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u32(24))))) 97820 if _pCsr != (*XPragmaVtabCursor)(unsafe.Pointer(uintptr(i32(0)))) { 97821 goto _0 97822 } 97823 97824 r0 = i32(7) 97825 return 97826 97827 _0: 97828 crt.Xmemset(tls, (unsafe.Pointer)(_pCsr), i32(0), u32(24)) 97829 *(**Xsqlite3_vtab)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_file)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(0 /* X0 */))))) + uintptr(0 /* X0 */))))) = _pVtab 97830 *_ppCursor = (*Xsqlite3_file)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(0 /* X0 */))) 97831 r0 = i32(0) 97832 return 97833 97834 } 97835 97836 func _pragmaVtabClose(tls *crt.TLS, _cur *Xsqlite3_file) (r0 int32) { // sqlite3.c:115241:1 97837 var _pCsr *XPragmaVtabCursor // sqlite3.c:115242:20 97838 _ = _pCsr 97839 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_cur)) 97840 _pragmaVtabCursorClear(tls, _pCsr) 97841 Xsqlite3_free(tls, (unsafe.Pointer)(_pCsr)) 97842 r0 = i32(0) 97843 return 97844 97845 } 97846 97847 func _pragmaVtabCursorClear(tls *crt.TLS, _pCsr *XPragmaVtabCursor) { // sqlite3.c:115230:1 97848 var _i int32 // sqlite3.c:115231:7 97849 _ = _i 97850 Xsqlite3_finalize(tls, _pCsr.X1) 97851 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(4 /* X1 */))) = (unsafe.Pointer)(uintptr(i32(0))) 97852 _i = i32(0) 97853 _0: 97854 if _i >= i32(2) { 97855 goto _3 97856 } 97857 97858 Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(_i))))) 97859 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(_i))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 97860 _i += 1 97861 goto _0 97862 97863 _3: 97864 return 97865 97866 } 97867 97868 func _pragmaVtabFilter(tls *crt.TLS, _pVtabCursor *Xsqlite3_file, _idxNum int32, _idxStr *int8, _argc int32, _argv **XMem) (r0 int32) { // sqlite3.c:115267:1 97869 var _pCsr *XPragmaVtabCursor // sqlite3.c:115272:20 97870 _ = _pCsr 97871 var _pTab *XPragmaVtab // sqlite3.c:115273:14 97872 _ = _pTab 97873 var _rc int32 // sqlite3.c:115274:7 97874 _ = _rc 97875 var _i int32 // sqlite3.c:115275:7 97876 _ = _i 97877 var _j int32 // sqlite3.c:115275:10 97878 _ = _j 97879 var _acc XStrAccum // sqlite3.c:115276:12 97880 _ = _acc 97881 var _zSql *int8 // sqlite3.c:115277:8 97882 _ = _zSql 97883 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) 97884 _pTab = (*XPragmaVtab)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVtabCursor.X0)))) 97885 97886 _pragmaVtabCursorClear(tls, _pCsr) 97887 _j = func() int32 { 97888 if (int32((*XPragmaName)(unsafe.Pointer(_pTab.X2)).X2) & i32(32)) != i32(0) { 97889 return i32(0) 97890 } 97891 return i32(1) 97892 }() 97893 _i = i32(0) 97894 _2: 97895 if _i >= _argc { 97896 goto _5 97897 } 97898 97899 func() int32 { 97900 if _j < i32(2) { 97901 return i32(0) 97902 } 97903 return func() int32 { 97904 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115284), unsafe.Pointer((*int8)(unsafe.Pointer(&_pragmaVtabFilterØ00__func__Ø000))), unsafe.Pointer(str(99252))) 97905 crt.X__builtin_abort(tls) 97906 return i32(0) 97907 }() 97908 }() 97909 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(_j))) = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))))) 97910 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(_j)))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 97911 goto _8 97912 } 97913 97914 r0 = i32(7) 97915 return 97916 97917 _8: 97918 *func() *int32 { _i += 1; return &_j }() += 1 97919 goto _2 97920 97921 _5: 97922 _sqlite3StrAccumInit(tls, &_acc, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pTab.X1)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(1))))) 97923 _sqlite3StrAccumAppendAll(tls, &_acc, str(99280)) 97924 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(i32(1))))) == nil { 97925 goto _9 97926 } 97927 97928 _sqlite3XPrintf(tls, &_acc, str(99288), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(i32(1)))))) 97929 _9: 97930 _sqlite3StrAccumAppendAll(tls, &_acc, (*XPragmaName)(unsafe.Pointer(_pTab.X2)).X0) 97931 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(i32(0))))) == nil { 97932 goto _10 97933 } 97934 97935 _sqlite3XPrintf(tls, &_acc, str(99292), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(i32(0)))))) 97936 _10: 97937 _zSql = _sqlite3StrAccumFinish(tls, &_acc) 97938 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 97939 goto _11 97940 } 97941 97942 r0 = i32(7) 97943 return 97944 97945 _11: 97946 _rc = Xsqlite3_prepare_v2(tls, (*Xsqlite3)(unsafe.Pointer(_pTab.X1)), _zSql, i32(-1), (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(4 /* X1 */))), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 97947 Xsqlite3_free(tls, (unsafe.Pointer)(_zSql)) 97948 if _rc == i32(0) { 97949 goto _12 97950 } 97951 97952 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_vtab)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab))+uintptr(0 /* X0 */))))) + uintptr(8 /* X2 */))) = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(Xsqlite3_errmsg(tls, (*Xsqlite3)(unsafe.Pointer(_pTab.X1))))) 97953 r0 = _rc 97954 return 97955 97956 _12: 97957 r0 = _pragmaVtabNext(tls, _pVtabCursor) 97958 return 97959 97960 } 97961 97962 var _pragmaVtabFilterØ00__func__Ø000 [17]int8 // - 97963 97964 func init() { 97965 crt.Xstrncpy(nil, &_pragmaVtabFilterØ00__func__Ø000[0], str(99296), 17) 97966 } 97967 97968 func _pragmaVtabNext(tls *crt.TLS, _pVtabCursor *Xsqlite3_file) (r0 int32) { // sqlite3.c:115249:1 97969 var _pCsr *XPragmaVtabCursor // sqlite3.c:115250:20 97970 _ = _pCsr 97971 var _rc int32 // sqlite3.c:115251:7 97972 _ = _rc 97973 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) 97974 _rc = i32(0) 97975 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(8 /* X2 */))) += 1 97976 func() int32 { 97977 if (_pCsr.X1) != nil { 97978 return i32(0) 97979 } 97980 return func() int32 { 97981 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(115255), unsafe.Pointer((*int8)(unsafe.Pointer(&_pragmaVtabNextØ00__func__Ø000))), unsafe.Pointer(str(99316))) 97982 crt.X__builtin_abort(tls) 97983 return i32(0) 97984 }() 97985 }() 97986 if i32(100) == Xsqlite3_step(tls, _pCsr.X1) { 97987 goto _2 97988 } 97989 97990 _rc = Xsqlite3_finalize(tls, _pCsr.X1) 97991 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr)) + uintptr(4 /* X1 */))) = (unsafe.Pointer)(uintptr(i32(0))) 97992 _pragmaVtabCursorClear(tls, _pCsr) 97993 _2: 97994 r0 = _rc 97995 return 97996 97997 } 97998 97999 var _pragmaVtabNextØ00__func__Ø000 [15]int8 // - 98000 98001 func init() { 98002 crt.Xstrncpy(nil, &_pragmaVtabNextØ00__func__Ø000[0], str(99332), 15) 98003 } 98004 98005 func _pragmaVtabEof(tls *crt.TLS, _pVtabCursor *Xsqlite3_file) (r0 int32) { // sqlite3.c:115313:1 98006 var _pCsr *XPragmaVtabCursor // sqlite3.c:115314:20 98007 _ = _pCsr 98008 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) 98009 r0 = bool2int(unsafe.Pointer(_pCsr.X1) == (unsafe.Pointer)(uintptr(i32(0)))) 98010 return 98011 98012 } 98013 98014 func _pragmaVtabColumn(tls *crt.TLS, _pVtabCursor *Xsqlite3_file, _ctx *Xsqlite3_context, _i int32) (r0 int32) { // sqlite3.c:115321:1 98015 var _pCsr *XPragmaVtabCursor // sqlite3.c:115326:20 98016 _ = _pCsr 98017 var _pTab *XPragmaVtab // sqlite3.c:115327:14 98018 _ = _pTab 98019 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) 98020 _pTab = (*XPragmaVtab)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVtabCursor.X0)))) 98021 if _i >= int32(_pTab.X4) { 98022 goto _0 98023 } 98024 98025 Xsqlite3_result_value(tls, _ctx, Xsqlite3_column_value(tls, _pCsr.X1, _i)) 98026 goto _1 98027 98028 _0: 98029 Xsqlite3_result_text(tls, _ctx, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(16 /* X3 */))))) + 4*uintptr(_i-int32(_pTab.X4)))), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 98030 _1: 98031 r0 = i32(0) 98032 return 98033 98034 } 98035 98036 func Xsqlite3_result_value(tls *crt.TLS, _pCtx *Xsqlite3_context, _pValue *XMem) { // sqlite3.c:76444:12 98037 func() int32 { 98038 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 98039 return i32(0) 98040 } 98041 return func() int32 { 98042 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76445), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_valueØ00__func__Ø000))), unsafe.Pointer(str(6312))) 98043 crt.X__builtin_abort(tls) 98044 return i32(0) 98045 }() 98046 }() 98047 _sqlite3VdbeMemCopy(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _pValue) 98048 return 98049 98050 } 98051 98052 var _sqlite3_result_valueØ00__func__Ø000 [21]int8 // - 98053 98054 func init() { 98055 crt.Xstrncpy(nil, &_sqlite3_result_valueØ00__func__Ø000[0], str(99348), 21) 98056 } 98057 98058 func _pragmaVtabRowid(tls *crt.TLS, _pVtabCursor *Xsqlite3_file, _p *int64) (r0 int32) { // sqlite3.c:115339:1 98059 var _pCsr *XPragmaVtabCursor // sqlite3.c:115340:20 98060 _ = _pCsr 98061 _pCsr = (*XPragmaVtabCursor)(unsafe.Pointer(_pVtabCursor)) 98062 *_p = _pCsr.X2 98063 r0 = i32(0) 98064 return 98065 98066 } 98067 98068 func _sqlite3VtabEponymousTableInit(tls *crt.TLS, _pParse *XParse, _pMod *XModule) (r0 int32) { // sqlite3.c:125659:1 98069 var _pModule *Xsqlite3_module // sqlite3.c:125660:24 98070 _ = _pModule 98071 var _pTab *XTable // sqlite3.c:125661:9 98072 _ = _pTab 98073 var _zErr *int8 // sqlite3.c:125662:8 98074 _ = _zErr 98075 var _rc int32 // sqlite3.c:125663:7 98076 _ = _rc 98077 var _db *Xsqlite3 // sqlite3.c:125664:11 98078 _ = _db 98079 _pModule = (*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)) 98080 _zErr = nil 98081 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 98082 if (*XTable)(unsafe.Pointer(_pMod.X4)) == nil { 98083 goto _0 98084 } 98085 98086 r0 = i32(1) 98087 return 98088 98089 _0: 98090 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 98091 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 98092 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 98093 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 98094 }{(_pModule.X1)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 98095 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 98096 }{nil})) || *(*unsafe.Pointer)(unsafe.Pointer(&struct { 98097 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 98098 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 98099 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 98100 }{(_pModule.X1)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 98101 f func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32 98102 }{(*(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 98103 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 98104 }{(_pModule.X2)})))})) { 98105 goto _2 98106 } 98107 98108 r0 = i32(0) 98109 return 98110 98111 _2: 98112 _pTab = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80))))) 98113 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 98114 goto _3 98115 } 98116 98117 r0 = i32(0) 98118 return 98119 98120 _3: 98121 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _pMod.X1) 98122 if (_pTab.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 98123 goto _4 98124 } 98125 98126 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pTab)) 98127 r0 = i32(0) 98128 return 98129 98130 _4: 98131 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMod)) + uintptr(16 /* X4 */))))) = _pTab 98132 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 98133 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(72 /* X20 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(i32(0)))).X4)) 98134 func() int32 { 98135 if (_pTab.X16) == i32(0) { 98136 return i32(0) 98137 } 98138 return func() int32 { 98139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125677), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabEponymousTableInitØ00__func__Ø000))), unsafe.Pointer(str(99372))) 98140 crt.X__builtin_abort(tls) 98141 return i32(0) 98142 }() 98143 }() 98144 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(40 /* X10 */))) = int16(i32(-1)) 98145 _addModuleArgument(tls, _db, _pTab, _sqlite3DbStrDup(tls, _db, _pTab.X0)) 98146 _addModuleArgument(tls, _db, _pTab, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 98147 _addModuleArgument(tls, _db, _pTab, _sqlite3DbStrDup(tls, _db, _pTab.X0)) 98148 _rc = _vtabCallConstructor(tls, _db, _pTab, _pMod, *(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 98149 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 98150 }{(_pModule.X2)})), &_zErr) 98151 if _rc == 0 { 98152 goto _7 98153 } 98154 98155 _sqlite3ErrorMsg(tls, _pParse, str(25612), unsafe.Pointer(_zErr)) 98156 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 98157 _sqlite3VtabEponymousTableClear(tls, _db, _pMod) 98158 r0 = i32(0) 98159 return 98160 98161 _7: 98162 r0 = i32(1) 98163 return 98164 98165 } 98166 98167 var _sqlite3VtabEponymousTableInitØ00__func__Ø000 [30]int8 // - 98168 98169 func init() { 98170 crt.Xstrncpy(nil, &_sqlite3VtabEponymousTableInitØ00__func__Ø000[0], str(99392), 30) 98171 } 98172 98173 func _addModuleArgument(tls *crt.TLS, _db *Xsqlite3, _pTable *XTable, _zArg *int8) { // sqlite3.c:124828:1 98174 var _nBytes int32 // sqlite3.c:124829:7 98175 _ = _nBytes 98176 var _azModuleArg **int8 // sqlite3.c:124830:8 98177 _ = _azModuleArg 98178 var _2_i int32 // sqlite3.c:124835:9 98179 _ = _2_i 98180 _nBytes = int32(u32(4) * uint32(i32(2)+(_pTable.X16))) 98181 _azModuleArg = (**int8)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pTable.X17), uint64(_nBytes)))) 98182 if _azModuleArg != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 98183 goto _0 98184 } 98185 98186 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zArg)) 98187 goto _1 98188 98189 _0: 98190 _2_i = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(56 /* X16 */))), int32(1)) 98191 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azModuleArg)) + 4*uintptr(_2_i))) = _zArg 98192 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azModuleArg)) + 4*uintptr(_2_i+i32(1)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 98193 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(60 /* X17 */))) = _azModuleArg 98194 _1: 98195 return 98196 98197 } 98198 98199 func _sqlite3ViewGetColumnNames(tls *crt.TLS, _pParse *XParse, _pTable *XTable) (r0 int32) { // sqlite3.c:101598:1 98200 var _pSelTab *XTable // sqlite3.c:101599:9 98201 _ = _pSelTab 98202 var _pSel *XSelect // sqlite3.c:101600:10 98203 _ = _pSel 98204 var _nErr int32 // sqlite3.c:101601:7 98205 _ = _nErr 98206 var _n int32 // sqlite3.c:101602:7 98207 _ = _n 98208 var _db *Xsqlite3 // sqlite3.c:101603:11 98209 _ = _db 98210 var _xAuth func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 // sqlite3.c:101605:17 98211 _ = _xAuth 98212 _nErr = i32(0) 98213 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 98214 func() int32 { 98215 if _pTable != nil { 98216 return i32(0) 98217 } 98218 return func() int32 { 98219 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101608), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ViewGetColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(99424))) 98220 crt.X__builtin_abort(tls) 98221 return i32(0) 98222 }() 98223 }() 98224 if _sqlite3VtabCallConnect(tls, _pParse, _pTable) == 0 { 98225 goto _2 98226 } 98227 98228 r0 = i32(1) 98229 return 98230 98231 _2: 98232 if (_pTable.X16) == 0 { 98233 goto _3 98234 } 98235 98236 r0 = i32(0) 98237 return 98238 98239 _3: 98240 if int32(_pTable.X11) <= i32(0) { 98241 goto _4 98242 } 98243 98244 r0 = i32(0) 98245 return 98246 98247 _4: 98248 if int32(_pTable.X11) >= i32(0) { 98249 goto _5 98250 } 98251 98252 _sqlite3ErrorMsg(tls, _pParse, str(99432), unsafe.Pointer(_pTable.X0)) 98253 r0 = i32(1) 98254 return 98255 98256 _5: 98257 func() int32 { 98258 if int32(_pTable.X11) >= i32(0) { 98259 return i32(0) 98260 } 98261 return func() int32 { 98262 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101642), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ViewGetColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(99464))) 98263 crt.X__builtin_abort(tls) 98264 return i32(0) 98265 }() 98266 }() 98267 func() int32 { 98268 if (*XSelect)(unsafe.Pointer(_pTable.X3)) != nil { 98269 return i32(0) 98270 } 98271 return func() int32 { 98272 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101651), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ViewGetColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(99480))) 98273 crt.X__builtin_abort(tls) 98274 return i32(0) 98275 }() 98276 }() 98277 _pSel = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pTable.X3)), i32(0)) 98278 if _pSel == nil { 98279 goto _10 98280 } 98281 98282 _n = _pParse.X17 98283 _sqlite3SrcListAssignCursors(tls, _pParse, (*XSrcList)(unsafe.Pointer(_pSel.X8))) 98284 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(42 /* X11 */))) = int16(i32(-1)) 98285 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 98286 _xAuth = _db.X59 98287 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(292 /* X59 */))) = nil 98288 _pSelTab = _sqlite3ResultSetOfSelect(tls, _pParse, _pSel) 98289 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(292 /* X59 */))) = _xAuth 98290 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = _n 98291 if (*XExprList)(unsafe.Pointer(_pTable.X6)) == nil { 98292 goto _11 98293 } 98294 98295 _sqlite3ColumnsFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pTable.X6)), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(42 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable))+uintptr(4 /* X1 */)))))) 98296 if int32(_db.X17) != i32(0) || (_pParse.X16) != i32(0) || int32(_pTable.X11) != ((*XExprList)(unsafe.Pointer(_pSel.X0)).X0) { 98297 goto _14 98298 } 98299 98300 _sqlite3SelectAddColumnTypeAndCollation(tls, _pParse, _pTable, _pSel) 98301 _14: 98302 goto _15 98303 98304 _11: 98305 if _pSelTab == nil { 98306 goto _16 98307 } 98308 98309 func() int32 { 98310 if (*XColumn)(unsafe.Pointer(_pTable.X1)) == (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { 98311 return i32(0) 98312 } 98313 return func() int32 { 98314 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101686), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ViewGetColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(99496))) 98315 crt.X__builtin_abort(tls) 98316 return i32(0) 98317 }() 98318 }() 98319 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(42 /* X11 */))) = _pSelTab.X11 98320 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_pSelTab.X1)) 98321 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelTab)) + uintptr(42 /* X11 */))) = int16(i32(0)) 98322 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelTab)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 98323 func() int32 { 98324 if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pTable.X20))) != 0 { 98325 return i32(0) 98326 } 98327 return func() int32 { 98328 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101691), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ViewGetColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(99512))) 98329 crt.X__builtin_abort(tls) 98330 return i32(0) 98331 }() 98332 }() 98333 goto _21 98334 98335 _16: 98336 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(42 /* X11 */))) = int16(i32(0)) 98337 _nErr += 1 98338 _21: 98339 _15: 98340 _sqlite3DeleteTable(tls, _db, _pSelTab) 98341 _sqlite3SelectDelete(tls, _db, _pSel) 98342 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) -= 1 98343 goto _22 98344 98345 _10: 98346 _nErr += 1 98347 _22: 98348 { 98349 p := (*uint16)(unsafe.Pointer(uintptr(_pTable.X20) + uintptr(78 /* X9 */))) 98350 *p = uint16(int32(*p) | i32(2)) 98351 sink6908 = *p 98352 } 98353 r0 = _nErr 98354 return 98355 98356 } 98357 98358 var _sqlite3ViewGetColumnNamesØ00__func__Ø000 [26]int8 // - 98359 98360 func init() { 98361 crt.Xstrncpy(nil, &_sqlite3ViewGetColumnNamesØ00__func__Ø000[0], str(99560), 26) 98362 } 98363 98364 func _sqlite3VtabCallConnect(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 int32) { // sqlite3.c:125148:1 98365 var _db *Xsqlite3 // sqlite3.c:125149:11 98366 _ = _db 98367 var _zMod *int8 // sqlite3.c:125150:14 98368 _ = _zMod 98369 var _pMod *XModule // sqlite3.c:125151:10 98370 _ = _pMod 98371 var _rc int32 // sqlite3.c:125152:7 98372 _ = _rc 98373 var _2_zModule *int8 // sqlite3.c:125164:16 98374 _ = _2_zModule 98375 var _3_zErr *int8 // sqlite3.c:125168:10 98376 _ = _3_zErr 98377 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 98378 func() int32 { 98379 if _pTab != nil { 98380 return i32(0) 98381 } 98382 return func() int32 { 98383 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125154), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabCallConnectØ00__func__Ø000))), unsafe.Pointer(str(99588))) 98384 crt.X__builtin_abort(tls) 98385 return i32(0) 98386 }() 98387 }() 98388 if (_pTab.X16) != 0 && _sqlite3GetVTable(tls, _db, _pTab) == nil { 98389 goto _3 98390 } 98391 98392 r0 = i32(0) 98393 return 98394 98395 _3: 98396 _zMod = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 4*uintptr(i32(0)))) 98397 _pMod = (*XModule)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */))), _zMod))) 98398 if _pMod != nil { 98399 goto _4 98400 } 98401 98402 _2_zModule = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X17)) + 4*uintptr(i32(0)))) 98403 _sqlite3ErrorMsg(tls, _pParse, str(96720), unsafe.Pointer(_2_zModule)) 98404 _rc = i32(1) 98405 goto _5 98406 98407 _4: 98408 _3_zErr = nil 98409 _rc = _vtabCallConstructor(tls, _db, _pTab, _pMod, *(*func(*crt.TLS, *Xsqlite3, unsafe.Pointer, int32, **int8, **Xsqlite3_vtab, **int8) int32)(unsafe.Pointer(&struct { 98410 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 98411 }{((*Xsqlite3_module)(unsafe.Pointer(_pMod.X0)).X2)})), &_3_zErr) 98412 if _rc == i32(0) { 98413 goto _6 98414 } 98415 98416 _sqlite3ErrorMsg(tls, _pParse, str(25612), unsafe.Pointer(_3_zErr)) 98417 _6: 98418 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_zErr)) 98419 _5: 98420 r0 = _rc 98421 return 98422 98423 } 98424 98425 var _sqlite3VtabCallConnectØ00__func__Ø000 [23]int8 // - 98426 98427 func init() { 98428 crt.Xstrncpy(nil, &_sqlite3VtabCallConnectØ00__func__Ø000[0], str(99596), 23) 98429 } 98430 98431 func _sqlite3ResultSetOfSelect(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) (r0 *XTable) { // sqlite3.c:118038:1 98432 var _pTab *XTable // sqlite3.c:118039:9 98433 _ = _pTab 98434 var _db *Xsqlite3 // sqlite3.c:118040:11 98435 _ = _db 98436 var _savedFlags int32 // sqlite3.c:118041:7 98437 _ = _savedFlags 98438 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 98439 _savedFlags = _db.X6 98440 { 98441 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 98442 *p = (*p) & i32(-5) 98443 sink961 = *p 98444 } 98445 { 98446 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 98447 *p = (*p) | i32(64) 98448 sink961 = *p 98449 } 98450 _sqlite3SelectPrep(tls, _pParse, _pSelect, (*XNameContext)(unsafe.Pointer(uintptr(i32(0))))) 98451 if (_pParse.X16) == 0 { 98452 goto _0 98453 } 98454 98455 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 98456 return 98457 98458 _0: 98459 _1: 98460 if (*XSelect)(unsafe.Pointer(_pSelect.X13)) == nil { 98461 goto _2 98462 } 98463 98464 _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X13)) 98465 goto _1 98466 98467 _2: 98468 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) = _savedFlags 98469 _pTab = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80))))) 98470 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 98471 goto _3 98472 } 98473 98474 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 98475 return 98476 98477 _3: 98478 func() int32 { 98479 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X0) != 0 { 98480 return i32(0) 98481 } 98482 return func() int32 { 98483 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118056), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResultSetOfSelectØ00__func__Ø000))), unsafe.Pointer(str(99620))) 98484 crt.X__builtin_abort(tls) 98485 return i32(0) 98486 }() 98487 }() 98488 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 98489 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 98490 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(44 /* X12 */))) = int16(i32(200)) 98491 func() int32 { 98492 if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { 98493 return i32(0) 98494 } 98495 return func() int32 { 98496 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118059), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResultSetOfSelectØ00__func__Ø000))), unsafe.Pointer(str(50808))) 98497 crt.X__builtin_abort(tls) 98498 return i32(0) 98499 }() 98500 }() 98501 _sqlite3ColumnsFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSelect.X0)), (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab))+uintptr(42 /* X11 */))), (**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab))+uintptr(4 /* X1 */)))))) 98502 _sqlite3SelectAddColumnTypeAndCollation(tls, _pParse, _pTab, _pSelect) 98503 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(40 /* X10 */))) = int16(i32(-1)) 98504 if (_db.X17) == 0 { 98505 goto _8 98506 } 98507 98508 _sqlite3DeleteTable(tls, _db, _pTab) 98509 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 98510 return 98511 98512 _8: 98513 r0 = _pTab 98514 return 98515 98516 } 98517 98518 var _sqlite3ResultSetOfSelectØ00__func__Ø000 [25]int8 // - 98519 98520 func init() { 98521 crt.Xstrncpy(nil, &_sqlite3ResultSetOfSelectØ00__func__Ø000[0], str(99644), 25) 98522 } 98523 98524 func _sqlite3SelectAddColumnTypeAndCollation(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pSelect *XSelect) { // sqlite3.c:117989:1 98525 var _db *Xsqlite3 // sqlite3.c:117994:11 98526 _ = _db 98527 var _sNC XNameContext // sqlite3.c:117995:15 98528 _ = _sNC 98529 var _pCol *XColumn // sqlite3.c:117996:10 98530 _ = _pCol 98531 var _pColl *XCollSeq // sqlite3.c:117997:11 98532 _ = _pColl 98533 var _i int32 // sqlite3.c:117998:7 98534 _ = _i 98535 var _p *XExpr // sqlite3.c:117999:8 98536 _ = _p 98537 var _a *T7850641 // sqlite3.c:118000:24 98538 _ = _a 98539 var _szAll uint64 // sqlite3.c:118001:7 98540 _ = _szAll 98541 var _1_zType *int8 // sqlite3.c:118011:16 98542 _ = _1_zType 98543 var _1_n int32 // sqlite3.c:118012:9 98544 _ = _1_n 98545 var _1_m int32 // sqlite3.c:118012:12 98546 _ = _1_m 98547 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 98548 _szAll = u64(0) 98549 func() int32 { 98550 if _pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 98551 return i32(0) 98552 } 98553 return func() int32 { 98554 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118003), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000))), unsafe.Pointer(str(99672))) 98555 crt.X__builtin_abort(tls) 98556 return i32(0) 98557 }() 98558 }() 98559 func() int32 { 98560 if ((_pSelect.X3) & uint32(i32(4))) != uint32(i32(0)) { 98561 return i32(0) 98562 } 98563 return func() int32 { 98564 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118004), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000))), unsafe.Pointer(str(99684))) 98565 crt.X__builtin_abort(tls) 98566 return i32(0) 98567 }() 98568 }() 98569 func() int32 { 98570 if (int32(_pTab.X11) == ((*XExprList)(unsafe.Pointer(_pSelect.X0)).X0)) || ((_db.X17) != 0) { 98571 return i32(0) 98572 } 98573 return func() int32 { 98574 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118005), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000))), unsafe.Pointer(str(99724))) 98575 crt.X__builtin_abort(tls) 98576 return i32(0) 98577 }() 98578 }() 98579 if (_db.X17) == 0 { 98580 goto _7 98581 } 98582 98583 return 98584 98585 _7: 98586 crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u32(32)) 98587 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(4 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_pSelect.X8)) 98588 _a = (*T7850641)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_pSelect.X0)).X1)) 98589 *func() **XColumn { _i = i32(0); return &_pCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) 98590 _8: 98591 if _i >= int32(_pTab.X11) { 98592 goto _11 98593 } 98594 98595 _p = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + 20*uintptr(_i))).X0)) 98596 _1_zType = _columnTypeImpl(tls, &_sNC, _p, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol))+uintptr(14 /* X5 */)))) 98597 { 98598 p := &_szAll 98599 *p = (*p) + uint64(_pCol.X5) 98600 sink992 = *p 98601 } 98602 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(13 /* X4 */))) = _sqlite3ExprAffinity(tls, _p) 98603 if _1_zType == nil || store961(&_1_m, _sqlite3Strlen30(tls, _1_zType)) <= i32(0) { 98604 goto _13 98605 } 98606 98607 _1_n = _sqlite3Strlen30(tls, _pCol.X0) 98608 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, _db, (unsafe.Pointer)(_pCol.X0), uint64((_1_n+_1_m)+i32(2))))) 98609 if (_pCol.X0) == nil { 98610 goto _14 98611 } 98612 98613 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol.X0))+1*uintptr(_1_n+i32(1))))), (unsafe.Pointer)(_1_zType), uint32(_1_m+i32(1))) 98614 { 98615 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(15 /* X6 */))) 98616 *p = uint8(int32(*p) | i32(4)) 98617 sink6915 = *p 98618 } 98619 _14: 98620 _13: 98621 if int32(_pCol.X4) != i32(0) { 98622 goto _15 98623 } 98624 98625 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(13 /* X4 */))) = int8(i32(65)) 98626 _15: 98627 _pColl = _sqlite3ExprCollSeq(tls, _pParse, _p) 98628 if _pColl == nil || (_pCol.X2) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 98629 goto _17 98630 } 98631 98632 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(8 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pColl.X0) 98633 _17: 98634 *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(16) 98635 goto _8 98636 98637 _11: 98638 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(46 /* X13 */))) = _sqlite3LogEst(tls, _szAll*uint64(i32(4))) 98639 return 98640 98641 } 98642 98643 var _sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000 [39]int8 // - 98644 98645 func init() { 98646 crt.Xstrncpy(nil, &_sqlite3SelectAddColumnTypeAndCollationØ00__func__Ø000[0], str(99780), 39) 98647 } 98648 98649 func _columnTypeImpl(tls *crt.TLS, _pNC *XNameContext, _pExpr *XExpr, _pEstWidth *uint8) (r0 *int8) { // sqlite3.c:117618:1 98650 var _zType *int8 // sqlite3.c:117628:14 98651 _ = _zType 98652 var _j int32 // sqlite3.c:117629:7 98653 _ = _j 98654 var _estWidth uint8 // sqlite3.c:117630:6 98655 _ = _estWidth 98656 var _2_pTab *XTable // sqlite3.c:117646:13 98657 _ = _2_pTab 98658 var _2_pS *XSelect // sqlite3.c:117647:14 98659 _ = _2_pS 98660 var _2_iCol int32 // sqlite3.c:117648:11 98661 _ = _2_iCol 98662 var _3_pTabList *XSrcList // sqlite3.c:117652:17 98663 _ = _3_pTabList 98664 var _8_sNC XNameContext // sqlite3.c:117697:23 98665 _ = _8_sNC 98666 var _8_p *XExpr // sqlite3.c:117698:16 98667 _ = _8_p 98668 var _12_sNC XNameContext // sqlite3.c:117740:19 98669 _ = _12_sNC 98670 var _12_pS *XSelect // sqlite3.c:117741:14 98671 _ = _12_pS 98672 var _12_p *XExpr // sqlite3.c:117742:12 98673 _ = _12_p 98674 _zType = nil 98675 _estWidth = u8(1) 98676 func() int32 { 98677 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 98678 return i32(0) 98679 } 98680 return func() int32 { 98681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117637), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(46040))) 98682 crt.X__builtin_abort(tls) 98683 return i32(0) 98684 }() 98685 }() 98686 func() int32 { 98687 if (*XSrcList)(unsafe.Pointer(_pNC.X1)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 98688 return i32(0) 98689 } 98690 return func() int32 { 98691 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117638), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(99820))) 98692 crt.X__builtin_abort(tls) 98693 return i32(0) 98694 }() 98695 }() 98696 switch int32(_pExpr.X0) { 98697 case i32(119): 98698 goto _7 98699 case i32(152): 98700 goto _6 98701 case i32(154): 98702 goto _5 98703 default: 98704 goto _8 98705 } 98706 98707 _5: 98708 _6: 98709 _2_pTab = nil 98710 _2_pS = nil 98711 _2_iCol = int32(_pExpr.X9) 98712 _9: 98713 if _pNC == nil || _2_pTab != nil { 98714 goto _10 98715 } 98716 98717 _3_pTabList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) 98718 _j = i32(0) 98719 _12: 98720 if _j >= (_3_pTabList.X0) || ((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 98721 X0 unsafe.Pointer 98722 X1 *int8 98723 X2 *int8 98724 X3 *int8 98725 X4 unsafe.Pointer 98726 X5 unsafe.Pointer 98727 X6 int32 98728 X7 int32 98729 X8 int32 98730 X9 struct { 98731 X0 uint8 98732 X1 int8 98733 } 98734 X10 uint8 98735 X11 int32 98736 X12 unsafe.Pointer 98737 X13 unsafe.Pointer 98738 X14 uint64 98739 X15 struct { 98740 X [0]struct { 98741 X0 *int8 98742 X1 unsafe.Pointer 98743 } 98744 U [4]byte 98745 } 98746 X16 unsafe.Pointer 98747 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(_j))).X11) == (_pExpr.X8) { 98748 goto _16 98749 } 98750 98751 _j += 1 98752 goto _12 98753 98754 _16: 98755 if _j >= (_3_pTabList.X0) { 98756 goto _17 98757 } 98758 98759 _2_pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 98760 X0 unsafe.Pointer 98761 X1 *int8 98762 X2 *int8 98763 X3 *int8 98764 X4 unsafe.Pointer 98765 X5 unsafe.Pointer 98766 X6 int32 98767 X7 int32 98768 X8 int32 98769 X9 struct { 98770 X0 uint8 98771 X1 int8 98772 } 98773 X10 uint8 98774 X11 int32 98775 X12 unsafe.Pointer 98776 X13 unsafe.Pointer 98777 X14 uint64 98778 X15 struct { 98779 X [0]struct { 98780 X0 *int8 98781 X1 unsafe.Pointer 98782 } 98783 U [4]byte 98784 } 98785 X16 unsafe.Pointer 98786 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_j))).X4)) 98787 _2_pS = (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 98788 X0 unsafe.Pointer 98789 X1 *int8 98790 X2 *int8 98791 X3 *int8 98792 X4 unsafe.Pointer 98793 X5 unsafe.Pointer 98794 X6 int32 98795 X7 int32 98796 X8 int32 98797 X9 struct { 98798 X0 uint8 98799 X1 int8 98800 } 98801 X10 uint8 98802 X11 int32 98803 X12 unsafe.Pointer 98804 X13 unsafe.Pointer 98805 X14 uint64 98806 X15 struct { 98807 X [0]struct { 98808 X0 *int8 98809 X1 unsafe.Pointer 98810 } 98811 U [4]byte 98812 } 98813 X16 unsafe.Pointer 98814 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_j))).X5)) 98815 goto _18 98816 98817 _17: 98818 _pNC = (*XNameContext)(unsafe.Pointer(_pNC.X4)) 98819 _18: 98820 goto _9 98821 98822 _10: 98823 if _2_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 98824 goto _19 98825 } 98826 98827 goto _8 98828 98829 _19: 98830 func() int32 { 98831 if (_2_pTab != nil) && ((*XTable)(unsafe.Pointer(_pExpr.X14)) == _2_pTab) { 98832 return i32(0) 98833 } 98834 return func() int32 { 98835 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117683), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(99840))) 98836 crt.X__builtin_abort(tls) 98837 return i32(0) 98838 }() 98839 }() 98840 if _2_pS == nil { 98841 goto _23 98842 } 98843 98844 if _2_iCol < i32(0) || func() int32 { 98845 if _2_iCol < ((*XExprList)(unsafe.Pointer(_2_pS.X0)).X0) { 98846 return i32(1) 98847 } 98848 return func() int32 { 98849 func() int32 { 98850 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117689), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(5204))) 98851 crt.X__builtin_abort(tls) 98852 return i32(0) 98853 }() 98854 return i32(0) 98855 }() 98856 }() == 0 { 98857 goto _27 98858 } 98859 98860 _8_p = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_2_pS.X0)).X1) + 20*uintptr(_2_iCol))).X0)) 98861 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_sNC)) + uintptr(4 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_2_pS.X8)) 98862 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_sNC)) + uintptr(16 /* X4 */))))) = _pNC 98863 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_8_sNC)) + uintptr(0 /* X0 */))))) = (*XParse)(unsafe.Pointer(_pNC.X0)) 98864 _zType = _columnTypeImpl(tls, &_8_sNC, _8_p, &_estWidth) 98865 _27: 98866 goto _28 98867 98868 _23: 98869 if (*XSchema)(unsafe.Pointer(_2_pTab.X20)) == nil { 98870 goto _29 98871 } 98872 98873 func() int32 { 98874 if _2_pS == nil { 98875 return i32(0) 98876 } 98877 return func() int32 { 98878 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117706), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(99868))) 98879 crt.X__builtin_abort(tls) 98880 return i32(0) 98881 }() 98882 }() 98883 if _2_iCol >= i32(0) { 98884 goto _32 98885 } 98886 98887 _2_iCol = int32(_2_pTab.X10) 98888 _32: 98889 func() int32 { 98890 if (_2_iCol == i32(-1)) || ((_2_iCol >= i32(0)) && (_2_iCol < int32(_2_pTab.X11))) { 98891 return i32(0) 98892 } 98893 return func() int32 { 98894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117708), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(99872))) 98895 crt.X__builtin_abort(tls) 98896 return i32(0) 98897 }() 98898 }() 98899 if _2_iCol >= i32(0) { 98900 goto _37 98901 } 98902 98903 _zType = str(27044) 98904 goto _38 98905 98906 _37: 98907 _zType = _sqlite3ColumnType(tls, (*XColumn)(unsafe.Pointer(uintptr(_2_pTab.X1)+16*uintptr(_2_iCol))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 98908 _estWidth = (*XColumn)(unsafe.Pointer(uintptr(_2_pTab.X1) + 16*uintptr(_2_iCol))).X5 98909 _38: 98910 _29: 98911 _28: 98912 goto _8 98913 98914 _7: 98915 _12_pS = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 98916 _12_p = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_12_pS.X0)).X1) + 20*uintptr(i32(0)))).X0)) 98917 func() int32 { 98918 if ((_pExpr.X2) & uint32(i32(2048))) != uint32(i32(0)) { 98919 return i32(0) 98920 } 98921 return func() int32 { 98922 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117743), unsafe.Pointer((*int8)(unsafe.Pointer(&_columnTypeImplØ00__func__Ø000))), unsafe.Pointer(str(47644))) 98923 crt.X__builtin_abort(tls) 98924 return i32(0) 98925 }() 98926 }() 98927 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sNC)) + uintptr(4 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_12_pS.X8)) 98928 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sNC)) + uintptr(16 /* X4 */))))) = _pNC 98929 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sNC)) + uintptr(0 /* X0 */))))) = (*XParse)(unsafe.Pointer(_pNC.X0)) 98930 _zType = _columnTypeImpl(tls, &_12_sNC, _12_p, &_estWidth) 98931 goto _8 98932 98933 _8: 98934 if _pEstWidth == nil { 98935 goto _41 98936 } 98937 98938 *_pEstWidth = _estWidth 98939 _41: 98940 r0 = _zType 98941 return 98942 98943 } 98944 98945 var _columnTypeImplØ00__func__Ø000 [15]int8 // - 98946 98947 func init() { 98948 crt.Xstrncpy(nil, &_columnTypeImplØ00__func__Ø000[0], str(99916), 15) 98949 } 98950 98951 func _sqlite3ExprCollSeq(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 *XCollSeq) { // sqlite3.c:90866:1 98952 var _db *Xsqlite3 // sqlite3.c:90867:11 98953 _ = _db 98954 var _pColl *XCollSeq // sqlite3.c:90868:11 98955 _ = _pColl 98956 var _p *XExpr // sqlite3.c:90869:8 98957 _ = _p 98958 var _1_op int32 // sqlite3.c:90871:9 98959 _ = _1_op 98960 var _4_j int32 // sqlite3.c:90887:11 98961 _ = _4_j 98962 var _5_zColl *int8 // sqlite3.c:90889:20 98963 _ = _5_zColl 98964 var _8_pNext *XExpr // sqlite3.c:90898:14 98965 _ = _8_pNext 98966 var _9_i int32 // sqlite3.c:90905:15 98967 _ = _9_i 98968 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 98969 _pColl = nil 98970 _p = _pExpr 98971 _0: 98972 if _p == nil { 98973 goto _1 98974 } 98975 98976 _1_op = int32(_p.X0) 98977 if ((_p.X2) & uint32(i32(512))) == 0 { 98978 goto _2 98979 } 98980 98981 goto _1 98982 98983 _2: 98984 if _1_op != i32(66) && _1_op != i32(156) { 98985 goto _4 98986 } 98987 98988 _p = (*XExpr)(unsafe.Pointer(_p.X4)) 98989 goto _0 98990 98991 _4: 98992 if _1_op != i32(53) && (_1_op != i32(157) || int32(_p.X12) != i32(53)) { 98993 goto _7 98994 } 98995 98996 _pColl = _sqlite3GetCollSeq(tls, _pParse, _db.X14, (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) 98997 goto _1 98998 98999 _7: 99000 if _1_op != i32(154) && _1_op != i32(152) && _1_op != i32(157) && _1_op != i32(88) || (*XTable)(unsafe.Pointer(_p.X14)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 99001 goto _12 99002 } 99003 99004 _4_j = int32(_p.X9) 99005 if _4_j < i32(0) { 99006 goto _13 99007 } 99008 99009 _5_zColl = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_p.X14)).X1) + 16*uintptr(_4_j))).X2 99010 _pColl = _sqlite3FindCollSeq(tls, _db, _db.X14, _5_zColl, i32(0)) 99011 _13: 99012 goto _1 99013 99014 _12: 99015 if ((_p.X2) & uint32(i32(256))) == 0 { 99016 goto _14 99017 } 99018 99019 if (*XExpr)(unsafe.Pointer(_p.X4)) == nil || (((*XExpr)(unsafe.Pointer(_p.X4)).X2)&uint32(i32(256))) == uint32(i32(0)) { 99020 goto _16 99021 } 99022 99023 _p = (*XExpr)(unsafe.Pointer(_p.X4)) 99024 goto _17 99025 99026 _16: 99027 _8_pNext = (*XExpr)(unsafe.Pointer(_p.X5)) 99028 func() int32 { 99029 if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 99030 return i32(0) 99031 } 99032 return func() int32 { 99033 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90900), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCollSeqØ00__func__Ø000))), unsafe.Pointer(str(22116))) 99034 crt.X__builtin_abort(tls) 99035 return i32(0) 99036 }() 99037 }() 99038 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || func() int32 { 99039 if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { 99040 return i32(1) 99041 } 99042 return func() int32 { 99043 func() int32 { 99044 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90904), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCollSeqØ00__func__Ø000))), unsafe.Pointer(str(5204))) 99045 crt.X__builtin_abort(tls) 99046 return i32(0) 99047 }() 99048 return i32(0) 99049 }() 99050 }() == 0 { 99051 goto _24 99052 } 99053 99054 _9_i = i32(0) 99055 _25: 99056 if func() int32 { 99057 if _9_i < ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))).X0) { 99058 return i32(1) 99059 } 99060 return func() int32 { 99061 func() int32 { 99062 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90906), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCollSeqØ00__func__Ø000))), unsafe.Pointer(str(5204))) 99063 crt.X__builtin_abort(tls) 99064 return i32(0) 99065 }() 99066 return i32(0) 99067 }() 99068 }() == 0 { 99069 goto _30 99070 } 99071 99072 if (((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_9_i))).X0)).X2) & uint32(i32(256))) == uint32(i32(0)) { 99073 goto _31 99074 } 99075 99076 _8_pNext = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_9_i))).X0)) 99077 goto _30 99078 99079 _31: 99080 _9_i += 1 99081 goto _25 99082 99083 _30: 99084 _24: 99085 _p = _8_pNext 99086 _17: 99087 goto _32 99088 99089 _14: 99090 goto _1 99091 99092 _32: 99093 goto _0 99094 99095 _1: 99096 if _sqlite3CheckCollSeq(tls, _pParse, _pColl) == 0 { 99097 goto _33 99098 } 99099 99100 _pColl = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) 99101 _33: 99102 r0 = _pColl 99103 return 99104 99105 } 99106 99107 var _sqlite3ExprCollSeqØ00__func__Ø000 [19]int8 // - 99108 99109 func init() { 99110 crt.Xstrncpy(nil, &_sqlite3ExprCollSeqØ00__func__Ø000[0], str(99932), 19) 99111 } 99112 99113 func _sqlite3CheckCollSeq(tls *crt.TLS, _pParse *XParse, _pColl *XCollSeq) (r0 int32) { // sqlite3.c:104023:1 99114 var _1_zName *int8 // sqlite3.c:104025:16 99115 _ = _1_zName 99116 var _1_db *Xsqlite3 // sqlite3.c:104026:13 99117 _ = _1_db 99118 var _1_p *XCollSeq // sqlite3.c:104027:13 99119 _ = _1_p 99120 if _pColl == nil { 99121 goto _0 99122 } 99123 99124 _1_zName = _pColl.X0 99125 _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 99126 _1_p = _sqlite3GetCollSeq(tls, _pParse, _1_db.X14, _pColl, _1_zName) 99127 if _1_p != nil { 99128 goto _1 99129 } 99130 99131 r0 = i32(1) 99132 return 99133 99134 _1: 99135 func() int32 { 99136 if _1_p == _pColl { 99137 return i32(0) 99138 } 99139 return func() int32 { 99140 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CheckCollSeqØ00__func__Ø000))), unsafe.Pointer(str(99952))) 99141 crt.X__builtin_abort(tls) 99142 return i32(0) 99143 }() 99144 }() 99145 _0: 99146 r0 = i32(0) 99147 return 99148 99149 } 99150 99151 var _sqlite3CheckCollSeqØ00__func__Ø000 [20]int8 // - 99152 99153 func init() { 99154 crt.Xstrncpy(nil, &_sqlite3CheckCollSeqØ00__func__Ø000[0], str(99964), 20) 99155 } 99156 99157 func _sqlite3IndexedByLookup(tls *crt.TLS, _pParse *XParse, _pFrom *T7840217) (r0 int32) { // sqlite3.c:120195:1 99158 var _1_pTab *XTable // sqlite3.c:120197:11 99159 _ = _1_pTab 99160 var _1_zIndexedBy *int8 // sqlite3.c:120198:10 99161 _ = _1_zIndexedBy 99162 var _1_pIdx *XIndex // sqlite3.c:120199:11 99163 _ = _1_pIdx 99164 if (*XTable)(unsafe.Pointer(_pFrom.X4)) == nil || ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(36 /* X9 */))).X1)>>uint(i32(1)))<<uint(i32(31)))>>uint(i32(31))) == 0 { 99165 goto _1 99166 } 99167 99168 _1_pTab = (*XTable)(unsafe.Pointer(_pFrom.X4)) 99169 _1_zIndexedBy = *(**int8)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(60 /* X15 */))))) 99170 _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pTab.X2)) 99171 _2: 99172 if _1_pIdx == nil || _sqlite3StrICmp(tls, _1_pIdx.X0, _1_zIndexedBy) == 0 { 99173 goto _6 99174 } 99175 99176 _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pIdx.X5)) 99177 goto _2 99178 99179 _6: 99180 if _1_pIdx != nil { 99181 goto _7 99182 } 99183 99184 _sqlite3ErrorMsg(tls, _pParse, str(99984), unsafe.Pointer(_1_zIndexedBy), i32(0)) 99185 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 99186 r0 = i32(1) 99187 return 99188 99189 _7: 99190 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(64 /* X16 */))))) = _1_pIdx 99191 _1: 99192 r0 = i32(0) 99193 return 99194 99195 } 99196 99197 func _sqliteProcessJoin(tls *crt.TLS, _pParse *XParse, _p *XSelect) (r0 int32) { // sqlite3.c:116651:1 99198 var _pSrc *XSrcList // sqlite3.c:116652:11 99199 _ = _pSrc 99200 var _i int32 // sqlite3.c:116653:7 99201 _ = _i 99202 var _j int32 // sqlite3.c:116653:10 99203 _ = _j 99204 var _pLeft *T7840217 // sqlite3.c:116654:23 99205 _ = _pLeft 99206 var _pRight *T7840217 // sqlite3.c:116655:23 99207 _ = _pRight 99208 var _1_pLeftTab *XTable // sqlite3.c:116661:11 99209 _ = _1_pLeftTab 99210 var _1_pRightTab *XTable // sqlite3.c:116662:11 99211 _ = _1_pRightTab 99212 var _1_isOuter int32 // sqlite3.c:116663:9 99213 _ = _1_isOuter 99214 var _4_zName *int8 // sqlite3.c:116678:14 99215 _ = _4_zName 99216 var _4_iLeft int32 // sqlite3.c:116679:13 99217 _ = _4_iLeft 99218 var _4_iLeftCol int32 // sqlite3.c:116680:13 99219 _ = _4_iLeftCol 99220 var _8_pList *XIdList // sqlite3.c:116715:14 99221 _ = _8_pList 99222 var _9_zName *int8 // sqlite3.c:116717:14 99223 _ = _9_zName 99224 var _9_iLeft int32 // sqlite3.c:116718:13 99225 _ = _9_iLeft 99226 var _9_iLeftCol int32 // sqlite3.c:116719:13 99227 _ = _9_iLeftCol 99228 var _9_iRightCol int32 // sqlite3.c:116720:13 99229 _ = _9_iRightCol 99230 _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) 99231 _pLeft = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 99232 X0 unsafe.Pointer 99233 X1 *int8 99234 X2 *int8 99235 X3 *int8 99236 X4 unsafe.Pointer 99237 X5 unsafe.Pointer 99238 X6 int32 99239 X7 int32 99240 X8 int32 99241 X9 struct { 99242 X0 uint8 99243 X1 int8 99244 } 99245 X10 uint8 99246 X11 int32 99247 X12 unsafe.Pointer 99248 X13 unsafe.Pointer 99249 X14 uint64 99250 X15 struct { 99251 X [0]struct { 99252 X0 *int8 99253 X1 unsafe.Pointer 99254 } 99255 U [4]byte 99256 } 99257 X16 unsafe.Pointer 99258 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))) 99259 _pRight = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLeft)) + 68*uintptr(i32(1)))) 99260 _i = i32(0) 99261 _0: 99262 if _i >= ((_pSrc.X0) - i32(1)) { 99263 goto _3 99264 } 99265 99266 _1_pLeftTab = (*XTable)(unsafe.Pointer(_pLeft.X4)) 99267 _1_pRightTab = (*XTable)(unsafe.Pointer(_pRight.X4)) 99268 if func() int32 { 99269 if (_1_pLeftTab == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) || (_1_pRightTab == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) { 99270 return func() int32 { 99271 func() int32 { 99272 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116665), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqliteProcessJoinØ00__func__Ø000))), unsafe.Pointer(str(5204))) 99273 crt.X__builtin_abort(tls) 99274 return i32(0) 99275 }() 99276 return i32(1) 99277 }() 99278 } 99279 return i32(0) 99280 }() == 0 { 99281 goto _7 99282 } 99283 99284 goto _1 99285 99286 _7: 99287 _1_isOuter = bool2int((int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight))+uintptr(36 /* X9 */))).X0) & i32(32)) != i32(0)) 99288 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight))+uintptr(36 /* X9 */))).X0) & i32(4)) == 0 { 99289 goto _8 99290 } 99291 99292 if (*XExpr)(unsafe.Pointer(_pRight.X12)) == nil && (*XIdList)(unsafe.Pointer(_pRight.X13)) == nil { 99293 goto _10 99294 } 99295 99296 _sqlite3ErrorMsg(tls, _pParse, str(100004), i32(0)) 99297 r0 = i32(1) 99298 return 99299 99300 _10: 99301 _j = i32(0) 99302 _11: 99303 if _j >= int32(_1_pRightTab.X11) { 99304 goto _14 99305 } 99306 99307 _4_zName = (*XColumn)(unsafe.Pointer(uintptr(_1_pRightTab.X1) + 16*uintptr(_j))).X0 99308 if _tableAndColumnIndex(tls, _pSrc, _i+i32(1), _4_zName, &_4_iLeft, &_4_iLeftCol) == 0 { 99309 goto _15 99310 } 99311 99312 _addWhereTerm(tls, _pParse, _pSrc, _4_iLeft, _4_iLeftCol, _i+i32(1), _j, _1_isOuter, (**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(44 /* X9 */)))))) 99313 _15: 99314 _j += 1 99315 goto _11 99316 99317 _14: 99318 _8: 99319 if (*XExpr)(unsafe.Pointer(_pRight.X12)) == nil || (*XIdList)(unsafe.Pointer(_pRight.X13)) == nil { 99320 goto _17 99321 } 99322 99323 _sqlite3ErrorMsg(tls, _pParse, str(100056)) 99324 r0 = i32(1) 99325 return 99326 99327 _17: 99328 if (*XExpr)(unsafe.Pointer(_pRight.X12)) == nil { 99329 goto _18 99330 } 99331 99332 if _1_isOuter == 0 { 99333 goto _19 99334 } 99335 99336 _setJoinExpr(tls, (*XExpr)(unsafe.Pointer(_pRight.X12)), _pRight.X11) 99337 _19: 99338 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X9 */))))) = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(_p.X9)), (*XExpr)(unsafe.Pointer(_pRight.X12))) 99339 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight)) + uintptr(44 /* X12 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 99340 _18: 99341 if (*XIdList)(unsafe.Pointer(_pRight.X13)) == nil { 99342 goto _20 99343 } 99344 99345 _8_pList = (*XIdList)(unsafe.Pointer(_pRight.X13)) 99346 _j = i32(0) 99347 _21: 99348 if _j >= (_8_pList.X1) { 99349 goto _24 99350 } 99351 99352 _9_zName = (*T8304487)(unsafe.Pointer(uintptr(_8_pList.X0) + 8*uintptr(_j))).X0 99353 _9_iRightCol = _columnIndex(tls, _1_pRightTab, _9_zName) 99354 if _9_iRightCol >= i32(0) && _tableAndColumnIndex(tls, _pSrc, _i+i32(1), _9_zName, &_9_iLeft, &_9_iLeftCol) != 0 { 99355 goto _26 99356 } 99357 99358 _sqlite3ErrorMsg(tls, _pParse, str(100112), unsafe.Pointer(_9_zName)) 99359 r0 = i32(1) 99360 return 99361 99362 _26: 99363 _addWhereTerm(tls, _pParse, _pSrc, _9_iLeft, _9_iLeftCol, _i+i32(1), _9_iRightCol, _1_isOuter, (**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(44 /* X9 */)))))) 99364 _j += 1 99365 goto _21 99366 99367 _24: 99368 _20: 99369 _1: 99370 *(*uintptr)(unsafe.Pointer(func() **T7840217 { 99371 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pRight }())) += uintptr(68) 99372 return &_pLeft 99373 }())) += uintptr(68) 99374 goto _0 99375 99376 _3: 99377 r0 = i32(0) 99378 return 99379 99380 } 99381 99382 var _sqliteProcessJoinØ00__func__Ø000 [18]int8 // - 99383 99384 func init() { 99385 crt.Xstrncpy(nil, &_sqliteProcessJoinØ00__func__Ø000[0], str(100176), 18) 99386 } 99387 99388 func _tableAndColumnIndex(tls *crt.TLS, _pSrc *XSrcList, _N int32, _zCol *int8, _piTab *int32, _piCol *int32) (r0 int32) { // sqlite3.c:116526:1 99389 var _i int32 // sqlite3.c:116533:7 99390 _ = _i 99391 var _iCol int32 // sqlite3.c:116534:7 99392 _ = _iCol 99393 func() int32 { 99394 if (_piTab == (*int32)(unsafe.Pointer(uintptr(i32(0))))) == (_piCol == (*int32)(unsafe.Pointer(uintptr(i32(0))))) { 99395 return i32(0) 99396 } 99397 return func() int32 { 99398 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116536), unsafe.Pointer((*int8)(unsafe.Pointer(&_tableAndColumnIndexØ00__func__Ø000))), unsafe.Pointer(str(100196))) 99399 crt.X__builtin_abort(tls) 99400 return i32(0) 99401 }() 99402 }() 99403 _i = i32(0) 99404 _2: 99405 if _i >= _N { 99406 goto _5 99407 } 99408 99409 _iCol = _columnIndex(tls, (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 99410 X0 unsafe.Pointer 99411 X1 *int8 99412 X2 *int8 99413 X3 *int8 99414 X4 unsafe.Pointer 99415 X5 unsafe.Pointer 99416 X6 int32 99417 X7 int32 99418 X8 int32 99419 X9 struct { 99420 X0 uint8 99421 X1 int8 99422 } 99423 X10 uint8 99424 X11 int32 99425 X12 unsafe.Pointer 99426 X13 unsafe.Pointer 99427 X14 uint64 99428 X15 struct { 99429 X [0]struct { 99430 X0 *int8 99431 X1 unsafe.Pointer 99432 } 99433 U [4]byte 99434 } 99435 X16 unsafe.Pointer 99436 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_i))).X4)), _zCol) 99437 if _iCol < i32(0) { 99438 goto _6 99439 } 99440 99441 if _piTab == nil { 99442 goto _7 99443 } 99444 99445 *_piTab = _i 99446 *_piCol = _iCol 99447 _7: 99448 r0 = i32(1) 99449 return 99450 99451 _6: 99452 _i += 1 99453 goto _2 99454 99455 _5: 99456 r0 = i32(0) 99457 return 99458 99459 } 99460 99461 var _tableAndColumnIndexØ00__func__Ø000 [20]int8 // - 99462 99463 func init() { 99464 crt.Xstrncpy(nil, &_tableAndColumnIndexØ00__func__Ø000[0], str(100220), 20) 99465 } 99466 99467 func _columnIndex(tls *crt.TLS, _pTab *XTable, _zCol *int8) (r0 int32) { // sqlite3.c:116509:1 99468 var _i int32 // sqlite3.c:116510:7 99469 _ = _i 99470 _i = i32(0) 99471 _0: 99472 if _i >= int32(_pTab.X11) { 99473 goto _3 99474 } 99475 99476 if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X0, _zCol) != i32(0) { 99477 goto _4 99478 } 99479 99480 r0 = _i 99481 return 99482 99483 _4: 99484 _i += 1 99485 goto _0 99486 99487 _3: 99488 r0 = i32(-1) 99489 return 99490 99491 } 99492 99493 func _addWhereTerm(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList, _iLeft int32, _iColLeft int32, _iRight int32, _iColRight int32, _isOuterJoin int32, _ppWhere **XExpr) { // sqlite3.c:116561:1 99494 var _db *Xsqlite3 // sqlite3.c:116571:11 99495 _ = _db 99496 var _pE1 *XExpr // sqlite3.c:116572:8 99497 _ = _pE1 99498 var _pE2 *XExpr // sqlite3.c:116573:8 99499 _ = _pE2 99500 var _pEq *XExpr // sqlite3.c:116574:8 99501 _ = _pEq 99502 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 99503 func() int32 { 99504 if _iLeft < _iRight { 99505 return i32(0) 99506 } 99507 return func() int32 { 99508 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116576), unsafe.Pointer((*int8)(unsafe.Pointer(&_addWhereTermØ00__func__Ø000))), unsafe.Pointer(str(100240))) 99509 crt.X__builtin_abort(tls) 99510 return i32(0) 99511 }() 99512 }() 99513 func() int32 { 99514 if (_pSrc.X0) > _iRight { 99515 return i32(0) 99516 } 99517 return func() int32 { 99518 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116577), unsafe.Pointer((*int8)(unsafe.Pointer(&_addWhereTermØ00__func__Ø000))), unsafe.Pointer(str(100256))) 99519 crt.X__builtin_abort(tls) 99520 return i32(0) 99521 }() 99522 }() 99523 func() int32 { 99524 if (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 99525 X0 unsafe.Pointer 99526 X1 *int8 99527 X2 *int8 99528 X3 *int8 99529 X4 unsafe.Pointer 99530 X5 unsafe.Pointer 99531 X6 int32 99532 X7 int32 99533 X8 int32 99534 X9 struct { 99535 X0 uint8 99536 X1 int8 99537 } 99538 X10 uint8 99539 X11 int32 99540 X12 unsafe.Pointer 99541 X13 unsafe.Pointer 99542 X14 uint64 99543 X15 struct { 99544 X [0]struct { 99545 X0 *int8 99546 X1 unsafe.Pointer 99547 } 99548 U [4]byte 99549 } 99550 X16 unsafe.Pointer 99551 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_iLeft))).X4)) != nil { 99552 return i32(0) 99553 } 99554 return func() int32 { 99555 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116578), unsafe.Pointer((*int8)(unsafe.Pointer(&_addWhereTermØ00__func__Ø000))), unsafe.Pointer(str(100276))) 99556 crt.X__builtin_abort(tls) 99557 return i32(0) 99558 }() 99559 }() 99560 func() int32 { 99561 if (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 99562 X0 unsafe.Pointer 99563 X1 *int8 99564 X2 *int8 99565 X3 *int8 99566 X4 unsafe.Pointer 99567 X5 unsafe.Pointer 99568 X6 int32 99569 X7 int32 99570 X8 int32 99571 X9 struct { 99572 X0 uint8 99573 X1 int8 99574 } 99575 X10 uint8 99576 X11 int32 99577 X12 unsafe.Pointer 99578 X13 unsafe.Pointer 99579 X14 uint64 99580 X15 struct { 99581 X [0]struct { 99582 X0 *int8 99583 X1 unsafe.Pointer 99584 } 99585 U [4]byte 99586 } 99587 X16 unsafe.Pointer 99588 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_iRight))).X4)) != nil { 99589 return i32(0) 99590 } 99591 return func() int32 { 99592 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116579), unsafe.Pointer((*int8)(unsafe.Pointer(&_addWhereTermØ00__func__Ø000))), unsafe.Pointer(str(100296))) 99593 crt.X__builtin_abort(tls) 99594 return i32(0) 99595 }() 99596 }() 99597 _pE1 = _sqlite3CreateColumnExpr(tls, _db, _pSrc, _iLeft, _iColLeft) 99598 _pE2 = _sqlite3CreateColumnExpr(tls, _db, _pSrc, _iRight, _iColRight) 99599 _pEq = _sqlite3PExpr(tls, _pParse, i32(37), _pE1, _pE2) 99600 if _pEq == nil || _isOuterJoin == 0 { 99601 goto _9 99602 } 99603 99604 { 99605 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEq)) + uintptr(4 /* X2 */))) 99606 *p = (*p) | uint32(i32(1)) 99607 sink985 = *p 99608 } 99609 func() int32 { 99610 if ((_pEq.X2) & uint32(i32(24576))) == uint32(i32(0)) { 99611 return i32(0) 99612 } 99613 return func() int32 { 99614 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116587), unsafe.Pointer((*int8)(unsafe.Pointer(&_addWhereTermØ00__func__Ø000))), unsafe.Pointer(str(100320))) 99615 crt.X__builtin_abort(tls) 99616 return i32(0) 99617 }() 99618 }() 99619 { 99620 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEq)) + uintptr(4 /* X2 */))) 99621 *p = (*p) | uint32(i32(131072)) 99622 sink985 = *p 99623 } 99624 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEq)) + uintptr(36 /* X11 */))) = int16(_pE2.X8) 99625 _9: 99626 *_ppWhere = _sqlite3ExprAnd(tls, _db, *_ppWhere, _pEq) 99627 return 99628 99629 } 99630 99631 var _addWhereTermØ00__func__Ø000 [13]int8 // - 99632 99633 func init() { 99634 crt.Xstrncpy(nil, &_addWhereTermØ00__func__Ø000[0], str(100368), 13) 99635 } 99636 99637 func _sqlite3CreateColumnExpr(tls *crt.TLS, _db *Xsqlite3, _pSrc *XSrcList, _iSrc int32, _iCol int32) (r0 *XExpr) { // sqlite3.c:89691:1 99638 var _p *XExpr // sqlite3.c:89692:8 99639 _ = _p 99640 var _1_pItem *T7840217 // sqlite3.c:89694:25 99641 _ = _1_pItem 99642 _p = _sqlite3ExprAlloc(tls, _db, i32(152), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 99643 if _p == nil { 99644 goto _0 99645 } 99646 99647 _1_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 99648 X0 unsafe.Pointer 99649 X1 *int8 99650 X2 *int8 99651 X3 *int8 99652 X4 unsafe.Pointer 99653 X5 unsafe.Pointer 99654 X6 int32 99655 X7 int32 99656 X8 int32 99657 X9 struct { 99658 X0 uint8 99659 X1 int8 99660 } 99661 X10 uint8 99662 X11 int32 99663 X12 unsafe.Pointer 99664 X13 unsafe.Pointer 99665 X14 uint64 99666 X15 struct { 99667 X [0]struct { 99668 X0 *int8 99669 X1 unsafe.Pointer 99670 } 99671 U [4]byte 99672 } 99673 X16 unsafe.Pointer 99674 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_iSrc))) 99675 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X14 */))))) = (*XTable)(unsafe.Pointer(_1_pItem.X4)) 99676 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X8 */))) = _1_pItem.X11 99677 if int32((*XTable)(unsafe.Pointer(_p.X14)).X10) != _iCol { 99678 goto _1 99679 } 99680 99681 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X9 */))) = int16(i32(-1)) 99682 goto _2 99683 99684 _1: 99685 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X9 */))) = int16(_iCol) 99686 { 99687 p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(52 /* X14 */))) 99688 *p = (*p) | (u64(1) << uint(func() int32 { 99689 if _iCol >= i32(64) { 99690 return i32(63) 99691 } 99692 return _iCol 99693 }())) 99694 sink992 = *p 99695 } 99696 _2: 99697 { 99698 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) 99699 *p = (*p) | uint32(i32(4)) 99700 sink985 = *p 99701 } 99702 _0: 99703 r0 = _p 99704 return 99705 99706 } 99707 99708 func _sqlite3PExpr(tls *crt.TLS, _pParse *XParse, _op int32, _pLeft *XExpr, _pRight *XExpr) (r0 *XExpr) { // sqlite3.c:91556:1 99709 var _p *XExpr // sqlite3.c:91562:8 99710 _ = _p 99711 if _op != i32(28) || (_pParse.X16) != i32(0) { 99712 goto _1 99713 } 99714 99715 _p = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pLeft, _pRight) 99716 goto _2 99717 99718 _1: 99719 _p = (*XExpr)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(u32(48))))) 99720 if _p == nil { 99721 goto _3 99722 } 99723 99724 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(48)) 99725 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(_op & i32(255)) 99726 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(34 /* X10 */))) = int16(i32(-1)) 99727 _3: 99728 _sqlite3ExprAttachSubtrees(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _p, _pLeft, _pRight) 99729 _2: 99730 if _p == nil { 99731 goto _4 99732 } 99733 99734 _sqlite3ExprCheckHeight(tls, _pParse, _p.X7) 99735 _4: 99736 r0 = _p 99737 return 99738 99739 } 99740 99741 func _sqlite3ExprAnd(tls *crt.TLS, _db *Xsqlite3, _pLeft *XExpr, _pRight *XExpr) (r0 *XExpr) { // sqlite3.c:91632:1 99742 var _4_pNew *XExpr // sqlite3.c:91642:10 99743 _ = _4_pNew 99744 if _pLeft != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 99745 goto _0 99746 } 99747 99748 r0 = _pRight 99749 return 99750 99751 _0: 99752 if _pRight != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 99753 goto _2 99754 } 99755 99756 r0 = _pLeft 99757 return 99758 99759 _2: 99760 if _exprAlwaysFalse(tls, _pLeft) == 0 && _exprAlwaysFalse(tls, _pRight) == 0 { 99761 goto _5 99762 } 99763 99764 _sqlite3ExprDelete(tls, _db, _pLeft) 99765 _sqlite3ExprDelete(tls, _db, _pRight) 99766 r0 = _sqlite3ExprAlloc(tls, _db, i32(134), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3IntTokens))+8*uintptr(i32(0)))), i32(0)) 99767 return 99768 99769 _5: 99770 _4_pNew = _sqlite3ExprAlloc(tls, _db, i32(28), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 99771 _sqlite3ExprAttachSubtrees(tls, _db, _4_pNew, _pLeft, _pRight) 99772 r0 = _4_pNew 99773 return 99774 99775 } 99776 99777 func _exprAlwaysFalse(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:91617:1 99778 var _v int32 // sqlite3.c:91618:7 99779 _ = _v 99780 _v = i32(0) 99781 if ((_p.X2) & uint32(i32(1))) == uint32(i32(0)) { 99782 goto _0 99783 } 99784 99785 r0 = i32(0) 99786 return 99787 99788 _0: 99789 if _sqlite3ExprIsInteger(tls, _p, &_v) != 0 { 99790 goto _1 99791 } 99792 99793 r0 = i32(0) 99794 return 99795 99796 _1: 99797 r0 = bool2int(_v == i32(0)) 99798 return 99799 99800 } 99801 99802 func _sqlite3ExprIsInteger(tls *crt.TLS, _p *XExpr, _pValue *int32) (r0 int32) { // sqlite3.c:92595:1 99803 var _rc int32 // sqlite3.c:92596:7 99804 _ = _rc 99805 var _4_v int32 // sqlite3.c:92614:11 99806 _ = _4_v 99807 _rc = i32(0) 99808 if _p != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 99809 goto _0 99810 } 99811 99812 r0 = i32(0) 99813 return 99814 99815 _0: 99816 func() int32 { 99817 if ((int32(_p.X0) != i32(134)) || (((_p.X2) & uint32(i32(1024))) != uint32(i32(0)))) || (_sqlite3GetInt32(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))), &_rc) == i32(0)) { 99818 return i32(0) 99819 } 99820 return func() int32 { 99821 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92601), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIsIntegerØ00__func__Ø000))), unsafe.Pointer(str(100384))) 99822 crt.X__builtin_abort(tls) 99823 return i32(0) 99824 }() 99825 }() 99826 if ((_p.X2) & uint32(i32(1024))) == 0 { 99827 goto _5 99828 } 99829 99830 *_pValue = *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))) 99831 r0 = i32(1) 99832 return 99833 99834 _5: 99835 switch int32(_p.X0) { 99836 case i32(155): 99837 goto _8 99838 case i32(156): 99839 goto _7 99840 default: 99841 goto _9 99842 } 99843 99844 _7: 99845 _rc = _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_p.X4)), _pValue) 99846 goto _10 99847 99848 _8: 99849 if _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_p.X4)), &_4_v) == 0 { 99850 goto _11 99851 } 99852 99853 func() int32 { 99854 if _4_v != i32(-2147483648) { 99855 return i32(0) 99856 } 99857 return func() int32 { 99858 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92616), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIsIntegerØ00__func__Ø000))), unsafe.Pointer(str(100476))) 99859 crt.X__builtin_abort(tls) 99860 return i32(0) 99861 }() 99862 }() 99863 *_pValue = -_4_v 99864 _rc = i32(1) 99865 _11: 99866 goto _10 99867 99868 _9: 99869 goto _10 99870 99871 _10: 99872 r0 = _rc 99873 return 99874 99875 } 99876 99877 var _sqlite3ExprIsIntegerØ00__func__Ø000 [21]int8 // - 99878 99879 func init() { 99880 crt.Xstrncpy(nil, &_sqlite3ExprIsIntegerØ00__func__Ø000[0], str(100496), 21) 99881 } 99882 99883 var _sqlite3IntTokens [2]XToken // sqlite3.c:17382:28 99884 99885 func init() { 99886 _sqlite3IntTokens = [2]XToken{XToken{X0: str(5204), X1: u32(1)}, XToken{X0: str(52832), X1: u32(1)}} 99887 } 99888 99889 func _sqlite3ExprAttachSubtrees(tls *crt.TLS, _db *Xsqlite3, _pRoot *XExpr, _pLeft *XExpr, _pRight *XExpr) { // sqlite3.c:91526:1 99890 if _pRoot != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 99891 goto _0 99892 } 99893 99894 func() int32 { 99895 if (_db.X17) != 0 { 99896 return i32(0) 99897 } 99898 return func() int32 { 99899 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91533), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAttachSubtreesØ00__func__Ø000))), unsafe.Pointer(str(50476))) 99900 crt.X__builtin_abort(tls) 99901 return i32(0) 99902 }() 99903 }() 99904 _sqlite3ExprDelete(tls, _db, _pLeft) 99905 _sqlite3ExprDelete(tls, _db, _pRight) 99906 goto _3 99907 99908 _0: 99909 if _pRight == nil { 99910 goto _4 99911 } 99912 99913 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(16 /* X5 */))))) = _pRight 99914 { 99915 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(4 /* X2 */))) 99916 *p = (*p) | (uint32(i32(2097408)) & (_pRight.X2)) 99917 sink985 = *p 99918 } 99919 _4: 99920 if _pLeft == nil { 99921 goto _5 99922 } 99923 99924 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(12 /* X4 */))))) = _pLeft 99925 { 99926 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRoot)) + uintptr(4 /* X2 */))) 99927 *p = (*p) | (uint32(i32(2097408)) & (_pLeft.X2)) 99928 sink985 = *p 99929 } 99930 _5: 99931 _exprSetHeight(tls, _pRoot) 99932 _3: 99933 return 99934 99935 } 99936 99937 var _sqlite3ExprAttachSubtreesØ00__func__Ø000 [26]int8 // - 99938 99939 func init() { 99940 crt.Xstrncpy(nil, &_sqlite3ExprAttachSubtreesØ00__func__Ø000[0], str(100520), 26) 99941 } 99942 99943 func _exprSetHeight(tls *crt.TLS, _p *XExpr) { // sqlite3.c:91391:1 99944 var _nHeight int32 // sqlite3.c:91392:7 99945 _ = _nHeight 99946 _nHeight = i32(0) 99947 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X4)), &_nHeight) 99948 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X5)), &_nHeight) 99949 if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { 99950 goto _0 99951 } 99952 99953 _heightOfSelect(tls, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))), &_nHeight) 99954 goto _1 99955 99956 _0: 99957 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == nil { 99958 goto _2 99959 } 99960 99961 _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))), &_nHeight) 99962 { 99963 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) 99964 *p = (*p) | (uint32(i32(2097408)) & _sqlite3ExprListFlags(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))))) 99965 sink985 = *p 99966 } 99967 _2: 99968 _1: 99969 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))) = _nHeight + i32(1) 99970 return 99971 99972 } 99973 99974 func _heightOfExpr(tls *crt.TLS, _p *XExpr, _pnHeight *int32) { // sqlite3.c:91353:1 99975 if _p == nil { 99976 goto _0 99977 } 99978 99979 if (_p.X7) <= (*_pnHeight) { 99980 goto _1 99981 } 99982 99983 *_pnHeight = _p.X7 99984 _1: 99985 _0: 99986 return 99987 99988 } 99989 99990 func _heightOfSelect(tls *crt.TLS, _p *XSelect, _pnHeight *int32) { // sqlite3.c:91368:1 99991 if _p == nil { 99992 goto _0 99993 } 99994 99995 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X9)), _pnHeight) 99996 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X11)), _pnHeight) 99997 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X15)), _pnHeight) 99998 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer(_p.X16)), _pnHeight) 99999 _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(_p.X0)), _pnHeight) 100000 _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(_p.X10)), _pnHeight) 100001 _heightOfExprList(tls, (*XExprList)(unsafe.Pointer(_p.X12)), _pnHeight) 100002 _heightOfSelect(tls, (*XSelect)(unsafe.Pointer(_p.X13)), _pnHeight) 100003 _0: 100004 return 100005 100006 } 100007 100008 func _heightOfExprList(tls *crt.TLS, _p *XExprList, _pnHeight *int32) { // sqlite3.c:91360:1 100009 var _1_i int32 // sqlite3.c:91362:9 100010 _ = _1_i 100011 if _p == nil { 100012 goto _0 100013 } 100014 100015 _1_i = i32(0) 100016 _1: 100017 if _1_i >= (_p.X0) { 100018 goto _4 100019 } 100020 100021 _heightOfExpr(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_p.X1)+20*uintptr(_1_i))).X0)), _pnHeight) 100022 _1_i += 1 100023 goto _1 100024 100025 _4: 100026 _0: 100027 return 100028 100029 } 100030 100031 func _sqlite3ExprListFlags(tls *crt.TLS, _pList *XExprList) (r0 uint32) { // sqlite3.c:92419:1 100032 var _i int32 // sqlite3.c:92420:7 100033 _ = _i 100034 var _m uint32 // sqlite3.c:92421:7 100035 _ = _m 100036 var _2_pExpr *XExpr // sqlite3.c:92424:13 100037 _ = _2_pExpr 100038 _m = u32(0) 100039 if _pList == nil { 100040 goto _0 100041 } 100042 100043 _i = i32(0) 100044 _1: 100045 if _i >= (_pList.X0) { 100046 goto _4 100047 } 100048 100049 _2_pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(_i))).X0)) 100050 func() int32 { 100051 if _2_pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 100052 return i32(0) 100053 } 100054 return func() int32 { 100055 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92425), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListFlagsØ00__func__Ø000))), unsafe.Pointer(str(46040))) 100056 crt.X__builtin_abort(tls) 100057 return i32(0) 100058 }() 100059 }() 100060 { 100061 p := &_m 100062 *p = (*p) | (_2_pExpr.X2) 100063 sink985 = *p 100064 } 100065 _i += 1 100066 goto _1 100067 100068 _4: 100069 _0: 100070 r0 = _m 100071 return 100072 100073 } 100074 100075 var _sqlite3ExprListFlagsØ00__func__Ø000 [21]int8 // - 100076 100077 func init() { 100078 crt.Xstrncpy(nil, &_sqlite3ExprListFlagsØ00__func__Ø000[0], str(100548), 21) 100079 } 100080 100081 func _sqlite3ExprCheckHeight(tls *crt.TLS, _pParse *XParse, _nHeight int32) (r0 int32) { // sqlite3.c:91332:1 100082 var _rc int32 // sqlite3.c:91333:7 100083 _ = _rc 100084 var _mxHeight int32 // sqlite3.c:91334:7 100085 _ = _mxHeight 100086 _rc = i32(0) 100087 _mxHeight = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(3)))) 100088 if _nHeight <= _mxHeight { 100089 goto _0 100090 } 100091 100092 _sqlite3ErrorMsg(tls, _pParse, str(100572), _mxHeight) 100093 _rc = i32(1) 100094 _0: 100095 r0 = _rc 100096 return 100097 100098 } 100099 100100 func _setJoinExpr(tls *crt.TLS, _p *XExpr, _iTable int32) { // sqlite3.c:116620:1 100101 var _2_i int32 // sqlite3.c:116627:11 100102 _ = _2_i 100103 _0: 100104 if _p == nil { 100105 goto _1 100106 } 100107 100108 { 100109 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) 100110 *p = (*p) | uint32(i32(1)) 100111 sink985 = *p 100112 } 100113 func() int32 { 100114 if ((_p.X2) & uint32(i32(24576))) == uint32(i32(0)) { 100115 return i32(0) 100116 } 100117 return func() int32 { 100118 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116623), unsafe.Pointer((*int8)(unsafe.Pointer(&_setJoinExprØ00__func__Ø000))), unsafe.Pointer(str(52176))) 100119 crt.X__builtin_abort(tls) 100120 return i32(0) 100121 }() 100122 }() 100123 { 100124 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) 100125 *p = (*p) | uint32(i32(131072)) 100126 sink985 = *p 100127 } 100128 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X11 */))) = int16(_iTable) 100129 if int32(_p.X0) != i32(151) || (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == nil { 100130 goto _5 100131 } 100132 100133 _2_i = i32(0) 100134 _6: 100135 if _2_i >= ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))).X0) { 100136 goto _9 100137 } 100138 100139 _setJoinExpr(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))).X1)+20*uintptr(_2_i))).X0)), _iTable) 100140 _2_i += 1 100141 goto _6 100142 100143 _9: 100144 _5: 100145 _setJoinExpr(tls, (*XExpr)(unsafe.Pointer(_p.X4)), _iTable) 100146 _p = (*XExpr)(unsafe.Pointer(_p.X5)) 100147 goto _0 100148 100149 _1: 100150 return 100151 100152 } 100153 100154 var _setJoinExprØ00__func__Ø000 [12]int8 // - 100155 100156 func init() { 100157 crt.Xstrncpy(nil, &_setJoinExprØ00__func__Ø000[0], str(100620), 12) 100158 } 100159 100160 func _sqlite3MatchSpanName(tls *crt.TLS, _zSpan *int8, _zCol *int8, _zTab *int8, _zDb *int8) (r0 int32) { // sqlite3.c:89313:1 100161 var _n int32 // sqlite3.c:89319:7 100162 _ = _n 100163 _n = i32(0) 100164 _0: 100165 if func() int32 { 100166 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) != 0 { 100167 return i32(1) 100168 } 100169 return func() int32 { 100170 func() int32 { 100171 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89320), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MatchSpanNameØ00__func__Ø000))), unsafe.Pointer(str(5204))) 100172 crt.X__builtin_abort(tls) 100173 return i32(0) 100174 }() 100175 return i32(0) 100176 }() 100177 }() == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) == i32(46) { 100178 goto _6 100179 } 100180 100181 _n += 1 100182 goto _0 100183 100184 _6: 100185 if _zDb == nil || Xsqlite3_strnicmp(tls, _zSpan, _zDb, _n) == i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDb)) + 1*uintptr(_n)))) == i32(0) { 100186 goto _9 100187 } 100188 100189 r0 = i32(0) 100190 return 100191 100192 _9: 100193 { 100194 p := &_zSpan 100195 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n+i32(1)))) 100196 sink1025 = *p 100197 } 100198 _n = i32(0) 100199 _10: 100200 if func() int32 { 100201 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) != 0 { 100202 return i32(1) 100203 } 100204 return func() int32 { 100205 func() int32 { 100206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89325), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MatchSpanNameØ00__func__Ø000))), unsafe.Pointer(str(5204))) 100207 crt.X__builtin_abort(tls) 100208 return i32(0) 100209 }() 100210 return i32(0) 100211 }() 100212 }() == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zSpan)) + 1*uintptr(_n)))) == i32(46) { 100213 goto _16 100214 } 100215 100216 _n += 1 100217 goto _10 100218 100219 _16: 100220 if _zTab == nil || Xsqlite3_strnicmp(tls, _zSpan, _zTab, _n) == i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTab)) + 1*uintptr(_n)))) == i32(0) { 100221 goto _19 100222 } 100223 100224 r0 = i32(0) 100225 return 100226 100227 _19: 100228 { 100229 p := &_zSpan 100230 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_n+i32(1)))) 100231 sink1025 = *p 100232 } 100233 if _zCol == nil || _sqlite3StrICmp(tls, _zSpan, _zCol) == i32(0) { 100234 goto _21 100235 } 100236 100237 r0 = i32(0) 100238 return 100239 100240 _21: 100241 r0 = i32(1) 100242 return 100243 100244 } 100245 100246 var _sqlite3MatchSpanNameØ00__func__Ø000 [21]int8 // - 100247 100248 func init() { 100249 crt.Xstrncpy(nil, &_sqlite3MatchSpanNameØ00__func__Ø000[0], str(100632), 21) 100250 } 100251 100252 func _sqlite3IdListIndex(tls *crt.TLS, _pList *XIdList, _zName *int8) (r0 int32) { // sqlite3.c:103084:1 100253 var _i int32 // sqlite3.c:103085:7 100254 _ = _i 100255 if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 100256 goto _0 100257 } 100258 100259 r0 = i32(-1) 100260 return 100261 100262 _0: 100263 _i = i32(0) 100264 _1: 100265 if _i >= (_pList.X1) { 100266 goto _4 100267 } 100268 100269 if _sqlite3StrICmp(tls, (*T8304487)(unsafe.Pointer(uintptr(_pList.X0)+8*uintptr(_i))).X0, _zName) != i32(0) { 100270 goto _5 100271 } 100272 100273 r0 = _i 100274 return 100275 100276 _5: 100277 _i += 1 100278 goto _1 100279 100280 _4: 100281 r0 = i32(-1) 100282 return 100283 100284 } 100285 100286 func _sqlite3TokenInit(tls *crt.TLS, _p *XToken, _z *int8) { // sqlite3.c:27885:1 100287 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _z 100288 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = uint32(_sqlite3Strlen30(tls, _z)) 100289 return 100290 100291 } 100292 100293 func _sqlite3ExprListSetName(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pName *XToken, _dequote int32) { // sqlite3.c:92337:1 100294 var _1_pItem *T7850641 // sqlite3.c:92345:26 100295 _ = _1_pItem 100296 func() int32 { 100297 if (_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != i32(0)) { 100298 return i32(0) 100299 } 100300 return func() int32 { 100301 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92343), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetNameØ00__func__Ø000))), unsafe.Pointer(str(100656))) 100302 crt.X__builtin_abort(tls) 100303 return i32(0) 100304 }() 100305 }() 100306 if _pList == nil { 100307 goto _3 100308 } 100309 100310 func() int32 { 100311 if (_pList.X0) > i32(0) { 100312 return i32(0) 100313 } 100314 return func() int32 { 100315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92346), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetNameØ00__func__Ø000))), unsafe.Pointer(str(50552))) 100316 crt.X__builtin_abort(tls) 100317 return i32(0) 100318 }() 100319 }() 100320 _1_pItem = (*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr((_pList.X0)-i32(1)))) 100321 func() int32 { 100322 if (_1_pItem.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 100323 return i32(0) 100324 } 100325 return func() int32 { 100326 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92348), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetNameØ00__func__Ø000))), unsafe.Pointer(str(100696))) 100327 crt.X__builtin_abort(tls) 100328 return i32(0) 100329 }() 100330 }() 100331 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(4 /* X1 */))) = _sqlite3DbStrNDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName.X0, uint64(_pName.X1)) 100332 if _dequote == 0 { 100333 goto _8 100334 } 100335 100336 _sqlite3Dequote(tls, _1_pItem.X1) 100337 _8: 100338 _3: 100339 return 100340 100341 } 100342 100343 var _sqlite3ExprListSetNameØ00__func__Ø000 [23]int8 // - 100344 100345 func init() { 100346 crt.Xstrncpy(nil, &_sqlite3ExprListSetNameØ00__func__Ø000[0], str(100712), 23) 100347 } 100348 100349 func _selectPopWith(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) { // sqlite3.c:120488:1 100350 var _pParse *XParse // sqlite3.c:120489:9 100351 _ = _pParse 100352 var _1_pWith *XWith // sqlite3.c:120491:10 100353 _ = _1_pWith 100354 _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) 100355 if (*XWith)(unsafe.Pointer(_pParse.X70)) == nil || (*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 100356 goto _1 100357 } 100358 100359 _1_pWith = (*XWith)(unsafe.Pointer(_findRightmost(tls, _p).X17)) 100360 if _1_pWith == (*XWith)(unsafe.Pointer(uintptr(i32(0)))) { 100361 goto _2 100362 } 100363 100364 func() int32 { 100365 if (*XWith)(unsafe.Pointer(_pParse.X70)) == _1_pWith { 100366 return i32(0) 100367 } 100368 return func() int32 { 100369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120493), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectPopWithØ00__func__Ø000))), unsafe.Pointer(str(100736))) 100370 crt.X__builtin_abort(tls) 100371 return i32(0) 100372 }() 100373 }() 100374 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(476 /* X70 */))))) = (*XWith)(unsafe.Pointer(_1_pWith.X1)) 100375 _2: 100376 _1: 100377 return 100378 100379 } 100380 100381 func _findRightmost(tls *crt.TLS, _p *XSelect) (r0 *XSelect) { // sqlite3.c:116426:1 100382 _0: 100383 if (*XSelect)(unsafe.Pointer(_p.X14)) == nil { 100384 goto _1 100385 } 100386 100387 _p = (*XSelect)(unsafe.Pointer(_p.X14)) 100388 goto _0 100389 100390 _1: 100391 r0 = _p 100392 return 100393 100394 } 100395 100396 var _selectPopWithØ00__func__Ø000 [14]int8 // - 100397 100398 func init() { 100399 crt.Xstrncpy(nil, &_selectPopWithØ00__func__Ø000[0], str(100760), 14) 100400 } 100401 100402 func _sqlite3ResolveSelectNames(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pOuterNC *XNameContext) { // sqlite3.c:90682:1 100403 var _w XWalker // sqlite3.c:90687:10 100404 _ = _w 100405 func() int32 { 100406 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 100407 return i32(0) 100408 } 100409 return func() int32 { 100410 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90689), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResolveSelectNamesØ00__func__Ø000))), unsafe.Pointer(str(824))) 100411 crt.X__builtin_abort(tls) 100412 return i32(0) 100413 }() 100414 }() 100415 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 100416 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _resolveExprStep 100417 *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))))) = _resolveSelectStep 100418 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pParse 100419 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))))) = _pOuterNC 100420 _sqlite3WalkSelect(tls, &_w, _p) 100421 return 100422 100423 } 100424 100425 var _sqlite3ResolveSelectNamesØ00__func__Ø000 [26]int8 // - 100426 100427 func init() { 100428 crt.Xstrncpy(nil, &_sqlite3ResolveSelectNamesØ00__func__Ø000[0], str(100776), 26) 100429 } 100430 100431 func _resolveExprStep(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89756:1 100432 var _pNC *XNameContext // sqlite3.c:89757:15 100433 _ = _pNC 100434 var _pParse *XParse // sqlite3.c:89758:9 100435 _ = _pParse 100436 var _1_pSrcList *XSrcList // sqlite3.c:89769:13 100437 _ = _1_pSrcList 100438 var _1_i int32 // sqlite3.c:89770:9 100439 _ = _1_i 100440 var _4_zColumn *int8 // sqlite3.c:89808:18 100441 _ = _4_zColumn 100442 var _4_zTable *int8 // sqlite3.c:89809:18 100443 _ = _4_zTable 100444 var _4_zDb *int8 // sqlite3.c:89810:18 100445 _ = _4_zDb 100446 var _4_pRight *XExpr // sqlite3.c:89811:12 100447 _ = _4_pRight 100448 var _9_pList *XExprList // sqlite3.c:89837:16 100449 _ = _9_pList 100450 var _9_n int32 // sqlite3.c:89838:11 100451 _ = _9_n 100452 var _9_no_such_func int32 // sqlite3.c:89839:11 100453 _ = _9_no_such_func 100454 var _9_wrong_num_args int32 // sqlite3.c:89840:11 100455 _ = _9_wrong_num_args 100456 var _9_is_agg int32 // sqlite3.c:89841:11 100457 _ = _9_is_agg 100458 var _9_nId int32 // sqlite3.c:89842:11 100459 _ = _9_nId 100460 var _9_zId *int8 // sqlite3.c:89843:18 100461 _ = _9_zId 100462 var _9_pDef *XFuncDef // sqlite3.c:89844:15 100463 _ = _9_pDef 100464 var _9_enc uint8 // sqlite3.c:89845:10 100465 _ = _9_enc 100466 var _18_auth int32 // sqlite3.c:89885:15 100467 _ = _18_auth 100468 var _26_pNC2 *XNameContext // sqlite3.c:89930:21 100469 _ = _26_pNC2 100470 var _30_nRef int32 // sqlite3.c:89958:13 100471 _ = _30_nRef 100472 var _33_nLeft int32 // sqlite3.c:89982:11 100473 _ = _33_nLeft 100474 var _33_nRight int32 // sqlite3.c:89982:18 100475 _ = _33_nRight 100476 _pNC = (*XNameContext)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))) 100477 func() int32 { 100478 if _pNC != (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { 100479 return i32(0) 100480 } 100481 return func() int32 { 100482 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89761), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(100804))) 100483 crt.X__builtin_abort(tls) 100484 return i32(0) 100485 }() 100486 }() 100487 _pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) 100488 func() int32 { 100489 if _pParse == (*XParse)(unsafe.Pointer(_pWalker.X0)) { 100490 return i32(0) 100491 } 100492 return func() int32 { 100493 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89763), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(100812))) 100494 crt.X__builtin_abort(tls) 100495 return i32(0) 100496 }() 100497 }() 100498 if ((_pExpr.X2) & uint32(i32(4))) == uint32(i32(0)) { 100499 goto _4 100500 } 100501 100502 r0 = i32(1) 100503 return 100504 100505 _4: 100506 { 100507 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 100508 *p = (*p) | uint32(i32(4)) 100509 sink985 = *p 100510 } 100511 if (*XSrcList)(unsafe.Pointer(_pNC.X1)) == nil || ((*XSrcList)(unsafe.Pointer(_pNC.X1)).X1) <= uint32(i32(0)) { 100512 goto _6 100513 } 100514 100515 _1_pSrcList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) 100516 _1_i = i32(0) 100517 _7: 100518 if _1_i >= ((*XSrcList)(unsafe.Pointer(_pNC.X1)).X0) { 100519 goto _10 100520 } 100521 100522 func() int32 { 100523 if (((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 100524 X0 unsafe.Pointer 100525 X1 *int8 100526 X2 *int8 100527 X3 *int8 100528 X4 unsafe.Pointer 100529 X5 unsafe.Pointer 100530 X6 int32 100531 X7 int32 100532 X8 int32 100533 X9 struct { 100534 X0 uint8 100535 X1 int8 100536 } 100537 X10 uint8 100538 X11 int32 100539 X12 unsafe.Pointer 100540 X13 unsafe.Pointer 100541 X14 uint64 100542 X15 struct { 100543 X [0]struct { 100544 X0 *int8 100545 X1 unsafe.Pointer 100546 } 100547 U [4]byte 100548 } 100549 X16 unsafe.Pointer 100550 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrcList))+uintptr(8 /* X2 */))))) + 68*uintptr(_1_i))).X11) >= i32(0)) && (((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 100551 X0 unsafe.Pointer 100552 X1 *int8 100553 X2 *int8 100554 X3 *int8 100555 X4 unsafe.Pointer 100556 X5 unsafe.Pointer 100557 X6 int32 100558 X7 int32 100559 X8 int32 100560 X9 struct { 100561 X0 uint8 100562 X1 int8 100563 } 100564 X10 uint8 100565 X11 int32 100566 X12 unsafe.Pointer 100567 X13 unsafe.Pointer 100568 X14 uint64 100569 X15 struct { 100570 X [0]struct { 100571 X0 *int8 100572 X1 unsafe.Pointer 100573 } 100574 U [4]byte 100575 } 100576 X16 unsafe.Pointer 100577 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrcList))+uintptr(8 /* X2 */))))) + 68*uintptr(_1_i))).X11) < (_pParse.X17)) { 100578 return i32(0) 100579 } 100580 return func() int32 { 100581 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89772), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(100836))) 100582 crt.X__builtin_abort(tls) 100583 return i32(0) 100584 }() 100585 }() 100586 _1_i += 1 100587 goto _7 100588 100589 _10: 100590 _6: 100591 switch int32(_pExpr.X0) { 100592 case i32(20): 100593 goto _19 100594 case i32(29): 100595 goto _29 100596 case i32(32): 100597 goto _22 100598 case i32(33): 100599 goto _20 100600 case i32(36): 100601 goto _24 100602 case i32(37): 100603 goto _23 100604 case i32(38): 100605 goto _27 100606 case i32(39): 100607 goto _26 100608 case i32(40): 100609 goto _25 100610 case i32(41): 100611 goto _28 100612 case i32(55): 100613 goto _15 100614 case i32(119): 100615 goto _18 100616 case i32(122): 100617 goto _16 100618 case i32(135): 100619 goto _21 100620 case i32(148): 100621 goto _30 100622 case i32(151): 100623 goto _17 100624 default: 100625 goto _31 100626 } 100627 100628 _15: 100629 _16: 100630 if int32(_pExpr.X0) != i32(55) { 100631 goto _32 100632 } 100633 100634 _4_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 100635 _4_zTable = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 100636 _4_zColumn = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) 100637 goto _33 100638 100639 _32: 100640 _notValid(tls, _pParse, _pNC, str(100904), i32(32)) 100641 _4_pRight = (*XExpr)(unsafe.Pointer(_pExpr.X5)) 100642 if int32(_4_pRight.X0) != i32(55) { 100643 goto _34 100644 } 100645 100646 _4_zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 100647 _4_zTable = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(8 /* X3 */))))) 100648 _4_zColumn = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pRight)) + uintptr(8 /* X3 */))))) 100649 goto _35 100650 100651 _34: 100652 func() int32 { 100653 if int32(_4_pRight.X0) == i32(122) { 100654 return i32(0) 100655 } 100656 return func() int32 { 100657 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89825), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(100924))) 100658 crt.X__builtin_abort(tls) 100659 return i32(0) 100660 }() 100661 }() 100662 _4_zDb = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(8 /* X3 */))))) 100663 _4_zTable = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_4_pRight.X4) + uintptr(8 /* X3 */))))) 100664 _4_zColumn = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_4_pRight.X5) + uintptr(8 /* X3 */))))) 100665 _35: 100666 _33: 100667 r0 = _lookupName(tls, _pParse, _4_zDb, _4_zTable, _4_zColumn, _pNC, _pExpr) 100668 return 100669 100670 _17: 100671 _9_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 100672 _9_n = func() int32 { 100673 if _9_pList != nil { 100674 return (_9_pList.X0) 100675 } 100676 return i32(0) 100677 }() 100678 _9_no_such_func = i32(0) 100679 _9_wrong_num_args = i32(0) 100680 _9_is_agg = i32(0) 100681 _9_enc = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X14 100682 func() int32 { 100683 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 100684 return i32(0) 100685 } 100686 return func() int32 { 100687 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89847), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(45120))) 100688 crt.X__builtin_abort(tls) 100689 return i32(0) 100690 }() 100691 }() 100692 _9_zId = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) 100693 _9_nId = _sqlite3Strlen30(tls, _9_zId) 100694 _9_pDef = _sqlite3FindFunction(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_zId, _9_n, _9_enc, uint8(i32(0))) 100695 if _9_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 100696 goto _42 100697 } 100698 100699 _9_pDef = _sqlite3FindFunction(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_zId, i32(-2), _9_enc, uint8(i32(0))) 100700 if _9_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 100701 goto _43 100702 } 100703 100704 _9_no_such_func = i32(1) 100705 goto _44 100706 100707 _43: 100708 _9_wrong_num_args = i32(1) 100709 _44: 100710 goto _45 100711 100712 _42: 100713 _9_is_agg = bool2int(*(*unsafe.Pointer)(unsafe.Pointer(&struct { 100714 f func(*crt.TLS, *Xsqlite3_context) 100715 }{(*(*func(*crt.TLS, *Xsqlite3_context))(unsafe.Pointer(&struct { 100716 f func(*crt.TLS, unsafe.Pointer) 100717 }{(_9_pDef.X5)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 100718 f func(*crt.TLS, *Xsqlite3_context) 100719 }{nil}))) 100720 if (int32(_9_pDef.X1) & i32(1024)) == 0 { 100721 goto _46 100722 } 100723 100724 { 100725 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 100726 *p = (*p) | uint32(i32(266240)) 100727 sink985 = *p 100728 } 100729 if _9_n != i32(2) { 100730 goto _47 100731 } 100732 100733 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = _exprProbability(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_9_pList.X1)+20*uintptr(i32(1)))).X0))) 100734 if (_pExpr.X8) >= i32(0) { 100735 goto _48 100736 } 100737 100738 _sqlite3ErrorMsg(tls, _pParse, str(100944)) 100739 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(24 /* X6 */))) += 1 100740 _48: 100741 goto _49 100742 100743 _47: 100744 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = func() int32 { 100745 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pDef.X6)) + 1*uintptr(i32(0))))) == i32(117) { 100746 return i32(8388608) 100747 } 100748 return i32(125829120) 100749 }() 100750 _49: 100751 _46: 100752 _18_auth = _sqlite3AuthCheck(tls, _pParse, i32(31), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _9_pDef.X6, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 100753 if _18_auth == i32(0) { 100754 goto _52 100755 } 100756 100757 if _18_auth != i32(1) { 100758 goto _53 100759 } 100760 100761 _sqlite3ErrorMsg(tls, _pParse, str(101016), unsafe.Pointer(_9_pDef.X6)) 100762 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(24 /* X6 */))) += 1 100763 _53: 100764 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) 100765 r0 = i32(1) 100766 return 100767 100768 _52: 100769 if (int32(_9_pDef.X1) & i32(10240)) == 0 { 100770 goto _54 100771 } 100772 100773 { 100774 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 100775 *p = (*p) | uint32(i32(524288)) 100776 sink985 = *p 100777 } 100778 _54: 100779 if (int32(_9_pDef.X1) & i32(2048)) != i32(0) { 100780 goto _55 100781 } 100782 100783 _notValid(tls, _pParse, _pNC, str(101052), i32(34)) 100784 _55: 100785 _45: 100786 if _9_is_agg == 0 || (int32(_pNC.X7)&i32(1)) != i32(0) { 100787 goto _57 100788 } 100789 100790 _sqlite3ErrorMsg(tls, _pParse, str(101080), _9_nId, unsafe.Pointer(_9_zId)) 100791 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(24 /* X6 */))) += 1 100792 _9_is_agg = i32(0) 100793 goto _58 100794 100795 _57: 100796 if _9_no_such_func == 0 || int32((*T7745808)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(144 /* X33 */))).X2) != i32(0) { 100797 goto _60 100798 } 100799 100800 _sqlite3ErrorMsg(tls, _pParse, str(101116), _9_nId, unsafe.Pointer(_9_zId)) 100801 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(24 /* X6 */))) += 1 100802 goto _61 100803 100804 _60: 100805 if _9_wrong_num_args == 0 { 100806 goto _62 100807 } 100808 100809 _sqlite3ErrorMsg(tls, _pParse, str(101140), _9_nId, unsafe.Pointer(_9_zId)) 100810 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(24 /* X6 */))) += 1 100811 _62: 100812 _61: 100813 _58: 100814 if _9_is_agg == 0 { 100815 goto _63 100816 } 100817 100818 { 100819 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(28 /* X7 */))) 100820 *p = uint16(int32(*p) & i32(-2)) 100821 sink6908 = *p 100822 } 100823 _63: 100824 _sqlite3WalkExprList(tls, _pWalker, _9_pList) 100825 if _9_is_agg == 0 { 100826 goto _64 100827 } 100828 100829 _26_pNC2 = _pNC 100830 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(153)) 100831 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(38 /* X12 */))) = uint8(i32(0)) 100832 _65: 100833 if _26_pNC2 == nil || _sqlite3FunctionUsesThisSrc(tls, _pExpr, (*XSrcList)(unsafe.Pointer(_26_pNC2.X1))) != 0 { 100834 goto _66 100835 } 100836 100837 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(38 /* X12 */))) += 1 100838 _26_pNC2 = (*XNameContext)(unsafe.Pointer(_26_pNC2.X4)) 100839 goto _65 100840 100841 _66: 100842 func() int32 { 100843 if _9_pDef != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 100844 return i32(0) 100845 } 100846 return func() int32 { 100847 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89937), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(101188))) 100848 crt.X__builtin_abort(tls) 100849 return i32(0) 100850 }() 100851 }() 100852 if _26_pNC2 == nil { 100853 goto _70 100854 } 100855 100856 i32(0) 100857 { 100858 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNC2)) + uintptr(28 /* X7 */))) 100859 *p = uint16(int32(*p) | (i32(16) | (int32(_9_pDef.X1) & i32(4096)))) 100860 sink6908 = *p 100861 } 100862 _70: 100863 { 100864 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(28 /* X7 */))) 100865 *p = uint16(int32(*p) | i32(1)) 100866 sink6908 = *p 100867 } 100868 _64: 100869 r0 = i32(1) 100870 return 100871 100872 _18: 100873 _19: 100874 _20: 100875 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 100876 goto _71 100877 } 100878 100879 _30_nRef = _pNC.X5 100880 _notValid(tls, _pParse, _pNC, str(101196), i32(38)) 100881 _sqlite3WalkSelect(tls, _pWalker, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) 100882 func() int32 { 100883 if (_pNC.X5) >= _30_nRef { 100884 return i32(0) 100885 } 100886 return func() int32 { 100887 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89961), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(101208))) 100888 crt.X__builtin_abort(tls) 100889 return i32(0) 100890 }() 100891 }() 100892 if _30_nRef == (_pNC.X5) { 100893 goto _74 100894 } 100895 100896 { 100897 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 100898 *p = (*p) | uint32(i32(32)) 100899 sink985 = *p 100900 } 100901 { 100902 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(28 /* X7 */))) 100903 *p = uint16(int32(*p) | i32(64)) 100904 sink6908 = *p 100905 } 100906 _74: 100907 _71: 100908 goto _31 100909 100910 _21: 100911 _notValid(tls, _pParse, _pNC, str(101224), i32(38)) 100912 goto _31 100913 100914 _22: 100915 _23: 100916 _24: 100917 _25: 100918 _26: 100919 _27: 100920 _28: 100921 _29: 100922 _30: 100923 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { 100924 goto _75 100925 } 100926 100927 goto _31 100928 100929 _75: 100930 func() int32 { 100931 if (*XExpr)(unsafe.Pointer(_pExpr.X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 100932 return i32(0) 100933 } 100934 return func() int32 { 100935 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89984), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(101236))) 100936 crt.X__builtin_abort(tls) 100937 return i32(0) 100938 }() 100939 }() 100940 _33_nLeft = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 100941 if int32(_pExpr.X0) != i32(32) { 100942 goto _78 100943 } 100944 100945 _33_nRight = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1)+20*uintptr(i32(0)))).X0))) 100946 if _33_nRight != _33_nLeft { 100947 goto _79 100948 } 100949 100950 _33_nRight = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1)+20*uintptr(i32(1)))).X0))) 100951 _79: 100952 goto _80 100953 100954 _78: 100955 func() int32 { 100956 if (*XExpr)(unsafe.Pointer(_pExpr.X5)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 100957 return i32(0) 100958 } 100959 return func() int32 { 100960 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89992), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveExprStepØ00__func__Ø000))), unsafe.Pointer(str(101252))) 100961 crt.X__builtin_abort(tls) 100962 return i32(0) 100963 }() 100964 }() 100965 _33_nRight = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) 100966 _80: 100967 if _33_nLeft == _33_nRight { 100968 goto _83 100969 } 100970 100971 _sqlite3ErrorMsg(tls, _pParse, str(45564)) 100972 _83: 100973 goto _31 100974 100975 _31: 100976 r0 = func() int32 { 100977 if (_pParse.X16) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 100978 return i32(2) 100979 } 100980 return i32(0) 100981 }() 100982 return 100983 100984 } 100985 100986 var _resolveExprStepØ00__func__Ø000 [16]int8 // - 100987 100988 func init() { 100989 crt.Xstrncpy(nil, &_resolveExprStepØ00__func__Ø000[0], str(101272), 16) 100990 } 100991 100992 func _notValid(tls *crt.TLS, _pParse *XParse, _pNC *XNameContext, _zMsg *int8, _validMask int32) { // sqlite3.c:89714:1 100993 var _1_zIn *int8 // sqlite3.c:89722:16 100994 _ = _1_zIn 100995 func() int32 { 100996 if (_validMask & i32(-39)) == i32(0) { 100997 return i32(0) 100998 } 100999 return func() int32 { 101000 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89720), unsafe.Pointer((*int8)(unsafe.Pointer(&_notValidØ00__func__Ø000))), unsafe.Pointer(str(101288))) 101001 crt.X__builtin_abort(tls) 101002 return i32(0) 101003 }() 101004 }() 101005 if (int32(_pNC.X7) & _validMask) == i32(0) { 101006 goto _2 101007 } 101008 101009 _1_zIn = str(101340) 101010 if (int32(_pNC.X7) & i32(32)) == 0 { 101011 goto _3 101012 } 101013 101014 _1_zIn = str(101368) 101015 goto _4 101016 101017 _3: 101018 if (int32(_pNC.X7) & i32(4)) == 0 { 101019 goto _5 101020 } 101021 101022 _1_zIn = str(101388) 101023 _5: 101024 _4: 101025 _sqlite3ErrorMsg(tls, _pParse, str(101408), unsafe.Pointer(_zMsg), unsafe.Pointer(_1_zIn)) 101026 _2: 101027 return 101028 101029 } 101030 101031 var _notValidØ00__func__Ø000 [9]int8 // - 101032 101033 func init() { 101034 crt.Xstrncpy(nil, &_notValidØ00__func__Ø000[0], str(101428), 9) 101035 } 101036 101037 func _lookupName(tls *crt.TLS, _pParse *XParse, _zDb *int8, _zTab *int8, _zCol *int8, _pNC *XNameContext, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89363:1 101038 var _i int32 // sqlite3.c:89371:7 101039 _ = _i 101040 var _j int32 // sqlite3.c:89371:10 101041 _ = _j 101042 var _cnt int32 // sqlite3.c:89372:7 101043 _ = _cnt 101044 var _cntTab int32 // sqlite3.c:89373:7 101045 _ = _cntTab 101046 var _nSubquery int32 // sqlite3.c:89374:7 101047 _ = _nSubquery 101048 var _db *Xsqlite3 // sqlite3.c:89375:11 101049 _ = _db 101050 var _pItem *T7840217 // sqlite3.c:89376:23 101051 _ = _pItem 101052 var _pMatch *T7840217 // sqlite3.c:89377:23 101053 _ = _pMatch 101054 var _pTopNC *XNameContext // sqlite3.c:89378:15 101055 _ = _pTopNC 101056 var _pSchema *XSchema // sqlite3.c:89379:10 101057 _ = _pSchema 101058 var _isTrigger int32 // sqlite3.c:89380:7 101059 _ = _isTrigger 101060 var _pTab *XTable // sqlite3.c:89381:9 101061 _ = _pTab 101062 var _pCol *XColumn // sqlite3.c:89382:10 101063 _ = _pCol 101064 var _6_pEList *XExprList // sqlite3.c:89420:14 101065 _ = _6_pEList 101066 var _6_pSrcList *XSrcList // sqlite3.c:89421:13 101067 _ = _6_pSrcList 101068 var _9_hit int32 // sqlite3.c:89429:15 101069 _ = _9_hit 101070 var _13_zTabName *int8 // sqlite3.c:89446:22 101071 _ = _13_zTabName 101072 var _21_op int32 // sqlite3.c:89490:11 101073 _ = _21_op 101074 var _25_iCol int32 // sqlite3.c:89503:13 101075 _ = _25_iCol 101076 var _36_zAs *int8 // sqlite3.c:89577:14 101077 _ = _36_zAs 101078 var _37_pOrig *XExpr // sqlite3.c:89579:16 101079 _ = _37_pOrig 101080 var _41_zErr *int8 // sqlite3.c:89631:16 101081 _ = _41_zErr 101082 var _45_n int32 // sqlite3.c:89651:9 101083 _ = _45_n 101084 _cnt = i32(0) 101085 _cntTab = i32(0) 101086 _nSubquery = i32(0) 101087 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 101088 _pMatch = nil 101089 _pTopNC = _pNC 101090 _pSchema = nil 101091 _isTrigger = i32(0) 101092 _pTab = nil 101093 func() int32 { 101094 if _pNC != nil { 101095 return i32(0) 101096 } 101097 return func() int32 { 101098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89384), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101440))) 101099 crt.X__builtin_abort(tls) 101100 return i32(0) 101101 }() 101102 }() 101103 func() int32 { 101104 if _zCol != nil { 101105 return i32(0) 101106 } 101107 return func() int32 { 101108 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89385), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101444))) 101109 crt.X__builtin_abort(tls) 101110 return i32(0) 101111 }() 101112 }() 101113 func() int32 { 101114 if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { 101115 return i32(0) 101116 } 101117 return func() int32 { 101118 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89386), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101452))) 101119 crt.X__builtin_abort(tls) 101120 return i32(0) 101121 }() 101122 }() 101123 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = i32(-1) 101124 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X14 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 101125 { 101126 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 101127 *p = (*p) | uint32(i32(131072)) 101128 sink985 = *p 101129 } 101130 if _zDb == nil { 101131 goto _6 101132 } 101133 101134 if (int32(_pNC.X7) & i32(6)) == i32(0) { 101135 goto _7 101136 } 101137 101138 _zDb = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 101139 goto _8 101140 101141 _7: 101142 _i = i32(0) 101143 _9: 101144 if _i >= (_db.X5) { 101145 goto _12 101146 } 101147 101148 func() int32 { 101149 if ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X0) != nil { 101150 return i32(0) 101151 } 101152 return func() int32 { 101153 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89408), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101504))) 101154 crt.X__builtin_abort(tls) 101155 return i32(0) 101156 }() 101157 }() 101158 if _sqlite3StrICmp(tls, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_i))).X0, _zDb) != i32(0) { 101159 goto _15 101160 } 101161 101162 _pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X4)) 101163 goto _12 101164 101165 _15: 101166 _i += 1 101167 goto _9 101168 101169 _12: 101170 _8: 101171 _6: 101172 func() int32 { 101173 if (_pNC != nil) && (_cnt == i32(0)) { 101174 return i32(0) 101175 } 101176 return func() int32 { 101177 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89418), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101524))) 101178 crt.X__builtin_abort(tls) 101179 return i32(0) 101180 }() 101181 }() 101182 _19: 101183 _6_pSrcList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) 101184 if _6_pSrcList == nil { 101185 goto _20 101186 } 101187 101188 *func() **T7840217 { _i = i32(0); return &_pItem }() = (*T7840217)(unsafe.Pointer((*[1]struct { 101189 X0 unsafe.Pointer 101190 X1 *int8 101191 X2 *int8 101192 X3 *int8 101193 X4 unsafe.Pointer 101194 X5 unsafe.Pointer 101195 X6 int32 101196 X7 int32 101197 X8 int32 101198 X9 struct { 101199 X0 uint8 101200 X1 int8 101201 } 101202 X10 uint8 101203 X11 int32 101204 X12 unsafe.Pointer 101205 X13 unsafe.Pointer 101206 X14 uint64 101207 X15 struct { 101208 X [0]struct { 101209 X0 *int8 101210 X1 unsafe.Pointer 101211 } 101212 U [4]byte 101213 } 101214 X16 unsafe.Pointer 101215 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pSrcList)) + uintptr(8 /* X2 */))))) 101216 _21: 101217 if _i >= (_6_pSrcList.X0) { 101218 goto _24 101219 } 101220 101221 _pTab = (*XTable)(unsafe.Pointer(_pItem.X4)) 101222 func() int32 { 101223 if (_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0))))) && ((_pTab.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0))))) { 101224 return i32(0) 101225 } 101226 return func() int32 { 101227 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89426), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101540))) 101228 crt.X__builtin_abort(tls) 101229 return i32(0) 101230 }() 101231 }() 101232 func() int32 { 101233 if int32(_pTab.X11) > i32(0) { 101234 return i32(0) 101235 } 101236 return func() int32 { 101237 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89427), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101568))) 101238 crt.X__builtin_abort(tls) 101239 return i32(0) 101240 }() 101241 }() 101242 if (*XSelect)(unsafe.Pointer(_pItem.X5)) == nil || (((*XSelect)(unsafe.Pointer(_pItem.X5)).X3)&uint32(i32(2048))) == uint32(i32(0)) { 101243 goto _31 101244 } 101245 101246 _9_hit = i32(0) 101247 _6_pEList = (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_pItem.X5)).X0)) 101248 _j = i32(0) 101249 _32: 101250 if _j >= (_6_pEList.X0) { 101251 goto _35 101252 } 101253 101254 if _sqlite3MatchSpanName(tls, (*T7850641)(unsafe.Pointer(uintptr(_6_pEList.X1)+20*uintptr(_j))).X2, _zCol, _zTab, _zDb) == 0 { 101255 goto _36 101256 } 101257 101258 _cnt += 1 101259 _cntTab = i32(2) 101260 _pMatch = _pItem 101261 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X9 */))) = int16(_j) 101262 _9_hit = i32(1) 101263 _36: 101264 _j += 1 101265 goto _32 101266 101267 _35: 101268 if _9_hit == 0 && _zTab != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 101269 goto _38 101270 } 101271 101272 goto _22 101273 101274 _38: 101275 _31: 101276 if _zDb == nil || (*XSchema)(unsafe.Pointer(_pTab.X20)) == _pSchema { 101277 goto _40 101278 } 101279 101280 goto _22 101281 101282 _40: 101283 if _zTab == nil { 101284 goto _41 101285 } 101286 101287 _13_zTabName = func() *int8 { 101288 if (_pItem.X3) != nil { 101289 return (_pItem.X3) 101290 } 101291 return (_pTab.X0) 101292 }() 101293 func() int32 { 101294 if _13_zTabName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 101295 return i32(0) 101296 } 101297 return func() int32 { 101298 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89447), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101584))) 101299 crt.X__builtin_abort(tls) 101300 return i32(0) 101301 }() 101302 }() 101303 if _sqlite3StrICmp(tls, _13_zTabName, _zTab) == i32(0) { 101304 goto _46 101305 } 101306 101307 goto _22 101308 101309 _46: 101310 _41: 101311 if i32(0) != postInc961(&_cntTab, int32(1)) { 101312 goto _47 101313 } 101314 101315 _pMatch = _pItem 101316 _47: 101317 *func() **XColumn { _j = i32(0); return &_pCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) 101318 _48: 101319 if _j >= int32(_pTab.X11) { 101320 goto _51 101321 } 101322 101323 if _sqlite3StrICmp(tls, _pCol.X0, _zCol) != i32(0) { 101324 goto _52 101325 } 101326 101327 if _cnt != i32(1) { 101328 goto _53 101329 } 101330 101331 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X0) & i32(4)) == 0 { 101332 goto _54 101333 } 101334 101335 goto _49 101336 101337 _54: 101338 if _nameInUsingClause(tls, (*XIdList)(unsafe.Pointer(_pItem.X13)), _zCol) == 0 { 101339 goto _55 101340 } 101341 101342 goto _49 101343 101344 _55: 101345 _53: 101346 _cnt += 1 101347 _pMatch = _pItem 101348 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X9 */))) = int16(func() int32 { 101349 if _j == int32(_pTab.X10) { 101350 return i32(-1) 101351 } 101352 return int32(int16(_j)) 101353 }()) 101354 goto _51 101355 101356 _52: 101357 _49: 101358 *(*uintptr)(unsafe.Pointer(func() **XColumn { _j += 1; return &_pCol }())) += uintptr(16) 101359 goto _48 101360 101361 _51: 101362 _22: 101363 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pItem }())) += uintptr(68) 101364 goto _21 101365 101366 _24: 101367 if _pMatch == nil { 101368 goto _58 101369 } 101370 101371 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = _pMatch.X11 101372 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X14 */))))) = (*XTable)(unsafe.Pointer(_pMatch.X4)) 101373 func() int32 { 101374 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMatch))+uintptr(36 /* X9 */))).X0) & i32(16)) == i32(0) { 101375 return i32(0) 101376 } 101377 return func() int32 { 101378 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89477), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101596))) 101379 crt.X__builtin_abort(tls) 101380 return i32(0) 101381 }() 101382 }() 101383 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMatch))+uintptr(36 /* X9 */))).X0) & i32(8)) == i32(0) { 101384 goto _61 101385 } 101386 101387 { 101388 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 101389 *p = (*p) | uint32(i32(1048576)) 101390 sink985 = *p 101391 } 101392 _61: 101393 _pSchema = (*XSchema)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pExpr.X14)).X20)) 101394 _58: 101395 _20: 101396 if _zDb != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _zTab == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _cntTab != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 101397 goto _65 101398 } 101399 101400 _21_op = int32(_pParse.X45) 101401 func() int32 { 101402 if ((_21_op == i32(109)) || (_21_op == i32(110))) || (_21_op == i32(108)) { 101403 return i32(0) 101404 } 101405 return func() int32 { 101406 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89491), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101632))) 101407 crt.X__builtin_abort(tls) 101408 return i32(0) 101409 }() 101410 }() 101411 if _21_op == i32(109) || _sqlite3StrICmp(tls, str(45556), _zTab) != i32(0) { 101412 goto _71 101413 } 101414 101415 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = i32(1) 101416 _pTab = (*XTable)(unsafe.Pointer(_pParse.X40)) 101417 goto _72 101418 101419 _71: 101420 if _21_op == i32(108) || _sqlite3StrICmp(tls, str(45560), _zTab) != i32(0) { 101421 goto _74 101422 } 101423 101424 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = i32(0) 101425 _pTab = (*XTable)(unsafe.Pointer(_pParse.X40)) 101426 goto _75 101427 101428 _74: 101429 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 101430 _75: 101431 _72: 101432 if _pTab == nil { 101433 goto _76 101434 } 101435 101436 _pSchema = (*XSchema)(unsafe.Pointer(_pTab.X20)) 101437 _cntTab += 1 101438 *func() **XColumn { _25_iCol = i32(0); return &_pCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) 101439 _77: 101440 if _25_iCol >= int32(_pTab.X11) { 101441 goto _80 101442 } 101443 101444 if _sqlite3StrICmp(tls, _pCol.X0, _zCol) != i32(0) { 101445 goto _81 101446 } 101447 101448 if _25_iCol != int32(_pTab.X10) { 101449 goto _82 101450 } 101451 101452 _25_iCol = i32(-1) 101453 _82: 101454 goto _80 101455 101456 _81: 101457 *(*uintptr)(unsafe.Pointer(func() **XColumn { _25_iCol += 1; return &_pCol }())) += uintptr(16) 101458 goto _77 101459 101460 _80: 101461 if _25_iCol < int32(_pTab.X11) || _sqlite3IsRowid(tls, _zCol) == 0 || ((_pTab.X9)&uint32(i32(64))) != uint32(i32(0)) { 101462 goto _85 101463 } 101464 101465 _25_iCol = i32(-1) 101466 _85: 101467 if _25_iCol >= int32(_pTab.X11) { 101468 goto _86 101469 } 101470 101471 _cnt += 1 101472 if _25_iCol >= i32(0) { 101473 goto _87 101474 } 101475 101476 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = int8(i32(68)) 101477 goto _88 101478 101479 _87: 101480 if (_pExpr.X8) != i32(0) { 101481 goto _89 101482 } 101483 101484 { 101485 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(148 /* X43 */))) 101486 *p = (*p) | func() uint32 { 101487 if _25_iCol >= i32(32) { 101488 return u32(4294967295) 101489 } 101490 return (u32(1) << uint(_25_iCol)) 101491 }() 101492 sink985 = *p 101493 } 101494 goto _92 101495 101496 _89: 101497 { 101498 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(152 /* X44 */))) 101499 *p = (*p) | func() uint32 { 101500 if _25_iCol >= i32(32) { 101501 return u32(4294967295) 101502 } 101503 return (u32(1) << uint(_25_iCol)) 101504 }() 101505 sink985 = *p 101506 } 101507 _92: 101508 _88: 101509 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X9 */))) = int16(_25_iCol) 101510 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X14 */))))) = _pTab 101511 _isTrigger = i32(1) 101512 _86: 101513 _76: 101514 _65: 101515 if _cnt != i32(0) || _cntTab != i32(1) || _pMatch == nil || (int32(_pNC.X7)&i32(32)) != i32(0) || _sqlite3IsRowid(tls, _zCol) == 0 || (((*XTable)(unsafe.Pointer(_pMatch.X4)).X9)&uint32(i32(64))) != uint32(i32(0)) { 101516 goto _100 101517 } 101518 101519 _cnt = i32(1) 101520 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X9 */))) = int16(i32(-1)) 101521 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = int8(i32(68)) 101522 _100: 101523 if store7760891(&_6_pEList, (*XExprList)(unsafe.Pointer(_pNC.X2))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || _zTab != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _cnt != i32(0) { 101524 goto _103 101525 } 101526 101527 _j = i32(0) 101528 _104: 101529 if _j >= (_6_pEList.X0) { 101530 goto _107 101531 } 101532 101533 _36_zAs = (*T7850641)(unsafe.Pointer(uintptr(_6_pEList.X1) + 20*uintptr(_j))).X1 101534 if _36_zAs == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3StrICmp(tls, _36_zAs, _zCol) != i32(0) { 101535 goto _109 101536 } 101537 101538 func() int32 { 101539 if ((*XExpr)(unsafe.Pointer(_pExpr.X4)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer(_pExpr.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 101540 return i32(0) 101541 } 101542 return func() int32 { 101543 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89580), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101680))) 101544 crt.X__builtin_abort(tls) 101545 return i32(0) 101546 }() 101547 }() 101548 func() int32 { 101549 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 101550 return i32(0) 101551 } 101552 return func() int32 { 101553 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89581), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101716))) 101554 crt.X__builtin_abort(tls) 101555 return i32(0) 101556 }() 101557 }() 101558 func() int32 { 101559 if (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 101560 return i32(0) 101561 } 101562 return func() int32 { 101563 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89582), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101736))) 101564 crt.X__builtin_abort(tls) 101565 return i32(0) 101566 }() 101567 }() 101568 _37_pOrig = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_6_pEList.X1) + 20*uintptr(_j))).X0)) 101569 if (int32(_pNC.X7)&i32(1)) != i32(0) || ((_37_pOrig.X2)&uint32(i32(2))) == uint32(i32(0)) { 101570 goto _118 101571 } 101572 101573 _sqlite3ErrorMsg(tls, _pParse, str(101756), unsafe.Pointer(_36_zAs)) 101574 r0 = i32(2) 101575 return 101576 101577 _118: 101578 if _sqlite3ExprVectorSize(tls, _37_pOrig) == i32(1) { 101579 goto _119 101580 } 101581 101582 _sqlite3ErrorMsg(tls, _pParse, str(45564)) 101583 r0 = i32(2) 101584 return 101585 101586 _119: 101587 _resolveAlias(tls, _pParse, _6_pEList, _j, _pExpr, str(196), _nSubquery) 101588 _cnt = i32(1) 101589 _pMatch = (*T7840217)(unsafe.Pointer(uintptr(i32(0)))) 101590 func() int32 { 101591 if (_zTab == (*int8)(unsafe.Pointer(uintptr(i32(0))))) && (_zDb == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { 101592 return i32(0) 101593 } 101594 return func() int32 { 101595 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89595), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101788))) 101596 crt.X__builtin_abort(tls) 101597 return i32(0) 101598 }() 101599 }() 101600 goto _lookupname_end 101601 101602 _109: 101603 _j += 1 101604 goto _104 101605 101606 _107: 101607 _103: 101608 if _cnt == 0 { 101609 goto _123 101610 } 101611 101612 goto _124 101613 101614 _123: 101615 _pNC = (*XNameContext)(unsafe.Pointer(_pNC.X4)) 101616 _nSubquery += 1 101617 if _pNC != nil { 101618 goto _19 101619 } 101620 101621 _124: 101622 if _cnt != i32(0) || _zTab != (*int8)(unsafe.Pointer(uintptr(i32(0)))) || ((_pExpr.X2)&uint32(i32(64))) == uint32(i32(0)) { 101623 goto _127 101624 } 101625 101626 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(97)) 101627 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X14 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 101628 r0 = i32(1) 101629 return 101630 101631 _127: 101632 if _cnt == i32(1) { 101633 goto _128 101634 } 101635 101636 _41_zErr = func() *int8 { 101637 if _cnt == i32(0) { 101638 return str(101808) 101639 } 101640 return str(101824) 101641 }() 101642 if _zDb == nil { 101643 goto _131 101644 } 101645 101646 _sqlite3ErrorMsg(tls, _pParse, str(101848), unsafe.Pointer(_41_zErr), unsafe.Pointer(_zDb), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) 101647 goto _132 101648 101649 _131: 101650 if _zTab == nil { 101651 goto _133 101652 } 101653 101654 _sqlite3ErrorMsg(tls, _pParse, str(52596), unsafe.Pointer(_41_zErr), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) 101655 goto _134 101656 101657 _133: 101658 _sqlite3ErrorMsg(tls, _pParse, str(52608), unsafe.Pointer(_41_zErr), unsafe.Pointer(_zCol)) 101659 _134: 101660 _132: 101661 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 101662 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTopNC)) + uintptr(24 /* X6 */))) += 1 101663 _128: 101664 if int32(_pExpr.X9) < i32(0) || _pMatch == (*T7840217)(unsafe.Pointer(uintptr(i32(0)))) { 101665 goto _136 101666 } 101667 101668 _45_n = int32(_pExpr.X9) 101669 if _45_n < i32(64) { 101670 goto _137 101671 } 101672 101673 _45_n = i32(63) 101674 _137: 101675 func() int32 { 101676 if (_pMatch.X11) == (_pExpr.X8) { 101677 return i32(0) 101678 } 101679 return func() int32 { 101680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89656), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101864))) 101681 crt.X__builtin_abort(tls) 101682 return i32(0) 101683 }() 101684 }() 101685 { 101686 p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMatch)) + uintptr(52 /* X14 */))) 101687 *p = (*p) | (u64(1) << uint(_45_n)) 101688 sink992 = *p 101689 } 101690 _136: 101691 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 101692 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 101693 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X5))) 101694 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(16 /* X5 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 101695 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(func() int32 { 101696 if _isTrigger != 0 { 101697 return i32(88) 101698 } 101699 return i32(152) 101700 }()) 101701 _lookupname_end: 101702 if _cnt != i32(1) { 101703 goto _142 101704 } 101705 101706 func() int32 { 101707 if _pNC != (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { 101708 return i32(0) 101709 } 101710 return func() int32 { 101711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89669), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(100804))) 101712 crt.X__builtin_abort(tls) 101713 return i32(0) 101714 }() 101715 }() 101716 if ((_pExpr.X2) & uint32(i32(4194304))) != uint32(i32(0)) { 101717 goto _145 101718 } 101719 101720 _sqlite3AuthRead(tls, _pParse, _pExpr, _pSchema, (*XSrcList)(unsafe.Pointer(_pNC.X1))) 101721 _145: 101722 _146: 101723 func() int32 { 101724 if _pTopNC != (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) { 101725 return i32(0) 101726 } 101727 return func() int32 { 101728 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89676), unsafe.Pointer((*int8)(unsafe.Pointer(&_lookupNameØ00__func__Ø000))), unsafe.Pointer(str(101896))) 101729 crt.X__builtin_abort(tls) 101730 return i32(0) 101731 }() 101732 }() 101733 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTopNC)) + uintptr(20 /* X5 */))) += 1 101734 if _pTopNC != _pNC { 101735 goto _151 101736 } 101737 101738 goto _148 101739 101740 _151: 101741 _pTopNC = (*XNameContext)(unsafe.Pointer(_pTopNC.X4)) 101742 goto _146 101743 101744 _148: 101745 r0 = i32(1) 101746 return 101747 101748 _142: 101749 r0 = i32(2) 101750 return 101751 101752 } 101753 101754 var _lookupNameØ00__func__Ø000 [11]int8 // - 101755 101756 func init() { 101757 crt.Xstrncpy(nil, &_lookupNameØ00__func__Ø000[0], str(101908), 11) 101758 } 101759 101760 func _nameInUsingClause(tls *crt.TLS, _pUsing *XIdList, _zCol *int8) (r0 int32) { // sqlite3.c:89296:1 101761 var _1_k int32 // sqlite3.c:89298:9 101762 _ = _1_k 101763 if _pUsing == nil { 101764 goto _0 101765 } 101766 101767 _1_k = i32(0) 101768 _1: 101769 if _1_k >= (_pUsing.X1) { 101770 goto _4 101771 } 101772 101773 if _sqlite3StrICmp(tls, (*T8304487)(unsafe.Pointer(uintptr(_pUsing.X0)+8*uintptr(_1_k))).X0, _zCol) != i32(0) { 101774 goto _5 101775 } 101776 101777 r0 = i32(1) 101778 return 101779 101780 _5: 101781 _1_k += 1 101782 goto _1 101783 101784 _4: 101785 _0: 101786 r0 = i32(0) 101787 return 101788 101789 } 101790 101791 func _sqlite3IsRowid(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:92704:1 101792 if _sqlite3StrICmp(tls, _z, str(101920)) != i32(0) { 101793 goto _0 101794 } 101795 101796 r0 = i32(1) 101797 return 101798 101799 _0: 101800 if _sqlite3StrICmp(tls, _z, str(101928)) != i32(0) { 101801 goto _1 101802 } 101803 101804 r0 = i32(1) 101805 return 101806 101807 _1: 101808 if _sqlite3StrICmp(tls, _z, str(101936)) != i32(0) { 101809 goto _2 101810 } 101811 101812 r0 = i32(1) 101813 return 101814 101815 _2: 101816 r0 = i32(0) 101817 return 101818 101819 } 101820 101821 func _resolveAlias(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _iCol int32, _pExpr *XExpr, _zType *int8, _nSubquery int32) { // sqlite3.c:89247:1 101822 var _pOrig *XExpr // sqlite3.c:89255:8 101823 _ = _pOrig 101824 var _pDup *XExpr // sqlite3.c:89256:8 101825 _ = _pDup 101826 var _db *Xsqlite3 // sqlite3.c:89257:11 101827 _ = _db 101828 func() int32 { 101829 if (_iCol >= i32(0)) && (_iCol < (_pEList.X0)) { 101830 return i32(0) 101831 } 101832 return func() int32 { 101833 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89259), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveAliasØ00__func__Ø000))), unsafe.Pointer(str(101940))) 101834 crt.X__builtin_abort(tls) 101835 return i32(0) 101836 }() 101837 }() 101838 _pOrig = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_iCol))).X0)) 101839 func() int32 { 101840 if _pOrig != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 101841 return i32(0) 101842 } 101843 return func() int32 { 101844 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89261), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveAliasØ00__func__Ø000))), unsafe.Pointer(str(101972))) 101845 crt.X__builtin_abort(tls) 101846 return i32(0) 101847 }() 101848 }() 101849 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 101850 _pDup = _sqlite3ExprDup(tls, _db, _pOrig, i32(0)) 101851 if _pDup != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 101852 goto _5 101853 } 101854 101855 return 101856 101857 _5: 101858 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zType)) + 1*uintptr(i32(0))))) == i32(71) { 101859 goto _6 101860 } 101861 101862 _incrAggFunctionDepth(tls, _pDup, _nSubquery) 101863 _6: 101864 if int32(_pExpr.X0) != i32(53) { 101865 goto _7 101866 } 101867 101868 _pDup = _sqlite3ExprAddCollateString(tls, _pParse, _pDup, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) 101869 _7: 101870 { 101871 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDup)) + uintptr(4 /* X2 */))) 101872 *p = (*p) | uint32(i32(4194304)) 101873 sink985 = *p 101874 } 101875 { 101876 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 101877 *p = (*p) | uint32(i32(32768)) 101878 sink985 = *p 101879 } 101880 _sqlite3ExprDelete(tls, _db, _pExpr) 101881 crt.Xmemcpy(tls, (unsafe.Pointer)(_pExpr), (unsafe.Pointer)(_pDup), u32(48)) 101882 if ((_pExpr.X2)&uint32(i32(1024))) != uint32(i32(0)) || (*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 101883 goto _9 101884 } 101885 101886 func() int32 { 101887 if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { 101888 return i32(0) 101889 } 101890 return func() int32 { 101891 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89282), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveAliasØ00__func__Ø000))), unsafe.Pointer(str(101984))) 101892 crt.X__builtin_abort(tls) 101893 return i32(0) 101894 }() 101895 }() 101896 *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) = _sqlite3DbStrDup(tls, _db, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */)))))) 101897 { 101898 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 101899 *p = (*p) | uint32(i32(65536)) 101900 sink985 = *p 101901 } 101902 _9: 101903 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pDup)) 101904 return 101905 101906 } 101907 101908 var _resolveAliasØ00__func__Ø000 [13]int8 // - 101909 101910 func init() { 101911 crt.Xstrncpy(nil, &_resolveAliasØ00__func__Ø000[0], str(102032), 13) 101912 } 101913 101914 func _incrAggFunctionDepth(tls *crt.TLS, _pExpr *XExpr, _N int32) { // sqlite3.c:89218:1 101915 var _1_w XWalker // sqlite3.c:89220:12 101916 _ = _1_w 101917 if _N <= i32(0) { 101918 goto _0 101919 } 101920 101921 crt.Xmemset(tls, (unsafe.Pointer)(&_1_w), i32(0), u32(28)) 101922 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_w)) + uintptr(4 /* X1 */))))) = _incrAggDepth 101923 *(*int32)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_w)) + uintptr(24 /* X6 */))))) = _N 101924 _sqlite3WalkExpr(tls, &_1_w, _pExpr) 101925 _0: 101926 return 101927 101928 } 101929 101930 func _incrAggDepth(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:89214:1 101931 if int32(_pExpr.X0) != i32(153) { 101932 goto _0 101933 } 101934 101935 { 101936 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(38 /* X12 */))) 101937 *p = uint8(int32(*p) + (*(*int32)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))) 101938 sink6915 = *p 101939 } 101940 _0: 101941 r0 = i32(0) 101942 return 101943 101944 } 101945 101946 func _sqlite3ExprAddCollateString(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _zC *int8) (r0 *XExpr) { // sqlite3.c:90831:1 101947 var _s XToken // sqlite3.c:90832:9 101948 _ = _s 101949 func() int32 { 101950 if _zC != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 101951 return i32(0) 101952 } 101953 return func() int32 { 101954 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90833), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAddCollateStringØ00__func__Ø000))), unsafe.Pointer(str(102048))) 101955 crt.X__builtin_abort(tls) 101956 return i32(0) 101957 }() 101958 }() 101959 _sqlite3TokenInit(tls, &_s, _zC) 101960 r0 = _sqlite3ExprAddCollateToken(tls, _pParse, _pExpr, &_s, i32(0)) 101961 return 101962 101963 } 101964 101965 var _sqlite3ExprAddCollateStringØ00__func__Ø000 [28]int8 // - 101966 101967 func init() { 101968 crt.Xstrncpy(nil, &_sqlite3ExprAddCollateStringØ00__func__Ø000[0], str(102056), 28) 101969 } 101970 101971 func _sqlite3ExprAddCollateToken(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pCollName *XToken, _dequote int32) (r0 *XExpr) { // sqlite3.c:90815:1 101972 var _1_pNew *XExpr // sqlite3.c:90822:10 101973 _ = _1_pNew 101974 if (_pCollName.X1) <= uint32(i32(0)) { 101975 goto _0 101976 } 101977 101978 _1_pNew = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(53), _pCollName, _dequote) 101979 if _1_pNew == nil { 101980 goto _1 101981 } 101982 101983 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(12 /* X4 */))))) = _pExpr 101984 { 101985 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pNew)) + uintptr(4 /* X2 */))) 101986 *p = (*p) | uint32(i32(4352)) 101987 sink985 = *p 101988 } 101989 _pExpr = _1_pNew 101990 _1: 101991 _0: 101992 r0 = _pExpr 101993 return 101994 101995 } 101996 101997 func _sqlite3AuthRead(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pSchema *XSchema, _pTabList *XSrcList) { // sqlite3.c:99329:1 101998 var _db *Xsqlite3 // sqlite3.c:99335:11 101999 _ = _db 102000 var _pTab *XTable // sqlite3.c:99336:9 102001 _ = _pTab 102002 var _zCol *int8 // sqlite3.c:99337:14 102003 _ = _zCol 102004 var _iSrc int32 // sqlite3.c:99338:7 102005 _ = _iSrc 102006 var _iDb int32 // sqlite3.c:99339:7 102007 _ = _iDb 102008 var _iCol int32 // sqlite3.c:99340:7 102009 _ = _iCol 102010 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 102011 _pTab = nil 102012 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 102013 f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 102014 }{(_db.X59)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 102015 f func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 102016 }{nil})) { 102017 goto _0 102018 } 102019 102020 return 102021 102022 _0: 102023 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pSchema) 102024 if _iDb >= i32(0) { 102025 goto _1 102026 } 102027 102028 return 102029 102030 _1: 102031 func() int32 { 102032 if (int32(_pExpr.X0) == i32(152)) || (int32(_pExpr.X0) == i32(88)) { 102033 return i32(0) 102034 } 102035 return func() int32 { 102036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99350), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(102084))) 102037 crt.X__builtin_abort(tls) 102038 return i32(0) 102039 }() 102040 }() 102041 if int32(_pExpr.X0) != i32(88) { 102042 goto _5 102043 } 102044 102045 _pTab = (*XTable)(unsafe.Pointer(_pParse.X40)) 102046 goto _6 102047 102048 _5: 102049 func() int32 { 102050 if _pTabList != nil { 102051 return i32(0) 102052 } 102053 return func() int32 { 102054 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99354), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(102132))) 102055 crt.X__builtin_abort(tls) 102056 return i32(0) 102057 }() 102058 }() 102059 _iSrc = i32(0) 102060 _9: 102061 if func() int32 { 102062 if _iSrc < (_pTabList.X0) { 102063 return i32(1) 102064 } 102065 return func() int32 { 102066 func() int32 { 102067 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99355), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(5204))) 102068 crt.X__builtin_abort(tls) 102069 return i32(0) 102070 }() 102071 return i32(0) 102072 }() 102073 }() == 0 { 102074 goto _14 102075 } 102076 102077 if (_pExpr.X8) != ((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102078 X0 unsafe.Pointer 102079 X1 *int8 102080 X2 *int8 102081 X3 *int8 102082 X4 unsafe.Pointer 102083 X5 unsafe.Pointer 102084 X6 int32 102085 X7 int32 102086 X8 int32 102087 X9 struct { 102088 X0 uint8 102089 X1 int8 102090 } 102091 X10 uint8 102092 X11 int32 102093 X12 unsafe.Pointer 102094 X13 unsafe.Pointer 102095 X14 uint64 102096 X15 struct { 102097 X [0]struct { 102098 X0 *int8 102099 X1 unsafe.Pointer 102100 } 102101 U [4]byte 102102 } 102103 X16 unsafe.Pointer 102104 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_iSrc))).X11) { 102105 goto _15 102106 } 102107 102108 _pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102109 X0 unsafe.Pointer 102110 X1 *int8 102111 X2 *int8 102112 X3 *int8 102113 X4 unsafe.Pointer 102114 X5 unsafe.Pointer 102115 X6 int32 102116 X7 int32 102117 X8 int32 102118 X9 struct { 102119 X0 uint8 102120 X1 int8 102121 } 102122 X10 uint8 102123 X11 int32 102124 X12 unsafe.Pointer 102125 X13 unsafe.Pointer 102126 X14 uint64 102127 X15 struct { 102128 X [0]struct { 102129 X0 *int8 102130 X1 unsafe.Pointer 102131 } 102132 U [4]byte 102133 } 102134 X16 unsafe.Pointer 102135 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_iSrc))).X4)) 102136 goto _14 102137 102138 _15: 102139 _iSrc += 1 102140 goto _9 102141 102142 _14: 102143 _6: 102144 _iCol = int32(_pExpr.X9) 102145 if func() int32 { 102146 if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 102147 return func() int32 { 102148 func() int32 { 102149 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99363), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(5204))) 102150 crt.X__builtin_abort(tls) 102151 return i32(0) 102152 }() 102153 return i32(1) 102154 }() 102155 } 102156 return i32(0) 102157 }() == 0 { 102158 goto _18 102159 } 102160 102161 return 102162 102163 _18: 102164 if _iCol < i32(0) { 102165 goto _19 102166 } 102167 102168 func() int32 { 102169 if _iCol < int32(_pTab.X11) { 102170 return i32(0) 102171 } 102172 return func() int32 { 102173 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99366), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(48088))) 102174 crt.X__builtin_abort(tls) 102175 return i32(0) 102176 }() 102177 }() 102178 _zCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))).X0 102179 goto _22 102180 102181 _19: 102182 if int32(_pTab.X10) < i32(0) { 102183 goto _23 102184 } 102185 102186 func() int32 { 102187 if int32(_pTab.X10) < int32(_pTab.X11) { 102188 return i32(0) 102189 } 102190 return func() int32 { 102191 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99369), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(102144))) 102192 crt.X__builtin_abort(tls) 102193 return i32(0) 102194 }() 102195 }() 102196 _zCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_pTab.X10))).X0 102197 goto _26 102198 102199 _23: 102200 _zCol = str(101928) 102201 _26: 102202 _22: 102203 func() int32 { 102204 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 102205 return i32(0) 102206 } 102207 return func() int32 { 102208 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99374), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthReadØ00__func__Ø000))), unsafe.Pointer(str(22608))) 102209 crt.X__builtin_abort(tls) 102210 return i32(0) 102211 }() 102212 }() 102213 if i32(2) != _sqlite3AuthReadCol(tls, _pParse, _pTab.X0, _zCol, _iDb) { 102214 goto _30 102215 } 102216 102217 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) 102218 _30: 102219 return 102220 102221 } 102222 102223 var _sqlite3AuthReadØ00__func__Ø000 [16]int8 // - 102224 102225 func init() { 102226 crt.Xstrncpy(nil, &_sqlite3AuthReadØ00__func__Ø000[0], str(102168), 16) 102227 } 102228 102229 func _sqlite3AuthReadCol(tls *crt.TLS, _pParse *XParse, _zTab *int8, _zCol *int8, _iDb int32) (r0 int32) { // sqlite3.c:99291:1 102230 var _db *Xsqlite3 // sqlite3.c:99297:11 102231 _ = _db 102232 var _zDb *int8 // sqlite3.c:99298:8 102233 _ = _zDb 102234 var _rc int32 // sqlite3.c:99299:7 102235 _ = _rc 102236 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 102237 _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 102238 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 102239 goto _0 102240 } 102241 102242 r0 = i32(0) 102243 return 102244 102245 _0: 102246 _rc = (_db.X59)(tls, _db.X60, i32(20), _zTab, _zCol, _zDb, _pParse.X65) 102247 if _rc != i32(1) { 102248 goto _1 102249 } 102250 102251 if (_db.X5) <= i32(2) && _iDb == i32(0) { 102252 goto _3 102253 } 102254 102255 _sqlite3ErrorMsg(tls, _pParse, str(102184), unsafe.Pointer(_zDb), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) 102256 goto _4 102257 102258 _3: 102259 _sqlite3ErrorMsg(tls, _pParse, str(102220), unsafe.Pointer(_zTab), unsafe.Pointer(_zCol)) 102260 _4: 102261 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = i32(23) 102262 goto _5 102263 102264 _1: 102265 if _rc == i32(2) || _rc == i32(0) { 102266 goto _7 102267 } 102268 102269 _sqliteAuthBadReturnCode(tls, _pParse) 102270 _7: 102271 _5: 102272 r0 = _rc 102273 return 102274 102275 } 102276 102277 func _exprProbability(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:89736:1 102278 var _r float64 // sqlite3.c:89737:10 102279 _ = _r 102280 _r = -1 102281 if int32(_p.X0) == i32(132) { 102282 goto _0 102283 } 102284 102285 r0 = i32(-1) 102286 return 102287 102288 _0: 102289 _sqlite3AtoF(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))), &_r, _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))), uint8(i32(1))) 102290 func() int32 { 102291 if _r >= float64(0) { 102292 return i32(0) 102293 } 102294 return func() int32 { 102295 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(89740), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprProbabilityØ00__func__Ø000))), unsafe.Pointer(str(102252))) 102296 crt.X__builtin_abort(tls) 102297 return i32(0) 102298 }() 102299 }() 102300 if _r <= float64(1) { 102301 goto _3 102302 } 102303 102304 r0 = i32(-1) 102305 return 102306 102307 _3: 102308 r0 = int32(_r * (1.34217728e+08)) 102309 return 102310 102311 } 102312 102313 var _exprProbabilityØ00__func__Ø000 [16]int8 // - 102314 102315 func init() { 102316 crt.Xstrncpy(nil, &_exprProbabilityØ00__func__Ø000[0], str(102260), 16) 102317 } 102318 102319 func _sqlite3FunctionUsesThisSrc(tls *crt.TLS, _pExpr *XExpr, _pSrcList *XSrcList) (r0 int32) { // sqlite3.c:95565:1 102320 var _w XWalker // sqlite3.c:95566:10 102321 _ = _w 102322 var _cnt T8456574 // sqlite3.c:95567:19 102323 _ = _cnt 102324 func() int32 { 102325 if int32(_pExpr.X0) == i32(153) { 102326 return i32(0) 102327 } 102328 return func() int32 { 102329 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95568), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FunctionUsesThisSrcØ00__func__Ø000))), unsafe.Pointer(str(102276))) 102330 crt.X__builtin_abort(tls) 102331 return i32(0) 102332 }() 102333 }() 102334 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 102335 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _exprSrcCount 102336 *(**T8456574)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))))) = &_cnt 102337 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cnt)) + uintptr(0 /* X0 */))))) = _pSrcList 102338 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cnt)) + uintptr(4 /* X1 */))) = i32(0) 102339 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_cnt)) + uintptr(8 /* X2 */))) = i32(0) 102340 _sqlite3WalkExprList(tls, &_w, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) 102341 r0 = bool2int(((_cnt.X1) > i32(0)) || ((_cnt.X2) == i32(0))) 102342 return 102343 102344 } 102345 102346 var _sqlite3FunctionUsesThisSrcØ00__func__Ø000 [27]int8 // - 102347 102348 func init() { 102349 crt.Xstrncpy(nil, &_sqlite3FunctionUsesThisSrcØ00__func__Ø000[0], str(102304), 27) 102350 } 102351 102352 func _exprSrcCount(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:95536:1 102353 var _1_i int32 // sqlite3.c:95543:9 102354 _ = _1_i 102355 var _1_p *T8456574 // sqlite3.c:95544:21 102356 _ = _1_p 102357 var _1_pSrc *XSrcList // sqlite3.c:95545:13 102358 _ = _1_pSrc 102359 var _1_nSrc int32 // sqlite3.c:95546:9 102360 _ = _1_nSrc 102361 if int32(_pExpr.X0) != i32(152) && func() int32 { 102362 if int32(_pExpr.X0) == i32(154) { 102363 return func() int32 { 102364 func() int32 { 102365 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95542), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprSrcCountØ00__func__Ø000))), unsafe.Pointer(str(5204))) 102366 crt.X__builtin_abort(tls) 102367 return i32(0) 102368 }() 102369 return i32(1) 102370 }() 102371 } 102372 return i32(0) 102373 }() == 0 { 102374 goto _3 102375 } 102376 102377 _1_p = (*T8456574)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))) 102378 _1_pSrc = (*XSrcList)(unsafe.Pointer(_1_p.X0)) 102379 _1_nSrc = func() int32 { 102380 if _1_pSrc != nil { 102381 return (_1_pSrc.X0) 102382 } 102383 return i32(0) 102384 }() 102385 _1_i = i32(0) 102386 _6: 102387 if _1_i >= _1_nSrc { 102388 goto _9 102389 } 102390 102391 if (_pExpr.X8) != ((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102392 X0 unsafe.Pointer 102393 X1 *int8 102394 X2 *int8 102395 X3 *int8 102396 X4 unsafe.Pointer 102397 X5 unsafe.Pointer 102398 X6 int32 102399 X7 int32 102400 X8 int32 102401 X9 struct { 102402 X0 uint8 102403 X1 int8 102404 } 102405 X10 uint8 102406 X11 int32 102407 X12 unsafe.Pointer 102408 X13 unsafe.Pointer 102409 X14 uint64 102410 X15 struct { 102411 X [0]struct { 102412 X0 *int8 102413 X1 unsafe.Pointer 102414 } 102415 U [4]byte 102416 } 102417 X16 unsafe.Pointer 102418 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_1_i))).X11) { 102419 goto _10 102420 } 102421 102422 goto _9 102423 102424 _10: 102425 _1_i += 1 102426 goto _6 102427 102428 _9: 102429 if _1_i >= _1_nSrc { 102430 goto _11 102431 } 102432 102433 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(4 /* X1 */))) += 1 102434 goto _12 102435 102436 _11: 102437 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(8 /* X2 */))) += 1 102438 _12: 102439 _3: 102440 r0 = i32(0) 102441 return 102442 102443 } 102444 102445 var _exprSrcCountØ00__func__Ø000 [13]int8 // - 102446 102447 func init() { 102448 crt.Xstrncpy(nil, &_exprSrcCountØ00__func__Ø000[0], str(102332), 13) 102449 } 102450 102451 func _resolveSelectStep(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) (r0 int32) { // sqlite3.c:90344:1 102452 var _pOuterNC *XNameContext // sqlite3.c:90345:15 102453 _ = _pOuterNC 102454 var _sNC XNameContext // sqlite3.c:90346:15 102455 _ = _sNC 102456 var _isCompound int32 // sqlite3.c:90347:7 102457 _ = _isCompound 102458 var _nCompound int32 // sqlite3.c:90348:7 102459 _ = _nCompound 102460 var _pParse *XParse // sqlite3.c:90349:9 102461 _ = _pParse 102462 var _i int32 // sqlite3.c:90350:7 102463 _ = _i 102464 var _pGroupBy *XExprList // sqlite3.c:90351:12 102465 _ = _pGroupBy 102466 var _pLeftmost *XSelect // sqlite3.c:90352:10 102467 _ = _pLeftmost 102468 var _db *Xsqlite3 // sqlite3.c:90353:11 102469 _ = _db 102470 var _5_pSub *XSelect // sqlite3.c:90402:14 102471 _ = _5_pSub 102472 var _6_pItem *T7840217 // sqlite3.c:90412:27 102473 _ = _6_pItem 102474 var _7_pNC *XNameContext // sqlite3.c:90414:21 102475 _ = _7_pNC 102476 var _7_nRef int32 // sqlite3.c:90415:13 102477 _ = _7_nRef 102478 var _7_zSavedContext *int8 // sqlite3.c:90416:20 102479 _ = _7_zSavedContext 102480 var _11_pItem *T7840217 // sqlite3.c:90479:27 102481 _ = _11_pItem 102482 var _13_pSub *XSelect // sqlite3.c:90499:14 102483 _ = _13_pSub 102484 var _16_pItem *T7850641 // sqlite3.c:90527:28 102485 _ = _16_pItem 102486 func() int32 { 102487 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 102488 return i32(0) 102489 } 102490 return func() int32 { 102491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90356), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(824))) 102492 crt.X__builtin_abort(tls) 102493 return i32(0) 102494 }() 102495 }() 102496 if ((_p.X3) & uint32(i32(4))) == 0 { 102497 goto _2 102498 } 102499 102500 r0 = i32(1) 102501 return 102502 102503 _2: 102504 _pOuterNC = (*XNameContext)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))) 102505 _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) 102506 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 102507 if ((_p.X3) & uint32(i32(64))) != uint32(i32(0)) { 102508 goto _3 102509 } 102510 102511 _sqlite3SelectPrep(tls, _pParse, _p, _pOuterNC) 102512 r0 = func() int32 { 102513 if (_pParse.X16) != 0 || ((_db.X17) != 0) { 102514 return i32(2) 102515 } 102516 return i32(1) 102517 }() 102518 return 102519 102520 _3: 102521 _isCompound = bool2int((*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) 102522 _nCompound = i32(0) 102523 _pLeftmost = _p 102524 _7: 102525 if _p == nil { 102526 goto _8 102527 } 102528 102529 func() int32 { 102530 if ((_p.X3) & uint32(i32(64))) != uint32(i32(0)) { 102531 return i32(0) 102532 } 102533 return func() int32 { 102534 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90381), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(102348))) 102535 crt.X__builtin_abort(tls) 102536 return i32(0) 102537 }() 102538 }() 102539 func() int32 { 102540 if ((_p.X3) & uint32(i32(4))) == uint32(i32(0)) { 102541 return i32(0) 102542 } 102543 return func() int32 { 102544 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90382), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(102380))) 102545 crt.X__builtin_abort(tls) 102546 return i32(0) 102547 }() 102548 }() 102549 { 102550 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 102551 *p = (*p) | uint32(i32(4)) 102552 sink985 = *p 102553 } 102554 crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u32(32)) 102555 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse 102556 if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X15))) == 0 && _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X16))) == 0 { 102557 goto _14 102558 } 102559 102560 r0 = i32(2) 102561 return 102562 102563 _14: 102564 if ((_p.X3) & uint32(i32(65536))) == 0 { 102565 goto _15 102566 } 102567 102568 _5_pSub = (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102569 X0 unsafe.Pointer 102570 X1 *int8 102571 X2 *int8 102572 X3 *int8 102573 X4 unsafe.Pointer 102574 X5 unsafe.Pointer 102575 X6 int32 102576 X7 int32 102577 X8 int32 102578 X9 struct { 102579 X0 uint8 102580 X1 int8 102581 } 102582 X10 uint8 102583 X11 int32 102584 X12 unsafe.Pointer 102585 X13 unsafe.Pointer 102586 X14 uint64 102587 X15 struct { 102588 X [0]struct { 102589 X0 *int8 102590 X1 unsafe.Pointer 102591 } 102592 U [4]byte 102593 } 102594 X16 unsafe.Pointer 102595 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X5)) 102596 func() int32 { 102597 if (((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == i32(1)) && ((*XExprList)(unsafe.Pointer(_p.X12)) != nil) { 102598 return i32(0) 102599 } 102600 return func() int32 { 102601 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90403), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(102412))) 102602 crt.X__builtin_abort(tls) 102603 return i32(0) 102604 }() 102605 }() 102606 func() int32 { 102607 if ((*XSelect)(unsafe.Pointer(_5_pSub.X13)) != nil) && ((*XExprList)(unsafe.Pointer(_5_pSub.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { 102608 return i32(0) 102609 } 102610 return func() int32 { 102611 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90404), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(102444))) 102612 crt.X__builtin_abort(tls) 102613 return i32(0) 102614 }() 102615 }() 102616 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pSub)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(_p.X12)) 102617 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 102618 _15: 102619 _i = i32(0) 102620 _22: 102621 if _i >= ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) { 102622 goto _25 102623 } 102624 102625 _6_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102626 X0 unsafe.Pointer 102627 X1 *int8 102628 X2 *int8 102629 X3 *int8 102630 X4 unsafe.Pointer 102631 X5 unsafe.Pointer 102632 X6 int32 102633 X7 int32 102634 X8 int32 102635 X9 struct { 102636 X0 uint8 102637 X1 int8 102638 } 102639 X10 uint8 102640 X11 int32 102641 X12 unsafe.Pointer 102642 X13 unsafe.Pointer 102643 X14 uint64 102644 X15 struct { 102645 X [0]struct { 102646 X0 *int8 102647 X1 unsafe.Pointer 102648 } 102649 U [4]byte 102650 } 102651 X16 unsafe.Pointer 102652 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 102653 if (*XSelect)(unsafe.Pointer(_6_pItem.X5)) == nil { 102654 goto _26 102655 } 102656 102657 _7_nRef = i32(0) 102658 _7_zSavedContext = _pParse.X65 102659 _7_pNC = _pOuterNC 102660 _27: 102661 if _7_pNC == nil { 102662 goto _30 102663 } 102664 102665 { 102666 p := &_7_nRef 102667 *p = (*p) + (_7_pNC.X5) 102668 sink961 = *p 102669 } 102670 _7_pNC = (*XNameContext)(unsafe.Pointer(_7_pNC.X4)) 102671 goto _27 102672 102673 _30: 102674 if (_6_pItem.X2) == nil { 102675 goto _31 102676 } 102677 102678 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(452 /* X65 */))) = _6_pItem.X2 102679 _31: 102680 _sqlite3ResolveSelectNames(tls, _pParse, (*XSelect)(unsafe.Pointer(_6_pItem.X5)), _pOuterNC) 102681 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(452 /* X65 */))) = _7_zSavedContext 102682 if (_pParse.X16) == 0 && (_db.X17) == 0 { 102683 goto _33 102684 } 102685 102686 r0 = i32(2) 102687 return 102688 102689 _33: 102690 _7_pNC = _pOuterNC 102691 _34: 102692 if _7_pNC == nil { 102693 goto _37 102694 } 102695 102696 { 102697 p := &_7_nRef 102698 *p = (*p) - (_7_pNC.X5) 102699 sink961 = *p 102700 } 102701 _7_pNC = (*XNameContext)(unsafe.Pointer(_7_pNC.X4)) 102702 goto _34 102703 102704 _37: 102705 func() int32 { 102706 if (int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(3)))<<uint(i32(31)))>>uint(i32(31))) == i32(0)) && (_7_nRef <= i32(0)) { 102707 return i32(0) 102708 } 102709 return func() int32 { 102710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90431), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(102480))) 102711 crt.X__builtin_abort(tls) 102712 return i32(0) 102713 }() 102714 }() 102715 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(bool2int(_7_nRef != i32(0))), 8, 3) 102716 _26: 102717 _i += 1 102718 goto _22 102719 102720 _25: 102721 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(28 /* X7 */))) = uint16(i32(1)) 102722 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(4 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_p.X8)) 102723 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(16 /* X4 */))))) = _pOuterNC 102724 if _sqlite3ResolveExprListNames(tls, &_sNC, (*XExprList)(unsafe.Pointer(_p.X0))) == 0 { 102725 goto _41 102726 } 102727 102728 r0 = i32(2) 102729 return 102730 102731 _41: 102732 func() int32 { 102733 if ((_p.X3) & uint32(i32(8))) == uint32(i32(0)) { 102734 return i32(0) 102735 } 102736 return func() int32 { 102737 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90449), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveSelectStepØ00__func__Ø000))), unsafe.Pointer(str(102520))) 102738 crt.X__builtin_abort(tls) 102739 return i32(0) 102740 }() 102741 }() 102742 _pGroupBy = (*XExprList)(unsafe.Pointer(_p.X10)) 102743 if _pGroupBy == nil && (int32(_sNC.X7)&i32(16)) == i32(0) { 102744 goto _45 102745 } 102746 102747 i32(0) 102748 { 102749 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 102750 *p = (*p) | uint32(i32(8)|(int32(_sNC.X7)&i32(4096))) 102751 sink985 = *p 102752 } 102753 goto _46 102754 102755 _45: 102756 { 102757 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(28 /* X7 */))) 102758 *p = uint16(int32(*p) & i32(-2)) 102759 sink6908 = *p 102760 } 102761 _46: 102762 if (*XExpr)(unsafe.Pointer(_p.X11)) == nil || _pGroupBy != nil { 102763 goto _48 102764 } 102765 102766 _sqlite3ErrorMsg(tls, _pParse, str(102552)) 102767 r0 = i32(2) 102768 return 102769 102770 _48: 102771 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(8 /* X2 */))))) = (*XExprList)(unsafe.Pointer(_p.X0)) 102772 if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X11))) == 0 { 102773 goto _49 102774 } 102775 102776 r0 = i32(2) 102777 return 102778 102779 _49: 102780 if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer(_p.X9))) == 0 { 102781 goto _50 102782 } 102783 102784 r0 = i32(2) 102785 return 102786 102787 _50: 102788 _i = i32(0) 102789 _51: 102790 if _i >= ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) { 102791 goto _54 102792 } 102793 102794 _11_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102795 X0 unsafe.Pointer 102796 X1 *int8 102797 X2 *int8 102798 X3 *int8 102799 X4 unsafe.Pointer 102800 X5 unsafe.Pointer 102801 X6 int32 102802 X7 int32 102803 X8 int32 102804 X9 struct { 102805 X0 uint8 102806 X1 int8 102807 } 102808 X10 uint8 102809 X11 int32 102810 X12 unsafe.Pointer 102811 X13 unsafe.Pointer 102812 X14 uint64 102813 X15 struct { 102814 X [0]struct { 102815 X0 *int8 102816 X1 unsafe.Pointer 102817 } 102818 U [4]byte 102819 } 102820 X16 unsafe.Pointer 102821 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 102822 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == 0 || _sqlite3ResolveExprListNames(tls, &_sNC, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pItem)) + uintptr(60 /* X15 */)))))))) == 0 { 102823 goto _56 102824 } 102825 102826 r0 = i32(2) 102827 return 102828 102829 _56: 102830 _i += 1 102831 goto _51 102832 102833 _54: 102834 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(16 /* X4 */))))) = (*XNameContext)(unsafe.Pointer(uintptr(i32(0)))) 102835 { 102836 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(28 /* X7 */))) 102837 *p = uint16(int32(*p) | i32(1)) 102838 sink6908 = *p 102839 } 102840 if ((_p.X3) & uint32(i32(65536))) == 0 { 102841 goto _57 102842 } 102843 102844 _13_pSub = (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 102845 X0 unsafe.Pointer 102846 X1 *int8 102847 X2 *int8 102848 X3 *int8 102849 X4 unsafe.Pointer 102850 X5 unsafe.Pointer 102851 X6 int32 102852 X7 int32 102853 X8 int32 102854 X9 struct { 102855 X0 uint8 102856 X1 int8 102857 } 102858 X10 uint8 102859 X11 int32 102860 X12 unsafe.Pointer 102861 X13 unsafe.Pointer 102862 X14 uint64 102863 X15 struct { 102864 X [0]struct { 102865 X0 *int8 102866 X1 unsafe.Pointer 102867 } 102868 U [4]byte 102869 } 102870 X16 unsafe.Pointer 102871 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X5)) 102872 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(_13_pSub.X12)) 102873 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pSub)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 102874 _57: 102875 if _isCompound > _nCompound || _resolveOrderGroupBy(tls, &_sNC, _p, (*XExprList)(unsafe.Pointer(_p.X12)), str(26980)) == 0 { 102876 goto _59 102877 } 102878 102879 r0 = i32(2) 102880 return 102881 102882 _59: 102883 if (_db.X17) == 0 { 102884 goto _60 102885 } 102886 102887 r0 = i32(2) 102888 return 102889 102890 _60: 102891 if _pGroupBy == nil { 102892 goto _61 102893 } 102894 102895 if _resolveOrderGroupBy(tls, &_sNC, _p, _pGroupBy, str(26988)) == 0 && (_db.X17) == 0 { 102896 goto _63 102897 } 102898 102899 r0 = i32(2) 102900 return 102901 102902 _63: 102903 *func() **T7850641 { _i = i32(0); return &_16_pItem }() = (*T7850641)(unsafe.Pointer(_pGroupBy.X1)) 102904 _64: 102905 if _i >= (_pGroupBy.X0) { 102906 goto _67 102907 } 102908 102909 if (((*XExpr)(unsafe.Pointer(_16_pItem.X0)).X2) & uint32(i32(2))) == uint32(i32(0)) { 102910 goto _68 102911 } 102912 102913 _sqlite3ErrorMsg(tls, _pParse, str(102596)) 102914 r0 = i32(2) 102915 return 102916 102917 _68: 102918 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_16_pItem }())) += uintptr(20) 102919 goto _64 102920 102921 _67: 102922 _61: 102923 if (*XSelect)(unsafe.Pointer(_p.X14)) == nil || ((*XExprList)(unsafe.Pointer(_p.X0)).X0) == ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_p.X14)).X0)).X0) { 102924 goto _70 102925 } 102926 102927 _sqlite3SelectWrongNumTermsError(tls, _pParse, (*XSelect)(unsafe.Pointer(_p.X14))) 102928 r0 = i32(2) 102929 return 102930 102931 _70: 102932 _p = (*XSelect)(unsafe.Pointer(_p.X13)) 102933 _nCompound += 1 102934 goto _7 102935 102936 _8: 102937 if _isCompound == 0 || _resolveCompoundOrderBy(tls, _pParse, _pLeftmost) == 0 { 102938 goto _72 102939 } 102940 102941 r0 = i32(2) 102942 return 102943 102944 _72: 102945 r0 = i32(1) 102946 return 102947 102948 } 102949 102950 var _resolveSelectStepØ00__func__Ø000 [18]int8 // - 102951 102952 func init() { 102953 crt.Xstrncpy(nil, &_resolveSelectStepØ00__func__Ø000[0], str(102656), 18) 102954 } 102955 102956 func _sqlite3ResolveExprNames(tls *crt.TLS, _pNC *XNameContext, _pExpr *XExpr) (r0 int32) { // sqlite3.c:90612:1 102957 var _savedHasAgg uint16 // sqlite3.c:90616:7 102958 _ = _savedHasAgg 102959 var _w XWalker // sqlite3.c:90617:10 102960 _ = _w 102961 var _1_pParse *XParse // sqlite3.c:90622:11 102962 _ = _1_pParse 102963 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 102964 goto _0 102965 } 102966 102967 r0 = i32(0) 102968 return 102969 102970 _0: 102971 _1_pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) 102972 if _sqlite3ExprCheckHeight(tls, _1_pParse, (_pExpr.X7)+((*XParse)(unsafe.Pointer(_pNC.X0)).X57)) == 0 { 102973 goto _1 102974 } 102975 102976 r0 = i32(1) 102977 return 102978 102979 _1: 102980 { 102981 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pParse)) + uintptr(420 /* X57 */))) 102982 *p = (*p) + (_pExpr.X7) 102983 sink961 = *p 102984 } 102985 _savedHasAgg = uint16(int32(_pNC.X7) & i32(4112)) 102986 { 102987 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(28 /* X7 */))) 102988 *p = uint16(int32(*p) & i32(-4113)) 102989 sink6908 = *p 102990 } 102991 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = (*XParse)(unsafe.Pointer(_pNC.X0)) 102992 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _resolveExprStep 102993 *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))))) = _resolveSelectStep 102994 *(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(12 /* X3 */))))) = nil 102995 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(16 /* X4 */))) = i32(0) 102996 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 102997 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))))) = _pNC 102998 _sqlite3WalkExpr(tls, &_w, _pExpr) 102999 { 103000 p := (*int32)(unsafe.Pointer(uintptr(_pNC.X0) + uintptr(420 /* X57 */))) 103001 *p = (*p) - (_pExpr.X7) 103002 sink961 = *p 103003 } 103004 if (_pNC.X6) <= i32(0) && ((*XParse)(unsafe.Pointer(_w.X0)).X16) <= i32(0) { 103005 goto _3 103006 } 103007 103008 { 103009 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 103010 *p = (*p) | uint32(i32(8)) 103011 sink985 = *p 103012 } 103013 _3: 103014 if (int32(_pNC.X7) & i32(16)) == 0 { 103015 goto _4 103016 } 103017 103018 { 103019 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 103020 *p = (*p) | uint32(i32(2)) 103021 sink985 = *p 103022 } 103023 _4: 103024 { 103025 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNC)) + uintptr(28 /* X7 */))) 103026 *p = uint16(int32(*p) | int32(_savedHasAgg)) 103027 sink6908 = *p 103028 } 103029 r0 = bool2int(((_pExpr.X2) & uint32(i32(8))) != uint32(i32(0))) 103030 return 103031 103032 } 103033 103034 func _sqlite3ResolveExprListNames(tls *crt.TLS, _pNC *XNameContext, _pList *XExprList) (r0 int32) { // sqlite3.c:90657:1 103035 var _i int32 // sqlite3.c:90661:7 103036 _ = _i 103037 if _pList == nil { 103038 goto _0 103039 } 103040 103041 _i = i32(0) 103042 _1: 103043 if _i >= (_pList.X0) { 103044 goto _4 103045 } 103046 103047 if _sqlite3ResolveExprNames(tls, _pNC, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X0))) == 0 { 103048 goto _5 103049 } 103050 103051 r0 = i32(2) 103052 return 103053 103054 _5: 103055 _i += 1 103056 goto _1 103057 103058 _4: 103059 _0: 103060 r0 = i32(0) 103061 return 103062 103063 } 103064 103065 func _resolveOrderGroupBy(tls *crt.TLS, _pNC *XNameContext, _pSelect *XSelect, _pOrderBy *XExprList, _zType *int8) (r0 int32) { // sqlite3.c:90286:1 103066 var _i int32 // sqlite3.c:90292:7 103067 _ = _i 103068 var _j int32 // sqlite3.c:90292:10 103069 _ = _j 103070 var _iCol int32 // sqlite3.c:90293:7 103071 _ = _iCol 103072 var _pItem *T7850641 // sqlite3.c:90294:24 103073 _ = _pItem 103074 var _pParse *XParse // sqlite3.c:90295:9 103075 _ = _pParse 103076 var _nResult int32 // sqlite3.c:90296:7 103077 _ = _nResult 103078 var _1_pE *XExpr // sqlite3.c:90302:10 103079 _ = _1_pE 103080 var _1_pE2 *XExpr // sqlite3.c:90303:10 103081 _ = _1_pE2 103082 if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 103083 goto _0 103084 } 103085 103086 r0 = i32(0) 103087 return 103088 103089 _0: 103090 _nResult = (*XExprList)(unsafe.Pointer(_pSelect.X0)).X0 103091 _pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) 103092 *func() **T7850641 { _i = i32(0); return &_pItem }() = (*T7850641)(unsafe.Pointer(_pOrderBy.X1)) 103093 _1: 103094 if _i >= (_pOrderBy.X0) { 103095 goto _4 103096 } 103097 103098 _1_pE = (*XExpr)(unsafe.Pointer(_pItem.X0)) 103099 _1_pE2 = _sqlite3ExprSkipCollate(tls, _1_pE) 103100 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zType)) + 1*uintptr(i32(0))))) == i32(71) { 103101 goto _5 103102 } 103103 103104 _iCol = _resolveAsName(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSelect.X0)), _1_pE2) 103105 if _iCol <= i32(0) { 103106 goto _6 103107 } 103108 103109 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_iCol) 103110 goto _2 103111 103112 _6: 103113 _5: 103114 if _sqlite3ExprIsInteger(tls, _1_pE2, &_iCol) == 0 { 103115 goto _7 103116 } 103117 103118 if _iCol >= i32(1) && _iCol <= i32(65535) { 103119 goto _9 103120 } 103121 103122 _resolveOutOfRangeError(tls, _pParse, _zType, _i+i32(1), _nResult) 103123 r0 = i32(1) 103124 return 103125 103126 _9: 103127 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_iCol) 103128 goto _2 103129 103130 _7: 103131 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) 103132 if _sqlite3ResolveExprNames(tls, _pNC, _1_pE) == 0 { 103133 goto _10 103134 } 103135 103136 r0 = i32(1) 103137 return 103138 103139 _10: 103140 _j = i32(0) 103141 _11: 103142 if _j >= ((*XExprList)(unsafe.Pointer(_pSelect.X0)).X0) { 103143 goto _14 103144 } 103145 103146 if _sqlite3ExprCompare(tls, _1_pE, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSelect.X0)).X1)+20*uintptr(_j))).X0)), i32(-1)) != i32(0) { 103147 goto _15 103148 } 103149 103150 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_j + i32(1)) 103151 _15: 103152 _j += 1 103153 goto _11 103154 103155 _14: 103156 _2: 103157 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 103158 goto _1 103159 103160 _4: 103161 r0 = _sqlite3ResolveOrderGroupBy(tls, _pParse, _pSelect, _pOrderBy, _zType) 103162 return 103163 103164 } 103165 103166 func _resolveAsName(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _pE *XExpr) (r0 int32) { // sqlite3.c:90025:1 103167 var _i int32 // sqlite3.c:90030:7 103168 _ = _i 103169 var _1_zCol *int8 // sqlite3.c:90035:10 103170 _ = _1_zCol 103171 var _2_zAs *int8 // sqlite3.c:90037:12 103172 _ = _2_zAs 103173 103174 if int32(_pE.X0) != i32(55) { 103175 goto _0 103176 } 103177 103178 _1_zCol = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pE)) + uintptr(8 /* X3 */))))) 103179 _i = i32(0) 103180 _1: 103181 if _i >= (_pEList.X0) { 103182 goto _4 103183 } 103184 103185 _2_zAs = (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X1 103186 if _2_zAs == (*int8)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3StrICmp(tls, _2_zAs, _1_zCol) != i32(0) { 103187 goto _6 103188 } 103189 103190 r0 = _i + i32(1) 103191 return 103192 103193 _6: 103194 _i += 1 103195 goto _1 103196 103197 _4: 103198 _0: 103199 r0 = i32(0) 103200 return 103201 103202 } 103203 103204 func _resolveOutOfRangeError(tls *crt.TLS, _pParse *XParse, _zType *int8, _i int32, _mx int32) { // sqlite3.c:90111:1 103205 _sqlite3ErrorMsg(tls, _pParse, str(102676), _i, unsafe.Pointer(_zType), _mx) 103206 return 103207 103208 } 103209 103210 func _sqlite3ExprCompare(tls *crt.TLS, _pA *XExpr, _pB *XExpr, _iTab int32) (r0 int32) { // sqlite3.c:95345:1 103211 var _combinedFlags uint32 // sqlite3.c:95346:7 103212 _ = _combinedFlags 103213 if _pA != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) && _pB != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 103214 goto _1 103215 } 103216 103217 r0 = func() int32 { 103218 if _pB == _pA { 103219 return i32(0) 103220 } 103221 return i32(2) 103222 }() 103223 return 103224 103225 _1: 103226 _combinedFlags = (_pA.X2) | (_pB.X2) 103227 if (_combinedFlags & uint32(i32(1024))) == 0 { 103228 goto _4 103229 } 103230 103231 if (((_pA.X2)&(_pB.X2))&uint32(i32(1024))) == uint32(i32(0)) || (*(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */)))))) != (*(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X3 */)))))) { 103232 goto _6 103233 } 103234 103235 r0 = i32(0) 103236 return 103237 103238 _6: 103239 r0 = i32(2) 103240 return 103241 103242 _4: 103243 if int32(_pA.X0) == int32(_pB.X0) { 103244 goto _7 103245 } 103246 103247 if int32(_pA.X0) != i32(53) || _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pA.X4)), _pB, _iTab) >= i32(2) { 103248 goto _9 103249 } 103250 103251 r0 = i32(1) 103252 return 103253 103254 _9: 103255 if int32(_pB.X0) != i32(53) || _sqlite3ExprCompare(tls, _pA, (*XExpr)(unsafe.Pointer(_pB.X4)), _iTab) >= i32(2) { 103256 goto _11 103257 } 103258 103259 r0 = i32(1) 103260 return 103261 103262 _11: 103263 r0 = i32(2) 103264 return 103265 103266 _7: 103267 if int32(_pA.X0) == i32(152) || int32(_pA.X0) == i32(154) || (*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */)))))) == nil { 103268 goto _14 103269 } 103270 103271 if int32(_pA.X0) != i32(151) { 103272 goto _15 103273 } 103274 103275 if _sqlite3StrICmp(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */))))), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X3 */)))))) == i32(0) { 103276 goto _16 103277 } 103278 103279 r0 = i32(2) 103280 return 103281 103282 _16: 103283 goto _17 103284 103285 _15: 103286 if crt.Xstrcmp(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(8 /* X3 */))))), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(8 /* X3 */)))))) == i32(0) { 103287 goto _18 103288 } 103289 103290 r0 = func() int32 { 103291 if int32(_pA.X0) == i32(53) { 103292 return i32(1) 103293 } 103294 return i32(2) 103295 }() 103296 return 103297 103298 _18: 103299 _17: 103300 _14: 103301 if ((_pA.X2) & uint32(i32(16))) == ((_pB.X2) & uint32(i32(16))) { 103302 goto _21 103303 } 103304 103305 r0 = i32(2) 103306 return 103307 103308 _21: 103309 if func() int32 { 103310 if (_combinedFlags & uint32(i32(16384))) == uint32(i32(0)) { 103311 return i32(1) 103312 } 103313 return func() int32 { 103314 func() int32 { 103315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95374), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCompareØ00__func__Ø000))), unsafe.Pointer(str(5204))) 103316 crt.X__builtin_abort(tls) 103317 return i32(0) 103318 }() 103319 return i32(0) 103320 }() 103321 }() == 0 { 103322 goto _24 103323 } 103324 103325 if (_combinedFlags & uint32(i32(2048))) == 0 { 103326 goto _25 103327 } 103328 103329 r0 = i32(2) 103330 return 103331 103332 _25: 103333 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pA.X4)), (*XExpr)(unsafe.Pointer(_pB.X4)), _iTab) == 0 { 103334 goto _26 103335 } 103336 103337 r0 = i32(2) 103338 return 103339 103340 _26: 103341 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pA.X5)), (*XExpr)(unsafe.Pointer(_pB.X5)), _iTab) == 0 { 103342 goto _27 103343 } 103344 103345 r0 = i32(2) 103346 return 103347 103348 _27: 103349 if _sqlite3ExprListCompare(tls, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(20 /* X6 */))))))), (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pB)) + uintptr(20 /* X6 */))))))), _iTab) == 0 { 103350 goto _28 103351 } 103352 103353 r0 = i32(2) 103354 return 103355 103356 _28: 103357 if func() int32 { 103358 if (_combinedFlags & uint32(i32(8192))) == uint32(i32(0)) { 103359 return i32(1) 103360 } 103361 return func() int32 { 103362 func() int32 { 103363 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95379), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCompareØ00__func__Ø000))), unsafe.Pointer(str(5204))) 103364 crt.X__builtin_abort(tls) 103365 return i32(0) 103366 }() 103367 return i32(0) 103368 }() 103369 }() == 0 || int32(_pA.X0) == i32(97) { 103370 goto _32 103371 } 103372 103373 if int32(_pA.X9) == int32(_pB.X9) { 103374 goto _33 103375 } 103376 103377 r0 = i32(2) 103378 return 103379 103380 _33: 103381 if (_pA.X8) == (_pB.X8) || (_pA.X8) == _iTab && func() int32 { 103382 if (_pB.X8) >= i32(0) { 103383 return func() int32 { 103384 func() int32 { 103385 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95382), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCompareØ00__func__Ø000))), unsafe.Pointer(str(5204))) 103386 crt.X__builtin_abort(tls) 103387 return i32(0) 103388 }() 103389 return i32(1) 103390 }() 103391 } 103392 return i32(0) 103393 }() == 0 { 103394 goto _38 103395 } 103396 103397 r0 = i32(2) 103398 return 103399 103400 _38: 103401 _32: 103402 _24: 103403 r0 = i32(0) 103404 return 103405 103406 } 103407 103408 var _sqlite3ExprCompareØ00__func__Ø000 [19]int8 // - 103409 103410 func init() { 103411 crt.Xstrncpy(nil, &_sqlite3ExprCompareØ00__func__Ø000[0], str(102732), 19) 103412 } 103413 103414 func _sqlite3ExprListCompare(tls *crt.TLS, _pA *XExprList, _pB *XExprList, _iTab int32) (r0 int32) { // sqlite3.c:95403:1 103415 var _i int32 // sqlite3.c:95404:7 103416 _ = _i 103417 var _1_pExprA *XExpr // sqlite3.c:95409:10 103418 _ = _1_pExprA 103419 var _1_pExprB *XExpr // sqlite3.c:95410:10 103420 _ = _1_pExprB 103421 if _pA != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || _pB != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 103422 goto _1 103423 } 103424 103425 r0 = i32(0) 103426 return 103427 103428 _1: 103429 if _pA != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && _pB != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 103430 goto _3 103431 } 103432 103433 r0 = i32(1) 103434 return 103435 103436 _3: 103437 if (_pA.X0) == (_pB.X0) { 103438 goto _4 103439 } 103440 103441 r0 = i32(1) 103442 return 103443 103444 _4: 103445 _i = i32(0) 103446 _5: 103447 if _i >= (_pA.X0) { 103448 goto _8 103449 } 103450 103451 _1_pExprA = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pA.X1) + 20*uintptr(_i))).X0)) 103452 _1_pExprB = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pB.X1) + 20*uintptr(_i))).X0)) 103453 if int32((*T7850641)(unsafe.Pointer(uintptr(_pA.X1)+20*uintptr(_i))).X3) == int32((*T7850641)(unsafe.Pointer(uintptr(_pB.X1)+20*uintptr(_i))).X3) { 103454 goto _9 103455 } 103456 103457 r0 = i32(1) 103458 return 103459 103460 _9: 103461 if _sqlite3ExprCompare(tls, _1_pExprA, _1_pExprB, _iTab) == 0 { 103462 goto _10 103463 } 103464 103465 r0 = i32(1) 103466 return 103467 103468 _10: 103469 _i += 1 103470 goto _5 103471 103472 _8: 103473 r0 = i32(0) 103474 return 103475 103476 } 103477 103478 func _sqlite3ResolveOrderGroupBy(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect, _pOrderBy *XExprList, _zType *int8) (r0 int32) { // sqlite3.c:90235:1 103479 var _i int32 // sqlite3.c:90241:7 103480 _ = _i 103481 var _db *Xsqlite3 // sqlite3.c:90242:11 103482 _ = _db 103483 var _pEList *XExprList // sqlite3.c:90243:12 103484 _ = _pEList 103485 var _pItem *T7850641 // sqlite3.c:90244:24 103486 _ = _pItem 103487 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 103488 if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { 103489 goto _1 103490 } 103491 103492 r0 = i32(0) 103493 return 103494 103495 _1: 103496 if (_pOrderBy.X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(2))))) { 103497 goto _2 103498 } 103499 103500 _sqlite3ErrorMsg(tls, _pParse, str(102752), unsafe.Pointer(_zType)) 103501 r0 = i32(1) 103502 return 103503 103504 _2: 103505 _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) 103506 func() int32 { 103507 if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 103508 return i32(0) 103509 } 103510 return func() int32 { 103511 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90254), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResolveOrderGroupByØ00__func__Ø000))), unsafe.Pointer(str(47532))) 103512 crt.X__builtin_abort(tls) 103513 return i32(0) 103514 }() 103515 }() 103516 *func() **T7850641 { _i = i32(0); return &_pItem }() = (*T7850641)(unsafe.Pointer(_pOrderBy.X1)) 103517 _5: 103518 if _i >= (_pOrderBy.X0) { 103519 goto _8 103520 } 103521 103522 if ((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(16 /* X5 */))))).X0) == 0 { 103523 goto _9 103524 } 103525 103526 if int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))).X0) <= (_pEList.X0) { 103527 goto _10 103528 } 103529 103530 _resolveOutOfRangeError(tls, _pParse, _zType, _i+i32(1), _pEList.X0) 103531 r0 = i32(1) 103532 return 103533 103534 _10: 103535 _resolveAlias(tls, _pParse, _pEList, int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))).X0)-i32(1), (*XExpr)(unsafe.Pointer(_pItem.X0)), _zType, i32(0)) 103536 _9: 103537 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 103538 goto _5 103539 103540 _8: 103541 r0 = i32(0) 103542 return 103543 103544 } 103545 103546 var _sqlite3ResolveOrderGroupByØ00__func__Ø000 [27]int8 // - 103547 103548 func init() { 103549 crt.Xstrncpy(nil, &_sqlite3ResolveOrderGroupByØ00__func__Ø000[0], str(102784), 27) 103550 } 103551 103552 func _sqlite3SelectWrongNumTermsError(tls *crt.TLS, _pParse *XParse, _p *XSelect) { // sqlite3.c:118834:1 103553 if ((_p.X3) & uint32(i32(512))) == 0 { 103554 goto _0 103555 } 103556 103557 _sqlite3ErrorMsg(tls, _pParse, str(102812)) 103558 goto _1 103559 103560 _0: 103561 _sqlite3ErrorMsg(tls, _pParse, str(102860), unsafe.Pointer(_selectOpName(tls, int32(_p.X1)))) 103562 _1: 103563 return 103564 103565 } 103566 103567 func _selectOpName(tls *crt.TLS, _id int32) (r0 *int8) { // sqlite3.c:117374:1 103568 var _z *int8 // sqlite3.c:117375:8 103569 _ = _z 103570 switch _id { 103571 case i32(116): 103572 goto _1 103573 case i32(117): 103574 goto _3 103575 case i32(118): 103576 goto _2 103577 default: 103578 goto _4 103579 } 103580 103581 _1: 103582 _z = str(49684) 103583 goto _5 103584 103585 _2: 103586 _z = str(26912) 103587 goto _5 103588 103589 _3: 103590 _z = str(26904) 103591 goto _5 103592 103593 _4: 103594 _z = str(26892) 103595 goto _5 103596 103597 _5: 103598 r0 = _z 103599 return 103600 103601 } 103602 103603 func _resolveCompoundOrderBy(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) (r0 int32) { // sqlite3.c:90137:1 103604 var _i int32 // sqlite3.c:90141:7 103605 _ = _i 103606 var _pOrderBy *XExprList // sqlite3.c:90142:12 103607 _ = _pOrderBy 103608 var _pEList *XExprList // sqlite3.c:90143:12 103609 _ = _pEList 103610 var _db *Xsqlite3 // sqlite3.c:90144:11 103611 _ = _db 103612 var _moreToDo int32 // sqlite3.c:90145:7 103613 _ = _moreToDo 103614 var _4_pItem *T7850641 // sqlite3.c:90165:26 103615 _ = _4_pItem 103616 var _5_iCol int32 // sqlite3.c:90170:11 103617 _ = _5_iCol 103618 var _5_pE *XExpr // sqlite3.c:90171:12 103619 _ = _5_pE 103620 var _5_pDup *XExpr // sqlite3.c:90171:17 103621 _ = _5_pDup 103622 var _11_pNew *XExpr // sqlite3.c:90193:14 103623 _ = _11_pNew 103624 var _13_pParent *XExpr // sqlite3.c:90200:16 103625 _ = _13_pParent 103626 _moreToDo = i32(1) 103627 _pOrderBy = (*XExprList)(unsafe.Pointer(_pSelect.X12)) 103628 if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 103629 goto _0 103630 } 103631 103632 r0 = i32(0) 103633 return 103634 103635 _0: 103636 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 103637 if (_pOrderBy.X0) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(2))))) { 103638 goto _1 103639 } 103640 103641 _sqlite3ErrorMsg(tls, _pParse, str(102944)) 103642 r0 = i32(1) 103643 return 103644 103645 _1: 103646 _i = i32(0) 103647 _2: 103648 if _i >= (_pOrderBy.X0) { 103649 goto _5 103650 } 103651 103652 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i)))))+uintptr(13 /* X4 */))), int8(i32(0)), 1, 0) 103653 _i += 1 103654 goto _2 103655 103656 _5: 103657 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelect)) + uintptr(64 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 103658 _6: 103659 if (*XSelect)(unsafe.Pointer(_pSelect.X13)) == nil { 103660 goto _7 103661 } 103662 103663 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pSelect.X13) + uintptr(64 /* X14 */))))) = _pSelect 103664 _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X13)) 103665 goto _6 103666 103667 _7: 103668 _8: 103669 if _pSelect == nil || _moreToDo == 0 { 103670 goto _9 103671 } 103672 103673 _moreToDo = i32(0) 103674 _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) 103675 func() int32 { 103676 if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 103677 return i32(0) 103678 } 103679 return func() int32 { 103680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90168), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveCompoundOrderByØ00__func__Ø000))), unsafe.Pointer(str(47532))) 103681 crt.X__builtin_abort(tls) 103682 return i32(0) 103683 }() 103684 }() 103685 *func() **T7850641 { _i = i32(0); return &_4_pItem }() = (*T7850641)(unsafe.Pointer(_pOrderBy.X1)) 103686 _13: 103687 if _i >= (_pOrderBy.X0) { 103688 goto _16 103689 } 103690 103691 _5_iCol = i32(-1) 103692 if ((uint32(_4_pItem.X4) << uint(i32(31))) >> uint(i32(31))) == 0 { 103693 goto _17 103694 } 103695 103696 goto _14 103697 103698 _17: 103699 _5_pE = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_4_pItem.X0))) 103700 if _sqlite3ExprIsInteger(tls, _5_pE, &_5_iCol) == 0 { 103701 goto _18 103702 } 103703 103704 if _5_iCol > i32(0) && _5_iCol <= (_pEList.X0) { 103705 goto _20 103706 } 103707 103708 _resolveOutOfRangeError(tls, _pParse, str(26980), _i+i32(1), _pEList.X0) 103709 r0 = i32(1) 103710 return 103711 103712 _20: 103713 goto _21 103714 103715 _18: 103716 _5_iCol = _resolveAsName(tls, _pParse, _pEList, _5_pE) 103717 if _5_iCol != i32(0) { 103718 goto _22 103719 } 103720 103721 _5_pDup = _sqlite3ExprDup(tls, _db, _5_pE, i32(0)) 103722 if (_db.X17) != 0 { 103723 goto _23 103724 } 103725 103726 func() int32 { 103727 if _5_pDup != nil { 103728 return i32(0) 103729 } 103730 return func() int32 { 103731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90184), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveCompoundOrderByØ00__func__Ø000))), unsafe.Pointer(str(102980))) 103732 crt.X__builtin_abort(tls) 103733 return i32(0) 103734 }() 103735 }() 103736 _5_iCol = _resolveOrderByTermToExprList(tls, _pParse, _pSelect, _5_pDup) 103737 _23: 103738 _sqlite3ExprDelete(tls, _db, _5_pDup) 103739 _22: 103740 _21: 103741 if _5_iCol <= i32(0) { 103742 goto _26 103743 } 103744 103745 _11_pNew = _sqlite3Expr(tls, _db, i32(134), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 103746 if _11_pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 103747 goto _27 103748 } 103749 103750 r0 = i32(1) 103751 return 103752 103753 _27: 103754 { 103755 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pNew)) + uintptr(4 /* X2 */))) 103756 *p = (*p) | uint32(i32(1024)) 103757 sink985 = *p 103758 } 103759 *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pNew)) + uintptr(8 /* X3 */))))) = _5_iCol 103760 if (*XExpr)(unsafe.Pointer(_4_pItem.X0)) != _5_pE { 103761 goto _28 103762 } 103763 103764 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem)) + uintptr(0 /* X0 */))))) = _11_pNew 103765 goto _29 103766 103767 _28: 103768 _13_pParent = (*XExpr)(unsafe.Pointer(_4_pItem.X0)) 103769 func() int32 { 103770 if int32(_13_pParent.X0) == i32(53) { 103771 return i32(0) 103772 } 103773 return func() int32 { 103774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90201), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveCompoundOrderByØ00__func__Ø000))), unsafe.Pointer(str(102988))) 103775 crt.X__builtin_abort(tls) 103776 return i32(0) 103777 }() 103778 }() 103779 _32: 103780 if int32((*XExpr)(unsafe.Pointer(_13_pParent.X4)).X0) != i32(53) { 103781 goto _33 103782 } 103783 103784 _13_pParent = (*XExpr)(unsafe.Pointer(_13_pParent.X4)) 103785 goto _32 103786 103787 _33: 103788 func() int32 { 103789 if (*XExpr)(unsafe.Pointer(_13_pParent.X4)) == _5_pE { 103790 return i32(0) 103791 } 103792 return func() int32 { 103793 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90203), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveCompoundOrderByØ00__func__Ø000))), unsafe.Pointer(str(103012))) 103794 crt.X__builtin_abort(tls) 103795 return i32(0) 103796 }() 103797 }() 103798 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pParent)) + uintptr(12 /* X4 */))))) = _11_pNew 103799 _29: 103800 _sqlite3ExprDelete(tls, _db, _5_pE) 103801 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_5_iCol) 103802 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(13 /* X4 */))), int8(i32(1)), 1, 0) 103803 goto _36 103804 103805 _26: 103806 _moreToDo = i32(1) 103807 _36: 103808 _14: 103809 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_4_pItem }())) += uintptr(20) 103810 goto _13 103811 103812 _16: 103813 _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X14)) 103814 goto _8 103815 103816 _9: 103817 _i = i32(0) 103818 _37: 103819 if _i >= (_pOrderBy.X0) { 103820 goto _40 103821 } 103822 103823 if int32((uint32((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X4)<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 103824 goto _41 103825 } 103826 103827 _sqlite3ErrorMsg(tls, _pParse, str(103032), _i+i32(1)) 103828 r0 = i32(1) 103829 return 103830 103831 _41: 103832 _i += 1 103833 goto _37 103834 103835 _40: 103836 r0 = i32(0) 103837 return 103838 103839 } 103840 103841 var _resolveCompoundOrderByØ00__func__Ø000 [23]int8 // - 103842 103843 func init() { 103844 crt.Xstrncpy(nil, &_resolveCompoundOrderByØ00__func__Ø000[0], str(103096), 23) 103845 } 103846 103847 func _resolveOrderByTermToExprList(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect, _pE *XExpr) (r0 int32) { // sqlite3.c:90064:1 103848 var _i int32 // sqlite3.c:90069:7 103849 _ = _i 103850 var _pEList *XExprList // sqlite3.c:90070:12 103851 _ = _pEList 103852 var _nc XNameContext // sqlite3.c:90071:15 103853 _ = _nc 103854 var _db *Xsqlite3 // sqlite3.c:90072:11 103855 _ = _db 103856 var _rc int32 // sqlite3.c:90073:7 103857 _ = _rc 103858 var _savedSuppErr uint8 // sqlite3.c:90074:6 103859 _ = _savedSuppErr 103860 func() int32 { 103861 if _sqlite3ExprIsInteger(tls, _pE, &_i) == i32(0) { 103862 return i32(0) 103863 } 103864 return func() int32 { 103865 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90076), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveOrderByTermToExprListØ00__func__Ø000))), unsafe.Pointer(str(103120))) 103866 crt.X__builtin_abort(tls) 103867 return i32(0) 103868 }() 103869 }() 103870 _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) 103871 crt.Xmemset(tls, (unsafe.Pointer)(&_nc), i32(0), u32(32)) 103872 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(0 /* X0 */))))) = _pParse 103873 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(4 /* X1 */))))) = (*XSrcList)(unsafe.Pointer(_pSelect.X8)) 103874 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(8 /* X2 */))))) = _pEList 103875 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(28 /* X7 */))) = uint16(i32(1)) 103876 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_nc)) + uintptr(24 /* X6 */))) = i32(0) 103877 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 103878 _savedSuppErr = _db.X21 103879 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(69 /* X21 */))) = uint8(i32(1)) 103880 _rc = _sqlite3ResolveExprNames(tls, &_nc, _pE) 103881 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(69 /* X21 */))) = _savedSuppErr 103882 if _rc == 0 { 103883 goto _2 103884 } 103885 103886 r0 = i32(0) 103887 return 103888 103889 _2: 103890 _i = i32(0) 103891 _3: 103892 if _i >= (_pEList.X0) { 103893 goto _6 103894 } 103895 103896 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_i))).X0)), _pE, i32(-1)) >= i32(2) { 103897 goto _7 103898 } 103899 103900 r0 = _i + i32(1) 103901 return 103902 103903 _7: 103904 _i += 1 103905 goto _3 103906 103907 _6: 103908 r0 = i32(0) 103909 return 103910 103911 } 103912 103913 var _resolveOrderByTermToExprListØ00__func__Ø000 [29]int8 // - 103914 103915 func init() { 103916 crt.Xstrncpy(nil, &_resolveOrderByTermToExprListØ00__func__Ø000[0], str(103152), 29) 103917 } 103918 103919 func _sqlite3SelectAddTypeInfo(tls *crt.TLS, _pParse *XParse, _pSelect *XSelect) { // sqlite3.c:120886:1 103920 var _w XWalker // sqlite3.c:120888:10 103921 _ = _w 103922 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 103923 *(*func(*crt.TLS, *XWalker, *XSelect))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(12 /* X3 */))))) = _selectAddSubqueryTypeInfo 103924 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _sqlite3ExprWalkNoop 103925 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(0 /* X0 */))))) = _pParse 103926 _sqlite3WalkSelect(tls, &_w, _pSelect) 103927 return 103928 103929 } 103930 103931 func _selectAddSubqueryTypeInfo(tls *crt.TLS, _pWalker *XWalker, _p *XSelect) { // sqlite3.c:120852:1 103932 var _pParse *XParse // sqlite3.c:120853:9 103933 _ = _pParse 103934 var _i int32 // sqlite3.c:120854:7 103935 _ = _i 103936 var _pTabList *XSrcList // sqlite3.c:120855:11 103937 _ = _pTabList 103938 var _pFrom *T7840217 // sqlite3.c:120856:23 103939 _ = _pFrom 103940 var _1_pTab *XTable // sqlite3.c:120864:11 103941 _ = _1_pTab 103942 var _2_pSel *XSelect // sqlite3.c:120868:14 103943 _ = _2_pSel 103944 func() int32 { 103945 if ((_p.X3) & uint32(i32(4))) != 0 { 103946 return i32(0) 103947 } 103948 return func() int32 { 103949 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120858), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectAddSubqueryTypeInfoØ00__func__Ø000))), unsafe.Pointer(str(103184))) 103950 crt.X__builtin_abort(tls) 103951 return i32(0) 103952 }() 103953 }() 103954 func() int32 { 103955 if ((_p.X3) & uint32(i32(128))) == uint32(i32(0)) { 103956 return i32(0) 103957 } 103958 return func() int32 { 103959 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120859), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectAddSubqueryTypeInfoØ00__func__Ø000))), unsafe.Pointer(str(103212))) 103960 crt.X__builtin_abort(tls) 103961 return i32(0) 103962 }() 103963 }() 103964 { 103965 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 103966 *p = (*p) | uint32(i32(128)) 103967 sink985 = *p 103968 } 103969 _pParse = (*XParse)(unsafe.Pointer(_pWalker.X0)) 103970 _pTabList = (*XSrcList)(unsafe.Pointer(_p.X8)) 103971 *func() **T7840217 { _i = i32(0); return &_pFrom }() = (*T7840217)(unsafe.Pointer((*[1]struct { 103972 X0 unsafe.Pointer 103973 X1 *int8 103974 X2 *int8 103975 X3 *int8 103976 X4 unsafe.Pointer 103977 X5 unsafe.Pointer 103978 X6 int32 103979 X7 int32 103980 X8 int32 103981 X9 struct { 103982 X0 uint8 103983 X1 int8 103984 } 103985 X10 uint8 103986 X11 int32 103987 X12 unsafe.Pointer 103988 X13 unsafe.Pointer 103989 X14 uint64 103990 X15 struct { 103991 X [0]struct { 103992 X0 *int8 103993 X1 unsafe.Pointer 103994 } 103995 U [4]byte 103996 } 103997 X16 unsafe.Pointer 103998 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) 103999 _4: 104000 if _i >= (_pTabList.X0) { 104001 goto _7 104002 } 104003 104004 _1_pTab = (*XTable)(unsafe.Pointer(_pFrom.X4)) 104005 func() int32 { 104006 if _1_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 104007 return i32(0) 104008 } 104009 return func() int32 { 104010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120865), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectAddSubqueryTypeInfoØ00__func__Ø000))), unsafe.Pointer(str(45992))) 104011 crt.X__builtin_abort(tls) 104012 return i32(0) 104013 }() 104014 }() 104015 if ((_1_pTab.X9) & uint32(i32(2))) == uint32(i32(0)) { 104016 goto _10 104017 } 104018 104019 _2_pSel = (*XSelect)(unsafe.Pointer(_pFrom.X5)) 104020 if _2_pSel == nil { 104021 goto _11 104022 } 104023 104024 _12: 104025 if (*XSelect)(unsafe.Pointer(_2_pSel.X13)) == nil { 104026 goto _13 104027 } 104028 104029 _2_pSel = (*XSelect)(unsafe.Pointer(_2_pSel.X13)) 104030 goto _12 104031 104032 _13: 104033 _sqlite3SelectAddColumnTypeAndCollation(tls, _pParse, _1_pTab, _2_pSel) 104034 _11: 104035 _10: 104036 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pFrom }())) += uintptr(68) 104037 goto _4 104038 104039 _7: 104040 return 104041 104042 } 104043 104044 var _selectAddSubqueryTypeInfoØ00__func__Ø000 [26]int8 // - 104045 104046 func init() { 104047 crt.Xstrncpy(nil, &_selectAddSubqueryTypeInfoØ00__func__Ø000[0], str(103248), 26) 104048 } 104049 104050 func _flattenSubquery(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iFrom int32, _isAgg int32, _subqueryIsAgg int32) (r0 int32) { // sqlite3.c:119621:1 104051 var _zSavedAuthContext *int8 // sqlite3.c:119628:14 104052 _ = _zSavedAuthContext 104053 var _pParent *XSelect // sqlite3.c:119629:10 104054 _ = _pParent 104055 var _pSub *XSelect // sqlite3.c:119630:10 104056 _ = _pSub 104057 var _pSub1 *XSelect // sqlite3.c:119631:10 104058 _ = _pSub1 104059 var _pSrc *XSrcList // sqlite3.c:119632:11 104060 _ = _pSrc 104061 var _pSubSrc *XSrcList // sqlite3.c:119633:11 104062 _ = _pSubSrc 104063 var _pList *XExprList // sqlite3.c:119634:12 104064 _ = _pList 104065 var _iParent int32 // sqlite3.c:119635:7 104066 _ = _iParent 104067 var _i int32 // sqlite3.c:119636:7 104068 _ = _i 104069 var _pWhere *XExpr // sqlite3.c:119637:8 104070 _ = _pWhere 104071 var _pSubitem *T7840217 // sqlite3.c:119638:23 104072 _ = _pSubitem 104073 var _db *Xsqlite3 // sqlite3.c:119639:11 104074 _ = _db 104075 var _16_ii int32 // sqlite3.c:119764:11 104076 _ = _16_ii 104077 var _18_pNew *XSelect // sqlite3.c:119815:12 104078 _ = _18_pNew 104079 var _18_pOrderBy *XExprList // sqlite3.c:119816:14 104080 _ = _18_pOrderBy 104081 var _18_pLimit *XExpr // sqlite3.c:119817:10 104082 _ = _18_pLimit 104083 var _18_pOffset *XExpr // sqlite3.c:119818:10 104084 _ = _18_pOffset 104085 var _18_pPrior *XSelect // sqlite3.c:119819:12 104086 _ = _18_pPrior 104087 var _21_pTabToDel *XTable // sqlite3.c:119870:11 104088 _ = _21_pTabToDel 104089 var _22_pToplevel *XParse // sqlite3.c:119872:13 104090 _ = _22_pToplevel 104091 var _24_nSubSrc int32 // sqlite3.c:119895:9 104092 _ = _24_nSubSrc 104093 var _24_jointype uint8 // sqlite3.c:119896:8 104094 _ = _24_jointype 104095 var _32_zName *int8 // sqlite3.c:119961:14 104096 _ = _32_zName 104097 var _33_pOrderBy *XExprList // sqlite3.c:119977:16 104098 _ = _33_pOrderBy 104099 _zSavedAuthContext = _pParse.X65 104100 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 104101 func() int32 { 104102 if _p != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 104103 return i32(0) 104104 } 104105 return func() int32 { 104106 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119643), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(824))) 104107 crt.X__builtin_abort(tls) 104108 return i32(0) 104109 }() 104110 }() 104111 func() int32 { 104112 if (*XSelect)(unsafe.Pointer(_p.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 104113 return i32(0) 104114 } 104115 return func() int32 { 104116 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119644), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103276))) 104117 crt.X__builtin_abort(tls) 104118 return i32(0) 104119 }() 104120 }() 104121 if (int32(_db.X13) & i32(1)) == i32(0) { 104122 goto _4 104123 } 104124 104125 r0 = i32(0) 104126 return 104127 104128 _4: 104129 _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) 104130 func() int32 { 104131 if ((_pSrc != nil) && (_iFrom >= i32(0))) && (_iFrom < (_pSrc.X0)) { 104132 return i32(0) 104133 } 104134 return func() int32 { 104135 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119647), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103292))) 104136 crt.X__builtin_abort(tls) 104137 return i32(0) 104138 }() 104139 }() 104140 _pSubitem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104141 X0 unsafe.Pointer 104142 X1 *int8 104143 X2 *int8 104144 X3 *int8 104145 X4 unsafe.Pointer 104146 X5 unsafe.Pointer 104147 X6 int32 104148 X7 int32 104149 X8 int32 104150 X9 struct { 104151 X0 uint8 104152 X1 int8 104153 } 104154 X10 uint8 104155 X11 int32 104156 X12 unsafe.Pointer 104157 X13 unsafe.Pointer 104158 X14 uint64 104159 X15 struct { 104160 X [0]struct { 104161 X0 *int8 104162 X1 unsafe.Pointer 104163 } 104164 U [4]byte 104165 } 104166 X16 unsafe.Pointer 104167 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_iFrom))) 104168 _iParent = _pSubitem.X11 104169 _pSub = (*XSelect)(unsafe.Pointer(_pSubitem.X5)) 104170 func() int32 { 104171 if _pSub != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 104172 return i32(0) 104173 } 104174 return func() int32 { 104175 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119651), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103332))) 104176 crt.X__builtin_abort(tls) 104177 return i32(0) 104178 }() 104179 }() 104180 if _subqueryIsAgg == 0 { 104181 goto _11 104182 } 104183 104184 if _isAgg == 0 { 104185 goto _12 104186 } 104187 104188 r0 = i32(0) 104189 return 104190 104191 _12: 104192 if (_pSrc.X0) <= i32(1) { 104193 goto _13 104194 } 104195 104196 r0 = i32(0) 104197 return 104198 104199 _13: 104200 if ((*XExpr)(unsafe.Pointer(_p.X9)) == nil || (((*XExpr)(unsafe.Pointer(_p.X9)).X2)&uint32(i32(2097152))) == uint32(i32(0))) && (_sqlite3ExprListFlags(tls, (*XExprList)(unsafe.Pointer(_p.X0)))&uint32(i32(2097152))) == uint32(i32(0)) && (_sqlite3ExprListFlags(tls, (*XExprList)(unsafe.Pointer(_p.X12)))&uint32(i32(2097152))) == uint32(i32(0)) { 104201 goto _17 104202 } 104203 104204 r0 = i32(0) 104205 return 104206 104207 _17: 104208 _11: 104209 _pSubSrc = (*XSrcList)(unsafe.Pointer(_pSub.X8)) 104210 func() int32 { 104211 if _pSubSrc != nil { 104212 return i32(0) 104213 } 104214 return func() int32 { 104215 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119664), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103340))) 104216 crt.X__builtin_abort(tls) 104217 return i32(0) 104218 }() 104219 }() 104220 if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || (*XExpr)(unsafe.Pointer(_p.X15)) == nil { 104221 goto _21 104222 } 104223 104224 r0 = i32(0) 104225 return 104226 104227 _21: 104228 if (*XExpr)(unsafe.Pointer(_pSub.X16)) == nil { 104229 goto _22 104230 } 104231 104232 r0 = i32(0) 104233 return 104234 104235 _22: 104236 if ((_p.X3)&uint32(i32(256))) == uint32(i32(0)) || (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil { 104237 goto _24 104238 } 104239 104240 r0 = i32(0) 104241 return 104242 104243 _24: 104244 if (_pSubSrc.X0) != i32(0) { 104245 goto _25 104246 } 104247 104248 r0 = i32(0) 104249 return 104250 104251 _25: 104252 if ((_pSub.X3) & uint32(i32(1))) == 0 { 104253 goto _26 104254 } 104255 104256 r0 = i32(0) 104257 return 104258 104259 _26: 104260 if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || (_pSrc.X0) <= i32(1) && _isAgg == 0 { 104261 goto _29 104262 } 104263 104264 r0 = i32(0) 104265 return 104266 104267 _29: 104268 if ((_p.X3)&uint32(i32(1))) == uint32(i32(0)) || _subqueryIsAgg == 0 { 104269 goto _31 104270 } 104271 104272 r0 = i32(0) 104273 return 104274 104275 _31: 104276 if (*XExprList)(unsafe.Pointer(_p.X12)) == nil || (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { 104277 goto _33 104278 } 104279 104280 r0 = i32(0) 104281 return 104282 104283 _33: 104284 if _isAgg == 0 || (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { 104285 goto _35 104286 } 104287 104288 r0 = i32(0) 104289 return 104290 104291 _35: 104292 if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || (*XExpr)(unsafe.Pointer(_p.X9)) == nil { 104293 goto _37 104294 } 104295 104296 r0 = i32(0) 104297 return 104298 104299 _37: 104300 if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil || ((_p.X3)&uint32(i32(1))) == uint32(i32(0)) { 104301 goto _39 104302 } 104303 104304 r0 = i32(0) 104305 return 104306 104307 _39: 104308 if ((_pSub.X3) & uint32(i32(12288))) == 0 { 104309 goto _40 104310 } 104311 104312 r0 = i32(0) 104313 return 104314 104315 _40: 104316 if ((_p.X3)&uint32(i32(8192))) == 0 || (*XSelect)(unsafe.Pointer(_pSub.X13)) == nil { 104317 goto _42 104318 } 104319 104320 r0 = i32(0) 104321 return 104322 104323 _42: 104324 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem))+uintptr(36 /* X9 */))).X0) & i32(32)) == i32(0) { 104325 goto _43 104326 } 104327 104328 r0 = i32(0) 104329 return 104330 104331 _43: 104332 if (*XSelect)(unsafe.Pointer(_pSub.X13)) == nil { 104333 goto _44 104334 } 104335 104336 if (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { 104337 goto _45 104338 } 104339 104340 r0 = i32(0) 104341 return 104342 104343 _45: 104344 if _isAgg == 0 && ((_p.X3)&uint32(i32(1))) == uint32(i32(0)) && (_pSrc.X0) == i32(1) { 104345 goto _48 104346 } 104347 104348 r0 = i32(0) 104349 return 104350 104351 _48: 104352 _pSub1 = _pSub 104353 _49: 104354 if _pSub1 == nil { 104355 goto _52 104356 } 104357 104358 func() int32 { 104359 if (*XSrcList)(unsafe.Pointer(_pSub.X8)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 104360 return i32(0) 104361 } 104362 return func() int32 { 104363 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119751), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103348))) 104364 crt.X__builtin_abort(tls) 104365 return i32(0) 104366 }() 104367 }() 104368 func() int32 { 104369 if ((*XExprList)(unsafe.Pointer(_pSub.X0)).X0) == ((*XExprList)(unsafe.Pointer(_pSub1.X0)).X0) { 104370 return i32(0) 104371 } 104372 return func() int32 { 104373 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119752), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103364))) 104374 crt.X__builtin_abort(tls) 104375 return i32(0) 104376 }() 104377 }() 104378 if ((_pSub1.X3)&uint32(i32(9))) == uint32(i32(0)) && ((*XSelect)(unsafe.Pointer(_pSub1.X13)) == nil || int32(_pSub1.X1) == i32(116)) && ((*XSrcList)(unsafe.Pointer(_pSub1.X8)).X0) >= i32(1) { 104379 goto _60 104380 } 104381 104382 r0 = i32(0) 104383 return 104384 104385 _60: 104386 _pSub1 = (*XSelect)(unsafe.Pointer(_pSub1.X13)) 104387 goto _49 104388 104389 _52: 104390 if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { 104391 goto _61 104392 } 104393 104394 _16_ii = i32(0) 104395 _62: 104396 if _16_ii >= ((*XExprList)(unsafe.Pointer(_p.X12)).X0) { 104397 goto _65 104398 } 104399 104400 if int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X12)).X1)+20*uintptr(_16_ii)))))+uintptr(16 /* X5 */))))).X0) != i32(0) { 104401 goto _66 104402 } 104403 104404 r0 = i32(0) 104405 return 104406 104407 _66: 104408 _16_ii += 1 104409 goto _62 104410 104411 _65: 104412 _61: 104413 _44: 104414 if (Xsqlite3SelectTrace & i32(1)) == 0 { 104415 goto _67 104416 } 104417 104418 _sqlite3DebugPrintf(tls, func() *int8 { 104419 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 104420 return str(103408) 104421 }(), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_pSub), _iFrom) 104422 _67: 104423 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(452 /* X65 */))) = _pSubitem.X2 104424 _i = _sqlite3AuthCheck(tls, _pParse, i32(21), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 104425 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(452 /* X65 */))) = _zSavedAuthContext 104426 _pSub = (*XSelect)(unsafe.Pointer(_pSub.X13)) 104427 _68: 104428 if _pSub == nil { 104429 goto _71 104430 } 104431 104432 _18_pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) 104433 _18_pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) 104434 _18_pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) 104435 _18_pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) 104436 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 104437 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))))) = (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) 104438 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 104439 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 104440 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 104441 _18_pNew = _sqlite3SelectDup(tls, _db, _p, i32(0)) 104442 _sqlite3SelectSetName(tls, _18_pNew, (*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub))+uintptr(20 /* X6 */)))))) 104443 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = _18_pOffset 104444 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = _18_pLimit 104445 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = _18_pOrderBy 104446 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X8 */))))) = _pSrc 104447 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = uint8(i32(116)) 104448 if _18_pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 104449 goto _72 104450 } 104451 104452 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _18_pPrior 104453 goto _73 104454 104455 _72: 104456 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pNew)) + uintptr(60 /* X13 */))))) = _18_pPrior 104457 if _18_pPrior == nil { 104458 goto _74 104459 } 104460 104461 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pPrior)) + uintptr(64 /* X14 */))))) = _18_pNew 104462 _74: 104463 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pNew)) + uintptr(64 /* X14 */))))) = _p 104464 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _18_pNew 104465 if (Xsqlite3SelectTrace & i32(2)) == 0 { 104466 goto _75 104467 } 104468 104469 _sqlite3DebugPrintf(tls, func() *int8 { 104470 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 104471 return str(103436) 104472 }(), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_18_pNew))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_18_pNew)) 104473 _75: 104474 _73: 104475 if (_db.X17) == 0 { 104476 goto _76 104477 } 104478 104479 r0 = i32(1) 104480 return 104481 104482 _76: 104483 _pSub = (*XSelect)(unsafe.Pointer(_pSub.X13)) 104484 goto _68 104485 104486 _71: 104487 _pSub = store7851147(&_pSub1, (*XSelect)(unsafe.Pointer(_pSubitem.X5))) 104488 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubitem.X1)) 104489 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubitem.X2)) 104490 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubitem.X3)) 104491 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 104492 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 104493 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(12 /* X3 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 104494 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(20 /* X5 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 104495 if func() int32 { 104496 if (*XTable)(unsafe.Pointer(_pSubitem.X4)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 104497 return i32(1) 104498 } 104499 return func() int32 { 104500 func() int32 { 104501 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119869), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(5204))) 104502 crt.X__builtin_abort(tls) 104503 return i32(0) 104504 }() 104505 return i32(0) 104506 }() 104507 }() == 0 { 104508 goto _79 104509 } 104510 104511 _21_pTabToDel = (*XTable)(unsafe.Pointer(_pSubitem.X4)) 104512 if (_21_pTabToDel.X8) != uint32(i32(1)) { 104513 goto _80 104514 } 104515 104516 _22_pToplevel = func() *XParse { 104517 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 104518 return (*XParse)(unsafe.Pointer(_pParse.X39)) 104519 } 104520 return _pParse 104521 }() 104522 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_pTabToDel)) + uintptr(76 /* X21 */))))) = (*XTable)(unsafe.Pointer(_22_pToplevel.X68)) 104523 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_22_pToplevel)) + uintptr(468 /* X68 */))))) = _21_pTabToDel 104524 goto _83 104525 104526 _80: 104527 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_pTabToDel)) + uintptr(32 /* X8 */))) -= 1 104528 _83: 104529 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(16 /* X4 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 104530 _79: 104531 _pParent = _p 104532 _84: 104533 if _pParent == nil { 104534 goto _87 104535 } 104536 104537 _24_jointype = uint8(i32(0)) 104538 _pSubSrc = (*XSrcList)(unsafe.Pointer(_pSub.X8)) 104539 _24_nSubSrc = _pSubSrc.X0 104540 _pSrc = (*XSrcList)(unsafe.Pointer(_pParent.X8)) 104541 if _pSrc == nil { 104542 goto _88 104543 } 104544 104545 func() int32 { 104546 if _pParent == _p { 104547 return i32(0) 104548 } 104549 return func() int32 { 104550 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119902), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103488))) 104551 crt.X__builtin_abort(tls) 104552 return i32(0) 104553 }() 104554 }() 104555 _24_jointype = (*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubitem)) + uintptr(36 /* X9 */))).X0 104556 goto _91 104557 104558 _88: 104559 func() int32 { 104560 if _pParent != _p { 104561 return i32(0) 104562 } 104563 return func() int32 { 104564 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119905), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103500))) 104565 crt.X__builtin_abort(tls) 104566 return i32(0) 104567 }() 104568 }() 104569 _pSrc = store7839982((**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent))+uintptr(40 /* X8 */))))), _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))))) 104570 if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 104571 goto _94 104572 } 104573 104574 func() int32 { 104575 if (_db.X17) != 0 { 104576 return i32(0) 104577 } 104578 return func() int32 { 104579 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119908), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(50476))) 104580 crt.X__builtin_abort(tls) 104581 return i32(0) 104582 }() 104583 }() 104584 goto _87 104585 104586 _94: 104587 _91: 104588 if _24_nSubSrc <= i32(1) { 104589 goto _97 104590 } 104591 104592 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(40 /* X8 */))))) = store7839982(&_pSrc, _sqlite3SrcListEnlarge(tls, _db, _pSrc, _24_nSubSrc-i32(1), _iFrom+i32(1))) 104593 if (_db.X17) == 0 { 104594 goto _98 104595 } 104596 104597 goto _87 104598 104599 _98: 104600 _97: 104601 _i = i32(0) 104602 _99: 104603 if _i >= _24_nSubSrc { 104604 goto _102 104605 } 104606 104607 _sqlite3IdListDelete(tls, _db, (*XIdList)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104608 X0 unsafe.Pointer 104609 X1 *int8 104610 X2 *int8 104611 X3 *int8 104612 X4 unsafe.Pointer 104613 X5 unsafe.Pointer 104614 X6 int32 104615 X7 int32 104616 X8 int32 104617 X9 struct { 104618 X0 uint8 104619 X1 int8 104620 } 104621 X10 uint8 104622 X11 int32 104623 X12 unsafe.Pointer 104624 X13 unsafe.Pointer 104625 X14 uint64 104626 X15 struct { 104627 X [0]struct { 104628 X0 *int8 104629 X1 unsafe.Pointer 104630 } 104631 U [4]byte 104632 } 104633 X16 unsafe.Pointer 104634 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_i+_iFrom))).X13))) 104635 func() int32 { 104636 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104637 X0 unsafe.Pointer 104638 X1 *int8 104639 X2 *int8 104640 X3 *int8 104641 X4 unsafe.Pointer 104642 X5 unsafe.Pointer 104643 X6 int32 104644 X7 int32 104645 X8 int32 104646 X9 struct { 104647 X0 uint8 104648 X1 int8 104649 } 104650 X10 uint8 104651 X11 int32 104652 X12 unsafe.Pointer 104653 X13 unsafe.Pointer 104654 X14 uint64 104655 X15 struct { 104656 X [0]struct { 104657 X0 *int8 104658 X1 unsafe.Pointer 104659 } 104660 U [4]byte 104661 } 104662 X16 unsafe.Pointer 104663 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_i+_iFrom)))))+uintptr(36 /* X9 */))).X1)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 104664 return i32(0) 104665 } 104666 return func() int32 { 104667 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119940), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103512))) 104668 crt.X__builtin_abort(tls) 104669 return i32(0) 104670 }() 104671 }() 104672 *(*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104673 X0 unsafe.Pointer 104674 X1 *int8 104675 X2 *int8 104676 X3 *int8 104677 X4 unsafe.Pointer 104678 X5 unsafe.Pointer 104679 X6 int32 104680 X7 int32 104681 X8 int32 104682 X9 struct { 104683 X0 uint8 104684 X1 int8 104685 } 104686 X10 uint8 104687 X11 int32 104688 X12 unsafe.Pointer 104689 X13 unsafe.Pointer 104690 X14 uint64 104691 X15 struct { 104692 X [0]struct { 104693 X0 *int8 104694 X1 unsafe.Pointer 104695 } 104696 U [4]byte 104697 } 104698 X16 unsafe.Pointer 104699 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_i+_iFrom))) = *(*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104700 X0 unsafe.Pointer 104701 X1 *int8 104702 X2 *int8 104703 X3 *int8 104704 X4 unsafe.Pointer 104705 X5 unsafe.Pointer 104706 X6 int32 104707 X7 int32 104708 X8 int32 104709 X9 struct { 104710 X0 uint8 104711 X1 int8 104712 } 104713 X10 uint8 104714 X11 int32 104715 X12 unsafe.Pointer 104716 X13 unsafe.Pointer 104717 X14 uint64 104718 X15 struct { 104719 X [0]struct { 104720 X0 *int8 104721 X1 unsafe.Pointer 104722 } 104723 U [4]byte 104724 } 104725 X16 unsafe.Pointer 104726 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))) 104727 crt.Xmemset(tls, (unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104728 X0 unsafe.Pointer 104729 X1 *int8 104730 X2 *int8 104731 X3 *int8 104732 X4 unsafe.Pointer 104733 X5 unsafe.Pointer 104734 X6 int32 104735 X7 int32 104736 X8 int32 104737 X9 struct { 104738 X0 uint8 104739 X1 int8 104740 } 104741 X10 uint8 104742 X11 int32 104743 X12 unsafe.Pointer 104744 X13 unsafe.Pointer 104745 X14 uint64 104746 X15 struct { 104747 X [0]struct { 104748 X0 *int8 104749 X1 unsafe.Pointer 104750 } 104751 U [4]byte 104752 } 104753 X16 unsafe.Pointer 104754 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_i)))), i32(0), u32(68)) 104755 _i += 1 104756 goto _99 104757 104758 _102: 104759 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 104760 X0 unsafe.Pointer 104761 X1 *int8 104762 X2 *int8 104763 X3 *int8 104764 X4 unsafe.Pointer 104765 X5 unsafe.Pointer 104766 X6 int32 104767 X7 int32 104768 X8 int32 104769 X9 struct { 104770 X0 uint8 104771 X1 int8 104772 } 104773 X10 uint8 104774 X11 int32 104775 X12 unsafe.Pointer 104776 X13 unsafe.Pointer 104777 X14 uint64 104778 X15 struct { 104779 X [0]struct { 104780 X0 *int8 104781 X1 unsafe.Pointer 104782 } 104783 U [4]byte 104784 } 104785 X16 unsafe.Pointer 104786 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_iFrom)))))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))) = _24_jointype 104787 _pList = (*XExprList)(unsafe.Pointer(_pParent.X0)) 104788 _i = i32(0) 104789 _105: 104790 if _i >= (_pList.X0) { 104791 goto _108 104792 } 104793 104794 if ((*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(_i))).X1) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 104795 goto _109 104796 } 104797 104798 _32_zName = _sqlite3DbStrDup(tls, _db, (*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X2) 104799 _sqlite3Dequote(tls, _32_zName) 104800 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))))) + uintptr(4 /* X1 */))) = _32_zName 104801 _109: 104802 _i += 1 104803 goto _105 104804 104805 _108: 104806 if (*XExprList)(unsafe.Pointer(_pSub.X12)) == nil { 104807 goto _110 104808 } 104809 104810 _33_pOrderBy = (*XExprList)(unsafe.Pointer(_pSub.X12)) 104811 _i = i32(0) 104812 _111: 104813 if _i >= (_33_pOrderBy.X0) { 104814 goto _114 104815 } 104816 104817 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_33_pOrderBy.X1)+20*uintptr(_i)))))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) 104818 _i += 1 104819 goto _111 104820 104821 _114: 104822 func() int32 { 104823 if (*XExprList)(unsafe.Pointer(_pParent.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 104824 return i32(0) 104825 } 104826 return func() int32 { 104827 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119981), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103548))) 104828 crt.X__builtin_abort(tls) 104829 return i32(0) 104830 }() 104831 }() 104832 func() int32 { 104833 if (*XSelect)(unsafe.Pointer(_pSub.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 104834 return i32(0) 104835 } 104836 return func() int32 { 104837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119982), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103572))) 104838 crt.X__builtin_abort(tls) 104839 return i32(0) 104840 }() 104841 }() 104842 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(56 /* X12 */))))) = _33_pOrderBy 104843 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 104844 _110: 104845 _pWhere = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pSub.X9)), i32(0)) 104846 if _subqueryIsAgg == 0 { 104847 goto _119 104848 } 104849 104850 func() int32 { 104851 if (*XExpr)(unsafe.Pointer(_pParent.X11)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 104852 return i32(0) 104853 } 104854 return func() int32 { 104855 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119988), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103588))) 104856 crt.X__builtin_abort(tls) 104857 return i32(0) 104858 }() 104859 }() 104860 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(52 /* X11 */))))) = (*XExpr)(unsafe.Pointer(_pParent.X9)) 104861 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(44 /* X9 */))))) = _pWhere 104862 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(52 /* X11 */))))) = _sqlite3ExprAnd(tls, _db, _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pSub.X11)), i32(0)), (*XExpr)(unsafe.Pointer(_pParent.X11))) 104863 func() int32 { 104864 if (*XExprList)(unsafe.Pointer(_pParent.X10)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 104865 return i32(0) 104866 } 104867 return func() int32 { 104868 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119994), unsafe.Pointer((*int8)(unsafe.Pointer(&_flattenSubqueryØ00__func__Ø000))), unsafe.Pointer(str(103608))) 104869 crt.X__builtin_abort(tls) 104870 return i32(0) 104871 }() 104872 }() 104873 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(48 /* X10 */))))) = _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_pSub.X10)), i32(0)) 104874 goto _124 104875 104876 _119: 104877 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(44 /* X9 */))))) = _sqlite3ExprAnd(tls, _db, _pWhere, (*XExpr)(unsafe.Pointer(_pParent.X9))) 104878 _124: 104879 if int32(_db.X17) != i32(0) { 104880 goto _125 104881 } 104882 104883 _substSelect(tls, _pParse, _pParent, _iParent, (*XExprList)(unsafe.Pointer(_pSub.X0)), i32(0)) 104884 _125: 104885 { 104886 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(8 /* X3 */))) 104887 *p = (*p) | ((_pSub.X3) & uint32(i32(1))) 104888 sink985 = *p 104889 } 104890 if (*XExpr)(unsafe.Pointer(_pSub.X15)) == nil { 104891 goto _126 104892 } 104893 104894 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParent)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(_pSub.X15)) 104895 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSub)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 104896 _126: 104897 *func() **XSelect { _pParent = (*XSelect)(unsafe.Pointer(_pParent.X13)); return &_pSub }() = (*XSelect)(unsafe.Pointer(_pSub.X13)) 104898 goto _84 104899 104900 _87: 104901 _sqlite3SelectDelete(tls, _db, _pSub1) 104902 if (Xsqlite3SelectTrace & i32(256)) == 0 { 104903 goto _127 104904 } 104905 104906 if (Xsqlite3SelectTrace & i32(256)) == 0 { 104907 goto _128 104908 } 104909 104910 _sqlite3DebugPrintf(tls, func() *int8 { 104911 _sqlite3DebugPrintf(tls, str(48176), ((_pParse.X35)*i32(2))-i32(2), unsafe.Pointer(str(196)), unsafe.Pointer((*int8)(unsafe.Pointer((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X6 */)))))), unsafe.Pointer(_p)) 104912 return str(103632) 104913 }()) 104914 _128: 104915 _sqlite3TreeViewSelect(tls, (*T7849498)(unsafe.Pointer(uintptr(i32(0)))), _p, uint8(i32(0))) 104916 _127: 104917 r0 = i32(1) 104918 return 104919 104920 } 104921 104922 var _flattenSubqueryØ00__func__Ø000 [16]int8 // - 104923 104924 func init() { 104925 crt.Xstrncpy(nil, &_flattenSubqueryØ00__func__Ø000[0], str(103652), 16) 104926 } 104927 104928 func _substSelect(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iTable int32, _pEList *XExprList, _doPrior int32) { // sqlite3.c:119452:1 104929 var _pSrc *XSrcList // sqlite3.c:119459:11 104930 _ = _pSrc 104931 var _pItem *T7840217 // sqlite3.c:119460:23 104932 _ = _pItem 104933 var _i int32 // sqlite3.c:119461:7 104934 _ = _i 104935 if _p != nil { 104936 goto _0 104937 } 104938 104939 return 104940 104941 _0: 104942 _1: 104943 _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X0)), _iTable, _pEList) 104944 _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X10)), _iTable, _pEList) 104945 _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_p.X12)), _iTable, _pEList) 104946 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X11 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X11)), _iTable, _pEList) 104947 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X9 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X9)), _iTable, _pEList) 104948 _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) 104949 func() int32 { 104950 if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 104951 return i32(0) 104952 } 104953 return func() int32 { 104954 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119470), unsafe.Pointer((*int8)(unsafe.Pointer(&_substSelectØ00__func__Ø000))), unsafe.Pointer(str(50448))) 104955 crt.X__builtin_abort(tls) 104956 return i32(0) 104957 }() 104958 }() 104959 *func() **T7840217 { _i = _pSrc.X0; return &_pItem }() = (*T7840217)(unsafe.Pointer((*[1]struct { 104960 X0 unsafe.Pointer 104961 X1 *int8 104962 X2 *int8 104963 X3 *int8 104964 X4 unsafe.Pointer 104965 X5 unsafe.Pointer 104966 X6 int32 104967 X7 int32 104968 X8 int32 104969 X9 struct { 104970 X0 uint8 104971 X1 int8 104972 } 104973 X10 uint8 104974 X11 int32 104975 X12 unsafe.Pointer 104976 X13 unsafe.Pointer 104977 X14 uint64 104978 X15 struct { 104979 X [0]struct { 104980 X0 *int8 104981 X1 unsafe.Pointer 104982 } 104983 U [4]byte 104984 } 104985 X16 unsafe.Pointer 104986 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(8 /* X2 */))))) 104987 _4: 104988 if _i <= i32(0) { 104989 goto _7 104990 } 104991 104992 _substSelect(tls, _pParse, (*XSelect)(unsafe.Pointer(_pItem.X5)), _iTable, _pEList, i32(1)) 104993 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 104994 goto _8 104995 } 104996 104997 _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(60 /* X15 */))))))), _iTable, _pEList) 104998 _8: 104999 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i -= 1; return &_pItem }())) += uintptr(68) 105000 goto _4 105001 105002 _7: 105003 if _doPrior != 0 && (store7851147(&_p, (*XSelect)(unsafe.Pointer(_p.X13))) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) { 105004 goto _1 105005 } 105006 105007 return 105008 105009 } 105010 105011 func _substExprList(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _iTable int32, _pEList *XExprList) { // sqlite3.c:119440:1 105012 var _i int32 // sqlite3.c:119446:7 105013 _ = _i 105014 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 105015 goto _0 105016 } 105017 105018 return 105019 105020 _0: 105021 _i = i32(0) 105022 _1: 105023 if _i >= (_pList.X0) { 105024 goto _4 105025 } 105026 105027 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))))) + uintptr(0 /* X0 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X0)), _iTable, _pEList) 105028 _i += 1 105029 goto _1 105030 105031 _4: 105032 return 105033 105034 } 105035 105036 func _substExpr(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _iTable int32, _pEList *XExprList) (r0 *XExpr) { // sqlite3.c:119401:1 105037 var _db *Xsqlite3 // sqlite3.c:119407:11 105038 _ = _db 105039 var _3_pNew *XExpr // sqlite3.c:119413:12 105040 _ = _3_pNew 105041 var _3_pCopy *XExpr // sqlite3.c:119414:12 105042 _ = _3_pCopy 105043 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 105044 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 105045 goto _0 105046 } 105047 105048 r0 = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105049 return 105050 105051 _0: 105052 if int32(_pExpr.X0) != i32(152) || (_pExpr.X8) != _iTable { 105053 goto _2 105054 } 105055 105056 if int32(_pExpr.X9) >= i32(0) { 105057 goto _3 105058 } 105059 105060 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) 105061 goto _4 105062 105063 _3: 105064 _3_pCopy = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_pExpr.X9))).X0)) 105065 func() int32 { 105066 if (_pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) && (int32(_pExpr.X9) < (_pEList.X0)) { 105067 return i32(0) 105068 } 105069 return func() int32 { 105070 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119415), unsafe.Pointer((*int8)(unsafe.Pointer(&_substExprØ00__func__Ø000))), unsafe.Pointer(str(103668))) 105071 crt.X__builtin_abort(tls) 105072 return i32(0) 105073 }() 105074 }() 105075 func() int32 { 105076 if ((*XExpr)(unsafe.Pointer(_pExpr.X4)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer(_pExpr.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 105077 return i32(0) 105078 } 105079 return func() int32 { 105080 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119416), unsafe.Pointer((*int8)(unsafe.Pointer(&_substExprØ00__func__Ø000))), unsafe.Pointer(str(101680))) 105081 crt.X__builtin_abort(tls) 105082 return i32(0) 105083 }() 105084 }() 105085 if _sqlite3ExprIsVector(tls, _3_pCopy) == 0 { 105086 goto _11 105087 } 105088 105089 _sqlite3VectorErrorMsg(tls, _pParse, _3_pCopy) 105090 goto _12 105091 105092 _11: 105093 _3_pNew = _sqlite3ExprDup(tls, _db, _3_pCopy, i32(0)) 105094 if _3_pNew == nil || ((_pExpr.X2)&uint32(i32(1))) == 0 { 105095 goto _14 105096 } 105097 105098 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNew)) + uintptr(36 /* X11 */))) = _pExpr.X11 105099 { 105100 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pNew)) + uintptr(4 /* X2 */))) 105101 *p = (*p) | uint32(i32(1)) 105102 sink985 = *p 105103 } 105104 _14: 105105 _sqlite3ExprDelete(tls, _db, _pExpr) 105106 _pExpr = _3_pNew 105107 _12: 105108 _4: 105109 goto _15 105110 105111 _2: 105112 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(12 /* X4 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _iTable, _pEList) 105113 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(16 /* X5 */))))) = _substExpr(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _iTable, _pEList) 105114 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 105115 goto _16 105116 } 105117 105118 _substSelect(tls, _pParse, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), _iTable, _pEList, i32(1)) 105119 goto _17 105120 105121 _16: 105122 _substExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))), _iTable, _pEList) 105123 _17: 105124 _15: 105125 r0 = _pExpr 105126 return 105127 105128 } 105129 105130 var _substExprØ00__func__Ø000 [10]int8 // - 105131 105132 func init() { 105133 crt.Xstrncpy(nil, &_substExprØ00__func__Ø000[0], str(103712), 10) 105134 } 105135 105136 func _sqlite3VectorErrorMsg(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) { // sqlite3.c:93147:1 105137 if ((_pExpr.X2) & uint32(i32(2048))) == 0 { 105138 goto _0 105139 } 105140 105141 _sqlite3SubselectError(tls, _pParse, (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0)).X0, i32(1)) 105142 goto _1 105143 105144 _0: 105145 _sqlite3ErrorMsg(tls, _pParse, str(45564)) 105146 _1: 105147 return 105148 105149 } 105150 105151 func _sqlite3SubselectError(tls *crt.TLS, _pParse *XParse, _nActual int32, _nExpect int32) { // sqlite3.c:93130:1 105152 var _zFmt *int8 // sqlite3.c:93131:14 105153 _ = _zFmt 105154 _zFmt = str(103724) 105155 _sqlite3ErrorMsg(tls, _pParse, _zFmt, _nActual, _nExpect) 105156 return 105157 105158 } 105159 105160 var _substSelectØ00__func__Ø000 [12]int8 // - 105161 105162 func init() { 105163 crt.Xstrncpy(nil, &_substSelectØ00__func__Ø000[0], str(103768), 12) 105164 } 105165 105166 func _multiSelect(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:118473:1 105167 var _rc int32 // sqlite3.c:118478:7 105168 _ = _rc 105169 var _pPrior *XSelect // sqlite3.c:118479:10 105170 _ = _pPrior 105171 var _v *XVdbe // sqlite3.c:118480:8 105172 _ = _v 105173 var _dest XSelectDest // sqlite3.c:118481:14 105174 _ = _dest 105175 var _pDelete *XSelect // sqlite3.c:118482:10 105176 _ = _pDelete 105177 var _db *Xsqlite3 // sqlite3.c:118483:11 105178 _ = _db 105179 var _iSub1 int32 // sqlite3.c:118485:7 105180 _ = _iSub1 105181 var _iSub2 int32 // sqlite3.c:118486:7 105182 _ = _iSub2 105183 var _8_addr int32 // sqlite3.c:118550:11 105184 _ = _8_addr 105185 var _8_nLimit int32 // sqlite3.c:118551:11 105186 _ = _8_nLimit 105187 var _14_unionTab int32 // sqlite3.c:118594:11 105188 _ = _14_unionTab 105189 var _14_op uint8 // sqlite3.c:118595:10 105190 _ = _14_op 105191 var _14_priorOp int32 // sqlite3.c:118596:11 105192 _ = _14_priorOp 105193 var _14_pLimit *XExpr // sqlite3.c:118597:12 105194 _ = _14_pLimit 105195 var _14_pOffset *XExpr // sqlite3.c:118597:21 105196 _ = _14_pOffset 105197 var _14_addr int32 // sqlite3.c:118598:11 105198 _ = _14_addr 105199 var _14_uniondest XSelectDest // sqlite3.c:118599:18 105200 _ = _14_uniondest 105201 var _21_iCont int32 // sqlite3.c:118671:13 105202 _ = _21_iCont 105203 var _21_iBreak int32 // sqlite3.c:118671:20 105204 _ = _21_iBreak 105205 var _21_iStart int32 // sqlite3.c:118671:28 105206 _ = _21_iStart 105207 var _22_pFirst *XSelect // sqlite3.c:118674:18 105208 _ = _22_pFirst 105209 var _23_tab1 int32 // sqlite3.c:118693:11 105210 _ = _23_tab1 105211 var _23_tab2 int32 // sqlite3.c:118693:17 105212 _ = _23_tab2 105213 var _23_iCont int32 // sqlite3.c:118694:11 105214 _ = _23_iCont 105215 var _23_iBreak int32 // sqlite3.c:118694:18 105216 _ = _23_iBreak 105217 var _23_iStart int32 // sqlite3.c:118694:26 105218 _ = _23_iStart 105219 var _23_pLimit *XExpr // sqlite3.c:118695:12 105220 _ = _23_pLimit 105221 var _23_pOffset *XExpr // sqlite3.c:118695:21 105222 _ = _23_pOffset 105223 var _23_addr int32 // sqlite3.c:118696:11 105224 _ = _23_addr 105225 var _23_intersectdest XSelectDest // sqlite3.c:118697:18 105226 _ = _23_intersectdest 105227 var _23_r1 int32 // sqlite3.c:118698:11 105228 _ = _23_r1 105229 var _25_pFirst *XSelect // sqlite3.c:118749:16 105230 _ = _25_pFirst 105231 var _26_i int32 // sqlite3.c:118784:9 105232 _ = _26_i 105233 var _26_pKeyInfo *XKeyInfo // sqlite3.c:118785:13 105234 _ = _26_pKeyInfo 105235 var _26_pLoop *XSelect // sqlite3.c:118786:12 105236 _ = _26_pLoop 105237 var _26_apColl **XCollSeq // sqlite3.c:118787:13 105238 _ = _26_apColl 105239 var _26_nCol int32 // sqlite3.c:118788:9 105240 _ = _26_nCol 105241 var _31_addr int32 // sqlite3.c:118806:13 105242 _ = _31_addr 105243 _rc = i32(0) 105244 _pDelete = nil 105245 _iSub1 = i32(0) 105246 _iSub2 = i32(0) 105247 func() int32 { 105248 if (_p != nil) && ((*XSelect)(unsafe.Pointer(_p.X13)) != nil) { 105249 return i32(0) 105250 } 105251 return func() int32 { 105252 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118492), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103780))) 105253 crt.X__builtin_abort(tls) 105254 return i32(0) 105255 }() 105256 }() 105257 func() int32 { 105258 if ((((_p.X3) & uint32(i32(8192))) == uint32(i32(0))) || (int32(_p.X1) == i32(116))) || (int32(_p.X1) == i32(115)) { 105259 return i32(0) 105260 } 105261 return func() int32 { 105262 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118493), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103796))) 105263 crt.X__builtin_abort(tls) 105264 return i32(0) 105265 }() 105266 }() 105267 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 105268 _pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) 105269 _dest = *_pDest 105270 if (*XExprList)(unsafe.Pointer(_pPrior.X12)) == nil { 105271 goto _7 105272 } 105273 105274 _sqlite3ErrorMsg(tls, _pParse, str(103864), unsafe.Pointer(_selectOpName(tls, int32(_p.X1)))) 105275 _rc = i32(1) 105276 goto _multi_select_end 105277 105278 _7: 105279 if (*XExpr)(unsafe.Pointer(_pPrior.X15)) == nil { 105280 goto _8 105281 } 105282 105283 _sqlite3ErrorMsg(tls, _pParse, str(103912), unsafe.Pointer(_selectOpName(tls, int32(_p.X1)))) 105284 _rc = i32(1) 105285 goto _multi_select_end 105286 105287 _8: 105288 _v = _sqlite3GetVdbe(tls, _pParse) 105289 func() int32 { 105290 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 105291 return i32(0) 105292 } 105293 return func() int32 { 105294 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118511), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(44352))) 105295 crt.X__builtin_abort(tls) 105296 return i32(0) 105297 }() 105298 }() 105299 if int32(_dest.X0) != i32(12) { 105300 goto _11 105301 } 105302 105303 func() int32 { 105304 if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { 105305 return i32(0) 105306 } 105307 return func() int32 { 105308 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118516), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103960))) 105309 crt.X__builtin_abort(tls) 105310 return i32(0) 105311 }() 105312 }() 105313 _sqlite3VdbeAddOp2(tls, _v, i32(108), _dest.X2, (*XExprList)(unsafe.Pointer(_p.X0)).X0) 105314 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_dest)) + uintptr(0 /* X0 */))) = uint8(i32(14)) 105315 _11: 105316 if ((_p.X3) & uint32(i32(1024))) == 0 { 105317 goto _14 105318 } 105319 105320 _rc = _multiSelectValues(tls, _pParse, _p, &_dest) 105321 goto _multi_select_end 105322 105323 _14: 105324 func() int32 { 105325 if ((*XExprList)(unsafe.Pointer(_p.X0)) != nil) && ((*XExprList)(unsafe.Pointer(_pPrior.X0)) != nil) { 105326 return i32(0) 105327 } 105328 return func() int32 { 105329 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118531), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103972))) 105330 crt.X__builtin_abort(tls) 105331 return i32(0) 105332 }() 105333 }() 105334 func() int32 { 105335 if ((*XExprList)(unsafe.Pointer(_p.X0)).X0) == ((*XExprList)(unsafe.Pointer(_pPrior.X0)).X0) { 105336 return i32(0) 105337 } 105338 return func() int32 { 105339 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118532), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104000))) 105340 crt.X__builtin_abort(tls) 105341 return i32(0) 105342 }() 105343 }() 105344 if ((_p.X3) & uint32(i32(8192))) == 0 { 105345 goto _20 105346 } 105347 105348 _generateWithRecursiveQuery(tls, _pParse, _p, &_dest) 105349 goto _21 105350 105351 _20: 105352 if (*XExprList)(unsafe.Pointer(_p.X12)) == nil { 105353 goto _22 105354 } 105355 105356 r0 = _multiSelectOrderBy(tls, _pParse, _p, _pDest) 105357 return 105358 105359 _22: 105360 switch int32(_p.X1) { 105361 case i32(115): 105362 goto _27 105363 case i32(116): 105364 goto _25 105365 case i32(117): 105366 goto _26 105367 default: 105368 goto _28 105369 } 105370 105371 _25: 105372 _8_addr = i32(0) 105373 func() int32 { 105374 if (*XExpr)(unsafe.Pointer(_pPrior.X15)) == nil { 105375 return i32(0) 105376 } 105377 return func() int32 { 105378 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118552), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104040))) 105379 crt.X__builtin_abort(tls) 105380 return i32(0) 105381 }() 105382 }() 105383 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(12 /* X4 */))) = _p.X4 105384 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(16 /* X5 */))) = _p.X5 105385 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(_p.X15)) 105386 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(_p.X16)) 105387 _iSub1 = _pParse.X59 105388 _rc = _sqlite3Select(tls, _pParse, _pPrior, &_dest) 105389 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105390 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105391 if _rc == 0 { 105392 goto _31 105393 } 105394 105395 goto _multi_select_end 105396 105397 _31: 105398 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 105399 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = _pPrior.X4 105400 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = _pPrior.X5 105401 if (_p.X4) == 0 { 105402 goto _32 105403 } 105404 105405 _8_addr = _sqlite3VdbeAddOp1(tls, _v, i32(22), _p.X4) 105406 _sqlite3VdbeComment(tls, _v, str(104056)) 105407 if (_p.X5) == 0 { 105408 goto _33 105409 } 105410 105411 _sqlite3VdbeAddOp3(tls, _v, i32(147), _p.X4, (_p.X5)+i32(1), _p.X5) 105412 _33: 105413 _32: 105414 _iSub2 = _pParse.X59 105415 _rc = _sqlite3Select(tls, _pParse, _p, &_dest) 105416 _pDelete = (*XSelect)(unsafe.Pointer(_p.X13)) 105417 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _pPrior 105418 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _sqlite3LogEstAdd(tls, _p.X2, _pPrior.X2) 105419 if (*XExpr)(unsafe.Pointer(_pPrior.X15)) == nil || _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_pPrior.X15)), &_8_nLimit) == 0 || _8_nLimit <= i32(0) || int32(_p.X2) <= int32(_sqlite3LogEst(tls, uint64(_8_nLimit))) { 105420 goto _37 105421 } 105422 105423 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _sqlite3LogEst(tls, uint64(_8_nLimit)) 105424 _37: 105425 if _8_addr == 0 { 105426 goto _38 105427 } 105428 105429 _sqlite3VdbeJumpHere(tls, _v, _8_addr) 105430 _38: 105431 goto _39 105432 105433 _26: 105434 _27: 105435 _14_op = u8(0) 105436 _14_priorOp = i32(1) 105437 if int32(_dest.X0) != _14_priorOp { 105438 goto _40 105439 } 105440 105441 func() int32 { 105442 if (*XExpr)(unsafe.Pointer(_p.X15)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 105443 return i32(0) 105444 } 105445 return func() int32 { 105446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118608), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104084))) 105447 crt.X__builtin_abort(tls) 105448 return i32(0) 105449 }() 105450 }() 105451 func() int32 { 105452 if (*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 105453 return i32(0) 105454 } 105455 return func() int32 { 105456 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118609), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104100))) 105457 crt.X__builtin_abort(tls) 105458 return i32(0) 105459 }() 105460 }() 105461 _14_unionTab = _dest.X2 105462 goto _45 105463 105464 _40: 105465 _14_unionTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 105466 func() int32 { 105467 if (*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 105468 return i32(0) 105469 } 105470 return func() int32 { 105471 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118616), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104116))) 105472 crt.X__builtin_abort(tls) 105473 return i32(0) 105474 }() 105475 }() 105476 _14_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _14_unionTab, i32(0)) 105477 func() int32 { 105478 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0))))) == i32(-1) { 105479 return i32(0) 105480 } 105481 return func() int32 { 105482 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118618), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104132))) 105483 crt.X__builtin_abort(tls) 105484 return i32(0) 105485 }() 105486 }() 105487 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0)))) = _14_addr 105488 { 105489 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_findRightmost(tls, _p))) + uintptr(8 /* X3 */))) 105490 *p = (*p) | uint32(i32(32)) 105491 sink985 = *p 105492 } 105493 func() int32 { 105494 if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { 105495 return i32(0) 105496 } 105497 return func() int32 { 105498 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118621), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103960))) 105499 crt.X__builtin_abort(tls) 105500 return i32(0) 105501 }() 105502 }() 105503 _45: 105504 func() int32 { 105505 if (*XExprList)(unsafe.Pointer(_pPrior.X12)) == nil { 105506 return i32(0) 105507 } 105508 return func() int32 { 105509 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118626), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104160))) 105510 crt.X__builtin_abort(tls) 105511 return i32(0) 105512 }() 105513 }() 105514 _sqlite3SelectDestInit(tls, &_14_uniondest, _14_priorOp, _14_unionTab) 105515 _iSub1 = _pParse.X59 105516 _rc = _sqlite3Select(tls, _pParse, _pPrior, &_14_uniondest) 105517 if _rc == 0 { 105518 goto _54 105519 } 105520 105521 goto _multi_select_end 105522 105523 _54: 105524 if int32(_p.X1) != i32(117) { 105525 goto _55 105526 } 105527 105528 _14_op = uint8(i32(2)) 105529 goto _56 105530 105531 _55: 105532 func() int32 { 105533 if int32(_p.X1) == i32(115) { 105534 return i32(0) 105535 } 105536 return func() int32 { 105537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118639), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104180))) 105538 crt.X__builtin_abort(tls) 105539 return i32(0) 105540 }() 105541 }() 105542 _14_op = uint8(i32(1)) 105543 _56: 105544 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 105545 _14_pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) 105546 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105547 _14_pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) 105548 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105549 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_14_uniondest)) + uintptr(0 /* X0 */))) = _14_op 105550 _iSub2 = _pParse.X59 105551 _rc = _sqlite3Select(tls, _pParse, _p, &_14_uniondest) 105552 _sqlite3ExprListDelete(tls, _db, (*XExprList)(unsafe.Pointer(_p.X12))) 105553 _pDelete = (*XSelect)(unsafe.Pointer(_p.X13)) 105554 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _pPrior 105555 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 105556 if int32(_p.X1) != i32(115) { 105557 goto _59 105558 } 105559 105560 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _sqlite3LogEstAdd(tls, _p.X2, _pPrior.X2) 105561 _59: 105562 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) 105563 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = _14_pLimit 105564 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = _14_pOffset 105565 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = i32(0) 105566 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = i32(0) 105567 func() int32 { 105568 if (_14_unionTab == (_dest.X2)) || (int32(_dest.X0) != _14_priorOp) { 105569 return i32(0) 105570 } 105571 return func() int32 { 105572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118669), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104196))) 105573 crt.X__builtin_abort(tls) 105574 return i32(0) 105575 }() 105576 }() 105577 if int32(_dest.X0) == _14_priorOp { 105578 goto _63 105579 } 105580 105581 func() int32 { 105582 if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { 105583 return i32(0) 105584 } 105585 return func() int32 { 105586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118672), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103960))) 105587 crt.X__builtin_abort(tls) 105588 return i32(0) 105589 }() 105590 }() 105591 if int32(_dest.X0) != i32(9) { 105592 goto _66 105593 } 105594 105595 _22_pFirst = _p 105596 _67: 105597 if (*XSelect)(unsafe.Pointer(_22_pFirst.X13)) == nil { 105598 goto _68 105599 } 105600 105601 _22_pFirst = (*XSelect)(unsafe.Pointer(_22_pFirst.X13)) 105602 goto _67 105603 105604 _68: 105605 _generateColumnNames(tls, _pParse, (*XSrcList)(unsafe.Pointer(_22_pFirst.X8)), (*XExprList)(unsafe.Pointer(_22_pFirst.X0))) 105606 _66: 105607 _21_iBreak = _sqlite3VdbeMakeLabel(tls, _v) 105608 _21_iCont = _sqlite3VdbeMakeLabel(tls, _v) 105609 _computeLimitRegisters(tls, _pParse, _p, _21_iBreak) 105610 _sqlite3VdbeAddOp2(tls, _v, i32(58), _14_unionTab, _21_iBreak) 105611 _21_iStart = _sqlite3VdbeCurrentAddr(tls, _v) 105612 _selectInnerLoop(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X0)), _14_unionTab, (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))), (*XDistinctCtx)(unsafe.Pointer(uintptr(i32(0)))), &_dest, _21_iCont, _21_iBreak) 105613 _sqlite3VdbeResolveLabel(tls, _v, _21_iCont) 105614 _sqlite3VdbeAddOp2(tls, _v, i32(7), _14_unionTab, _21_iStart) 105615 _sqlite3VdbeResolveLabel(tls, _v, _21_iBreak) 105616 _sqlite3VdbeAddOp2(tls, _v, i32(112), _14_unionTab, i32(0)) 105617 _63: 105618 goto _39 105619 105620 _28: 105621 func() int32 { 105622 if int32(_p.X1) == i32(118) { 105623 return i32(0) 105624 } 105625 return func() int32 { 105626 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118692), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104244))) 105627 crt.X__builtin_abort(tls) 105628 return i32(0) 105629 }() 105630 }() 105631 _23_tab1 = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 105632 _23_tab2 = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 105633 func() int32 { 105634 if (*XExprList)(unsafe.Pointer(_p.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 105635 return i32(0) 105636 } 105637 return func() int32 { 105638 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118706), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104116))) 105639 crt.X__builtin_abort(tls) 105640 return i32(0) 105641 }() 105642 }() 105643 _23_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _23_tab1, i32(0)) 105644 func() int32 { 105645 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0))))) == i32(-1) { 105646 return i32(0) 105647 } 105648 return func() int32 { 105649 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118709), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104132))) 105650 crt.X__builtin_abort(tls) 105651 return i32(0) 105652 }() 105653 }() 105654 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0)))) = _23_addr 105655 { 105656 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_findRightmost(tls, _p))) + uintptr(8 /* X3 */))) 105657 *p = (*p) | uint32(i32(32)) 105658 sink985 = *p 105659 } 105660 func() int32 { 105661 if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { 105662 return i32(0) 105663 } 105664 return func() int32 { 105665 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118712), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103960))) 105666 crt.X__builtin_abort(tls) 105667 return i32(0) 105668 }() 105669 }() 105670 _sqlite3SelectDestInit(tls, &_23_intersectdest, i32(1), _23_tab1) 105671 _iSub1 = _pParse.X59 105672 _rc = _sqlite3Select(tls, _pParse, _pPrior, &_23_intersectdest) 105673 if _rc == 0 { 105674 goto _77 105675 } 105676 105677 goto _multi_select_end 105678 105679 _77: 105680 _23_addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _23_tab2, i32(0)) 105681 func() int32 { 105682 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(1))))) == i32(-1) { 105683 return i32(0) 105684 } 105685 return func() int32 { 105686 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118726), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104264))) 105687 crt.X__builtin_abort(tls) 105688 return i32(0) 105689 }() 105690 }() 105691 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(1)))) = _23_addr 105692 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 105693 _23_pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) 105694 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105695 _23_pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) 105696 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 105697 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_23_intersectdest)) + uintptr(8 /* X2 */))) = _23_tab2 105698 _iSub2 = _pParse.X59 105699 _rc = _sqlite3Select(tls, _pParse, _p, &_23_intersectdest) 105700 _pDelete = (*XSelect)(unsafe.Pointer(_p.X13)) 105701 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _pPrior 105702 if int32(_p.X2) <= int32(_pPrior.X2) { 105703 goto _80 105704 } 105705 105706 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _pPrior.X2 105707 _80: 105708 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) 105709 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = _23_pLimit 105710 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = _23_pOffset 105711 func() int32 { 105712 if (*XExprList)(unsafe.Pointer(_p.X0)) != nil { 105713 return i32(0) 105714 } 105715 return func() int32 { 105716 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118747), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(103960))) 105717 crt.X__builtin_abort(tls) 105718 return i32(0) 105719 }() 105720 }() 105721 if int32(_dest.X0) != i32(9) { 105722 goto _83 105723 } 105724 105725 _25_pFirst = _p 105726 _84: 105727 if (*XSelect)(unsafe.Pointer(_25_pFirst.X13)) == nil { 105728 goto _85 105729 } 105730 105731 _25_pFirst = (*XSelect)(unsafe.Pointer(_25_pFirst.X13)) 105732 goto _84 105733 105734 _85: 105735 _generateColumnNames(tls, _pParse, (*XSrcList)(unsafe.Pointer(_25_pFirst.X8)), (*XExprList)(unsafe.Pointer(_25_pFirst.X0))) 105736 _83: 105737 _23_iBreak = _sqlite3VdbeMakeLabel(tls, _v) 105738 _23_iCont = _sqlite3VdbeMakeLabel(tls, _v) 105739 _computeLimitRegisters(tls, _pParse, _p, _23_iBreak) 105740 _sqlite3VdbeAddOp2(tls, _v, i32(58), _23_tab1, _23_iBreak) 105741 _23_r1 = _sqlite3GetTempReg(tls, _pParse) 105742 _23_iStart = _sqlite3VdbeAddOp2(tls, _v, i32(122), _23_tab1, _23_r1) 105743 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _23_tab2, _23_iCont, _23_r1, i32(0)) 105744 _sqlite3ReleaseTempReg(tls, _pParse, _23_r1) 105745 _selectInnerLoop(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X0)), _23_tab1, (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))), (*XDistinctCtx)(unsafe.Pointer(uintptr(i32(0)))), &_dest, _23_iCont, _23_iBreak) 105746 _sqlite3VdbeResolveLabel(tls, _v, _23_iCont) 105747 _sqlite3VdbeAddOp2(tls, _v, i32(7), _23_tab1, _23_iStart) 105748 _sqlite3VdbeResolveLabel(tls, _v, _23_iBreak) 105749 _sqlite3VdbeAddOp2(tls, _v, i32(112), _23_tab2, i32(0)) 105750 _sqlite3VdbeAddOp2(tls, _v, i32(112), _23_tab1, i32(0)) 105751 goto _39 105752 105753 _39: 105754 _21: 105755 _explainComposite(tls, _pParse, int32(_p.X1), _iSub1, _iSub2, bool2int(int32(_p.X1) != i32(116))) 105756 if ((_p.X3) & uint32(i32(32))) == 0 { 105757 goto _86 105758 } 105759 105760 func() int32 { 105761 if (*XSelect)(unsafe.Pointer(_p.X14)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 105762 return i32(0) 105763 } 105764 return func() int32 { 105765 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118790), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104292))) 105766 crt.X__builtin_abort(tls) 105767 return i32(0) 105768 }() 105769 }() 105770 _26_nCol = (*XExprList)(unsafe.Pointer(_p.X0)).X0 105771 _26_pKeyInfo = _sqlite3KeyInfoAlloc(tls, _db, _26_nCol, i32(1)) 105772 if _26_pKeyInfo != nil { 105773 goto _89 105774 } 105775 105776 _rc = _sqlite3NomemError(tls, i32(118794)) 105777 goto _multi_select_end 105778 105779 _89: 105780 *func() ***XCollSeq { _26_i = i32(0); return &_26_apColl }() = (**XCollSeq)(unsafe.Pointer((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pKeyInfo)) + uintptr(20 /* X6 */))))) 105781 _90: 105782 if _26_i >= _26_nCol { 105783 goto _93 105784 } 105785 105786 *_26_apColl = _multiSelectCollSeq(tls, _pParse, _p, _26_i) 105787 if (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) != (*_26_apColl) { 105788 goto _94 105789 } 105790 105791 *_26_apColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 105792 _94: 105793 *(*uintptr)(unsafe.Pointer(func() ***XCollSeq { _26_i += 1; return &_26_apColl }())) += uintptr(4) 105794 goto _90 105795 105796 _93: 105797 _26_pLoop = _p 105798 _95: 105799 if _26_pLoop == nil { 105800 goto _98 105801 } 105802 105803 _26_i = i32(0) 105804 _99: 105805 if _26_i >= i32(2) { 105806 goto _102 105807 } 105808 105809 _31_addr = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLoop))+uintptr(32 /* X7 */))))) + 4*uintptr(_26_i))) 105810 if _31_addr >= i32(0) { 105811 goto _103 105812 } 105813 105814 func() int32 { 105815 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLoop))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(1))))) < i32(0) { 105816 return i32(0) 105817 } 105818 return func() int32 { 105819 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118810), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectØ00__func__Ø000))), unsafe.Pointer(str(104304))) 105820 crt.X__builtin_abort(tls) 105821 return i32(0) 105822 }() 105823 }() 105824 goto _102 105825 105826 _103: 105827 _sqlite3VdbeChangeP2(tls, _v, uint32(_31_addr), _26_nCol) 105828 _sqlite3VdbeChangeP4(tls, _v, _31_addr, (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _26_pKeyInfo))), i32(-5)) 105829 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pLoop))+uintptr(32 /* X7 */))))) + 4*uintptr(_26_i))) = i32(-1) 105830 _26_i += 1 105831 goto _99 105832 105833 _102: 105834 _26_pLoop = (*XSelect)(unsafe.Pointer(_26_pLoop.X13)) 105835 goto _95 105836 105837 _98: 105838 _sqlite3KeyInfoUnref(tls, _26_pKeyInfo) 105839 _86: 105840 _multi_select_end: 105841 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(12 /* X3 */))) = _dest.X3 105842 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(16 /* X4 */))) = _dest.X4 105843 _sqlite3SelectDelete(tls, _db, _pDelete) 105844 r0 = _rc 105845 return 105846 105847 } 105848 105849 var _multiSelectØ00__func__Ø000 [12]int8 // - 105850 105851 func init() { 105852 crt.Xstrncpy(nil, &_multiSelectØ00__func__Ø000[0], str(104332), 12) 105853 } 105854 105855 func _multiSelectValues(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:118410:1 105856 var _pPrior *XSelect // sqlite3.c:118415:10 105857 _ = _pPrior 105858 var _nRow int32 // sqlite3.c:118416:7 105859 _ = _nRow 105860 var _rc int32 // sqlite3.c:118417:7 105861 _ = _rc 105862 _nRow = i32(1) 105863 _rc = i32(0) 105864 func() int32 { 105865 if ((_p.X3) & uint32(i32(1024))) != 0 { 105866 return i32(0) 105867 } 105868 return func() int32 { 105869 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118418), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104344))) 105870 crt.X__builtin_abort(tls) 105871 return i32(0) 105872 }() 105873 }() 105874 _2: 105875 func() int32 { 105876 if ((_p.X3) & uint32(i32(512))) != 0 { 105877 return i32(0) 105878 } 105879 return func() int32 { 105880 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118420), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104372))) 105881 crt.X__builtin_abort(tls) 105882 return i32(0) 105883 }() 105884 }() 105885 func() int32 { 105886 if (int32(_p.X1) == i32(116)) || ((int32(_p.X1) == i32(119)) && ((*XSelect)(unsafe.Pointer(_p.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))))) { 105887 return i32(0) 105888 } 105889 return func() int32 { 105890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118421), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104396))) 105891 crt.X__builtin_abort(tls) 105892 return i32(0) 105893 }() 105894 }() 105895 func() int32 { 105896 if (*XExpr)(unsafe.Pointer(_p.X15)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 105897 return i32(0) 105898 } 105899 return func() int32 { 105900 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118422), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104084))) 105901 crt.X__builtin_abort(tls) 105902 return i32(0) 105903 }() 105904 }() 105905 func() int32 { 105906 if (*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 105907 return i32(0) 105908 } 105909 return func() int32 { 105910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118423), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104100))) 105911 crt.X__builtin_abort(tls) 105912 return i32(0) 105913 }() 105914 }() 105915 func() int32 { 105916 if ((*XSelect)(unsafe.Pointer(_p.X14)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) || (((*XExprList)(unsafe.Pointer(_p.X0)).X0) == ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_p.X14)).X0)).X0)) { 105917 return i32(0) 105918 } 105919 return func() int32 { 105920 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118424), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104448))) 105921 crt.X__builtin_abort(tls) 105922 return i32(0) 105923 }() 105924 }() 105925 if (*XSelect)(unsafe.Pointer(_p.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 105926 goto _16 105927 } 105928 105929 goto _17 105930 105931 _16: 105932 func() int32 { 105933 if (*XSelect)(unsafe.Pointer((*XSelect)(unsafe.Pointer(_p.X13)).X14)) == _p { 105934 return i32(0) 105935 } 105936 return func() int32 { 105937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118426), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectValuesØ00__func__Ø000))), unsafe.Pointer(str(104508))) 105938 crt.X__builtin_abort(tls) 105939 return i32(0) 105940 }() 105941 }() 105942 _p = (*XSelect)(unsafe.Pointer(_p.X13)) 105943 _nRow += 1 105944 goto _2 105945 105946 _17: 105947 _20: 105948 if _p == nil { 105949 goto _21 105950 } 105951 105952 _pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) 105953 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 105954 _rc = _sqlite3Select(tls, _pParse, _p, _pDest) 105955 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _pPrior 105956 if _rc == 0 { 105957 goto _22 105958 } 105959 105960 goto _21 105961 105962 _22: 105963 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = int16(_nRow) 105964 _p = (*XSelect)(unsafe.Pointer(_p.X14)) 105965 goto _20 105966 105967 _21: 105968 r0 = _rc 105969 return 105970 105971 } 105972 105973 var _multiSelectValuesØ00__func__Ø000 [18]int8 // - 105974 105975 func init() { 105976 crt.Xstrncpy(nil, &_multiSelectValuesØ00__func__Ø000[0], str(104528), 18) 105977 } 105978 105979 func _generateWithRecursiveQuery(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) { // sqlite3.c:118260:1 105980 var _pSrc *XSrcList // sqlite3.c:118265:11 105981 _ = _pSrc 105982 var _nCol int32 // sqlite3.c:118266:7 105983 _ = _nCol 105984 var _v *XVdbe // sqlite3.c:118267:8 105985 _ = _v 105986 var _pSetup *XSelect // sqlite3.c:118268:10 105987 _ = _pSetup 105988 var _addrTop int32 // sqlite3.c:118269:7 105989 _ = _addrTop 105990 var _addrCont int32 // sqlite3.c:118270:7 105991 _ = _addrCont 105992 var _addrBreak int32 // sqlite3.c:118270:17 105993 _ = _addrBreak 105994 var _iCurrent int32 // sqlite3.c:118271:7 105995 _ = _iCurrent 105996 var _regCurrent int32 // sqlite3.c:118272:7 105997 _ = _regCurrent 105998 var _iQueue int32 // sqlite3.c:118273:7 105999 _ = _iQueue 106000 var _iDistinct int32 // sqlite3.c:118274:7 106001 _ = _iDistinct 106002 var _eDest int32 // sqlite3.c:118275:7 106003 _ = _eDest 106004 var _destQueue XSelectDest // sqlite3.c:118276:14 106005 _ = _destQueue 106006 var _i int32 // sqlite3.c:118277:7 106007 _ = _i 106008 var _rc int32 // sqlite3.c:118278:7 106009 _ = _rc 106010 var _pOrderBy *XExprList // sqlite3.c:118279:12 106011 _ = _pOrderBy 106012 var _pLimit *XExpr // sqlite3.c:118280:8 106013 _ = _pLimit 106014 var _pOffset *XExpr // sqlite3.c:118280:17 106015 _ = _pOffset 106016 var _regLimit int32 // sqlite3.c:118281:7 106017 _ = _regLimit 106018 var _regOffset int32 // sqlite3.c:118281:17 106019 _ = _regOffset 106020 var _5_pKeyInfo *XKeyInfo // sqlite3.c:118322:13 106021 _ = _5_pKeyInfo 106022 _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) 106023 _nCol = (*XExprList)(unsafe.Pointer(_p.X0)).X0 106024 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 106025 _pSetup = (*XSelect)(unsafe.Pointer(_p.X13)) 106026 _iCurrent = i32(0) 106027 _iDistinct = i32(0) 106028 _eDest = i32(5) 106029 if _sqlite3AuthCheck(tls, _pParse, i32(33), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 106030 goto _0 106031 } 106032 106033 return 106034 106035 _0: 106036 _addrBreak = _sqlite3VdbeMakeLabel(tls, _v) 106037 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = int16(i32(320)) 106038 _computeLimitRegisters(tls, _pParse, _p, _addrBreak) 106039 _pLimit = (*XExpr)(unsafe.Pointer(_p.X15)) 106040 _pOffset = (*XExpr)(unsafe.Pointer(_p.X16)) 106041 _regLimit = _p.X4 106042 _regOffset = _p.X5 106043 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = store7851696((**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(72 /* X16 */))))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 106044 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(16 /* X5 */))), i32(0)) 106045 _pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) 106046 _i = i32(0) 106047 _1: 106048 if func() int32 { 106049 if _i < (_pSrc.X0) { 106050 return i32(1) 106051 } 106052 return func() int32 { 106053 func() int32 { 106054 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118299), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateWithRecursiveQueryØ00__func__Ø000))), unsafe.Pointer(str(5204))) 106055 crt.X__builtin_abort(tls) 106056 return i32(0) 106057 }() 106058 return i32(0) 106059 }() 106060 }() == 0 { 106061 goto _6 106062 } 106063 106064 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 106065 X0 unsafe.Pointer 106066 X1 *int8 106067 X2 *int8 106068 X3 *int8 106069 X4 unsafe.Pointer 106070 X5 unsafe.Pointer 106071 X6 int32 106072 X7 int32 106073 X8 int32 106074 X9 struct { 106075 X0 uint8 106076 X1 int8 106077 } 106078 X10 uint8 106079 X11 int32 106080 X12 unsafe.Pointer 106081 X13 unsafe.Pointer 106082 X14 uint64 106083 X15 struct { 106084 X [0]struct { 106085 X0 *int8 106086 X1 unsafe.Pointer 106087 } 106088 U [4]byte 106089 } 106090 X16 unsafe.Pointer 106091 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_i)))))+uintptr(36 /* X9 */))).X1)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { 106092 goto _7 106093 } 106094 106095 _iCurrent = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 106096 X0 unsafe.Pointer 106097 X1 *int8 106098 X2 *int8 106099 X3 *int8 106100 X4 unsafe.Pointer 106101 X5 unsafe.Pointer 106102 X6 int32 106103 X7 int32 106104 X8 int32 106105 X9 struct { 106106 X0 uint8 106107 X1 int8 106108 } 106109 X10 uint8 106110 X11 int32 106111 X12 unsafe.Pointer 106112 X13 unsafe.Pointer 106113 X14 uint64 106114 X15 struct { 106115 X [0]struct { 106116 X0 *int8 106117 X1 unsafe.Pointer 106118 } 106119 U [4]byte 106120 } 106121 X16 unsafe.Pointer 106122 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))).X11 106123 goto _6 106124 106125 _7: 106126 _i += 1 106127 goto _1 106128 106129 _6: 106130 _iQueue = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 106131 if int32(_p.X1) != i32(115) { 106132 goto _8 106133 } 106134 106135 _eDest = func() int32 { 106136 if _pOrderBy != nil { 106137 return i32(8) 106138 } 106139 return i32(6) 106140 }() 106141 _iDistinct = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 106142 goto _11 106143 106144 _8: 106145 _eDest = func() int32 { 106146 if _pOrderBy != nil { 106147 return i32(7) 106148 } 106149 return i32(5) 106150 }() 106151 _11: 106152 _sqlite3SelectDestInit(tls, &_destQueue, _eDest, _iQueue) 106153 _regCurrent = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 106154 _sqlite3VdbeAddOp3(tls, _v, i32(111), _iCurrent, _regCurrent, _nCol) 106155 if _pOrderBy == nil { 106156 goto _14 106157 } 106158 106159 _5_pKeyInfo = _multiSelectOrderByKeyInfo(tls, _pParse, _p, i32(1)) 106160 _sqlite3VdbeAddOp4(tls, _v, i32(108), _iQueue, (_pOrderBy.X0)+i32(2), i32(0), (*int8)(unsafe.Pointer(_5_pKeyInfo)), i32(-5)) 106161 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_destQueue)) + uintptr(20 /* X5 */))))) = _pOrderBy 106162 goto _15 106163 106164 _14: 106165 _sqlite3VdbeAddOp2(tls, _v, i32(108), _iQueue, _nCol) 106166 _15: 106167 _sqlite3VdbeComment(tls, _v, str(104548)) 106168 if _iDistinct == 0 { 106169 goto _16 106170 } 106171 106172 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0)))) = _sqlite3VdbeAddOp2(tls, _v, i32(108), _iDistinct, i32(0)) 106173 { 106174 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 106175 *p = (*p) | uint32(i32(32)) 106176 sink985 = *p 106177 } 106178 _16: 106179 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 106180 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSetup)) + uintptr(64 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 106181 _rc = _sqlite3Select(tls, _pParse, _pSetup, &_destQueue) 106182 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSetup)) + uintptr(64 /* X14 */))))) = _p 106183 if _rc == 0 { 106184 goto _17 106185 } 106186 106187 goto _end_of_recursive_query 106188 106189 _17: 106190 _addrTop = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iQueue, _addrBreak) 106191 _sqlite3VdbeAddOp1(tls, _v, i32(124), _iCurrent) 106192 if _pOrderBy == nil { 106193 goto _18 106194 } 106195 106196 _sqlite3VdbeAddOp3(tls, _v, i32(98), _iQueue, (_pOrderBy.X0)+i32(1), _regCurrent) 106197 goto _19 106198 106199 _18: 106200 _sqlite3VdbeAddOp2(tls, _v, i32(122), _iQueue, _regCurrent) 106201 _19: 106202 _sqlite3VdbeAddOp1(tls, _v, i32(118), _iQueue) 106203 _addrCont = _sqlite3VdbeMakeLabel(tls, _v) 106204 _codeOffset(tls, _v, _regOffset, _addrCont) 106205 _selectInnerLoop(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X0)), _iCurrent, (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))), (*XDistinctCtx)(unsafe.Pointer(uintptr(i32(0)))), _pDest, _addrCont, _addrBreak) 106206 if _regLimit == 0 { 106207 goto _20 106208 } 106209 106210 _sqlite3VdbeAddOp2(tls, _v, i32(69), _regLimit, _addrBreak) 106211 _20: 106212 _sqlite3VdbeResolveLabel(tls, _v, _addrCont) 106213 if ((_p.X3) & uint32(i32(8))) == 0 { 106214 goto _21 106215 } 106216 106217 _sqlite3ErrorMsg(tls, _pParse, str(104560)) 106218 goto _22 106219 106220 _21: 106221 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 106222 _sqlite3Select(tls, _pParse, _p, &_destQueue) 106223 func() int32 { 106224 if (*XSelect)(unsafe.Pointer(_p.X13)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 106225 return i32(0) 106226 } 106227 return func() int32 { 106228 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118375), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateWithRecursiveQueryØ00__func__Ø000))), unsafe.Pointer(str(103276))) 106229 crt.X__builtin_abort(tls) 106230 return i32(0) 106231 }() 106232 }() 106233 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _pSetup 106234 _22: 106235 _sqlite3VdbeGoto(tls, _v, _addrTop) 106236 _sqlite3VdbeResolveLabel(tls, _v, _addrBreak) 106237 _end_of_recursive_query: 106238 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer(_p.X12))) 106239 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = _pOrderBy 106240 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = _pLimit 106241 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = _pOffset 106242 return 106243 106244 } 106245 106246 func _computeLimitRegisters(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iBreak int32) { // sqlite3.c:118113:1 106247 var _v *XVdbe // sqlite3.c:118114:8 106248 _ = _v 106249 var _iLimit int32 // sqlite3.c:118115:7 106250 _ = _iLimit 106251 var _iOffset int32 // sqlite3.c:118116:7 106252 _ = _iOffset 106253 var _n int32 // sqlite3.c:118117:7 106254 _ = _n 106255 _v = nil 106256 _iLimit = i32(0) 106257 if (_p.X4) == 0 { 106258 goto _0 106259 } 106260 106261 return 106262 106263 _0: 106264 _sqlite3ExprCacheClear(tls, _pParse) 106265 func() int32 { 106266 if ((*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((*XExpr)(unsafe.Pointer(_p.X15)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 106267 return i32(0) 106268 } 106269 return func() int32 { 106270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118127), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeLimitRegistersØ00__func__Ø000))), unsafe.Pointer(str(104604))) 106271 crt.X__builtin_abort(tls) 106272 return i32(0) 106273 }() 106274 }() 106275 if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { 106276 goto _4 106277 } 106278 106279 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = store961(&_iLimit, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 106280 _v = _sqlite3GetVdbe(tls, _pParse) 106281 func() int32 { 106282 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 106283 return i32(0) 106284 } 106285 return func() int32 { 106286 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118131), unsafe.Pointer((*int8)(unsafe.Pointer(&_computeLimitRegistersØ00__func__Ø000))), unsafe.Pointer(str(44352))) 106287 crt.X__builtin_abort(tls) 106288 return i32(0) 106289 }() 106290 }() 106291 if _sqlite3ExprIsInteger(tls, (*XExpr)(unsafe.Pointer(_p.X15)), &_n) == 0 { 106292 goto _7 106293 } 106294 106295 _sqlite3VdbeAddOp2(tls, _v, i32(77), _n, _iLimit) 106296 _sqlite3VdbeComment(tls, _v, str(104636)) 106297 if _n != i32(0) { 106298 goto _8 106299 } 106300 106301 _sqlite3VdbeGoto(tls, _v, _iBreak) 106302 goto _9 106303 106304 _8: 106305 if _n < i32(0) || int32(_p.X2) <= int32(_sqlite3LogEst(tls, uint64(_n))) { 106306 goto _11 106307 } 106308 106309 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _sqlite3LogEst(tls, uint64(_n)) 106310 { 106311 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))) 106312 *p = (*p) | uint32(i32(16384)) 106313 sink985 = *p 106314 } 106315 _11: 106316 _9: 106317 goto _12 106318 106319 _7: 106320 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X15)), _iLimit) 106321 _sqlite3VdbeAddOp1(tls, _v, i32(17), _iLimit) 106322 _sqlite3VdbeComment(tls, _v, str(104636)) 106323 _sqlite3VdbeAddOp2(tls, _v, i32(22), _iLimit, _iBreak) 106324 _12: 106325 if (*XExpr)(unsafe.Pointer(_p.X16)) == nil { 106326 goto _13 106327 } 106328 106329 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = store961(&_iOffset, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 106330 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) += 1 106331 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer(_p.X16)), _iOffset) 106332 _sqlite3VdbeAddOp1(tls, _v, i32(17), _iOffset) 106333 _sqlite3VdbeComment(tls, _v, str(104652)) 106334 _sqlite3VdbeAddOp3(tls, _v, i32(147), _iLimit, _iOffset+i32(1), _iOffset) 106335 _sqlite3VdbeComment(tls, _v, str(104668)) 106336 _13: 106337 _4: 106338 return 106339 106340 } 106341 106342 func _sqlite3ExprCacheClear(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:94006:1 106343 var _i int32 // sqlite3.c:94007:7 106344 _ = _i 106345 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(4096)) == 0 { 106346 goto _0 106347 } 106348 106349 crt.Xprintf(tls, str(104684)) 106350 _0: 106351 _i = i32(0) 106352 _1: 106353 if _i >= int32(_pParse.X13) { 106354 goto _4 106355 } 106356 106357 if ((*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 106358 X0 int32 106359 X1 int16 106360 X2 uint8 106361 X3 int32 106362 X4 int32 106363 X5 int32 106364 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */)))))+20*uintptr(_i))).X2) == 0 || int32(_pParse.X7) >= i32(8) { 106365 goto _6 106366 } 106367 106368 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(360 /* X49 */))))) + 4*uintptr(postInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(19 /* X7 */))), uint8(1))))) = (*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 106369 X0 int32 106370 X1 int16 106371 X2 uint8 106372 X3 int32 106373 X4 int32 106374 X5 int32 106375 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_i))).X4 106376 _6: 106377 _i += 1 106378 goto _1 106379 106380 _4: 106381 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(25 /* X13 */))) = uint8(i32(0)) 106382 return 106383 106384 } 106385 106386 var _computeLimitRegistersØ00__func__Ø000 [22]int8 // - 106387 106388 func init() { 106389 crt.Xstrncpy(nil, &_computeLimitRegistersØ00__func__Ø000[0], str(104692), 22) 106390 } 106391 106392 func _sqlite3VdbeGoto(tls *crt.TLS, _p *XVdbe, _iDest int32) (r0 int32) { // sqlite3.c:71556:1 106393 r0 = _sqlite3VdbeAddOp3(tls, _p, i32(13), i32(0), _iDest, i32(0)) 106394 return 106395 106396 } 106397 106398 var _generateWithRecursiveQueryØ00__func__Ø000 [27]int8 // - 106399 106400 func init() { 106401 crt.Xstrncpy(nil, &_generateWithRecursiveQueryØ00__func__Ø000[0], str(104716), 27) 106402 } 106403 106404 func _multiSelectOrderByKeyInfo(tls *crt.TLS, _pParse *XParse, _p *XSelect, _nExtra int32) (r0 *XKeyInfo) { // sqlite3.c:118194:1 106405 var _pOrderBy *XExprList // sqlite3.c:118195:12 106406 _ = _pOrderBy 106407 var _nOrderBy int32 // sqlite3.c:118196:7 106408 _ = _nOrderBy 106409 var _db *Xsqlite3 // sqlite3.c:118197:11 106410 _ = _db 106411 var _pRet *XKeyInfo // sqlite3.c:118198:11 106412 _ = _pRet 106413 var _1_i int32 // sqlite3.c:118200:9 106414 _ = _1_i 106415 var _2_pItem *T7850641 // sqlite3.c:118202:28 106416 _ = _2_pItem 106417 var _2_pTerm *XExpr // sqlite3.c:118203:12 106418 _ = _2_pTerm 106419 var _2_pColl *XCollSeq // sqlite3.c:118204:15 106420 _ = _2_pColl 106421 _pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) 106422 _nOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)).X0 106423 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 106424 _pRet = _sqlite3KeyInfoAlloc(tls, _db, _nOrderBy+_nExtra, i32(1)) 106425 if _pRet == nil { 106426 goto _0 106427 } 106428 106429 _1_i = i32(0) 106430 _1: 106431 if _1_i >= _nOrderBy { 106432 goto _4 106433 } 106434 106435 _2_pItem = (*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 20*uintptr(_1_i))) 106436 _2_pTerm = (*XExpr)(unsafe.Pointer(_2_pItem.X0)) 106437 if ((_2_pTerm.X2) & uint32(i32(256))) == 0 { 106438 goto _5 106439 } 106440 106441 _2_pColl = _sqlite3ExprCollSeq(tls, _pParse, _2_pTerm) 106442 goto _6 106443 106444 _5: 106445 _2_pColl = _multiSelectCollSeq(tls, _pParse, _p, int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pItem))+uintptr(16 /* X5 */))))).X0)-i32(1)) 106446 if _2_pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 106447 goto _7 106448 } 106449 106450 _2_pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 106451 _7: 106452 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_1_i))))) + uintptr(0 /* X0 */))))) = _sqlite3ExprAddCollateString(tls, _pParse, _2_pTerm, _2_pColl.X0) 106453 _6: 106454 func() int32 { 106455 if _sqlite3KeyInfoIsWriteable(tls, _pRet) != 0 { 106456 return i32(0) 106457 } 106458 return func() int32 { 106459 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118214), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByKeyInfoØ00__func__Ø000))), unsafe.Pointer(str(104744))) 106460 crt.X__builtin_abort(tls) 106461 return i32(0) 106462 }() 106463 }() 106464 *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet))+uintptr(20 /* X6 */))))) + 4*uintptr(_1_i))) = _2_pColl 106465 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet.X5)) + 1*uintptr(_1_i))) = (*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 20*uintptr(_1_i))).X3 106466 _1_i += 1 106467 goto _1 106468 106469 _4: 106470 _0: 106471 r0 = _pRet 106472 return 106473 106474 } 106475 106476 func _multiSelectCollSeq(tls *crt.TLS, _pParse *XParse, _p *XSelect, _iCol int32) (r0 *XCollSeq) { // sqlite3.c:118168:1 106477 var _pRet *XCollSeq // sqlite3.c:118169:11 106478 _ = _pRet 106479 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 106480 goto _0 106481 } 106482 106483 _pRet = _multiSelectCollSeq(tls, _pParse, (*XSelect)(unsafe.Pointer(_p.X13)), _iCol) 106484 goto _1 106485 106486 _0: 106487 _pRet = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) 106488 _1: 106489 func() int32 { 106490 if _iCol >= i32(0) { 106491 return i32(0) 106492 } 106493 return func() int32 { 106494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118175), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectCollSeqØ00__func__Ø000))), unsafe.Pointer(str(104776))) 106495 crt.X__builtin_abort(tls) 106496 return i32(0) 106497 }() 106498 }() 106499 if _pRet != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) || func() int32 { 106500 if _iCol < ((*XExprList)(unsafe.Pointer(_p.X0)).X0) { 106501 return i32(1) 106502 } 106503 return func() int32 { 106504 func() int32 { 106505 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118179), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectCollSeqØ00__func__Ø000))), unsafe.Pointer(str(5204))) 106506 crt.X__builtin_abort(tls) 106507 return i32(0) 106508 }() 106509 return i32(0) 106510 }() 106511 }() == 0 { 106512 goto _7 106513 } 106514 106515 _pRet = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X0)).X1)+20*uintptr(_iCol))).X0))) 106516 _7: 106517 r0 = _pRet 106518 return 106519 106520 } 106521 106522 var _multiSelectCollSeqØ00__func__Ø000 [19]int8 // - 106523 106524 func init() { 106525 crt.Xstrncpy(nil, &_multiSelectCollSeqØ00__func__Ø000[0], str(104784), 19) 106526 } 106527 106528 var _multiSelectOrderByKeyInfoØ00__func__Ø000 [26]int8 // - 106529 106530 func init() { 106531 crt.Xstrncpy(nil, &_multiSelectOrderByKeyInfoØ00__func__Ø000[0], str(104804), 26) 106532 } 106533 106534 func _codeOffset(tls *crt.TLS, _v *XVdbe, _iOffset int32, _iContinue int32) { // sqlite3.c:116872:1 106535 if _iOffset <= i32(0) { 106536 goto _0 106537 } 106538 106539 _sqlite3VdbeAddOp3(tls, _v, i32(67), _iOffset, _iContinue, i32(1)) 106540 _sqlite3VdbeComment(tls, _v, str(26616)) 106541 _0: 106542 return 106543 106544 } 106545 106546 func _selectInnerLoop(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pEList *XExprList, _srcTab int32, _pSort *XSortCtx, _pDistinct *XDistinctCtx, _pDest *XSelectDest, _iContinue int32, _iBreak int32) { // sqlite3.c:116920:1 106547 var _v *XVdbe // sqlite3.c:116931:8 106548 _ = _v 106549 var _i int32 // sqlite3.c:116932:7 106550 _ = _i 106551 var _hasDistinct int32 // sqlite3.c:116933:7 106552 _ = _hasDistinct 106553 var _eDest int32 // sqlite3.c:116934:7 106554 _ = _eDest 106555 var _iParm int32 // sqlite3.c:116935:7 106556 _ = _iParm 106557 var _nResultCol int32 // sqlite3.c:116936:7 106558 _ = _nResultCol 106559 var _nPrefixReg int32 // sqlite3.c:116937:7 106560 _ = _nPrefixReg 106561 var _regResult int32 // sqlite3.c:116944:7 106562 _ = _regResult 106563 var _regOrig int32 // sqlite3.c:116945:7 106564 _ = _regOrig 106565 var _7_ecelFlags uint8 // sqlite3.c:116987:8 106566 _ = _7_ecelFlags 106567 var _11_j int32 // sqlite3.c:117002:13 106568 _ = _11_j 106569 var _15_pOp *XVdbeOp // sqlite3.c:117021:16 106570 _ = _15_pOp 106571 var _15_iJump int32 // sqlite3.c:117022:13 106572 _ = _15_iJump 106573 var _15_regPrev int32 // sqlite3.c:117023:13 106574 _ = _15_regPrev 106575 var _16_pColl *XCollSeq // sqlite3.c:117043:19 106576 _ = _16_pColl 106577 var _23_r1 int32 // sqlite3.c:117082:11 106578 _ = _23_r1 106579 var _25_r1 int32 // sqlite3.c:117106:11 106580 _ = _25_r1 106581 var _26_addr int32 // sqlite3.c:117119:13 106582 _ = _26_addr 106583 var _28_r2 int32 // sqlite3.c:117129:13 106584 _ = _28_r2 106585 var _31_r1 int32 // sqlite3.c:117153:13 106586 _ = _31_r1 106587 var _40_nKey int32 // sqlite3.c:117215:11 106588 _ = _40_nKey 106589 var _40_r1 int32 // sqlite3.c:117216:11 106590 _ = _40_r1 106591 var _40_r2 int32 // sqlite3.c:117216:15 106592 _ = _40_r2 106593 var _40_r3 int32 // sqlite3.c:117216:19 106594 _ = _40_r3 106595 var _40_addrTest int32 // sqlite3.c:117217:11 106596 _ = _40_addrTest 106597 var _40_pSO *XExprList // sqlite3.c:117218:16 106598 _ = _40_pSO 106599 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 106600 _eDest = int32(_pDest.X0) 106601 _iParm = _pDest.X2 106602 _nPrefixReg = i32(0) 106603 func() int32 { 106604 if _v != nil { 106605 return i32(0) 106606 } 106607 return func() int32 { 106608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116947), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(44132))) 106609 crt.X__builtin_abort(tls) 106610 return i32(0) 106611 }() 106612 }() 106613 func() int32 { 106614 if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 106615 return i32(0) 106616 } 106617 return func() int32 { 106618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116948), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(47532))) 106619 crt.X__builtin_abort(tls) 106620 return i32(0) 106621 }() 106622 }() 106623 _hasDistinct = func() int32 { 106624 if _pDistinct != nil { 106625 return int32(_pDistinct.X1) 106626 } 106627 return i32(0) 106628 }() 106629 if _pSort == nil || (*XExprList)(unsafe.Pointer(_pSort.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 106630 goto _7 106631 } 106632 106633 _pSort = (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) 106634 _7: 106635 if _pSort != (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) || _hasDistinct != 0 { 106636 goto _9 106637 } 106638 106639 func() int32 { 106640 if _iContinue != i32(0) { 106641 return i32(0) 106642 } 106643 return func() int32 { 106644 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116952), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(104832))) 106645 crt.X__builtin_abort(tls) 106646 return i32(0) 106647 }() 106648 }() 106649 _codeOffset(tls, _v, _p.X5, _iContinue) 106650 _9: 106651 _nResultCol = _pEList.X0 106652 if (_pDest.X3) != i32(0) { 106653 goto _12 106654 } 106655 106656 if _pSort == nil { 106657 goto _13 106658 } 106659 106660 _nPrefixReg = (*XExprList)(unsafe.Pointer(_pSort.X0)).X0 106661 if (int32(_pSort.X7) & i32(1)) != 0 { 106662 goto _14 106663 } 106664 106665 _nPrefixReg += 1 106666 _14: 106667 { 106668 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 106669 *p = (*p) + _nPrefixReg 106670 sink961 = *p 106671 } 106672 _13: 106673 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(12 /* X3 */))) = (_pParse.X18) + i32(1) 106674 { 106675 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 106676 *p = (*p) + _nResultCol 106677 sink961 = *p 106678 } 106679 goto _15 106680 106681 _12: 106682 if ((_pDest.X3) + _nResultCol) <= (_pParse.X18) { 106683 goto _16 106684 } 106685 106686 { 106687 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 106688 *p = (*p) + _nResultCol 106689 sink961 = *p 106690 } 106691 _16: 106692 _15: 106693 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(16 /* X4 */))) = _nResultCol 106694 _regOrig = store961(&_regResult, _pDest.X3) 106695 if _srcTab < i32(0) { 106696 goto _17 106697 } 106698 106699 _i = i32(0) 106700 _18: 106701 if _i >= _nResultCol { 106702 goto _21 106703 } 106704 106705 _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _i, _regResult+_i) 106706 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_i))).X1)) 106707 _i += 1 106708 goto _18 106709 106710 _21: 106711 goto _22 106712 106713 _17: 106714 if _eDest == i32(3) { 106715 goto _23 106716 } 106717 106718 if _eDest != i32(10) && _eDest != i32(9) && _eDest != i32(13) { 106719 goto _26 106720 } 106721 106722 _7_ecelFlags = uint8(i32(1)) 106723 goto _27 106724 106725 _26: 106726 _7_ecelFlags = uint8(i32(0)) 106727 _27: 106728 if _pSort == nil || _hasDistinct != i32(0) || _eDest == i32(12) || _eDest == i32(14) { 106729 goto _31 106730 } 106731 106732 { 106733 p := &_7_ecelFlags 106734 *p = uint8(int32(*p) | i32(12)) 106735 sink6915 = *p 106736 } 106737 _i = _pSort.X1 106738 _32: 106739 if _i >= ((*XExprList)(unsafe.Pointer(_pSort.X0)).X0) { 106740 goto _35 106741 } 106742 106743 if store961(&_11_j, int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSort.X0)).X1)+20*uintptr(_i)))))+uintptr(16 /* X5 */))))).X0)) <= i32(0) { 106744 goto _36 106745 } 106746 106747 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_11_j-i32(1))))))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16((_i + i32(1)) - (_pSort.X1)) 106748 _36: 106749 _i += 1 106750 goto _32 106751 106752 _35: 106753 _regOrig = i32(0) 106754 func() int32 { 106755 if (((_eDest == i32(11)) || (_eDest == i32(10))) || (_eDest == i32(13))) || (_eDest == i32(9)) { 106756 return i32(0) 106757 } 106758 return func() int32 { 106759 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117008), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(104848))) 106760 crt.X__builtin_abort(tls) 106761 return i32(0) 106762 }() 106763 }() 106764 _31: 106765 _nResultCol = _sqlite3ExprCodeExprList(tls, _pParse, _pEList, _regResult, i32(0), _7_ecelFlags) 106766 _23: 106767 _22: 106768 if _hasDistinct == 0 { 106769 goto _42 106770 } 106771 106772 switch int32(_pDistinct.X1) { 106773 case i32(1): 106774 goto _45 106775 case i32(2): 106776 goto _44 106777 default: 106778 goto _46 106779 } 106780 106781 _44: 106782 _15_regPrev = (_pParse.X18) + i32(1) 106783 { 106784 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 106785 *p = (*p) + _nResultCol 106786 sink961 = *p 106787 } 106788 _sqlite3VdbeChangeToNoop(tls, _v, _pDistinct.X3) 106789 _15_pOp = _sqlite3VdbeGetOp(tls, _v, _pDistinct.X3) 106790 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(80)) 106791 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pOp)) + uintptr(4 /* X3 */))) = i32(1) 106792 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pOp)) + uintptr(8 /* X4 */))) = _15_regPrev 106793 _15_iJump = _sqlite3VdbeCurrentAddr(tls, _v) + _nResultCol 106794 _i = i32(0) 106795 _47: 106796 if _i >= _nResultCol { 106797 goto _50 106798 } 106799 106800 _16_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_i))).X0))) 106801 if _i >= (_nResultCol - i32(1)) { 106802 goto _51 106803 } 106804 106805 _sqlite3VdbeAddOp3(tls, _v, i32(36), _regResult+_i, _15_iJump, _15_regPrev+_i) 106806 goto _52 106807 106808 _51: 106809 _sqlite3VdbeAddOp3(tls, _v, i32(37), _regResult+_i, _iContinue, _15_regPrev+_i) 106810 _52: 106811 _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_16_pColl)), i32(-3)) 106812 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) 106813 _i += 1 106814 goto _47 106815 106816 _50: 106817 func() int32 { 106818 if (_sqlite3VdbeCurrentAddr(tls, _v) == _15_iJump) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 106819 return i32(0) 106820 } 106821 return func() int32 { 106822 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117054), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(104928))) 106823 crt.X__builtin_abort(tls) 106824 return i32(0) 106825 }() 106826 }() 106827 _sqlite3VdbeAddOp3(tls, _v, i32(85), _regResult, _15_regPrev, _nResultCol-i32(1)) 106828 goto _56 106829 106830 _45: 106831 _sqlite3VdbeChangeToNoop(tls, _v, _pDistinct.X3) 106832 goto _56 106833 106834 _46: 106835 func() int32 { 106836 if int32(_pDistinct.X1) == i32(3) { 106837 return i32(0) 106838 } 106839 return func() int32 { 106840 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117065), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(104992))) 106841 crt.X__builtin_abort(tls) 106842 return i32(0) 106843 }() 106844 }() 106845 _codeDistinct(tls, _pParse, _pDistinct.X2, _iContinue, _nResultCol, _regResult) 106846 goto _56 106847 106848 _56: 106849 if _pSort != (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) { 106850 goto _59 106851 } 106852 106853 _codeOffset(tls, _v, _p.X5, _iContinue) 106854 _59: 106855 _42: 106856 switch _eDest { 106857 case i32(1): 106858 goto _61 106859 case i32(2): 106860 goto _62 106861 case i32(3): 106862 goto _68 106863 case i32(5): 106864 goto _63 106865 case i32(6): 106866 goto _64 106867 case i32(7): 106868 goto _73 106869 case i32(8): 106870 goto _72 106871 case i32(9): 106872 goto _71 106873 case i32(10): 106874 goto _69 106875 case i32(11): 106876 goto _67 106877 case i32(12): 106878 goto _66 106879 case i32(13): 106880 goto _70 106881 case i32(14): 106882 goto _65 106883 default: 106884 goto _74 106885 } 106886 106887 _61: 106888 _23_r1 = _sqlite3GetTempReg(tls, _pParse) 106889 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regResult, _nResultCol, _23_r1) 106890 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _23_r1, _regResult, _nResultCol) 106891 _sqlite3ReleaseTempReg(tls, _pParse, _23_r1) 106892 goto _75 106893 106894 _62: 106895 _sqlite3VdbeAddOp3(tls, _v, i32(127), _iParm, _regResult, _nResultCol) 106896 goto _75 106897 106898 _63: 106899 _64: 106900 _65: 106901 _66: 106902 _25_r1 = _sqlite3GetTempRange(tls, _pParse, _nPrefixReg+i32(1)) 106903 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regResult, _nResultCol, _25_r1+_nPrefixReg) 106904 if _eDest != i32(6) { 106905 goto _76 106906 } 106907 106908 _26_addr = _sqlite3VdbeCurrentAddr(tls, _v) + i32(4) 106909 _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iParm+i32(1), _26_addr, _25_r1, i32(0)) 106910 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm+i32(1), _25_r1, _regResult, _nResultCol) 106911 func() int32 { 106912 if _pSort == (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) { 106913 return i32(0) 106914 } 106915 return func() int32 { 106916 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117123), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105040))) 106917 crt.X__builtin_abort(tls) 106918 return i32(0) 106919 }() 106920 }() 106921 _76: 106922 if _pSort == nil { 106923 goto _79 106924 } 106925 106926 _pushOntoSorter(tls, _pParse, _pSort, _p, _25_r1+_nPrefixReg, _regResult, i32(1), _nPrefixReg) 106927 goto _80 106928 106929 _79: 106930 _28_r2 = _sqlite3GetTempReg(tls, _pParse) 106931 _sqlite3VdbeAddOp2(tls, _v, i32(115), _iParm, _28_r2) 106932 _sqlite3VdbeAddOp3(tls, _v, i32(116), _iParm, _25_r1, _28_r2) 106933 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 106934 _sqlite3ReleaseTempReg(tls, _pParse, _28_r2) 106935 _80: 106936 _sqlite3ReleaseTempRange(tls, _pParse, _25_r1, _nPrefixReg+i32(1)) 106937 goto _75 106938 106939 _67: 106940 if _pSort == nil { 106941 goto _81 106942 } 106943 106944 _pushOntoSorter(tls, _pParse, _pSort, _p, _regResult, _regOrig, _nResultCol, _nPrefixReg) 106945 goto _82 106946 106947 _81: 106948 _31_r1 = _sqlite3GetTempReg(tls, _pParse) 106949 func() int32 { 106950 if _sqlite3Strlen30(tls, _pDest.X1) == _nResultCol { 106951 return i32(0) 106952 } 106953 return func() int32 { 106954 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117154), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105052))) 106955 crt.X__builtin_abort(tls) 106956 return i32(0) 106957 }() 106958 }() 106959 _sqlite3VdbeAddOp4(tls, _v, i32(100), _regResult, _nResultCol, _31_r1, _pDest.X1, _nResultCol) 106960 _sqlite3ExprCacheAffinityChange(tls, _pParse, _regResult, _nResultCol) 106961 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _31_r1, _regResult, _nResultCol) 106962 _sqlite3ReleaseTempReg(tls, _pParse, _31_r1) 106963 _82: 106964 goto _75 106965 106966 _68: 106967 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _iParm) 106968 goto _75 106969 106970 _69: 106971 if _pSort == nil { 106972 goto _85 106973 } 106974 106975 func() int32 { 106976 if _nResultCol <= (_pDest.X4) { 106977 return i32(0) 106978 } 106979 return func() int32 { 106980 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117178), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105100))) 106981 crt.X__builtin_abort(tls) 106982 return i32(0) 106983 }() 106984 }() 106985 _pushOntoSorter(tls, _pParse, _pSort, _p, _regResult, _regOrig, _nResultCol, _nPrefixReg) 106986 goto _88 106987 106988 _85: 106989 func() int32 { 106990 if _nResultCol == (_pDest.X4) { 106991 return i32(0) 106992 } 106993 return func() int32 { 106994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117182), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105128))) 106995 crt.X__builtin_abort(tls) 106996 return i32(0) 106997 }() 106998 }() 106999 func() int32 { 107000 if _regResult == _iParm { 107001 return i32(0) 107002 } 107003 return func() int32 { 107004 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117183), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105156))) 107005 crt.X__builtin_abort(tls) 107006 return i32(0) 107007 }() 107008 }() 107009 _88: 107010 goto _75 107011 107012 _70: 107013 _71: 107014 if _pSort == nil { 107015 goto _93 107016 } 107017 107018 _pushOntoSorter(tls, _pParse, _pSort, _p, _regResult, _regOrig, _nResultCol, _nPrefixReg) 107019 goto _94 107020 107021 _93: 107022 if _eDest != i32(13) { 107023 goto _95 107024 } 107025 107026 _sqlite3VdbeAddOp1(tls, _v, i32(16), _pDest.X2) 107027 goto _96 107028 107029 _95: 107030 _sqlite3VdbeAddOp2(tls, _v, i32(88), _regResult, _nResultCol) 107031 _sqlite3ExprCacheAffinityChange(tls, _pParse, _regResult, _nResultCol) 107032 _96: 107033 _94: 107034 goto _75 107035 107036 _72: 107037 _73: 107038 _40_addrTest = i32(0) 107039 _40_pSO = (*XExprList)(unsafe.Pointer(_pDest.X5)) 107040 func() int32 { 107041 if _40_pSO != nil { 107042 return i32(0) 107043 } 107044 return func() int32 { 107045 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117220), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105176))) 107046 crt.X__builtin_abort(tls) 107047 return i32(0) 107048 }() 107049 }() 107050 _40_nKey = _40_pSO.X0 107051 _40_r1 = _sqlite3GetTempReg(tls, _pParse) 107052 _40_r2 = _sqlite3GetTempRange(tls, _pParse, _40_nKey+i32(2)) 107053 _40_r3 = (_40_r2 + _40_nKey) + i32(1) 107054 if _eDest != i32(8) { 107055 goto _99 107056 } 107057 107058 _40_addrTest = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iParm+i32(1), i32(0), _regResult, _nResultCol) 107059 _99: 107060 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regResult, _nResultCol, _40_r3) 107061 if _eDest != i32(8) { 107062 goto _100 107063 } 107064 107065 _sqlite3VdbeAddOp2(tls, _v, i32(126), _iParm+i32(1), _40_r3) 107066 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) 107067 _100: 107068 _i = i32(0) 107069 _101: 107070 if _i >= _40_nKey { 107071 goto _104 107072 } 107073 107074 _sqlite3VdbeAddOp2(tls, _v, i32(86), (_regResult+int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_40_pSO.X1)+20*uintptr(_i)))))+uintptr(16 /* X5 */))))).X0))-i32(1), _40_r2+_i) 107075 _i += 1 107076 goto _101 107077 107078 _104: 107079 _sqlite3VdbeAddOp2(tls, _v, i32(114), _iParm, _40_r2+_40_nKey) 107080 _sqlite3VdbeAddOp3(tls, _v, i32(100), _40_r2, _40_nKey+i32(2), _40_r1) 107081 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _40_r1, _40_r2, _40_nKey+i32(2)) 107082 if _40_addrTest == 0 { 107083 goto _105 107084 } 107085 107086 _sqlite3VdbeJumpHere(tls, _v, _40_addrTest) 107087 _105: 107088 _sqlite3ReleaseTempReg(tls, _pParse, _40_r1) 107089 _sqlite3ReleaseTempRange(tls, _pParse, _40_r2, _40_nKey+i32(2)) 107090 goto _75 107091 107092 _74: 107093 func() int32 { 107094 if _eDest == i32(4) { 107095 return i32(0) 107096 } 107097 return func() int32 { 107098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117262), unsafe.Pointer((*int8)(unsafe.Pointer(&_selectInnerLoopØ00__func__Ø000))), unsafe.Pointer(str(105180))) 107099 crt.X__builtin_abort(tls) 107100 return i32(0) 107101 }() 107102 }() 107103 goto _75 107104 107105 _75: 107106 if _pSort != (*XSortCtx)(unsafe.Pointer(uintptr(i32(0)))) || (_p.X4) == 0 { 107107 goto _109 107108 } 107109 107110 _sqlite3VdbeAddOp2(tls, _v, i32(69), _p.X4, _iBreak) 107111 _109: 107112 return 107113 107114 } 107115 107116 var _selectInnerLoopØ00__func__Ø000 [16]int8 // - 107117 107118 func init() { 107119 crt.Xstrncpy(nil, &_selectInnerLoopØ00__func__Ø000[0], str(105200), 16) 107120 } 107121 107122 func _sqlite3ExprCodeExprList(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _target int32, _srcReg int32, _flags uint8) (r0 int32) { // sqlite3.c:94905:1 107123 var _pItem *T7850641 // sqlite3.c:94912:24 107124 _ = _pItem 107125 var _i int32 // sqlite3.c:94913:7 107126 _ = _i 107127 var _j int32 // sqlite3.c:94913:10 107128 _ = _j 107129 var _n int32 // sqlite3.c:94913:13 107130 _ = _n 107131 var _copyOp uint8 // sqlite3.c:94914:6 107132 _ = _copyOp 107133 var _v *XVdbe // sqlite3.c:94915:8 107134 _ = _v 107135 var _1_pExpr *XExpr // sqlite3.c:94922:10 107136 _ = _1_pExpr 107137 var _6_inReg int32 // sqlite3.c:94933:11 107138 _ = _6_inReg 107139 var _7_pOp *XVdbeOp // sqlite3.c:94935:16 107140 _ = _7_pOp 107141 _copyOp = uint8(func() int32 { 107142 if (int32(_flags) & i32(1)) != 0 { 107143 return i32(85) 107144 } 107145 return i32(86) 107146 }()) 107147 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 107148 func() int32 { 107149 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 107150 return i32(0) 107151 } 107152 return func() int32 { 107153 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94916), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeExprListØ00__func__Ø000))), unsafe.Pointer(str(93528))) 107154 crt.X__builtin_abort(tls) 107155 return i32(0) 107156 }() 107157 }() 107158 func() int32 { 107159 if _target > i32(0) { 107160 return i32(0) 107161 } 107162 return func() int32 { 107163 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94917), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeExprListØ00__func__Ø000))), unsafe.Pointer(str(105216))) 107164 crt.X__builtin_abort(tls) 107165 return i32(0) 107166 }() 107167 }() 107168 func() int32 { 107169 if (*XVdbe)(unsafe.Pointer(_pParse.X2)) != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 107170 return i32(0) 107171 } 107172 return func() int32 { 107173 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94918), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeExprListØ00__func__Ø000))), unsafe.Pointer(str(105228))) 107174 crt.X__builtin_abort(tls) 107175 return i32(0) 107176 }() 107177 }() 107178 _n = _pList.X0 107179 if (_pParse.X11) != 0 { 107180 goto _8 107181 } 107182 107183 { 107184 p := &_flags 107185 *p = uint8(int32(*p) & i32(-3)) 107186 sink6915 = *p 107187 } 107188 _8: 107189 *func() *int32 { _pItem = (*T7850641)(unsafe.Pointer(_pList.X1)); return &_i }() = i32(0) 107190 _9: 107191 if _i >= _n { 107192 goto _12 107193 } 107194 107195 _1_pExpr = (*XExpr)(unsafe.Pointer(_pItem.X0)) 107196 if (int32(_flags)&i32(4)) == i32(0) || store961(&_j, int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(16 /* X5 */))))).X0)) <= i32(0) { 107197 goto _14 107198 } 107199 107200 if (int32(_flags) & i32(8)) == 0 { 107201 goto _15 107202 } 107203 107204 _i -= 1 107205 _n -= 1 107206 goto _16 107207 107208 _15: 107209 _sqlite3VdbeAddOp2(tls, _v, int32(_copyOp), (_j+_srcReg)-i32(1), _target+_i) 107210 _16: 107211 goto _17 107212 107213 _14: 107214 if (int32(_flags)&i32(2)) == i32(0) || _sqlite3ExprIsConstant(tls, _1_pExpr) == 0 { 107215 goto _19 107216 } 107217 107218 _sqlite3ExprCodeAtInit(tls, _pParse, _1_pExpr, _target+_i) 107219 goto _20 107220 107221 _19: 107222 _6_inReg = _sqlite3ExprCodeTarget(tls, _pParse, _1_pExpr, _target+_i) 107223 if _6_inReg == (_target + _i) { 107224 goto _21 107225 } 107226 107227 if int32(_copyOp) != i32(85) || int32(store8104608(&_7_pOp, _sqlite3VdbeGetOp(tls, _v, i32(-1))).X0) != i32(85) || (((_7_pOp.X3)+(_7_pOp.X5))+i32(1)) != _6_inReg || (((_7_pOp.X4)+(_7_pOp.X5))+i32(1)) != (_target+_i) { 107228 goto _25 107229 } 107230 107231 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_7_pOp)) + uintptr(12 /* X5 */))) += 1 107232 goto _26 107233 107234 _25: 107235 _sqlite3VdbeAddOp2(tls, _v, int32(_copyOp), _6_inReg, _target+_i) 107236 _26: 107237 _21: 107238 _20: 107239 _17: 107240 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 107241 goto _9 107242 107243 _12: 107244 r0 = _n 107245 return 107246 107247 } 107248 107249 var _sqlite3ExprCodeExprListØ00__func__Ø000 [24]int8 // - 107250 107251 func init() { 107252 crt.Xstrncpy(nil, &_sqlite3ExprCodeExprListØ00__func__Ø000[0], str(105248), 24) 107253 } 107254 107255 func _sqlite3ExprIsConstant(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:92535:1 107256 r0 = _exprIsConst(tls, _p, i32(1), i32(0)) 107257 return 107258 107259 } 107260 107261 func _exprIsConst(tls *crt.TLS, _p *XExpr, _initFlag int32, _iCur int32) (r0 int32) { // sqlite3.c:92516:1 107262 var _w XWalker // sqlite3.c:92517:10 107263 _ = _w 107264 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 107265 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(20 /* X5 */))) = uint8(_initFlag) 107266 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _exprNodeIsConstant 107267 *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))))) = _selectNodeIsConstant 107268 *(*int32)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))) = _iCur 107269 _sqlite3WalkExpr(tls, &_w, _p) 107270 r0 = int32(_w.X5) 107271 return 107272 107273 } 107274 107275 func _exprNodeIsConstant(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:92457:1 107276 if int32(_pWalker.X5) != i32(2) || ((_pExpr.X2)&uint32(i32(1))) == uint32(i32(0)) { 107277 goto _1 107278 } 107279 107280 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 107281 r0 = i32(2) 107282 return 107283 107284 _1: 107285 switch int32(_pExpr.X0) { 107286 case i32(55): 107287 goto _4 107288 case i32(135): 107289 goto _8 107290 case i32(151): 107291 goto _3 107292 case i32(152): 107293 goto _5 107294 case i32(153): 107295 goto _6 107296 case i32(154): 107297 goto _7 107298 default: 107299 goto _9 107300 } 107301 107302 _3: 107303 if int32(_pWalker.X5) < i32(4) && ((_pExpr.X2)&uint32(i32(524288))) == uint32(i32(0)) { 107304 goto _11 107305 } 107306 107307 r0 = i32(0) 107308 return 107309 107310 _11: 107311 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 107312 r0 = i32(2) 107313 return 107314 107315 _4: 107316 _5: 107317 _6: 107318 _7: 107319 if int32(_pWalker.X5) != i32(3) || (_pExpr.X8) != (*(*int32)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */)))))) { 107320 goto _14 107321 } 107322 107323 r0 = i32(0) 107324 return 107325 107326 _14: 107327 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 107328 r0 = i32(2) 107329 return 107330 107331 _8: 107332 if int32(_pWalker.X5) != i32(5) { 107333 goto _16 107334 } 107335 107336 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) 107337 goto _17 107338 107339 _16: 107340 if int32(_pWalker.X5) != i32(4) { 107341 goto _18 107342 } 107343 107344 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 107345 r0 = i32(2) 107346 return 107347 107348 _18: 107349 _17: 107350 _9: 107351 r0 = i32(0) 107352 return 107353 107354 } 107355 107356 func _selectNodeIsConstant(tls *crt.TLS, _pWalker *XWalker, _NotUsed *XSelect) (r0 int32) { // sqlite3.c:92511:1 107357 107358 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 107359 r0 = i32(2) 107360 return 107361 107362 } 107363 107364 func _sqlite3ExprCodeAtInit(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _regDest int32) (r0 int32) { // sqlite3.c:94755:1 107365 var _p *XExprList // sqlite3.c:94760:12 107366 _ = _p 107367 var _1_pItem *T7850641 // sqlite3.c:94764:26 107368 _ = _1_pItem 107369 var _1_i int32 // sqlite3.c:94765:9 107370 _ = _1_i 107371 var _4_pItem *T7850641 // sqlite3.c:94775:27 107372 _ = _4_pItem 107373 func() int32 { 107374 if (_pParse.X11) != 0 { 107375 return i32(0) 107376 } 107377 return func() int32 { 107378 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94761), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeAtInitØ00__func__Ø000))), unsafe.Pointer(str(105272))) 107379 crt.X__builtin_abort(tls) 107380 return i32(0) 107381 }() 107382 }() 107383 _p = (*XExprList)(unsafe.Pointer(_pParse.X27)) 107384 if _regDest >= i32(0) || _p == nil { 107385 goto _3 107386 } 107387 107388 *func() *int32 { _1_pItem = (*T7850641)(unsafe.Pointer(_p.X1)); return &_1_i }() = _p.X0 107389 _4: 107390 if _1_i <= i32(0) { 107391 goto _7 107392 } 107393 107394 if ((uint32((_1_pItem.X4)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == 0 || _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_1_pItem.X0)), _pExpr, i32(-1)) != i32(0) { 107395 goto _9 107396 } 107397 107398 r0 = *(*int32)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(16 /* X5 */))))) 107399 return 107400 107401 _9: 107402 *func() *int32 { *(*uintptr)(unsafe.Pointer(&_1_pItem)) += uintptr(20); return &_1_i }() -= 1 107403 goto _4 107404 107405 _7: 107406 _3: 107407 _pExpr = _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pExpr, i32(0)) 107408 _p = _sqlite3ExprListAppend(tls, _pParse, _p, _pExpr) 107409 if _p == nil { 107410 goto _10 107411 } 107412 107413 _4_pItem = (*T7850641)(unsafe.Pointer(uintptr(_p.X1) + 20*uintptr((_p.X0)-i32(1)))) 107414 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem))+uintptr(13 /* X4 */))), int8(bool2int(_regDest < i32(0))), 4, 2) 107415 if _regDest >= i32(0) { 107416 goto _11 107417 } 107418 107419 _regDest = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 107420 _11: 107421 *(*int32)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pItem)) + uintptr(16 /* X5 */))))) = _regDest 107422 _10: 107423 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(80 /* X27 */))))) = _p 107424 r0 = _regDest 107425 return 107426 107427 } 107428 107429 var _sqlite3ExprCodeAtInitØ00__func__Ø000 [22]int8 // - 107430 107431 func init() { 107432 crt.Xstrncpy(nil, &_sqlite3ExprCodeAtInitØ00__func__Ø000[0], str(105296), 22) 107433 } 107434 107435 func _sqlite3VdbeChangeToNoop(tls *crt.TLS, _p *XVdbe, _addr int32) (r0 int32) { // sqlite3.c:72234:1 107436 var _pOp *XVdbeOp // sqlite3.c:72235:10 107437 _ = _pOp 107438 if ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0 { 107439 goto _0 107440 } 107441 107442 r0 = i32(0) 107443 return 107444 107445 _0: 107446 func() int32 { 107447 if (_addr >= i32(0)) && (_addr < (_p.X27)) { 107448 return i32(0) 107449 } 107450 return func() int32 { 107451 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72237), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeChangeToNoopØ00__func__Ø000))), unsafe.Pointer(str(105320))) 107452 crt.X__builtin_abort(tls) 107453 return i32(0) 107454 }() 107455 }() 107456 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr(_addr))) 107457 _freeP4(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), int32(_pOp.X1), *(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */)))))) 107458 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(0)) 107459 *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 107460 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(162)) 107461 r0 = i32(1) 107462 return 107463 107464 } 107465 107466 var _sqlite3VdbeChangeToNoopØ00__func__Ø000 [24]int8 // - 107467 107468 func init() { 107469 crt.Xstrncpy(nil, &_sqlite3VdbeChangeToNoopØ00__func__Ø000[0], str(105344), 24) 107470 } 107471 107472 func _sqlite3VdbeCurrentAddr(tls *crt.TLS, _p *XVdbe) (r0 int32) { // sqlite3.c:71969:1 107473 func() int32 { 107474 if (_p.X5) == uint32(i32(381479589)) { 107475 return i32(0) 107476 } 107477 return func() int32 { 107478 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71970), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeCurrentAddrØ00__func__Ø000))), unsafe.Pointer(str(39640))) 107479 crt.X__builtin_abort(tls) 107480 return i32(0) 107481 }() 107482 }() 107483 r0 = _p.X27 107484 return 107485 107486 } 107487 107488 var _sqlite3VdbeCurrentAddrØ00__func__Ø000 [23]int8 // - 107489 107490 func init() { 107491 crt.Xstrncpy(nil, &_sqlite3VdbeCurrentAddrØ00__func__Ø000[0], str(105368), 23) 107492 } 107493 107494 func _codeDistinct(tls *crt.TLS, _pParse *XParse, _iTab int32, _addrRepeat int32, _N int32, _iMem int32) { // sqlite3.c:116892:1 107495 var _v *XVdbe // sqlite3.c:116899:8 107496 _ = _v 107497 var _r1 int32 // sqlite3.c:116900:7 107498 _ = _r1 107499 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 107500 _r1 = _sqlite3GetTempReg(tls, _pParse) 107501 _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iTab, _addrRepeat, _iMem, _N) 107502 _sqlite3VdbeAddOp3(tls, _v, i32(100), _iMem, _N, _r1) 107503 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iTab, _r1, _iMem, _N) 107504 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) 107505 _sqlite3ReleaseTempReg(tls, _pParse, _r1) 107506 return 107507 107508 } 107509 107510 func _sqlite3GetTempReg(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:95785:1 107511 if int32(_pParse.X7) != i32(0) { 107512 goto _0 107513 } 107514 107515 r0 = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 107516 return 107517 107518 _0: 107519 r0 = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(360 /* X49 */))))) + 4*uintptr(preInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(19 /* X7 */))), byte(255))))) 107520 return 107521 107522 } 107523 107524 func _sqlite3ReleaseTempReg(tls *crt.TLS, _pParse *XParse, _iReg int32) { // sqlite3.c:95800:1 107525 var _1_i int32 // sqlite3.c:95802:9 107526 _ = _1_i 107527 var _1_p *T7863733 // sqlite3.c:95803:22 107528 _ = _1_p 107529 if _iReg == 0 || int32(_pParse.X7) >= i32(8) { 107530 goto _1 107531 } 107532 107533 *func() **T7863733 { _1_i = i32(0); return &_1_p }() = (*T7863733)(unsafe.Pointer((*[10]struct { 107534 X0 int32 107535 X1 int16 107536 X2 uint8 107537 X3 int32 107538 X4 int32 107539 X5 int32 107540 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X48 */))))) 107541 _2: 107542 if _1_i >= int32(_pParse.X13) { 107543 goto _5 107544 } 107545 107546 if (_1_p.X4) != _iReg { 107547 goto _6 107548 } 107549 107550 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(6 /* X2 */))) = uint8(i32(1)) 107551 return 107552 107553 _6: 107554 *(*uintptr)(unsafe.Pointer(func() **T7863733 { _1_i += 1; return &_1_p }())) += uintptr(20) 107555 goto _2 107556 107557 _5: 107558 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(360 /* X49 */))))) + 4*uintptr(postInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(19 /* X7 */))), uint8(1))))) = _iReg 107559 _1: 107560 return 107561 107562 } 107563 107564 func _sqlite3GetTempRange(tls *crt.TLS, _pParse *XParse, _nReg int32) (r0 int32) { // sqlite3.c:95817:1 107565 var _i int32 // sqlite3.c:95818:7 107566 _ = _i 107567 var _n int32 // sqlite3.c:95818:10 107568 _ = _n 107569 if _nReg != i32(1) { 107570 goto _0 107571 } 107572 107573 r0 = _sqlite3GetTempReg(tls, _pParse) 107574 return 107575 107576 _0: 107577 _i = _pParse.X15 107578 _n = _pParse.X14 107579 if _nReg > _n { 107580 goto _1 107581 } 107582 107583 func() int32 { 107584 if _usedAsColumnCache(tls, _pParse, _i, (_i+_n)-i32(1)) == 0 { 107585 return i32(0) 107586 } 107587 return func() int32 { 107588 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95823), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetTempRangeØ00__func__Ø000))), unsafe.Pointer(str(105392))) 107589 crt.X__builtin_abort(tls) 107590 return i32(0) 107591 }() 107592 }() 107593 { 107594 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(32 /* X15 */))) 107595 *p = (*p) + _nReg 107596 sink961 = *p 107597 } 107598 { 107599 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(28 /* X14 */))) 107600 *p = (*p) - _nReg 107601 sink961 = *p 107602 } 107603 goto _4 107604 107605 _1: 107606 _i = (_pParse.X18) + i32(1) 107607 { 107608 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 107609 *p = (*p) + _nReg 107610 sink961 = *p 107611 } 107612 _4: 107613 r0 = _i 107614 return 107615 107616 } 107617 107618 func _usedAsColumnCache(tls *crt.TLS, _pParse *XParse, _iFrom int32, _iTo int32) (r0 int32) { // sqlite3.c:94050:1 107619 var _i int32 // sqlite3.c:94051:7 107620 _ = _i 107621 var _p *T7863733 // sqlite3.c:94052:20 107622 _ = _p 107623 var _1_r int32 // sqlite3.c:94054:9 107624 _ = _1_r 107625 *func() **T7863733 { _i = i32(0); return &_p }() = (*T7863733)(unsafe.Pointer((*[10]struct { 107626 X0 int32 107627 X1 int16 107628 X2 uint8 107629 X3 int32 107630 X4 int32 107631 X5 int32 107632 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(160 /* X48 */))))) 107633 _0: 107634 if _i >= int32(_pParse.X13) { 107635 goto _3 107636 } 107637 107638 _1_r = _p.X4 107639 if _1_r < _iFrom || _1_r > _iTo { 107640 goto _5 107641 } 107642 107643 r0 = i32(1) 107644 return 107645 107646 _5: 107647 *(*uintptr)(unsafe.Pointer(func() **T7863733 { _i += 1; return &_p }())) += uintptr(20) 107648 goto _0 107649 107650 _3: 107651 r0 = i32(0) 107652 return 107653 107654 } 107655 107656 var _sqlite3GetTempRangeØ00__func__Ø000 [20]int8 // - 107657 107658 func init() { 107659 crt.Xstrncpy(nil, &_sqlite3GetTempRangeØ00__func__Ø000[0], str(105432), 20) 107660 } 107661 107662 func _pushOntoSorter(tls *crt.TLS, _pParse *XParse, _pSort *XSortCtx, _pSelect *XSelect, _regData int32, _regOrigData int32, _nData int32, _nPrefixReg int32) { // sqlite3.c:116751:1 107663 var _v *XVdbe // sqlite3.c:116760:8 107664 _ = _v 107665 var _bSeq int32 // sqlite3.c:116761:7 107666 _ = _bSeq 107667 var _nExpr int32 // sqlite3.c:116762:7 107668 _ = _nExpr 107669 var _nBase int32 // sqlite3.c:116763:7 107670 _ = _nBase 107671 var _regBase int32 // sqlite3.c:116764:7 107672 _ = _regBase 107673 var _regRecord int32 // sqlite3.c:116765:7 107674 _ = _regRecord 107675 var _nOBSat int32 // sqlite3.c:116766:7 107676 _ = _nOBSat 107677 var _op int32 // sqlite3.c:116767:7 107678 _ = _op 107679 var _iLimit int32 // sqlite3.c:116768:7 107680 _ = _iLimit 107681 var _5_regPrevKey int32 // sqlite3.c:116792:9 107682 _ = _5_regPrevKey 107683 var _5_addrFirst int32 // sqlite3.c:116793:9 107684 _ = _5_addrFirst 107685 var _5_addrJmp int32 // sqlite3.c:116794:9 107686 _ = _5_addrJmp 107687 var _5_pOp *XVdbeOp // sqlite3.c:116795:12 107688 _ = _5_pOp 107689 var _5_nKey int32 // sqlite3.c:116796:9 107690 _ = _5_nKey 107691 var _5_pKI *XKeyInfo // sqlite3.c:116797:13 107692 _ = _5_pKI 107693 var _11_addr int32 // sqlite3.c:116840:9 107694 _ = _11_addr 107695 var _11_r1 int32 // sqlite3.c:116841:9 107696 _ = _11_r1 107697 var _13_iBrk int32 // sqlite3.c:116860:11 107698 _ = _13_iBrk 107699 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 107700 _bSeq = bool2int((int32(_pSort.X7) & i32(1)) == i32(0)) 107701 _nExpr = (*XExprList)(unsafe.Pointer(_pSort.X0)).X0 107702 _nBase = (_nExpr + _bSeq) + _nData 107703 _regRecord = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 107704 _nOBSat = _pSort.X1 107705 func() int32 { 107706 if (_bSeq == i32(0)) || (_bSeq == i32(1)) { 107707 return i32(0) 107708 } 107709 return func() int32 { 107710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116770), unsafe.Pointer((*int8)(unsafe.Pointer(&_pushOntoSorterØ00__func__Ø000))), unsafe.Pointer(str(105452))) 107711 crt.X__builtin_abort(tls) 107712 return i32(0) 107713 }() 107714 }() 107715 func() int32 { 107716 if ((_nData == i32(1)) || (_regData == _regOrigData)) || (_regOrigData == i32(0)) { 107717 return i32(0) 107718 } 107719 return func() int32 { 107720 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116771), unsafe.Pointer((*int8)(unsafe.Pointer(&_pushOntoSorterØ00__func__Ø000))), unsafe.Pointer(str(105472))) 107721 crt.X__builtin_abort(tls) 107722 return i32(0) 107723 }() 107724 }() 107725 if _nPrefixReg == 0 { 107726 goto _7 107727 } 107728 107729 func() int32 { 107730 if _nPrefixReg == (_nExpr + _bSeq) { 107731 return i32(0) 107732 } 107733 return func() int32 { 107734 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116773), unsafe.Pointer((*int8)(unsafe.Pointer(&_pushOntoSorterØ00__func__Ø000))), unsafe.Pointer(str(105524))) 107735 crt.X__builtin_abort(tls) 107736 return i32(0) 107737 }() 107738 }() 107739 _regBase = (_regData - _nExpr) - _bSeq 107740 goto _10 107741 107742 _7: 107743 _regBase = (_pParse.X18) + i32(1) 107744 { 107745 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 107746 *p = (*p) + _nBase 107747 sink961 = *p 107748 } 107749 _10: 107750 func() int32 { 107751 if ((_pSelect.X5) == i32(0)) || ((_pSelect.X4) != i32(0)) { 107752 return i32(0) 107753 } 107754 return func() int32 { 107755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116779), unsafe.Pointer((*int8)(unsafe.Pointer(&_pushOntoSorterØ00__func__Ø000))), unsafe.Pointer(str(105548))) 107756 crt.X__builtin_abort(tls) 107757 return i32(0) 107758 }() 107759 }() 107760 _iLimit = func() int32 { 107761 if (_pSelect.X5) != 0 { 107762 return ((_pSelect.X5) + i32(1)) 107763 } 107764 return (_pSelect.X4) 107765 }() 107766 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSort)) + uintptr(24 /* X6 */))) = _sqlite3VdbeMakeLabel(tls, _v) 107767 _sqlite3ExprCodeExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSort.X0)), _regBase, _regOrigData, uint8(i32(1)|func() int32 { 107768 if _regOrigData != 0 { 107769 return i32(4) 107770 } 107771 return i32(0) 107772 }())) 107773 if _bSeq == 0 { 107774 goto _18 107775 } 107776 107777 _sqlite3VdbeAddOp2(tls, _v, i32(114), _pSort.X2, _regBase+_nExpr) 107778 _18: 107779 if _nPrefixReg != i32(0) || _nData <= i32(0) { 107780 goto _20 107781 } 107782 107783 _sqlite3ExprCodeMove(tls, _pParse, _regData, (_regBase+_nExpr)+_bSeq, _nData) 107784 _20: 107785 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regBase+_nOBSat, _nBase-_nOBSat, _regRecord) 107786 if _nOBSat <= i32(0) { 107787 goto _21 107788 } 107789 107790 _5_regPrevKey = (_pParse.X18) + i32(1) 107791 { 107792 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 107793 *p = (*p) + (_pSort.X1) 107794 sink961 = *p 107795 } 107796 _5_nKey = (_nExpr - (_pSort.X1)) + _bSeq 107797 if _bSeq == 0 { 107798 goto _22 107799 } 107800 107801 _5_addrFirst = _sqlite3VdbeAddOp1(tls, _v, i32(22), _regBase+_nExpr) 107802 goto _23 107803 107804 _22: 107805 _5_addrFirst = _sqlite3VdbeAddOp1(tls, _v, i32(110), _pSort.X2) 107806 _23: 107807 _sqlite3VdbeAddOp3(tls, _v, i32(96), _5_regPrevKey, _regBase, _pSort.X1) 107808 _5_pOp = _sqlite3VdbeGetOp(tls, _v, _pSort.X5) 107809 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { 107810 goto _24 107811 } 107812 107813 return 107814 107815 _24: 107816 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pOp)) + uintptr(8 /* X4 */))) = _5_nKey + _nData 107817 _5_pKI = (*XKeyInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pOp)) + uintptr(16 /* X6 */))))))) 107818 crt.Xmemset(tls, (unsafe.Pointer)(_5_pKI.X5), i32(0), uint32(_5_pKI.X2)) 107819 _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_5_pKI)), i32(-5)) 107820 *(**XKeyInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pOp)) + uintptr(16 /* X6 */))))))) = _keyInfoFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(_pSort.X0)), _nOBSat, int32(_5_pKI.X3)-i32(1)) 107821 _5_addrJmp = _sqlite3VdbeCurrentAddr(tls, _v) 107822 _sqlite3VdbeAddOp3(tls, _v, i32(18), _5_addrJmp+i32(1), i32(0), _5_addrJmp+i32(1)) 107823 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSort)) + uintptr(16 /* X4 */))) = _sqlite3VdbeMakeLabel(tls, _v) 107824 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSort)) + uintptr(12 /* X3 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 107825 _sqlite3VdbeAddOp2(tls, _v, i32(14), _pSort.X3, _pSort.X4) 107826 _sqlite3VdbeAddOp1(tls, _v, i32(133), _pSort.X2) 107827 if _iLimit == 0 { 107828 goto _25 107829 } 107830 107831 _sqlite3VdbeAddOp2(tls, _v, i32(22), _iLimit, _pSort.X6) 107832 _25: 107833 _sqlite3VdbeJumpHere(tls, _v, _5_addrFirst) 107834 _sqlite3ExprCodeMove(tls, _pParse, _regBase, _5_regPrevKey, _pSort.X1) 107835 _sqlite3VdbeJumpHere(tls, _v, _5_addrJmp) 107836 _21: 107837 if (int32(_pSort.X7) & i32(1)) == 0 { 107838 goto _26 107839 } 107840 107841 _op = i32(125) 107842 goto _27 107843 107844 _26: 107845 _op = i32(126) 107846 _27: 107847 _sqlite3VdbeAddOp4Int(tls, _v, _op, _pSort.X2, _regRecord, _regBase+_nOBSat, _nBase-_nOBSat) 107848 if _iLimit == 0 { 107849 goto _28 107850 } 107851 107852 _11_r1 = i32(0) 107853 _11_addr = _sqlite3VdbeAddOp1(tls, _v, i32(68), _iLimit) 107854 _sqlite3VdbeAddOp1(tls, _v, i32(53), _pSort.X2) 107855 if (_pSort.X8) == 0 { 107856 goto _29 107857 } 107858 107859 _11_r1 = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 107860 _sqlite3VdbeAddOp3(tls, _v, i32(98), _pSort.X2, _nExpr, _11_r1) 107861 _sqlite3VdbeComment(tls, _v, str(99048)) 107862 _29: 107863 _sqlite3VdbeAddOp1(tls, _v, i32(118), _pSort.X2) 107864 if (_pSort.X8) == 0 { 107865 goto _30 107866 } 107867 107868 _13_iBrk = _sqlite3VdbeCurrentAddr(tls, _v) + i32(2) 107869 _sqlite3VdbeAddOp3(tls, _v, i32(37), _regBase+_nExpr, _13_iBrk, _11_r1) 107870 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) 107871 _30: 107872 _sqlite3VdbeJumpHere(tls, _v, _11_addr) 107873 _28: 107874 return 107875 107876 } 107877 107878 var _pushOntoSorterØ00__func__Ø000 [15]int8 // - 107879 107880 func init() { 107881 crt.Xstrncpy(nil, &_pushOntoSorterØ00__func__Ø000[0], str(105592), 15) 107882 } 107883 107884 func _sqlite3ExprCodeMove(tls *crt.TLS, _pParse *XParse, _iFrom int32, _iTo int32, _nReg int32) { // sqlite3.c:94036:1 107885 func() int32 { 107886 if (_iFrom >= (_iTo + _nReg)) || ((_iFrom + _nReg) <= _iTo) { 107887 return i32(0) 107888 } 107889 return func() int32 { 107890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94037), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeMoveØ00__func__Ø000))), unsafe.Pointer(str(105608))) 107891 crt.X__builtin_abort(tls) 107892 return i32(0) 107893 }() 107894 }() 107895 _sqlite3VdbeAddOp3(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), i32(84), _iFrom, _iTo, _nReg) 107896 _sqlite3ExprCacheRemove(tls, _pParse, _iFrom, _nReg) 107897 return 107898 107899 } 107900 107901 var _sqlite3ExprCodeMoveØ00__func__Ø000 [20]int8 // - 107902 107903 func init() { 107904 crt.Xstrncpy(nil, &_sqlite3ExprCodeMoveØ00__func__Ø000[0], str(105644), 20) 107905 } 107906 107907 func _keyInfoFromExprList(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _iStart int32, _nExtra int32) (r0 *XKeyInfo) { // sqlite3.c:117344:1 107908 var _nExpr int32 // sqlite3.c:117350:7 107909 _ = _nExpr 107910 var _pInfo *XKeyInfo // sqlite3.c:117351:11 107911 _ = _pInfo 107912 var _pItem *T7850641 // sqlite3.c:117352:24 107913 _ = _pItem 107914 var _db *Xsqlite3 // sqlite3.c:117353:11 107915 _ = _db 107916 var _i int32 // sqlite3.c:117354:7 107917 _ = _i 107918 var _2_pColl *XCollSeq // sqlite3.c:117361:15 107919 _ = _2_pColl 107920 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 107921 _nExpr = _pList.X0 107922 _pInfo = _sqlite3KeyInfoAlloc(tls, _db, _nExpr-_iStart, _nExtra+i32(1)) 107923 if _pInfo == nil { 107924 goto _0 107925 } 107926 107927 func() int32 { 107928 if _sqlite3KeyInfoIsWriteable(tls, _pInfo) != 0 { 107929 return i32(0) 107930 } 107931 return func() int32 { 107932 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117359), unsafe.Pointer((*int8)(unsafe.Pointer(&_keyInfoFromExprListØ00__func__Ø000))), unsafe.Pointer(str(105664))) 107933 crt.X__builtin_abort(tls) 107934 return i32(0) 107935 }() 107936 }() 107937 *func() **T7850641 { _i = _iStart; return &_pItem }() = (*T7850641)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7850641)(unsafe.Pointer(_pList.X1)))) + uintptr(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_iStart)))))*uintptr(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(20))))))))))) 107938 _3: 107939 if _i >= _nExpr { 107940 goto _6 107941 } 107942 107943 _2_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pItem.X0))) 107944 if _2_pColl != nil { 107945 goto _7 107946 } 107947 107948 _2_pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 107949 _7: 107950 *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(20 /* X6 */))))) + 4*uintptr(_i-_iStart))) = _2_pColl 107951 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo.X5)) + 1*uintptr(_i-_iStart))) = _pItem.X3 107952 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 107953 goto _3 107954 107955 _6: 107956 _0: 107957 r0 = _pInfo 107958 return 107959 107960 } 107961 107962 var _keyInfoFromExprListØ00__func__Ø000 [20]int8 // - 107963 107964 func init() { 107965 crt.Xstrncpy(nil, &_keyInfoFromExprListØ00__func__Ø000[0], str(105700), 20) 107966 } 107967 107968 func _sqlite3ReleaseTempRange(tls *crt.TLS, _pParse *XParse, _iReg int32, _nReg int32) { // sqlite3.c:95832:1 107969 if _nReg != i32(1) { 107970 goto _0 107971 } 107972 107973 _sqlite3ReleaseTempReg(tls, _pParse, _iReg) 107974 return 107975 107976 _0: 107977 _sqlite3ExprCacheRemove(tls, _pParse, _iReg, _nReg) 107978 if _nReg <= (_pParse.X14) { 107979 goto _1 107980 } 107981 107982 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(28 /* X14 */))) = _nReg 107983 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(32 /* X15 */))) = _iReg 107984 _1: 107985 return 107986 107987 } 107988 107989 func _sqlite3VdbeResolveLabel(tls *crt.TLS, _v *XVdbe, _x int32) { // sqlite3.c:71709:1 107990 var _p *XParse // sqlite3.c:71710:9 107991 _ = _p 107992 var _j int32 // sqlite3.c:71711:7 107993 _ = _j 107994 _p = (*XParse)(unsafe.Pointer(_v.X3)) 107995 _j = i32(-1) - _x 107996 func() int32 { 107997 if (_v.X5) == uint32(i32(381479589)) { 107998 return i32(0) 107999 } 108000 return func() int32 { 108001 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71712), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeResolveLabelØ00__func__Ø000))), unsafe.Pointer(str(47360))) 108002 crt.X__builtin_abort(tls) 108003 return i32(0) 108004 }() 108005 }() 108006 func() int32 { 108007 if _j < (_p.X25) { 108008 return i32(0) 108009 } 108010 return func() int32 { 108011 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71713), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeResolveLabelØ00__func__Ø000))), unsafe.Pointer(str(105720))) 108012 crt.X__builtin_abort(tls) 108013 return i32(0) 108014 }() 108015 }() 108016 func() int32 { 108017 if _j >= i32(0) { 108018 return i32(0) 108019 } 108020 return func() int32 { 108021 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71714), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeResolveLabelØ00__func__Ø000))), unsafe.Pointer(str(105732))) 108022 crt.X__builtin_abort(tls) 108023 return i32(0) 108024 }() 108025 }() 108026 if (_p.X26) == nil { 108027 goto _6 108028 } 108029 108030 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X26)) + 4*uintptr(_j))) = _v.X27 108031 _6: 108032 return 108033 108034 } 108035 108036 var _sqlite3VdbeResolveLabelØ00__func__Ø000 [24]int8 // - 108037 108038 func init() { 108039 crt.Xstrncpy(nil, &_sqlite3VdbeResolveLabelØ00__func__Ø000[0], str(105740), 24) 108040 } 108041 108042 func _multiSelectOrderBy(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pDest *XSelectDest) (r0 int32) { // sqlite3.c:119072:1 108043 var _i int32 // sqlite3.c:119077:7 108044 _ = _i 108045 var _j int32 // sqlite3.c:119077:10 108046 _ = _j 108047 var _pPrior *XSelect // sqlite3.c:119078:10 108048 _ = _pPrior 108049 var _v *XVdbe // sqlite3.c:119079:8 108050 _ = _v 108051 var _destA XSelectDest // sqlite3.c:119080:14 108052 _ = _destA 108053 var _destB XSelectDest // sqlite3.c:119081:14 108054 _ = _destB 108055 var _regAddrA int32 // sqlite3.c:119082:7 108056 _ = _regAddrA 108057 var _regAddrB int32 // sqlite3.c:119083:7 108058 _ = _regAddrB 108059 var _addrSelectA int32 // sqlite3.c:119084:7 108060 _ = _addrSelectA 108061 var _addrSelectB int32 // sqlite3.c:119085:7 108062 _ = _addrSelectB 108063 var _regOutA int32 // sqlite3.c:119086:7 108064 _ = _regOutA 108065 var _regOutB int32 // sqlite3.c:119087:7 108066 _ = _regOutB 108067 var _addrOutA int32 // sqlite3.c:119088:7 108068 _ = _addrOutA 108069 var _addrOutB int32 // sqlite3.c:119089:7 108070 _ = _addrOutB 108071 var _addrEofA int32 // sqlite3.c:119090:7 108072 _ = _addrEofA 108073 var _addrEofA_noB int32 // sqlite3.c:119091:7 108074 _ = _addrEofA_noB 108075 var _addrEofB int32 // sqlite3.c:119092:7 108076 _ = _addrEofB 108077 var _addrAltB int32 // sqlite3.c:119093:7 108078 _ = _addrAltB 108079 var _addrAeqB int32 // sqlite3.c:119094:7 108080 _ = _addrAeqB 108081 var _addrAgtB int32 // sqlite3.c:119095:7 108082 _ = _addrAgtB 108083 var _regLimitA int32 // sqlite3.c:119096:7 108084 _ = _regLimitA 108085 var _regLimitB int32 // sqlite3.c:119097:7 108086 _ = _regLimitB 108087 var _regPrev int32 // sqlite3.c:119098:7 108088 _ = _regPrev 108089 var _savedLimit int32 // sqlite3.c:119099:7 108090 _ = _savedLimit 108091 var _savedOffset int32 // sqlite3.c:119100:7 108092 _ = _savedOffset 108093 var _labelCmpr int32 // sqlite3.c:119101:7 108094 _ = _labelCmpr 108095 var _labelEnd int32 // sqlite3.c:119102:7 108096 _ = _labelEnd 108097 var _addr1 int32 // sqlite3.c:119103:7 108098 _ = _addr1 108099 var _op int32 // sqlite3.c:119104:7 108100 _ = _op 108101 var _pKeyDup *XKeyInfo // sqlite3.c:119105:11 108102 _ = _pKeyDup 108103 var _pKeyMerge *XKeyInfo // sqlite3.c:119106:11 108104 _ = _pKeyMerge 108105 var _db *Xsqlite3 // sqlite3.c:119107:11 108106 _ = _db 108107 var _pOrderBy *XExprList // sqlite3.c:119108:12 108108 _ = _pOrderBy 108109 var _nOrderBy int32 // sqlite3.c:119109:7 108110 _ = _nOrderBy 108111 var _aPermute *int32 // sqlite3.c:119110:7 108112 _ = _aPermute 108113 var _iSub1 int32 // sqlite3.c:119112:7 108114 _ = _iSub1 108115 var _iSub2 int32 // sqlite3.c:119113:7 108116 _ = _iSub2 108117 var _2_pItem *T7850641 // sqlite3.c:119140:28 108118 _ = _2_pItem 108119 var _4_pNew *XExpr // sqlite3.c:119146:14 108120 _ = _4_pNew 108121 var _5_pItem *T7850641 // sqlite3.c:119165:26 108122 _ = _5_pItem 108123 var _9_nExpr int32 // sqlite3.c:119189:9 108124 _ = _9_nExpr 108125 var _24_pFirst *XSelect // sqlite3.c:119363:12 108126 _ = _24_pFirst 108127 _addrOutB = i32(0) 108128 _pKeyDup = nil 108129 func() int32 { 108130 if (*XExprList)(unsafe.Pointer(_p.X12)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 108131 return i32(0) 108132 } 108133 return func() int32 { 108134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119116), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105764))) 108135 crt.X__builtin_abort(tls) 108136 return i32(0) 108137 }() 108138 }() 108139 func() int32 { 108140 if _pKeyDup == (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) { 108141 return i32(0) 108142 } 108143 return func() int32 { 108144 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119117), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105780))) 108145 crt.X__builtin_abort(tls) 108146 return i32(0) 108147 }() 108148 }() 108149 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 108150 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 108151 func() int32 { 108152 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 108153 return i32(0) 108154 } 108155 return func() int32 { 108156 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119120), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(44352))) 108157 crt.X__builtin_abort(tls) 108158 return i32(0) 108159 }() 108160 }() 108161 _labelEnd = _sqlite3VdbeMakeLabel(tls, _v) 108162 _labelCmpr = _sqlite3VdbeMakeLabel(tls, _v) 108163 _op = int32(_p.X1) 108164 _pPrior = (*XSelect)(unsafe.Pointer(_p.X13)) 108165 func() int32 { 108166 if (*XExprList)(unsafe.Pointer(_pPrior.X12)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 108167 return i32(0) 108168 } 108169 return func() int32 { 108170 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119129), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105792))) 108171 crt.X__builtin_abort(tls) 108172 return i32(0) 108173 }() 108174 }() 108175 _pOrderBy = (*XExprList)(unsafe.Pointer(_p.X12)) 108176 func() int32 { 108177 if _pOrderBy != nil { 108178 return i32(0) 108179 } 108180 return func() int32 { 108181 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119131), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105812))) 108182 crt.X__builtin_abort(tls) 108183 return i32(0) 108184 }() 108185 }() 108186 _nOrderBy = _pOrderBy.X0 108187 if _op == i32(116) { 108188 goto _10 108189 } 108190 108191 _i = i32(1) 108192 _11: 108193 if int32(_db.X17) != i32(0) || _i > ((*XExprList)(unsafe.Pointer(_p.X0)).X0) { 108194 goto _15 108195 } 108196 108197 *func() **T7850641 { _j = i32(0); return &_2_pItem }() = (*T7850641)(unsafe.Pointer(_pOrderBy.X1)) 108198 _16: 108199 if _j >= _nOrderBy { 108200 goto _19 108201 } 108202 108203 func() int32 { 108204 if int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pItem))+uintptr(16 /* X5 */))))).X0) > i32(0) { 108205 return i32(0) 108206 } 108207 return func() int32 { 108208 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119142), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105824))) 108209 crt.X__builtin_abort(tls) 108210 return i32(0) 108211 }() 108212 }() 108213 if int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pItem))+uintptr(16 /* X5 */))))).X0) != _i { 108214 goto _22 108215 } 108216 108217 goto _19 108218 108219 _22: 108220 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _j += 1; return &_2_pItem }())) += uintptr(20) 108221 goto _16 108222 108223 _19: 108224 if _j != _nOrderBy { 108225 goto _23 108226 } 108227 108228 _4_pNew = _sqlite3Expr(tls, _db, i32(134), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 108229 if _4_pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 108230 goto _24 108231 } 108232 108233 r0 = _sqlite3NomemError(tls, i32(119147)) 108234 return 108235 108236 _24: 108237 { 108238 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pNew)) + uintptr(4 /* X2 */))) 108239 *p = (*p) | uint32(i32(1024)) 108240 sink985 = *p 108241 } 108242 *(*int32)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pNew)) + uintptr(8 /* X3 */))))) = _i 108243 _pOrderBy = _sqlite3ExprListAppend(tls, _pParse, _pOrderBy, _4_pNew) 108244 if _pOrderBy == nil { 108245 goto _25 108246 } 108247 108248 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(postInc961(&_nOrderBy, int32(1)))))))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(_i) 108249 _25: 108250 _23: 108251 _i += 1 108252 goto _11 108253 108254 _15: 108255 _10: 108256 _aPermute = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(4)*uint32(_nOrderBy+i32(1)))))) 108257 if _aPermute == nil { 108258 goto _26 108259 } 108260 108261 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPermute)) + 4*uintptr(i32(0)))) = _nOrderBy 108262 *func() **T7850641 { _i = i32(1); return &_5_pItem }() = (*T7850641)(unsafe.Pointer(_pOrderBy.X1)) 108263 _27: 108264 if _i > _nOrderBy { 108265 goto _30 108266 } 108267 108268 func() int32 { 108269 if int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem))+uintptr(16 /* X5 */))))).X0) > i32(0) { 108270 return i32(0) 108271 } 108272 return func() int32 { 108273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119168), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105824))) 108274 crt.X__builtin_abort(tls) 108275 return i32(0) 108276 }() 108277 }() 108278 func() int32 { 108279 if int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem))+uintptr(16 /* X5 */))))).X0) <= ((*XExprList)(unsafe.Pointer(_p.X0)).X0) { 108280 return i32(0) 108281 } 108282 return func() int32 { 108283 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119169), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105852))) 108284 crt.X__builtin_abort(tls) 108285 return i32(0) 108286 }() 108287 }() 108288 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aPermute)) + 4*uintptr(_i))) = int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pItem))+uintptr(16 /* X5 */))))).X0) - i32(1) 108289 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_5_pItem }())) += uintptr(20) 108290 goto _27 108291 108292 _30: 108293 _pKeyMerge = _multiSelectOrderByKeyInfo(tls, _pParse, _p, i32(1)) 108294 goto _35 108295 108296 _26: 108297 _pKeyMerge = (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0)))) 108298 _35: 108299 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X12 */))))) = _pOrderBy 108300 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(56 /* X12 */))))) = _sqlite3ExprListDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pOrderBy, i32(0)) 108301 if _op != i32(116) { 108302 goto _36 108303 } 108304 108305 _regPrev = i32(0) 108306 goto _37 108307 108308 _36: 108309 _9_nExpr = (*XExprList)(unsafe.Pointer(_p.X0)).X0 108310 func() int32 { 108311 if (_nOrderBy >= _9_nExpr) || ((_db.X17) != 0) { 108312 return i32(0) 108313 } 108314 return func() int32 { 108315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119190), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105896))) 108316 crt.X__builtin_abort(tls) 108317 return i32(0) 108318 }() 108319 }() 108320 _regPrev = (_pParse.X18) + i32(1) 108321 { 108322 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 108323 *p = (*p) + (_9_nExpr + i32(1)) 108324 sink961 = *p 108325 } 108326 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regPrev) 108327 _pKeyDup = _sqlite3KeyInfoAlloc(tls, _db, _9_nExpr, i32(1)) 108328 if _pKeyDup == nil { 108329 goto _41 108330 } 108331 108332 func() int32 { 108333 if _sqlite3KeyInfoIsWriteable(tls, _pKeyDup) != 0 { 108334 return i32(0) 108335 } 108336 return func() int32 { 108337 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(119196), unsafe.Pointer((*int8)(unsafe.Pointer(&_multiSelectOrderByØ00__func__Ø000))), unsafe.Pointer(str(105932))) 108338 crt.X__builtin_abort(tls) 108339 return i32(0) 108340 }() 108341 }() 108342 _i = i32(0) 108343 _44: 108344 if _i >= _9_nExpr { 108345 goto _47 108346 } 108347 108348 *(**XCollSeq)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyDup))+uintptr(20 /* X6 */))))) + 4*uintptr(_i))) = _multiSelectCollSeq(tls, _pParse, _p, _i) 108349 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pKeyDup.X5)) + 1*uintptr(_i))) = uint8(i32(0)) 108350 _i += 1 108351 goto _44 108352 108353 _47: 108354 _41: 108355 _37: 108356 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 108357 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(64 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 108358 _sqlite3ResolveOrderGroupBy(tls, _pParse, _p, (*XExprList)(unsafe.Pointer(_p.X12)), str(26980)) 108359 if (*XSelect)(unsafe.Pointer(_pPrior.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 108360 goto _48 108361 } 108362 108363 _sqlite3ResolveOrderGroupBy(tls, _pParse, _pPrior, (*XExprList)(unsafe.Pointer(_pPrior.X12)), str(26980)) 108364 _48: 108365 _computeLimitRegisters(tls, _pParse, _p, _labelEnd) 108366 if (_p.X4) == 0 || _op != i32(116) { 108367 goto _50 108368 } 108369 108370 _regLimitA = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 108371 _regLimitB = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 108372 _sqlite3VdbeAddOp2(tls, _v, i32(85), func() int32 { 108373 if (_p.X5) != 0 { 108374 return ((_p.X5) + i32(1)) 108375 } 108376 return (_p.X4) 108377 }(), _regLimitA) 108378 _sqlite3VdbeAddOp2(tls, _v, i32(85), _regLimitA, _regLimitB) 108379 goto _53 108380 108381 _50: 108382 _regLimitA = store961(&_regLimitB, i32(0)) 108383 _53: 108384 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X15))) 108385 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(68 /* X15 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 108386 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_p.X16))) 108387 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(72 /* X16 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 108388 _regAddrA = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 108389 _regAddrB = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 108390 _regOutA = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 108391 _regOutB = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 108392 _sqlite3SelectDestInit(tls, &_destA, i32(13), _regAddrA) 108393 _sqlite3SelectDestInit(tls, &_destB, i32(13), _regAddrB) 108394 _addrSelectA = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) 108395 _addr1 = _sqlite3VdbeAddOp3(tls, _v, i32(15), _regAddrA, i32(0), _addrSelectA) 108396 _sqlite3VdbeComment(tls, _v, str(105968)) 108397 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(12 /* X4 */))) = _regLimitA 108398 _iSub1 = _pParse.X59 108399 _sqlite3Select(tls, _pParse, _pPrior, &_destA) 108400 _sqlite3VdbeEndCoroutine(tls, _v, _regAddrA) 108401 _sqlite3VdbeJumpHere(tls, _v, _addr1) 108402 _addrSelectB = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) 108403 _addr1 = _sqlite3VdbeAddOp3(tls, _v, i32(15), _regAddrB, i32(0), _addrSelectB) 108404 _sqlite3VdbeComment(tls, _v, str(105980)) 108405 _savedLimit = _p.X4 108406 _savedOffset = _p.X5 108407 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = _regLimitB 108408 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = i32(0) 108409 _iSub2 = _pParse.X59 108410 _sqlite3Select(tls, _pParse, _p, &_destB) 108411 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) = _savedLimit 108412 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))) = _savedOffset 108413 _sqlite3VdbeEndCoroutine(tls, _v, _regAddrB) 108414 _sqlite3VdbeNoopComment(tls, _v, str(105996)) 108415 _addrOutA = _generateOutputSubroutine(tls, _pParse, _p, &_destA, _pDest, _regOutA, _regPrev, _pKeyDup, _labelEnd) 108416 if _op != i32(116) && _op != i32(115) { 108417 goto _55 108418 } 108419 108420 _sqlite3VdbeNoopComment(tls, _v, str(106020)) 108421 _addrOutB = _generateOutputSubroutine(tls, _pParse, _p, &_destB, _pDest, _regOutB, _regPrev, _pKeyDup, _labelEnd) 108422 _55: 108423 _sqlite3KeyInfoUnref(tls, _pKeyDup) 108424 if _op != i32(117) && _op != i32(118) { 108425 goto _57 108426 } 108427 108428 _addrEofA_noB = store961(&_addrEofA, _labelEnd) 108429 goto _58 108430 108431 _57: 108432 _sqlite3VdbeNoopComment(tls, _v, str(106044)) 108433 _addrEofA = _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutB, _addrOutB) 108434 _addrEofA_noB = _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrB, _labelEnd) 108435 _sqlite3VdbeGoto(tls, _v, _addrEofA) 108436 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _sqlite3LogEstAdd(tls, _p.X2, _pPrior.X2) 108437 _58: 108438 if _op != i32(118) { 108439 goto _59 108440 } 108441 108442 _addrEofB = _addrEofA 108443 if int32(_p.X2) <= int32(_pPrior.X2) { 108444 goto _60 108445 } 108446 108447 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(6 /* X2 */))) = _pPrior.X2 108448 _60: 108449 goto _61 108450 108451 _59: 108452 _sqlite3VdbeNoopComment(tls, _v, str(106064)) 108453 _addrEofB = _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutA, _addrOutA) 108454 _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _labelEnd) 108455 _sqlite3VdbeGoto(tls, _v, _addrEofB) 108456 _61: 108457 _sqlite3VdbeNoopComment(tls, _v, str(106084)) 108458 _addrAltB = _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutA, _addrOutA) 108459 _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _addrEofA) 108460 _sqlite3VdbeGoto(tls, _v, _labelCmpr) 108461 if _op != i32(116) { 108462 goto _62 108463 } 108464 108465 _addrAeqB = _addrAltB 108466 goto _63 108467 108468 _62: 108469 if _op != i32(118) { 108470 goto _64 108471 } 108472 108473 _addrAeqB = _addrAltB 108474 _addrAltB += 1 108475 goto _65 108476 108477 _64: 108478 _sqlite3VdbeNoopComment(tls, _v, str(106104)) 108479 _addrAeqB = _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _addrEofA) 108480 _sqlite3VdbeGoto(tls, _v, _labelCmpr) 108481 _65: 108482 _63: 108483 _sqlite3VdbeNoopComment(tls, _v, str(106124)) 108484 _addrAgtB = _sqlite3VdbeCurrentAddr(tls, _v) 108485 if _op != i32(116) && _op != i32(115) { 108486 goto _67 108487 } 108488 108489 _sqlite3VdbeAddOp2(tls, _v, i32(14), _regOutB, _addrOutB) 108490 _67: 108491 _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrB, _addrEofB) 108492 _sqlite3VdbeGoto(tls, _v, _labelCmpr) 108493 _sqlite3VdbeJumpHere(tls, _v, _addr1) 108494 _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrA, _addrEofA_noB) 108495 _sqlite3VdbeAddOp2(tls, _v, i32(16), _regAddrB, _addrEofB) 108496 _sqlite3VdbeResolveLabel(tls, _v, _labelCmpr) 108497 _sqlite3VdbeAddOp4(tls, _v, i32(95), i32(0), i32(0), i32(0), (*int8)(unsafe.Pointer(_aPermute)), i32(-12)) 108498 _sqlite3VdbeAddOp4(tls, _v, i32(96), _destA.X3, _destB.X3, _nOrderBy, (*int8)(unsafe.Pointer(_pKeyMerge)), i32(-5)) 108499 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) 108500 _sqlite3VdbeAddOp3(tls, _v, i32(18), _addrAltB, _addrAeqB, _addrAgtB) 108501 _sqlite3VdbeResolveLabel(tls, _v, _labelEnd) 108502 if int32(_pDest.X0) != i32(9) { 108503 goto _68 108504 } 108505 108506 _24_pFirst = _pPrior 108507 _69: 108508 if (*XSelect)(unsafe.Pointer(_24_pFirst.X13)) == nil { 108509 goto _70 108510 } 108511 108512 _24_pFirst = (*XSelect)(unsafe.Pointer(_24_pFirst.X13)) 108513 goto _69 108514 108515 _70: 108516 _generateColumnNames(tls, _pParse, (*XSrcList)(unsafe.Pointer(_24_pFirst.X8)), (*XExprList)(unsafe.Pointer(_24_pFirst.X0))) 108517 _68: 108518 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 108519 goto _71 108520 } 108521 108522 _sqlite3SelectDelete(tls, _db, (*XSelect)(unsafe.Pointer(_p.X13))) 108523 _71: 108524 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X13 */))))) = _pPrior 108525 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior)) + uintptr(64 /* X14 */))))) = _p 108526 _explainComposite(tls, _pParse, int32(_p.X1), _iSub1, _iSub2, i32(0)) 108527 r0 = bool2int((_pParse.X16) != i32(0)) 108528 return 108529 108530 } 108531 108532 var _multiSelectOrderByØ00__func__Ø000 [19]int8 // - 108533 108534 func init() { 108535 crt.Xstrncpy(nil, &_multiSelectOrderByØ00__func__Ø000[0], str(106144), 19) 108536 } 108537 108538 func _sqlite3VdbeEndCoroutine(tls *crt.TLS, _v *XVdbe, _regYield int32) { // sqlite3.c:71663:1 108539 _sqlite3VdbeAddOp1(tls, _v, i32(74), _regYield) 108540 *(*uint8)(unsafe.Pointer(uintptr(_v.X3) + uintptr(19 /* X7 */))) = uint8(i32(0)) 108541 *(*int32)(unsafe.Pointer(uintptr(_v.X3) + uintptr(28 /* X14 */))) = i32(0) 108542 return 108543 108544 } 108545 108546 func _sqlite3VdbeNoopComment(tls *crt.TLS, _p *XVdbe, _zFormat *int8, args ...interface{}) { // sqlite3.c:72390:1 108547 var _ap []interface{} // sqlite3.c:72391:11 108548 _ = _ap 108549 if _p == nil { 108550 goto _0 108551 } 108552 108553 _sqlite3VdbeAddOp0(tls, _p, i32(162)) 108554 _ap = args 108555 _vdbeVComment(tls, _p, _zFormat, _ap) 108556 _ap = nil 108557 _0: 108558 return 108559 108560 } 108561 108562 func _generateOutputSubroutine(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pIn *XSelectDest, _pDest *XSelectDest, _regReturn int32, _regPrev int32, _pKeyInfo *XKeyInfo, _iBreak int32) (r0 int32) { // sqlite3.c:118863:1 108563 var _v *XVdbe // sqlite3.c:118873:8 108564 _ = _v 108565 var _iContinue int32 // sqlite3.c:118874:7 108566 _ = _iContinue 108567 var _addr int32 // sqlite3.c:118875:7 108568 _ = _addr 108569 var _1_addr1 int32 // sqlite3.c:118883:9 108570 _ = _1_addr1 108571 var _1_addr2 int32 // sqlite3.c:118883:16 108572 _ = _1_addr2 108573 var _3_r1 int32 // sqlite3.c:118904:11 108574 _ = _3_r1 108575 var _3_r2 int32 // sqlite3.c:118905:11 108576 _ = _3_r2 108577 var _4_r1 int32 // sqlite3.c:118919:11 108578 _ = _4_r1 108579 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 108580 _addr = _sqlite3VdbeCurrentAddr(tls, _v) 108581 _iContinue = _sqlite3VdbeMakeLabel(tls, _v) 108582 if _regPrev == 0 { 108583 goto _0 108584 } 108585 108586 _1_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(22), _regPrev) 108587 _1_addr2 = _sqlite3VdbeAddOp4(tls, _v, i32(96), _pIn.X3, _regPrev+i32(1), _pIn.X4, (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _pKeyInfo))), i32(-5)) 108588 _sqlite3VdbeAddOp3(tls, _v, i32(18), _1_addr2+i32(2), _iContinue, _1_addr2+i32(2)) 108589 _sqlite3VdbeJumpHere(tls, _v, _1_addr1) 108590 _sqlite3VdbeAddOp3(tls, _v, i32(85), _pIn.X3, _regPrev+i32(1), (_pIn.X4)-i32(1)) 108591 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _regPrev) 108592 _0: 108593 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { 108594 goto _1 108595 } 108596 108597 r0 = i32(0) 108598 return 108599 108600 _1: 108601 _codeOffset(tls, _v, _p.X5, _iContinue) 108602 func() int32 { 108603 if int32(_pDest.X0) != i32(3) { 108604 return i32(0) 108605 } 108606 return func() int32 { 108607 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118898), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateOutputSubroutineØ00__func__Ø000))), unsafe.Pointer(str(106164))) 108608 crt.X__builtin_abort(tls) 108609 return i32(0) 108610 }() 108611 }() 108612 func() int32 { 108613 if int32(_pDest.X0) != i32(14) { 108614 return i32(0) 108615 } 108616 return func() int32 { 108617 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118899), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateOutputSubroutineØ00__func__Ø000))), unsafe.Pointer(str(106192))) 108618 crt.X__builtin_abort(tls) 108619 return i32(0) 108620 }() 108621 }() 108622 switch int32(_pDest.X0) { 108623 case i32(10): 108624 goto _9 108625 case i32(11): 108626 goto _8 108627 case i32(12): 108628 goto _7 108629 case i32(13): 108630 goto _10 108631 default: 108632 goto _11 108633 } 108634 108635 _7: 108636 _3_r1 = _sqlite3GetTempReg(tls, _pParse) 108637 _3_r2 = _sqlite3GetTempReg(tls, _pParse) 108638 _sqlite3VdbeAddOp3(tls, _v, i32(100), _pIn.X3, _pIn.X4, _3_r1) 108639 _sqlite3VdbeAddOp2(tls, _v, i32(115), _pDest.X2, _3_r2) 108640 _sqlite3VdbeAddOp3(tls, _v, i32(116), _pDest.X2, _3_r1, _3_r2) 108641 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 108642 _sqlite3ReleaseTempReg(tls, _pParse, _3_r2) 108643 _sqlite3ReleaseTempReg(tls, _pParse, _3_r1) 108644 goto _12 108645 108646 _8: 108647 _4_r1 = _sqlite3GetTempReg(tls, _pParse) 108648 _sqlite3VdbeAddOp4(tls, _v, i32(100), _pIn.X3, _pIn.X4, _4_r1, _pDest.X1, _pIn.X4) 108649 _sqlite3ExprCacheAffinityChange(tls, _pParse, _pIn.X3, _pIn.X4) 108650 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _pDest.X2, _4_r1, _pIn.X3, _pIn.X4) 108651 _sqlite3ReleaseTempReg(tls, _pParse, _4_r1) 108652 goto _12 108653 108654 _9: 108655 func() int32 { 108656 if ((_pIn.X4) == i32(1)) || ((_pParse.X16) > i32(0)) { 108657 return i32(0) 108658 } 108659 return func() int32 { 108660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118936), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateOutputSubroutineØ00__func__Ø000))), unsafe.Pointer(str(106216))) 108661 crt.X__builtin_abort(tls) 108662 return i32(0) 108663 }() 108664 }() 108665 _sqlite3ExprCodeMove(tls, _pParse, _pIn.X3, _pDest.X2, i32(1)) 108666 goto _12 108667 108668 _10: 108669 if (_pDest.X3) != i32(0) { 108670 goto _16 108671 } 108672 108673 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(12 /* X3 */))) = _sqlite3GetTempRange(tls, _pParse, _pIn.X4) 108674 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(16 /* X4 */))) = _pIn.X4 108675 _16: 108676 _sqlite3ExprCodeMove(tls, _pParse, _pIn.X3, _pDest.X3, _pIn.X4) 108677 _sqlite3VdbeAddOp1(tls, _v, i32(16), _pDest.X2) 108678 goto _12 108679 108680 _11: 108681 func() int32 { 108682 if int32(_pDest.X0) == i32(9) { 108683 return i32(0) 108684 } 108685 return func() int32 { 108686 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(118965), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateOutputSubroutineØ00__func__Ø000))), unsafe.Pointer(str(106248))) 108687 crt.X__builtin_abort(tls) 108688 return i32(0) 108689 }() 108690 }() 108691 _sqlite3VdbeAddOp2(tls, _v, i32(88), _pIn.X3, _pIn.X4) 108692 _sqlite3ExprCacheAffinityChange(tls, _pParse, _pIn.X3, _pIn.X4) 108693 goto _12 108694 108695 _12: 108696 if (_p.X4) == 0 { 108697 goto _19 108698 } 108699 108700 _sqlite3VdbeAddOp2(tls, _v, i32(69), _p.X4, _iBreak) 108701 _19: 108702 _sqlite3VdbeResolveLabel(tls, _v, _iContinue) 108703 _sqlite3VdbeAddOp1(tls, _v, i32(73), _regReturn) 108704 r0 = _addr 108705 return 108706 108707 } 108708 108709 func _sqlite3KeyInfoRef(tls *crt.TLS, _p *XKeyInfo) (r0 *XKeyInfo) { // sqlite3.c:117312:1 108710 if _p == nil { 108711 goto _0 108712 } 108713 108714 func() int32 { 108715 if (_p.X0) > uint32(i32(0)) { 108716 return i32(0) 108717 } 108718 return func() int32 { 108719 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117314), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3KeyInfoRefØ00__func__Ø000))), unsafe.Pointer(str(3248))) 108720 crt.X__builtin_abort(tls) 108721 return i32(0) 108722 }() 108723 }() 108724 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 108725 _0: 108726 r0 = _p 108727 return 108728 108729 } 108730 108731 var _sqlite3KeyInfoRefØ00__func__Ø000 [18]int8 // - 108732 108733 func init() { 108734 crt.Xstrncpy(nil, &_sqlite3KeyInfoRefØ00__func__Ø000[0], str(106276), 18) 108735 } 108736 108737 var _generateOutputSubroutineØ00__func__Ø000 [25]int8 // - 108738 108739 func init() { 108740 crt.Xstrncpy(nil, &_generateOutputSubroutineØ00__func__Ø000[0], str(106296), 25) 108741 } 108742 108743 func _sqlite3LogEstAdd(tls *crt.TLS, _a int16, _b int16) (r0 int16) { // sqlite3.c:28995:1 108744 if int32(_a) < int32(_b) { 108745 goto _0 108746 } 108747 108748 if int32(_a) <= (int32(_b) + i32(49)) { 108749 goto _1 108750 } 108751 108752 r0 = _a 108753 return 108754 108755 _1: 108756 if int32(_a) <= (int32(_b) + i32(31)) { 108757 goto _2 108758 } 108759 108760 r0 = int16(int32(_a) + i32(1)) 108761 return 108762 108763 _2: 108764 r0 = int16(int32(_a) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LogEstAddØ00xØ001)) + 1*uintptr(int32(_a)-int32(_b)))))) 108765 return 108766 108767 _0: 108768 if int32(_b) <= (int32(_a) + i32(49)) { 108769 goto _4 108770 } 108771 108772 r0 = _b 108773 return 108774 108775 _4: 108776 if int32(_b) <= (int32(_a) + i32(31)) { 108777 goto _5 108778 } 108779 108780 r0 = int16(int32(_b) + i32(1)) 108781 return 108782 108783 _5: 108784 r0 = int16(int32(_b) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3LogEstAddØ00xØ001)) + 1*uintptr(int32(_b)-int32(_a)))))) 108785 return 108786 108787 } 108788 108789 var _sqlite3LogEstAddØ00xØ001 [32]uint8 // sqlite3.c:28996:30 108790 108791 func init() { 108792 _sqlite3LogEstAddØ00xØ001 = [32]uint8{10, 10, 9, 9, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2} 108793 } 108794 108795 func _generateColumnNames(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pEList *XExprList) { // sqlite3.c:117809:1 108796 var _v *XVdbe // sqlite3.c:117814:8 108797 _ = _v 108798 var _i int32 // sqlite3.c:117815:7 108799 _ = _i 108800 var _j int32 // sqlite3.c:117815:10 108801 _ = _j 108802 var _db *Xsqlite3 // sqlite3.c:117816:11 108803 _ = _db 108804 var _fullNames int32 // sqlite3.c:117817:7 108805 _ = _fullNames 108806 var _shortNames int32 // sqlite3.c:117817:18 108807 _ = _shortNames 108808 var _2_p *XExpr // sqlite3.c:117834:10 108809 _ = _2_p 108810 var _3_zName *int8 // sqlite3.c:117838:12 108811 _ = _3_zName 108812 var _4_pTab *XTable // sqlite3.c:117841:13 108813 _ = _4_pTab 108814 var _4_zCol *int8 // sqlite3.c:117842:12 108815 _ = _4_zCol 108816 var _4_iCol int32 // sqlite3.c:117843:11 108817 _ = _4_iCol 108818 var _9_zName *int8 // sqlite3.c:117860:14 108819 _ = _9_zName 108820 var _11_z *int8 // sqlite3.c:117867:18 108821 _ = _11_z 108822 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 108823 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 108824 if (_pParse.X54) == 0 { 108825 goto _0 108826 } 108827 108828 return 108829 108830 _0: 108831 if (_pParse.X4) == 0 && (_db.X17) == 0 { 108832 goto _2 108833 } 108834 108835 return 108836 108837 _2: 108838 func() int32 { 108839 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 108840 return i32(0) 108841 } 108842 return func() int32 { 108843 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117827), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(44352))) 108844 crt.X__builtin_abort(tls) 108845 return i32(0) 108846 }() 108847 }() 108848 func() int32 { 108849 if _pTabList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 108850 return i32(0) 108851 } 108852 return func() int32 { 108853 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117828), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(106324))) 108854 crt.X__builtin_abort(tls) 108855 return i32(0) 108856 }() 108857 }() 108858 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(16 /* X4 */))) = uint8(i32(1)) 108859 _fullNames = bool2int(((_db.X6) & i32(4)) != i32(0)) 108860 _shortNames = bool2int(((_db.X6) & i32(64)) != i32(0)) 108861 _sqlite3VdbeSetNumCols(tls, _v, _pEList.X0) 108862 _i = i32(0) 108863 _7: 108864 if _i >= (_pEList.X0) { 108865 goto _10 108866 } 108867 108868 _2_p = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X0)) 108869 if func() int32 { 108870 if _2_p == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 108871 return func() int32 { 108872 func() int32 { 108873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117836), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(5204))) 108874 crt.X__builtin_abort(tls) 108875 return i32(0) 108876 }() 108877 return i32(1) 108878 }() 108879 } 108880 return i32(0) 108881 }() == 0 { 108882 goto _13 108883 } 108884 108885 goto _8 108886 108887 _13: 108888 if ((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X1) == nil { 108889 goto _14 108890 } 108891 108892 _3_zName = (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X1 108893 _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _3_zName, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 108894 goto _15 108895 108896 _14: 108897 if int32(_2_p.X0) != i32(152) && int32(_2_p.X0) != i32(154) { 108898 goto _17 108899 } 108900 108901 _4_iCol = int32(_2_p.X9) 108902 _j = i32(0) 108903 _18: 108904 if func() int32 { 108905 if _j < (_pTabList.X0) { 108906 return i32(1) 108907 } 108908 return func() int32 { 108909 func() int32 { 108910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117844), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(5204))) 108911 crt.X__builtin_abort(tls) 108912 return i32(0) 108913 }() 108914 return i32(0) 108915 }() 108916 }() == 0 { 108917 goto _23 108918 } 108919 108920 if ((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 108921 X0 unsafe.Pointer 108922 X1 *int8 108923 X2 *int8 108924 X3 *int8 108925 X4 unsafe.Pointer 108926 X5 unsafe.Pointer 108927 X6 int32 108928 X7 int32 108929 X8 int32 108930 X9 struct { 108931 X0 uint8 108932 X1 int8 108933 } 108934 X10 uint8 108935 X11 int32 108936 X12 unsafe.Pointer 108937 X13 unsafe.Pointer 108938 X14 uint64 108939 X15 struct { 108940 X [0]struct { 108941 X0 *int8 108942 X1 unsafe.Pointer 108943 } 108944 U [4]byte 108945 } 108946 X16 unsafe.Pointer 108947 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_j))).X11) != (_2_p.X8) { 108948 goto _24 108949 } 108950 108951 goto _23 108952 108953 _24: 108954 _j += 1 108955 goto _18 108956 108957 _23: 108958 func() int32 { 108959 if _j < (_pTabList.X0) { 108960 return i32(0) 108961 } 108962 return func() int32 { 108963 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117847), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(106336))) 108964 crt.X__builtin_abort(tls) 108965 return i32(0) 108966 }() 108967 }() 108968 _4_pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 108969 X0 unsafe.Pointer 108970 X1 *int8 108971 X2 *int8 108972 X3 *int8 108973 X4 unsafe.Pointer 108974 X5 unsafe.Pointer 108975 X6 int32 108976 X7 int32 108977 X8 int32 108978 X9 struct { 108979 X0 uint8 108980 X1 int8 108981 } 108982 X10 uint8 108983 X11 int32 108984 X12 unsafe.Pointer 108985 X13 unsafe.Pointer 108986 X14 uint64 108987 X15 struct { 108988 X [0]struct { 108989 X0 *int8 108990 X1 unsafe.Pointer 108991 } 108992 U [4]byte 108993 } 108994 X16 unsafe.Pointer 108995 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_j))).X4)) 108996 if _4_iCol >= i32(0) { 108997 goto _27 108998 } 108999 109000 _4_iCol = int32(_4_pTab.X10) 109001 _27: 109002 func() int32 { 109003 if (_4_iCol == i32(-1)) || ((_4_iCol >= i32(0)) && (_4_iCol < int32(_4_pTab.X11))) { 109004 return i32(0) 109005 } 109006 return func() int32 { 109007 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117850), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateColumnNamesØ00__func__Ø000))), unsafe.Pointer(str(99872))) 109008 crt.X__builtin_abort(tls) 109009 return i32(0) 109010 }() 109011 }() 109012 if _4_iCol >= i32(0) { 109013 goto _32 109014 } 109015 109016 _4_zCol = str(28688) 109017 goto _33 109018 109019 _32: 109020 _4_zCol = (*XColumn)(unsafe.Pointer(uintptr(_4_pTab.X1) + 16*uintptr(_4_iCol))).X0 109021 _33: 109022 if _shortNames != 0 || _fullNames != 0 { 109023 goto _35 109024 } 109025 109026 _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _sqlite3DbStrDup(tls, _db, (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_i))).X2), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 109027 f func(*crt.TLS, unsafe.Pointer) int32 109028 }{_sqlite3MallocSize}))) 109029 goto _36 109030 109031 _35: 109032 if _fullNames == 0 { 109033 goto _37 109034 } 109035 109036 _9_zName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 109037 _9_zName = _sqlite3MPrintf(tls, _db, str(7872), unsafe.Pointer(_4_pTab.X0), unsafe.Pointer(_4_zCol)) 109038 _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _9_zName, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 109039 f func(*crt.TLS, unsafe.Pointer) int32 109040 }{_sqlite3MallocSize}))) 109041 goto _38 109042 109043 _37: 109044 _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _4_zCol, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 109045 _38: 109046 _36: 109047 goto _39 109048 109049 _17: 109050 _11_z = (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X2 109051 _11_z = func() *int8 { 109052 if _11_z == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 109053 return _sqlite3MPrintf(tls, _db, str(106356), _i+i32(1)) 109054 } 109055 return _sqlite3DbStrDup(tls, _db, _11_z) 109056 }() 109057 _sqlite3VdbeSetColName(tls, _v, _i, i32(0), _11_z, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 109058 f func(*crt.TLS, unsafe.Pointer) int32 109059 }{_sqlite3MallocSize}))) 109060 _39: 109061 _15: 109062 _8: 109063 _i += 1 109064 goto _7 109065 109066 _10: 109067 _generateColumnTypes(tls, _pParse, _pTabList, _pEList) 109068 return 109069 109070 } 109071 109072 var _generateColumnNamesØ00__func__Ø000 [20]int8 // - 109073 109074 func init() { 109075 crt.Xstrncpy(nil, &_generateColumnNamesØ00__func__Ø000[0], str(106368), 20) 109076 } 109077 109078 func _generateColumnTypes(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pEList *XExprList) { // sqlite3.c:117769:1 109079 var _v *XVdbe // sqlite3.c:117775:8 109080 _ = _v 109081 var _i int32 // sqlite3.c:117776:7 109082 _ = _i 109083 var _sNC XNameContext // sqlite3.c:117777:15 109084 _ = _sNC 109085 var _1_p *XExpr // sqlite3.c:117781:10 109086 _ = _1_p 109087 var _1_zType *int8 // sqlite3.c:117782:16 109088 _ = _1_zType 109089 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 109090 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(4 /* X1 */))))) = _pTabList 109091 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse 109092 _i = i32(0) 109093 _0: 109094 if _i >= (_pEList.X0) { 109095 goto _3 109096 } 109097 109098 _1_p = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X0)) 109099 _1_zType = _columnTypeImpl(tls, &_sNC, _1_p, (*uint8)(unsafe.Pointer(uintptr(i32(0))))) 109100 _sqlite3VdbeSetColName(tls, _v, _i, i32(1), _1_zType, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 109101 _i += 1 109102 goto _0 109103 109104 _3: 109105 return 109106 109107 } 109108 109109 func _explainComposite(tls *crt.TLS, _pParse *XParse, _op int32, _iSub1 int32, _iSub2 int32, _bUseTmp int32) { // sqlite3.c:117434:1 109110 var _1_v *XVdbe // sqlite3.c:117443:10 109111 _ = _1_v 109112 var _1_zMsg *int8 // sqlite3.c:117444:10 109113 _ = _1_zMsg 109114 func() int32 { 109115 if (((_op == i32(115)) || (_op == i32(117))) || (_op == i32(118))) || (_op == i32(116)) { 109116 return i32(0) 109117 } 109118 return func() int32 { 109119 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117441), unsafe.Pointer((*int8)(unsafe.Pointer(&_explainCompositeØ00__func__Ø000))), unsafe.Pointer(str(106388))) 109120 crt.X__builtin_abort(tls) 109121 return i32(0) 109122 }() 109123 }() 109124 if int32(_pParse.X54) != i32(2) { 109125 goto _5 109126 } 109127 109128 _1_v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 109129 _1_zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(106452), _iSub1, _iSub2, unsafe.Pointer(func() *int8 { 109130 if _bUseTmp != 0 { 109131 return str(106492) 109132 } 109133 return str(196) 109134 }()), unsafe.Pointer(_selectOpName(tls, _op))) 109135 _sqlite3VdbeAddOp4(tls, _1_v, i32(163), _pParse.X58, i32(0), i32(0), _1_zMsg, i32(-1)) 109136 _5: 109137 return 109138 109139 } 109140 109141 var _explainCompositeØ00__func__Ø000 [17]int8 // - 109142 109143 func init() { 109144 crt.Xstrncpy(nil, &_explainCompositeØ00__func__Ø000[0], str(106512), 17) 109145 } 109146 109147 func _sqlite3SelectExprHeight(tls *crt.TLS, _p *XSelect) (r0 int32) { // sqlite3.c:91422:1 109148 var _nHeight int32 // sqlite3.c:91423:7 109149 _ = _nHeight 109150 _nHeight = i32(0) 109151 _heightOfSelect(tls, _p, &_nHeight) 109152 r0 = _nHeight 109153 return 109154 109155 } 109156 109157 func _pushDownWhereTerms(tls *crt.TLS, _pParse *XParse, _pSubq *XSelect, _pWhere *XExpr, _iCursor int32) (r0 int32) { // sqlite3.c:120074:1 109158 var _pNew *XExpr // sqlite3.c:120080:8 109159 _ = _pNew 109160 var _nChng int32 // sqlite3.c:120081:7 109161 _ = _nChng 109162 var _pX *XSelect // sqlite3.c:120082:10 109163 _ = _pX 109164 _nChng = i32(0) 109165 if _pWhere != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 109166 goto _0 109167 } 109168 109169 r0 = i32(0) 109170 return 109171 109172 _0: 109173 _pX = _pSubq 109174 _1: 109175 if _pX == nil { 109176 goto _4 109177 } 109178 109179 if ((_pX.X3) & uint32(i32(8200))) == uint32(i32(0)) { 109180 goto _5 109181 } 109182 109183 r0 = i32(0) 109184 return 109185 109186 _5: 109187 _pX = (*XSelect)(unsafe.Pointer(_pX.X13)) 109188 goto _1 109189 109190 _4: 109191 if (*XExpr)(unsafe.Pointer(_pSubq.X15)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 109192 goto _6 109193 } 109194 109195 r0 = i32(0) 109196 return 109197 109198 _6: 109199 _7: 109200 if int32(_pWhere.X0) != i32(28) { 109201 goto _8 109202 } 109203 109204 { 109205 p := &_nChng 109206 *p = (*p) + _pushDownWhereTerms(tls, _pParse, _pSubq, (*XExpr)(unsafe.Pointer(_pWhere.X5)), _iCursor) 109207 sink961 = *p 109208 } 109209 _pWhere = (*XExpr)(unsafe.Pointer(_pWhere.X4)) 109210 goto _7 109211 109212 _8: 109213 if ((_pWhere.X2) & uint32(i32(1))) == uint32(i32(0)) { 109214 goto _9 109215 } 109216 109217 r0 = i32(0) 109218 return 109219 109220 _9: 109221 if _sqlite3ExprIsTableConstant(tls, _pWhere, _iCursor) == 0 { 109222 goto _10 109223 } 109224 109225 _nChng += 1 109226 _11: 109227 if _pSubq == nil { 109228 goto _12 109229 } 109230 109231 _pNew = _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pWhere, i32(0)) 109232 _pNew = _substExpr(tls, _pParse, _pNew, _iCursor, (*XExprList)(unsafe.Pointer(_pSubq.X0))) 109233 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubq)) + uintptr(44 /* X9 */))))) = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer(_pSubq.X9)), _pNew) 109234 _pSubq = (*XSelect)(unsafe.Pointer(_pSubq.X13)) 109235 goto _11 109236 109237 _12: 109238 _10: 109239 r0 = _nChng 109240 return 109241 109242 } 109243 109244 func _sqlite3ExprIsTableConstant(tls *crt.TLS, _p *XExpr, _iCur int32) (r0 int32) { // sqlite3.c:92555:1 109245 r0 = _exprIsConst(tls, _p, i32(3), _iCur) 109246 return 109247 109248 } 109249 109250 func _sqlite3ClearTempRegCache(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:95847:1 109251 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(19 /* X7 */))) = uint8(i32(0)) 109252 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(28 /* X14 */))) = i32(0) 109253 return 109254 109255 } 109256 109257 func _sqlite3VdbeChangeP1(tls *crt.TLS, _p *XVdbe, _addr uint32, _val int32) { // sqlite3.c:72114:1 109258 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(4 /* X3 */))) = _val 109259 return 109260 109261 } 109262 109263 func _sqlite3VdbeChangeOpcode(tls *crt.TLS, _p *XVdbe, _addr uint32, _iNewOpcode uint8) { // sqlite3.c:72111:1 109264 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(0 /* X0 */))) = _iNewOpcode 109265 return 109266 109267 } 109268 109269 func _sqlite3WhereBegin(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pWhere *XExpr, _pOrderBy *XExprList, _pResultSet *XExprList, _wctrlFlags uint16, _iAuxArg int32) (r0 *XWhereInfo) { // sqlite3.c:134202:1 109270 var _nByteWInfo int32 // sqlite3.c:134212:7 109271 _ = _nByteWInfo 109272 var _nTabList int32 // sqlite3.c:134213:7 109273 _ = _nTabList 109274 var _pWInfo *XWhereInfo // sqlite3.c:134214:13 109275 _ = _pWInfo 109276 var _v *XVdbe // sqlite3.c:134215:8 109277 _ = _v 109278 var _notReady uint64 // sqlite3.c:134216:11 109279 _ = _notReady 109280 var _sWLB XWhereLoopBuilder // sqlite3.c:134217:20 109281 _ = _sWLB 109282 var _pMaskSet *XWhereMaskSet // sqlite3.c:134218:16 109283 _ = _pMaskSet 109284 var _pLevel *XWhereLevel // sqlite3.c:134219:14 109285 _ = _pLevel 109286 var _pLoop *XWhereLoop // sqlite3.c:134220:13 109287 _ = _pLoop 109288 var _ii int32 // sqlite3.c:134221:7 109289 _ = _ii 109290 var _db *Xsqlite3 // sqlite3.c:134222:11 109291 _ = _db 109292 var _rc int32 // sqlite3.c:134223:7 109293 _ = _rc 109294 var _bFordelete uint8 // sqlite3.c:134224:6 109295 _ = _bFordelete 109296 var _9_m uint64 // sqlite3.c:134351:13 109297 _ = _9_m 109298 var _17_tabUsed uint64 // sqlite3.c:134446:13 109299 _ = _17_tabUsed 109300 var _19_pTerm *XWhereTerm // sqlite3.c:134451:17 109301 _ = _19_pTerm 109302 var _19_pEnd *XWhereTerm // sqlite3.c:134451:25 109303 _ = _19_pEnd 109304 var _23_wsFlags int32 // sqlite3.c:134482:9 109305 _ = _23_wsFlags 109306 var _23_bOnerow int32 // sqlite3.c:134483:9 109307 _ = _23_bOnerow 109308 var _27_pTab *XTable // sqlite3.c:134502:11 109309 _ = _27_pTab 109310 var _27_iDb int32 // sqlite3.c:134503:9 109311 _ = _27_iDb 109312 var _27_pTabItem *T7840217 // sqlite3.c:134504:25 109313 _ = _27_pTabItem 109314 var _29_pVTab *int8 // sqlite3.c:134515:18 109315 _ = _29_pVTab 109316 var _29_iCur int32 // sqlite3.c:134516:11 109317 _ = _29_iCur 109318 var _31_op int32 // sqlite3.c:134524:11 109319 _ = _31_op 109320 var _33_b uint64 // sqlite3.c:134534:17 109321 _ = _33_b 109322 var _33_n int32 // sqlite3.c:134535:13 109323 _ = _33_n 109324 var _37_pIx *XIndex // sqlite3.c:134556:13 109325 _ = _37_pIx 109326 var _37_iIndexCur int32 // sqlite3.c:134557:11 109327 _ = _37_iIndexCur 109328 var _37_op int32 // sqlite3.c:134558:11 109329 _ = _37_op 109330 var _39_pJ *XIndex // sqlite3.c:134569:15 109331 _ = _39_pJ 109332 var _45_addrExplain int32 // sqlite3.c:134625:9 109333 _ = _45_addrExplain 109334 var _45_wsFlags int32 // sqlite3.c:134626:9 109335 _ = _45_wsFlags 109336 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 109337 _bFordelete = u8(0) 109338 func() int32 { 109339 if ((int32(_wctrlFlags) & i32(8)) == i32(0)) || (((int32(_wctrlFlags) & i32(4)) != i32(0)) && ((int32(_wctrlFlags) & i32(32)) == i32(0))) { 109340 return i32(0) 109341 } 109342 return func() int32 { 109343 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134226), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106532))) 109344 crt.X__builtin_abort(tls) 109345 return i32(0) 109346 }() 109347 }() 109348 func() int32 { 109349 if ((int32(_wctrlFlags) & i32(32)) == i32(0)) || ((int32(_wctrlFlags) & i32(16384)) == i32(0)) { 109350 return i32(0) 109351 } 109352 return func() int32 { 109353 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134232), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106660))) 109354 crt.X__builtin_abort(tls) 109355 return i32(0) 109356 }() 109357 }() 109358 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 109359 crt.Xmemset(tls, (unsafe.Pointer)(&_sWLB), i32(0), u32(24)) 109360 if _pOrderBy == nil || (_pOrderBy.X0) < i32(64) { 109361 goto _8 109362 } 109363 109364 _pOrderBy = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 109365 _8: 109366 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(8 /* X2 */))))) = _pOrderBy 109367 if (int32(_db.X13) & i32(32)) == i32(0) { 109368 goto _9 109369 } 109370 109371 { 109372 p := &_wctrlFlags 109373 *p = uint16(int32(*p) & i32(-257)) 109374 sink6908 = *p 109375 } 109376 _9: 109377 if (_pTabList.X0) <= i32(64) { 109378 goto _10 109379 } 109380 109381 _sqlite3ErrorMsg(tls, _pParse, str(106736), i32(64)) 109382 r0 = (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) 109383 return 109384 109385 _10: 109386 _nTabList = func() int32 { 109387 if (int32(_wctrlFlags) & i32(32)) != 0 { 109388 return i32(1) 109389 } 109390 return (_pTabList.X0) 109391 }() 109392 _nByteWInfo = int32(((u32(816) + (uint32(_nTabList-i32(1)) * u32(76))) + uint32(i32(7))) & uint32(i32(-8))) 109393 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(uint32(_nByteWInfo)+u32(72))))) 109394 if (_db.X17) == 0 { 109395 goto _13 109396 } 109397 109398 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pWInfo)) 109399 _pWInfo = (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) 109400 goto _whereBeginError 109401 109402 _13: 109403 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(0 /* X0 */))))) = _pParse 109404 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(4 /* X1 */))))) = _pTabList 109405 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(8 /* X2 */))))) = _pOrderBy 109406 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(12 /* X3 */))))) = _pResultSet 109407 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(20 /* X5 */))))) + 4*uintptr(i32(0)))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(20 /* X5 */)))))+4*uintptr(i32(1)))), i32(-1)) 109408 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(42 /* X10 */))) = uint8(_nTabList) 109409 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(32 /* X7 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(28 /* X6 */))), _sqlite3VdbeMakeLabel(tls, _v)) 109410 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(40 /* X9 */))) = _wctrlFlags 109411 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(16 /* X4 */))) = int16(_iAuxArg) 109412 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(36 /* X8 */))) = int32(_pParse.X42) 109413 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(43 /* X11 */)))), i32(0), u32(29)) 109414 crt.Xmemset(tls, (unsafe.Pointer)((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */)))))+76*uintptr(i32(0))))), i32(0), u32(72)+(uint32(_nTabList)*u32(76))) 109415 func() int32 { 109416 if int32(_pWInfo.X13) == i32(0) { 109417 return i32(0) 109418 } 109419 return func() int32 { 109420 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134293), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106764))) 109421 crt.X__builtin_abort(tls) 109422 return i32(0) 109423 }() 109424 }() 109425 _pMaskSet = (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(480 /* X22 */))) 109426 *(**XWhereInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(0 /* X0 */))))) = _pWInfo 109427 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(4 /* X1 */))))) = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(72 /* X21 */))) 109428 *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sWLB)) + uintptr(12 /* X3 */))))) = (*XWhereLoop)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pWInfo)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_nByteWInfo))))))))) 109429 func() int32 { 109430 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*XWhereLoop)(unsafe.Pointer(_sWLB.X3))))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 109431 return i32(0) 109432 } 109433 return func() int32 { 109434 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134298), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106796))) 109435 crt.X__builtin_abort(tls) 109436 return i32(0) 109437 }() 109438 }() 109439 _whereLoopInit(tls, (*XWhereLoop)(unsafe.Pointer(_sWLB.X3))) 109440 *(*int8)(unsafe.Pointer(uintptr(_sWLB.X3) + uintptr(16 /* X2 */))) = int8(i32(42)) 109441 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMaskSet)) + uintptr(0 /* X0 */))) = i32(0) 109442 _sqlite3WhereClauseInit(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */))), _pWInfo) 109443 _sqlite3WhereSplit(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */))), _pWhere, uint8(i32(28))) 109444 _ii = i32(0) 109445 _18: 109446 if _ii >= ((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X3) { 109447 goto _21 109448 } 109449 109450 if _nTabList != i32(0) && _sqlite3ExprIsConstantNotJoin(tls, (*XExpr)(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)+48*uintptr(_ii))).X0))) == 0 { 109451 goto _23 109452 } 109453 109454 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)+48*uintptr(_ii))).X0)), _pWInfo.X7, i32(16)) 109455 { 109456 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)+48*uintptr(_ii))))) + uintptr(10 /* X3 */))) 109457 *p = uint16(int32(*p) | i32(4)) 109458 sink6908 = *p 109459 } 109460 _23: 109461 _ii += 1 109462 goto _18 109463 109464 _21: 109465 if _nTabList != i32(0) { 109466 goto _24 109467 } 109468 109469 if _pOrderBy == nil { 109470 goto _25 109471 } 109472 109473 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(43 /* X11 */))) = int8(_pOrderBy.X0) 109474 _25: 109475 if (int32(_wctrlFlags) & i32(256)) == 0 { 109476 goto _26 109477 } 109478 109479 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(47 /* X15 */))) = uint8(i32(1)) 109480 _26: 109481 _24: 109482 _ii = i32(0) 109483 _27: 109484 if _ii >= (_pTabList.X0) { 109485 goto _30 109486 } 109487 109488 _createMask(tls, _pMaskSet, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 109489 X0 unsafe.Pointer 109490 X1 *int8 109491 X2 *int8 109492 X3 *int8 109493 X4 unsafe.Pointer 109494 X5 unsafe.Pointer 109495 X6 int32 109496 X7 int32 109497 X8 int32 109498 X9 struct { 109499 X0 uint8 109500 X1 int8 109501 } 109502 X10 uint8 109503 X11 int32 109504 X12 unsafe.Pointer 109505 X13 unsafe.Pointer 109506 X14 uint64 109507 X15 struct { 109508 X [0]struct { 109509 X0 *int8 109510 X1 unsafe.Pointer 109511 } 109512 U [4]byte 109513 } 109514 X16 unsafe.Pointer 109515 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(_ii))).X11) 109516 _sqlite3WhereTabFuncArgs(tls, _pParse, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 109517 X0 unsafe.Pointer 109518 X1 *int8 109519 X2 *int8 109520 X3 *int8 109521 X4 unsafe.Pointer 109522 X5 unsafe.Pointer 109523 X6 int32 109524 X7 int32 109525 X8 int32 109526 X9 struct { 109527 X0 uint8 109528 X1 int8 109529 } 109530 X10 uint8 109531 X11 int32 109532 X12 unsafe.Pointer 109533 X13 unsafe.Pointer 109534 X14 uint64 109535 X15 struct { 109536 X [0]struct { 109537 X0 *int8 109538 X1 unsafe.Pointer 109539 } 109540 U [4]byte 109541 } 109542 X16 unsafe.Pointer 109543 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(_ii))), (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */)))) 109544 _ii += 1 109545 goto _27 109546 109547 _30: 109548 _ii = i32(0) 109549 _31: 109550 if _ii >= (_pTabList.X0) { 109551 goto _34 109552 } 109553 109554 _9_m = _sqlite3WhereGetMask(tls, _pMaskSet, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 109555 X0 unsafe.Pointer 109556 X1 *int8 109557 X2 *int8 109558 X3 *int8 109559 X4 unsafe.Pointer 109560 X5 unsafe.Pointer 109561 X6 int32 109562 X7 int32 109563 X8 int32 109564 X9 struct { 109565 X0 uint8 109566 X1 int8 109567 } 109568 X10 uint8 109569 X11 int32 109570 X12 unsafe.Pointer 109571 X13 unsafe.Pointer 109572 X14 uint64 109573 X15 struct { 109574 X [0]struct { 109575 X0 *int8 109576 X1 unsafe.Pointer 109577 } 109578 U [4]byte 109579 } 109580 X16 unsafe.Pointer 109581 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(_ii))).X11) 109582 func() int32 { 109583 if _9_m == (u64(1) << uint(_ii)) { 109584 return i32(0) 109585 } 109586 return func() int32 { 109587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134352), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106828))) 109588 crt.X__builtin_abort(tls) 109589 return i32(0) 109590 }() 109591 }() 109592 _ii += 1 109593 goto _31 109594 109595 _34: 109596 _sqlite3WhereExprAnalyze(tls, _pTabList, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */)))) 109597 if (_db.X17) == 0 { 109598 goto _37 109599 } 109600 109601 goto _whereBeginError 109602 109603 _37: 109604 if (int32(_wctrlFlags) & i32(256)) == 0 { 109605 goto _38 109606 } 109607 109608 if _isDistinctRedundant(tls, _pParse, _pTabList, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */))), _pResultSet) == 0 { 109609 goto _39 109610 } 109611 109612 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(47 /* X15 */))) = uint8(i32(1)) 109613 goto _40 109614 109615 _39: 109616 if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 109617 goto _41 109618 } 109619 109620 { 109621 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(40 /* X9 */))) 109622 *p = uint16(int32(*p) | i32(128)) 109623 sink6908 = *p 109624 } 109625 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(8 /* X2 */))))) = _pResultSet 109626 _41: 109627 _40: 109628 _38: 109629 if _nTabList == i32(1) && _whereShortCut(tls, &_sWLB) != i32(0) { 109630 goto _43 109631 } 109632 109633 _rc = _whereLoopAddAll(tls, &_sWLB) 109634 if _rc == 0 { 109635 goto _44 109636 } 109637 109638 goto _whereBeginError 109639 109640 _44: 109641 _wherePathSolver(tls, _pWInfo, int16(i32(0))) 109642 if (_db.X17) == 0 { 109643 goto _45 109644 } 109645 109646 goto _whereBeginError 109647 109648 _45: 109649 if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) == nil { 109650 goto _46 109651 } 109652 109653 _wherePathSolver(tls, _pWInfo, int16(int32(_pWInfo.X20)+i32(1))) 109654 if (_db.X17) == 0 { 109655 goto _47 109656 } 109657 109658 goto _whereBeginError 109659 109660 _47: 109661 _46: 109662 _43: 109663 if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || ((_db.X6)&i32(131072)) == i32(0) { 109664 goto _49 109665 } 109666 109667 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(60 /* X19 */))) = u64(18446744073709551615) 109668 _49: 109669 if (_pParse.X16) == 0 && func() int32 { 109670 if (_db.X17) != 0 { 109671 return func() int32 { 109672 func() int32 { 109673 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134412), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(5204))) 109674 crt.X__builtin_abort(tls) 109675 return i32(0) 109676 }() 109677 return i32(1) 109678 }() 109679 } 109680 return i32(0) 109681 }() == 0 { 109682 goto _53 109683 } 109684 109685 goto _whereBeginError 109686 109687 _53: 109688 if int32(_pWInfo.X10) < i32(2) || _pResultSet == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || (int32(_db.X13)&i32(1024)) != i32(0) { 109689 goto _56 109690 } 109691 109692 _17_tabUsed = _sqlite3WhereExprListUsage(tls, _pMaskSet, _pResultSet) 109693 if (*XExprList)(unsafe.Pointer(_sWLB.X2)) == nil { 109694 goto _57 109695 } 109696 109697 { 109698 p := &_17_tabUsed 109699 *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_sWLB.X2))) 109700 sink992 = *p 109701 } 109702 _57: 109703 _58: 109704 if int32(_pWInfo.X10) < i32(2) { 109705 goto _59 109706 } 109707 109708 _pLoop = (*XWhereLoop)(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(int32(_pWInfo.X10)-i32(1)))).X18)) 109709 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 109710 X0 unsafe.Pointer 109711 X1 *int8 109712 X2 *int8 109713 X3 *int8 109714 X4 unsafe.Pointer 109715 X5 unsafe.Pointer 109716 X6 int32 109717 X7 int32 109718 X8 int32 109719 X9 struct { 109720 X0 uint8 109721 X1 int8 109722 } 109723 X10 uint8 109724 X11 int32 109725 X12 unsafe.Pointer 109726 X13 unsafe.Pointer 109727 X14 uint64 109728 X15 struct { 109729 X [0]struct { 109730 X0 *int8 109731 X1 unsafe.Pointer 109732 } 109733 U [4]byte 109734 } 109735 X16 unsafe.Pointer 109736 })(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */)))))+68*uintptr(_pLoop.X3)))))+uintptr(36 /* X9 */))).X0) & i32(8)) != i32(0) { 109737 goto _60 109738 } 109739 109740 goto _59 109741 109742 _60: 109743 if (int32(_wctrlFlags)&i32(256)) != i32(0) || ((_pLoop.X9)&uint32(i32(4096))) != uint32(i32(0)) { 109744 goto _62 109745 } 109746 109747 goto _59 109748 109749 _62: 109750 if (_17_tabUsed & (_pLoop.X1)) == uint64(i32(0)) { 109751 goto _63 109752 } 109753 109754 goto _59 109755 109756 _63: 109757 _19_pEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)))) + uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X3)))))*uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(48))))))))))) 109758 _19_pTerm = (*XWhereTerm)(unsafe.Pointer((*XWhereClause)(unsafe.Pointer(_sWLB.X1)).X5)) 109759 _64: 109760 if uintptr(unsafe.Pointer(_19_pTerm)) >= uintptr(unsafe.Pointer(_19_pEnd)) { 109761 goto _67 109762 } 109763 109764 if ((_19_pTerm.X12)&(_pLoop.X1)) == uint64(i32(0)) || (((*XExpr)(unsafe.Pointer(_19_pTerm.X0)).X2)&uint32(i32(1))) != uint32(i32(0)) { 109765 goto _69 109766 } 109767 109768 goto _67 109769 109770 _69: 109771 *(*uintptr)(unsafe.Pointer(&_19_pTerm)) += uintptr(48) 109772 goto _64 109773 109774 _67: 109775 if uintptr(unsafe.Pointer(_19_pTerm)) >= uintptr(unsafe.Pointer(_19_pEnd)) { 109776 goto _70 109777 } 109778 109779 goto _59 109780 109781 _70: 109782 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(42 /* X10 */))) -= 1 109783 _nTabList -= 1 109784 goto _58 109785 109786 _59: 109787 _56: 109788 { 109789 p := (*uint32)(unsafe.Pointer(uintptr(_pWInfo.X0) + uintptr(144 /* X42 */))) 109790 *p = (*p) + uint32(_pWInfo.X20) 109791 sink985 = *p 109792 } 109793 func() int32 { 109794 if ((int32(_wctrlFlags) & i32(4)) == i32(0)) || (int32(_pWInfo.X10) == i32(1)) { 109795 return i32(0) 109796 } 109797 return func() int32 { 109798 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134480), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106844))) 109799 crt.X__builtin_abort(tls) 109800 return i32(0) 109801 }() 109802 }() 109803 if (int32(_wctrlFlags) & i32(4)) == i32(0) { 109804 goto _74 109805 } 109806 109807 _23_wsFlags = int32((*XWhereLoop)(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(i32(0)))).X18)).X9) 109808 _23_bOnerow = bool2int((_23_wsFlags & i32(4096)) != i32(0)) 109809 if _23_bOnerow == 0 && ((int32(_wctrlFlags)&i32(8)) == i32(0) || i32(0) != (_23_wsFlags&i32(1024))) { 109810 goto _77 109811 } 109812 109813 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(45 /* X13 */))) = uint8(func() int32 { 109814 if _23_bOnerow != 0 { 109815 return i32(1) 109816 } 109817 return i32(2) 109818 }()) 109819 if (((*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 109820 X0 unsafe.Pointer 109821 X1 *int8 109822 X2 *int8 109823 X3 *int8 109824 X4 unsafe.Pointer 109825 X5 unsafe.Pointer 109826 X6 int32 109827 X7 int32 109828 X8 int32 109829 X9 struct { 109830 X0 uint8 109831 X1 int8 109832 } 109833 X10 uint8 109834 X11 int32 109835 X12 unsafe.Pointer 109836 X13 unsafe.Pointer 109837 X14 uint64 109838 X15 struct { 109839 X [0]struct { 109840 X0 *int8 109841 X1 unsafe.Pointer 109842 } 109843 U [4]byte 109844 } 109845 X16 unsafe.Pointer 109846 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X4)).X9)&uint32(i32(32))) != uint32(i32(0)) || (_23_wsFlags&i32(64)) == 0 { 109847 goto _81 109848 } 109849 109850 if (int32(_wctrlFlags) & i32(8)) == 0 { 109851 goto _82 109852 } 109853 109854 _bFordelete = uint8(i32(8)) 109855 _82: 109856 *(*uint32)(unsafe.Pointer(uintptr((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */)))))+76*uintptr(i32(0)))).X18) + uintptr(40 /* X9 */))) = uint32(_23_wsFlags & i32(-65)) 109857 _81: 109858 _77: 109859 _74: 109860 *func() **XWhereLevel { _ii = i32(0); return &_pLevel }() = (*XWhereLevel)(unsafe.Pointer((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(740 /* X23 */))))) 109861 _83: 109862 if _ii >= _nTabList { 109863 goto _86 109864 } 109865 109866 _27_pTabItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 109867 X0 unsafe.Pointer 109868 X1 *int8 109869 X2 *int8 109870 X3 *int8 109871 X4 unsafe.Pointer 109872 X5 unsafe.Pointer 109873 X6 int32 109874 X7 int32 109875 X8 int32 109876 X9 struct { 109877 X0 uint8 109878 X1 int8 109879 } 109880 X10 uint8 109881 X11 int32 109882 X12 unsafe.Pointer 109883 X13 unsafe.Pointer 109884 X14 uint64 109885 X15 struct { 109886 X [0]struct { 109887 X0 *int8 109888 X1 unsafe.Pointer 109889 } 109890 U [4]byte 109891 } 109892 X16 unsafe.Pointer 109893 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_pLevel.X11))) 109894 _27_pTab = (*XTable)(unsafe.Pointer(_27_pTabItem.X4)) 109895 _27_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_27_pTab.X20))) 109896 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 109897 if ((_27_pTab.X9)&uint32(i32(2))) == uint32(i32(0)) && (*XSelect)(unsafe.Pointer(_27_pTab.X3)) == nil { 109898 goto _88 109899 } 109900 109901 goto _89 109902 109903 _88: 109904 if ((_pLoop.X9) & uint32(i32(1024))) == uint32(i32(0)) { 109905 goto _90 109906 } 109907 109908 _29_pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _27_pTab))) 109909 _29_iCur = _27_pTabItem.X11 109910 _sqlite3VdbeAddOp4(tls, _v, i32(156), _29_iCur, i32(0), i32(0), _29_pVTab, i32(-8)) 109911 goto _91 109912 109913 _90: 109914 if (_27_pTab.X16) == 0 { 109915 goto _92 109916 } 109917 109918 goto _93 109919 109920 _92: 109921 if ((_pLoop.X9)&uint32(i32(64))) != uint32(i32(0)) || (int32(_wctrlFlags)&i32(32)) != i32(0) { 109922 goto _95 109923 } 109924 109925 _31_op = i32(105) 109926 if int32(_pWInfo.X13) == i32(0) { 109927 goto _96 109928 } 109929 109930 _31_op = i32(106) 109931 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(20 /* X5 */))))) + 4*uintptr(i32(0)))) = _27_pTabItem.X11 109932 _96: 109933 _sqlite3OpenTable(tls, _pParse, _27_pTabItem.X11, _27_iDb, _27_pTab, _31_op) 109934 func() int32 { 109935 if (_27_pTabItem.X11) == (_pLevel.X1) { 109936 return i32(0) 109937 } 109938 return func() int32 { 109939 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134530), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106908))) 109940 crt.X__builtin_abort(tls) 109941 return i32(0) 109942 }() 109943 }() 109944 if int32(_pWInfo.X13) != i32(0) || int32(_27_pTab.X11) >= i32(64) || ((_27_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) { 109945 goto _101 109946 } 109947 109948 _33_b = _27_pTabItem.X14 109949 _33_n = i32(0) 109950 _102: 109951 if _33_b == 0 { 109952 goto _105 109953 } 109954 109955 *func() *int32 { _33_b = _33_b >> uint(i32(1)); return &_33_n }() += 1 109956 goto _102 109957 109958 _105: 109959 _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer((unsafe.Pointer)(uintptr(_33_n)))), i32(-11)) 109960 func() int32 { 109961 if _33_n <= int32(_27_pTab.X11) { 109962 return i32(0) 109963 } 109964 return func() int32 { 109965 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134538), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106944))) 109966 crt.X__builtin_abort(tls) 109967 return i32(0) 109968 }() 109969 }() 109970 _101: 109971 _sqlite3VdbeChangeP5(tls, _v, uint16(_bFordelete)) 109972 goto _108 109973 109974 _95: 109975 _sqlite3TableLock(tls, _pParse, _27_iDb, _27_pTab.X7, uint8(i32(0)), _27_pTab.X0) 109976 _108: 109977 _93: 109978 _91: 109979 _89: 109980 if ((_pLoop.X9) & uint32(i32(512))) == 0 { 109981 goto _109 109982 } 109983 109984 _37_pIx = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X3)) 109985 _37_op = i32(105) 109986 func() int32 { 109987 if (_iAuxArg != i32(0)) || ((int32(_pWInfo.X9) & i32(4)) == i32(0)) { 109988 return i32(0) 109989 } 109990 return func() int32 { 109991 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134560), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(106960))) 109992 crt.X__builtin_abort(tls) 109993 return i32(0) 109994 }() 109995 }() 109996 if ((_27_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_37_pIx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) || (int32(_wctrlFlags)&i32(32)) == i32(0) { 109997 goto _115 109998 } 109999 110000 _37_iIndexCur = _pLevel.X1 110001 _37_op = i32(0) 110002 goto _116 110003 110004 _115: 110005 if int32(_pWInfo.X13) == i32(0) { 110006 goto _117 110007 } 110008 110009 _39_pJ = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_27_pTabItem.X4)).X2)) 110010 _37_iIndexCur = _iAuxArg 110011 func() int32 { 110012 if (int32(_wctrlFlags) & i32(4)) != 0 { 110013 return i32(0) 110014 } 110015 return func() int32 { 110016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134571), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(107024))) 110017 crt.X__builtin_abort(tls) 110018 return i32(0) 110019 }() 110020 }() 110021 _120: 110022 if func() int32 { 110023 if _39_pJ != nil { 110024 return i32(1) 110025 } 110026 return func() int32 { 110027 func() int32 { 110028 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134572), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(5204))) 110029 crt.X__builtin_abort(tls) 110030 return i32(0) 110031 }() 110032 return i32(0) 110033 }() 110034 }() == 0 || _39_pJ == _37_pIx { 110035 goto _121 110036 } 110037 110038 _37_iIndexCur += 1 110039 _39_pJ = (*XIndex)(unsafe.Pointer(_39_pJ.X5)) 110040 goto _120 110041 110042 _121: 110043 _37_op = i32(106) 110044 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(20 /* X5 */))))) + 4*uintptr(i32(1)))) = _37_iIndexCur 110045 goto _125 110046 110047 _117: 110048 if _iAuxArg == 0 || (int32(_wctrlFlags)&i32(32)) == i32(0) { 110049 goto _127 110050 } 110051 110052 _37_iIndexCur = _iAuxArg 110053 _37_op = i32(104) 110054 goto _128 110055 110056 _127: 110057 _37_iIndexCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 110058 _128: 110059 _125: 110060 _116: 110061 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(8 /* X2 */))) = _37_iIndexCur 110062 func() int32 { 110063 if (*XSchema)(unsafe.Pointer(_37_pIx.X6)) == (*XSchema)(unsafe.Pointer(_27_pTab.X20)) { 110064 return i32(0) 110065 } 110066 return func() int32 { 110067 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(107060))) 110068 crt.X__builtin_abort(tls) 110069 return i32(0) 110070 }() 110071 }() 110072 func() int32 { 110073 if _37_iIndexCur >= i32(0) { 110074 return i32(0) 110075 } 110076 return func() int32 { 110077 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134586), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereBeginØ00__func__Ø000))), unsafe.Pointer(str(107088))) 110078 crt.X__builtin_abort(tls) 110079 return i32(0) 110080 }() 110081 }() 110082 if _37_op == 0 { 110083 goto _133 110084 } 110085 110086 _sqlite3VdbeAddOp3(tls, _v, _37_op, _37_iIndexCur, _37_pIx.X11, _27_iDb) 110087 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _37_pIx) 110088 if ((_pLoop.X9)&uint32(i32(15))) == uint32(i32(0)) || ((_pLoop.X9)&uint32(i32(32770))) != uint32(i32(0)) || (int32(_pWInfo.X9)&i32(1)) != i32(0) { 110089 goto _136 110090 } 110091 110092 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) 110093 _136: 110094 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_37_pIx.X0)) 110095 _133: 110096 _109: 110097 if _27_iDb < i32(0) { 110098 goto _137 110099 } 110100 110101 _sqlite3CodeVerifySchema(tls, _pParse, _27_iDb) 110102 _137: 110103 *(*uintptr)(unsafe.Pointer(func() **XWhereLevel { _ii += 1; return &_pLevel }())) += uintptr(76) 110104 goto _83 110105 110106 _86: 110107 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(52 /* X17 */))) = _sqlite3VdbeCurrentAddr(tls, _v) 110108 if (_db.X17) == 0 { 110109 goto _138 110110 } 110111 110112 goto _whereBeginError 110113 110114 _138: 110115 _notReady = u64(18446744073709551615) 110116 _ii = i32(0) 110117 _139: 110118 if _ii >= _nTabList { 110119 goto _142 110120 } 110121 110122 _pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(_ii))) 110123 _45_wsFlags = int32((*XWhereLoop)(unsafe.Pointer(_pLevel.X18)).X9) 110124 if (((*XWhereLoop)(unsafe.Pointer(_pLevel.X18)).X9) & uint32(i32(16384))) == uint32(i32(0)) { 110125 goto _143 110126 } 110127 110128 _constructAutomaticIndex(tls, _pParse, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */))), (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 110129 X0 unsafe.Pointer 110130 X1 *int8 110131 X2 *int8 110132 X3 *int8 110133 X4 unsafe.Pointer 110134 X5 unsafe.Pointer 110135 X6 int32 110136 X7 int32 110137 X8 int32 110138 X9 struct { 110139 X0 uint8 110140 X1 int8 110141 } 110142 X10 uint8 110143 X11 int32 110144 X12 unsafe.Pointer 110145 X13 unsafe.Pointer 110146 X14 uint64 110147 X15 struct { 110148 X [0]struct { 110149 X0 *int8 110150 X1 unsafe.Pointer 110151 } 110152 U [4]byte 110153 } 110154 X16 unsafe.Pointer 110155 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(_pLevel.X11))), _notReady, _pLevel) 110156 if (_db.X17) == 0 { 110157 goto _144 110158 } 110159 110160 goto _whereBeginError 110161 110162 _144: 110163 _143: 110164 _45_addrExplain = _sqlite3WhereExplainOneScan(tls, _pParse, _pTabList, _pLevel, _ii, int32(_pLevel.X11), _wctrlFlags) 110165 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(32 /* X8 */))) = _sqlite3VdbeCurrentAddr(tls, _v) 110166 _notReady = _sqlite3WhereCodeOneLoopStart(tls, _pWInfo, _ii, _notReady) 110167 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(28 /* X6 */))) = _pLevel.X6 110168 if (_45_wsFlags&i32(8192)) != i32(0) || (int32(_wctrlFlags)&i32(32)) != i32(0) { 110169 goto _146 110170 } 110171 110172 _146: 110173 _ii += 1 110174 goto _139 110175 110176 _142: 110177 r0 = _pWInfo 110178 return 110179 110180 _whereBeginError: 110181 if _pWInfo == nil { 110182 goto _147 110183 } 110184 110185 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X42 */))) = uint32(_pWInfo.X8) 110186 _whereInfoFree(tls, _db, _pWInfo) 110187 _147: 110188 r0 = (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) 110189 return 110190 110191 } 110192 110193 var _sqlite3WhereBeginØ00__func__Ø000 [18]int8 // - 110194 110195 func init() { 110196 crt.Xstrncpy(nil, &_sqlite3WhereBeginØ00__func__Ø000[0], str(107104), 18) 110197 } 110198 110199 func _whereLoopInit(tls *crt.TLS, _p *XWhereLoop) { // sqlite3.c:131605:1 110200 *(***XWhereTerm)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X13 */))))) = (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(60 /* X15 */))))) 110201 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X10 */))) = uint16(i32(0)) 110202 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X12 */))) = uint16(i32(3)) 110203 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X9 */))) = uint32(i32(0)) 110204 return 110205 110206 } 110207 110208 func _sqlite3WhereClauseInit(tls *crt.TLS, _pWC *XWhereClause, _pWInfo *XWhereInfo) { // sqlite3.c:129705:1 110209 *(**XWhereInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(0 /* X0 */))))) = _pWInfo 110210 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(4 /* X1 */))))) = (*XWhereClause)(unsafe.Pointer(uintptr(i32(0)))) 110211 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(12 /* X3 */))) = i32(0) 110212 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(16 /* X4 */))) = i32(8) 110213 *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(20 /* X5 */))))) = (*XWhereTerm)(unsafe.Pointer((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(24 /* X6 */))))) 110214 return 110215 110216 } 110217 110218 func _sqlite3WhereSplit(tls *crt.TLS, _pWC *XWhereClause, _pExpr *XExpr, _op uint8) { // sqlite3.c:129690:1 110219 var _pE2 *XExpr // sqlite3.c:129691:8 110220 _ = _pE2 110221 _pE2 = _sqlite3ExprSkipCollate(tls, _pExpr) 110222 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(8 /* X2 */))) = _op 110223 if _pE2 != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 110224 goto _0 110225 } 110226 110227 return 110228 110229 _0: 110230 if int32(_pE2.X0) == int32(_op) { 110231 goto _1 110232 } 110233 110234 _whereClauseInsert(tls, _pWC, _pExpr, uint16(i32(0))) 110235 goto _2 110236 110237 _1: 110238 _sqlite3WhereSplit(tls, _pWC, (*XExpr)(unsafe.Pointer(_pE2.X4)), _op) 110239 _sqlite3WhereSplit(tls, _pWC, (*XExpr)(unsafe.Pointer(_pE2.X5)), _op) 110240 _2: 110241 return 110242 110243 } 110244 110245 func _whereClauseInsert(tls *crt.TLS, _pWC *XWhereClause, _p *XExpr, _wtFlags uint16) (r0 int32) { // sqlite3.c:128438:1 110246 var _pTerm *XWhereTerm // sqlite3.c:128439:13 110247 _ = _pTerm 110248 var _idx int32 // sqlite3.c:128440:7 110249 _ = _idx 110250 var _1_pOld *XWhereTerm // sqlite3.c:128443:15 110251 _ = _1_pOld 110252 var _1_db *Xsqlite3 // sqlite3.c:128444:13 110253 _ = _1_db 110254 if (_pWC.X3) < (_pWC.X4) { 110255 goto _0 110256 } 110257 110258 _1_pOld = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 110259 _1_db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)).X0)) 110260 *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(20 /* X5 */))))) = (*XWhereTerm)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _1_db, uint64((u32(48)*uint32(_pWC.X4))*uint32(i32(2)))))) 110261 if (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 110262 goto _1 110263 } 110264 110265 if (int32(_wtFlags) & i32(1)) == 0 { 110266 goto _2 110267 } 110268 110269 _sqlite3ExprDelete(tls, _1_db, _p) 110270 _2: 110271 *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(20 /* X5 */))))) = _1_pOld 110272 r0 = i32(0) 110273 return 110274 110275 _1: 110276 crt.Xmemcpy(tls, _pWC.X5, (unsafe.Pointer)(_1_pOld), u32(48)*uint32(_pWC.X3)) 110277 if _1_pOld == (*XWhereTerm)(unsafe.Pointer((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC))+uintptr(24 /* X6 */))))) { 110278 goto _3 110279 } 110280 110281 _sqlite3DbFree(tls, _1_db, (unsafe.Pointer)(_1_pOld)) 110282 _3: 110283 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC)) + uintptr(16 /* X4 */))) = int32(uint32(_sqlite3DbMallocSize(tls, _1_db, _pWC.X5)) / u32(48)) 110284 _0: 110285 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(store961(&_idx, postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC))+uintptr(12 /* X3 */))), int32(1)))))) 110286 if _p == nil || ((_p.X2)&uint32(i32(262144))) == uint32(i32(0)) { 110287 goto _5 110288 } 110289 110290 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(8 /* X2 */))) = int16(int32(_sqlite3LogEst(tls, uint64(_p.X8))) - i32(270)) 110291 goto _6 110292 110293 _5: 110294 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(8 /* X2 */))) = int16(i32(1)) 110295 _6: 110296 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(0 /* X0 */))))) = _sqlite3ExprSkipCollate(tls, _p) 110297 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) = _wtFlags 110298 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(4 /* X1 */))))) = _pWC 110299 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(16 /* X7 */))) = i32(-1) 110300 crt.Xmemset(tls, (unsafe.Pointer)((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm))+uintptr(12 /* X4 */)))), i32(0), u32(36)) 110301 r0 = _idx 110302 return 110303 110304 } 110305 110306 func _sqlite3ExprIsConstantNotJoin(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:92545:1 110307 r0 = _exprIsConst(tls, _p, i32(2), i32(0)) 110308 return 110309 110310 } 110311 110312 func _sqlite3ExprIfFalse(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _jumpIfNull int32) { // sqlite3.c:95163:1 110313 var _v *XVdbe // sqlite3.c:95164:8 110314 _ = _v 110315 var _op int32 // sqlite3.c:95165:7 110316 _ = _op 110317 var _regFree1 int32 // sqlite3.c:95166:7 110318 _ = _regFree1 110319 var _regFree2 int32 // sqlite3.c:95167:7 110320 _ = _regFree2 110321 var _r1 int32 // sqlite3.c:95168:7 110322 _ = _r1 110323 var _r2 int32 // sqlite3.c:95168:11 110324 _ = _r2 110325 var _3_d2 int32 // sqlite3.c:95215:11 110326 _ = _3_d2 110327 var _10_destIfNull int32 // sqlite3.c:95281:13 110328 _ = _10_destIfNull 110329 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 110330 _op = i32(0) 110331 _regFree1 = i32(0) 110332 _regFree2 = i32(0) 110333 func() int32 { 110334 if (_jumpIfNull == i32(16)) || (_jumpIfNull == i32(0)) { 110335 return i32(0) 110336 } 110337 return func() int32 { 110338 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95170), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107124))) 110339 crt.X__builtin_abort(tls) 110340 return i32(0) 110341 }() 110342 }() 110343 if func() int32 { 110344 if _v == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 110345 return func() int32 { 110346 func() int32 { 110347 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95171), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(5204))) 110348 crt.X__builtin_abort(tls) 110349 return i32(0) 110350 }() 110351 return i32(1) 110352 }() 110353 } 110354 return i32(0) 110355 }() == 0 { 110356 goto _5 110357 } 110358 110359 return 110360 110361 _5: 110362 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 110363 goto _6 110364 } 110365 110366 return 110367 110368 _6: 110369 _op = ((int32(_pExpr.X0) + i32(0)) ^ i32(1)) - i32(0) 110370 func() int32 { 110371 if (int32(_pExpr.X0) != i32(34)) || (_op == i32(35)) { 110372 return i32(0) 110373 } 110374 return func() int32 { 110375 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95196), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107172))) 110376 crt.X__builtin_abort(tls) 110377 return i32(0) 110378 }() 110379 }() 110380 func() int32 { 110381 if (int32(_pExpr.X0) != i32(35)) || (_op == i32(34)) { 110382 return i32(0) 110383 } 110384 return func() int32 { 110385 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95197), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107212))) 110386 crt.X__builtin_abort(tls) 110387 return i32(0) 110388 }() 110389 }() 110390 func() int32 { 110391 if (int32(_pExpr.X0) != i32(36)) || (_op == i32(37)) { 110392 return i32(0) 110393 } 110394 return func() int32 { 110395 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95198), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107252))) 110396 crt.X__builtin_abort(tls) 110397 return i32(0) 110398 }() 110399 }() 110400 func() int32 { 110401 if (int32(_pExpr.X0) != i32(37)) || (_op == i32(36)) { 110402 return i32(0) 110403 } 110404 return func() int32 { 110405 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95199), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107284))) 110406 crt.X__builtin_abort(tls) 110407 return i32(0) 110408 }() 110409 }() 110410 func() int32 { 110411 if (int32(_pExpr.X0) != i32(40)) || (_op == i32(41)) { 110412 return i32(0) 110413 } 110414 return func() int32 { 110415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95200), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107316))) 110416 crt.X__builtin_abort(tls) 110417 return i32(0) 110418 }() 110419 }() 110420 func() int32 { 110421 if (int32(_pExpr.X0) != i32(39)) || (_op == i32(38)) { 110422 return i32(0) 110423 } 110424 return func() int32 { 110425 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95201), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107348))) 110426 crt.X__builtin_abort(tls) 110427 return i32(0) 110428 }() 110429 }() 110430 func() int32 { 110431 if (int32(_pExpr.X0) != i32(38)) || (_op == i32(39)) { 110432 return i32(0) 110433 } 110434 return func() int32 { 110435 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95202), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107380))) 110436 crt.X__builtin_abort(tls) 110437 return i32(0) 110438 }() 110439 }() 110440 func() int32 { 110441 if (int32(_pExpr.X0) != i32(41)) || (_op == i32(40)) { 110442 return i32(0) 110443 } 110444 return func() int32 { 110445 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95203), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfFalseØ00__func__Ø000))), unsafe.Pointer(str(107412))) 110446 crt.X__builtin_abort(tls) 110447 return i32(0) 110448 }() 110449 }() 110450 switch int32(_pExpr.X0) { 110451 case i32(19): 110452 goto _34 110453 case i32(27): 110454 goto _33 110455 case i32(28): 110456 goto _32 110457 case i32(29): 110458 goto _35 110459 case i32(32): 110460 goto _45 110461 case i32(33): 110462 goto _46 110463 case i32(34): 110464 goto _43 110465 case i32(35): 110466 goto _44 110467 case i32(36): 110468 goto _41 110469 case i32(37): 110470 goto _42 110471 case i32(38): 110472 goto _39 110473 case i32(39): 110474 goto _38 110475 case i32(40): 110476 goto _37 110477 case i32(41): 110478 goto _40 110479 case i32(148): 110480 goto _36 110481 default: 110482 goto _47 110483 } 110484 110485 _32: 110486 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) 110487 _sqlite3ExprCachePush(tls, _pParse) 110488 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) 110489 _sqlite3ExprCachePop(tls, _pParse) 110490 goto _48 110491 110492 _33: 110493 _3_d2 = _sqlite3VdbeMakeLabel(tls, _v) 110494 _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _3_d2, _jumpIfNull^i32(16)) 110495 _sqlite3ExprCachePush(tls, _pParse) 110496 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) 110497 _sqlite3VdbeResolveLabel(tls, _v, _3_d2) 110498 _sqlite3ExprCachePop(tls, _pParse) 110499 goto _48 110500 110501 _34: 110502 _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) 110503 goto _48 110504 110505 _35: 110506 _36: 110507 _op = func() int32 { 110508 if int32(_pExpr.X0) == i32(29) { 110509 return i32(36) 110510 } 110511 return i32(37) 110512 }() 110513 _jumpIfNull = i32(128) 110514 _37: 110515 _38: 110516 _39: 110517 _40: 110518 _41: 110519 _42: 110520 if _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == 0 { 110521 goto _51 110522 } 110523 110524 goto _default_expr 110525 110526 _51: 110527 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 110528 _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) 110529 _codeCompare(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), (*XExpr)(unsafe.Pointer(_pExpr.X5)), _op, _r1, _r2, _dest, _jumpIfNull) 110530 i32(0) 110531 i32(0) 110532 i32(0) 110533 i32(0) 110534 i32(0) 110535 i32(0) 110536 goto _48 110537 110538 _43: 110539 _44: 110540 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 110541 _sqlite3VdbeAddOp2(tls, _v, _op, _r1, _dest) 110542 goto _48 110543 110544 _45: 110545 _exprCodeBetween(tls, _pParse, _pExpr, _dest, _sqlite3ExprIfFalse, _jumpIfNull) 110546 goto _48 110547 110548 _46: 110549 if _jumpIfNull == 0 { 110550 goto _52 110551 } 110552 110553 _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _dest, _dest) 110554 goto _53 110555 110556 _52: 110557 _10_destIfNull = _sqlite3VdbeMakeLabel(tls, _v) 110558 _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _dest, _10_destIfNull) 110559 _sqlite3VdbeResolveLabel(tls, _v, _10_destIfNull) 110560 _53: 110561 goto _48 110562 110563 _47: 110564 _default_expr: 110565 if _exprAlwaysFalse(tls, _pExpr) == 0 { 110566 goto _54 110567 } 110568 110569 _sqlite3VdbeGoto(tls, _v, _dest) 110570 goto _55 110571 110572 _54: 110573 if _exprAlwaysTrue(tls, _pExpr) == 0 { 110574 goto _56 110575 } 110576 110577 goto _57 110578 110579 _56: 110580 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, _pExpr, &_regFree1) 110581 _sqlite3VdbeAddOp3(tls, _v, i32(22), _r1, _dest, bool2int(_jumpIfNull != i32(0))) 110582 _57: 110583 _55: 110584 goto _48 110585 110586 _48: 110587 _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) 110588 _sqlite3ReleaseTempReg(tls, _pParse, _regFree2) 110589 return 110590 110591 } 110592 110593 var _sqlite3ExprIfFalseØ00__func__Ø000 [19]int8 // - 110594 110595 func init() { 110596 crt.Xstrncpy(nil, &_sqlite3ExprIfFalseØ00__func__Ø000[0], str(107444), 19) 110597 } 110598 110599 func _sqlite3ExprCachePop(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:93870:1 110600 var _i int32 // sqlite3.c:93871:7 110601 _ = _i 110602 _i = i32(0) 110603 func() int32 { 110604 if (_pParse.X23) >= i32(1) { 110605 return i32(0) 110606 } 110607 return func() int32 { 110608 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93872), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCachePopØ00__func__Ø000))), unsafe.Pointer(str(107464))) 110609 crt.X__builtin_abort(tls) 110610 return i32(0) 110611 }() 110612 }() 110613 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(64 /* X23 */))) -= 1 110614 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(4096)) == 0 { 110615 goto _2 110616 } 110617 110618 crt.Xprintf(tls, str(107488), _pParse.X23) 110619 _2: 110620 _3: 110621 if _i >= int32(_pParse.X13) { 110622 goto _4 110623 } 110624 110625 if ((*T7863733)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]struct { 110626 X0 int32 110627 X1 int16 110628 X2 uint8 110629 X3 int32 110630 X4 int32 110631 X5 int32 110632 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(160 /* X48 */))))) + 20*uintptr(_i))).X3) <= (_pParse.X23) { 110633 goto _5 110634 } 110635 110636 _cacheEntryClear(tls, _pParse, _i) 110637 goto _6 110638 110639 _5: 110640 _i += 1 110641 _6: 110642 goto _3 110643 110644 _4: 110645 return 110646 110647 } 110648 110649 var _sqlite3ExprCachePopØ00__func__Ø000 [20]int8 // - 110650 110651 func init() { 110652 crt.Xstrncpy(nil, &_sqlite3ExprCachePopØ00__func__Ø000[0], str(107500), 20) 110653 } 110654 110655 func _sqlite3ExprIfTrue(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _jumpIfNull int32) { // sqlite3.c:95040:1 110656 var _v *XVdbe // sqlite3.c:95041:8 110657 _ = _v 110658 var _op int32 // sqlite3.c:95042:7 110659 _ = _op 110660 var _regFree1 int32 // sqlite3.c:95043:7 110661 _ = _regFree1 110662 var _regFree2 int32 // sqlite3.c:95044:7 110663 _ = _regFree2 110664 var _r1 int32 // sqlite3.c:95045:7 110665 _ = _r1 110666 var _r2 int32 // sqlite3.c:95045:11 110667 _ = _r2 110668 var _2_d2 int32 // sqlite3.c:95053:11 110669 _ = _2_d2 110670 var _8_destIfFalse int32 // sqlite3.c:95126:11 110671 _ = _8_destIfFalse 110672 var _8_destIfNull int32 // sqlite3.c:95127:11 110673 _ = _8_destIfNull 110674 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 110675 _op = i32(0) 110676 _regFree1 = i32(0) 110677 _regFree2 = i32(0) 110678 func() int32 { 110679 if (_jumpIfNull == i32(16)) || (_jumpIfNull == i32(0)) { 110680 return i32(0) 110681 } 110682 return func() int32 { 110683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95047), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfTrueØ00__func__Ø000))), unsafe.Pointer(str(107124))) 110684 crt.X__builtin_abort(tls) 110685 return i32(0) 110686 }() 110687 }() 110688 if func() int32 { 110689 if _v == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 110690 return func() int32 { 110691 func() int32 { 110692 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95048), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfTrueØ00__func__Ø000))), unsafe.Pointer(str(5204))) 110693 crt.X__builtin_abort(tls) 110694 return i32(0) 110695 }() 110696 return i32(1) 110697 }() 110698 } 110699 return i32(0) 110700 }() == 0 { 110701 goto _5 110702 } 110703 110704 return 110705 110706 _5: 110707 if func() int32 { 110708 if _pExpr == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 110709 return func() int32 { 110710 func() int32 { 110711 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95049), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIfTrueØ00__func__Ø000))), unsafe.Pointer(str(5204))) 110712 crt.X__builtin_abort(tls) 110713 return i32(0) 110714 }() 110715 return i32(1) 110716 }() 110717 } 110718 return i32(0) 110719 }() == 0 { 110720 goto _8 110721 } 110722 110723 return 110724 110725 _8: 110726 _op = int32(_pExpr.X0) 110727 switch _op { 110728 case i32(19): 110729 goto _12 110730 case i32(27): 110731 goto _11 110732 case i32(28): 110733 goto _10 110734 case i32(29): 110735 goto _13 110736 case i32(32): 110737 goto _23 110738 case i32(33): 110739 goto _24 110740 case i32(34): 110741 goto _21 110742 case i32(35): 110743 goto _22 110744 case i32(36): 110745 goto _19 110746 case i32(37): 110747 goto _20 110748 case i32(38): 110749 goto _17 110750 case i32(39): 110751 goto _16 110752 case i32(40): 110753 goto _15 110754 case i32(41): 110755 goto _18 110756 case i32(148): 110757 goto _14 110758 default: 110759 goto _25 110760 } 110761 110762 _10: 110763 _2_d2 = _sqlite3VdbeMakeLabel(tls, _v) 110764 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _2_d2, _jumpIfNull^i32(16)) 110765 _sqlite3ExprCachePush(tls, _pParse) 110766 _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) 110767 _sqlite3VdbeResolveLabel(tls, _v, _2_d2) 110768 _sqlite3ExprCachePop(tls, _pParse) 110769 goto _26 110770 110771 _11: 110772 _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) 110773 _sqlite3ExprCachePush(tls, _pParse) 110774 _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _dest, _jumpIfNull) 110775 _sqlite3ExprCachePop(tls, _pParse) 110776 goto _26 110777 110778 _12: 110779 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _dest, _jumpIfNull) 110780 goto _26 110781 110782 _13: 110783 _14: 110784 _op = func() int32 { 110785 if _op == i32(29) { 110786 return i32(37) 110787 } 110788 return i32(36) 110789 }() 110790 _jumpIfNull = i32(128) 110791 _15: 110792 _16: 110793 _17: 110794 _18: 110795 _19: 110796 _20: 110797 if _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == 0 { 110798 goto _29 110799 } 110800 110801 goto _default_expr 110802 110803 _29: 110804 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 110805 _r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), &_regFree2) 110806 _codeCompare(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), (*XExpr)(unsafe.Pointer(_pExpr.X5)), _op, _r1, _r2, _dest, _jumpIfNull) 110807 i32(0) 110808 i32(0) 110809 i32(0) 110810 i32(0) 110811 i32(0) 110812 i32(0) 110813 goto _26 110814 110815 _21: 110816 _22: 110817 i32(0) 110818 i32(0) 110819 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), &_regFree1) 110820 _sqlite3VdbeAddOp2(tls, _v, _op, _r1, _dest) 110821 goto _26 110822 110823 _23: 110824 _exprCodeBetween(tls, _pParse, _pExpr, _dest, _sqlite3ExprIfTrue, _jumpIfNull) 110825 goto _26 110826 110827 _24: 110828 _8_destIfFalse = _sqlite3VdbeMakeLabel(tls, _v) 110829 _8_destIfNull = func() int32 { 110830 if _jumpIfNull != 0 { 110831 return _dest 110832 } 110833 return _8_destIfFalse 110834 }() 110835 _sqlite3ExprCodeIN(tls, _pParse, _pExpr, _8_destIfFalse, _8_destIfNull) 110836 _sqlite3VdbeGoto(tls, _v, _dest) 110837 _sqlite3VdbeResolveLabel(tls, _v, _8_destIfFalse) 110838 goto _26 110839 110840 _25: 110841 _default_expr: 110842 if _exprAlwaysTrue(tls, _pExpr) == 0 { 110843 goto _32 110844 } 110845 110846 _sqlite3VdbeGoto(tls, _v, _dest) 110847 goto _33 110848 110849 _32: 110850 if _exprAlwaysFalse(tls, _pExpr) == 0 { 110851 goto _34 110852 } 110853 110854 goto _35 110855 110856 _34: 110857 _r1 = _sqlite3ExprCodeTemp(tls, _pParse, _pExpr, &_regFree1) 110858 _sqlite3VdbeAddOp3(tls, _v, i32(21), _r1, _dest, bool2int(_jumpIfNull != i32(0))) 110859 _35: 110860 _33: 110861 goto _26 110862 110863 _26: 110864 _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) 110865 _sqlite3ReleaseTempReg(tls, _pParse, _regFree2) 110866 return 110867 110868 } 110869 110870 var _sqlite3ExprIfTrueØ00__func__Ø000 [18]int8 // - 110871 110872 func init() { 110873 crt.Xstrncpy(nil, &_sqlite3ExprIfTrueØ00__func__Ø000[0], str(107520), 18) 110874 } 110875 110876 func _sqlite3ExprCodeTemp(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pReg *int32) (r0 int32) { // sqlite3.c:94797:1 110877 var _r2 int32 // sqlite3.c:94798:7 110878 _ = _r2 110879 var _2_r1 int32 // sqlite3.c:94807:9 110880 _ = _2_r1 110881 _pExpr = _sqlite3ExprSkipCollate(tls, _pExpr) 110882 if (_pParse.X11) == 0 || int32(_pExpr.X0) == i32(157) || _sqlite3ExprIsConstantNotJoin(tls, _pExpr) == 0 { 110883 goto _2 110884 } 110885 110886 *_pReg = i32(0) 110887 _r2 = _sqlite3ExprCodeAtInit(tls, _pParse, _pExpr, i32(-1)) 110888 goto _3 110889 110890 _2: 110891 _2_r1 = _sqlite3GetTempReg(tls, _pParse) 110892 _r2 = _sqlite3ExprCodeTarget(tls, _pParse, _pExpr, _2_r1) 110893 if _r2 != _2_r1 { 110894 goto _4 110895 } 110896 110897 *_pReg = _2_r1 110898 goto _5 110899 110900 _4: 110901 _sqlite3ReleaseTempReg(tls, _pParse, _2_r1) 110902 *_pReg = i32(0) 110903 _5: 110904 _3: 110905 r0 = _r2 110906 return 110907 110908 } 110909 110910 func _codeCompare(tls *crt.TLS, _pParse *XParse, _pLeft *XExpr, _pRight *XExpr, _opcode int32, _in1 int32, _in2 int32, _dest int32, _jumpIfNull int32) (r0 int32) { // sqlite3.c:91037:1 110911 var _p5 int32 // sqlite3.c:91046:7 110912 _ = _p5 110913 var _addr int32 // sqlite3.c:91047:7 110914 _ = _addr 110915 var _p4 *XCollSeq // sqlite3.c:91048:11 110916 _ = _p4 110917 _p4 = _sqlite3BinaryCompareCollSeq(tls, _pParse, _pLeft, _pRight) 110918 _p5 = int32(_binaryCompareP5(tls, _pLeft, _pRight, _jumpIfNull)) 110919 _addr = _sqlite3VdbeAddOp4(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), _opcode, _in2, _dest, _in1, (*int8)(unsafe.Pointer((unsafe.Pointer)(_p4))), i32(-3)) 110920 _sqlite3VdbeChangeP5(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), uint16(uint8(_p5))) 110921 r0 = _addr 110922 return 110923 110924 } 110925 110926 func _sqlite3BinaryCompareCollSeq(tls *crt.TLS, _pParse *XParse, _pLeft *XExpr, _pRight *XExpr) (r0 *XCollSeq) { // sqlite3.c:91014:1 110927 var _pColl *XCollSeq // sqlite3.c:91019:11 110928 _ = _pColl 110929 func() int32 { 110930 if _pLeft != nil { 110931 return i32(0) 110932 } 110933 return func() int32 { 110934 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91020), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BinaryCompareCollSeqØ00__func__Ø000))), unsafe.Pointer(str(45084))) 110935 crt.X__builtin_abort(tls) 110936 return i32(0) 110937 }() 110938 }() 110939 if ((_pLeft.X2) & uint32(i32(256))) == 0 { 110940 goto _2 110941 } 110942 110943 _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pLeft) 110944 goto _3 110945 110946 _2: 110947 if _pRight == nil || ((_pRight.X2)&uint32(i32(256))) == uint32(i32(0)) { 110948 goto _5 110949 } 110950 110951 _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pRight) 110952 goto _6 110953 110954 _5: 110955 _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pLeft) 110956 if _pColl != nil { 110957 goto _7 110958 } 110959 110960 _pColl = _sqlite3ExprCollSeq(tls, _pParse, _pRight) 110961 _7: 110962 _6: 110963 _3: 110964 r0 = _pColl 110965 return 110966 110967 } 110968 110969 var _sqlite3BinaryCompareCollSeqØ00__func__Ø000 [28]int8 // - 110970 110971 func init() { 110972 crt.Xstrncpy(nil, &_sqlite3BinaryCompareCollSeqØ00__func__Ø000[0], str(107540), 28) 110973 } 110974 110975 func _binaryCompareP5(tls *crt.TLS, _pExpr1 *XExpr, _pExpr2 *XExpr, _jumpIfNull int32) (r0 uint8) { // sqlite3.c:90996:1 110976 var _aff uint8 // sqlite3.c:90997:6 110977 _ = _aff 110978 _aff = uint8(_sqlite3ExprAffinity(tls, _pExpr2)) 110979 _aff = uint8(int32(uint8(_sqlite3CompareAffinity(tls, _pExpr1, int8(_aff)))) | int32(uint8(_jumpIfNull))) 110980 r0 = _aff 110981 return 110982 110983 } 110984 110985 func _exprCodeBetween(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _xJump func(*crt.TLS, *XParse, *XExpr, int32, int32), _jumpIfNull int32) { // sqlite3.c:94971:1 110986 var _exprAnd XExpr // sqlite3.c:94978:7 110987 _ = _exprAnd 110988 var _compLeft XExpr // sqlite3.c:94979:8 110989 _ = _compLeft 110990 var _compRight XExpr // sqlite3.c:94980:8 110991 _ = _compRight 110992 var _exprX XExpr // sqlite3.c:94981:8 110993 _ = _exprX 110994 var _regFree1 int32 // sqlite3.c:94982:7 110995 _ = _regFree1 110996 _regFree1 = i32(0) 110997 crt.Xmemset(tls, (unsafe.Pointer)(&_compLeft), i32(0), u32(48)) 110998 crt.Xmemset(tls, (unsafe.Pointer)(&_compRight), i32(0), u32(48)) 110999 crt.Xmemset(tls, (unsafe.Pointer)(&_exprAnd), i32(0), u32(48)) 111000 func() int32 { 111001 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 111002 return i32(0) 111003 } 111004 return func() int32 { 111005 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94989), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprCodeBetweenØ00__func__Ø000))), unsafe.Pointer(str(45120))) 111006 crt.X__builtin_abort(tls) 111007 return i32(0) 111008 }() 111009 }() 111010 _exprX = *(*XExpr)(unsafe.Pointer(_pExpr.X4)) 111011 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnd)) + uintptr(0 /* X0 */))) = uint8(i32(28)) 111012 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnd)) + uintptr(12 /* X4 */))))) = &_compLeft 111013 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnd)) + uintptr(16 /* X5 */))))) = &_compRight 111014 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compLeft)) + uintptr(0 /* X0 */))) = uint8(i32(41)) 111015 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compLeft)) + uintptr(12 /* X4 */))))) = &_exprX 111016 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compLeft)) + uintptr(16 /* X5 */))))) = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(0)))).X0)) 111017 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compRight)) + uintptr(0 /* X0 */))) = uint8(i32(39)) 111018 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compRight)) + uintptr(12 /* X4 */))))) = &_exprX 111019 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_compRight)) + uintptr(16 /* X5 */))))) = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(1)))).X0)) 111020 _exprToRegister(tls, &_exprX, _exprCodeVector(tls, _pParse, &_exprX, &_regFree1)) 111021 if _xJump == nil { 111022 goto _2 111023 } 111024 111025 _xJump(tls, _pParse, &_exprAnd, _dest, _jumpIfNull) 111026 goto _3 111027 111028 _2: 111029 { 111030 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprX)) + uintptr(4 /* X2 */))) 111031 *p = (*p) | uint32(i32(1)) 111032 sink985 = *p 111033 } 111034 _sqlite3ExprCodeTarget(tls, _pParse, &_exprAnd, _dest) 111035 _3: 111036 _sqlite3ReleaseTempReg(tls, _pParse, _regFree1) 111037 return 111038 111039 } 111040 111041 var _exprCodeBetweenØ00__func__Ø000 [16]int8 // - 111042 111043 func init() { 111044 crt.Xstrncpy(nil, &_exprCodeBetweenØ00__func__Ø000[0], str(107568), 16) 111045 } 111046 111047 func _exprToRegister(tls *crt.TLS, _p *XExpr, _iReg int32) { // sqlite3.c:94067:1 111048 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(38 /* X12 */))) = _p.X0 111049 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(i32(157)) 111050 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X8 */))) = _iReg 111051 { 111052 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) 111053 *p = (*p) & uint32(i32(-4097)) 111054 sink985 = *p 111055 } 111056 return 111057 111058 } 111059 111060 func _exprCodeVector(tls *crt.TLS, _pParse *XParse, _p *XExpr, _piFreeable *int32) (r0 int32) { // sqlite3.c:94084:1 111061 var _iResult int32 // sqlite3.c:94085:7 111062 _ = _iResult 111063 var _nResult int32 // sqlite3.c:94086:7 111064 _ = _nResult 111065 var _4_i int32 // sqlite3.c:94094:11 111066 _ = _4_i 111067 _nResult = _sqlite3ExprVectorSize(tls, _p) 111068 if _nResult != i32(1) { 111069 goto _0 111070 } 111071 111072 _iResult = _sqlite3ExprCodeTemp(tls, _pParse, _p, _piFreeable) 111073 goto _1 111074 111075 _0: 111076 *_piFreeable = i32(0) 111077 if int32(_p.X0) != i32(119) { 111078 goto _2 111079 } 111080 111081 _iResult = _sqlite3CodeSubselect(tls, _pParse, _p, i32(0), i32(0)) 111082 goto _3 111083 111084 _2: 111085 _iResult = (_pParse.X18) + i32(1) 111086 { 111087 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 111088 *p = (*p) + _nResult 111089 sink961 = *p 111090 } 111091 _4_i = i32(0) 111092 _4: 111093 if _4_i >= _nResult { 111094 goto _7 111095 } 111096 111097 _sqlite3ExprCodeFactorable(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))).X1)+20*uintptr(_4_i))).X0)), _4_i+_iResult) 111098 _4_i += 1 111099 goto _4 111100 111101 _7: 111102 _3: 111103 _1: 111104 r0 = _iResult 111105 return 111106 111107 } 111108 111109 func _sqlite3ExprCodeFactorable(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94857:1 111110 if (_pParse.X11) == 0 || _sqlite3ExprIsConstant(tls, _pExpr) == 0 { 111111 goto _1 111112 } 111113 111114 _sqlite3ExprCodeAtInit(tls, _pParse, _pExpr, _target) 111115 goto _2 111116 111117 _1: 111118 _sqlite3ExprCode(tls, _pParse, _pExpr, _target) 111119 _2: 111120 return 111121 111122 } 111123 111124 func _sqlite3ExprCodeIN(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _destIfFalse int32, _destIfNull int32) { // sqlite3.c:93472:1 111125 var _rRhsHasNull int32 // sqlite3.c:93478:7 111126 _ = _rRhsHasNull 111127 var _eType int32 // sqlite3.c:93479:7 111128 _ = _eType 111129 var _rLhs int32 // sqlite3.c:93480:7 111130 _ = _rLhs 111131 var _rLhsOrig int32 // sqlite3.c:93481:7 111132 _ = _rLhsOrig 111133 var _v *XVdbe // sqlite3.c:93482:8 111134 _ = _v 111135 var _aiMap *int32 // sqlite3.c:93483:7 111136 _ = _aiMap 111137 var _zAff *int8 // sqlite3.c:93484:8 111138 _ = _zAff 111139 var _nVector int32 // sqlite3.c:93485:7 111140 _ = _nVector 111141 var _iDummy int32 // sqlite3.c:93486:7 111142 _ = _iDummy 111143 var _pLeft *XExpr // sqlite3.c:93487:8 111144 _ = _pLeft 111145 var _i int32 // sqlite3.c:93488:7 111146 _ = _i 111147 var _destStep2 int32 // sqlite3.c:93489:7 111148 _ = _destStep2 111149 var _destStep6 int32 // sqlite3.c:93490:7 111150 _ = _destStep6 111151 var _addrTruthOp int32 // sqlite3.c:93491:7 111152 _ = _addrTruthOp 111153 var _destNotNull int32 // sqlite3.c:93492:7 111154 _ = _destNotNull 111155 var _addrTop int32 // sqlite3.c:93493:7 111156 _ = _addrTop 111157 var _1_j int32 // sqlite3.c:93522:9 111158 _ = _1_j 111159 var _1_cnt int32 // sqlite3.c:93522:12 111160 _ = _1_cnt 111161 var _6_pList *XExprList // sqlite3.c:93558:14 111162 _ = _6_pList 111163 var _6_pColl *XCollSeq // sqlite3.c:93559:13 111164 _ = _6_pColl 111165 var _6_labelOk int32 // sqlite3.c:93560:9 111166 _ = _6_labelOk 111167 var _6_r2 int32 // sqlite3.c:93561:9 111168 _ = _6_r2 111169 var _6_regToFree int32 // sqlite3.c:93561:13 111170 _ = _6_regToFree 111171 var _6_regCkNull int32 // sqlite3.c:93562:9 111172 _ = _6_regCkNull 111173 var _6_ii int32 // sqlite3.c:93563:9 111174 _ = _6_ii 111175 var _15_p *XExpr // sqlite3.c:93607:10 111176 _ = _15_p 111177 var _23_p *XExpr // sqlite3.c:93669:10 111178 _ = _23_p 111179 var _23_pColl *XCollSeq // sqlite3.c:93670:13 111180 _ = _23_pColl 111181 var _23_r3 int32 // sqlite3.c:93671:9 111182 _ = _23_r3 111183 _rRhsHasNull = i32(0) 111184 _aiMap = nil 111185 _zAff = nil 111186 _destStep6 = i32(0) 111187 _pLeft = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 111188 if _sqlite3ExprCheckIN(tls, _pParse, _pExpr) == 0 { 111189 goto _0 111190 } 111191 111192 return 111193 111194 _0: 111195 _zAff = _exprINAffinity(tls, _pParse, _pExpr) 111196 _nVector = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 111197 _aiMap = (*int32)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64((uint32(_nVector)*u32(5))+uint32(i32(1)))))) 111198 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { 111199 goto _1 111200 } 111201 111202 goto _sqlite3ExprCodeIN_oom_error 111203 111204 _1: 111205 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 111206 func() int32 { 111207 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 111208 return i32(0) 111209 } 111210 return func() int32 { 111211 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93509), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeINØ00__func__Ø000))), unsafe.Pointer(str(44352))) 111212 crt.X__builtin_abort(tls) 111213 return i32(0) 111214 }() 111215 }() 111216 _sqlite3VdbeNoopComment(tls, _v, str(107584)) 111217 _eType = _sqlite3FindInIndex(tls, _pParse, _pExpr, uint32(i32(3)), func() *int32 { 111218 if _destIfFalse == _destIfNull { 111219 return (*int32)(unsafe.Pointer(uintptr(i32(0)))) 111220 } 111221 return &_rRhsHasNull 111222 }(), _aiMap) 111223 func() int32 { 111224 if ((((_pParse.X16) != 0 || (_nVector == i32(1))) || (_eType == i32(2))) || (_eType == i32(3))) || (_eType == i32(4)) { 111225 return i32(0) 111226 } 111227 return func() int32 { 111228 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93515), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeINØ00__func__Ø000))), unsafe.Pointer(str(107600))) 111229 crt.X__builtin_abort(tls) 111230 return i32(0) 111231 }() 111232 }() 111233 _i = i32(0) 111234 _12: 111235 if _i >= _nVector { 111236 goto _15 111237 } 111238 111239 _1_cnt = store961(&_1_j, i32(0)) 111240 _16: 111241 if _1_j >= _nVector { 111242 goto _19 111243 } 111244 111245 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_1_j)))) != _i { 111246 goto _20 111247 } 111248 111249 _1_cnt += 1 111250 _20: 111251 _1_j += 1 111252 goto _16 111253 111254 _19: 111255 func() int32 { 111256 if _1_cnt == i32(1) { 111257 return i32(0) 111258 } 111259 return func() int32 { 111260 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93524), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeINØ00__func__Ø000))), unsafe.Pointer(str(107712))) 111261 crt.X__builtin_abort(tls) 111262 return i32(0) 111263 }() 111264 }() 111265 _i += 1 111266 goto _12 111267 111268 _15: 111269 _sqlite3ExprCachePush(tls, _pParse) 111270 _rLhsOrig = _exprCodeVector(tls, _pParse, _pLeft, &_iDummy) 111271 _i = i32(0) 111272 _23: 111273 if _i >= _nVector || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_i)))) != _i { 111274 goto _27 111275 } 111276 111277 _i += 1 111278 goto _23 111279 111280 _27: 111281 if _i != _nVector { 111282 goto _28 111283 } 111284 111285 _rLhs = _rLhsOrig 111286 goto _29 111287 111288 _28: 111289 _rLhs = _sqlite3GetTempRange(tls, _pParse, _nVector) 111290 _i = i32(0) 111291 _30: 111292 if _i >= _nVector { 111293 goto _33 111294 } 111295 111296 _sqlite3VdbeAddOp3(tls, _v, i32(85), _rLhsOrig+_i, _rLhs+(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_i)))), i32(0)) 111297 _i += 1 111298 goto _30 111299 111300 _33: 111301 _29: 111302 if _eType != i32(5) { 111303 goto _34 111304 } 111305 111306 _6_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 111307 _6_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 111308 _6_labelOk = _sqlite3VdbeMakeLabel(tls, _v) 111309 _6_regCkNull = i32(0) 111310 func() int32 { 111311 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 111312 return i32(0) 111313 } 111314 return func() int32 { 111315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93564), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeINØ00__func__Ø000))), unsafe.Pointer(str(45120))) 111316 crt.X__builtin_abort(tls) 111317 return i32(0) 111318 }() 111319 }() 111320 if _destIfNull == _destIfFalse { 111321 goto _37 111322 } 111323 111324 _6_regCkNull = _sqlite3GetTempReg(tls, _pParse) 111325 _sqlite3VdbeAddOp3(tls, _v, i32(43), _rLhs, _rLhs, _6_regCkNull) 111326 _37: 111327 _6_ii = i32(0) 111328 _38: 111329 if _6_ii >= (_6_pList.X0) { 111330 goto _41 111331 } 111332 111333 _6_r2 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_6_pList.X1)+20*uintptr(_6_ii))).X0)), &_6_regToFree) 111334 if _6_regCkNull == 0 || _sqlite3ExprCanBeNull(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_6_pList.X1)+20*uintptr(_6_ii))).X0))) == 0 { 111335 goto _43 111336 } 111337 111338 _sqlite3VdbeAddOp3(tls, _v, i32(43), _6_regCkNull, _6_r2, _6_regCkNull) 111339 _43: 111340 if _6_ii >= ((_6_pList.X0)-i32(1)) && _destIfNull == _destIfFalse { 111341 goto _45 111342 } 111343 111344 _sqlite3VdbeAddOp4(tls, _v, i32(37), _rLhs, _6_labelOk, _6_r2, (*int8)(unsafe.Pointer((unsafe.Pointer)(_6_pColl))), i32(-3)) 111345 _sqlite3VdbeChangeP5(tls, _v, uint16(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(i32(0)))))) 111346 goto _46 111347 111348 _45: 111349 func() int32 { 111350 if _destIfNull == _destIfFalse { 111351 return i32(0) 111352 } 111353 return func() int32 { 111354 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93581), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeINØ00__func__Ø000))), unsafe.Pointer(str(107720))) 111355 crt.X__builtin_abort(tls) 111356 return i32(0) 111357 }() 111358 }() 111359 _sqlite3VdbeAddOp4(tls, _v, i32(36), _rLhs, _destIfFalse, _6_r2, (*int8)(unsafe.Pointer((unsafe.Pointer)(_6_pColl))), i32(-3)) 111360 _sqlite3VdbeChangeP5(tls, _v, uint16(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(i32(0)))))|i32(16))) 111361 _46: 111362 _sqlite3ReleaseTempReg(tls, _pParse, _6_regToFree) 111363 _6_ii += 1 111364 goto _38 111365 111366 _41: 111367 if _6_regCkNull == 0 { 111368 goto _49 111369 } 111370 111371 _sqlite3VdbeAddOp2(tls, _v, i32(34), _6_regCkNull, _destIfNull) 111372 _sqlite3VdbeGoto(tls, _v, _destIfFalse) 111373 _49: 111374 _sqlite3VdbeResolveLabel(tls, _v, _6_labelOk) 111375 _sqlite3ReleaseTempReg(tls, _pParse, _6_regCkNull) 111376 goto _sqlite3ExprCodeIN_finished 111377 111378 _34: 111379 if _destIfNull != _destIfFalse { 111380 goto _50 111381 } 111382 111383 _destStep2 = _destIfFalse 111384 goto _51 111385 111386 _50: 111387 _destStep2 = store961(&_destStep6, _sqlite3VdbeMakeLabel(tls, _v)) 111388 _51: 111389 _i = i32(0) 111390 _52: 111391 if _i >= _nVector { 111392 goto _55 111393 } 111394 111395 _15_p = _sqlite3VectorFieldSubexpr(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _i) 111396 if _sqlite3ExprCanBeNull(tls, _15_p) == 0 { 111397 goto _56 111398 } 111399 111400 _sqlite3VdbeAddOp2(tls, _v, i32(34), _rLhs+_i, _destStep2) 111401 _56: 111402 _i += 1 111403 goto _52 111404 111405 _55: 111406 if _eType != i32(1) { 111407 goto _57 111408 } 111409 111410 _sqlite3VdbeAddOp3(tls, _v, i32(32), _pExpr.X8, _destIfFalse, _rLhs) 111411 _addrTruthOp = _sqlite3VdbeAddOp0(tls, _v, i32(13)) 111412 goto _58 111413 111414 _57: 111415 _sqlite3VdbeAddOp4(tls, _v, i32(99), _rLhs, _nVector, i32(0), _zAff, _nVector) 111416 if _destIfFalse != _destIfNull { 111417 goto _59 111418 } 111419 111420 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _pExpr.X8, _destIfFalse, _rLhs, _nVector) 111421 goto _sqlite3ExprCodeIN_finished 111422 111423 _59: 111424 _addrTruthOp = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _pExpr.X8, i32(0), _rLhs, _nVector) 111425 _58: 111426 if _rRhsHasNull == 0 || _nVector != i32(1) { 111427 goto _61 111428 } 111429 111430 _sqlite3VdbeAddOp2(tls, _v, i32(35), _rRhsHasNull, _destIfFalse) 111431 _61: 111432 if _destIfFalse != _destIfNull { 111433 goto _62 111434 } 111435 111436 _sqlite3VdbeGoto(tls, _v, _destIfFalse) 111437 _62: 111438 if _destStep6 == 0 { 111439 goto _63 111440 } 111441 111442 _sqlite3VdbeResolveLabel(tls, _v, _destStep6) 111443 _63: 111444 _addrTop = _sqlite3VdbeAddOp2(tls, _v, i32(58), _pExpr.X8, _destIfFalse) 111445 if _nVector <= i32(1) { 111446 goto _64 111447 } 111448 111449 _destNotNull = _sqlite3VdbeMakeLabel(tls, _v) 111450 goto _65 111451 111452 _64: 111453 _destNotNull = _destIfFalse 111454 _65: 111455 _i = i32(0) 111456 _66: 111457 if _i >= _nVector { 111458 goto _69 111459 } 111460 111461 _23_r3 = _sqlite3GetTempReg(tls, _pParse) 111462 _23_p = _sqlite3VectorFieldSubexpr(tls, _pLeft, _i) 111463 _23_pColl = _sqlite3ExprCollSeq(tls, _pParse, _23_p) 111464 _sqlite3VdbeAddOp3(tls, _v, i32(98), _pExpr.X8, _i, _23_r3) 111465 _sqlite3VdbeAddOp4(tls, _v, i32(36), _rLhs+_i, _destNotNull, _23_r3, (*int8)(unsafe.Pointer((unsafe.Pointer)(_23_pColl))), i32(-3)) 111466 _sqlite3ReleaseTempReg(tls, _pParse, _23_r3) 111467 _i += 1 111468 goto _66 111469 111470 _69: 111471 _sqlite3VdbeAddOp2(tls, _v, i32(13), i32(0), _destIfNull) 111472 if _nVector <= i32(1) { 111473 goto _70 111474 } 111475 111476 _sqlite3VdbeResolveLabel(tls, _v, _destNotNull) 111477 _sqlite3VdbeAddOp2(tls, _v, i32(7), _pExpr.X8, _addrTop+i32(1)) 111478 _sqlite3VdbeAddOp2(tls, _v, i32(13), i32(0), _destIfFalse) 111479 _70: 111480 _sqlite3VdbeJumpHere(tls, _v, _addrTruthOp) 111481 _sqlite3ExprCodeIN_finished: 111482 if _rLhs == _rLhsOrig { 111483 goto _71 111484 } 111485 111486 _sqlite3ReleaseTempReg(tls, _pParse, _rLhs) 111487 _71: 111488 _sqlite3ExprCachePop(tls, _pParse) 111489 _sqlite3VdbeComment(tls, _v, str(107744)) 111490 _sqlite3ExprCodeIN_oom_error: 111491 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_aiMap)) 111492 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_zAff)) 111493 return 111494 111495 } 111496 111497 func _sqlite3ExprCheckIN(tls *crt.TLS, _pParse *XParse, _pIn *XExpr) (r0 int32) { // sqlite3.c:93431:1 111498 var _nVector int32 // sqlite3.c:93432:7 111499 _ = _nVector 111500 _nVector = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pIn.X4))) 111501 if ((_pIn.X2) & uint32(i32(2048))) == 0 { 111502 goto _0 111503 } 111504 111505 if _nVector == ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(20 /* X6 */))))))).X0)).X0) { 111506 goto _1 111507 } 111508 111509 _sqlite3SubselectError(tls, _pParse, (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(20 /* X6 */))))))).X0)).X0, _nVector) 111510 r0 = i32(1) 111511 return 111512 111513 _1: 111514 goto _2 111515 111516 _0: 111517 if _nVector == i32(1) { 111518 goto _3 111519 } 111520 111521 _sqlite3VectorErrorMsg(tls, _pParse, (*XExpr)(unsafe.Pointer(_pIn.X4))) 111522 r0 = i32(1) 111523 return 111524 111525 _3: 111526 _2: 111527 r0 = i32(0) 111528 return 111529 111530 } 111531 111532 var _sqlite3ExprCodeINØ00__func__Ø000 [18]int8 // - 111533 111534 func init() { 111535 crt.Xstrncpy(nil, &_sqlite3ExprCodeINØ00__func__Ø000[0], str(107756), 18) 111536 } 111537 111538 func _sqlite3FindInIndex(tls *crt.TLS, _pParse *XParse, _pX *XExpr, _inFlags uint32, _prRhsHasNull *int32, _aiMap *int32) (r0 int32) { // sqlite3.c:92876:1 111539 var _p *XSelect // sqlite3.c:92883:10 111540 _ = _p 111541 var _eType int32 // sqlite3.c:92884:7 111542 _ = _eType 111543 var _iTab int32 // sqlite3.c:92885:7 111544 _ = _iTab 111545 var _mustBeUnique int32 // sqlite3.c:92886:7 111546 _ = _mustBeUnique 111547 var _v *XVdbe // sqlite3.c:92887:8 111548 _ = _v 111549 var _1_i int32 // sqlite3.c:92898:9 111550 _ = _1_i 111551 var _1_pEList *XExprList // sqlite3.c:92899:14 111552 _ = _1_pEList 111553 var _4_db *Xsqlite3 // sqlite3.c:92912:13 111554 _ = _4_db 111555 var _4_pTab *XTable // sqlite3.c:92913:11 111556 _ = _4_pTab 111557 var _4_iDb int16 // sqlite3.c:92914:9 111558 _ = _4_iDb 111559 var _4_pEList *XExprList // sqlite3.c:92915:14 111560 _ = _4_pEList 111561 var _4_nExpr int32 // sqlite3.c:92916:9 111562 _ = _4_nExpr 111563 var _5_iAddr int32 // sqlite3.c:92931:11 111564 _ = _5_iAddr 111565 var _6_pIdx *XIndex // sqlite3.c:92939:13 111566 _ = _6_pIdx 111567 var _6_affinity_ok int32 // sqlite3.c:92940:11 111568 _ = _6_affinity_ok 111569 var _6_i int32 // sqlite3.c:92941:11 111570 _ = _6_i 111571 var _7_pLhs *XExpr // sqlite3.c:92948:14 111572 _ = _7_pLhs 111573 var _7_iCol int32 // sqlite3.c:92949:13 111574 _ = _7_iCol 111575 var _7_idxaff int8 // sqlite3.c:92950:14 111576 _ = _7_idxaff 111577 var _7_cmpaff int8 // sqlite3.c:92951:14 111578 _ = _7_cmpaff 111579 var _10_colUsed uint64 // sqlite3.c:92972:19 111580 _ = _10_colUsed 111581 var _10_mCol uint64 // sqlite3.c:92973:19 111582 _ = _10_mCol 111583 var _13_pLhs *XExpr // sqlite3.c:92990:18 111584 _ = _13_pLhs 111585 var _13_pRhs *XExpr // sqlite3.c:92991:18 111586 _ = _13_pRhs 111587 var _13_pReq *XCollSeq // sqlite3.c:92992:21 111588 _ = _13_pReq 111589 var _13_j int32 // sqlite3.c:92993:17 111590 _ = _13_j 111591 var _16_iAddr int32 // sqlite3.c:93014:17 111592 _ = _16_iAddr 111593 var _20_savedNQueryLoop uint32 // sqlite3.c:93063:9 111594 _ = _20_savedNQueryLoop 111595 var _20_rMayHaveNull int32 // sqlite3.c:93064:9 111596 _ = _20_rMayHaveNull 111597 var _25_i int32 // sqlite3.c:93081:9 111598 _ = _25_i 111599 var _25_n int32 // sqlite3.c:93081:12 111600 _ = _25_n 111601 _eType = i32(0) 111602 _iTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 111603 _v = _sqlite3GetVdbe(tls, _pParse) 111604 func() int32 { 111605 if int32(_pX.X0) == i32(33) { 111606 return i32(0) 111607 } 111608 return func() int32 { 111609 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92889), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107776))) 111610 crt.X__builtin_abort(tls) 111611 return i32(0) 111612 }() 111613 }() 111614 _mustBeUnique = bool2int((_inFlags & uint32(i32(4))) != uint32(i32(0))) 111615 if _prRhsHasNull == nil || ((_pX.X2)&uint32(i32(2048))) == 0 { 111616 goto _3 111617 } 111618 111619 _1_pEList = (*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(20 /* X6 */))))))).X0)) 111620 _1_i = i32(0) 111621 _4: 111622 if _1_i >= (_1_pEList.X0) { 111623 goto _7 111624 } 111625 111626 if _sqlite3ExprCanBeNull(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_1_pEList.X1)+20*uintptr(_1_i))).X0))) == 0 { 111627 goto _8 111628 } 111629 111630 goto _7 111631 111632 _8: 111633 _1_i += 1 111634 goto _4 111635 111636 _7: 111637 if _1_i != (_1_pEList.X0) { 111638 goto _9 111639 } 111640 111641 _prRhsHasNull = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 111642 _9: 111643 _3: 111644 if (_pParse.X16) != i32(0) || store7851147(&_p, _isCandidateForInOpt(tls, _pX)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 111645 goto _11 111646 } 111647 111648 _4_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 111649 _4_pEList = (*XExprList)(unsafe.Pointer(_p.X0)) 111650 _4_nExpr = _4_pEList.X0 111651 func() int32 { 111652 if (*XExprList)(unsafe.Pointer(_p.X0)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 111653 return i32(0) 111654 } 111655 return func() int32 { 111656 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92918), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(48616))) 111657 crt.X__builtin_abort(tls) 111658 return i32(0) 111659 }() 111660 }() 111661 func() int32 { 111662 if (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X0)).X1)+20*uintptr(i32(0)))).X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 111663 return i32(0) 111664 } 111665 return func() int32 { 111666 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92919), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107792))) 111667 crt.X__builtin_abort(tls) 111668 return i32(0) 111669 }() 111670 }() 111671 func() int32 { 111672 if (*XSrcList)(unsafe.Pointer(_p.X8)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 111673 return i32(0) 111674 } 111675 return func() int32 { 111676 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92920), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107820))) 111677 crt.X__builtin_abort(tls) 111678 return i32(0) 111679 }() 111680 }() 111681 _4_pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 111682 X0 unsafe.Pointer 111683 X1 *int8 111684 X2 *int8 111685 X3 *int8 111686 X4 unsafe.Pointer 111687 X5 unsafe.Pointer 111688 X6 int32 111689 X7 int32 111690 X8 int32 111691 X9 struct { 111692 X0 uint8 111693 X1 int8 111694 } 111695 X10 uint8 111696 X11 int32 111697 X12 unsafe.Pointer 111698 X13 unsafe.Pointer 111699 X14 uint64 111700 X15 struct { 111701 X [0]struct { 111702 X0 *int8 111703 X1 unsafe.Pointer 111704 } 111705 U [4]byte 111706 } 111707 X16 unsafe.Pointer 111708 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X4)) 111709 _4_iDb = int16(_sqlite3SchemaToIndex(tls, _4_db, (*XSchema)(unsafe.Pointer(_4_pTab.X20)))) 111710 _sqlite3CodeVerifySchema(tls, _pParse, int32(_4_iDb)) 111711 _sqlite3TableLock(tls, _pParse, int32(_4_iDb), _4_pTab.X7, uint8(i32(0)), _4_pTab.X0) 111712 func() int32 { 111713 if _v != nil { 111714 return i32(0) 111715 } 111716 return func() int32 { 111717 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92928), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(44132))) 111718 crt.X__builtin_abort(tls) 111719 return i32(0) 111720 }() 111721 }() 111722 if _4_nExpr != i32(1) || int32((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_4_pEList.X1)+20*uintptr(i32(0)))).X0)).X9) >= i32(0) { 111723 goto _21 111724 } 111725 111726 _5_iAddr = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 111727 _sqlite3OpenTable(tls, _pParse, _iTab, int32(_4_iDb), _4_pTab, i32(105)) 111728 _eType = i32(1) 111729 _sqlite3VdbeJumpHere(tls, _v, _5_iAddr) 111730 goto _22 111731 111732 _21: 111733 _6_affinity_ok = i32(1) 111734 _6_i = i32(0) 111735 _23: 111736 if _6_i >= _4_nExpr || _6_affinity_ok == 0 { 111737 goto _27 111738 } 111739 111740 _7_pLhs = _sqlite3VectorFieldSubexpr(tls, (*XExpr)(unsafe.Pointer(_pX.X4)), _6_i) 111741 _7_iCol = int32((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_4_pEList.X1) + 20*uintptr(_6_i))).X0)).X9) 111742 _7_idxaff = _sqlite3TableColumnAffinity(tls, _4_pTab, _7_iCol) 111743 _7_cmpaff = _sqlite3CompareAffinity(tls, _7_pLhs, _7_idxaff) 111744 switch int32(_7_cmpaff) { 111745 case i32(65): 111746 goto _29 111747 case i32(66): 111748 goto _30 111749 default: 111750 goto _31 111751 } 111752 111753 _29: 111754 goto _32 111755 111756 _30: 111757 func() int32 { 111758 if int32(_7_idxaff) == i32(66) { 111759 return i32(0) 111760 } 111761 return func() int32 { 111762 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92962), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107832))) 111763 crt.X__builtin_abort(tls) 111764 return i32(0) 111765 }() 111766 }() 111767 goto _32 111768 111769 _31: 111770 _6_affinity_ok = bool2int(int32(_7_idxaff) >= i32(67)) 111771 _32: 111772 _6_i += 1 111773 goto _23 111774 111775 _27: 111776 if _6_affinity_ok == 0 { 111777 goto _35 111778 } 111779 111780 _6_pIdx = (*XIndex)(unsafe.Pointer(_4_pTab.X2)) 111781 _36: 111782 if _6_pIdx == nil || _eType != i32(0) { 111783 goto _40 111784 } 111785 111786 if int32(_6_pIdx.X14) >= _4_nExpr { 111787 goto _41 111788 } 111789 111790 goto _37 111791 111792 _41: 111793 if int32(_6_pIdx.X14) < i32(63) { 111794 goto _42 111795 } 111796 111797 goto _37 111798 111799 _42: 111800 if _mustBeUnique == 0 { 111801 goto _43 111802 } 111803 111804 if int32(_6_pIdx.X13) <= _4_nExpr && (int32(_6_pIdx.X14) <= _4_nExpr || int32(_6_pIdx.X15) != i32(0)) { 111805 goto _46 111806 } 111807 111808 goto _37 111809 111810 _46: 111811 _43: 111812 _10_colUsed = uint64(i32(0)) 111813 _6_i = i32(0) 111814 _47: 111815 if _6_i >= _4_nExpr { 111816 goto _50 111817 } 111818 111819 _13_pLhs = _sqlite3VectorFieldSubexpr(tls, (*XExpr)(unsafe.Pointer(_pX.X4)), _6_i) 111820 _13_pRhs = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_4_pEList.X1) + 20*uintptr(_6_i))).X0)) 111821 _13_pReq = _sqlite3BinaryCompareCollSeq(tls, _pParse, _13_pLhs, _13_pRhs) 111822 func() int32 { 111823 if ((_13_pReq != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_13_pRhs.X9) == i32(-1))) || (_pParse.X16) != 0 { 111824 return i32(0) 111825 } 111826 return func() int32 { 111827 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92995), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107856))) 111828 crt.X__builtin_abort(tls) 111829 return i32(0) 111830 }() 111831 }() 111832 _13_j = i32(0) 111833 _55: 111834 if _13_j >= _4_nExpr { 111835 goto _58 111836 } 111837 111838 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X1)) + 2*uintptr(_13_j)))) == int32(_13_pRhs.X9) { 111839 goto _59 111840 } 111841 111842 goto _56 111843 111844 _59: 111845 func() int32 { 111846 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X8)) + 4*uintptr(_13_j)))) != nil { 111847 return i32(0) 111848 } 111849 return func() int32 { 111850 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92998), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107908))) 111851 crt.X__builtin_abort(tls) 111852 return i32(0) 111853 }() 111854 }() 111855 if _13_pReq == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3StrICmp(tls, _13_pReq.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X8)) + 4*uintptr(_13_j)))) == i32(0) { 111856 goto _63 111857 } 111858 111859 goto _56 111860 111861 _63: 111862 goto _58 111863 111864 _56: 111865 _13_j += 1 111866 goto _55 111867 111868 _58: 111869 if _13_j != _4_nExpr { 111870 goto _64 111871 } 111872 111873 goto _50 111874 111875 _64: 111876 _10_mCol = u64(1) << uint(_13_j) 111877 if (_10_mCol & _10_colUsed) == 0 { 111878 goto _65 111879 } 111880 111881 goto _50 111882 111883 _65: 111884 { 111885 p := &_10_colUsed 111886 *p = (*p) | _10_mCol 111887 sink992 = *p 111888 } 111889 if _aiMap == nil { 111890 goto _66 111891 } 111892 111893 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_6_i))) = _13_j 111894 _66: 111895 _6_i += 1 111896 goto _47 111897 111898 _50: 111899 func() int32 { 111900 if (_6_i == _4_nExpr) || (_10_colUsed != ((u64(1) << uint(_4_nExpr)) - uint64(i32(1)))) { 111901 return i32(0) 111902 } 111903 return func() int32 { 111904 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93011), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FindInIndexØ00__func__Ø000))), unsafe.Pointer(str(107924))) 111905 crt.X__builtin_abort(tls) 111906 return i32(0) 111907 }() 111908 }() 111909 if _10_colUsed != ((u64(1) << uint(_4_nExpr)) - uint64(i32(1))) { 111910 goto _70 111911 } 111912 111913 _16_iAddr = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 111914 _sqlite3VdbeAddOp4(tls, _v, i32(163), i32(0), i32(0), i32(0), _sqlite3MPrintf(tls, _4_db, str(107964), unsafe.Pointer(_6_pIdx.X0)), i32(-1)) 111915 _sqlite3VdbeAddOp3(tls, _v, i32(105), _iTab, _6_pIdx.X11, int32(_4_iDb)) 111916 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _6_pIdx) 111917 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_6_pIdx.X0)) 111918 i32(0) 111919 _eType = i32(3) + int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pIdx.X7)) + 1*uintptr(i32(0))))) 111920 if _prRhsHasNull == nil { 111921 goto _71 111922 } 111923 111924 *_prRhsHasNull = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 111925 if _4_nExpr != i32(1) { 111926 goto _72 111927 } 111928 111929 _sqlite3SetHasNullFlag(tls, _v, _iTab, *_prRhsHasNull) 111930 _72: 111931 _71: 111932 _sqlite3VdbeJumpHere(tls, _v, _16_iAddr) 111933 _70: 111934 _37: 111935 _6_pIdx = (*XIndex)(unsafe.Pointer(_6_pIdx.X5)) 111936 goto _36 111937 111938 _40: 111939 _35: 111940 _22: 111941 _11: 111942 if _eType != i32(0) || (_inFlags&uint32(i32(1))) == 0 || ((_pX.X2)&uint32(i32(2048))) != uint32(i32(0)) || _sqlite3InRhsIsConstant(tls, _pX) != 0 && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(20 /* X6 */))))))).X0) > i32(2) { 111943 goto _77 111944 } 111945 111946 _eType = i32(5) 111947 _77: 111948 if _eType != i32(0) { 111949 goto _78 111950 } 111951 111952 _20_savedNQueryLoop = _pParse.X42 111953 _20_rMayHaveNull = i32(0) 111954 _eType = i32(2) 111955 if (_inFlags & uint32(i32(4))) == 0 { 111956 goto _79 111957 } 111958 111959 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X42 */))) = uint32(i32(0)) 111960 if int32((*XExpr)(unsafe.Pointer(_pX.X4)).X9) >= i32(0) || ((_pX.X2)&uint32(i32(2048))) != uint32(i32(0)) { 111961 goto _81 111962 } 111963 111964 _eType = i32(1) 111965 _81: 111966 goto _82 111967 111968 _79: 111969 if _prRhsHasNull == nil { 111970 goto _83 111971 } 111972 111973 *_prRhsHasNull = store961(&_20_rMayHaveNull, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 111974 _83: 111975 _82: 111976 _sqlite3CodeSubselect(tls, _pParse, _pX, _20_rMayHaveNull, bool2int(_eType == i32(1))) 111977 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X42 */))) = _20_savedNQueryLoop 111978 goto _84 111979 111980 _78: 111981 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(28 /* X8 */))) = _iTab 111982 _84: 111983 if _aiMap == nil || _eType == i32(3) || _eType == i32(4) { 111984 goto _87 111985 } 111986 111987 _25_n = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pX.X4))) 111988 _25_i = i32(0) 111989 _88: 111990 if _25_i >= _25_n { 111991 goto _91 111992 } 111993 111994 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiMap)) + 4*uintptr(_25_i))) = _25_i 111995 _25_i += 1 111996 goto _88 111997 111998 _91: 111999 _87: 112000 r0 = _eType 112001 return 112002 112003 } 112004 112005 var _sqlite3FindInIndexØ00__func__Ø000 [19]int8 // - 112006 112007 func init() { 112008 crt.Xstrncpy(nil, &_sqlite3FindInIndexØ00__func__Ø000[0], str(107996), 19) 112009 } 112010 112011 func _sqlite3ExprCanBeNull(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:92641:1 112012 var _op uint8 // sqlite3.c:92642:6 112013 _ = _op 112014 _0: 112015 if int32(_p.X0) != i32(156) && int32(_p.X0) != i32(155) { 112016 goto _1 112017 } 112018 112019 _p = (*XExpr)(unsafe.Pointer(_p.X4)) 112020 goto _0 112021 112022 _1: 112023 _op = _p.X0 112024 if int32(_op) != i32(157) { 112025 goto _3 112026 } 112027 112028 _op = _p.X12 112029 _3: 112030 switch int32(_op) { 112031 case i32(97): 112032 goto _6 112033 case i32(132): 112034 goto _7 112035 case i32(133): 112036 goto _8 112037 case i32(134): 112038 goto _5 112039 case i32(152): 112040 goto _9 112041 default: 112042 goto _10 112043 } 112044 112045 _5: 112046 _6: 112047 _7: 112048 _8: 112049 r0 = i32(0) 112050 return 112051 112052 _9: 112053 func() int32 { 112054 if (*XTable)(unsafe.Pointer(_p.X14)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 112055 return i32(0) 112056 } 112057 return func() int32 { 112058 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92653), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCanBeNullØ00__func__Ø000))), unsafe.Pointer(str(108016))) 112059 crt.X__builtin_abort(tls) 112060 return i32(0) 112061 }() 112062 }() 112063 r0 = bool2int((((_p.X2) & uint32(i32(1048576))) != uint32(i32(0))) || ((int32(_p.X9) >= i32(0)) && (int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_p.X14)).X1)+16*uintptr(_p.X9))).X3) == i32(0)))) 112064 return 112065 112066 _10: 112067 r0 = i32(1) 112068 return 112069 112070 } 112071 112072 var _sqlite3ExprCanBeNullØ00__func__Ø000 [21]int8 // - 112073 112074 func init() { 112075 crt.Xstrncpy(nil, &_sqlite3ExprCanBeNullØ00__func__Ø000[0], str(108028), 21) 112076 } 112077 112078 func _isCandidateForInOpt(tls *crt.TLS, _pX *XExpr) (r0 *XSelect) { // sqlite3.c:92719:1 112079 var _p *XSelect // sqlite3.c:92720:10 112080 _ = _p 112081 var _pSrc *XSrcList // sqlite3.c:92721:11 112082 _ = _pSrc 112083 var _pEList *XExprList // sqlite3.c:92722:12 112084 _ = _pEList 112085 var _pTab *XTable // sqlite3.c:92723:9 112086 _ = _pTab 112087 var _i int32 // sqlite3.c:92724:7 112088 _ = _i 112089 var _2_pRes *XExpr // sqlite3.c:92750:10 112090 _ = _2_pRes 112091 if ((_pX.X2) & uint32(i32(2048))) != uint32(i32(0)) { 112092 goto _0 112093 } 112094 112095 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112096 return 112097 112098 _0: 112099 if ((_pX.X2) & uint32(i32(32))) == uint32(i32(0)) { 112100 goto _1 112101 } 112102 112103 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112104 return 112105 112106 _1: 112107 _p = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(20 /* X6 */))))))) 112108 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 112109 goto _2 112110 } 112111 112112 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112113 return 112114 112115 _2: 112116 if ((_p.X3) & uint32(i32(9))) == 0 { 112117 goto _3 112118 } 112119 112120 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112121 return 112122 112123 _3: 112124 func() int32 { 112125 if (*XExprList)(unsafe.Pointer(_p.X10)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 112126 return i32(0) 112127 } 112128 return func() int32 { 112129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92734), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(49276))) 112130 crt.X__builtin_abort(tls) 112131 return i32(0) 112132 }() 112133 }() 112134 if (*XExpr)(unsafe.Pointer(_p.X15)) == nil { 112135 goto _6 112136 } 112137 112138 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112139 return 112140 112141 _6: 112142 func() int32 { 112143 if (*XExpr)(unsafe.Pointer(_p.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 112144 return i32(0) 112145 } 112146 return func() int32 { 112147 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92736), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(104100))) 112148 crt.X__builtin_abort(tls) 112149 return i32(0) 112150 }() 112151 }() 112152 if (*XExpr)(unsafe.Pointer(_p.X9)) == nil { 112153 goto _9 112154 } 112155 112156 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112157 return 112158 112159 _9: 112160 _pSrc = (*XSrcList)(unsafe.Pointer(_p.X8)) 112161 func() int32 { 112162 if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 112163 return i32(0) 112164 } 112165 return func() int32 { 112166 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92739), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(50448))) 112167 crt.X__builtin_abort(tls) 112168 return i32(0) 112169 }() 112170 }() 112171 if (_pSrc.X0) == i32(1) { 112172 goto _12 112173 } 112174 112175 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112176 return 112177 112178 _12: 112179 if (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 112180 X0 unsafe.Pointer 112181 X1 *int8 112182 X2 *int8 112183 X3 *int8 112184 X4 unsafe.Pointer 112185 X5 unsafe.Pointer 112186 X6 int32 112187 X7 int32 112188 X8 int32 112189 X9 struct { 112190 X0 uint8 112191 X1 int8 112192 } 112193 X10 uint8 112194 X11 int32 112195 X12 unsafe.Pointer 112196 X13 unsafe.Pointer 112197 X14 uint64 112198 X15 struct { 112199 X [0]struct { 112200 X0 *int8 112201 X1 unsafe.Pointer 112202 } 112203 U [4]byte 112204 } 112205 X16 unsafe.Pointer 112206 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X5)) == nil { 112207 goto _13 112208 } 112209 112210 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112211 return 112212 112213 _13: 112214 _pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 112215 X0 unsafe.Pointer 112216 X1 *int8 112217 X2 *int8 112218 X3 *int8 112219 X4 unsafe.Pointer 112220 X5 unsafe.Pointer 112221 X6 int32 112222 X7 int32 112223 X8 int32 112224 X9 struct { 112225 X0 uint8 112226 X1 int8 112227 } 112228 X10 uint8 112229 X11 int32 112230 X12 unsafe.Pointer 112231 X13 unsafe.Pointer 112232 X14 uint64 112233 X15 struct { 112234 X [0]struct { 112235 X0 *int8 112236 X1 unsafe.Pointer 112237 } 112238 U [4]byte 112239 } 112240 X16 unsafe.Pointer 112241 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X4)) 112242 func() int32 { 112243 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 112244 return i32(0) 112245 } 112246 return func() int32 { 112247 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92743), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(45992))) 112248 crt.X__builtin_abort(tls) 112249 return i32(0) 112250 }() 112251 }() 112252 func() int32 { 112253 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 112254 return i32(0) 112255 } 112256 return func() int32 { 112257 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92744), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(108052))) 112258 crt.X__builtin_abort(tls) 112259 return i32(0) 112260 }() 112261 }() 112262 if (_pTab.X16) == 0 { 112263 goto _18 112264 } 112265 112266 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112267 return 112268 112269 _18: 112270 _pEList = (*XExprList)(unsafe.Pointer(_p.X0)) 112271 func() int32 { 112272 if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 112273 return i32(0) 112274 } 112275 return func() int32 { 112276 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92747), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(47532))) 112277 crt.X__builtin_abort(tls) 112278 return i32(0) 112279 }() 112280 }() 112281 _i = i32(0) 112282 _21: 112283 if _i >= (_pEList.X0) { 112284 goto _24 112285 } 112286 112287 _2_pRes = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1) + 20*uintptr(_i))).X0)) 112288 if int32(_2_pRes.X0) == i32(152) { 112289 goto _25 112290 } 112291 112292 r0 = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 112293 return 112294 112295 _25: 112296 func() int32 { 112297 if (_2_pRes.X8) == ((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 112298 X0 unsafe.Pointer 112299 X1 *int8 112300 X2 *int8 112301 X3 *int8 112302 X4 unsafe.Pointer 112303 X5 unsafe.Pointer 112304 X6 int32 112305 X7 int32 112306 X8 int32 112307 X9 struct { 112308 X0 uint8 112309 X1 int8 112310 } 112311 X10 uint8 112312 X11 int32 112313 X12 unsafe.Pointer 112314 X13 unsafe.Pointer 112315 X14 uint64 112316 X15 struct { 112317 X [0]struct { 112318 X0 *int8 112319 X1 unsafe.Pointer 112320 } 112321 U [4]byte 112322 } 112323 X16 unsafe.Pointer 112324 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X11) { 112325 return i32(0) 112326 } 112327 return func() int32 { 112328 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92752), unsafe.Pointer((*int8)(unsafe.Pointer(&_isCandidateForInOptØ00__func__Ø000))), unsafe.Pointer(str(108072))) 112329 crt.X__builtin_abort(tls) 112330 return i32(0) 112331 }() 112332 }() 112333 _i += 1 112334 goto _21 112335 112336 _24: 112337 r0 = _p 112338 return 112339 112340 } 112341 112342 var _isCandidateForInOptØ00__func__Ø000 [20]int8 // - 112343 112344 func init() { 112345 crt.Xstrncpy(nil, &_isCandidateForInOptØ00__func__Ø000[0], str(108108), 20) 112346 } 112347 112348 func _sqlite3CodeVerifySchema(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:103508:1 112349 var _pToplevel *XParse // sqlite3.c:103509:9 112350 _ = _pToplevel 112351 _pToplevel = func() *XParse { 112352 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 112353 return (*XParse)(unsafe.Pointer(_pParse.X39)) 112354 } 112355 return _pParse 112356 }() 112357 func() int32 { 112358 if (_iDb >= i32(0)) && (_iDb < ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X5)) { 112359 return i32(0) 112360 } 112361 return func() int32 { 112362 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103511), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeVerifySchemaØ00__func__Ø000))), unsafe.Pointer(str(108128))) 112363 crt.X__builtin_abort(tls) 112364 return i32(0) 112365 }() 112366 }() 112367 func() int32 { 112368 if ((*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+16*uintptr(_iDb))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) || (_iDb == i32(1)) { 112369 return i32(0) 112370 } 112371 return func() int32 { 112372 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103512), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeVerifySchemaØ00__func__Ø000))), unsafe.Pointer(str(108160))) 112373 crt.X__builtin_abort(tls) 112374 return i32(0) 112375 }() 112376 }() 112377 func() int32 { 112378 if _iDb < i32(12) { 112379 return i32(0) 112380 } 112381 return func() int32 { 112382 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103513), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeVerifySchemaØ00__func__Ø000))), unsafe.Pointer(str(108200))) 112383 crt.X__builtin_abort(tls) 112384 return i32(0) 112385 }() 112386 }() 112387 func() int32 { 112388 if _sqlite3SchemaMutexHeld(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 112389 return i32(0) 112390 } 112391 return func() int32 { 112392 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103514), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeVerifySchemaØ00__func__Ø000))), unsafe.Pointer(str(108228))) 112393 crt.X__builtin_abort(tls) 112394 return i32(0) 112395 }() 112396 }() 112397 if bool2int(((_pToplevel.X30)&(u32(1)<<uint(_iDb))) != uint32(i32(0))) != i32(0) { 112398 goto _12 112399 } 112400 112401 { 112402 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(96 /* X30 */))) 112403 *p = (*p) | (u32(1) << uint(_iDb)) 112404 sink985 = *p 112405 } 112406 if i32(1) == 0 || _iDb != i32(1) { 112407 goto _14 112408 } 112409 112410 _sqlite3OpenTempDatabase(tls, _pToplevel) 112411 _14: 112412 _12: 112413 return 112414 112415 } 112416 112417 var _sqlite3CodeVerifySchemaØ00__func__Ø000 [24]int8 // - 112418 112419 func init() { 112420 crt.Xstrncpy(nil, &_sqlite3CodeVerifySchemaØ00__func__Ø000[0], str(108272), 24) 112421 } 112422 112423 func _sqlite3OpenTempDatabase(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:103473:1 112424 var _db *Xsqlite3 // sqlite3.c:103474:11 112425 _ = _db 112426 var _1_rc int32 // sqlite3.c:103476:9 112427 _ = _1_rc 112428 var _1_pBt *XBtree // sqlite3.c:103477:11 112429 _ = _1_pBt 112430 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 112431 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) || (_pParse.X54) != 0 { 112432 goto _1 112433 } 112434 112435 _1_rc = _sqlite3BtreeOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _db, &_1_pBt, i32(0), _sqlite3OpenTempDatabaseØ00flagsØ001) 112436 if _1_rc == i32(0) { 112437 goto _2 112438 } 112439 112440 _sqlite3ErrorMsg(tls, _pParse, str(108296)) 112441 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = _1_rc 112442 r0 = i32(1) 112443 return 112444 112445 _2: 112446 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))))) + uintptr(4 /* X1 */))))) = _1_pBt 112447 func() int32 { 112448 if (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4)) != nil { 112449 return i32(0) 112450 } 112451 return func() int32 { 112452 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103493), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTempDatabaseØ00__func__Ø000))), unsafe.Pointer(str(108368))) 112453 crt.X__builtin_abort(tls) 112454 return i32(0) 112455 }() 112456 }() 112457 if i32(7) != _sqlite3BtreeSetPageSize(tls, _1_pBt, _db.X27, i32(-1), i32(0)) { 112458 goto _5 112459 } 112460 112461 _sqlite3OomFault(tls, _db) 112462 r0 = i32(1) 112463 return 112464 112465 _5: 112466 _1: 112467 r0 = i32(0) 112468 return 112469 112470 } 112471 112472 var _sqlite3OpenTempDatabaseØ00flagsØ001 int32 // sqlite3.c:103478:22 112473 112474 func init() { 112475 _sqlite3OpenTempDatabaseØ00flagsØ001 = i32(542) 112476 } 112477 112478 var _sqlite3OpenTempDatabaseØ00__func__Ø000 [24]int8 // - 112479 112480 func init() { 112481 crt.Xstrncpy(nil, &_sqlite3OpenTempDatabaseØ00__func__Ø000[0], str(108388), 24) 112482 } 112483 112484 func _sqlite3SetHasNullFlag(tls *crt.TLS, _v *XVdbe, _iCur int32, _regHasNull int32) { // sqlite3.c:92765:1 112485 var _addr1 int32 // sqlite3.c:92766:7 112486 _ = _addr1 112487 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regHasNull) 112488 _addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(58), _iCur) 112489 _sqlite3VdbeAddOp3(tls, _v, i32(98), _iCur, i32(0), _regHasNull) 112490 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) 112491 _sqlite3VdbeComment(tls, _v, str(108412), _iCur) 112492 _sqlite3VdbeJumpHere(tls, _v, _addr1) 112493 return 112494 112495 } 112496 112497 func _sqlite3InRhsIsConstant(tls *crt.TLS, _pIn *XExpr) (r0 int32) { // sqlite3.c:92782:1 112498 var _pLHS *XExpr // sqlite3.c:92783:8 112499 _ = _pLHS 112500 var _res int32 // sqlite3.c:92784:7 112501 _ = _res 112502 func() int32 { 112503 if ((_pIn.X2) & uint32(i32(2048))) == uint32(i32(0)) { 112504 return i32(0) 112505 } 112506 return func() int32 { 112507 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92785), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InRhsIsConstantØ00__func__Ø000))), unsafe.Pointer(str(108432))) 112508 crt.X__builtin_abort(tls) 112509 return i32(0) 112510 }() 112511 }() 112512 _pLHS = (*XExpr)(unsafe.Pointer(_pIn.X4)) 112513 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 112514 _res = _sqlite3ExprIsConstant(tls, _pIn) 112515 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + uintptr(12 /* X4 */))))) = _pLHS 112516 r0 = _res 112517 return 112518 112519 } 112520 112521 var _sqlite3InRhsIsConstantØ00__func__Ø000 [23]int8 // - 112522 112523 func init() { 112524 crt.Xstrncpy(nil, &_sqlite3InRhsIsConstantØ00__func__Ø000[0], str(108468), 23) 112525 } 112526 112527 func _exprAlwaysTrue(tls *crt.TLS, _p *XExpr) (r0 int32) { // sqlite3.c:91611:1 112528 var _v int32 // sqlite3.c:91612:7 112529 _ = _v 112530 _v = i32(0) 112531 if ((_p.X2) & uint32(i32(1))) == uint32(i32(0)) { 112532 goto _0 112533 } 112534 112535 r0 = i32(0) 112536 return 112537 112538 _0: 112539 if _sqlite3ExprIsInteger(tls, _p, &_v) != 0 { 112540 goto _1 112541 } 112542 112543 r0 = i32(0) 112544 return 112545 112546 _1: 112547 r0 = bool2int(_v != i32(0)) 112548 return 112549 112550 } 112551 112552 func _createMask(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _iCursor int32) { // sqlite3.c:130017:1 112553 func() int32 { 112554 if (_pMaskSet.X0) < i32(64) { 112555 return i32(0) 112556 } 112557 return func() int32 { 112558 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130018), unsafe.Pointer((*int8)(unsafe.Pointer(&_createMaskØ00__func__Ø000))), unsafe.Pointer(str(108492))) 112559 crt.X__builtin_abort(tls) 112560 return i32(0) 112561 }() 112562 }() 112563 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[64]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMaskSet))+uintptr(4 /* X1 */))))) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMaskSet))+uintptr(0 /* X0 */))), int32(1))))) = _iCursor 112564 return 112565 112566 } 112567 112568 var _createMaskØ00__func__Ø000 [11]int8 // - 112569 112570 func init() { 112571 crt.Xstrncpy(nil, &_createMaskØ00__func__Ø000[0], str(108532), 11) 112572 } 112573 112574 func _sqlite3WhereTabFuncArgs(tls *crt.TLS, _pParse *XParse, _pItem *T7840217, _pWC *XWhereClause) { // sqlite3.c:129800:1 112575 var _pTab *XTable // sqlite3.c:129805:9 112576 _ = _pTab 112577 var _j int32 // sqlite3.c:129806:7 112578 _ = _j 112579 var _k int32 // sqlite3.c:129806:10 112580 _ = _k 112581 var _pArgs *XExprList // sqlite3.c:129807:12 112582 _ = _pArgs 112583 var _pColRef *XExpr // sqlite3.c:129808:8 112584 _ = _pColRef 112585 var _pTerm *XExpr // sqlite3.c:129809:8 112586 _ = _pTerm 112587 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 112588 goto _0 112589 } 112590 112591 return 112592 112593 _0: 112594 _pTab = (*XTable)(unsafe.Pointer(_pItem.X4)) 112595 func() int32 { 112596 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 112597 return i32(0) 112598 } 112599 return func() int32 { 112600 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereTabFuncArgsØ00__func__Ø000))), unsafe.Pointer(str(45992))) 112601 crt.X__builtin_abort(tls) 112602 return i32(0) 112603 }() 112604 }() 112605 _pArgs = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(60 /* X15 */))))))) 112606 if _pArgs != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 112607 goto _3 112608 } 112609 112610 return 112611 112612 _3: 112613 _j = store961(&_k, i32(0)) 112614 _4: 112615 if _j >= (_pArgs.X0) { 112616 goto _7 112617 } 112618 112619 _8: 112620 if _k >= int32(_pTab.X11) || (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_k))).X6)&i32(2)) != i32(0) { 112621 goto _9 112622 } 112623 112624 _k += 1 112625 goto _8 112626 112627 _9: 112628 if _k < int32(_pTab.X11) { 112629 goto _11 112630 } 112631 112632 _sqlite3ErrorMsg(tls, _pParse, str(108544), unsafe.Pointer(_pTab.X0), _j) 112633 return 112634 112635 _11: 112636 _pColRef = _sqlite3ExprAlloc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(152), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 112637 if _pColRef != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 112638 goto _12 112639 } 112640 112641 return 112642 112643 _12: 112644 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColRef)) + uintptr(28 /* X8 */))) = _pItem.X11 112645 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColRef)) + uintptr(32 /* X9 */))) = int16(postInc961(&_k, int32(1))) 112646 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pColRef)) + uintptr(44 /* X14 */))))) = _pTab 112647 _pTerm = _sqlite3PExpr(tls, _pParse, i32(37), _pColRef, _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pArgs.X1)+20*uintptr(_j))).X0)), i32(0))) 112648 _whereClauseInsert(tls, _pWC, _pTerm, uint16(i32(1))) 112649 _j += 1 112650 goto _4 112651 112652 _7: 112653 return 112654 112655 } 112656 112657 var _sqlite3WhereTabFuncArgsØ00__func__Ø000 [24]int8 // - 112658 112659 func init() { 112660 crt.Xstrncpy(nil, &_sqlite3WhereTabFuncArgsØ00__func__Ø000[0], str(108580), 24) 112661 } 112662 112663 func _sqlite3WhereGetMask(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _iCursor int32) (r0 uint64) { // sqlite3.c:129998:1 112664 var _i int32 // sqlite3.c:129999:7 112665 _ = _i 112666 func() int32 { 112667 if (_pMaskSet.X0) <= i32(64) { 112668 return i32(0) 112669 } 112670 return func() int32 { 112671 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130000), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereGetMaskØ00__func__Ø000))), unsafe.Pointer(str(108604))) 112672 crt.X__builtin_abort(tls) 112673 return i32(0) 112674 }() 112675 }() 112676 _i = i32(0) 112677 _2: 112678 if _i >= (_pMaskSet.X0) { 112679 goto _5 112680 } 112681 112682 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[64]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pMaskSet))+uintptr(4 /* X1 */))))) + 4*uintptr(_i)))) != _iCursor { 112683 goto _6 112684 } 112685 112686 r0 = u64(1) << uint(_i) 112687 return 112688 112689 _6: 112690 _i += 1 112691 goto _2 112692 112693 _5: 112694 r0 = uint64(i32(0)) 112695 return 112696 112697 } 112698 112699 var _sqlite3WhereGetMaskØ00__func__Ø000 [20]int8 // - 112700 112701 func init() { 112702 crt.Xstrncpy(nil, &_sqlite3WhereGetMaskØ00__func__Ø000[0], str(108640), 20) 112703 } 112704 112705 func _sqlite3WhereExprAnalyze(tls *crt.TLS, _pTabList *XSrcList, _pWC *XWhereClause) { // sqlite3.c:129783:1 112706 var _i int32 // sqlite3.c:129787:7 112707 _ = _i 112708 _i = (_pWC.X3) - i32(1) 112709 _0: 112710 if _i < i32(0) { 112711 goto _3 112712 } 112713 112714 _exprAnalyze(tls, _pTabList, _pWC, _i) 112715 _i -= 1 112716 goto _0 112717 112718 _3: 112719 return 112720 112721 } 112722 112723 func _exprAnalyze(tls *crt.TLS, _pSrc *XSrcList, _pWC *XWhereClause, _idxTerm int32) { // sqlite3.c:129283:1 112724 var _pWInfo *XWhereInfo // sqlite3.c:129288:13 112725 _ = _pWInfo 112726 var _pTerm *XWhereTerm // sqlite3.c:129289:13 112727 _ = _pTerm 112728 var _pMaskSet *XWhereMaskSet // sqlite3.c:129290:16 112729 _ = _pMaskSet 112730 var _pExpr *XExpr // sqlite3.c:129291:8 112731 _ = _pExpr 112732 var _prereqLeft uint64 // sqlite3.c:129292:11 112733 _ = _prereqLeft 112734 var _prereqAll uint64 // sqlite3.c:129293:11 112735 _ = _prereqAll 112736 var _extraRight uint64 // sqlite3.c:129294:11 112737 _ = _extraRight 112738 var _pStr1 *XExpr // sqlite3.c:129295:8 112739 _ = _pStr1 112740 var _isComplete int32 // sqlite3.c:129296:7 112741 _ = _isComplete 112742 var _noCase int32 // sqlite3.c:129297:7 112743 _ = _noCase 112744 var _op int32 // sqlite3.c:129298:7 112745 _ = _op 112746 var _pParse *XParse // sqlite3.c:129299:9 112747 _ = _pParse 112748 var _db *Xsqlite3 // sqlite3.c:129300:11 112749 _ = _db 112750 var _eOp2 uint8 // sqlite3.c:129301:17 112751 _ = _eOp2 112752 var _nLeft int32 // sqlite3.c:129302:7 112753 _ = _nLeft 112754 var _7_x uint64 // sqlite3.c:129328:13 112755 _ = _7_x 112756 var _9_iCur int32 // sqlite3.c:129342:9 112757 _ = _9_iCur 112758 var _9_iColumn int32 // sqlite3.c:129342:15 112759 _ = _9_iColumn 112760 var _9_pLeft *XExpr // sqlite3.c:129343:10 112761 _ = _9_pLeft 112762 var _9_pRight *XExpr // sqlite3.c:129344:10 112763 _ = _9_pRight 112764 var _9_opMask uint16 // sqlite3.c:129345:9 112765 _ = _9_opMask 112766 var _12_pNew *XWhereTerm // sqlite3.c:129362:17 112767 _ = _12_pNew 112768 var _12_pDup *XExpr // sqlite3.c:129363:12 112769 _ = _12_pDup 112770 var _12_eExtraOp uint16 // sqlite3.c:129364:11 112771 _ = _12_eExtraOp 112772 var _13_idxNew int32 // sqlite3.c:129367:13 112773 _ = _13_idxNew 112774 var _17_pList *XExprList // sqlite3.c:129416:14 112775 _ = _17_pList 112776 var _17_i int32 // sqlite3.c:129417:9 112777 _ = _17_i 112778 var _18_pNewExpr *XExpr // sqlite3.c:129422:12 112779 _ = _18_pNewExpr 112780 var _18_idxNew int32 // sqlite3.c:129423:11 112781 _ = _18_idxNew 112782 var _20_pLeft *XExpr // sqlite3.c:129465:10 112783 _ = _20_pLeft 112784 var _20_pStr2 *XExpr // sqlite3.c:129466:10 112785 _ = _20_pStr2 112786 var _20_pNewExpr1 *XExpr // sqlite3.c:129467:10 112787 _ = _20_pNewExpr1 112788 var _20_pNewExpr2 *XExpr // sqlite3.c:129468:10 112789 _ = _20_pNewExpr2 112790 var _20_idxNew1 int32 // sqlite3.c:129469:9 112791 _ = _20_idxNew1 112792 var _20_idxNew2 int32 // sqlite3.c:129470:9 112793 _ = _20_idxNew2 112794 var _20_zCollSeqName *int8 // sqlite3.c:129471:16 112795 _ = _20_zCollSeqName 112796 var _20_wtFlags uint16 // sqlite3.c:129472:15 112797 _ = _20_wtFlags 112798 var _21_i int32 // sqlite3.c:129482:11 112799 _ = _21_i 112800 var _21_c int8 // sqlite3.c:129483:12 112801 _ = _21_c 112802 var _23_c uint8 // sqlite3.c:129492:10 112803 _ = _23_c 112804 var _23_pC *uint8 // sqlite3.c:129492:13 112805 _ = _23_pC 112806 var _26_idxNew int32 // sqlite3.c:129540:9 112807 _ = _26_idxNew 112808 var _26_pRight *XExpr // sqlite3.c:129541:10 112809 _ = _26_pRight 112810 var _26_pLeft *XExpr // sqlite3.c:129541:19 112811 _ = _26_pLeft 112812 var _26_pNewTerm *XWhereTerm // sqlite3.c:129542:15 112813 _ = _26_pNewTerm 112814 var _26_prereqColumn uint64 // sqlite3.c:129543:13 112815 _ = _26_prereqColumn 112816 var _26_prereqExpr uint64 // sqlite3.c:129543:27 112817 _ = _26_prereqExpr 112818 var _27_pNewExpr *XExpr // sqlite3.c:129550:12 112819 _ = _27_pNewExpr 112820 var _28_i int32 // sqlite3.c:129583:9 112821 _ = _28_i 112822 var _29_idxNew int32 // sqlite3.c:129585:11 112823 _ = _29_idxNew 112824 var _29_pNew *XExpr // sqlite3.c:129586:12 112825 _ = _29_pNew 112826 var _29_pLeft *XExpr // sqlite3.c:129587:12 112827 _ = _29_pLeft 112828 var _29_pRight *XExpr // sqlite3.c:129588:12 112829 _ = _29_pRight 112830 var _30_i int32 // sqlite3.c:129612:9 112831 _ = _30_i 112832 var _31_idxNew int32 // sqlite3.c:129614:11 112833 _ = _31_idxNew 112834 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pWC.X0)) 112835 _extraRight = u64(0) 112836 _pStr1 = nil 112837 _isComplete = i32(0) 112838 _noCase = i32(0) 112839 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 112840 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 112841 if (_db.X17) == 0 { 112842 goto _0 112843 } 112844 112845 return 112846 112847 _0: 112848 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 112849 _pMaskSet = (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(480 /* X22 */))) 112850 _pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 112851 func() int32 { 112852 if (int32(_pExpr.X0) != i32(24)) && (int32(_pExpr.X0) != i32(53)) { 112853 return i32(0) 112854 } 112855 return func() int32 { 112856 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129310), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108660))) 112857 crt.X__builtin_abort(tls) 112858 return i32(0) 112859 }() 112860 }() 112861 _prereqLeft = _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 112862 _op = int32(_pExpr.X0) 112863 if _op != i32(33) { 112864 goto _4 112865 } 112866 112867 func() int32 { 112868 if (*XExpr)(unsafe.Pointer(_pExpr.X5)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 112869 return i32(0) 112870 } 112871 return func() int32 { 112872 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129314), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108704))) 112873 crt.X__builtin_abort(tls) 112874 return i32(0) 112875 }() 112876 }() 112877 if _sqlite3ExprCheckIN(tls, _pParse, _pExpr) == 0 { 112878 goto _7 112879 } 112880 112881 return 112882 112883 _7: 112884 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 112885 goto _8 112886 } 112887 112888 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(32 /* X11 */))) = _exprSelectUsage(tls, _pMaskSet, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) 112889 goto _9 112890 112891 _8: 112892 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(32 /* X11 */))) = _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) 112893 _9: 112894 goto _10 112895 112896 _4: 112897 if _op != i32(34) { 112898 goto _11 112899 } 112900 112901 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(32 /* X11 */))) = uint64(i32(0)) 112902 goto _12 112903 112904 _11: 112905 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(32 /* X11 */))) = _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pExpr.X5))) 112906 _12: 112907 _10: 112908 _prereqAll = _sqlite3WhereExprUsage(tls, _pMaskSet, _pExpr) 112909 if ((_pExpr.X2) & uint32(i32(1))) == uint32(i32(0)) { 112910 goto _13 112911 } 112912 112913 _7_x = _sqlite3WhereGetMask(tls, _pMaskSet, int32(_pExpr.X11)) 112914 { 112915 p := &_prereqAll 112916 *p = (*p) | _7_x 112917 sink992 = *p 112918 } 112919 _extraRight = _7_x - uint64(i32(1)) 112920 if (_prereqAll >> uint(i32(1))) < _7_x { 112921 goto _14 112922 } 112923 112924 _sqlite3ErrorMsg(tls, _pParse, str(108724)) 112925 return 112926 112927 _14: 112928 _13: 112929 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(40 /* X12 */))) = _prereqAll 112930 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X8 */))) = i32(-1) 112931 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(16 /* X7 */))) = i32(-1) 112932 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(12 /* X4 */))) = uint16(i32(0)) 112933 if _allowedOp(tls, _op) == 0 { 112934 goto _15 112935 } 112936 112937 _9_pLeft = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 112938 _9_pRight = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) 112939 _9_opMask = uint16(func() int32 { 112940 if ((_pTerm.X11) & _prereqLeft) == uint64(i32(0)) { 112941 return i32(8191) 112942 } 112943 return i32(2048) 112944 }()) 112945 if (_pTerm.X9) <= i32(0) { 112946 goto _18 112947 } 112948 112949 func() int32 { 112950 if _op == i32(33) { 112951 return i32(0) 112952 } 112953 return func() int32 { 112954 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129348), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108768))) 112955 crt.X__builtin_abort(tls) 112956 return i32(0) 112957 }() 112958 }() 112959 func() int32 { 112960 if int32(_9_pLeft.X0) == i32(158) { 112961 return i32(0) 112962 } 112963 return func() int32 { 112964 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129349), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108780))) 112965 crt.X__builtin_abort(tls) 112966 return i32(0) 112967 }() 112968 }() 112969 _9_pLeft = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pLeft)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr((_pTerm.X9)-i32(1)))).X0)) 112970 _18: 112971 if _exprMightBeIndexed(tls, _pSrc, _op, _prereqLeft, _9_pLeft, &_9_iCur, &_9_iColumn) == 0 { 112972 goto _23 112973 } 112974 112975 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(20 /* X8 */))) = _9_iCur 112976 *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))) = _9_iColumn 112977 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(12 /* X4 */))) = uint16(int32(_operatorMask(tls, _op)) & int32(_9_opMask)) 112978 _23: 112979 if _op != i32(29) { 112980 goto _24 112981 } 112982 112983 { 112984 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 112985 *p = uint16(int32(*p) | i32(2048)) 112986 sink6908 = *p 112987 } 112988 _24: 112989 if _9_pRight == nil || _exprMightBeIndexed(tls, _pSrc, _op, _pTerm.X11, _9_pRight, &_9_iCur, &_9_iColumn) == 0 { 112990 goto _26 112991 } 112992 112993 _12_eExtraOp = u16(0) 112994 func() int32 { 112995 if (_pTerm.X9) == i32(0) { 112996 return i32(0) 112997 } 112998 return func() int32 { 112999 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129365), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108804))) 113000 crt.X__builtin_abort(tls) 113001 return i32(0) 113002 }() 113003 }() 113004 if (_pTerm.X8) < i32(0) { 113005 goto _29 113006 } 113007 113008 _12_pDup = _sqlite3ExprDup(tls, _db, _pExpr, i32(0)) 113009 if (_db.X17) == 0 { 113010 goto _30 113011 } 113012 113013 _sqlite3ExprDelete(tls, _db, _12_pDup) 113014 return 113015 113016 _30: 113017 _13_idxNew = _whereClauseInsert(tls, _pWC, _12_pDup, uint16(i32(3))) 113018 if _13_idxNew != i32(0) { 113019 goto _31 113020 } 113021 113022 return 113023 113024 _31: 113025 _12_pNew = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_13_idxNew))) 113026 _markTermAsChild(tls, _pWC, _13_idxNew, _idxTerm) 113027 if _op != i32(29) { 113028 goto _32 113029 } 113030 113031 { 113032 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(10 /* X3 */))) 113033 *p = uint16(int32(*p) | i32(2048)) 113034 sink6908 = *p 113035 } 113036 _32: 113037 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113038 { 113039 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 113040 *p = uint16(int32(*p) | i32(8)) 113041 sink6908 = *p 113042 } 113043 if _termIsEquivalence(tls, _pParse, _12_pDup) == 0 { 113044 goto _33 113045 } 113046 113047 { 113048 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(12 /* X4 */))) 113049 *p = uint16(int32(*p) | i32(2048)) 113050 sink6908 = *p 113051 } 113052 _12_eExtraOp = uint16(i32(2048)) 113053 _33: 113054 goto _34 113055 113056 _29: 113057 _12_pDup = _pExpr 113058 _12_pNew = _pTerm 113059 _34: 113060 _exprCommute(tls, _pParse, _12_pDup) 113061 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(20 /* X8 */))) = _9_iCur 113062 *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(28 /* X10 */))))) = _9_iColumn 113063 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(32 /* X11 */))) = _prereqLeft | _extraRight 113064 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(40 /* X12 */))) = _prereqAll 113065 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pNew)) + uintptr(12 /* X4 */))) = uint16((int32(_operatorMask(tls, int32(_12_pDup.X0))) + int32(_12_eExtraOp)) & int32(_9_opMask)) 113066 _26: 113067 goto _35 113068 113069 _15: 113070 if int32(_pExpr.X0) != i32(32) || int32(_pWC.X2) != i32(28) { 113071 goto _37 113072 } 113073 113074 _17_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 113075 func() int32 { 113076 if _17_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 113077 return i32(0) 113078 } 113079 return func() int32 { 113080 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129419), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(93528))) 113081 crt.X__builtin_abort(tls) 113082 return i32(0) 113083 }() 113084 }() 113085 func() int32 { 113086 if (_17_pList.X0) == i32(2) { 113087 return i32(0) 113088 } 113089 return func() int32 { 113090 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129420), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108824))) 113091 crt.X__builtin_abort(tls) 113092 return i32(0) 113093 }() 113094 }() 113095 _17_i = i32(0) 113096 _42: 113097 if _17_i >= i32(2) { 113098 goto _45 113099 } 113100 113101 _18_pNewExpr = _sqlite3PExpr(tls, _pParse, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_exprAnalyzeØ00opsØ001)) + 1*uintptr(_17_i)))), _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pExpr.X4)), i32(0)), _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_17_pList.X1)+20*uintptr(_17_i))).X0)), i32(0))) 113102 _transferJoinMarkings(tls, _18_pNewExpr, _pExpr) 113103 _18_idxNew = _whereClauseInsert(tls, _pWC, _18_pNewExpr, uint16(i32(3))) 113104 _exprAnalyze(tls, _pSrc, _pWC, _18_idxNew) 113105 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113106 _markTermAsChild(tls, _pWC, _18_idxNew, _idxTerm) 113107 _17_i += 1 113108 goto _42 113109 113110 _45: 113111 goto _46 113112 113113 _37: 113114 if int32(_pExpr.X0) != i32(27) { 113115 goto _47 113116 } 113117 113118 func() int32 { 113119 if int32(_pWC.X2) == i32(28) { 113120 return i32(0) 113121 } 113122 return func() int32 { 113123 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129442), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeØ00__func__Ø000))), unsafe.Pointer(str(108840))) 113124 crt.X__builtin_abort(tls) 113125 return i32(0) 113126 }() 113127 }() 113128 _exprAnalyzeOrTerm(tls, _pSrc, _pWC, _idxTerm) 113129 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113130 _47: 113131 _46: 113132 _35: 113133 if int32(_pWC.X2) != i32(28) || _isLikeOrGlob(tls, _pParse, _pExpr, &_pStr1, &_isComplete, &_noCase) == 0 { 113134 goto _51 113135 } 113136 113137 _20_wtFlags = u16(259) 113138 _20_pLeft = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(1)))).X0)) 113139 _20_pStr2 = _sqlite3ExprDup(tls, _db, _pStr1, i32(0)) 113140 if _noCase == 0 || ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { 113141 goto _53 113142 } 113143 113144 { 113145 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 113146 *p = uint16(int32(*p) | i32(1024)) 113147 sink6908 = *p 113148 } 113149 _21_i = i32(0) 113150 _54: 113151 if int32(store973(&_21_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pStr1)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_21_i))))) == i32(0) { 113152 goto _57 113153 } 113154 113155 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pStr1)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_21_i))) = int8(int32(_21_c) & (^(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(_21_c))))) & i32(32)))) 113156 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pStr2)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_21_i))) = int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(_21_c))))) 113157 _21_i += 1 113158 goto _54 113159 113160 _57: 113161 _53: 113162 if (_db.X17) != 0 { 113163 goto _58 113164 } 113165 113166 _23_pC = (*uint8)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pStr2)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pStr2)) + uintptr(8 /* X3 */))))))-i32(1)))))) 113167 _23_c = *_23_pC 113168 if _noCase == 0 { 113169 goto _59 113170 } 113171 113172 if int32(_23_c) != i32(64) { 113173 goto _60 113174 } 113175 113176 _isComplete = i32(0) 113177 _60: 113178 _23_c = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(_23_c))) 113179 _59: 113180 *_23_pC = uint8(int32(_23_c) + i32(1)) 113181 _58: 113182 _20_zCollSeqName = func() *int8 { 113183 if _noCase != 0 { 113184 return str(108856) 113185 } 113186 return str(39896) 113187 }() 113188 _20_pNewExpr1 = _sqlite3ExprDup(tls, _db, _20_pLeft, i32(0)) 113189 _20_pNewExpr1 = _sqlite3PExpr(tls, _pParse, i32(41), _sqlite3ExprAddCollateString(tls, _pParse, _20_pNewExpr1, _20_zCollSeqName), _pStr1) 113190 _transferJoinMarkings(tls, _20_pNewExpr1, _pExpr) 113191 _20_idxNew1 = _whereClauseInsert(tls, _pWC, _20_pNewExpr1, _20_wtFlags) 113192 _exprAnalyze(tls, _pSrc, _pWC, _20_idxNew1) 113193 _20_pNewExpr2 = _sqlite3ExprDup(tls, _db, _20_pLeft, i32(0)) 113194 _20_pNewExpr2 = _sqlite3PExpr(tls, _pParse, i32(40), _sqlite3ExprAddCollateString(tls, _pParse, _20_pNewExpr2, _20_zCollSeqName), _20_pStr2) 113195 _transferJoinMarkings(tls, _20_pNewExpr2, _pExpr) 113196 _20_idxNew2 = _whereClauseInsert(tls, _pWC, _20_pNewExpr2, _20_wtFlags) 113197 _exprAnalyze(tls, _pSrc, _pWC, _20_idxNew2) 113198 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113199 if _isComplete == 0 { 113200 goto _63 113201 } 113202 113203 _markTermAsChild(tls, _pWC, _20_idxNew1, _idxTerm) 113204 _markTermAsChild(tls, _pWC, _20_idxNew2, _idxTerm) 113205 _63: 113206 _51: 113207 if int32(_pWC.X2) != i32(28) || _isMatchOfColumn(tls, _pExpr, &_eOp2) == 0 { 113208 goto _65 113209 } 113210 113211 _26_pRight = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(0)))).X0)) 113212 _26_pLeft = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(1)))).X0)) 113213 _26_prereqExpr = _sqlite3WhereExprUsage(tls, _pMaskSet, _26_pRight) 113214 _26_prereqColumn = _sqlite3WhereExprUsage(tls, _pMaskSet, _26_pLeft) 113215 if (_26_prereqExpr & _26_prereqColumn) != uint64(i32(0)) { 113216 goto _66 113217 } 113218 113219 _27_pNewExpr = _sqlite3PExpr(tls, _pParse, i32(30), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3ExprDup(tls, _db, _26_pRight, i32(0))) 113220 _26_idxNew = _whereClauseInsert(tls, _pWC, _27_pNewExpr, uint16(i32(3))) 113221 _26_pNewTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_26_idxNew))) 113222 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(32 /* X11 */))) = _26_prereqExpr 113223 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(20 /* X8 */))) = _26_pLeft.X8 113224 *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(28 /* X10 */))))) = int32(_26_pLeft.X9) 113225 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(12 /* X4 */))) = uint16(i32(64)) 113226 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(15 /* X6 */))) = _eOp2 113227 _markTermAsChild(tls, _pWC, _26_idxNew, _idxTerm) 113228 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113229 { 113230 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 113231 *p = uint16(int32(*p) | i32(8)) 113232 sink6908 = *p 113233 } 113234 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pNewTerm)) + uintptr(40 /* X12 */))) = _pTerm.X12 113235 _66: 113236 _65: 113237 if int32(_pWC.X2) != i32(28) || int32(_pExpr.X0) != i32(37) && int32(_pExpr.X0) != i32(29) || store961(&_nLeft, _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4)))) <= i32(1) || _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) != _nLeft || (((*XExpr)(unsafe.Pointer(_pExpr.X4)).X2)&uint32(i32(2048))) != uint32(i32(0)) && (((*XExpr)(unsafe.Pointer(_pExpr.X5)).X2)&uint32(i32(2048))) != uint32(i32(0)) { 113238 goto _73 113239 } 113240 113241 _28_i = i32(0) 113242 _74: 113243 if _28_i >= _nLeft { 113244 goto _77 113245 } 113246 113247 _29_pLeft = _sqlite3ExprForVectorField(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), _28_i) 113248 _29_pRight = _sqlite3ExprForVectorField(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _28_i) 113249 _29_pNew = _sqlite3PExpr(tls, _pParse, int32(_pExpr.X0), _29_pLeft, _29_pRight) 113250 _transferJoinMarkings(tls, _29_pNew, _pExpr) 113251 _29_idxNew = _whereClauseInsert(tls, _pWC, _29_pNew, uint16(i32(1))) 113252 _exprAnalyze(tls, _pSrc, _pWC, _29_idxNew) 113253 _28_i += 1 113254 goto _74 113255 113256 _77: 113257 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113258 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) = uint16(i32(6)) 113259 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(12 /* X4 */))) = uint16(i32(0)) 113260 _73: 113261 if int32(_pWC.X2) != i32(28) || int32(_pExpr.X0) != i32(33) || (_pTerm.X9) != i32(0) || int32((*XExpr)(unsafe.Pointer(_pExpr.X4)).X0) != i32(158) || (*XSelect)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 113262 goto _82 113263 } 113264 113265 _30_i = i32(0) 113266 _83: 113267 if _30_i >= _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) { 113268 goto _86 113269 } 113270 113271 _31_idxNew = _whereClauseInsert(tls, _pWC, _pExpr, uint16(i32(2))) 113272 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_31_idxNew))))) + uintptr(24 /* X9 */))) = _30_i + i32(1) 113273 _exprAnalyze(tls, _pSrc, _pWC, _31_idxNew) 113274 _markTermAsChild(tls, _pWC, _31_idxNew, _idxTerm) 113275 _30_i += 1 113276 goto _83 113277 113278 _86: 113279 _82: 113280 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 113281 { 113282 p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(32 /* X11 */))) 113283 *p = (*p) | _extraRight 113284 sink992 = *p 113285 } 113286 return 113287 113288 } 113289 113290 var _exprAnalyzeØ00__func__Ø000 [12]int8 // - 113291 113292 func init() { 113293 crt.Xstrncpy(nil, &_exprAnalyzeØ00__func__Ø000[0], str(108864), 12) 113294 } 113295 113296 func _sqlite3WhereExprUsage(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _p *XExpr) (r0 uint64) { // sqlite3.c:129746:1 113297 var _mask uint64 // sqlite3.c:129747:11 113298 _ = _mask 113299 if _p != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 113300 goto _0 113301 } 113302 113303 r0 = uint64(i32(0)) 113304 return 113305 113306 _0: 113307 if int32(_p.X0) != i32(152) { 113308 goto _1 113309 } 113310 113311 _mask = _sqlite3WhereGetMask(tls, _pMaskSet, _p.X8) 113312 r0 = _mask 113313 return 113314 113315 _1: 113316 func() int32 { 113317 if ((_p.X2) & uint32(i32(16384))) == uint32(i32(0)) { 113318 return i32(0) 113319 } 113320 return func() int32 { 113321 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129753), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereExprUsageØ00__func__Ø000))), unsafe.Pointer(str(108876))) 113322 crt.X__builtin_abort(tls) 113323 return i32(0) 113324 }() 113325 }() 113326 _mask = func() uint64 { 113327 if (*XExpr)(unsafe.Pointer(_p.X5)) != nil { 113328 return _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_p.X5))) 113329 } 113330 return uint64(i32(0)) 113331 }() 113332 if (*XExpr)(unsafe.Pointer(_p.X4)) == nil { 113333 goto _6 113334 } 113335 113336 { 113337 p := &_mask 113338 *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_p.X4))) 113339 sink992 = *p 113340 } 113341 _6: 113342 if ((_p.X2) & uint32(i32(2048))) == uint32(i32(0)) { 113343 goto _7 113344 } 113345 113346 { 113347 p := &_mask 113348 *p = (*p) | _exprSelectUsage(tls, _pMaskSet, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */)))))))) 113349 sink992 = *p 113350 } 113351 goto _8 113352 113353 _7: 113354 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) == nil { 113355 goto _9 113356 } 113357 113358 { 113359 p := &_mask 113360 *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */)))))))) 113361 sink992 = *p 113362 } 113363 _9: 113364 _8: 113365 r0 = _mask 113366 return 113367 113368 } 113369 113370 var _sqlite3WhereExprUsageØ00__func__Ø000 [22]int8 // - 113371 113372 func init() { 113373 crt.Xstrncpy(nil, &_sqlite3WhereExprUsageØ00__func__Ø000[0], str(108912), 22) 113374 } 113375 113376 func _exprSelectUsage(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _pS *XSelect) (r0 uint64) { // sqlite3.c:129186:1 113377 var _mask uint64 // sqlite3.c:129187:11 113378 _ = _mask 113379 var _1_pSrc *XSrcList // sqlite3.c:129189:13 113380 _ = _1_pSrc 113381 var _2_i int32 // sqlite3.c:129196:11 113382 _ = _2_i 113383 _mask = u64(0) 113384 _0: 113385 if _pS == nil { 113386 goto _1 113387 } 113388 113389 _1_pSrc = (*XSrcList)(unsafe.Pointer(_pS.X8)) 113390 { 113391 p := &_mask 113392 *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_pS.X0))) 113393 sink992 = *p 113394 } 113395 { 113396 p := &_mask 113397 *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_pS.X10))) 113398 sink992 = *p 113399 } 113400 { 113401 p := &_mask 113402 *p = (*p) | _sqlite3WhereExprListUsage(tls, _pMaskSet, (*XExprList)(unsafe.Pointer(_pS.X12))) 113403 sink992 = *p 113404 } 113405 { 113406 p := &_mask 113407 *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pS.X9))) 113408 sink992 = *p 113409 } 113410 { 113411 p := &_mask 113412 *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer(_pS.X11))) 113413 sink992 = *p 113414 } 113415 if func() int32 { 113416 if _1_pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 113417 return i32(1) 113418 } 113419 return func() int32 { 113420 func() int32 { 113421 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129195), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprSelectUsageØ00__func__Ø000))), unsafe.Pointer(str(5204))) 113422 crt.X__builtin_abort(tls) 113423 return i32(0) 113424 }() 113425 return i32(0) 113426 }() 113427 }() == 0 { 113428 goto _4 113429 } 113430 113431 _2_i = i32(0) 113432 _5: 113433 if _2_i >= (_1_pSrc.X0) { 113434 goto _8 113435 } 113436 113437 { 113438 p := &_mask 113439 *p = (*p) | _exprSelectUsage(tls, _pMaskSet, (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 113440 X0 unsafe.Pointer 113441 X1 *int8 113442 X2 *int8 113443 X3 *int8 113444 X4 unsafe.Pointer 113445 X5 unsafe.Pointer 113446 X6 int32 113447 X7 int32 113448 X8 int32 113449 X9 struct { 113450 X0 uint8 113451 X1 int8 113452 } 113453 X10 uint8 113454 X11 int32 113455 X12 unsafe.Pointer 113456 X13 unsafe.Pointer 113457 X14 uint64 113458 X15 struct { 113459 X [0]struct { 113460 X0 *int8 113461 X1 unsafe.Pointer 113462 } 113463 U [4]byte 113464 } 113465 X16 unsafe.Pointer 113466 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_2_i))).X5))) 113467 sink992 = *p 113468 } 113469 { 113470 p := &_mask 113471 *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 113472 X0 unsafe.Pointer 113473 X1 *int8 113474 X2 *int8 113475 X3 *int8 113476 X4 unsafe.Pointer 113477 X5 unsafe.Pointer 113478 X6 int32 113479 X7 int32 113480 X8 int32 113481 X9 struct { 113482 X0 uint8 113483 X1 int8 113484 } 113485 X10 uint8 113486 X11 int32 113487 X12 unsafe.Pointer 113488 X13 unsafe.Pointer 113489 X14 uint64 113490 X15 struct { 113491 X [0]struct { 113492 X0 *int8 113493 X1 unsafe.Pointer 113494 } 113495 U [4]byte 113496 } 113497 X16 unsafe.Pointer 113498 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(_2_i))).X12))) 113499 sink992 = *p 113500 } 113501 _2_i += 1 113502 goto _5 113503 113504 _8: 113505 _4: 113506 _pS = (*XSelect)(unsafe.Pointer(_pS.X13)) 113507 goto _0 113508 113509 _1: 113510 r0 = _mask 113511 return 113512 113513 } 113514 113515 func _sqlite3WhereExprListUsage(tls *crt.TLS, _pMaskSet *XWhereMaskSet, _pList *XExprList) (r0 uint64) { // sqlite3.c:129763:1 113516 var _i int32 // sqlite3.c:129764:7 113517 _ = _i 113518 var _mask uint64 // sqlite3.c:129765:11 113519 _ = _mask 113520 _mask = u64(0) 113521 if _pList == nil { 113522 goto _0 113523 } 113524 113525 _i = i32(0) 113526 _1: 113527 if _i >= (_pList.X0) { 113528 goto _4 113529 } 113530 113531 { 113532 p := &_mask 113533 *p = (*p) | _sqlite3WhereExprUsage(tls, _pMaskSet, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X0))) 113534 sink992 = *p 113535 } 113536 _i += 1 113537 goto _1 113538 113539 _4: 113540 _0: 113541 r0 = _mask 113542 return 113543 113544 } 113545 113546 var _exprSelectUsageØ00__func__Ø000 [16]int8 // - 113547 113548 func init() { 113549 crt.Xstrncpy(nil, &_exprSelectUsageØ00__func__Ø000[0], str(108936), 16) 113550 } 113551 113552 func _allowedOp(tls *crt.TLS, _op int32) (r0 int32) { // sqlite3.c:128479:1 113553 i32(0) 113554 i32(0) 113555 i32(0) 113556 i32(0) 113557 r0 = bool2int((((_op == i32(33)) || ((_op >= i32(37)) && (_op <= i32(41)))) || (_op == i32(34))) || (_op == i32(29))) 113558 return 113559 113560 } 113561 113562 func _exprMightBeIndexed(tls *crt.TLS, _pFrom *XSrcList, _op int32, _mPrereq uint64, _pExpr *XExpr, _piCur *int32, _piColumn *int32) (r0 int32) { // sqlite3.c:129220:1 113563 var _pIdx *XIndex // sqlite3.c:129228:9 113564 _ = _pIdx 113565 var _i int32 // sqlite3.c:129229:7 113566 _ = _i 113567 var _iCur int32 // sqlite3.c:129230:7 113568 _ = _iCur 113569 i32(0) 113570 i32(0) 113571 func() int32 { 113572 if _op <= i32(41) { 113573 return i32(0) 113574 } 113575 return func() int32 { 113576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129237), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprMightBeIndexedØ00__func__Ø000))), unsafe.Pointer(str(108952))) 113577 crt.X__builtin_abort(tls) 113578 return i32(0) 113579 }() 113580 }() 113581 if int32(_pExpr.X0) != i32(158) || (_op < i32(38) || func() int32 { 113582 if _op <= i32(41) { 113583 return i32(1) 113584 } 113585 return func() int32 { 113586 func() int32 { 113587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129238), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprMightBeIndexedØ00__func__Ø000))), unsafe.Pointer(str(5204))) 113588 crt.X__builtin_abort(tls) 113589 return i32(0) 113590 }() 113591 return i32(0) 113592 }() 113593 }() == 0) { 113594 goto _6 113595 } 113596 113597 _pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(i32(0)))).X0)) 113598 _6: 113599 if int32(_pExpr.X0) != i32(152) { 113600 goto _7 113601 } 113602 113603 *_piCur = _pExpr.X8 113604 *_piColumn = int32(_pExpr.X9) 113605 r0 = i32(1) 113606 return 113607 113608 _7: 113609 if _mPrereq != uint64(i32(0)) { 113610 goto _8 113611 } 113612 113613 r0 = i32(0) 113614 return 113615 113616 _8: 113617 if (_mPrereq & (_mPrereq - uint64(i32(1)))) == uint64(i32(0)) { 113618 goto _9 113619 } 113620 113621 r0 = i32(0) 113622 return 113623 113624 _9: 113625 _i = i32(0) 113626 _10: 113627 if _mPrereq <= uint64(i32(1)) { 113628 goto _13 113629 } 113630 113631 { 113632 p := func() *uint64 { _i += 1; return &_mPrereq }() 113633 *p = (*p) >> uint(i32(1)) 113634 sink992 = *p 113635 } 113636 goto _10 113637 113638 _13: 113639 _iCur = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 113640 X0 unsafe.Pointer 113641 X1 *int8 113642 X2 *int8 113643 X3 *int8 113644 X4 unsafe.Pointer 113645 X5 unsafe.Pointer 113646 X6 int32 113647 X7 int32 113648 X8 int32 113649 X9 struct { 113650 X0 uint8 113651 X1 int8 113652 } 113653 X10 uint8 113654 X11 int32 113655 X12 unsafe.Pointer 113656 X13 unsafe.Pointer 113657 X14 uint64 113658 X15 struct { 113659 X [0]struct { 113660 X0 *int8 113661 X1 unsafe.Pointer 113662 } 113663 U [4]byte 113664 } 113665 X16 unsafe.Pointer 113666 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))).X11 113667 _pIdx = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 113668 X0 unsafe.Pointer 113669 X1 *int8 113670 X2 *int8 113671 X3 *int8 113672 X4 unsafe.Pointer 113673 X5 unsafe.Pointer 113674 X6 int32 113675 X7 int32 113676 X8 int32 113677 X9 struct { 113678 X0 uint8 113679 X1 int8 113680 } 113681 X10 uint8 113682 X11 int32 113683 X12 unsafe.Pointer 113684 X13 unsafe.Pointer 113685 X14 uint64 113686 X15 struct { 113687 X [0]struct { 113688 X0 *int8 113689 X1 unsafe.Pointer 113690 } 113691 U [4]byte 113692 } 113693 X16 unsafe.Pointer 113694 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */))))) + 68*uintptr(_i))).X4)).X2)) 113695 _14: 113696 if _pIdx == nil { 113697 goto _17 113698 } 113699 113700 if (*XExprList)(unsafe.Pointer(_pIdx.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 113701 goto _18 113702 } 113703 113704 goto _15 113705 113706 _18: 113707 _i = i32(0) 113708 _19: 113709 if _i >= int32(_pIdx.X13) { 113710 goto _22 113711 } 113712 113713 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) == i32(-2) { 113714 goto _23 113715 } 113716 113717 goto _20 113718 113719 _23: 113720 if _sqlite3ExprCompareSkip(tls, _pExpr, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+20*uintptr(_i))).X0)), _iCur) != i32(0) { 113721 goto _24 113722 } 113723 113724 *_piCur = _iCur 113725 *_piColumn = i32(-2) 113726 r0 = i32(1) 113727 return 113728 113729 _24: 113730 _20: 113731 _i += 1 113732 goto _19 113733 113734 _22: 113735 _15: 113736 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 113737 goto _14 113738 113739 _17: 113740 r0 = i32(0) 113741 return 113742 113743 } 113744 113745 var _exprMightBeIndexedØ00__func__Ø000 [19]int8 // - 113746 113747 func init() { 113748 crt.Xstrncpy(nil, &_exprMightBeIndexedØ00__func__Ø000[0], str(108964), 19) 113749 } 113750 113751 func _sqlite3ExprCompareSkip(tls *crt.TLS, _pA *XExpr, _pB *XExpr, _iTab int32) (r0 int32) { // sqlite3.c:95421:1 113752 r0 = _sqlite3ExprCompare(tls, _sqlite3ExprSkipCollate(tls, _pA), _sqlite3ExprSkipCollate(tls, _pB), _iTab) 113753 return 113754 113755 } 113756 113757 func _operatorMask(tls *crt.TLS, _op int32) (r0 uint16) { // sqlite3.c:128530:1 113758 var _c uint16 // sqlite3.c:128531:7 113759 _ = _c 113760 func() int32 { 113761 if _allowedOp(tls, _op) != 0 { 113762 return i32(0) 113763 } 113764 return func() int32 { 113765 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128532), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(108984))) 113766 crt.X__builtin_abort(tls) 113767 return i32(0) 113768 }() 113769 }() 113770 if _op != i32(33) { 113771 goto _2 113772 } 113773 113774 _c = uint16(i32(1)) 113775 goto _3 113776 113777 _2: 113778 if _op != i32(34) { 113779 goto _4 113780 } 113781 113782 _c = uint16(i32(256)) 113783 goto _5 113784 113785 _4: 113786 if _op != i32(29) { 113787 goto _6 113788 } 113789 113790 _c = uint16(i32(128)) 113791 goto _7 113792 113793 _6: 113794 func() int32 { 113795 if (i32(2) << uint(_op-i32(37))) < i32(32767) { 113796 return i32(0) 113797 } 113798 return func() int32 { 113799 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128540), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109000))) 113800 crt.X__builtin_abort(tls) 113801 return i32(0) 113802 }() 113803 }() 113804 _c = uint16(i32(2) << uint(_op-i32(37))) 113805 _7: 113806 _5: 113807 _3: 113808 func() int32 { 113809 if (_op != i32(34)) || (int32(_c) == i32(256)) { 113810 return i32(0) 113811 } 113812 return func() int32 { 113813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128543), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109032))) 113814 crt.X__builtin_abort(tls) 113815 return i32(0) 113816 }() 113817 }() 113818 func() int32 { 113819 if (_op != i32(33)) || (int32(_c) == i32(1)) { 113820 return i32(0) 113821 } 113822 return func() int32 { 113823 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128544), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109064))) 113824 crt.X__builtin_abort(tls) 113825 return i32(0) 113826 }() 113827 }() 113828 func() int32 { 113829 if (_op != i32(37)) || (int32(_c) == i32(2)) { 113830 return i32(0) 113831 } 113832 return func() int32 { 113833 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128545), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109088))) 113834 crt.X__builtin_abort(tls) 113835 return i32(0) 113836 }() 113837 }() 113838 func() int32 { 113839 if (_op != i32(40)) || (int32(_c) == i32(16)) { 113840 return i32(0) 113841 } 113842 return func() int32 { 113843 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128546), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109112))) 113844 crt.X__builtin_abort(tls) 113845 return i32(0) 113846 }() 113847 }() 113848 func() int32 { 113849 if (_op != i32(39)) || (int32(_c) == i32(8)) { 113850 return i32(0) 113851 } 113852 return func() int32 { 113853 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128547), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109136))) 113854 crt.X__builtin_abort(tls) 113855 return i32(0) 113856 }() 113857 }() 113858 func() int32 { 113859 if (_op != i32(38)) || (int32(_c) == i32(4)) { 113860 return i32(0) 113861 } 113862 return func() int32 { 113863 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128548), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109160))) 113864 crt.X__builtin_abort(tls) 113865 return i32(0) 113866 }() 113867 }() 113868 func() int32 { 113869 if (_op != i32(41)) || (int32(_c) == i32(32)) { 113870 return i32(0) 113871 } 113872 return func() int32 { 113873 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128549), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109184))) 113874 crt.X__builtin_abort(tls) 113875 return i32(0) 113876 }() 113877 }() 113878 func() int32 { 113879 if (_op != i32(29)) || (int32(_c) == i32(128)) { 113880 return i32(0) 113881 } 113882 return func() int32 { 113883 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128550), unsafe.Pointer((*int8)(unsafe.Pointer(&_operatorMaskØ00__func__Ø000))), unsafe.Pointer(str(109208))) 113884 crt.X__builtin_abort(tls) 113885 return i32(0) 113886 }() 113887 }() 113888 r0 = _c 113889 return 113890 113891 } 113892 113893 var _operatorMaskØ00__func__Ø000 [13]int8 // - 113894 113895 func init() { 113896 crt.Xstrncpy(nil, &_operatorMaskØ00__func__Ø000[0], str(109232), 13) 113897 } 113898 113899 func _markTermAsChild(tls *crt.TLS, _pWC *XWhereClause, _iChild int32, _iParent int32) { // sqlite3.c:128728:1 113900 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_iChild))))) + uintptr(16 /* X7 */))) = _iParent 113901 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_iChild))))) + uintptr(8 /* X2 */))) = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_iParent))).X2 113902 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_iParent))))) + uintptr(14 /* X5 */))) += 1 113903 return 113904 113905 } 113906 113907 func _termIsEquivalence(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) (r0 int32) { // sqlite3.c:129158:1 113908 var _aff1 int8 // sqlite3.c:129159:8 113909 _ = _aff1 113910 var _aff2 int8 // sqlite3.c:129159:14 113911 _ = _aff2 113912 var _pColl *XCollSeq // sqlite3.c:129160:11 113913 _ = _pColl 113914 var _zColl1 *int8 // sqlite3.c:129161:14 113915 _ = _zColl1 113916 var _zColl2 *int8 // sqlite3.c:129161:23 113917 _ = _zColl2 113918 if (int32((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X13) & i32(512)) == i32(0) { 113919 goto _0 113920 } 113921 113922 r0 = i32(0) 113923 return 113924 113925 _0: 113926 if int32(_pExpr.X0) == i32(37) || int32(_pExpr.X0) == i32(29) { 113927 goto _2 113928 } 113929 113930 r0 = i32(0) 113931 return 113932 113933 _2: 113934 if ((_pExpr.X2) & uint32(i32(1))) == uint32(i32(0)) { 113935 goto _3 113936 } 113937 113938 r0 = i32(0) 113939 return 113940 113941 _3: 113942 _aff1 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 113943 _aff2 = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5))) 113944 if int32(_aff1) == int32(_aff2) || int32(_aff1) >= i32(67) && int32(_aff2) >= i32(67) { 113945 goto _6 113946 } 113947 113948 r0 = i32(0) 113949 return 113950 113951 _6: 113952 _pColl = _sqlite3BinaryCompareCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4)), (*XExpr)(unsafe.Pointer(_pExpr.X5))) 113953 if _pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3StrICmp(tls, _pColl.X0, str(39896)) != i32(0) { 113954 goto _8 113955 } 113956 113957 r0 = i32(1) 113958 return 113959 113960 _8: 113961 _pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 113962 _zColl1 = func() *int8 { 113963 if _pColl != nil { 113964 return (_pColl.X0) 113965 } 113966 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 113967 }() 113968 _pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X5))) 113969 _zColl2 = func() *int8 { 113970 if _pColl != nil { 113971 return (_pColl.X0) 113972 } 113973 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 113974 }() 113975 r0 = bool2int(Xsqlite3_stricmp(tls, _zColl1, _zColl2) == i32(0)) 113976 return 113977 113978 } 113979 113980 func _exprCommute(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr) { // sqlite3.c:128499:1 113981 var _expRight uint16 // sqlite3.c:128500:7 113982 _ = _expRight 113983 var _expLeft uint16 // sqlite3.c:128501:7 113984 _ = _expLeft 113985 var _4_t *XExpr // sqlite3.c:128516:12 113986 _ = _4_t 113987 _expRight = uint16(((*XExpr)(unsafe.Pointer(_pExpr.X5)).X2) & uint32(i32(256))) 113988 _expLeft = uint16(((*XExpr)(unsafe.Pointer(_pExpr.X4)).X2) & uint32(i32(256))) 113989 func() int32 { 113990 if _allowedOp(tls, int32(_pExpr.X0)) != 0 && (int32(_pExpr.X0) != i32(33)) { 113991 return i32(0) 113992 } 113993 return func() int32 { 113994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128502), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprCommuteØ00__func__Ø000))), unsafe.Pointer(str(109248))) 113995 crt.X__builtin_abort(tls) 113996 return i32(0) 113997 }() 113998 }() 113999 if int32(_expRight) != int32(_expLeft) { 114000 goto _3 114001 } 114002 114003 if _expRight == 0 { 114004 goto _4 114005 } 114006 114007 { 114008 p := (*uint32)(unsafe.Pointer(uintptr(_pExpr.X5) + uintptr(4 /* X2 */))) 114009 *p = (*p) & uint32(i32(-257)) 114010 sink985 = *p 114011 } 114012 goto _5 114013 114014 _4: 114015 if _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_pExpr.X4))) == (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 114016 goto _6 114017 } 114018 114019 { 114020 p := (*uint32)(unsafe.Pointer(uintptr(_pExpr.X4) + uintptr(4 /* X2 */))) 114021 *p = (*p) | uint32(i32(256)) 114022 sink985 = *p 114023 } 114024 _6: 114025 _5: 114026 _3: 114027 _4_t = (*XExpr)(unsafe.Pointer(_pExpr.X5)) 114028 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(16 /* X5 */))))) = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 114029 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(12 /* X4 */))))) = _4_t 114030 if int32(_pExpr.X0) < i32(38) { 114031 goto _7 114032 } 114033 114034 i32(0) 114035 i32(0) 114036 i32(0) 114037 i32(0) 114038 func() int32 { 114039 if (int32(_pExpr.X0) >= i32(38)) && (int32(_pExpr.X0) <= i32(41)) { 114040 return i32(0) 114041 } 114042 return func() int32 { 114043 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128522), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprCommuteØ00__func__Ø000))), unsafe.Pointer(str(109292))) 114044 crt.X__builtin_abort(tls) 114045 return i32(0) 114046 }() 114047 }() 114048 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(((int32(_pExpr.X0) - i32(38)) ^ i32(2)) + i32(38)) 114049 _7: 114050 return 114051 114052 } 114053 114054 var _exprCommuteØ00__func__Ø000 [12]int8 // - 114055 114056 func init() { 114057 crt.Xstrncpy(nil, &_exprCommuteØ00__func__Ø000[0], str(109332), 12) 114058 } 114059 114060 var _exprAnalyzeØ00opsØ001 [2]uint8 // sqlite3.c:129418:21 114061 114062 func init() { 114063 _exprAnalyzeØ00opsØ001 = [2]uint8{41, 39} 114064 } 114065 114066 func _transferJoinMarkings(tls *crt.TLS, _pDerived *XExpr, _pBase *XExpr) { // sqlite3.c:128718:1 114067 if _pDerived == nil { 114068 goto _0 114069 } 114070 114071 { 114072 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDerived)) + uintptr(4 /* X2 */))) 114073 *p = (*p) | ((_pBase.X2) & uint32(i32(1))) 114074 sink985 = *p 114075 } 114076 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDerived)) + uintptr(36 /* X11 */))) = _pBase.X11 114077 _0: 114078 return 114079 114080 } 114081 114082 func _exprAnalyzeOrTerm(tls *crt.TLS, _pSrc *XSrcList, _pWC *XWhereClause, _idxTerm int32) { // sqlite3.c:128895:1 114083 var _pWInfo *XWhereInfo // sqlite3.c:128900:13 114084 _ = _pWInfo 114085 var _pParse *XParse // sqlite3.c:128901:9 114086 _ = _pParse 114087 var _db *Xsqlite3 // sqlite3.c:128902:11 114088 _ = _db 114089 var _pTerm *XWhereTerm // sqlite3.c:128903:13 114090 _ = _pTerm 114091 var _pExpr *XExpr // sqlite3.c:128904:8 114092 _ = _pExpr 114093 var _i int32 // sqlite3.c:128905:7 114094 _ = _i 114095 var _pOrWc *XWhereClause // sqlite3.c:128906:15 114096 _ = _pOrWc 114097 var _pOrTerm *XWhereTerm // sqlite3.c:128907:13 114098 _ = _pOrTerm 114099 var _pOrInfo *XWhereOrInfo // sqlite3.c:128908:15 114100 _ = _pOrInfo 114101 var _chngToIN uint64 // sqlite3.c:128909:11 114102 _ = _chngToIN 114103 var _indexable uint64 // sqlite3.c:128910:11 114104 _ = _indexable 114105 var _2_pAndInfo *XWhereAndInfo // sqlite3.c:128937:20 114106 _ = _2_pAndInfo 114107 var _3_pAndWC *XWhereClause // sqlite3.c:128942:21 114108 _ = _3_pAndWC 114109 var _3_pAndTerm *XWhereTerm // sqlite3.c:128943:19 114110 _ = _3_pAndTerm 114111 var _3_j int32 // sqlite3.c:128944:13 114112 _ = _3_j 114113 var _3_b uint64 // sqlite3.c:128945:17 114114 _ = _3_b 114115 var _8_b uint64 // sqlite3.c:128971:15 114116 _ = _8_b 114117 var _9_pOther *XWhereTerm // sqlite3.c:128974:19 114118 _ = _9_pOther 114119 var _12_iOne int32 // sqlite3.c:128996:9 114120 _ = _12_iOne 114121 var _12_pOne *XWhereTerm // sqlite3.c:128997:15 114122 _ = _12_pOne 114123 var _13_iTwo int32 // sqlite3.c:128999:11 114124 _ = _13_iTwo 114125 var _13_pTwo *XWhereTerm // sqlite3.c:129000:17 114126 _ = _13_pTwo 114127 var _15_okToChngToIN int32 // sqlite3.c:129029:9 114128 _ = _15_okToChngToIN 114129 var _15_iColumn int32 // sqlite3.c:129030:9 114130 _ = _15_iColumn 114131 var _15_iCursor int32 // sqlite3.c:129031:9 114132 _ = _15_iCursor 114133 var _15_j int32 // sqlite3.c:129032:9 114134 _ = _15_j 114135 var _24_affLeft int32 // sqlite3.c:129086:15 114136 _ = _24_affLeft 114137 var _24_affRight int32 // sqlite3.c:129086:24 114138 _ = _24_affRight 114139 var _27_pDup *XExpr // sqlite3.c:129107:12 114140 _ = _27_pDup 114141 var _27_pList *XExprList // sqlite3.c:129108:16 114142 _ = _27_pList 114143 var _27_pLeft *XExpr // sqlite3.c:129109:12 114144 _ = _27_pLeft 114145 var _27_pNew *XExpr // sqlite3.c:129110:12 114146 _ = _27_pNew 114147 var _29_idxNew int32 // sqlite3.c:129125:13 114148 _ = _29_idxNew 114149 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pWC.X0)) 114150 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 114151 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 114152 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 114153 _pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 114154 func() int32 { 114155 if (int32(_pTerm.X3) & i32(49)) == i32(0) { 114156 return i32(0) 114157 } 114158 return func() int32 { 114159 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128917), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109344))) 114160 crt.X__builtin_abort(tls) 114161 return i32(0) 114162 }() 114163 }() 114164 func() int32 { 114165 if int32(_pExpr.X0) == i32(27) { 114166 return i32(0) 114167 } 114168 return func() int32 { 114169 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128918), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109408))) 114170 crt.X__builtin_abort(tls) 114171 return i32(0) 114172 }() 114173 }() 114174 *(**XWhereOrInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))))) = store8905652(&_pOrInfo, (*XWhereOrInfo)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(416)))))) 114175 if _pOrInfo != (*XWhereOrInfo)(unsafe.Pointer(uintptr(i32(0)))) { 114176 goto _4 114177 } 114178 114179 return 114180 114181 _4: 114182 { 114183 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 114184 *p = uint16(int32(*p) | i32(16)) 114185 sink6908 = *p 114186 } 114187 _pOrWc = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrInfo)) + uintptr(0 /* X0 */))) 114188 crt.Xmemset(tls, (unsafe.Pointer)((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrWc))+uintptr(24 /* X6 */)))), i32(0), u32(384)) 114189 _sqlite3WhereClauseInit(tls, _pOrWc, _pWInfo) 114190 _sqlite3WhereSplit(tls, _pOrWc, _pExpr, uint8(i32(27))) 114191 _sqlite3WhereExprAnalyze(tls, _pSrc, _pOrWc) 114192 if (_db.X17) == 0 { 114193 goto _5 114194 } 114195 114196 return 114197 114198 _5: 114199 func() int32 { 114200 if (_pOrWc.X3) >= i32(2) { 114201 return i32(0) 114202 } 114203 return func() int32 { 114204 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128928), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109428))) 114205 crt.X__builtin_abort(tls) 114206 return i32(0) 114207 }() 114208 }() 114209 _indexable = u64(18446744073709551615) 114210 _chngToIN = u64(18446744073709551615) 114211 *func() **XWhereTerm { _i = (_pOrWc.X3) - i32(1); return &_pOrTerm }() = (*XWhereTerm)(unsafe.Pointer(_pOrWc.X5)) 114212 _8: 114213 if _i < i32(0) || _indexable == 0 { 114214 goto _12 114215 } 114216 114217 if (int32(_pOrTerm.X4) & i32(511)) != i32(0) { 114218 goto _13 114219 } 114220 114221 func() int32 { 114222 if (int32(_pOrTerm.X3) & i32(48)) == i32(0) { 114223 return i32(0) 114224 } 114225 return func() int32 { 114226 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128938), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109444))) 114227 crt.X__builtin_abort(tls) 114228 return i32(0) 114229 }() 114230 }() 114231 _chngToIN = uint64(i32(0)) 114232 _2_pAndInfo = (*XWhereAndInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(408))))) 114233 if _2_pAndInfo == nil { 114234 goto _16 114235 } 114236 114237 _3_b = uint64(i32(0)) 114238 *(**XWhereAndInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(28 /* X10 */))))))) = _2_pAndInfo 114239 { 114240 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(10 /* X3 */))) 114241 *p = uint16(int32(*p) | i32(32)) 114242 sink6908 = *p 114243 } 114244 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(12 /* X4 */))) = uint16(i32(1024)) 114245 _3_pAndWC = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pAndInfo)) + uintptr(0 /* X0 */))) 114246 crt.Xmemset(tls, (unsafe.Pointer)((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAndWC))+uintptr(24 /* X6 */)))), i32(0), u32(384)) 114247 _sqlite3WhereClauseInit(tls, _3_pAndWC, (*XWhereInfo)(unsafe.Pointer(_pWC.X0))) 114248 _sqlite3WhereSplit(tls, _3_pAndWC, (*XExpr)(unsafe.Pointer(_pOrTerm.X0)), uint8(i32(28))) 114249 _sqlite3WhereExprAnalyze(tls, _pSrc, _3_pAndWC) 114250 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pAndWC)) + uintptr(4 /* X1 */))))) = _pWC 114251 if (_db.X17) != 0 { 114252 goto _17 114253 } 114254 114255 *func() **XWhereTerm { _3_j = i32(0); return &_3_pAndTerm }() = (*XWhereTerm)(unsafe.Pointer(_3_pAndWC.X5)) 114256 _18: 114257 if _3_j >= (_3_pAndWC.X3) { 114258 goto _21 114259 } 114260 114261 func() int32 { 114262 if (*XExpr)(unsafe.Pointer(_3_pAndTerm.X0)) != nil { 114263 return i32(0) 114264 } 114265 return func() int32 { 114266 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128957), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109496))) 114267 crt.X__builtin_abort(tls) 114268 return i32(0) 114269 }() 114270 }() 114271 if _allowedOp(tls, int32((*XExpr)(unsafe.Pointer(_3_pAndTerm.X0)).X0)) == 0 && int32(_3_pAndTerm.X4) != i32(64) { 114272 goto _25 114273 } 114274 114275 { 114276 p := &_3_b 114277 *p = (*p) | _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _3_pAndTerm.X8) 114278 sink992 = *p 114279 } 114280 _25: 114281 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _3_j += 1; return &_3_pAndTerm }())) += uintptr(48) 114282 goto _18 114283 114284 _21: 114285 _17: 114286 { 114287 p := &_indexable 114288 *p = (*p) & _3_b 114289 sink992 = *p 114290 } 114291 _16: 114292 goto _26 114293 114294 _13: 114295 if (int32(_pOrTerm.X3) & i32(8)) == 0 { 114296 goto _27 114297 } 114298 114299 goto _28 114300 114301 _27: 114302 _8_b = _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _pOrTerm.X8) 114303 if (int32(_pOrTerm.X3) & i32(2)) == 0 { 114304 goto _29 114305 } 114306 114307 _9_pOther = (*XWhereTerm)(unsafe.Pointer(uintptr(_pOrWc.X5) + 48*uintptr(_pOrTerm.X7))) 114308 { 114309 p := &_8_b 114310 *p = (*p) | _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _9_pOther.X8) 114311 sink992 = *p 114312 } 114313 _29: 114314 { 114315 p := &_indexable 114316 *p = (*p) & _8_b 114317 sink992 = *p 114318 } 114319 if (int32(_pOrTerm.X4) & i32(2)) != i32(0) { 114320 goto _30 114321 } 114322 114323 _chngToIN = uint64(i32(0)) 114324 goto _31 114325 114326 _30: 114327 { 114328 p := &_chngToIN 114329 *p = (*p) & _8_b 114330 sink992 = *p 114331 } 114332 _31: 114333 _28: 114334 _26: 114335 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(48) 114336 goto _8 114337 114338 _12: 114339 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrInfo)) + uintptr(408 /* X1 */))) = _indexable 114340 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(12 /* X4 */))) = uint16(func() int32 { 114341 if _indexable == uint64(i32(0)) { 114342 return i32(0) 114343 } 114344 return i32(512) 114345 }()) 114346 if _indexable == 0 || (_pOrWc.X3) != i32(2) { 114347 goto _35 114348 } 114349 114350 _12_iOne = i32(0) 114351 _36: 114352 if store8895146(&_12_pOne, _whereNthSubterm(tls, (*XWhereTerm)(unsafe.Pointer(uintptr(_pOrWc.X5)+48*uintptr(i32(0)))), postInc961(&_12_iOne, int32(1)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 114353 goto _37 114354 } 114355 114356 _13_iTwo = i32(0) 114357 _38: 114358 if store8895146(&_13_pTwo, _whereNthSubterm(tls, (*XWhereTerm)(unsafe.Pointer(uintptr(_pOrWc.X5)+48*uintptr(i32(1)))), postInc961(&_13_iTwo, int32(1)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 114359 goto _39 114360 } 114361 114362 _whereCombineDisjuncts(tls, _pSrc, _pWC, _12_pOne, _13_pTwo) 114363 goto _38 114364 114365 _39: 114366 goto _36 114367 114368 _37: 114369 _35: 114370 if _chngToIN == 0 { 114371 goto _40 114372 } 114373 114374 _15_okToChngToIN = i32(0) 114375 _15_iColumn = i32(-1) 114376 _15_iCursor = i32(-1) 114377 _15_j = i32(0) 114378 _15_j = i32(0) 114379 _41: 114380 if _15_j >= i32(2) || _15_okToChngToIN != 0 { 114381 goto _45 114382 } 114383 114384 _pOrTerm = (*XWhereTerm)(unsafe.Pointer(_pOrWc.X5)) 114385 _i = (_pOrWc.X3) - i32(1) 114386 _46: 114387 if _i < i32(0) { 114388 goto _49 114389 } 114390 114391 func() int32 { 114392 if (int32(_pOrTerm.X4) & i32(2)) != 0 { 114393 return i32(0) 114394 } 114395 return func() int32 { 114396 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129043), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109512))) 114397 crt.X__builtin_abort(tls) 114398 return i32(0) 114399 }() 114400 }() 114401 { 114402 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(10 /* X3 */))) 114403 *p = uint16(int32(*p) & i32(-65)) 114404 sink6908 = *p 114405 } 114406 if (_pOrTerm.X8) != _15_iCursor { 114407 goto _52 114408 } 114409 114410 func() int32 { 114411 if _15_j == i32(1) { 114412 return i32(0) 114413 } 114414 return func() int32 { 114415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129048), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109540))) 114416 crt.X__builtin_abort(tls) 114417 return i32(0) 114418 }() 114419 }() 114420 goto _47 114421 114422 _52: 114423 if (_chngToIN & _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _pOrTerm.X8)) != uint64(i32(0)) { 114424 goto _55 114425 } 114426 114427 func() int32 { 114428 if (int32(_pOrTerm.X3) & i32(10)) != 0 { 114429 return i32(0) 114430 } 114431 return func() int32 { 114432 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129059), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109548))) 114433 crt.X__builtin_abort(tls) 114434 return i32(0) 114435 }() 114436 }() 114437 goto _47 114438 114439 _55: 114440 _15_iColumn = *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(28 /* X10 */))))) 114441 _15_iCursor = _pOrTerm.X8 114442 goto _49 114443 114444 _47: 114445 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(48) 114446 goto _46 114447 114448 _49: 114449 if _i >= i32(0) { 114450 goto _58 114451 } 114452 114453 func() int32 { 114454 if _15_j == i32(1) { 114455 return i32(0) 114456 } 114457 return func() int32 { 114458 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129069), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109540))) 114459 crt.X__builtin_abort(tls) 114460 return i32(0) 114461 }() 114462 }() 114463 func() int32 { 114464 if (_chngToIN & (_chngToIN - uint64(i32(1)))) == uint64(i32(0)) { 114465 return i32(0) 114466 } 114467 return func() int32 { 114468 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129070), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109596))) 114469 crt.X__builtin_abort(tls) 114470 return i32(0) 114471 }() 114472 }() 114473 func() int32 { 114474 if _chngToIN == _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _15_iCursor) { 114475 return i32(0) 114476 } 114477 return func() int32 { 114478 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129071), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109620))) 114479 crt.X__builtin_abort(tls) 114480 return i32(0) 114481 }() 114482 }() 114483 goto _45 114484 114485 _58: 114486 _15_okToChngToIN = i32(1) 114487 _65: 114488 if _i < i32(0) || _15_okToChngToIN == 0 { 114489 goto _69 114490 } 114491 114492 func() int32 { 114493 if (int32(_pOrTerm.X4) & i32(2)) != 0 { 114494 return i32(0) 114495 } 114496 return func() int32 { 114497 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129080), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109512))) 114498 crt.X__builtin_abort(tls) 114499 return i32(0) 114500 }() 114501 }() 114502 if (_pOrTerm.X8) == _15_iCursor { 114503 goto _72 114504 } 114505 114506 { 114507 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(10 /* X3 */))) 114508 *p = uint16(int32(*p) & i32(-65)) 114509 sink6908 = *p 114510 } 114511 goto _73 114512 114513 _72: 114514 if (*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(28 /* X10 */)))))) == _15_iColumn { 114515 goto _74 114516 } 114517 114518 _15_okToChngToIN = i32(0) 114519 goto _75 114520 114521 _74: 114522 _24_affRight = int32(_sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X5)))) 114523 _24_affLeft = int32(_sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X4)))) 114524 if _24_affRight == i32(0) || _24_affRight == _24_affLeft { 114525 goto _77 114526 } 114527 114528 _15_okToChngToIN = i32(0) 114529 goto _78 114530 114531 _77: 114532 { 114533 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(10 /* X3 */))) 114534 *p = uint16(int32(*p) | i32(64)) 114535 sink6908 = *p 114536 } 114537 _78: 114538 _75: 114539 _73: 114540 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(48) 114541 goto _65 114542 114543 _69: 114544 _15_j += 1 114545 goto _41 114546 114547 _45: 114548 if _15_okToChngToIN == 0 { 114549 goto _79 114550 } 114551 114552 _27_pList = nil 114553 _27_pLeft = nil 114554 *func() **XWhereTerm { _i = (_pOrWc.X3) - i32(1); return &_pOrTerm }() = (*XWhereTerm)(unsafe.Pointer(_pOrWc.X5)) 114555 _80: 114556 if _i < i32(0) { 114557 goto _83 114558 } 114559 114560 if (int32(_pOrTerm.X3) & i32(64)) != i32(0) { 114561 goto _84 114562 } 114563 114564 goto _81 114565 114566 _84: 114567 func() int32 { 114568 if (int32(_pOrTerm.X4) & i32(2)) != 0 { 114569 return i32(0) 114570 } 114571 return func() int32 { 114572 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129114), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109512))) 114573 crt.X__builtin_abort(tls) 114574 return i32(0) 114575 }() 114576 }() 114577 func() int32 { 114578 if (_pOrTerm.X8) == _15_iCursor { 114579 return i32(0) 114580 } 114581 return func() int32 { 114582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129115), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109680))) 114583 crt.X__builtin_abort(tls) 114584 return i32(0) 114585 }() 114586 }() 114587 func() int32 { 114588 if (*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOrTerm)) + uintptr(28 /* X10 */)))))) == _15_iColumn { 114589 return i32(0) 114590 } 114591 return func() int32 { 114592 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129116), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109712))) 114593 crt.X__builtin_abort(tls) 114594 return i32(0) 114595 }() 114596 }() 114597 _27_pDup = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X5)), i32(0)) 114598 _27_pList = _sqlite3ExprListAppend(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), _27_pList, _27_pDup) 114599 _27_pLeft = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOrTerm.X0)).X4)) 114600 _81: 114601 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pOrTerm }())) += uintptr(48) 114602 goto _80 114603 114604 _83: 114605 func() int32 { 114606 if _27_pLeft != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 114607 return i32(0) 114608 } 114609 return func() int32 { 114610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129121), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109744))) 114611 crt.X__builtin_abort(tls) 114612 return i32(0) 114613 }() 114614 }() 114615 _27_pDup = _sqlite3ExprDup(tls, _db, _27_pLeft, i32(0)) 114616 _27_pNew = _sqlite3PExpr(tls, _pParse, i32(33), _27_pDup, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 114617 if _27_pNew == nil { 114618 goto _93 114619 } 114620 114621 _transferJoinMarkings(tls, _27_pNew, _pExpr) 114622 func() int32 { 114623 if ((_27_pNew.X2) & uint32(i32(2048))) == uint32(i32(0)) { 114624 return i32(0) 114625 } 114626 return func() int32 { 114627 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129127), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprAnalyzeOrTermØ00__func__Ø000))), unsafe.Pointer(str(109756))) 114628 crt.X__builtin_abort(tls) 114629 return i32(0) 114630 }() 114631 }() 114632 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_27_pNew)) + uintptr(20 /* X6 */))))))) = _27_pList 114633 _29_idxNew = _whereClauseInsert(tls, _pWC, _27_pNew, uint16(i32(3))) 114634 _exprAnalyze(tls, _pSrc, _pWC, _29_idxNew) 114635 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_idxTerm))) 114636 _markTermAsChild(tls, _pWC, _29_idxNew, _idxTerm) 114637 goto _96 114638 114639 _93: 114640 _sqlite3ExprListDelete(tls, _db, _27_pList) 114641 _96: 114642 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(12 /* X4 */))) = uint16(i32(4096)) 114643 _79: 114644 _40: 114645 return 114646 114647 } 114648 114649 var _exprAnalyzeOrTermØ00__func__Ø000 [18]int8 // - 114650 114651 func init() { 114652 crt.Xstrncpy(nil, &_exprAnalyzeOrTermØ00__func__Ø000[0], str(109796), 18) 114653 } 114654 114655 func _whereNthSubterm(tls *crt.TLS, _pTerm *XWhereTerm, _N int32) (r0 *XWhereTerm) { // sqlite3.c:128739:1 114656 if int32(_pTerm.X4) == i32(1024) { 114657 goto _0 114658 } 114659 114660 r0 = func() *XWhereTerm { 114661 if _N == i32(0) { 114662 return _pTerm 114663 } 114664 return (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 114665 }() 114666 return 114667 114668 _0: 114669 if _N >= ((*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) + uintptr(0 /* X0 */))).X3) { 114670 goto _3 114671 } 114672 114673 r0 = (*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))))+uintptr(0 /* X0 */))).X5) + 48*uintptr(_N))) 114674 return 114675 114676 _3: 114677 r0 = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 114678 return 114679 114680 } 114681 114682 func _whereCombineDisjuncts(tls *crt.TLS, _pSrc *XSrcList, _pWC *XWhereClause, _pOne *XWhereTerm, _pTwo *XWhereTerm) { // sqlite3.c:128769:1 114683 var _eOp uint16 // sqlite3.c:128775:7 114684 _ = _eOp 114685 var _db *Xsqlite3 // sqlite3.c:128776:11 114686 _ = _db 114687 var _pNew *XExpr // sqlite3.c:128777:8 114688 _ = _pNew 114689 var _op int32 // sqlite3.c:128778:7 114690 _ = _op 114691 var _idxNew int32 // sqlite3.c:128779:7 114692 _ = _idxNew 114693 _eOp = uint16(int32(_pOne.X4) | int32(_pTwo.X4)) 114694 if (int32(_pOne.X4) & i32(62)) != i32(0) { 114695 goto _0 114696 } 114697 114698 return 114699 114700 _0: 114701 if (int32(_pTwo.X4) & i32(62)) != i32(0) { 114702 goto _1 114703 } 114704 114705 return 114706 114707 _1: 114708 if (int32(_eOp)&i32(26)) == int32(_eOp) || (int32(_eOp)&i32(38)) == int32(_eOp) { 114709 goto _3 114710 } 114711 114712 return 114713 114714 _3: 114715 func() int32 { 114716 if ((*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOne.X0)).X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOne.X0)).X5)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 114717 return i32(0) 114718 } 114719 return func() int32 { 114720 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128785), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereCombineDisjunctsØ00__func__Ø000))), unsafe.Pointer(str(109816))) 114721 crt.X__builtin_abort(tls) 114722 return i32(0) 114723 }() 114724 }() 114725 func() int32 { 114726 if ((*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTwo.X0)).X4)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTwo.X0)).X5)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) { 114727 return i32(0) 114728 } 114729 return func() int32 { 114730 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128786), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereCombineDisjunctsØ00__func__Ø000))), unsafe.Pointer(str(109864))) 114731 crt.X__builtin_abort(tls) 114732 return i32(0) 114733 }() 114734 }() 114735 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOne.X0)).X4)), (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTwo.X0)).X4)), i32(-1)) == 0 { 114736 goto _10 114737 } 114738 114739 return 114740 114741 _10: 114742 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pOne.X0)).X5)), (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTwo.X0)).X5)), i32(-1)) == 0 { 114743 goto _11 114744 } 114745 114746 return 114747 114748 _11: 114749 if (int32(_eOp) & (int32(_eOp) - i32(1))) == i32(0) { 114750 goto _12 114751 } 114752 114753 if (int32(_eOp) & i32(24)) == 0 { 114754 goto _13 114755 } 114756 114757 _eOp = uint16(i32(8)) 114758 goto _14 114759 114760 _13: 114761 func() int32 { 114762 if (int32(_eOp) & i32(36)) != 0 { 114763 return i32(0) 114764 } 114765 return func() int32 { 114766 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128794), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereCombineDisjunctsØ00__func__Ø000))), unsafe.Pointer(str(109912))) 114767 crt.X__builtin_abort(tls) 114768 return i32(0) 114769 }() 114770 }() 114771 _eOp = uint16(i32(32)) 114772 _14: 114773 _12: 114774 _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)).X0)) 114775 _pNew = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pOne.X0)), i32(0)) 114776 if _pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 114777 goto _17 114778 } 114779 114780 return 114781 114782 _17: 114783 _op = i32(37) 114784 _18: 114785 if int32(_eOp) == (i32(2) << uint(_op-i32(37))) { 114786 goto _21 114787 } 114788 114789 func() int32 { 114790 if _op < i32(41) { 114791 return i32(0) 114792 } 114793 return func() int32 { 114794 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128801), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereCombineDisjunctsØ00__func__Ø000))), unsafe.Pointer(str(109932))) 114795 crt.X__builtin_abort(tls) 114796 return i32(0) 114797 }() 114798 }() 114799 _op += 1 114800 goto _18 114801 114802 _21: 114803 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = uint8(_op) 114804 _idxNew = _whereClauseInsert(tls, _pWC, _pNew, uint16(i32(3))) 114805 _exprAnalyze(tls, _pSrc, _pWC, _idxNew) 114806 return 114807 114808 } 114809 114810 var _whereCombineDisjunctsØ00__func__Ø000 [22]int8 // - 114811 114812 func init() { 114813 crt.Xstrncpy(nil, &_whereCombineDisjunctsØ00__func__Ø000[0], str(109944), 22) 114814 } 114815 114816 func _isLikeOrGlob(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _ppPrefix **XExpr, _pisComplete *int32, _pnoCase *int32) (r0 int32) { // sqlite3.c:128568:1 114817 var _z *int8 // sqlite3.c:128575:14 114818 _ = _z 114819 var _pRight *XExpr // sqlite3.c:128576:8 114820 _ = _pRight 114821 var _pLeft *XExpr // sqlite3.c:128576:17 114822 _ = _pLeft 114823 var _pList *XExprList // sqlite3.c:128577:12 114824 _ = _pList 114825 var _c int32 // sqlite3.c:128578:7 114826 _ = _c 114827 var _cnt int32 // sqlite3.c:128579:7 114828 _ = _cnt 114829 var _wc [3]int8 // sqlite3.c:128580:8 114830 _ = _wc 114831 var _db *Xsqlite3 // sqlite3.c:128581:11 114832 _ = _db 114833 var _pVal *XMem // sqlite3.c:128582:17 114834 _ = _pVal 114835 var _op int32 // sqlite3.c:128583:7 114836 _ = _op 114837 var _rc int32 // sqlite3.c:128584:7 114838 _ = _rc 114839 var _2_pReprepare *XVdbe // sqlite3.c:128598:10 114840 _ = _2_pReprepare 114841 var _2_iCol int32 // sqlite3.c:128599:9 114842 _ = _2_iCol 114843 var _9_pPrefix *XExpr // sqlite3.c:128632:12 114844 _ = _9_pPrefix 114845 var _10_v *XVdbe // sqlite3.c:128638:14 114846 _ = _10_v 114847 var _11_r1 int32 // sqlite3.c:128647:15 114848 _ = _11_r1 114849 _z = nil 114850 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 114851 _pVal = nil 114852 if _sqlite3IsLikeFunction(tls, _db, _pExpr, _pnoCase, (*int8)(unsafe.Pointer(&_wc))) != 0 { 114853 goto _0 114854 } 114855 114856 r0 = i32(0) 114857 return 114858 114859 _0: 114860 _pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 114861 _pLeft = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(i32(1)))).X0)) 114862 _pRight = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(i32(0)))).X0))) 114863 _op = int32(_pRight.X0) 114864 if _op != i32(135) { 114865 goto _1 114866 } 114867 114868 _2_pReprepare = (*XVdbe)(unsafe.Pointer(_pParse.X61)) 114869 _2_iCol = int32(_pRight.X9) 114870 _pVal = _sqlite3VdbeGetBoundValue(tls, _2_pReprepare, _2_iCol, uint8(i32(65))) 114871 if _pVal == nil || Xsqlite3_value_type(tls, _pVal) != i32(3) { 114872 goto _3 114873 } 114874 114875 _z = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, _pVal))) 114876 _3: 114877 _sqlite3VdbeSetVarmask(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), _2_iCol) 114878 func() int32 { 114879 if (int32(_pRight.X0) == i32(135)) || (int32(_pRight.X0) == i32(157)) { 114880 return i32(0) 114881 } 114882 return func() int32 { 114883 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128605), unsafe.Pointer((*int8)(unsafe.Pointer(&_isLikeOrGlobØ00__func__Ø000))), unsafe.Pointer(str(109968))) 114884 crt.X__builtin_abort(tls) 114885 return i32(0) 114886 }() 114887 }() 114888 goto _7 114889 114890 _1: 114891 if _op != i32(97) { 114892 goto _8 114893 } 114894 114895 _z = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight)) + uintptr(8 /* X3 */))))) 114896 _8: 114897 _7: 114898 if _z == nil { 114899 goto _9 114900 } 114901 114902 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0)))))))))&i32(4)) == 0 && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(45) { 114903 goto _11 114904 } 114905 114906 if int32(_pLeft.X0) == i32(152) && int32(_sqlite3ExprAffinity(tls, _pLeft)) == i32(66) && ((*XTable)(unsafe.Pointer(_pLeft.X14)).X16) == 0 { 114907 goto _14 114908 } 114909 114910 _sqlite3ValueFree(tls, _pVal) 114911 r0 = i32(0) 114912 return 114913 114914 _14: 114915 _11: 114916 _cnt = i32(0) 114917 _15: 114918 if store961(&_c, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_cnt))))) == i32(0) || _c == int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_wc)) + 1*uintptr(i32(0))))) || _c == int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_wc)) + 1*uintptr(i32(1))))) || _c == int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_wc)) + 1*uintptr(i32(2))))) { 114919 goto _16 114920 } 114921 114922 _cnt += 1 114923 goto _15 114924 114925 _16: 114926 if _cnt == i32(0) || i32(255) == int32(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_cnt-i32(1)))))) { 114927 goto _21 114928 } 114929 114930 *_pisComplete = bool2int((_c == int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_wc)) + 1*uintptr(i32(0)))))) && (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_cnt+i32(1))))) == i32(0))) 114931 _9_pPrefix = _sqlite3Expr(tls, _db, i32(97), _z) 114932 if _9_pPrefix == nil { 114933 goto _23 114934 } 114935 114936 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pPrefix)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_cnt))) = int8(i32(0)) 114937 _23: 114938 *_ppPrefix = _9_pPrefix 114939 if _op != i32(135) { 114940 goto _24 114941 } 114942 114943 _10_v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 114944 _sqlite3VdbeSetVarmask(tls, _10_v, int32(_pRight.X9)) 114945 if (*_pisComplete) == 0 || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRight)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(1))))) == 0 { 114946 goto _26 114947 } 114948 114949 _11_r1 = _sqlite3GetTempReg(tls, _pParse) 114950 _sqlite3ExprCodeTarget(tls, _pParse, _pRight, _11_r1) 114951 _sqlite3VdbeChangeP3(tls, _10_v, uint32(_sqlite3VdbeCurrentAddr(tls, _10_v)-i32(1)), i32(0)) 114952 _sqlite3ReleaseTempReg(tls, _pParse, _11_r1) 114953 _26: 114954 _24: 114955 goto _27 114956 114957 _21: 114958 _z = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 114959 _27: 114960 _9: 114961 _rc = bool2int(_z != (*int8)(unsafe.Pointer(uintptr(i32(0))))) 114962 _sqlite3ValueFree(tls, _pVal) 114963 r0 = _rc 114964 return 114965 114966 } 114967 114968 func _sqlite3IsLikeFunction(tls *crt.TLS, _db *Xsqlite3, _pExpr *XExpr, _pIsNocase *int32, _aWc *int8) (r0 int32) { // sqlite3.c:107002:1 114969 var _pDef *XFuncDef // sqlite3.c:107003:11 114970 _ = _pDef 114971 if int32(_pExpr.X0) == i32(151) && (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) != nil && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0) == i32(2) { 114972 goto _2 114973 } 114974 114975 r0 = i32(0) 114976 return 114977 114978 _2: 114979 func() int32 { 114980 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 114981 return i32(0) 114982 } 114983 return func() int32 { 114984 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107010), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IsLikeFunctionØ00__func__Ø000))), unsafe.Pointer(str(45120))) 114985 crt.X__builtin_abort(tls) 114986 return i32(0) 114987 }() 114988 }() 114989 _pDef = _sqlite3FindFunction(tls, _db, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), i32(2), uint8(i32(1)), uint8(i32(0))) 114990 if func() int32 { 114991 if _pDef == (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 114992 return func() int32 { 114993 func() int32 { 114994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107012), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IsLikeFunctionØ00__func__Ø000))), unsafe.Pointer(str(5204))) 114995 crt.X__builtin_abort(tls) 114996 return i32(0) 114997 }() 114998 return i32(1) 114999 }() 115000 } 115001 return i32(0) 115002 }() == 0 && (int32(_pDef.X1)&i32(4)) != i32(0) { 115003 goto _8 115004 } 115005 115006 r0 = i32(0) 115007 return 115008 115009 _8: 115010 crt.Xmemcpy(tls, (unsafe.Pointer)(_aWc), _pDef.X2, uint32(i32(3))) 115011 func() int32 { 115012 if (*int8)(unsafe.Pointer(&_likeInfoAlt)) == (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_likeInfoAlt))+uintptr(0 /* X0 */))))) { 115013 return i32(0) 115014 } 115015 return func() int32 { 115016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107021), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IsLikeFunctionØ00__func__Ø000))), unsafe.Pointer(str(110020))) 115017 crt.X__builtin_abort(tls) 115018 return i32(0) 115019 }() 115020 }() 115021 func() int32 { 115022 if (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_likeInfoAlt))+1*uintptr(i32(1)))) == (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_likeInfoAlt))+uintptr(1 /* X1 */))))) { 115023 return i32(0) 115024 } 115025 return func() int32 { 115026 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107022), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IsLikeFunctionØ00__func__Ø000))), unsafe.Pointer(str(110072))) 115027 crt.X__builtin_abort(tls) 115028 return i32(0) 115029 }() 115030 }() 115031 func() int32 { 115032 if (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_likeInfoAlt))+1*uintptr(i32(2)))) == (*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_likeInfoAlt))+uintptr(2 /* X2 */))))) { 115033 return i32(0) 115034 } 115035 return func() int32 { 115036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107023), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IsLikeFunctionØ00__func__Ø000))), unsafe.Pointer(str(110132))) 115037 crt.X__builtin_abort(tls) 115038 return i32(0) 115039 }() 115040 }() 115041 *_pIsNocase = bool2int((int32(_pDef.X1) & i32(8)) == i32(0)) 115042 r0 = i32(1) 115043 return 115044 115045 } 115046 115047 var _sqlite3IsLikeFunctionØ00__func__Ø000 [22]int8 // - 115048 115049 func init() { 115050 crt.Xstrncpy(nil, &_sqlite3IsLikeFunctionØ00__func__Ø000[0], str(110192), 22) 115051 } 115052 115053 var _likeInfoAlt T8650382 // sqlite3.c:105887:33 115054 115055 func init() { 115056 _likeInfoAlt = T8650382{X0: u8(37), X1: u8(95), X2: u8(0), X3: u8(0)} 115057 } 115058 115059 func _sqlite3VdbeGetBoundValue(tls *crt.TLS, _v *XVdbe, _iVar int32, _aff uint8) (r0 *XMem) { // sqlite3.c:75867:1 115060 var _1_pMem *XMem // sqlite3.c:75870:9 115061 _ = _1_pMem 115062 var _2_pRet *XMem // sqlite3.c:75872:21 115063 _ = _2_pRet 115064 func() int32 { 115065 if _iVar > i32(0) { 115066 return i32(0) 115067 } 115068 return func() int32 { 115069 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75868), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeGetBoundValueØ00__func__Ø000))), unsafe.Pointer(str(110216))) 115070 crt.X__builtin_abort(tls) 115071 return i32(0) 115072 }() 115073 }() 115074 if _v == nil { 115075 goto _2 115076 } 115077 115078 _1_pMem = (*XMem)(unsafe.Pointer(uintptr(_v.X24) + 48*uintptr(_iVar-i32(1)))) 115079 if i32(0) != (int32(_1_pMem.X1) & i32(1)) { 115080 goto _3 115081 } 115082 115083 _2_pRet = _sqlite3ValueNew(tls, (*Xsqlite3)(unsafe.Pointer(_v.X0))) 115084 if _2_pRet == nil { 115085 goto _4 115086 } 115087 115088 _sqlite3VdbeMemCopy(tls, _2_pRet, _1_pMem) 115089 _sqlite3ValueApplyAffinity(tls, _2_pRet, _aff, uint8(i32(1))) 115090 _4: 115091 r0 = _2_pRet 115092 return 115093 115094 _3: 115095 _2: 115096 r0 = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 115097 return 115098 115099 } 115100 115101 var _sqlite3VdbeGetBoundValueØ00__func__Ø000 [25]int8 // - 115102 115103 func init() { 115104 crt.Xstrncpy(nil, &_sqlite3VdbeGetBoundValueØ00__func__Ø000[0], str(110224), 25) 115105 } 115106 115107 func _sqlite3VdbeSetVarmask(tls *crt.TLS, _v *XVdbe, _iVar int32) { // sqlite3.c:75888:1 115108 func() int32 { 115109 if _iVar > i32(0) { 115110 return i32(0) 115111 } 115112 return func() int32 { 115113 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(75889), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeSetVarmaskØ00__func__Ø000))), unsafe.Pointer(str(110216))) 115114 crt.X__builtin_abort(tls) 115115 return i32(0) 115116 }() 115117 }() 115118 if _iVar < i32(32) { 115119 goto _2 115120 } 115121 115122 { 115123 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(192 /* X41 */))) 115124 *p = (*p) | u32(2147483648) 115125 sink985 = *p 115126 } 115127 goto _3 115128 115129 _2: 115130 { 115131 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(192 /* X41 */))) 115132 *p = (*p) | (u32(1) << uint(_iVar-i32(1))) 115133 sink985 = *p 115134 } 115135 _3: 115136 return 115137 115138 } 115139 115140 var _sqlite3VdbeSetVarmaskØ00__func__Ø000 [22]int8 // - 115141 115142 func init() { 115143 crt.Xstrncpy(nil, &_sqlite3VdbeSetVarmaskØ00__func__Ø000[0], str(110252), 22) 115144 } 115145 115146 var _isLikeOrGlobØ00__func__Ø000 [13]int8 // - 115147 115148 func init() { 115149 crt.Xstrncpy(nil, &_isLikeOrGlobØ00__func__Ø000[0], str(110276), 13) 115150 } 115151 115152 func _sqlite3VdbeChangeP3(tls *crt.TLS, _p *XVdbe, _addr uint32, _val int32) { // sqlite3.c:72120:1 115153 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3VdbeGetOp(tls, _p, int32(_addr)))) + uintptr(12 /* X5 */))) = _val 115154 return 115155 115156 } 115157 115158 func _isMatchOfColumn(tls *crt.TLS, _pExpr *XExpr, _peOp2 *uint8) (r0 int32) { // sqlite3.c:128676:1 115159 var _pList *XExprList // sqlite3.c:128689:12 115160 _ = _pList 115161 var _pCol *XExpr // sqlite3.c:128690:8 115162 _ = _pCol 115163 var _i int32 // sqlite3.c:128691:7 115164 _ = _i 115165 if int32(_pExpr.X0) == i32(151) { 115166 goto _0 115167 } 115168 115169 r0 = i32(0) 115170 return 115171 115172 _0: 115173 _pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) 115174 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && (_pList.X0) == i32(2) { 115175 goto _2 115176 } 115177 115178 r0 = i32(0) 115179 return 115180 115181 _2: 115182 _pCol = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(i32(1)))).X0)) 115183 if int32(_pCol.X0) == i32(152) && ((*XTable)(unsafe.Pointer(_pCol.X14)).X16) != 0 { 115184 goto _4 115185 } 115186 115187 r0 = i32(0) 115188 return 115189 115190 _4: 115191 _i = i32(0) 115192 _5: 115193 if _i >= i32(4) { 115194 goto _8 115195 } 115196 115197 if _sqlite3StrICmp(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), (*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_isMatchOfColumnØ00aOpØ001))+8*uintptr(_i))).X0) != i32(0) { 115198 goto _9 115199 } 115200 115201 *_peOp2 = (*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_isMatchOfColumnØ00aOpØ001)) + 8*uintptr(_i))).X1 115202 r0 = i32(1) 115203 return 115204 115205 _9: 115206 _i += 1 115207 goto _5 115208 115209 _8: 115210 r0 = i32(0) 115211 return 115212 115213 } 115214 115215 var _isMatchOfColumnØ00aOpØ001 [4]struct { 115216 X0 *int8 115217 X1 uint8 115218 } // sqlite3.c:128683:5 115219 115220 func init() { 115221 _isMatchOfColumnØ00aOpØ001 = [4]struct { 115222 X0 *int8 115223 X1 uint8 115224 }{T8760930{X0: str(99124), X1: u8(64)}, T8760930{X0: str(7804), X1: u8(66)}, T8760930{X0: str(7812), X1: u8(65)}, T8760930{X0: str(110292), X1: u8(67)}} 115225 } 115226 115227 func _sqlite3ExprForVectorField(tls *crt.TLS, _pParse *XParse, _pVector *XExpr, _iField int32) (r0 *XExpr) { // sqlite3.c:91141:1 115228 var _pRet *XExpr // sqlite3.c:91146:8 115229 _ = _pRet 115230 if int32(_pVector.X0) != i32(119) { 115231 goto _0 115232 } 115233 115234 func() int32 { 115235 if ((_pVector.X2) & uint32(i32(2048))) != 0 { 115236 return i32(0) 115237 } 115238 return func() int32 { 115239 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91148), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprForVectorFieldØ00__func__Ø000))), unsafe.Pointer(str(110300))) 115240 crt.X__builtin_abort(tls) 115241 return i32(0) 115242 }() 115243 }() 115244 _pRet = _sqlite3PExpr(tls, _pParse, i32(159), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 115245 if _pRet == nil { 115246 goto _3 115247 } 115248 115249 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(32 /* X9 */))) = int16(_iField) 115250 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pRet)) + uintptr(12 /* X4 */))))) = _pVector 115251 _3: 115252 func() int32 { 115253 if (_pRet == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((_pRet.X8) == i32(0)) { 115254 return i32(0) 115255 } 115256 return func() int32 { 115257 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91170), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprForVectorFieldØ00__func__Ø000))), unsafe.Pointer(str(110332))) 115258 crt.X__builtin_abort(tls) 115259 return i32(0) 115260 }() 115261 }() 115262 goto _7 115263 115264 _0: 115265 if int32(_pVector.X0) != i32(158) { 115266 goto _8 115267 } 115268 115269 _pVector = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_iField))).X0)) 115270 _8: 115271 _pRet = _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pVector, i32(0)) 115272 _7: 115273 r0 = _pRet 115274 return 115275 115276 } 115277 115278 var _sqlite3ExprForVectorFieldØ00__func__Ø000 [26]int8 // - 115279 115280 func init() { 115281 crt.Xstrncpy(nil, &_sqlite3ExprForVectorFieldØ00__func__Ø000[0], str(110360), 26) 115282 } 115283 115284 func _isDistinctRedundant(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pWC *XWhereClause, _pDistinct *XExprList) (r0 int32) { // sqlite3.c:130276:1 115285 var _pTab *XTable // sqlite3.c:130282:9 115286 _ = _pTab 115287 var _pIdx *XIndex // sqlite3.c:130283:9 115288 _ = _pIdx 115289 var _i int32 // sqlite3.c:130284:7 115290 _ = _i 115291 var _iBase int32 // sqlite3.c:130285:7 115292 _ = _iBase 115293 var _1_p *XExpr // sqlite3.c:130299:10 115294 _ = _1_p 115295 if (_pTabList.X0) == i32(1) { 115296 goto _0 115297 } 115298 115299 r0 = i32(0) 115300 return 115301 115302 _0: 115303 _iBase = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 115304 X0 unsafe.Pointer 115305 X1 *int8 115306 X2 *int8 115307 X3 *int8 115308 X4 unsafe.Pointer 115309 X5 unsafe.Pointer 115310 X6 int32 115311 X7 int32 115312 X8 int32 115313 X9 struct { 115314 X0 uint8 115315 X1 int8 115316 } 115317 X10 uint8 115318 X11 int32 115319 X12 unsafe.Pointer 115320 X13 unsafe.Pointer 115321 X14 uint64 115322 X15 struct { 115323 X [0]struct { 115324 X0 *int8 115325 X1 unsafe.Pointer 115326 } 115327 U [4]byte 115328 } 115329 X16 unsafe.Pointer 115330 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X11 115331 _pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 115332 X0 unsafe.Pointer 115333 X1 *int8 115334 X2 *int8 115335 X3 *int8 115336 X4 unsafe.Pointer 115337 X5 unsafe.Pointer 115338 X6 int32 115339 X7 int32 115340 X8 int32 115341 X9 struct { 115342 X0 uint8 115343 X1 int8 115344 } 115345 X10 uint8 115346 X11 int32 115347 X12 unsafe.Pointer 115348 X13 unsafe.Pointer 115349 X14 uint64 115350 X15 struct { 115351 X [0]struct { 115352 X0 *int8 115353 X1 unsafe.Pointer 115354 } 115355 U [4]byte 115356 } 115357 X16 unsafe.Pointer 115358 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X4)) 115359 _i = i32(0) 115360 _1: 115361 if _i >= (_pDistinct.X0) { 115362 goto _4 115363 } 115364 115365 _1_p = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pDistinct.X1)+20*uintptr(_i))).X0))) 115366 if int32(_1_p.X0) != i32(152) || (_1_p.X8) != _iBase || int32(_1_p.X9) >= i32(0) { 115367 goto _7 115368 } 115369 115370 r0 = i32(1) 115371 return 115372 115373 _7: 115374 _i += 1 115375 goto _1 115376 115377 _4: 115378 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 115379 _8: 115380 if _pIdx == nil { 115381 goto _11 115382 } 115383 115384 if int32(_pIdx.X15) != i32(0) { 115385 goto _12 115386 } 115387 115388 goto _9 115389 115390 _12: 115391 _i = i32(0) 115392 _13: 115393 if _i >= int32(_pIdx.X13) { 115394 goto _16 115395 } 115396 115397 if (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) != _sqlite3WhereFindTerm(tls, _pWC, _iBase, _i, u64(18446744073709551615), uint32(i32(2)), _pIdx) { 115398 goto _17 115399 } 115400 115401 if _findIndexCol(tls, _pParse, _pDistinct, _iBase, _pIdx, _i) >= i32(0) { 115402 goto _18 115403 } 115404 115405 goto _16 115406 115407 _18: 115408 if _indexColumnNotNull(tls, _pIdx, _i) != i32(0) { 115409 goto _19 115410 } 115411 115412 goto _16 115413 115414 _19: 115415 _17: 115416 _i += 1 115417 goto _13 115418 115419 _16: 115420 if _i != int32(_pIdx.X13) { 115421 goto _20 115422 } 115423 115424 r0 = i32(1) 115425 return 115426 115427 _20: 115428 _9: 115429 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 115430 goto _8 115431 115432 _11: 115433 r0 = i32(0) 115434 return 115435 115436 } 115437 115438 func _sqlite3WhereFindTerm(tls *crt.TLS, _pWC *XWhereClause, _iCur int32, _iColumn int32, _notReady uint64, _op uint32, _pIdx *XIndex) (r0 *XWhereTerm) { // sqlite3.c:130190:1 115439 var _pResult *XWhereTerm // sqlite3.c:130198:13 115440 _ = _pResult 115441 var _p *XWhereTerm // sqlite3.c:130199:13 115442 _ = _p 115443 var _scan XWhereScan // sqlite3.c:130200:13 115444 _ = _scan 115445 _pResult = nil 115446 _p = _whereScanInit(tls, &_scan, _pWC, _iCur, _iColumn, _op, _pIdx) 115447 { 115448 p := &_op 115449 *p = (*p) & uint32(i32(130)) 115450 sink985 = *p 115451 } 115452 _0: 115453 if _p == nil { 115454 goto _1 115455 } 115456 115457 if ((_p.X11) & _notReady) != uint64(i32(0)) { 115458 goto _2 115459 } 115460 115461 if (_p.X11) != uint64(i32(0)) || (uint32(_p.X4)&_op) == uint32(i32(0)) { 115462 goto _4 115463 } 115464 115465 r0 = _p 115466 return 115467 115468 _4: 115469 if _pResult != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 115470 goto _5 115471 } 115472 115473 _pResult = _p 115474 _5: 115475 _2: 115476 _p = _whereScanNext(tls, &_scan) 115477 goto _0 115478 115479 _1: 115480 r0 = _pResult 115481 return 115482 115483 } 115484 115485 func _whereScanInit(tls *crt.TLS, _pScan *XWhereScan, _pWC *XWhereClause, _iCur int32, _iColumn int32, _opMask uint32, _pIdx *XIndex) (r0 *XWhereTerm) { // sqlite3.c:130128:1 115486 var _1_j int32 // sqlite3.c:130142:9 115487 _ = _1_j 115488 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(0 /* X0 */))))) = _pWC 115489 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(4 /* X1 */))))) = _pWC 115490 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(12 /* X3 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 115491 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(16 /* X4 */))) = int8(i32(0)) 115492 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 115493 if _pIdx == nil { 115494 goto _0 115495 } 115496 115497 _1_j = _iColumn 115498 _iColumn = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_j)))) 115499 if _iColumn != i32(-2) { 115500 goto _1 115501 } 115502 115503 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(12 /* X3 */))))) = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1) + 20*uintptr(_1_j))).X0)) 115504 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(8 /* X2 */))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_1_j))) 115505 goto _2 115506 115507 _1: 115508 if _iColumn != int32((*XTable)(unsafe.Pointer(_pIdx.X3)).X10) { 115509 goto _3 115510 } 115511 115512 _iColumn = i32(-1) 115513 goto _4 115514 115515 _3: 115516 if _iColumn < i32(0) { 115517 goto _5 115518 } 115519 115520 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(16 /* X4 */))) = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIdx.X3)).X1) + 16*uintptr(_iColumn))).X4 115521 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(8 /* X2 */))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_1_j))) 115522 _5: 115523 _4: 115524 _2: 115525 goto _6 115526 115527 _0: 115528 if _iColumn != i32(-2) { 115529 goto _7 115530 } 115531 115532 r0 = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 115533 return 115534 115535 _7: 115536 _6: 115537 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(20 /* X7 */))) = _opMask 115538 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(24 /* X8 */))) = i32(0) 115539 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(28 /* X9 */))))) + 4*uintptr(i32(0)))) = _iCur 115540 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(72 /* X10 */))))) + 2*uintptr(i32(0)))) = int16(_iColumn) 115541 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 115542 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(18 /* X6 */))) = uint8(i32(1)) 115543 r0 = _whereScanNext(tls, _pScan) 115544 return 115545 115546 } 115547 115548 func _whereScanNext(tls *crt.TLS, _pScan *XWhereScan) (r0 *XWhereTerm) { // sqlite3.c:130027:1 115549 var _iCur int32 // sqlite3.c:130028:7 115550 _ = _iCur 115551 var _iColumn int16 // sqlite3.c:130029:7 115552 _ = _iColumn 115553 var _pX *XExpr // sqlite3.c:130030:8 115554 _ = _pX 115555 var _pWC *XWhereClause // sqlite3.c:130031:15 115556 _ = _pWC 115557 var _pTerm *XWhereTerm // sqlite3.c:130032:13 115558 _ = _pTerm 115559 var _k int32 // sqlite3.c:130033:7 115560 _ = _k 115561 var _5_j int32 // sqlite3.c:130054:17 115562 _ = _5_j 115563 var _10_pColl *XCollSeq // sqlite3.c:130070:23 115564 _ = _10_pColl 115565 var _10_pParse *XParse // sqlite3.c:130071:21 115566 _ = _10_pParse 115567 _k = _pScan.X8 115568 func() int32 { 115569 if int32(_pScan.X6) <= int32(_pScan.X5) { 115570 return i32(0) 115571 } 115572 return func() int32 { 115573 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130035), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereScanNextØ00__func__Ø000))), unsafe.Pointer(str(110388))) 115574 crt.X__builtin_abort(tls) 115575 return i32(0) 115576 }() 115577 }() 115578 _pWC = (*XWhereClause)(unsafe.Pointer(_pScan.X1)) 115579 _2: 115580 _iColumn = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(72 /* X10 */))))) + 2*uintptr(int32(_pScan.X6)-i32(1)))) 115581 _iCur = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(28 /* X9 */))))) + 4*uintptr(int32(_pScan.X6)-i32(1)))) 115582 func() int32 { 115583 if _pWC != (*XWhereClause)(unsafe.Pointer(uintptr(i32(0)))) { 115584 return i32(0) 115585 } 115586 return func() int32 { 115587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130040), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereScanNextØ00__func__Ø000))), unsafe.Pointer(str(110420))) 115588 crt.X__builtin_abort(tls) 115589 return i32(0) 115590 }() 115591 }() 115592 _6: 115593 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(_pWC.X5)))) + uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(_k)))))*uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(48))))))))))) 115594 _7: 115595 if _k >= (_pWC.X3) { 115596 goto _10 115597 } 115598 115599 if (_pTerm.X8) != _iCur || (*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) != int32(_iColumn) || int32(_iColumn) == i32(-2) && _sqlite3ExprCompareSkip(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4)), (*XExpr)(unsafe.Pointer(_pScan.X3)), _iCur) != i32(0) || int32(_pScan.X6) > i32(1) && (((*XExpr)(unsafe.Pointer(_pTerm.X0)).X2)&uint32(i32(1))) != uint32(i32(0)) { 115600 goto _16 115601 } 115602 115603 if (int32(_pTerm.X4)&i32(2048)) == i32(0) || int32(_pScan.X5) >= i32(11) || int32(store7851696(&_pX, _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)))).X0) != i32(152) { 115604 goto _19 115605 } 115606 115607 _5_j = i32(0) 115608 _20: 115609 if _5_j >= int32(_pScan.X5) { 115610 goto _23 115611 } 115612 115613 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(28 /* X9 */))))) + 4*uintptr(_5_j)))) != (_pX.X8) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(72 /* X10 */))))) + 2*uintptr(_5_j)))) != int32(_pX.X9) { 115614 goto _25 115615 } 115616 115617 goto _23 115618 115619 _25: 115620 _5_j += 1 115621 goto _20 115622 115623 _23: 115624 if _5_j != int32(_pScan.X5) { 115625 goto _26 115626 } 115627 115628 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(28 /* X9 */))))) + 4*uintptr(_5_j))) = _pX.X8 115629 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(72 /* X10 */))))) + 2*uintptr(_5_j))) = _pX.X9 115630 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(17 /* X5 */))) += 1 115631 _26: 115632 _19: 115633 if (uint32(_pTerm.X4) & (_pScan.X7)) == uint32(i32(0)) { 115634 goto _27 115635 } 115636 115637 if (_pScan.X2) == nil || (int32(_pTerm.X4)&i32(256)) != i32(0) { 115638 goto _29 115639 } 115640 115641 _10_pParse = (*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)) 115642 _pX = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 115643 if _sqlite3IndexAffinityOk(tls, _pX, _pScan.X4) != 0 { 115644 goto _30 115645 } 115646 115647 goto _8 115648 115649 _30: 115650 func() int32 { 115651 if (*XExpr)(unsafe.Pointer(_pX.X4)) != nil { 115652 return i32(0) 115653 } 115654 return func() int32 { 115655 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130076), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereScanNextØ00__func__Ø000))), unsafe.Pointer(str(110428))) 115656 crt.X__builtin_abort(tls) 115657 return i32(0) 115658 }() 115659 }() 115660 _10_pColl = _sqlite3BinaryCompareCollSeq(tls, _10_pParse, (*XExpr)(unsafe.Pointer(_pX.X4)), (*XExpr)(unsafe.Pointer(_pX.X5))) 115661 if _10_pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 115662 goto _33 115663 } 115664 115665 _10_pColl = (*XCollSeq)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_10_pParse.X0)).X2)) 115666 _33: 115667 if _sqlite3StrICmp(tls, _10_pColl.X0, _pScan.X2) == 0 { 115668 goto _34 115669 } 115670 115671 goto _8 115672 115673 _34: 115674 _29: 115675 if (int32(_pTerm.X4)&i32(130)) == i32(0) || int32(store7851696(&_pX, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5))).X0) != i32(152) || (_pX.X8) != (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(28 /* X9 */))))) + 4*uintptr(i32(0))))) || int32(_pX.X9) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[11]int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan))+uintptr(72 /* X10 */))))) + 2*uintptr(i32(0))))) { 115676 goto _38 115677 } 115678 115679 goto _8 115680 115681 _38: 115682 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(4 /* X1 */))))) = _pWC 115683 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(24 /* X8 */))) = _k + i32(1) 115684 r0 = _pTerm 115685 return 115686 115687 _27: 115688 _16: 115689 _8: 115690 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _k += 1; return &_pTerm }())) += uintptr(48) 115691 goto _7 115692 115693 _10: 115694 _pWC = (*XWhereClause)(unsafe.Pointer(_pWC.X1)) 115695 _k = i32(0) 115696 if _pWC != (*XWhereClause)(unsafe.Pointer(uintptr(i32(0)))) { 115697 goto _6 115698 } 115699 115700 if int32(_pScan.X6) < int32(_pScan.X5) { 115701 goto _39 115702 } 115703 115704 goto _3 115705 115706 _39: 115707 _pWC = (*XWhereClause)(unsafe.Pointer(_pScan.X0)) 115708 _k = i32(0) 115709 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pScan)) + uintptr(18 /* X6 */))) += 1 115710 goto _2 115711 115712 _3: 115713 r0 = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 115714 return 115715 115716 } 115717 115718 var _whereScanNextØ00__func__Ø000 [14]int8 // - 115719 115720 func init() { 115721 crt.Xstrncpy(nil, &_whereScanNextØ00__func__Ø000[0], str(110440), 14) 115722 } 115723 115724 func _sqlite3IndexAffinityOk(tls *crt.TLS, _pExpr *XExpr, _idx_affinity int8) (r0 int32) { // sqlite3.c:90980:1 115725 var _aff int8 // sqlite3.c:90981:8 115726 _ = _aff 115727 _aff = _comparisonAffinity(tls, _pExpr) 115728 switch int32(_aff) { 115729 case i32(65): 115730 goto _1 115731 case i32(66): 115732 goto _2 115733 default: 115734 goto _3 115735 } 115736 115737 _1: 115738 r0 = i32(1) 115739 return 115740 115741 _2: 115742 r0 = bool2int(int32(_idx_affinity) == i32(66)) 115743 return 115744 115745 _3: 115746 r0 = bool2int(int32(_idx_affinity) >= i32(67)) 115747 return 115748 115749 } 115750 115751 func _comparisonAffinity(tls *crt.TLS, _pExpr *XExpr) (r0 int8) { // sqlite3.c:90957:1 115752 var _aff int8 // sqlite3.c:90958:8 115753 _ = _aff 115754 func() int32 { 115755 if ((((((((int32(_pExpr.X0) == i32(37)) || (int32(_pExpr.X0) == i32(33))) || (int32(_pExpr.X0) == i32(40))) || (int32(_pExpr.X0) == i32(38))) || (int32(_pExpr.X0) == i32(41))) || (int32(_pExpr.X0) == i32(39))) || (int32(_pExpr.X0) == i32(36))) || (int32(_pExpr.X0) == i32(29))) || (int32(_pExpr.X0) == i32(148)) { 115756 return i32(0) 115757 } 115758 return func() int32 { 115759 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90959), unsafe.Pointer((*int8)(unsafe.Pointer(&_comparisonAffinityØ00__func__Ø000))), unsafe.Pointer(str(110456))) 115760 crt.X__builtin_abort(tls) 115761 return i32(0) 115762 }() 115763 }() 115764 func() int32 { 115765 if (*XExpr)(unsafe.Pointer(_pExpr.X4)) != nil { 115766 return i32(0) 115767 } 115768 return func() int32 { 115769 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90962), unsafe.Pointer((*int8)(unsafe.Pointer(&_comparisonAffinityØ00__func__Ø000))), unsafe.Pointer(str(110636))) 115770 crt.X__builtin_abort(tls) 115771 return i32(0) 115772 }() 115773 }() 115774 _aff = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X4))) 115775 if (*XExpr)(unsafe.Pointer(_pExpr.X5)) == nil { 115776 goto _12 115777 } 115778 115779 _aff = _sqlite3CompareAffinity(tls, (*XExpr)(unsafe.Pointer(_pExpr.X5)), _aff) 115780 goto _13 115781 115782 _12: 115783 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 115784 goto _14 115785 } 115786 115787 _aff = _sqlite3CompareAffinity(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0)).X1)+20*uintptr(i32(0)))).X0)), _aff) 115788 goto _15 115789 115790 _14: 115791 if int32(_aff) != i32(0) { 115792 goto _16 115793 } 115794 115795 _aff = int8(i32(65)) 115796 _16: 115797 _15: 115798 _13: 115799 r0 = _aff 115800 return 115801 115802 } 115803 115804 var _comparisonAffinityØ00__func__Ø000 [19]int8 // - 115805 115806 func init() { 115807 crt.Xstrncpy(nil, &_comparisonAffinityØ00__func__Ø000[0], str(110652), 19) 115808 } 115809 115810 func _findIndexCol(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _iBase int32, _pIdx *XIndex, _iCol int32) (r0 int32) { // sqlite3.c:130224:1 115811 var _i int32 // sqlite3.c:130231:7 115812 _ = _i 115813 var _zColl *int8 // sqlite3.c:130232:14 115814 _ = _zColl 115815 var _1_p *XExpr // sqlite3.c:130235:10 115816 _ = _1_p 115817 var _2_pColl *XCollSeq // sqlite3.c:130240:15 115818 _ = _2_pColl 115819 _zColl = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_iCol))) 115820 _i = i32(0) 115821 _0: 115822 if _i >= (_pList.X0) { 115823 goto _3 115824 } 115825 115826 _1_p = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X0))) 115827 if int32(_1_p.X0) != i32(152) || int32(_1_p.X9) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_iCol)))) || (_1_p.X8) != _iBase { 115828 goto _6 115829 } 115830 115831 _2_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X0))) 115832 if _2_pColl == nil || i32(0) != _sqlite3StrICmp(tls, _2_pColl.X0, _zColl) { 115833 goto _8 115834 } 115835 115836 r0 = _i 115837 return 115838 115839 _8: 115840 _6: 115841 _i += 1 115842 goto _0 115843 115844 _3: 115845 r0 = i32(-1) 115846 return 115847 115848 } 115849 115850 func _indexColumnNotNull(tls *crt.TLS, _pIdx *XIndex, _iCol int32) (r0 int32) { // sqlite3.c:130253:1 115851 var _j int32 // sqlite3.c:130254:7 115852 _ = _j 115853 func() int32 { 115854 if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 115855 return i32(0) 115856 } 115857 return func() int32 { 115858 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130255), unsafe.Pointer((*int8)(unsafe.Pointer(&_indexColumnNotNullØ00__func__Ø000))), unsafe.Pointer(str(44360))) 115859 crt.X__builtin_abort(tls) 115860 return i32(0) 115861 }() 115862 }() 115863 func() int32 { 115864 if (_iCol >= i32(0)) && (_iCol < int32(_pIdx.X14)) { 115865 return i32(0) 115866 } 115867 return func() int32 { 115868 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130256), unsafe.Pointer((*int8)(unsafe.Pointer(&_indexColumnNotNullØ00__func__Ø000))), unsafe.Pointer(str(110672))) 115869 crt.X__builtin_abort(tls) 115870 return i32(0) 115871 }() 115872 }() 115873 _j = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_iCol)))) 115874 if _j < i32(0) { 115875 goto _5 115876 } 115877 115878 r0 = int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIdx.X3)).X1) + 16*uintptr(_j))).X3) 115879 return 115880 115881 _5: 115882 if _j != i32(-1) { 115883 goto _7 115884 } 115885 115886 r0 = i32(1) 115887 return 115888 115889 _7: 115890 func() int32 { 115891 if _j == i32(-2) { 115892 return i32(0) 115893 } 115894 return func() int32 { 115895 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130263), unsafe.Pointer((*int8)(unsafe.Pointer(&_indexColumnNotNullØ00__func__Ø000))), unsafe.Pointer(str(110704))) 115896 crt.X__builtin_abort(tls) 115897 return i32(0) 115898 }() 115899 }() 115900 r0 = i32(0) 115901 return 115902 115903 } 115904 115905 var _indexColumnNotNullØ00__func__Ø000 [19]int8 // - 115906 115907 func init() { 115908 crt.Xstrncpy(nil, &_indexColumnNotNullØ00__func__Ø000[0], str(110712), 19) 115909 } 115910 115911 func _whereShortCut(tls *crt.TLS, _pBuilder *XWhereLoopBuilder) (r0 int32) { // sqlite3.c:134036:1 115912 var _pWInfo *XWhereInfo // sqlite3.c:134037:13 115913 _ = _pWInfo 115914 var _pItem *T7840217 // sqlite3.c:134038:23 115915 _ = _pItem 115916 var _pWC *XWhereClause // sqlite3.c:134039:15 115917 _ = _pWC 115918 var _pTerm *XWhereTerm // sqlite3.c:134040:13 115919 _ = _pTerm 115920 var _pLoop *XWhereLoop // sqlite3.c:134041:13 115921 _ = _pLoop 115922 var _iCur int32 // sqlite3.c:134042:7 115923 _ = _iCur 115924 var _j int32 // sqlite3.c:134043:7 115925 _ = _j 115926 var _pTab *XTable // sqlite3.c:134044:9 115927 _ = _pTab 115928 var _pIdx *XIndex // sqlite3.c:134045:9 115929 _ = _pIdx 115930 var _3_opMask int32 // sqlite3.c:134070:11 115931 _ = _3_opMask 115932 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 115933 if (int32(_pWInfo.X9) & i32(32)) == 0 { 115934 goto _0 115935 } 115936 115937 r0 = i32(0) 115938 return 115939 115940 _0: 115941 func() int32 { 115942 if ((*XSrcList)(unsafe.Pointer(_pWInfo.X1)).X0) >= i32(1) { 115943 return i32(0) 115944 } 115945 return func() int32 { 115946 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134049), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereShortCutØ00__func__Ø000))), unsafe.Pointer(str(110732))) 115947 crt.X__builtin_abort(tls) 115948 return i32(0) 115949 }() 115950 }() 115951 _pItem = (*T7840217)(unsafe.Pointer((*[1]struct { 115952 X0 unsafe.Pointer 115953 X1 *int8 115954 X2 *int8 115955 X3 *int8 115956 X4 unsafe.Pointer 115957 X5 unsafe.Pointer 115958 X6 int32 115959 X7 int32 115960 X8 int32 115961 X9 struct { 115962 X0 uint8 115963 X1 int8 115964 } 115965 X10 uint8 115966 X11 int32 115967 X12 unsafe.Pointer 115968 X13 unsafe.Pointer 115969 X14 uint64 115970 X15 struct { 115971 X [0]struct { 115972 X0 *int8 115973 X1 unsafe.Pointer 115974 } 115975 U [4]byte 115976 } 115977 X16 unsafe.Pointer 115978 })(unsafe.Pointer(uintptr(_pWInfo.X1) + uintptr(8 /* X2 */))))) 115979 _pTab = (*XTable)(unsafe.Pointer(_pItem.X4)) 115980 if (_pTab.X16) == 0 { 115981 goto _3 115982 } 115983 115984 r0 = i32(0) 115985 return 115986 115987 _3: 115988 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(1))) << uint(i32(31))) >> uint(i32(31))) == 0 { 115989 goto _4 115990 } 115991 115992 r0 = i32(0) 115993 return 115994 115995 _4: 115996 _iCur = _pItem.X11 115997 _pWC = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(72 /* X21 */))) 115998 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 115999 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(40 /* X9 */))) = uint32(i32(0)) 116000 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(46 /* X11 */))) = uint16(i32(0)) 116001 _pTerm = _sqlite3WhereFindTerm(tls, _pWC, _iCur, i32(-1), uint64(i32(0)), uint32(i32(130)), (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) 116002 if _pTerm == nil { 116003 goto _5 116004 } 116005 116006 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(40 /* X9 */))) = uint32(i32(4353)) 116007 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(i32(0)))) = _pTerm 116008 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(44 /* X10 */))) = uint16(i32(1)) 116009 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(1)) 116010 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(22 /* X6 */))) = int16(i32(33)) 116011 goto _6 116012 116013 _5: 116014 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 116015 _7: 116016 if _pIdx == nil { 116017 goto _10 116018 } 116019 116020 func() int32 { 116021 if (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(60 /* X15 */))))) == (**XWhereTerm)(unsafe.Pointer(_pLoop.X13)) { 116022 return i32(0) 116023 } 116024 return func() int32 { 116025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134071), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereShortCutØ00__func__Ø000))), unsafe.Pointer(str(110760))) 116026 crt.X__builtin_abort(tls) 116027 return i32(0) 116028 }() 116029 }() 116030 if int32(_pIdx.X15) != i32(0) && (*XExpr)(unsafe.Pointer(_pIdx.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) && int32(_pIdx.X13) <= i32(3) { 116031 goto _15 116032 } 116033 116034 goto _8 116035 116036 _15: 116037 _3_opMask = func() int32 { 116038 if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { 116039 return i32(130) 116040 } 116041 return i32(2) 116042 }() 116043 _j = i32(0) 116044 _18: 116045 if _j >= int32(_pIdx.X13) { 116046 goto _21 116047 } 116048 116049 _pTerm = _sqlite3WhereFindTerm(tls, _pWC, _iCur, _j, uint64(i32(0)), uint32(_3_opMask), _pIdx) 116050 if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 116051 goto _22 116052 } 116053 116054 goto _21 116055 116056 _22: 116057 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j))) = _pTerm 116058 _j += 1 116059 goto _18 116060 116061 _21: 116062 if _j == int32(_pIdx.X13) { 116063 goto _23 116064 } 116065 116066 goto _8 116067 116068 _23: 116069 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(40 /* X9 */))) = uint32(i32(4609)) 116070 if ((uint32((_pIdx.X16)>>uint(i32(5)))<<uint(i32(31)))>>uint(i32(31))) == 0 && ((_pItem.X14)&(^_columnsInIndex(tls, _pIdx))) != uint64(i32(0)) { 116071 goto _25 116072 } 116073 116074 { 116075 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(40 /* X9 */))) 116076 *p = (*p) | uint32(i32(64)) 116077 sink985 = *p 116078 } 116079 _25: 116080 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(44 /* X10 */))) = uint16(_j) 116081 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(_j) 116082 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = _pIdx 116083 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(22 /* X6 */))) = int16(i32(39)) 116084 goto _10 116085 116086 _8: 116087 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 116088 goto _7 116089 116090 _10: 116091 _6: 116092 if (_pLoop.X9) == 0 { 116093 goto _26 116094 } 116095 116096 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) = i16(1) 116097 *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */)))))+76*uintptr(i32(0)))))) + uintptr(64 /* X18 */))))) = _pLoop 116098 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(8 /* X1 */))) = _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _iCur) 116099 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */)))))+76*uintptr(i32(0)))))) + uintptr(4 /* X1 */))) = _iCur 116100 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(68 /* X20 */))) = int16(i32(1)) 116101 if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) == nil { 116102 goto _27 116103 } 116104 116105 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(43 /* X11 */))) = int8((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) 116106 _27: 116107 if (int32(_pWInfo.X9) & i32(256)) == 0 { 116108 goto _28 116109 } 116110 116111 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(47 /* X15 */))) = uint8(i32(1)) 116112 _28: 116113 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(16 /* X2 */))) = int8(i32(48)) 116114 r0 = i32(1) 116115 return 116116 116117 _26: 116118 r0 = i32(0) 116119 return 116120 116121 } 116122 116123 var _whereShortCutØ00__func__Ø000 [14]int8 // - 116124 116125 func init() { 116126 crt.Xstrncpy(nil, &_whereShortCutØ00__func__Ø000[0], str(110796), 14) 116127 } 116128 116129 func _columnsInIndex(tls *crt.TLS, _pIdx *XIndex) (r0 uint64) { // sqlite3.c:132501:1 116130 var _m uint64 // sqlite3.c:132502:11 116131 _ = _m 116132 var _j int32 // sqlite3.c:132503:7 116133 _ = _j 116134 var _1_x int32 // sqlite3.c:132505:9 116135 _ = _1_x 116136 _m = u64(0) 116137 _j = int32(_pIdx.X14) - i32(1) 116138 _0: 116139 if _j < i32(0) { 116140 goto _3 116141 } 116142 116143 _1_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))) 116144 if _1_x < i32(0) { 116145 goto _4 116146 } 116147 116148 if _1_x >= i32(63) { 116149 goto _5 116150 } 116151 116152 { 116153 p := &_m 116154 *p = (*p) | (u64(1) << uint(_1_x)) 116155 sink992 = *p 116156 } 116157 _5: 116158 _4: 116159 _j -= 1 116160 goto _0 116161 116162 _3: 116163 r0 = _m 116164 return 116165 116166 } 116167 116168 func _whereLoopAddAll(tls *crt.TLS, _pBuilder *XWhereLoopBuilder) (r0 int32) { // sqlite3.c:133222:1 116169 var _pWInfo *XWhereInfo // sqlite3.c:133223:13 116170 _ = _pWInfo 116171 var _mPrereq uint64 // sqlite3.c:133224:11 116172 _ = _mPrereq 116173 var _mPrior uint64 // sqlite3.c:133225:11 116174 _ = _mPrior 116175 var _iTab int32 // sqlite3.c:133226:7 116176 _ = _iTab 116177 var _pTabList *XSrcList // sqlite3.c:133227:11 116178 _ = _pTabList 116179 var _pItem *T7840217 // sqlite3.c:133228:23 116180 _ = _pItem 116181 var _pEnd *T7840217 // sqlite3.c:133229:23 116182 _ = _pEnd 116183 var _db *Xsqlite3 // sqlite3.c:133230:11 116184 _ = _db 116185 var _rc int32 // sqlite3.c:133231:7 116186 _ = _rc 116187 var _pNew *XWhereLoop // sqlite3.c:133232:13 116188 _ = _pNew 116189 var _priorJointype uint8 // sqlite3.c:133233:6 116190 _ = _priorJointype 116191 var _1_mUnusable uint64 // sqlite3.c:133239:13 116192 _ = _1_mUnusable 116193 var _3_p *T7840217 // sqlite3.c:133250:27 116194 _ = _3_p 116195 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 116196 _mPrereq = u64(0) 116197 _mPrior = u64(0) 116198 _pTabList = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) 116199 _pEnd = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 116200 X0 unsafe.Pointer 116201 X1 *int8 116202 X2 *int8 116203 X3 *int8 116204 X4 unsafe.Pointer 116205 X5 unsafe.Pointer 116206 X6 int32 116207 X7 int32 116208 X8 int32 116209 X9 struct { 116210 X0 uint8 116211 X1 int8 116212 } 116213 X10 uint8 116214 X11 int32 116215 X12 unsafe.Pointer 116216 X13 unsafe.Pointer 116217 X14 uint64 116218 X15 struct { 116219 X [0]struct { 116220 X0 *int8 116221 X1 unsafe.Pointer 116222 } 116223 U [4]byte 116224 } 116225 X16 unsafe.Pointer 116226 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_pWInfo.X10))) 116227 _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)) 116228 _rc = i32(0) 116229 _priorJointype = u8(0) 116230 _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 116231 _whereLoopInit(tls, _pNew) 116232 *func() **T7840217 { _iTab = i32(0); return &_pItem }() = (*T7840217)(unsafe.Pointer((*[1]struct { 116233 X0 unsafe.Pointer 116234 X1 *int8 116235 X2 *int8 116236 X3 *int8 116237 X4 unsafe.Pointer 116238 X5 unsafe.Pointer 116239 X6 int32 116240 X7 int32 116241 X8 int32 116242 X9 struct { 116243 X0 uint8 116244 X1 int8 116245 } 116246 X10 uint8 116247 X11 int32 116248 X12 unsafe.Pointer 116249 X13 unsafe.Pointer 116250 X14 uint64 116251 X15 struct { 116252 X [0]struct { 116253 X0 *int8 116254 X1 unsafe.Pointer 116255 } 116256 U [4]byte 116257 } 116258 X16 unsafe.Pointer 116259 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList)) + uintptr(8 /* X2 */))))) 116260 _0: 116261 if uintptr(unsafe.Pointer(_pItem)) >= uintptr(unsafe.Pointer(_pEnd)) { 116262 goto _3 116263 } 116264 116265 _1_mUnusable = uint64(i32(0)) 116266 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(17 /* X3 */))) = uint8(_iTab) 116267 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) = _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _pItem.X11) 116268 if ((int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem))+uintptr(36 /* X9 */))).X0) | int32(_priorJointype)) & i32(10)) == i32(0) { 116269 goto _4 116270 } 116271 116272 _mPrereq = _mPrior 116273 _4: 116274 _priorJointype = (*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(36 /* X9 */))).X0 116275 if ((*XTable)(unsafe.Pointer(_pItem.X4)).X16) == 0 { 116276 goto _5 116277 } 116278 116279 _3_p = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + 68*uintptr(i32(1)))) 116280 _6: 116281 if uintptr(unsafe.Pointer(_3_p)) >= uintptr(unsafe.Pointer(_pEnd)) { 116282 goto _9 116283 } 116284 116285 if _1_mUnusable == 0 && (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_p))+uintptr(36 /* X9 */))).X0)&i32(10)) == 0 { 116286 goto _11 116287 } 116288 116289 { 116290 p := &_1_mUnusable 116291 *p = (*p) | _sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _3_p.X11) 116292 sink992 = *p 116293 } 116294 _11: 116295 *(*uintptr)(unsafe.Pointer(&_3_p)) += uintptr(68) 116296 goto _6 116297 116298 _9: 116299 _rc = _whereLoopAddVirtual(tls, _pBuilder, _mPrereq, _1_mUnusable) 116300 goto _12 116301 116302 _5: 116303 _rc = _whereLoopAddBtree(tls, _pBuilder, _mPrereq) 116304 _12: 116305 if _rc != i32(0) { 116306 goto _13 116307 } 116308 116309 _rc = _whereLoopAddOr(tls, _pBuilder, _mPrereq, _1_mUnusable) 116310 _13: 116311 { 116312 p := &_mPrior 116313 *p = (*p) | (_pNew.X1) 116314 sink992 = *p 116315 } 116316 if _rc == 0 && (_db.X17) == 0 { 116317 goto _15 116318 } 116319 116320 goto _3 116321 116322 _15: 116323 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _iTab += 1; return &_pItem }())) += uintptr(68) 116324 goto _0 116325 116326 _3: 116327 _whereLoopClear(tls, _db, _pNew) 116328 r0 = _rc 116329 return 116330 116331 } 116332 116333 func _whereLoopAddVirtual(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64, _mUnusable uint64) (r0 int32) { // sqlite3.c:132978:1 116334 var _rc int32 // sqlite3.c:132983:7 116335 _ = _rc 116336 var _pWInfo *XWhereInfo // sqlite3.c:132984:13 116337 _ = _pWInfo 116338 var _pParse *XParse // sqlite3.c:132985:9 116339 _ = _pParse 116340 var _pWC *XWhereClause // sqlite3.c:132986:15 116341 _ = _pWC 116342 var _pSrc *T7840217 // sqlite3.c:132987:23 116343 _ = _pSrc 116344 var _p *Xsqlite3_index_info // sqlite3.c:132988:22 116345 _ = _p 116346 var _nConstraint int32 // sqlite3.c:132989:7 116347 _ = _nConstraint 116348 var _bIn int32 // sqlite3.c:132990:7 116349 _ = _bIn 116350 var _pNew *XWhereLoop // sqlite3.c:132991:13 116351 _ = _pNew 116352 var _mBest uint64 // sqlite3.c:132992:11 116353 _ = _mBest 116354 var _mNoOmit uint16 // sqlite3.c:132993:7 116355 _ = _mNoOmit 116356 var _2_seenZero int32 // sqlite3.c:133025:9 116357 _ = _2_seenZero 116358 var _2_seenZeroNoIN int32 // sqlite3.c:133026:9 116359 _ = _2_seenZeroNoIN 116360 var _2_mPrev uint64 // sqlite3.c:133027:13 116361 _ = _2_mPrev 116362 var _2_mBestNoIn uint64 // sqlite3.c:133028:13 116363 _ = _2_mBestNoIn 116364 var _5_i int32 // sqlite3.c:133047:11 116365 _ = _5_i 116366 var _5_mNext uint64 // sqlite3.c:133048:15 116367 _ = _5_mNext 116368 var _6_mThis uint64 // sqlite3.c:133051:17 116369 _ = _6_mThis 116370 _rc = i32(0) 116371 func() int32 { 116372 if (_mPrereq & _mUnusable) == uint64(i32(0)) { 116373 return i32(0) 116374 } 116375 return func() int32 { 116376 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132995), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualØ00__func__Ø000))), unsafe.Pointer(str(110812))) 116377 crt.X__builtin_abort(tls) 116378 return i32(0) 116379 }() 116380 }() 116381 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 116382 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 116383 _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) 116384 _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 116385 _pSrc = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 116386 X0 unsafe.Pointer 116387 X1 *int8 116388 X2 *int8 116389 X3 *int8 116390 X4 unsafe.Pointer 116391 X5 unsafe.Pointer 116392 X6 int32 116393 X7 int32 116394 X8 int32 116395 X9 struct { 116396 X0 uint8 116397 X1 int8 116398 } 116399 X10 uint8 116400 X11 int32 116401 X12 unsafe.Pointer 116402 X13 unsafe.Pointer 116403 X14 uint64 116404 X15 struct { 116405 X [0]struct { 116406 X0 *int8 116407 X1 unsafe.Pointer 116408 } 116409 U [4]byte 116410 } 116411 X16 unsafe.Pointer 116412 })(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 68*uintptr(_pNew.X3))) 116413 func() int32 { 116414 if ((*XTable)(unsafe.Pointer(_pSrc.X4)).X16) != 0 { 116415 return i32(0) 116416 } 116417 return func() int32 { 116418 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133001), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualØ00__func__Ø000))), unsafe.Pointer(str(110840))) 116419 crt.X__builtin_abort(tls) 116420 return i32(0) 116421 }() 116422 }() 116423 _p = _allocateIndexInfo(tls, _pParse, _pWC, _mUnusable, _pSrc, (*XExprList)(unsafe.Pointer(_pBuilder.X2)), &_mNoOmit) 116424 if _p != (*Xsqlite3_index_info)(unsafe.Pointer(uintptr(i32(0)))) { 116425 goto _4 116426 } 116427 116428 r0 = _sqlite3NomemError(tls, i32(133004)) 116429 return 116430 116431 _4: 116432 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) 116433 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = uint32(i32(1024)) 116434 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = uint16(i32(0)) 116435 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 116436 _nConstraint = _p.X0 116437 if _whereLoopResize(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pNew, _nConstraint) == 0 { 116438 goto _5 116439 } 116440 116441 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_p)) 116442 r0 = _sqlite3NomemError(tls, i32(133012)) 116443 return 116444 116445 _5: 116446 _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, u64(18446744073709551615), uint16(i32(0)), _p, _mNoOmit, &_bIn) 116447 if _rc != i32(0) || store992(&_mBest, (_pNew.X0)&(^_mPrereq)) == uint64(i32(0)) { 116448 goto _7 116449 } 116450 116451 _2_seenZero = i32(0) 116452 _2_seenZeroNoIN = i32(0) 116453 _2_mPrev = u64(0) 116454 _2_mBestNoIn = u64(0) 116455 if _bIn == 0 { 116456 goto _8 116457 } 116458 116459 _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, u64(18446744073709551615), uint16(i32(1)), _p, _mNoOmit, &_bIn) 116460 func() int32 { 116461 if _bIn == i32(0) { 116462 return i32(0) 116463 } 116464 return func() int32 { 116465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133036), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualØ00__func__Ø000))), unsafe.Pointer(str(110864))) 116466 crt.X__builtin_abort(tls) 116467 return i32(0) 116468 }() 116469 }() 116470 _2_mBestNoIn = (_pNew.X0) & (^_mPrereq) 116471 if _2_mBestNoIn != uint64(i32(0)) { 116472 goto _11 116473 } 116474 116475 _2_seenZero = i32(1) 116476 _2_seenZeroNoIN = i32(1) 116477 _11: 116478 _8: 116479 _12: 116480 if _rc != i32(0) { 116481 goto _13 116482 } 116483 116484 _5_mNext = u64(18446744073709551615) 116485 func() int32 { 116486 if _5_mNext > uint64(i32(0)) { 116487 return i32(0) 116488 } 116489 return func() int32 { 116490 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133049), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualØ00__func__Ø000))), unsafe.Pointer(str(110872))) 116491 crt.X__builtin_abort(tls) 116492 return i32(0) 116493 }() 116494 }() 116495 _5_i = i32(0) 116496 _16: 116497 if _5_i >= _nConstraint { 116498 goto _19 116499 } 116500 116501 _6_mThis = ((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr((*T8763263)(unsafe.Pointer(uintptr(_p.X1)+12*uintptr(_5_i))).X3))).X11) & (^_mPrereq) 116502 if _6_mThis <= _2_mPrev || _6_mThis >= _5_mNext { 116503 goto _21 116504 } 116505 116506 _5_mNext = _6_mThis 116507 _21: 116508 _5_i += 1 116509 goto _16 116510 116511 _19: 116512 _2_mPrev = _5_mNext 116513 if _5_mNext != u64(18446744073709551615) { 116514 goto _22 116515 } 116516 116517 goto _13 116518 116519 _22: 116520 if _5_mNext != _mBest && _5_mNext != _2_mBestNoIn { 116521 goto _24 116522 } 116523 116524 goto _12 116525 116526 _24: 116527 _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, _5_mNext|_mPrereq, uint16(i32(0)), _p, _mNoOmit, &_bIn) 116528 if (_pNew.X0) != _mPrereq { 116529 goto _25 116530 } 116531 116532 _2_seenZero = i32(1) 116533 if _bIn != i32(0) { 116534 goto _26 116535 } 116536 116537 _2_seenZeroNoIN = i32(1) 116538 _26: 116539 _25: 116540 goto _12 116541 116542 _13: 116543 if _rc != i32(0) || _2_seenZero != i32(0) { 116544 goto _28 116545 } 116546 116547 _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, _mPrereq, uint16(i32(0)), _p, _mNoOmit, &_bIn) 116548 if _bIn != i32(0) { 116549 goto _29 116550 } 116551 116552 _2_seenZeroNoIN = i32(1) 116553 _29: 116554 _28: 116555 if _rc != i32(0) || _2_seenZeroNoIN != i32(0) { 116556 goto _31 116557 } 116558 116559 _rc = _whereLoopAddVirtualOne(tls, _pBuilder, _mPrereq, _mPrereq, uint16(i32(1)), _p, _mNoOmit, &_bIn) 116560 _31: 116561 _7: 116562 if (_p.X7) == 0 { 116563 goto _32 116564 } 116565 116566 Xsqlite3_free(tls, (unsafe.Pointer)(_p.X6)) 116567 _32: 116568 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_p)) 116569 r0 = _rc 116570 return 116571 116572 } 116573 116574 var _whereLoopAddVirtualØ00__func__Ø000 [20]int8 // - 116575 116576 func init() { 116577 crt.Xstrncpy(nil, &_whereLoopAddVirtualØ00__func__Ø000[0], str(110880), 20) 116578 } 116579 116580 func _allocateIndexInfo(tls *crt.TLS, _pParse *XParse, _pWC *XWhereClause, _mUnusable uint64, _pSrc *T7840217, _pOrderBy *XExprList, _pmNoOmit *uint16) (r0 *Xsqlite3_index_info) { // sqlite3.c:130668:1 116581 var _i int32 // sqlite3.c:130676:7 116582 _ = _i 116583 var _j int32 // sqlite3.c:130676:10 116584 _ = _j 116585 var _nTerm int32 // sqlite3.c:130677:7 116586 _ = _nTerm 116587 var _pIdxCons *T8763263 // sqlite3.c:130678:35 116588 _ = _pIdxCons 116589 var _pIdxOrderBy *T8763350 // sqlite3.c:130679:32 116590 _ = _pIdxOrderBy 116591 var _pUsage *T8763350 // sqlite3.c:130680:41 116592 _ = _pUsage 116593 var _pTerm *XWhereTerm // sqlite3.c:130681:13 116594 _ = _pTerm 116595 var _nOrderBy int32 // sqlite3.c:130682:7 116596 _ = _nOrderBy 116597 var _pIdxInfo *Xsqlite3_index_info // sqlite3.c:130683:22 116598 _ = _pIdxInfo 116599 var _mNoOmit uint16 // sqlite3.c:130684:7 116600 _ = _mNoOmit 116601 var _2_n int32 // sqlite3.c:130708:9 116602 _ = _2_n 116603 var _3_pExpr *XExpr // sqlite3.c:130710:12 116604 _ = _3_pExpr 116605 var _6_op uint8 // sqlite3.c:130744:8 116606 _ = _6_op 116607 var _9_pExpr *XExpr // sqlite3.c:130785:10 116608 _ = _9_pExpr 116609 _mNoOmit = u16(0) 116610 *func() **XWhereTerm { _i = store961(&_nTerm, i32(0)); return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 116611 _0: 116612 if _i >= (_pWC.X3) { 116613 goto _3 116614 } 116615 116616 if (_pTerm.X8) == (_pSrc.X11) { 116617 goto _4 116618 } 116619 116620 goto _1 116621 116622 _4: 116623 if ((_pTerm.X11) & _mUnusable) == 0 { 116624 goto _5 116625 } 116626 116627 goto _1 116628 116629 _5: 116630 func() int32 { 116631 if ((int32(_pTerm.X4) & i32(-2049)) & ((int32(_pTerm.X4) & i32(-2049)) - i32(1))) == i32(0) { 116632 return i32(0) 116633 } 116634 return func() int32 { 116635 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130691), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateIndexInfoØ00__func__Ø000))), unsafe.Pointer(str(110900))) 116636 crt.X__builtin_abort(tls) 116637 return i32(0) 116638 }() 116639 }() 116640 if (int32(_pTerm.X4) & i32(-2433)) != i32(0) { 116641 goto _8 116642 } 116643 116644 goto _1 116645 116646 _8: 116647 if (int32(_pTerm.X3) & i32(0)) == 0 { 116648 goto _9 116649 } 116650 116651 goto _1 116652 116653 _9: 116654 func() int32 { 116655 if (*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) >= i32(-1) { 116656 return i32(0) 116657 } 116658 return func() int32 { 116659 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130698), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateIndexInfoØ00__func__Ø000))), unsafe.Pointer(str(110944))) 116660 crt.X__builtin_abort(tls) 116661 return i32(0) 116662 }() 116663 }() 116664 _nTerm += 1 116665 _1: 116666 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i += 1; return &_pTerm }())) += uintptr(48) 116667 goto _0 116668 116669 _3: 116670 _nOrderBy = i32(0) 116671 if _pOrderBy == nil { 116672 goto _12 116673 } 116674 116675 _2_n = _pOrderBy.X0 116676 _i = i32(0) 116677 _13: 116678 if _i >= _2_n { 116679 goto _16 116680 } 116681 116682 _3_pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 20*uintptr(_i))).X0)) 116683 if int32(_3_pExpr.X0) == i32(152) && (_3_pExpr.X8) == (_pSrc.X11) { 116684 goto _18 116685 } 116686 116687 goto _16 116688 116689 _18: 116690 _i += 1 116691 goto _13 116692 116693 _16: 116694 if _i != _2_n { 116695 goto _19 116696 } 116697 116698 _nOrderBy = _2_n 116699 _19: 116700 _12: 116701 _pIdxInfo = (*Xsqlite3_index_info)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64((u32(64)+(u32(20)*uint32(_nTerm)))+(u32(8)*uint32(_nOrderBy)))))) 116702 if _pIdxInfo != (*Xsqlite3_index_info)(unsafe.Pointer(uintptr(i32(0)))) { 116703 goto _20 116704 } 116705 116706 _sqlite3ErrorMsg(tls, _pParse, str(62796)) 116707 r0 = (*Xsqlite3_index_info)(unsafe.Pointer(uintptr(i32(0)))) 116708 return 116709 116710 _20: 116711 _pIdxCons = (*T8763263)(unsafe.Pointer((*Xsqlite3_index_info)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + 64*uintptr(i32(1)))))) 116712 _pIdxOrderBy = (*T8763350)(unsafe.Pointer((*T8763263)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons)) + 12*uintptr(_nTerm))))) 116713 _pUsage = (*T8763350)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxOrderBy)) + 8*uintptr(_nOrderBy))) 116714 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(0 /* X0 */))) = _nTerm 116715 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(8 /* X2 */))) = _nOrderBy 116716 *(**T8763263)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(4 /* X1 */))))) = _pIdxCons 116717 *(**T8763350)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(12 /* X3 */))))) = _pIdxOrderBy 116718 *(**T8763350)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(16 /* X4 */))))) = _pUsage 116719 *func() **XWhereTerm { _i = store961(&_j, i32(0)); return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 116720 _21: 116721 if _i >= (_pWC.X3) { 116722 goto _24 116723 } 116724 116725 if (_pTerm.X8) == (_pSrc.X11) { 116726 goto _25 116727 } 116728 116729 goto _22 116730 116731 _25: 116732 if ((_pTerm.X11) & _mUnusable) == 0 { 116733 goto _26 116734 } 116735 116736 goto _22 116737 116738 _26: 116739 func() int32 { 116740 if ((int32(_pTerm.X4) & i32(-2049)) & ((int32(_pTerm.X4) & i32(-2049)) - i32(1))) == i32(0) { 116741 return i32(0) 116742 } 116743 return func() int32 { 116744 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130747), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateIndexInfoØ00__func__Ø000))), unsafe.Pointer(str(110900))) 116745 crt.X__builtin_abort(tls) 116746 return i32(0) 116747 }() 116748 }() 116749 if (int32(_pTerm.X4) & i32(-2433)) != i32(0) { 116750 goto _29 116751 } 116752 116753 goto _22 116754 116755 _29: 116756 if (int32(_pTerm.X3) & i32(0)) == 0 { 116757 goto _30 116758 } 116759 116760 goto _22 116761 116762 _30: 116763 func() int32 { 116764 if (*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) >= i32(-1) { 116765 return i32(0) 116766 } 116767 return func() int32 { 116768 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130754), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateIndexInfoØ00__func__Ø000))), unsafe.Pointer(str(110944))) 116769 crt.X__builtin_abort(tls) 116770 return i32(0) 116771 }() 116772 }() 116773 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763263)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(0 /* X0 */))) = *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))) 116774 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763263)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(8 /* X3 */))) = _i 116775 _6_op = uint8(int32(uint8(_pTerm.X4)) & i32(8191)) 116776 if int32(_6_op) != i32(1) { 116777 goto _33 116778 } 116779 116780 _6_op = uint8(i32(2)) 116781 _33: 116782 if int32(_6_op) != i32(64) { 116783 goto _34 116784 } 116785 116786 _6_op = _pTerm.X6 116787 _34: 116788 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763263)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(4 /* X1 */))) = _6_op 116789 i32(0) 116790 i32(0) 116791 i32(0) 116792 i32(0) 116793 i32(0) 116794 i32(0) 116795 func() int32 { 116796 if (int32(_pTerm.X4) & i32(127)) != 0 { 116797 return i32(0) 116798 } 116799 return func() int32 { 116800 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130772), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocateIndexInfoØ00__func__Ø000))), unsafe.Pointer(str(110972))) 116801 crt.X__builtin_abort(tls) 116802 return i32(0) 116803 }() 116804 }() 116805 if (int32(_6_op)&i32(60)) == 0 || _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5))) == 0 { 116806 goto _38 116807 } 116808 116809 if _i >= i32(16) { 116810 goto _39 116811 } 116812 116813 { 116814 p := &_mNoOmit 116815 *p = uint16(int32(*p) | (i32(1) << uint(_i))) 116816 sink6908 = *p 116817 } 116818 _39: 116819 if int32(_6_op) != i32(16) { 116820 goto _40 116821 } 116822 116823 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763263)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(8)) 116824 _40: 116825 if int32(_6_op) != i32(4) { 116826 goto _41 116827 } 116828 116829 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763263)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons))+12*uintptr(_j))))) + uintptr(4 /* X1 */))) = uint8(i32(32)) 116830 _41: 116831 _38: 116832 _j += 1 116833 _22: 116834 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i += 1; return &_pTerm }())) += uintptr(48) 116835 goto _21 116836 116837 _24: 116838 _i = i32(0) 116839 _42: 116840 if _i >= _nOrderBy { 116841 goto _45 116842 } 116843 116844 _9_pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 20*uintptr(_i))).X0)) 116845 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763350)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxOrderBy))+8*uintptr(_i))))) + uintptr(0 /* X0 */))) = int32(_9_pExpr.X9) 116846 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8763350)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxOrderBy))+8*uintptr(_i))))) + uintptr(4 /* X1 */))) = (*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 20*uintptr(_i))).X3 116847 _i += 1 116848 goto _42 116849 116850 _45: 116851 *_pmNoOmit = _mNoOmit 116852 r0 = _pIdxInfo 116853 return 116854 116855 } 116856 116857 var _allocateIndexInfoØ00__func__Ø000 [18]int8 // - 116858 116859 func init() { 116860 crt.Xstrncpy(nil, &_allocateIndexInfoØ00__func__Ø000[0], str(111040), 18) 116861 } 116862 116863 func _whereLoopResize(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop, _n int32) (r0 int32) { // sqlite3.c:131641:1 116864 var _paNew **XWhereTerm // sqlite3.c:131642:13 116865 _ = _paNew 116866 if int32(_p.X12) < _n { 116867 goto _0 116868 } 116869 116870 r0 = i32(0) 116871 return 116872 116873 _0: 116874 _n = (_n + i32(7)) & i32(-8) 116875 _paNew = (**XWhereTerm)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(4)*uint32(_n))))) 116876 if _paNew != (**XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 116877 goto _1 116878 } 116879 116880 r0 = _sqlite3NomemError(tls, i32(131646)) 116881 return 116882 116883 _1: 116884 crt.Xmemcpy(tls, (unsafe.Pointer)(_paNew), (unsafe.Pointer)(_p.X13), u32(4)*uint32(_p.X12)) 116885 if (**XWhereTerm)(unsafe.Pointer(_p.X13)) == (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(60 /* X15 */))))) { 116886 goto _2 116887 } 116888 116889 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X13)) 116890 _2: 116891 *(***XWhereTerm)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X13 */))))) = _paNew 116892 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X12 */))) = uint16(_n) 116893 r0 = i32(0) 116894 return 116895 116896 } 116897 116898 func _whereLoopAddVirtualOne(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64, _mUsable uint64, _mExclude uint16, _pIdxInfo *Xsqlite3_index_info, _mNoOmit uint16, _pbIn *int32) (r0 int32) { // sqlite3.c:132824:1 116899 var _pWC *XWhereClause // sqlite3.c:132833:15 116900 _ = _pWC 116901 var _pIdxCons *T8763263 // sqlite3.c:132834:35 116902 _ = _pIdxCons 116903 var _pUsage *T8763350 // sqlite3.c:132835:41 116904 _ = _pUsage 116905 var _i int32 // sqlite3.c:132836:7 116906 _ = _i 116907 var _mxTerm int32 // sqlite3.c:132837:7 116908 _ = _mxTerm 116909 var _rc int32 // sqlite3.c:132838:7 116910 _ = _rc 116911 var _pNew *XWhereLoop // sqlite3.c:132839:13 116912 _ = _pNew 116913 var _pParse *XParse // sqlite3.c:132840:9 116914 _ = _pParse 116915 var _pSrc *T7840217 // sqlite3.c:132841:23 116916 _ = _pSrc 116917 var _nConstraint int32 // sqlite3.c:132842:7 116918 _ = _nConstraint 116919 var _1_pTerm *XWhereTerm // sqlite3.c:132852:15 116920 _ = _1_pTerm 116921 var _3_iTerm int32 // sqlite3.c:132882:9 116922 _ = _3_iTerm 116923 var _4_pTerm *XWhereTerm // sqlite3.c:132884:17 116924 _ = _4_pTerm 116925 var _4_j int32 // sqlite3.c:132885:11 116926 _ = _4_j 116927 _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) 116928 _pUsage = (*T8763350)(unsafe.Pointer(_pIdxInfo.X4)) 116929 _rc = i32(0) 116930 _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 116931 _pParse = (*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)).X0)) 116932 _pSrc = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 116933 X0 unsafe.Pointer 116934 X1 *int8 116935 X2 *int8 116936 X3 *int8 116937 X4 unsafe.Pointer 116938 X5 unsafe.Pointer 116939 X6 int32 116940 X7 int32 116941 X8 int32 116942 X9 struct { 116943 X0 uint8 116944 X1 int8 116945 } 116946 X10 uint8 116947 X11 int32 116948 X12 unsafe.Pointer 116949 X13 unsafe.Pointer 116950 X14 uint64 116951 X15 struct { 116952 X [0]struct { 116953 X0 *int8 116954 X1 unsafe.Pointer 116955 } 116956 U [4]byte 116957 } 116958 X16 unsafe.Pointer 116959 })(unsafe.Pointer(uintptr((*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)).X1)+uintptr(8 /* X2 */))))) + 68*uintptr(_pNew.X3))) 116960 _nConstraint = _pIdxInfo.X0 116961 func() int32 { 116962 if (_mUsable & _mPrereq) == _mPrereq { 116963 return i32(0) 116964 } 116965 return func() int32 { 116966 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132844), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualOneØ00__func__Ø000))), unsafe.Pointer(str(111060))) 116967 crt.X__builtin_abort(tls) 116968 return i32(0) 116969 }() 116970 }() 116971 *_pbIn = i32(0) 116972 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _mPrereq 116973 _pIdxCons = *(**T8763263)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(4 /* X1 */))))) 116974 _i = i32(0) 116975 _2: 116976 if _i >= _nConstraint { 116977 goto _5 116978 } 116979 116980 _1_pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_pIdxCons.X3))) 116981 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons)) + uintptr(5 /* X2 */))) = uint8(i32(0)) 116982 if ((_1_pTerm.X11)&_mUsable) != (_1_pTerm.X11) || (int32(_1_pTerm.X4)&int32(_mExclude)) != i32(0) { 116983 goto _7 116984 } 116985 116986 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxCons)) + uintptr(5 /* X2 */))) = uint8(i32(1)) 116987 _7: 116988 *(*uintptr)(unsafe.Pointer(func() **T8763263 { _i += 1; return &_pIdxCons }())) += uintptr(12) 116989 goto _2 116990 116991 _5: 116992 crt.Xmemset(tls, (unsafe.Pointer)(_pUsage), i32(0), u32(8)*uint32(_nConstraint)) 116993 func() int32 { 116994 if (_pIdxInfo.X7) == i32(0) { 116995 return i32(0) 116996 } 116997 return func() int32 { 116998 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132863), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualOneØ00__func__Ø000))), unsafe.Pointer(str(111092))) 116999 crt.X__builtin_abort(tls) 117000 return i32(0) 117001 }() 117002 }() 117003 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(24 /* X6 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 117004 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(20 /* X5 */))) = i32(0) 117005 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(32 /* X8 */))) = i32(0) 117006 *(*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(36 /* X9 */))) = float64(5e+98) 117007 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(44 /* X10 */))) = int64(i32(25)) 117008 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(52 /* X11 */))) = i32(0) 117009 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(56 /* X12 */))) = uint64(int64(_pSrc.X14)) 117010 _rc = _vtabBestIndex(tls, _pParse, (*XTable)(unsafe.Pointer(_pSrc.X4)), _pIdxInfo) 117011 if _rc == 0 { 117012 goto _10 117013 } 117014 117015 r0 = _rc 117016 return 117017 117018 _10: 117019 _mxTerm = i32(-1) 117020 func() int32 { 117021 if int32(_pNew.X12) >= _nConstraint { 117022 return i32(0) 117023 } 117024 return func() int32 { 117025 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132877), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualOneØ00__func__Ø000))), unsafe.Pointer(str(111124))) 117026 crt.X__builtin_abort(tls) 117027 return i32(0) 117028 }() 117029 }() 117030 _i = i32(0) 117031 _13: 117032 if _i >= _nConstraint { 117033 goto _16 117034 } 117035 117036 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(_i))) = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 117037 _i += 1 117038 goto _13 117039 117040 _16: 117041 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(6 /* X3 */))) = uint16(i32(0)) 117042 _pIdxCons = *(**T8763263)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(4 /* X1 */))))) 117043 _i = i32(0) 117044 _17: 117045 if _i >= _nConstraint { 117046 goto _20 117047 } 117048 117049 if store961(&_3_iTerm, ((*T8763350)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pUsage))+8*uintptr(_i))).X0)-i32(1)) < i32(0) { 117050 goto _21 117051 } 117052 117053 _4_j = _pIdxCons.X3 117054 if _3_iTerm < _nConstraint && _4_j >= i32(0) && _4_j < (_pWC.X3) && (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(_3_iTerm)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) && int32(_pIdxCons.X2) != i32(0) { 117055 goto _26 117056 } 117057 117058 _rc = i32(1) 117059 _sqlite3ErrorMsg(tls, _pParse, str(111152), unsafe.Pointer((*XTable)(unsafe.Pointer(_pSrc.X4)).X0)) 117060 r0 = _rc 117061 return 117062 117063 _26: 117064 _4_pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_4_j))) 117065 { 117066 p := (*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) 117067 *p = (*p) | (_4_pTerm.X11) 117068 sink992 = *p 117069 } 117070 func() int32 { 117071 if _3_iTerm < int32(_pNew.X12) { 117072 return i32(0) 117073 } 117074 return func() int32 { 117075 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132901), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualOneØ00__func__Ø000))), unsafe.Pointer(str(111180))) 117076 crt.X__builtin_abort(tls) 117077 return i32(0) 117078 }() 117079 }() 117080 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(_3_iTerm))) = _4_pTerm 117081 if _3_iTerm <= _mxTerm { 117082 goto _29 117083 } 117084 117085 _mxTerm = _3_iTerm 117086 _29: 117087 if _3_iTerm >= i32(16) || ((*T8763350)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pUsage))+8*uintptr(_i))).X1) == 0 { 117088 goto _31 117089 } 117090 117091 { 117092 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(6 /* X3 */))) 117093 *p = uint16(int32(*p) | (i32(1) << uint(_3_iTerm))) 117094 sink6908 = *p 117095 } 117096 _31: 117097 if (int32(_4_pTerm.X4) & i32(1)) == i32(0) { 117098 goto _32 117099 } 117100 117101 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(32 /* X8 */))) = i32(0) 117102 { 117103 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(52 /* X11 */))) 117104 *p = (*p) & i32(-2) 117105 sink961 = *p 117106 } 117107 *_pbIn = i32(1) 117108 func() int32 { 117109 if (int32(_mExclude) & i32(1)) == i32(0) { 117110 return i32(0) 117111 } 117112 return func() int32 { 117113 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132915), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualOneØ00__func__Ø000))), unsafe.Pointer(str(111200))) 117114 crt.X__builtin_abort(tls) 117115 return i32(0) 117116 }() 117117 }() 117118 _32: 117119 _21: 117120 *(*uintptr)(unsafe.Pointer(func() **T8763263 { _i += 1; return &_pIdxCons }())) += uintptr(12) 117121 goto _17 117122 117123 _20: 117124 { 117125 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(6 /* X3 */))) 117126 *p = uint16(int32(*p) & (^int32(_mNoOmit))) 117127 sink6908 = *p 117128 } 117129 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = uint16(_mxTerm + i32(1)) 117130 func() int32 { 117131 if int32(_pNew.X10) <= int32(_pNew.X12) { 117132 return i32(0) 117133 } 117134 return func() int32 { 117135 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132922), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddVirtualOneØ00__func__Ø000))), unsafe.Pointer(str(111224))) 117136 crt.X__builtin_abort(tls) 117137 return i32(0) 117138 }() 117139 }() 117140 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = _pIdxInfo.X5 117141 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(_pIdxInfo.X7) 117142 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdxInfo)) + uintptr(28 /* X7 */))) = i32(0) 117143 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X4 */))) = _pIdxInfo.X6 117144 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(5 /* X2 */))) = int8(func() int32 { 117145 if (_pIdxInfo.X8) != 0 { 117146 return (_pIdxInfo.X2) 117147 } 117148 return i32(0) 117149 }()) 117150 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) 117151 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstFromDouble(tls, _pIdxInfo.X9) 117152 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _sqlite3LogEst(tls, uint64(_pIdxInfo.X10)) 117153 if ((_pIdxInfo.X11) & i32(1)) == 0 { 117154 goto _39 117155 } 117156 117157 { 117158 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 117159 *p = (*p) | uint32(i32(4096)) 117160 sink985 = *p 117161 } 117162 goto _40 117163 117164 _39: 117165 { 117166 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 117167 *p = (*p) & uint32(i32(-4097)) 117168 sink985 = *p 117169 } 117170 _40: 117171 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) 117172 if ((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(28 /* X8 */))))).X1) == 0 { 117173 goto _41 117174 } 117175 117176 Xsqlite3_free(tls, (unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))).X4)) 117177 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 117178 _41: 117179 r0 = _rc 117180 return 117181 117182 } 117183 117184 var _whereLoopAddVirtualOneØ00__func__Ø000 [23]int8 // - 117185 117186 func init() { 117187 crt.Xstrncpy(nil, &_whereLoopAddVirtualOneØ00__func__Ø000[0], str(111252), 23) 117188 } 117189 117190 func _vtabBestIndex(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _p *Xsqlite3_index_info) (r0 int32) { // sqlite3.c:130808:1 117191 var _pVtab *Xsqlite3_vtab // sqlite3.c:130809:16 117192 _ = _pVtab 117193 var _rc int32 // sqlite3.c:130810:7 117194 _ = _rc 117195 _pVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_sqlite3GetVTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pTab).X2)) 117196 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, *Xsqlite3_index_info) int32)(unsafe.Pointer(&struct { 117197 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 117198 }{((*Xsqlite3_module)(unsafe.Pointer(_pVtab.X0)).X3)})))(tls, _pVtab, _p) 117199 if _rc == i32(0) { 117200 goto _0 117201 } 117202 117203 if _rc != i32(7) { 117204 goto _1 117205 } 117206 117207 _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) 117208 goto _2 117209 117210 _1: 117211 if (_pVtab.X2) != nil { 117212 goto _3 117213 } 117214 117215 _sqlite3ErrorMsg(tls, _pParse, str(25612), unsafe.Pointer(_sqlite3ErrStr(tls, _rc))) 117216 goto _4 117217 117218 _3: 117219 _sqlite3ErrorMsg(tls, _pParse, str(25612), unsafe.Pointer(_pVtab.X2)) 117220 _4: 117221 _2: 117222 _0: 117223 Xsqlite3_free(tls, (unsafe.Pointer)(_pVtab.X2)) 117224 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVtab)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 117225 r0 = _pParse.X16 117226 return 117227 117228 } 117229 117230 func _sqlite3LogEstFromDouble(tls *crt.TLS, _x float64) (r0 int16) { // sqlite3.c:29040:1 117231 var _a uint64 // sqlite3.c:29041:7 117232 _ = _a 117233 var _e int16 // sqlite3.c:29042:10 117234 _ = _e 117235 i32(0) 117236 if _x > float64(i32(1)) { 117237 goto _0 117238 } 117239 117240 r0 = int16(i32(0)) 117241 return 117242 117243 _0: 117244 if _x > float64(i32(2000000000)) { 117245 goto _1 117246 } 117247 117248 r0 = _sqlite3LogEst(tls, uint64(_x)) 117249 return 117250 117251 _1: 117252 crt.Xmemcpy(tls, (unsafe.Pointer)(&_a), (unsafe.Pointer)(&_x), uint32(i32(8))) 117253 _e = int16((_a >> uint(i32(52))) - uint64(i32(1022))) 117254 r0 = int16(int32(_e) * i32(10)) 117255 return 117256 117257 } 117258 117259 func _whereLoopInsert(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _pTemplate *XWhereLoop) (r0 int32) { // sqlite3.c:131881:1 117260 var _ppPrev **XWhereLoop // sqlite3.c:131882:13 117261 _ = _ppPrev 117262 var _p *XWhereLoop // sqlite3.c:131882:23 117263 _ = _p 117264 var _pWInfo *XWhereInfo // sqlite3.c:131883:13 117265 _ = _pWInfo 117266 var _db *Xsqlite3 // sqlite3.c:131884:11 117267 _ = _db 117268 var _rc int32 // sqlite3.c:131885:7 117269 _ = _rc 117270 var _6_ppTail **XWhereLoop // sqlite3.c:131951:15 117271 _ = _6_ppTail 117272 var _6_pToDel *XWhereLoop // sqlite3.c:131952:15 117273 _ = _6_pToDel 117274 var _8_pIndex *XIndex // sqlite3.c:131970:11 117275 _ = _8_pIndex 117276 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 117277 _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)) 117278 if (*XWhereOrSet)(unsafe.Pointer(_pBuilder.X4)) == (*XWhereOrSet)(unsafe.Pointer(uintptr(i32(0)))) { 117279 goto _0 117280 } 117281 117282 if (_pTemplate.X10) == 0 { 117283 goto _1 117284 } 117285 117286 _whereOrInsert(tls, (*XWhereOrSet)(unsafe.Pointer(_pBuilder.X4)), _pTemplate.X0, _pTemplate.X6, _pTemplate.X7) 117287 _1: 117288 r0 = i32(0) 117289 return 117290 117291 _0: 117292 _whereLoopAdjustCost(tls, (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)), _pTemplate) 117293 _ppPrev = _whereLoopFindLesser(tls, (**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(56 /* X18 */))))), _pTemplate) 117294 if _ppPrev != (**XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { 117295 goto _2 117296 } 117297 117298 r0 = i32(0) 117299 return 117300 117301 _2: 117302 _p = *_ppPrev 117303 if _p != (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { 117304 goto _4 117305 } 117306 117307 *_ppPrev = store8892503(&_p, (*XWhereLoop)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(72)))))) 117308 if _p != (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { 117309 goto _5 117310 } 117311 117312 r0 = _sqlite3NomemError(tls, i32(131944)) 117313 return 117314 117315 _5: 117316 _whereLoopInit(tls, _p) 117317 *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X14 */))))) = (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) 117318 goto _6 117319 117320 _4: 117321 _6_ppTail = (**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X14 */))))) 117322 _7: 117323 if (*_6_ppTail) == nil { 117324 goto _8 117325 } 117326 117327 _6_ppTail = _whereLoopFindLesser(tls, _6_ppTail, _pTemplate) 117328 if _6_ppTail != (**XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { 117329 goto _9 117330 } 117331 117332 goto _8 117333 117334 _9: 117335 _6_pToDel = *_6_ppTail 117336 if _6_pToDel != (*XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) { 117337 goto _10 117338 } 117339 117340 goto _8 117341 117342 _10: 117343 *_6_ppTail = (*XWhereLoop)(unsafe.Pointer(_6_pToDel.X14)) 117344 _whereLoopDelete(tls, _db, _6_pToDel) 117345 goto _7 117346 117347 _8: 117348 _6: 117349 _rc = _whereLoopXfer(tls, _db, _p, _pTemplate) 117350 if ((_p.X9) & uint32(i32(1024))) != uint32(i32(0)) { 117351 goto _11 117352 } 117353 117354 _8_pIndex = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X8 */))))).X3)) 117355 if _8_pIndex == nil || (_8_pIndex.X11) != i32(0) { 117356 goto _13 117357 } 117358 117359 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 117360 _13: 117361 _11: 117362 r0 = _rc 117363 return 117364 117365 } 117366 117367 func _whereOrInsert(tls *crt.TLS, _pSet *XWhereOrSet, _prereq uint64, _rRun int16, _nOut int16) (r0 int32) { // sqlite3.c:129961:1 117368 var _i uint16 // sqlite3.c:129967:7 117369 _ = _i 117370 var _p *XWhereOrCost // sqlite3.c:129968:15 117371 _ = _p 117372 *func() **XWhereOrCost { _i = _pSet.X0; return &_p }() = (*XWhereOrCost)(unsafe.Pointer((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet)) + uintptr(4 /* X1 */))))) 117373 _0: 117374 if int32(_i) <= i32(0) { 117375 goto _3 117376 } 117377 117378 if int32(_rRun) > int32(_p.X1) || (_prereq&(_p.X0)) != _prereq { 117379 goto _5 117380 } 117381 117382 goto _whereOrInsert_done 117383 117384 _5: 117385 if int32(_p.X1) > int32(_rRun) || ((_p.X0)&_prereq) != (_p.X0) { 117386 goto _7 117387 } 117388 117389 r0 = i32(0) 117390 return 117391 117392 _7: 117393 *(*uintptr)(unsafe.Pointer(func() **XWhereOrCost { _i -= 1; return &_p }())) += uintptr(12) 117394 goto _0 117395 117396 _3: 117397 if int32(_pSet.X0) >= i32(3) { 117398 goto _8 117399 } 117400 117401 _p = (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(4 /* X1 */))))) + 12*uintptr(postInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(0 /* X0 */))), uint16(1))))) 117402 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _nOut 117403 goto _9 117404 117405 _8: 117406 _p = (*XWhereOrCost)(unsafe.Pointer((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet)) + uintptr(4 /* X1 */))))) 117407 _i = uint16(i32(1)) 117408 _10: 117409 if int32(_i) >= int32(_pSet.X0) { 117410 goto _13 117411 } 117412 117413 if int32(_p.X1) <= int32((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(4 /* X1 */)))))+12*uintptr(_i))).X1) { 117414 goto _14 117415 } 117416 117417 _p = (*XWhereOrCost)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSet))+uintptr(4 /* X1 */))))))) + uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer(uintptr(_i)))))*uintptr(unsafe.Pointer((*XWhereOrCost)(unsafe.Pointer(uintptr(12))))))))))) 117418 _14: 117419 _i += 1 117420 goto _10 117421 117422 _13: 117423 if int32(_p.X1) > int32(_rRun) { 117424 goto _15 117425 } 117426 117427 r0 = i32(0) 117428 return 117429 117430 _15: 117431 _9: 117432 _whereOrInsert_done: 117433 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _prereq 117434 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X1 */))) = _rRun 117435 if int32(_p.X2) <= int32(_nOut) { 117436 goto _16 117437 } 117438 117439 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X2 */))) = _nOut 117440 _16: 117441 r0 = i32(1) 117442 return 117443 117444 } 117445 117446 func _whereLoopAdjustCost(tls *crt.TLS, _p *XWhereLoop, _pTemplate *XWhereLoop) { // sqlite3.c:131757:1 117447 if ((_pTemplate.X9) & uint32(i32(512))) != uint32(i32(0)) { 117448 goto _0 117449 } 117450 117451 return 117452 117453 _0: 117454 _1: 117455 if _p == nil { 117456 goto _4 117457 } 117458 117459 if int32(_p.X3) == int32(_pTemplate.X3) { 117460 goto _5 117461 } 117462 117463 goto _2 117464 117465 _5: 117466 if ((_p.X9) & uint32(i32(512))) != uint32(i32(0)) { 117467 goto _6 117468 } 117469 117470 goto _2 117471 117472 _6: 117473 if _whereLoopCheaperProperSubset(tls, _p, _pTemplate) == 0 { 117474 goto _7 117475 } 117476 117477 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(22 /* X6 */))) = _p.X6 117478 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(24 /* X7 */))) = int16(int32(_p.X7) - i32(1)) 117479 goto _8 117480 117481 _7: 117482 if _whereLoopCheaperProperSubset(tls, _pTemplate, _p) == 0 { 117483 goto _9 117484 } 117485 117486 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(22 /* X6 */))) = _p.X6 117487 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTemplate)) + uintptr(24 /* X7 */))) = int16(int32(_p.X7) + i32(1)) 117488 _9: 117489 _8: 117490 _2: 117491 _p = (*XWhereLoop)(unsafe.Pointer(_p.X14)) 117492 goto _1 117493 117494 _4: 117495 return 117496 117497 } 117498 117499 func _whereLoopCheaperProperSubset(tls *crt.TLS, _pX *XWhereLoop, _pY *XWhereLoop) (r0 int32) { // sqlite3.c:131720:1 117500 var _i int32 // sqlite3.c:131724:7 117501 _ = _i 117502 var _j int32 // sqlite3.c:131724:10 117503 _ = _j 117504 if (int32(_pX.X10) - int32(_pX.X11)) < (int32(_pY.X10) - int32(_pY.X11)) { 117505 goto _0 117506 } 117507 117508 r0 = i32(0) 117509 return 117510 117511 _0: 117512 if int32(_pY.X11) <= int32(_pX.X11) { 117513 goto _1 117514 } 117515 117516 r0 = i32(0) 117517 return 117518 117519 _1: 117520 if int32(_pX.X6) < int32(_pY.X6) { 117521 goto _2 117522 } 117523 117524 if int32(_pX.X6) <= int32(_pY.X6) { 117525 goto _3 117526 } 117527 117528 r0 = i32(0) 117529 return 117530 117531 _3: 117532 if int32(_pX.X7) <= int32(_pY.X7) { 117533 goto _4 117534 } 117535 117536 r0 = i32(0) 117537 return 117538 117539 _4: 117540 _2: 117541 _i = int32(_pX.X10) - i32(1) 117542 _5: 117543 if _i < i32(0) { 117544 goto _8 117545 } 117546 117547 if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX.X13)) + 4*uintptr(_i)))) != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 117548 goto _9 117549 } 117550 117551 goto _6 117552 117553 _9: 117554 _j = int32(_pY.X10) - i32(1) 117555 _10: 117556 if _j < i32(0) { 117557 goto _13 117558 } 117559 117560 if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pY.X13)) + 4*uintptr(_j)))) != (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX.X13)) + 4*uintptr(_i)))) { 117561 goto _14 117562 } 117563 117564 goto _13 117565 117566 _14: 117567 _j -= 1 117568 goto _10 117569 117570 _13: 117571 if _j >= i32(0) { 117572 goto _15 117573 } 117574 117575 r0 = i32(0) 117576 return 117577 117578 _15: 117579 _6: 117580 _i -= 1 117581 goto _5 117582 117583 _8: 117584 r0 = i32(1) 117585 return 117586 117587 } 117588 117589 func _whereLoopFindLesser(tls *crt.TLS, _ppPrev **XWhereLoop, _pTemplate *XWhereLoop) (r0 **XWhereLoop) { // sqlite3.c:131793:1 117590 var _p *XWhereLoop // sqlite3.c:131797:13 117591 _ = _p 117592 _p = *_ppPrev 117593 _0: 117594 if _p == nil { 117595 goto _3 117596 } 117597 117598 if int32(_p.X3) == int32(_pTemplate.X3) && int32(_p.X4) == int32(_pTemplate.X4) { 117599 goto _5 117600 } 117601 117602 goto _1 117603 117604 _5: 117605 func() int32 { 117606 if ((int32(_p.X5) == i32(0)) || (int32(_pTemplate.X5) == i32(0))) || (int32(_p.X5) == int32(_pTemplate.X5)) { 117607 return i32(0) 117608 } 117609 return func() int32 { 117610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131808), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopFindLesserØ00__func__Ø000))), unsafe.Pointer(str(111276))) 117611 crt.X__builtin_abort(tls) 117612 return i32(0) 117613 }() 117614 }() 117615 func() int32 { 117616 if int32(_p.X5) >= int32(_pTemplate.X5) { 117617 return i32(0) 117618 } 117619 return func() int32 { 117620 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131814), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopFindLesserØ00__func__Ø000))), unsafe.Pointer(str(111348))) 117621 crt.X__builtin_abort(tls) 117622 return i32(0) 117623 }() 117624 }() 117625 if ((_p.X9)&uint32(i32(16384))) == uint32(i32(0)) || int32(_pTemplate.X11) != i32(0) || ((_pTemplate.X9)&uint32(i32(512))) == uint32(i32(0)) || ((_pTemplate.X9)&uint32(i32(1))) == uint32(i32(0)) || ((_p.X0)&(_pTemplate.X0)) != (_pTemplate.X0) { 117626 goto _16 117627 } 117628 117629 goto _3 117630 117631 _16: 117632 if ((_p.X0)&(_pTemplate.X0)) != (_p.X0) || int32(_p.X5) > int32(_pTemplate.X5) || int32(_p.X6) > int32(_pTemplate.X6) || int32(_p.X7) > int32(_pTemplate.X7) { 117633 goto _20 117634 } 117635 117636 r0 = (**XWhereLoop)(unsafe.Pointer(uintptr(i32(0)))) 117637 return 117638 117639 _20: 117640 if ((_p.X0)&(_pTemplate.X0)) != (_pTemplate.X0) || int32(_p.X6) < int32(_pTemplate.X6) || int32(_p.X7) < int32(_pTemplate.X7) { 117641 goto _23 117642 } 117643 117644 func() int32 { 117645 if int32(_p.X5) >= int32(_pTemplate.X5) { 117646 return i32(0) 117647 } 117648 return func() int32 { 117649 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131850), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopFindLesserØ00__func__Ø000))), unsafe.Pointer(str(111348))) 117650 crt.X__builtin_abort(tls) 117651 return i32(0) 117652 }() 117653 }() 117654 goto _3 117655 117656 _23: 117657 _1: 117658 *func() **XWhereLoop { 117659 _ppPrev = (**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X14 */))))) 117660 return &_p 117661 }() = *_ppPrev 117662 goto _0 117663 117664 _3: 117665 r0 = _ppPrev 117666 return 117667 117668 } 117669 117670 var _whereLoopFindLesserØ00__func__Ø000 [20]int8 // - 117671 117672 func init() { 117673 crt.Xstrncpy(nil, &_whereLoopFindLesserØ00__func__Ø000[0], str(111380), 20) 117674 } 117675 117676 func _whereLoopDelete(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop) { // sqlite3.c:131676:1 117677 _whereLoopClear(tls, _db, _p) 117678 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 117679 return 117680 117681 } 117682 117683 func _whereLoopClear(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop) { // sqlite3.c:131632:1 117684 if (**XWhereTerm)(unsafe.Pointer(_p.X13)) == (**XWhereTerm)(unsafe.Pointer((*[3]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(60 /* X15 */))))) { 117685 goto _0 117686 } 117687 117688 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p.X13)) 117689 _0: 117690 _whereLoopClearUnion(tls, _db, _p) 117691 _whereLoopInit(tls, _p) 117692 return 117693 117694 } 117695 117696 func _whereLoopClearUnion(tls *crt.TLS, _db *Xsqlite3, _p *XWhereLoop) { // sqlite3.c:131615:1 117697 if ((_p.X9) & uint32(i32(17408))) == 0 { 117698 goto _0 117699 } 117700 117701 if ((_p.X9)&uint32(i32(1024))) == uint32(i32(0)) || ((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))).X1) == 0 { 117702 goto _2 117703 } 117704 117705 Xsqlite3_free(tls, (unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))).X4)) 117706 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 117707 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X4 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 117708 goto _3 117709 117710 _2: 117711 if ((_p.X9)&uint32(i32(16384))) == uint32(i32(0)) || (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))).X3)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 117712 goto _5 117713 } 117714 117715 _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))).X3)).X4)) 117716 _sqlite3DbFree(tls, _db, (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))).X3) 117717 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 117718 _5: 117719 _3: 117720 _0: 117721 return 117722 117723 } 117724 117725 func _whereLoopXfer(tls *crt.TLS, _db *Xsqlite3, _pTo *XWhereLoop, _pFrom *XWhereLoop) (r0 int32) { // sqlite3.c:131657:1 117726 _whereLoopClearUnion(tls, _db, _pTo) 117727 if _whereLoopResize(tls, _db, _pTo, int32(_pFrom.X10)) == 0 { 117728 goto _0 117729 } 117730 117731 crt.Xmemset(tls, (unsafe.Pointer)((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo))+uintptr(28 /* X8 */)))), i32(0), u32(12)) 117732 r0 = _sqlite3NomemError(tls, i32(131661)) 117733 return 117734 117735 _0: 117736 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo), (unsafe.Pointer)(_pFrom), u32(48)) 117737 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo.X13), (unsafe.Pointer)(_pFrom.X13), uint32(_pTo.X10)*u32(4)) 117738 if ((_pFrom.X9) & uint32(i32(1024))) == 0 { 117739 goto _1 117740 } 117741 117742 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 117743 goto _2 117744 117745 _1: 117746 if ((_pFrom.X9) & uint32(i32(16384))) == uint32(i32(0)) { 117747 goto _3 117748 } 117749 117750 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 117751 _3: 117752 _2: 117753 r0 = i32(0) 117754 return 117755 117756 } 117757 117758 func _whereLoopAddBtree(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64) (r0 int32) { // sqlite3.c:132572:1 117759 var _pWInfo *XWhereInfo // sqlite3.c:132576:13 117760 _ = _pWInfo 117761 var _pProbe *XIndex // sqlite3.c:132577:9 117762 _ = _pProbe 117763 var _sPk XIndex // sqlite3.c:132578:9 117764 _ = _sPk 117765 var _aiRowEstPk [2]int16 // sqlite3.c:132579:10 117766 _ = _aiRowEstPk 117767 var _aiColumnPk int16 // sqlite3.c:132580:7 117768 _ = _aiColumnPk 117769 var _pTabList *XSrcList // sqlite3.c:132581:11 117770 _ = _pTabList 117771 var _pSrc *T7840217 // sqlite3.c:132582:23 117772 _ = _pSrc 117773 var _pNew *XWhereLoop // sqlite3.c:132583:13 117774 _ = _pNew 117775 var _rc int32 // sqlite3.c:132584:7 117776 _ = _rc 117777 var _iSortIdx int32 // sqlite3.c:132585:7 117778 _ = _iSortIdx 117779 var _b int32 // sqlite3.c:132586:7 117780 _ = _b 117781 var _rSize int16 // sqlite3.c:132587:10 117782 _ = _rSize 117783 var _rLogSize int16 // sqlite3.c:132588:10 117784 _ = _rLogSize 117785 var _pWC *XWhereClause // sqlite3.c:132589:15 117786 _ = _pWC 117787 var _pTab *XTable // sqlite3.c:132590:9 117788 _ = _pTab 117789 var _3_pFirst *XIndex // sqlite3.c:132610:11 117790 _ = _3_pFirst 117791 var _5_pTerm *XWhereTerm // sqlite3.c:132644:15 117792 _ = _5_pTerm 117793 var _5_pWCEnd *XWhereTerm // sqlite3.c:132645:15 117794 _ = _5_pWCEnd 117795 var _12_m uint64 // sqlite3.c:132718:15 117796 _ = _12_m 117797 var _16_nLookup int16 // sqlite3.c:132751:18 117798 _ = _16_nLookup 117799 var _16_ii int32 // sqlite3.c:132752:15 117800 _ = _16_ii 117801 var _16_iCur int32 // sqlite3.c:132753:15 117802 _ = _16_iCur 117803 var _16_pWC2 *XWhereClause // sqlite3.c:132754:23 117804 _ = _16_pWC2 117805 var _17_pTerm *XWhereTerm // sqlite3.c:132756:23 117806 _ = _17_pTerm 117807 _aiColumnPk = i16(-1) 117808 _rc = i32(0) 117809 _iSortIdx = i32(1) 117810 _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 117811 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 117812 _pTabList = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) 117813 _pSrc = (*T7840217)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer((*[1]struct { 117814 X0 unsafe.Pointer 117815 X1 *int8 117816 X2 *int8 117817 X3 *int8 117818 X4 unsafe.Pointer 117819 X5 unsafe.Pointer 117820 X6 int32 117821 X7 int32 117822 X8 int32 117823 X9 struct { 117824 X0 uint8 117825 X1 int8 117826 } 117827 X10 uint8 117828 X11 int32 117829 X12 unsafe.Pointer 117830 X13 unsafe.Pointer 117831 X14 uint64 117832 X15 struct { 117833 X [0]struct { 117834 X0 *int8 117835 X1 unsafe.Pointer 117836 } 117837 U [4]byte 117838 } 117839 X16 unsafe.Pointer 117840 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))))) + uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr(_pNew.X3)))))*uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr(68))))))))))) 117841 _pTab = (*XTable)(unsafe.Pointer(_pSrc.X4)) 117842 _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) 117843 func() int32 { 117844 if ((*XTable)(unsafe.Pointer(_pSrc.X4)).X16) == 0 { 117845 return i32(0) 117846 } 117847 return func() int32 { 117848 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132598), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeØ00__func__Ø000))), unsafe.Pointer(str(111400))) 117849 crt.X__builtin_abort(tls) 117850 return i32(0) 117851 }() 117852 }() 117853 if (*XIndex)(unsafe.Pointer(_pSrc.X16)) == nil { 117854 goto _2 117855 } 117856 117857 _pProbe = (*XIndex)(unsafe.Pointer(_pSrc.X16)) 117858 goto _3 117859 117860 _2: 117861 if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 117862 goto _4 117863 } 117864 117865 _pProbe = (*XIndex)(unsafe.Pointer(_pTab.X2)) 117866 goto _5 117867 117868 _4: 117869 crt.Xmemset(tls, (unsafe.Pointer)(&_sPk), i32(0), u32(56)) 117870 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(50 /* X13 */))) = uint16(i32(1)) 117871 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(52 /* X14 */))) = uint16(i32(1)) 117872 *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(4 /* X1 */))) = &_aiColumnPk 117873 *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(8 /* X2 */))) = (*int16)(unsafe.Pointer(&_aiRowEstPk)) 117874 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(54 /* X15 */))) = uint8(i32(5)) 117875 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(12 /* X3 */))))) = _pTab 117876 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(48 /* X12 */))) = _pTab.X13 117877 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiRowEstPk)) + 2*uintptr(i32(0)))) = _pTab.X12 117878 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiRowEstPk)) + 2*uintptr(i32(1)))) = int16(i32(0)) 117879 _3_pFirst = (*XIndex)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pSrc.X4)).X2)) 117880 if int32((uint32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(36 /* X9 */))).X1)<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 117881 goto _6 117882 } 117883 117884 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sPk)) + uintptr(20 /* X5 */))))) = _3_pFirst 117885 _6: 117886 _pProbe = &_sPk 117887 _5: 117888 _3: 117889 _rSize = _pTab.X12 117890 _rLogSize = _estLog(tls, _rSize) 117891 if (*XWhereOrSet)(unsafe.Pointer(_pBuilder.X4)) != nil || (int32(_pWInfo.X9)&i32(32)) != i32(0) || (((*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)).X6)&i32(1048576)) == i32(0) || (*XIndex)(unsafe.Pointer(_pSrc.X16)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || ((uint32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(36 /* X9 */))).X1)<<uint(i32(31)))>>uint(i32(31))) != 0 || ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) || ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(36 /* X9 */))).X1)>>uint(i32(3)))<<uint(i32(31)))>>uint(i32(31))) != 0 || ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(36 /* X9 */))).X1)>>uint(i32(5)))<<uint(i32(31)))>>uint(i32(31))) != 0 { 117892 goto _14 117893 } 117894 117895 _5_pWCEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(_pWC.X5)))) + uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X3)))))*uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(48))))))))))) 117896 _5_pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 117897 _15: 117898 if _rc != i32(0) || uintptr(unsafe.Pointer(_5_pTerm)) >= uintptr(unsafe.Pointer(_5_pWCEnd)) { 117899 goto _19 117900 } 117901 117902 if ((_5_pTerm.X11) & (_pNew.X1)) == 0 { 117903 goto _20 117904 } 117905 117906 goto _16 117907 117908 _20: 117909 if _termCanDriveIndex(tls, _5_pTerm, _pSrc, uint64(i32(0))) == 0 { 117910 goto _21 117911 } 117912 117913 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(1)) 117914 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(46 /* X11 */))) = uint16(i32(0)) 117915 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 117916 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = uint16(i32(1)) 117917 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(i32(0)))) = _5_pTerm 117918 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16((int32(_rLogSize) + int32(_rSize)) + i32(4)) 117919 if (*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) || ((_pTab.X9)&uint32(i32(2))) != uint32(i32(0)) { 117920 goto _23 117921 } 117922 117923 { 117924 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) 117925 *p = int16(int32(*p) + i32(24)) 117926 sink955 = *p 117927 } 117928 _23: 117929 if int32(_pNew.X5) >= i32(0) { 117930 goto _24 117931 } 117932 117933 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) 117934 _24: 117935 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = int16(i32(43)) 117936 func() int32 { 117937 if i32(43) == int32(_sqlite3LogEst(tls, uint64(i32(20)))) { 117938 return i32(0) 117939 } 117940 return func() int32 { 117941 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132672), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeØ00__func__Ø000))), unsafe.Pointer(str(111424))) 117942 crt.X__builtin_abort(tls) 117943 return i32(0) 117944 }() 117945 }() 117946 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _rLogSize, _pNew.X7) 117947 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = uint32(i32(16384)) 117948 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _mPrereq | (_5_pTerm.X11) 117949 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) 117950 _21: 117951 _16: 117952 *(*uintptr)(unsafe.Pointer(&_5_pTerm)) += uintptr(48) 117953 goto _15 117954 117955 _19: 117956 _14: 117957 _27: 117958 if _rc != i32(0) || _pProbe == nil { 117959 goto _31 117960 } 117961 117962 if (*XExpr)(unsafe.Pointer(_pProbe.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) || _whereUsablePartialIndex(tls, _pSrc.X11, _pWC, (*XExpr)(unsafe.Pointer(_pProbe.X9))) != 0 { 117963 goto _33 117964 } 117965 117966 goto _28 117967 117968 _33: 117969 _rSize = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(i32(0)))) 117970 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) 117971 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(2 /* X1 */))) = uint16(i32(0)) 117972 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X2 */))) = uint16(i32(0)) 117973 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(46 /* X11 */))) = uint16(i32(0)) 117974 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = uint16(i32(0)) 117975 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(i32(0)) 117976 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) 117977 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _mPrereq 117978 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _rSize 117979 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = _pProbe 117980 _b = _indexMightHelpWithOrderBy(tls, _pBuilder, _pProbe, _pSrc.X11) 117981 func() int32 { 117982 if ((int32(_pWInfo.X9) & i32(4)) == i32(0)) || (_b == i32(0)) { 117983 return i32(0) 117984 } 117985 return func() int32 { 117986 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132703), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeØ00__func__Ø000))), unsafe.Pointer(str(111448))) 117987 crt.X__builtin_abort(tls) 117988 return i32(0) 117989 }() 117990 }() 117991 if (_pProbe.X11) > i32(0) { 117992 goto _37 117993 } 117994 117995 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = uint32(i32(256)) 117996 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(func() int32 { 117997 if _b != 0 { 117998 return _iSortIdx 117999 } 118000 return i32(0) 118001 }()) 118002 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = int16(int32(_rSize) + i32(16)) 118003 _whereLoopOutputAdjust(tls, _pWC, _pNew, _rSize) 118004 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) 118005 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _rSize 118006 if _rc == 0 { 118007 goto _40 118008 } 118009 118010 goto _31 118011 118012 _40: 118013 goto _41 118014 118015 _37: 118016 if ((uint32((_pProbe.X16)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { 118017 goto _42 118018 } 118019 118020 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = uint32(i32(576)) 118021 _12_m = uint64(i32(0)) 118022 goto _43 118023 118024 _42: 118025 _12_m = (_pSrc.X14) & (^_columnsInIndex(tls, _pProbe)) 118026 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = uint32(func() int32 { 118027 if _12_m == uint64(i32(0)) { 118028 return i32(576) 118029 } 118030 return i32(512) 118031 }()) 118032 _43: 118033 if _b == 0 && ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) && (*XExpr)(unsafe.Pointer(_pProbe.X9)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) && (_12_m != uint64(i32(0)) || int32((uint32((_pProbe.X16)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) || int32(_pProbe.X12) >= int32(_pTab.X13) || (int32(_pWInfo.X9)&i32(4)) != i32(0) || (_sqlite3Config.X4) == 0 || (int32((*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)).X13)&i32(64)) != i32(0)) { 118034 goto _54 118035 } 118036 118037 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(func() int32 { 118038 if _b != 0 { 118039 return _iSortIdx 118040 } 118041 return i32(0) 118042 }()) 118043 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = int16((int32(_rSize) + i32(1)) + ((i32(15) * int32(_pProbe.X12)) / int32(_pTab.X13))) 118044 if _12_m == uint64(i32(0)) { 118045 goto _57 118046 } 118047 118048 _16_nLookup = int16(int32(_rSize) + i32(16)) 118049 _16_iCur = _pSrc.X11 118050 _16_pWC2 = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(72 /* X21 */))) 118051 _16_ii = i32(0) 118052 _58: 118053 if _16_ii >= (_16_pWC2.X3) { 118054 goto _61 118055 } 118056 118057 _17_pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_16_pWC2.X5) + 48*uintptr(_16_ii))) 118058 if _sqlite3ExprCoveredByIndex(tls, (*XExpr)(unsafe.Pointer(_17_pTerm.X0)), _16_iCur, _pProbe) != 0 { 118059 goto _62 118060 } 118061 118062 goto _61 118063 118064 _62: 118065 if int32(_17_pTerm.X2) > i32(0) { 118066 goto _63 118067 } 118068 118069 { 118070 p := &_16_nLookup 118071 *p = int16(int32(*p) + int32(_17_pTerm.X2)) 118072 sink955 = *p 118073 } 118074 goto _64 118075 118076 _63: 118077 _16_nLookup -= 1 118078 if (int32(_17_pTerm.X4) & i32(130)) == 0 { 118079 goto _65 118080 } 118081 118082 { 118083 p := &_16_nLookup 118084 *p = int16(int32(*p) - i32(19)) 118085 sink955 = *p 118086 } 118087 _65: 118088 _64: 118089 _16_ii += 1 118090 goto _58 118091 118092 _61: 118093 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _pNew.X6, _16_nLookup) 118094 _57: 118095 _whereLoopOutputAdjust(tls, _pWC, _pNew, _rSize) 118096 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) 118097 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _rSize 118098 if _rc == 0 { 118099 goto _66 118100 } 118101 118102 goto _31 118103 118104 _66: 118105 _54: 118106 _41: 118107 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBuilder)) + uintptr(20 /* X5 */))) = uint32(i32(0)) 118108 _rc = _whereLoopAddBtreeIndex(tls, _pBuilder, _pSrc, _pProbe, int16(i32(0))) 118109 if (_pBuilder.X5) != uint32(i32(1)) { 118110 goto _67 118111 } 118112 118113 { 118114 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(36 /* X9 */))) 118115 *p = (*p) | uint32(i32(256)) 118116 sink985 = *p 118117 } 118118 _67: 118119 if (*XIndex)(unsafe.Pointer(_pSrc.X16)) == nil { 118120 goto _68 118121 } 118122 118123 goto _31 118124 118125 _68: 118126 _28: 118127 *func() *int32 { _pProbe = (*XIndex)(unsafe.Pointer(_pProbe.X5)); return &_iSortIdx }() += 1 118128 goto _27 118129 118130 _31: 118131 r0 = _rc 118132 return 118133 118134 } 118135 118136 var _whereLoopAddBtreeØ00__func__Ø000 [18]int8 // - 118137 118138 func init() { 118139 crt.Xstrncpy(nil, &_whereLoopAddBtreeØ00__func__Ø000[0], str(111504), 18) 118140 } 118141 118142 func _estLog(tls *crt.TLS, _N int16) (r0 int16) { // sqlite3.c:130337:1 118143 r0 = int16(func() int32 { 118144 if int32(_N) <= i32(10) { 118145 return i32(0) 118146 } 118147 return (int32(_sqlite3LogEst(tls, uint64(_N))) - i32(33)) 118148 }()) 118149 return 118150 118151 } 118152 118153 func _termCanDriveIndex(tls *crt.TLS, _pTerm *XWhereTerm, _pSrc *T7840217, _notReady uint64) (r0 int32) { // sqlite3.c:130437:1 118154 var _aff int8 // sqlite3.c:130442:8 118155 _ = _aff 118156 if (_pTerm.X8) == (_pSrc.X11) { 118157 goto _0 118158 } 118159 118160 r0 = i32(0) 118161 return 118162 118163 _0: 118164 if (int32(_pTerm.X4) & i32(130)) != i32(0) { 118165 goto _1 118166 } 118167 118168 r0 = i32(0) 118169 return 118170 118171 _1: 118172 if ((_pTerm.X11) & _notReady) == uint64(i32(0)) { 118173 goto _2 118174 } 118175 118176 r0 = i32(0) 118177 return 118178 118179 _2: 118180 if (*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) >= i32(0) { 118181 goto _3 118182 } 118183 118184 r0 = i32(0) 118185 return 118186 118187 _3: 118188 _aff = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pSrc.X4)).X1) + 16*uintptr(*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))))).X4 118189 if _sqlite3IndexAffinityOk(tls, (*XExpr)(unsafe.Pointer(_pTerm.X0)), _aff) != 0 { 118190 goto _4 118191 } 118192 118193 r0 = i32(0) 118194 return 118195 118196 _4: 118197 r0 = i32(1) 118198 return 118199 118200 } 118201 118202 func _whereUsablePartialIndex(tls *crt.TLS, _iTab int32, _pWC *XWhereClause, _pWhere *XExpr) (r0 int32) { // sqlite3.c:132518:1 118203 var _i int32 // sqlite3.c:132519:7 118204 _ = _i 118205 var _pTerm *XWhereTerm // sqlite3.c:132520:13 118206 _ = _pTerm 118207 var _2_pExpr *XExpr // sqlite3.c:132526:10 118208 _ = _2_pExpr 118209 _0: 118210 if int32(_pWhere.X0) != i32(28) { 118211 goto _1 118212 } 118213 118214 if _whereUsablePartialIndex(tls, _iTab, _pWC, (*XExpr)(unsafe.Pointer(_pWhere.X4))) != 0 { 118215 goto _2 118216 } 118217 118218 r0 = i32(0) 118219 return 118220 118221 _2: 118222 _pWhere = (*XExpr)(unsafe.Pointer(_pWhere.X5)) 118223 goto _0 118224 118225 _1: 118226 *func() **XWhereTerm { _i = i32(0); return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 118227 _3: 118228 if _i >= (_pWC.X3) { 118229 goto _6 118230 } 118231 118232 _2_pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 118233 if _sqlite3ExprImpliesExpr(tls, _2_pExpr, _pWhere, _iTab) == 0 || ((_2_pExpr.X2)&uint32(i32(1))) != uint32(i32(0)) && int32(_2_pExpr.X11) != _iTab { 118234 goto _9 118235 } 118236 118237 r0 = i32(1) 118238 return 118239 118240 _9: 118241 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i += 1; return &_pTerm }())) += uintptr(48) 118242 goto _3 118243 118244 _6: 118245 r0 = i32(0) 118246 return 118247 118248 } 118249 118250 func _sqlite3ExprImpliesExpr(tls *crt.TLS, _pE1 *XExpr, _pE2 *XExpr, _iTab int32) (r0 int32) { // sqlite3.c:95448:1 118251 var _3_pX *XExpr // sqlite3.c:95459:10 118252 _ = _3_pX 118253 if _sqlite3ExprCompare(tls, _pE1, _pE2, _iTab) != i32(0) { 118254 goto _0 118255 } 118256 118257 r0 = i32(1) 118258 return 118259 118260 _0: 118261 if int32(_pE2.X0) != i32(27) || _sqlite3ExprImpliesExpr(tls, _pE1, (*XExpr)(unsafe.Pointer(_pE2.X4)), _iTab) == 0 && _sqlite3ExprImpliesExpr(tls, _pE1, (*XExpr)(unsafe.Pointer(_pE2.X5)), _iTab) == 0 { 118262 goto _3 118263 } 118264 118265 r0 = i32(1) 118266 return 118267 118268 _3: 118269 if int32(_pE2.X0) != i32(35) || int32(_pE1.X0) == i32(34) || int32(_pE1.X0) == i32(29) { 118270 goto _6 118271 } 118272 118273 _3_pX = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pE1.X4))) 118274 if _sqlite3ExprCompare(tls, _3_pX, (*XExpr)(unsafe.Pointer(_pE2.X4)), _iTab) != i32(0) { 118275 goto _7 118276 } 118277 118278 r0 = i32(1) 118279 return 118280 118281 _7: 118282 _6: 118283 r0 = i32(0) 118284 return 118285 118286 } 118287 118288 func _indexMightHelpWithOrderBy(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _pIndex *XIndex, _iCursor int32) (r0 int32) { // sqlite3.c:132467:1 118289 var _pOB *XExprList // sqlite3.c:132472:12 118290 _ = _pOB 118291 var _aColExpr *XExprList // sqlite3.c:132473:12 118292 _ = _aColExpr 118293 var _ii int32 // sqlite3.c:132474:7 118294 _ = _ii 118295 var _jj int32 // sqlite3.c:132474:11 118296 _ = _jj 118297 var _1_pExpr *XExpr // sqlite3.c:132479:10 118298 _ = _1_pExpr 118299 if ((uint32((_pIndex.X16)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 118300 goto _0 118301 } 118302 118303 r0 = i32(0) 118304 return 118305 118306 _0: 118307 if store7760891(&_pOB, (*XExprList)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)).X2))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 118308 goto _1 118309 } 118310 118311 r0 = i32(0) 118312 return 118313 118314 _1: 118315 _ii = i32(0) 118316 _2: 118317 if _ii >= (_pOB.X0) { 118318 goto _5 118319 } 118320 118321 _1_pExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOB.X1)+20*uintptr(_ii))).X0))) 118322 if int32(_1_pExpr.X0) != i32(152) || (_1_pExpr.X8) != _iCursor { 118323 goto _7 118324 } 118325 118326 if int32(_1_pExpr.X9) >= i32(0) { 118327 goto _8 118328 } 118329 118330 r0 = i32(1) 118331 return 118332 118333 _8: 118334 _jj = i32(0) 118335 _9: 118336 if _jj >= int32(_pIndex.X13) { 118337 goto _12 118338 } 118339 118340 if int32(_1_pExpr.X9) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_jj)))) { 118341 goto _13 118342 } 118343 118344 r0 = i32(1) 118345 return 118346 118347 _13: 118348 _jj += 1 118349 goto _9 118350 118351 _12: 118352 goto _14 118353 118354 _7: 118355 if store7760891(&_aColExpr, (*XExprList)(unsafe.Pointer(_pIndex.X10))) == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 118356 goto _15 118357 } 118358 118359 _jj = i32(0) 118360 _16: 118361 if _jj >= int32(_pIndex.X13) { 118362 goto _19 118363 } 118364 118365 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_jj)))) == i32(-2) { 118366 goto _20 118367 } 118368 118369 goto _17 118370 118371 _20: 118372 if _sqlite3ExprCompare(tls, _1_pExpr, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_aColExpr.X1)+20*uintptr(_jj))).X0)), _iCursor) != i32(0) { 118373 goto _21 118374 } 118375 118376 r0 = i32(1) 118377 return 118378 118379 _21: 118380 _17: 118381 _jj += 1 118382 goto _16 118383 118384 _19: 118385 _15: 118386 _14: 118387 _ii += 1 118388 goto _2 118389 118390 _5: 118391 r0 = i32(0) 118392 return 118393 118394 } 118395 118396 func _whereLoopOutputAdjust(tls *crt.TLS, _pWC *XWhereClause, _pLoop *XWhereLoop, _nRow int16) { // sqlite3.c:132007:1 118397 var _pTerm *XWhereTerm // sqlite3.c:132012:13 118398 _ = _pTerm 118399 var _pX *XWhereTerm // sqlite3.c:132012:21 118400 _ = _pX 118401 var _notAllowed uint64 // sqlite3.c:132013:11 118402 _ = _notAllowed 118403 var _i int32 // sqlite3.c:132014:7 118404 _ = _i 118405 var _j int32 // sqlite3.c:132014:10 118406 _ = _j 118407 var _k int32 // sqlite3.c:132014:13 118408 _ = _k 118409 var _iReduce int16 // sqlite3.c:132015:10 118410 _ = _iReduce 118411 var _6_pRight *XExpr // sqlite3.c:132038:16 118412 _ = _6_pRight 118413 _notAllowed = ^((_pLoop.X0) | (_pLoop.X1)) 118414 _iReduce = i16(0) 118415 func() int32 { 118416 if ((_pLoop.X9) & uint32(i32(16384))) == uint32(i32(0)) { 118417 return i32(0) 118418 } 118419 return func() int32 { 118420 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132017), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopOutputAdjustØ00__func__Ø000))), unsafe.Pointer(str(111524))) 118421 crt.X__builtin_abort(tls) 118422 return i32(0) 118423 }() 118424 }() 118425 *func() **XWhereTerm { _i = _pWC.X3; return &_pTerm }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 118426 _2: 118427 if _i <= i32(0) { 118428 goto _5 118429 } 118430 118431 if (int32(_pTerm.X3) & i32(2)) == i32(0) { 118432 goto _6 118433 } 118434 118435 goto _5 118436 118437 _6: 118438 if ((_pTerm.X12) & (_pLoop.X1)) != uint64(i32(0)) { 118439 goto _7 118440 } 118441 118442 goto _3 118443 118444 _7: 118445 if ((_pTerm.X12) & _notAllowed) == uint64(i32(0)) { 118446 goto _8 118447 } 118448 118449 goto _3 118450 118451 _8: 118452 _j = int32(_pLoop.X10) - i32(1) 118453 _9: 118454 if _j < i32(0) { 118455 goto _12 118456 } 118457 118458 _pX = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j))) 118459 if _pX != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 118460 goto _13 118461 } 118462 118463 goto _10 118464 118465 _13: 118466 if _pX != _pTerm { 118467 goto _14 118468 } 118469 118470 goto _12 118471 118472 _14: 118473 if (_pX.X7) < i32(0) || (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_pX.X7))) != _pTerm { 118474 goto _16 118475 } 118476 118477 goto _12 118478 118479 _16: 118480 _10: 118481 _j -= 1 118482 goto _9 118483 118484 _12: 118485 if _j >= i32(0) { 118486 goto _17 118487 } 118488 118489 if int32(_pTerm.X2) > i32(0) { 118490 goto _18 118491 } 118492 118493 { 118494 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) 118495 *p = int16(int32(*p) + int32(_pTerm.X2)) 118496 sink955 = *p 118497 } 118498 goto _19 118499 118500 _18: 118501 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) -= 1 118502 if (int32(_pTerm.X4) & i32(130)) == 0 { 118503 goto _20 118504 } 118505 118506 _6_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) 118507 if _sqlite3ExprIsInteger(tls, _6_pRight, &_k) == 0 || _k < i32(-1) || _k > i32(1) { 118508 goto _23 118509 } 118510 118511 _k = i32(10) 118512 goto _24 118513 118514 _23: 118515 _k = i32(20) 118516 _24: 118517 if int32(_iReduce) >= _k { 118518 goto _25 118519 } 118520 118521 _iReduce = int16(_k) 118522 _25: 118523 _20: 118524 _19: 118525 _17: 118526 _3: 118527 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_pTerm }())) += uintptr(48) 118528 goto _2 118529 118530 _5: 118531 if int32(_pLoop.X7) <= (int32(_nRow) - int32(_iReduce)) { 118532 goto _26 118533 } 118534 118535 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) = int16(int32(_nRow) - int32(_iReduce)) 118536 _26: 118537 return 118538 118539 } 118540 118541 var _whereLoopOutputAdjustØ00__func__Ø000 [22]int8 // - 118542 118543 func init() { 118544 crt.Xstrncpy(nil, &_whereLoopOutputAdjustØ00__func__Ø000[0], str(111564), 22) 118545 } 118546 118547 func _sqlite3ExprCoveredByIndex(tls *crt.TLS, _pExpr *XExpr, _iCur int32, _pIdx *XIndex) (r0 int32) { // sqlite3.c:95504:1 118548 var _w XWalker // sqlite3.c:95509:10 118549 _ = _w 118550 var _xcov XIdList // sqlite3.c:95510:19 118551 _ = _xcov 118552 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 118553 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_xcov)) + uintptr(4 /* X1 */))) = _iCur 118554 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_xcov)) + uintptr(0 /* X0 */))))) = _pIdx 118555 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _exprIdxCover 118556 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))))) = &_xcov 118557 _sqlite3WalkExpr(tls, &_w, _pExpr) 118558 r0 = bool2int((_w.X5) == 0) 118559 return 118560 118561 } 118562 118563 func _exprIdxCover(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:95483:1 118564 if int32(_pExpr.X0) != i32(152) || (_pExpr.X8) != ((*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))).X1) || int32(_sqlite3ColumnOfIndex(tls, (*XIndex)(unsafe.Pointer((*XIdList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))).X0)), _pExpr.X9)) >= i32(0) { 118565 goto _2 118566 } 118567 118568 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) = uint8(i32(1)) 118569 r0 = i32(2) 118570 return 118571 118572 _2: 118573 r0 = i32(0) 118574 return 118575 118576 } 118577 118578 func _whereLoopAddBtreeIndex(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _pSrc *T7840217, _pProbe *XIndex, _nInMul int16) (r0 int32) { // sqlite3.c:132141:1 118579 var _pWInfo *XWhereInfo // sqlite3.c:132147:13 118580 _ = _pWInfo 118581 var _pParse *XParse // sqlite3.c:132148:9 118582 _ = _pParse 118583 var _db *Xsqlite3 // sqlite3.c:132149:11 118584 _ = _db 118585 var _pNew *XWhereLoop // sqlite3.c:132150:13 118586 _ = _pNew 118587 var _pTerm *XWhereTerm // sqlite3.c:132151:13 118588 _ = _pTerm 118589 var _opMask int32 // sqlite3.c:132152:7 118590 _ = _opMask 118591 var _scan XWhereScan // sqlite3.c:132153:13 118592 _ = _scan 118593 var _saved_prereq uint64 // sqlite3.c:132154:11 118594 _ = _saved_prereq 118595 var _saved_nLTerm uint16 // sqlite3.c:132155:7 118596 _ = _saved_nLTerm 118597 var _saved_nEq uint16 // sqlite3.c:132156:7 118598 _ = _saved_nEq 118599 var _saved_nBtm uint16 // sqlite3.c:132157:7 118600 _ = _saved_nBtm 118601 var _saved_nTop uint16 // sqlite3.c:132158:7 118602 _ = _saved_nTop 118603 var _saved_nSkip uint16 // sqlite3.c:132159:7 118604 _ = _saved_nSkip 118605 var _saved_wsFlags uint32 // sqlite3.c:132160:7 118606 _ = _saved_wsFlags 118607 var _saved_nOut int16 // sqlite3.c:132161:10 118608 _ = _saved_nOut 118609 var _rc int32 // sqlite3.c:132162:7 118610 _ = _rc 118611 var _rSize int16 // sqlite3.c:132163:10 118612 _ = _rSize 118613 var _rLogSize int16 // sqlite3.c:132164:10 118614 _ = _rLogSize 118615 var _pTop *XWhereTerm // sqlite3.c:132165:13 118616 _ = _pTop 118617 var _pBtm *XWhereTerm // sqlite3.c:132165:24 118618 _ = _pBtm 118619 var _3_eOp uint16 // sqlite3.c:132198:9 118620 _ = _3_eOp 118621 var _3_rCostIdx int16 // sqlite3.c:132199:12 118622 _ = _3_rCostIdx 118623 var _3_nOutUnadjusted int16 // sqlite3.c:132200:12 118624 _ = _3_nOutUnadjusted 118625 var _3_nIn int32 // sqlite3.c:132201:9 118626 _ = _3_nIn 118627 var _8_pExpr *XExpr // sqlite3.c:132249:12 118628 _ = _8_pExpr 118629 var _9_i int32 // sqlite3.c:132253:13 118630 _ = _9_i 118631 var _12_iCol int32 // sqlite3.c:132271:11 118632 _ = _12_iCol 118633 var _21_nEq int32 // sqlite3.c:132330:11 118634 _ = _21_nEq 118635 var _30_nIter int16 // sqlite3.c:132437:12 118636 _ = _30_nIter 118637 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 118638 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 118639 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 118640 _rc = i32(0) 118641 _pTop = nil 118642 _pBtm = nil 118643 _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 118644 if (_db.X17) == 0 { 118645 goto _0 118646 } 118647 118648 r0 = _sqlite3NomemError(tls, i32(132168)) 118649 return 118650 118651 _0: 118652 func() int32 { 118653 if ((_pNew.X9) & uint32(i32(1024))) == uint32(i32(0)) { 118654 return i32(0) 118655 } 118656 return func() int32 { 118657 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132172), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111588))) 118658 crt.X__builtin_abort(tls) 118659 return i32(0) 118660 }() 118661 }() 118662 func() int32 { 118663 if ((_pNew.X9) & uint32(i32(16))) == uint32(i32(0)) { 118664 return i32(0) 118665 } 118666 return func() int32 { 118667 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132173), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111628))) 118668 crt.X__builtin_abort(tls) 118669 return i32(0) 118670 }() 118671 }() 118672 if ((_pNew.X9) & uint32(i32(32))) == 0 { 118673 goto _5 118674 } 118675 118676 _opMask = i32(24) 118677 goto _6 118678 118679 _5: 118680 func() int32 { 118681 if int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))).X1) == i32(0) { 118682 return i32(0) 118683 } 118684 return func() int32 { 118685 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132177), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111668))) 118686 crt.X__builtin_abort(tls) 118687 return i32(0) 118688 }() 118689 }() 118690 _opMask = i32(447) 118691 _6: 118692 if ((uint32((_pProbe.X16)>>uint(i32(2))) << uint(i32(31))) >> uint(i32(31))) == 0 { 118693 goto _9 118694 } 118695 118696 { 118697 p := &_opMask 118698 *p = (*p) & i32(-61) 118699 sink961 = *p 118700 } 118701 _9: 118702 func() int32 { 118703 if int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))).X0) < int32(_pProbe.X14) { 118704 return i32(0) 118705 } 118706 return func() int32 { 118707 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132182), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111692))) 118708 crt.X__builtin_abort(tls) 118709 return i32(0) 118710 }() 118711 }() 118712 _saved_nEq = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(28 /* X8 */))))).X0 118713 _saved_nBtm = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(28 /* X8 */))))).X1 118714 _saved_nTop = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(28 /* X8 */))))).X2 118715 _saved_nSkip = _pNew.X11 118716 _saved_nLTerm = _pNew.X10 118717 _saved_wsFlags = _pNew.X9 118718 _saved_prereq = _pNew.X0 118719 _saved_nOut = _pNew.X7 118720 _pTerm = _whereScanInit(tls, &_scan, (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)), _pSrc.X11, int32(_saved_nEq), uint32(_opMask), _pProbe) 118721 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) 118722 _rSize = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(i32(0)))) 118723 _rLogSize = _estLog(tls, _rSize) 118724 _12: 118725 if _rc != i32(0) || _pTerm == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 118726 goto _16 118727 } 118728 118729 _3_eOp = _pTerm.X4 118730 _3_nIn = i32(0) 118731 if int32(_3_eOp) != i32(256) && (int32(_pTerm.X3)&i32(0)) == i32(0) || _indexColumnNotNull(tls, _pProbe, int32(_saved_nEq)) == 0 { 118732 goto _19 118733 } 118734 118735 goto _13 118736 118737 _19: 118738 if ((_pTerm.X11) & (_pNew.X1)) == 0 { 118739 goto _20 118740 } 118741 118742 goto _13 118743 118744 _20: 118745 if (int32(_pTerm.X3)&i32(256)) == 0 || int32(_pTerm.X4) != i32(16) { 118746 goto _22 118747 } 118748 118749 goto _13 118750 118751 _22: 118752 if (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(36 /* X9 */))).X0)&i32(8)) == i32(0) || (((*XExpr)(unsafe.Pointer(_pTerm.X0)).X2)&uint32(i32(1))) != uint32(i32(0)) || (int32(_3_eOp)&i32(384)) == i32(0) { 118753 goto _25 118754 } 118755 118756 goto _13 118757 118758 _25: 118759 if int32(_pProbe.X15) == i32(0) || int32(_saved_nEq) != (int32(_pProbe.X13)-i32(1)) { 118760 goto _27 118761 } 118762 118763 { 118764 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBuilder)) + uintptr(20 /* X5 */))) 118765 *p = (*p) | uint32(i32(2)) 118766 sink985 = *p 118767 } 118768 goto _28 118769 118770 _27: 118771 { 118772 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBuilder)) + uintptr(20 /* X5 */))) 118773 *p = (*p) | uint32(i32(1)) 118774 sink985 = *p 118775 } 118776 _28: 118777 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = _saved_wsFlags 118778 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = _saved_nEq 118779 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(2 /* X1 */))) = _saved_nBtm 118780 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X2 */))) = _saved_nTop 118781 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = _saved_nLTerm 118782 if _whereLoopResize(tls, _db, _pNew, int32(_pNew.X10)+i32(1)) == 0 { 118783 goto _29 118784 } 118785 118786 goto _16 118787 118788 _29: 118789 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(postInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(44 /* X10 */))), uint16(1))))) = _pTerm 118790 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = (_saved_prereq | (_pTerm.X11)) & (^(_pNew.X1)) 118791 func() int32 { 118792 if (((int32(_nInMul) == i32(0)) || (((_pNew.X9) & uint32(i32(8))) != uint32(i32(0)))) || (((_pNew.X9) & uint32(i32(4))) != uint32(i32(0)))) || (((_pNew.X9) & uint32(i32(32768))) != uint32(i32(0))) { 118793 return i32(0) 118794 } 118795 return func() int32 { 118796 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132242), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111728))) 118797 crt.X__builtin_abort(tls) 118798 return i32(0) 118799 }() 118800 }() 118801 if (int32(_3_eOp) & i32(1)) == 0 { 118802 goto _35 118803 } 118804 118805 _8_pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 118806 { 118807 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118808 *p = (*p) | uint32(i32(4)) 118809 sink985 = *p 118810 } 118811 if ((_8_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 118812 goto _36 118813 } 118814 118815 _3_nIn = i32(46) 118816 func() int32 { 118817 if i32(46) == int32(_sqlite3LogEst(tls, uint64(i32(25)))) { 118818 return i32(0) 118819 } 118820 return func() int32 { 118821 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132254), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111860))) 118822 crt.X__builtin_abort(tls) 118823 return i32(0) 118824 }() 118825 }() 118826 _9_i = i32(0) 118827 _39: 118828 if _9_i >= (int32(_pNew.X10) - i32(1)) { 118829 goto _42 118830 } 118831 118832 if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(_9_i)))) == nil || (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(_9_i)))).X0)) != _8_pExpr { 118833 goto _44 118834 } 118835 118836 _3_nIn = i32(0) 118837 _44: 118838 _9_i += 1 118839 goto _39 118840 118841 _42: 118842 goto _45 118843 118844 _36: 118845 if func() int32 { 118846 if ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pExpr)) + uintptr(20 /* X6 */))))))) != nil) && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pExpr)) + uintptr(20 /* X6 */))))))).X0) != 0 { 118847 return i32(1) 118848 } 118849 return func() int32 { 118850 func() int32 { 118851 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132264), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 118852 crt.X__builtin_abort(tls) 118853 return i32(0) 118854 }() 118855 return i32(0) 118856 }() 118857 }() == 0 { 118858 goto _49 118859 } 118860 118861 _3_nIn = int32(_sqlite3LogEst(tls, uint64((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_pExpr)) + uintptr(20 /* X6 */))))))).X0))) 118862 func() int32 { 118863 if _3_nIn > i32(0) { 118864 return i32(0) 118865 } 118866 return func() int32 { 118867 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132267), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111884))) 118868 crt.X__builtin_abort(tls) 118869 return i32(0) 118870 }() 118871 }() 118872 _49: 118873 _45: 118874 goto _52 118875 118876 _35: 118877 if (int32(_3_eOp) & i32(130)) == 0 { 118878 goto _53 118879 } 118880 118881 _12_iCol = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X1)) + 2*uintptr(_saved_nEq)))) 118882 { 118883 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118884 *p = (*p) | uint32(i32(1)) 118885 sink985 = *p 118886 } 118887 func() int32 { 118888 if int32(_saved_nEq) == int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))).X0) { 118889 return i32(0) 118890 } 118891 return func() int32 { 118892 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132273), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111892))) 118893 crt.X__builtin_abort(tls) 118894 return i32(0) 118895 }() 118896 }() 118897 if _12_iCol != i32(-1) && (_12_iCol <= i32(0) || int32(_nInMul) != i32(0) || int32(_saved_nEq) != (int32(_pProbe.X13)-i32(1))) { 118898 goto _59 118899 } 118900 118901 if _12_iCol < i32(0) || int32((uint32((_pProbe.X16)>>uint(i32(3)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) { 118902 goto _61 118903 } 118904 118905 { 118906 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118907 *p = (*p) | uint32(i32(65536)) 118908 sink985 = *p 118909 } 118910 goto _62 118911 118912 _61: 118913 { 118914 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118915 *p = (*p) | uint32(i32(4096)) 118916 sink985 = *p 118917 } 118918 _62: 118919 _59: 118920 goto _63 118921 118922 _53: 118923 if (int32(_3_eOp) & i32(256)) == 0 { 118924 goto _64 118925 } 118926 118927 { 118928 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118929 *p = (*p) | uint32(i32(8)) 118930 sink985 = *p 118931 } 118932 goto _65 118933 118934 _64: 118935 if (int32(_3_eOp) & i32(36)) == 0 { 118936 goto _66 118937 } 118938 118939 { 118940 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118941 *p = (*p) | uint32(i32(34)) 118942 sink985 = *p 118943 } 118944 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(2 /* X1 */))) = uint16(_whereRangeVectorLen(tls, _pParse, _pSrc.X11, _pProbe, int32(_saved_nEq), _pTerm)) 118945 _pBtm = _pTerm 118946 _pTop = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 118947 if (int32(_pTerm.X3) & i32(256)) == 0 { 118948 goto _67 118949 } 118950 118951 _pTop = (*XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + 48*uintptr(i32(1)))) 118952 func() int32 { 118953 if int32((uintptr(unsafe.Pointer(_pTop))-uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X5)))))/48) < ((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X3) { 118954 return i32(0) 118955 } 118956 return func() int32 { 118957 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132298), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111924))) 118958 crt.X__builtin_abort(tls) 118959 return i32(0) 118960 }() 118961 }() 118962 func() int32 { 118963 if (int32(_pTop.X3) & i32(256)) != 0 { 118964 return i32(0) 118965 } 118966 return func() int32 { 118967 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132299), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(111968))) 118968 crt.X__builtin_abort(tls) 118969 return i32(0) 118970 }() 118971 }() 118972 func() int32 { 118973 if int32(_pTop.X4) == i32(16) { 118974 return i32(0) 118975 } 118976 return func() int32 { 118977 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132300), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112000))) 118978 crt.X__builtin_abort(tls) 118979 return i32(0) 118980 }() 118981 }() 118982 if _whereLoopResize(tls, _db, _pNew, int32(_pNew.X10)+i32(1)) == 0 { 118983 goto _74 118984 } 118985 118986 goto _16 118987 118988 _74: 118989 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(postInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(44 /* X10 */))), uint16(1))))) = _pTop 118990 { 118991 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 118992 *p = (*p) | uint32(i32(16)) 118993 sink985 = *p 118994 } 118995 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X2 */))) = uint16(i32(1)) 118996 _67: 118997 goto _75 118998 118999 _66: 119000 func() int32 { 119001 if (int32(_3_eOp) & i32(24)) != 0 { 119002 return i32(0) 119003 } 119004 return func() int32 { 119005 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132307), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112024))) 119006 crt.X__builtin_abort(tls) 119007 return i32(0) 119008 }() 119009 }() 119010 { 119011 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 119012 *p = (*p) | uint32(i32(18)) 119013 sink985 = *p 119014 } 119015 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X2 */))) = uint16(_whereRangeVectorLen(tls, _pParse, _pSrc.X11, _pProbe, int32(_saved_nEq), _pTerm)) 119016 _pTop = _pTerm 119017 _pBtm = func() *XWhereTerm { 119018 if ((_pNew.X9) & uint32(i32(32))) != uint32(i32(0)) { 119019 return (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(int32(_pNew.X10)-i32(2))))) 119020 } 119021 return (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 119022 }() 119023 _75: 119024 _65: 119025 _63: 119026 _52: 119027 func() int32 { 119028 if int32(_pNew.X7) == int32(_saved_nOut) { 119029 return i32(0) 119030 } 119031 return func() int32 { 119032 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132324), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112044))) 119033 crt.X__builtin_abort(tls) 119034 return i32(0) 119035 }() 119036 }() 119037 if ((_pNew.X9) & uint32(i32(2))) == 0 { 119038 goto _82 119039 } 119040 119041 _whereRangeScanEst(tls, _pParse, _pBuilder, _pBtm, _pTop, _pNew) 119042 goto _83 119043 119044 _82: 119045 _21_nEq = int32(preInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */)))))))+uintptr(0 /* X0 */))), uint16(1))) 119046 func() int32 { 119047 if (int32(_3_eOp) & i32(387)) != 0 { 119048 return i32(0) 119049 } 119050 return func() int32 { 119051 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132331), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112068))) 119052 crt.X__builtin_abort(tls) 119053 return i32(0) 119054 }() 119055 }() 119056 func() int32 { 119057 if int32(_pNew.X7) == int32(_saved_nOut) { 119058 return i32(0) 119059 } 119060 return func() int32 { 119061 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132333), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112044))) 119062 crt.X__builtin_abort(tls) 119063 return i32(0) 119064 }() 119065 }() 119066 if int32(_pTerm.X2) > i32(0) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X1)) + 2*uintptr(_saved_nEq)))) < i32(0) { 119067 goto _89 119068 } 119069 119070 func() int32 { 119071 if (int32(_3_eOp)&i32(1)) != 0 || (_3_nIn == i32(0)) { 119072 return i32(0) 119073 } 119074 return func() int32 { 119075 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132335), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112104))) 119076 crt.X__builtin_abort(tls) 119077 return i32(0) 119078 }() 119079 }() 119080 { 119081 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) 119082 *p = int16(int32(*p) + int32(_pTerm.X2)) 119083 sink955 = *p 119084 } 119085 { 119086 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) 119087 *p = int16(int32(*p) - _3_nIn) 119088 sink955 = *p 119089 } 119090 goto _93 119091 119092 _89: 119093 { 119094 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) 119095 *p = int16(int32(*p) + (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(_21_nEq)))) - int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(_21_nEq-i32(1))))))) 119096 sink955 = *p 119097 } 119098 if (int32(_3_eOp) & i32(256)) == 0 { 119099 goto _94 119100 } 119101 119102 { 119103 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) 119104 *p = int16(int32(*p) + i32(10)) 119105 sink955 = *p 119106 } 119107 _94: 119108 _93: 119109 _83: 119110 _3_rCostIdx = int16((int32(_pNew.X7) + i32(1)) + ((i32(15) * int32(_pProbe.X12)) / int32((*XTable)(unsafe.Pointer(_pSrc.X4)).X13))) 119111 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _rLogSize, _3_rCostIdx) 119112 if ((_pNew.X9) & uint32(i32(320))) != uint32(i32(0)) { 119113 goto _95 119114 } 119115 119116 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = _sqlite3LogEstAdd(tls, _pNew.X6, int16(int32(_pNew.X7)+i32(16))) 119117 _95: 119118 _3_nOutUnadjusted = _pNew.X7 119119 { 119120 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) 119121 *p = int16(int32(*p) + (int32(_nInMul) + _3_nIn)) 119122 sink955 = *p 119123 } 119124 { 119125 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) 119126 *p = int16(int32(*p) + (int32(_nInMul) + _3_nIn)) 119127 sink955 = *p 119128 } 119129 _whereLoopOutputAdjust(tls, (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)), _pNew, _rSize) 119130 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) 119131 if ((_pNew.X9) & uint32(i32(2))) == 0 { 119132 goto _96 119133 } 119134 119135 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut 119136 goto _97 119137 119138 _96: 119139 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _3_nOutUnadjusted 119140 _97: 119141 if ((_pNew.X9)&uint32(i32(16))) != uint32(i32(0)) || int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))).X0) >= int32(_pProbe.X14) { 119142 goto _99 119143 } 119144 119145 _whereLoopAddBtreeIndex(tls, _pBuilder, _pSrc, _pProbe, int16(int32(_nInMul)+_3_nIn)) 119146 _99: 119147 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut 119148 _13: 119149 _pTerm = _whereScanNext(tls, &_scan) 119150 goto _12 119151 119152 _16: 119153 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _saved_prereq 119154 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = _saved_nEq 119155 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(2 /* X1 */))) = _saved_nBtm 119156 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X2 */))) = _saved_nTop 119157 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(46 /* X11 */))) = _saved_nSkip 119158 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = _saved_wsFlags 119159 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut 119160 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = _saved_nLTerm 119161 func() int32 { 119162 if i32(42) == int32(_sqlite3LogEst(tls, uint64(i32(18)))) { 119163 return i32(0) 119164 } 119165 return func() int32 { 119166 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(132430), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddBtreeIndexØ00__func__Ø000))), unsafe.Pointer(str(112128))) 119167 crt.X__builtin_abort(tls) 119168 return i32(0) 119169 }() 119170 }() 119171 if int32(_saved_nEq) != int32(_saved_nSkip) || (int32(_saved_nEq)+i32(1)) >= int32(_pProbe.X13) || int32((uint32((_pProbe.X16)>>uint(i32(6)))<<uint(i32(31)))>>uint(i32(31))) != i32(0) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(int32(_saved_nEq)+i32(1))))) < i32(42) || store961(&_rc, _whereLoopResize(tls, _db, _pNew, int32(_pNew.X10)+i32(1))) != i32(0) { 119172 goto _106 119173 } 119174 119175 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) += 1 119176 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(46 /* X11 */))) += 1 119177 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(postInc6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(44 /* X10 */))), uint16(1))))) = (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) 119178 { 119179 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) 119180 *p = (*p) | uint32(i32(32768)) 119181 sink985 = *p 119182 } 119183 _30_nIter = int16(int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(_saved_nEq)))) - int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProbe.X2)) + 2*uintptr(int32(_saved_nEq)+i32(1)))))) 119184 { 119185 p := (*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) 119186 *p = int16(int32(*p) - int32(_30_nIter)) 119187 sink955 = *p 119188 } 119189 { 119190 p := &_30_nIter 119191 *p = int16(int32(*p) + i32(5)) 119192 sink955 = *p 119193 } 119194 _whereLoopAddBtreeIndex(tls, _pBuilder, _pSrc, _pProbe, int16(int32(_30_nIter)+int32(_nInMul))) 119195 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = _saved_nOut 119196 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = _saved_nEq 119197 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(46 /* X11 */))) = _saved_nSkip 119198 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = _saved_wsFlags 119199 _106: 119200 r0 = _rc 119201 return 119202 119203 } 119204 119205 var _whereLoopAddBtreeIndexØ00__func__Ø000 [23]int8 // - 119206 119207 func init() { 119208 crt.Xstrncpy(nil, &_whereLoopAddBtreeIndexØ00__func__Ø000[0], str(112152), 23) 119209 } 119210 119211 func _whereRangeVectorLen(tls *crt.TLS, _pParse *XParse, _iCur int32, _pIdx *XIndex, _nEq int32, _pTerm *XWhereTerm) (r0 int32) { // sqlite3.c:132070:1 119212 var _nCmp int32 // sqlite3.c:132077:7 119213 _ = _nCmp 119214 var _i int32 // sqlite3.c:132078:7 119215 _ = _i 119216 var _1_aff int8 // sqlite3.c:132084:10 119217 _ = _1_aff 119218 var _1_idxaff int8 // sqlite3.c:132085:10 119219 _ = _1_idxaff 119220 var _1_pColl *XCollSeq // sqlite3.c:132086:13 119221 _ = _1_pColl 119222 var _1_pLhs *XExpr // sqlite3.c:132087:10 119223 _ = _1_pLhs 119224 var _1_pRhs *XExpr // sqlite3.c:132088:10 119225 _ = _1_pRhs 119226 _nCmp = _sqlite3ExprVectorSize(tls, (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4))) 119227 _nCmp = func() int32 { 119228 if _nCmp < (int32(_pIdx.X14) - _nEq) { 119229 return _nCmp 119230 } 119231 return (int32(_pIdx.X14) - _nEq) 119232 }() 119233 _i = i32(1) 119234 _2: 119235 if _i >= _nCmp { 119236 goto _5 119237 } 119238 119239 _1_idxaff = int8(i32(0)) 119240 _1_pLhs = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_i))).X0)) 119241 _1_pRhs = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) 119242 if ((_1_pRhs.X2) & uint32(i32(2048))) == 0 { 119243 goto _6 119244 } 119245 119246 _1_pRhs = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pRhs)) + uintptr(20 /* X6 */))))))).X0)).X1) + 20*uintptr(_i))).X0)) 119247 goto _7 119248 119249 _6: 119250 _1_pRhs = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pRhs)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_i))).X0)) 119251 _7: 119252 if int32(_1_pLhs.X0) == i32(152) && (_1_pLhs.X8) == _iCur && int32(_1_pLhs.X9) == int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i+_nEq)))) && int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X7)) + 1*uintptr(_i+_nEq)))) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X7)) + 1*uintptr(_nEq)))) { 119253 goto _11 119254 } 119255 119256 goto _5 119257 119258 _11: 119259 _1_aff = _sqlite3CompareAffinity(tls, _1_pRhs, _sqlite3ExprAffinity(tls, _1_pLhs)) 119260 _1_idxaff = _sqlite3TableColumnAffinity(tls, (*XTable)(unsafe.Pointer(_pIdx.X3)), int32(_1_pLhs.X9)) 119261 if int32(_1_aff) == int32(_1_idxaff) { 119262 goto _12 119263 } 119264 119265 goto _5 119266 119267 _12: 119268 _1_pColl = _sqlite3BinaryCompareCollSeq(tls, _pParse, _1_pLhs, _1_pRhs) 119269 if _1_pColl != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 119270 goto _13 119271 } 119272 119273 goto _5 119274 119275 _13: 119276 if _sqlite3StrICmp(tls, _1_pColl.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_i+_nEq)))) == 0 { 119277 goto _14 119278 } 119279 119280 goto _5 119281 119282 _14: 119283 _i += 1 119284 goto _2 119285 119286 _5: 119287 r0 = _i 119288 return 119289 119290 } 119291 119292 func _whereRangeScanEst(tls *crt.TLS, _pParse *XParse, _pBuilder *XWhereLoopBuilder, _pLower *XWhereTerm, _pUpper *XWhereTerm, _pLoop *XWhereLoop) (r0 int32) { // sqlite3.c:131224:1 119293 var _rc int32 // sqlite3.c:131231:7 119294 _ = _rc 119295 var _nOut int32 // sqlite3.c:131232:7 119296 _ = _nOut 119297 var _nNew int16 // sqlite3.c:131233:10 119298 _ = _nNew 119299 _rc = i32(0) 119300 _nOut = int32(_pLoop.X7) 119301 119302 func() int32 { 119303 if (_pLower != nil) || (_pUpper != nil) { 119304 return i32(0) 119305 } 119306 return func() int32 { 119307 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131356), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereRangeScanEstØ00__func__Ø000))), unsafe.Pointer(str(112176))) 119308 crt.X__builtin_abort(tls) 119309 return i32(0) 119310 }() 119311 }() 119312 func() int32 { 119313 if (_pUpper == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) || ((int32(_pUpper.X3) & i32(0)) == i32(0)) { 119314 return i32(0) 119315 } 119316 return func() int32 { 119317 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131358), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereRangeScanEstØ00__func__Ø000))), unsafe.Pointer(str(112196))) 119318 crt.X__builtin_abort(tls) 119319 return i32(0) 119320 }() 119321 }() 119322 _nNew = _whereRangeAdjust(tls, _pLower, int16(_nOut)) 119323 _nNew = _whereRangeAdjust(tls, _pUpper, _nNew) 119324 if _pLower == nil || int32(_pLower.X2) <= i32(0) || _pUpper == nil || int32(_pUpper.X2) <= i32(0) { 119325 goto _9 119326 } 119327 119328 { 119329 p := &_nNew 119330 *p = int16(int32(*p) - i32(20)) 119331 sink955 = *p 119332 } 119333 _9: 119334 { 119335 p := &_nOut 119336 *p = (*p) - (bool2int(_pLower != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) + bool2int(_pUpper != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))))) 119337 sink961 = *p 119338 } 119339 if int32(_nNew) >= i32(10) { 119340 goto _10 119341 } 119342 119343 _nNew = int16(i32(10)) 119344 _10: 119345 if int32(_nNew) >= _nOut { 119346 goto _11 119347 } 119348 119349 _nOut = int32(_nNew) 119350 _11: 119351 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(24 /* X7 */))) = int16(_nOut) 119352 r0 = _rc 119353 return 119354 119355 } 119356 119357 var _whereRangeScanEstØ00__func__Ø000 [18]int8 // - 119358 119359 func init() { 119360 crt.Xstrncpy(nil, &_whereRangeScanEstØ00__func__Ø000[0], str(112244), 18) 119361 } 119362 119363 func _whereRangeAdjust(tls *crt.TLS, _pTerm *XWhereTerm, _nNew int16) (r0 int16) { // sqlite3.c:131049:1 119364 var _nRet int16 // sqlite3.c:131050:10 119365 _ = _nRet 119366 _nRet = _nNew 119367 if _pTerm == nil { 119368 goto _0 119369 } 119370 119371 if int32(_pTerm.X2) > i32(0) { 119372 goto _1 119373 } 119374 119375 { 119376 p := &_nRet 119377 *p = int16(int32(*p) + int32(_pTerm.X2)) 119378 sink955 = *p 119379 } 119380 goto _2 119381 119382 _1: 119383 if (int32(_pTerm.X3) & i32(0)) != i32(0) { 119384 goto _3 119385 } 119386 119387 { 119388 p := &_nRet 119389 *p = int16(int32(*p) - i32(20)) 119390 sink955 = *p 119391 } 119392 func() int32 { 119393 if i32(20) == int32(_sqlite3LogEst(tls, uint64(i32(4)))) { 119394 return i32(0) 119395 } 119396 return func() int32 { 119397 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131055), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereRangeAdjustØ00__func__Ø000))), unsafe.Pointer(str(112264))) 119398 crt.X__builtin_abort(tls) 119399 return i32(0) 119400 }() 119401 }() 119402 _3: 119403 _2: 119404 _0: 119405 r0 = _nRet 119406 return 119407 119408 } 119409 119410 var _whereRangeAdjustØ00__func__Ø000 [17]int8 // - 119411 119412 func init() { 119413 crt.Xstrncpy(nil, &_whereRangeAdjustØ00__func__Ø000[0], str(112288), 17) 119414 } 119415 119416 func _whereLoopAddOr(tls *crt.TLS, _pBuilder *XWhereLoopBuilder, _mPrereq uint64, _mUnusable uint64) (r0 int32) { // sqlite3.c:133099:1 119417 var _pWInfo *XWhereInfo // sqlite3.c:133104:13 119418 _ = _pWInfo 119419 var _pWC *XWhereClause // sqlite3.c:133105:15 119420 _ = _pWC 119421 var _pNew *XWhereLoop // sqlite3.c:133106:13 119422 _ = _pNew 119423 var _pTerm *XWhereTerm // sqlite3.c:133107:13 119424 _ = _pTerm 119425 var _pWCEnd *XWhereTerm // sqlite3.c:133107:21 119426 _ = _pWCEnd 119427 var _rc int32 // sqlite3.c:133108:7 119428 _ = _rc 119429 var _iCur int32 // sqlite3.c:133109:7 119430 _ = _iCur 119431 var _tempWC XWhereClause // sqlite3.c:133110:15 119432 _ = _tempWC 119433 var _sSubBuild XWhereLoopBuilder // sqlite3.c:133111:20 119434 _ = _sSubBuild 119435 var _sSum XWhereOrSet // sqlite3.c:133112:14 119436 _ = _sSum 119437 var _sCur XWhereOrSet // sqlite3.c:133112:20 119438 _ = _sCur 119439 var _pItem *T7840217 // sqlite3.c:133113:23 119440 _ = _pItem 119441 var _2_pOrWC *XWhereClause // sqlite3.c:133126:19 119442 _ = _2_pOrWC 119443 var _2_pOrWCEnd *XWhereTerm // sqlite3.c:133127:17 119444 _ = _2_pOrWCEnd 119445 var _2_pOrTerm *XWhereTerm // sqlite3.c:133128:17 119446 _ = _2_pOrTerm 119447 var _2_once int32 // sqlite3.c:133129:11 119448 _ = _2_once 119449 var _2_i int32 // sqlite3.c:133130:11 119450 _ = _2_i 119451 var _2_j int32 // sqlite3.c:133130:14 119452 _ = _2_j 119453 var _12_sPrev XWhereOrSet // sqlite3.c:133177:22 119454 _ = _12_sPrev 119455 _pWInfo = (*XWhereInfo)(unsafe.Pointer(_pBuilder.X0)) 119456 _rc = i32(0) 119457 _pWC = (*XWhereClause)(unsafe.Pointer(_pBuilder.X1)) 119458 _pWCEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(_pWC.X5)))) + uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X3)))))*uintptr(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(48))))))))))) 119459 _pNew = (*XWhereLoop)(unsafe.Pointer(_pBuilder.X3)) 119460 crt.Xmemset(tls, (unsafe.Pointer)(&_sSum), i32(0), u32(40)) 119461 _pItem = (*T7840217)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer((*[1]struct { 119462 X0 unsafe.Pointer 119463 X1 *int8 119464 X2 *int8 119465 X3 *int8 119466 X4 unsafe.Pointer 119467 X5 unsafe.Pointer 119468 X6 int32 119469 X7 int32 119470 X8 int32 119471 X9 struct { 119472 X0 uint8 119473 X1 int8 119474 } 119475 X10 uint8 119476 X11 int32 119477 X12 unsafe.Pointer 119478 X13 unsafe.Pointer 119479 X14 uint64 119480 X15 struct { 119481 X [0]struct { 119482 X0 *int8 119483 X1 unsafe.Pointer 119484 } 119485 U [4]byte 119486 } 119487 X16 unsafe.Pointer 119488 })(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))))) + uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr(_pNew.X3)))))*uintptr(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr(68))))))))))) 119489 _iCur = _pItem.X11 119490 _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 119491 _0: 119492 if uintptr(unsafe.Pointer(_pTerm)) >= uintptr(unsafe.Pointer(_pWCEnd)) || _rc != i32(0) { 119493 goto _4 119494 } 119495 119496 if (int32(_pTerm.X4)&i32(512)) == i32(0) || (((*XWhereOrInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))))).X1)&(_pNew.X1)) == uint64(i32(0)) { 119497 goto _6 119498 } 119499 119500 _2_pOrWC = (*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) + uintptr(0 /* X0 */))) 119501 _2_pOrWCEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(_2_pOrWC.X5) + 48*uintptr(_2_pOrWC.X3))) 119502 _2_once = i32(1) 119503 _sSubBuild = *_pBuilder 119504 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(8 /* X2 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 119505 *(**XWhereOrSet)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(16 /* X4 */))))) = &_sCur 119506 _2_pOrTerm = (*XWhereTerm)(unsafe.Pointer(_2_pOrWC.X5)) 119507 _7: 119508 if uintptr(unsafe.Pointer(_2_pOrTerm)) >= uintptr(unsafe.Pointer(_2_pOrWCEnd)) { 119509 goto _10 119510 } 119511 119512 if (int32(_2_pOrTerm.X4) & i32(1024)) == i32(0) { 119513 goto _11 119514 } 119515 119516 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(4 /* X1 */))))) = (*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pOrTerm)) + uintptr(28 /* X10 */)))))) + uintptr(0 /* X0 */))) 119517 goto _12 119518 119519 _11: 119520 if (_2_pOrTerm.X8) != _iCur { 119521 goto _13 119522 } 119523 119524 *(**XWhereInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(0 /* X0 */))))) = (*XWhereInfo)(unsafe.Pointer(_pWC.X0)) 119525 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(4 /* X1 */))))) = _pWC 119526 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(8 /* X2 */))) = uint8(i32(28)) 119527 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(12 /* X3 */))) = i32(1) 119528 *(**XWhereTerm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_tempWC)) + uintptr(20 /* X5 */))))) = _2_pOrTerm 119529 *(**XWhereClause)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSubBuild)) + uintptr(4 /* X1 */))))) = &_tempWC 119530 goto _14 119531 119532 _13: 119533 goto _8 119534 119535 _14: 119536 _12: 119537 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur)) + uintptr(0 /* X0 */))) = uint16(i32(0)) 119538 if ((*XTable)(unsafe.Pointer(_pItem.X4)).X16) == 0 { 119539 goto _15 119540 } 119541 119542 _rc = _whereLoopAddVirtual(tls, &_sSubBuild, _mPrereq, _mUnusable) 119543 goto _16 119544 119545 _15: 119546 _rc = _whereLoopAddBtree(tls, &_sSubBuild, _mPrereq) 119547 _16: 119548 if _rc != i32(0) { 119549 goto _17 119550 } 119551 119552 _rc = _whereLoopAddOr(tls, &_sSubBuild, _mPrereq, _mUnusable) 119553 _17: 119554 func() int32 { 119555 if (_rc == i32(0)) || (int32(_sCur.X0) == i32(0)) { 119556 return i32(0) 119557 } 119558 return func() int32 { 119559 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133169), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLoopAddOrØ00__func__Ø000))), unsafe.Pointer(str(112308))) 119560 crt.X__builtin_abort(tls) 119561 return i32(0) 119562 }() 119563 }() 119564 if int32(_sCur.X0) != i32(0) { 119565 goto _21 119566 } 119567 119568 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum)) + uintptr(0 /* X0 */))) = uint16(i32(0)) 119569 goto _10 119570 119571 _21: 119572 if _2_once == 0 { 119573 goto _23 119574 } 119575 119576 _whereOrMove(tls, &_sSum, &_sCur) 119577 _2_once = i32(0) 119578 goto _24 119579 119580 _23: 119581 _whereOrMove(tls, &_12_sPrev, &_sSum) 119582 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum)) + uintptr(0 /* X0 */))) = uint16(i32(0)) 119583 _2_i = i32(0) 119584 _25: 119585 if _2_i >= int32(_12_sPrev.X0) { 119586 goto _28 119587 } 119588 119589 _2_j = i32(0) 119590 _29: 119591 if _2_j >= int32(_sCur.X0) { 119592 goto _32 119593 } 119594 119595 _whereOrInsert(tls, &_sSum, ((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sPrev))+uintptr(4 /* X1 */)))))+12*uintptr(_2_i))).X0)|((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur))+uintptr(4 /* X1 */)))))+12*uintptr(_2_j))).X0), _sqlite3LogEstAdd(tls, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sPrev))+uintptr(4 /* X1 */)))))+12*uintptr(_2_i))).X1, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur))+uintptr(4 /* X1 */)))))+12*uintptr(_2_j))).X1), _sqlite3LogEstAdd(tls, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_12_sPrev))+uintptr(4 /* X1 */)))))+12*uintptr(_2_i))).X2, (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sCur))+uintptr(4 /* X1 */)))))+12*uintptr(_2_j))).X2)) 119596 _2_j += 1 119597 goto _29 119598 119599 _32: 119600 _2_i += 1 119601 goto _25 119602 119603 _28: 119604 _24: 119605 _8: 119606 *(*uintptr)(unsafe.Pointer(&_2_pOrTerm)) += uintptr(48) 119607 goto _7 119608 119609 _10: 119610 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X10 */))) = uint16(i32(1)) 119611 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X13)) + 4*uintptr(i32(0)))) = _pTerm 119612 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X9 */))) = uint32(i32(8192)) 119613 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X5 */))) = int16(i32(0)) 119614 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(18 /* X4 */))) = uint8(i32(0)) 119615 crt.Xmemset(tls, (unsafe.Pointer)((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(28 /* X8 */)))), i32(0), u32(12)) 119616 _2_i = i32(0) 119617 _33: 119618 if _rc != i32(0) || _2_i >= int32(_sSum.X0) { 119619 goto _37 119620 } 119621 119622 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(22 /* X6 */))) = int16(int32((*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum))+uintptr(4 /* X1 */)))))+12*uintptr(_2_i))).X1) + i32(1)) 119623 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(24 /* X7 */))) = (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum))+uintptr(4 /* X1 */))))) + 12*uintptr(_2_i))).X2 119624 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = (*XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSum))+uintptr(4 /* X1 */))))) + 12*uintptr(_2_i))).X0 119625 _rc = _whereLoopInsert(tls, _pBuilder, _pNew) 119626 _2_i += 1 119627 goto _33 119628 119629 _37: 119630 _6: 119631 *(*uintptr)(unsafe.Pointer(&_pTerm)) += uintptr(48) 119632 goto _0 119633 119634 _4: 119635 r0 = _rc 119636 return 119637 119638 } 119639 119640 var _whereLoopAddOrØ00__func__Ø000 [15]int8 // - 119641 119642 func init() { 119643 crt.Xstrncpy(nil, &_whereLoopAddOrØ00__func__Ø000[0], str(112336), 15) 119644 } 119645 119646 func _whereOrMove(tls *crt.TLS, _pDest *XWhereOrSet, _pSrc *XWhereOrSet) { // sqlite3.c:129949:1 119647 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest)) + uintptr(0 /* X0 */))) = _pSrc.X0 119648 crt.Xmemcpy(tls, (unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest))+uintptr(4 /* X1 */)))), (unsafe.Pointer)((*[3]XWhereOrCost)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(4 /* X1 */)))), uint32(_pDest.X0)*u32(12)) 119649 return 119650 119651 } 119652 119653 func _wherePathSolver(tls *crt.TLS, _pWInfo *XWhereInfo, _nRowEst int16) (r0 int32) { // sqlite3.c:133668:1 119654 var _mxChoice int32 // sqlite3.c:133669:7 119655 _ = _mxChoice 119656 var _nLoop int32 // sqlite3.c:133670:7 119657 _ = _nLoop 119658 var _pParse *XParse // sqlite3.c:133671:9 119659 _ = _pParse 119660 var _db *Xsqlite3 // sqlite3.c:133672:11 119661 _ = _db 119662 var _iLoop int32 // sqlite3.c:133673:7 119663 _ = _iLoop 119664 var _ii int32 // sqlite3.c:133674:7 119665 _ = _ii 119666 var _jj int32 // sqlite3.c:133674:11 119667 _ = _jj 119668 var _mxI int32 // sqlite3.c:133675:7 119669 _ = _mxI 119670 var _nOrderBy int32 // sqlite3.c:133676:7 119671 _ = _nOrderBy 119672 var _mxCost int16 // sqlite3.c:133677:10 119673 _ = _mxCost 119674 var _mxUnsorted int16 // sqlite3.c:133678:10 119675 _ = _mxUnsorted 119676 var _nTo int32 // sqlite3.c:133679:7 119677 _ = _nTo 119678 var _nFrom int32 // sqlite3.c:133679:12 119679 _ = _nFrom 119680 var _aFrom *XWherePath // sqlite3.c:133680:13 119681 _ = _aFrom 119682 var _aTo *XWherePath // sqlite3.c:133681:13 119683 _ = _aTo 119684 var _pFrom *XWherePath // sqlite3.c:133682:13 119685 _ = _pFrom 119686 var _pTo *XWherePath // sqlite3.c:133683:13 119687 _ = _pTo 119688 var _pWLoop *XWhereLoop // sqlite3.c:133684:13 119689 _ = _pWLoop 119690 var _pX **XWhereLoop // sqlite3.c:133685:13 119691 _ = _pX 119692 var _aSortCost *int16 // sqlite3.c:133686:10 119693 _ = _aSortCost 119694 var _pSpace *int8 // sqlite3.c:133687:8 119695 _ = _pSpace 119696 var _nSpace int32 // sqlite3.c:133688:7 119697 _ = _nSpace 119698 var _8_nOut int16 // sqlite3.c:133761:16 119699 _ = _8_nOut 119700 var _8_rCost int16 // sqlite3.c:133762:16 119701 _ = _8_rCost 119702 var _8_rUnsorted int16 // sqlite3.c:133763:16 119703 _ = _8_rUnsorted 119704 var _8_isOrdered int8 // sqlite3.c:133764:12 119705 _ = _8_isOrdered 119706 var _8_maskNew uint64 // sqlite3.c:133765:17 119707 _ = _8_maskNew 119708 var _8_revMask uint64 // sqlite3.c:133766:17 119709 _ = _8_revMask 119710 var _28_pLevel *XWhereLevel // sqlite3.c:133957:16 119711 _ = _28_pLevel 119712 var _29_notUsed uint64 // sqlite3.c:133967:13 119713 _ = _29_notUsed 119714 var _29_rc int32 // sqlite3.c:133968:9 119715 _ = _29_rc 119716 var _36_wsFlags uint32 // sqlite3.c:133985:15 119717 _ = _36_wsFlags 119718 var _37_m uint64 // sqlite3.c:133989:21 119719 _ = _37_m 119720 var _37_rc int32 // sqlite3.c:133990:17 119721 _ = _37_rc 119722 var _39_revMask uint64 // sqlite3.c:134005:15 119723 _ = _39_revMask 119724 var _39_nOrder int32 // sqlite3.c:134006:11 119725 _ = _39_nOrder 119726 _mxI = i32(0) 119727 _mxCost = i16(0) 119728 _mxUnsorted = i16(0) 119729 _aSortCost = nil 119730 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 119731 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 119732 _nLoop = int32(_pWInfo.X10) 119733 _mxChoice = func() int32 { 119734 if _nLoop <= i32(1) { 119735 return i32(1) 119736 } 119737 return func() int32 { 119738 if _nLoop == i32(2) { 119739 return i32(5) 119740 } 119741 return i32(10) 119742 }() 119743 }() 119744 func() int32 { 119745 if _nLoop <= ((*XSrcList)(unsafe.Pointer(_pWInfo.X1)).X0) { 119746 return i32(0) 119747 } 119748 return func() int32 { 119749 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133697), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112352))) 119750 crt.X__builtin_abort(tls) 119751 return i32(0) 119752 }() 119753 }() 119754 if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && int32(_nRowEst) != i32(0) { 119755 goto _7 119756 } 119757 119758 _nOrderBy = i32(0) 119759 goto _8 119760 119761 _7: 119762 _nOrderBy = (*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0 119763 _8: 119764 _nSpace = int32(((u32(28) + (u32(4) * uint32(_nLoop))) * uint32(_mxChoice)) * uint32(i32(2))) 119765 { 119766 p := &_nSpace 119767 *p = int32(uint32(*p) + (u32(2) * uint32(_nOrderBy))) 119768 sink961 = *p 119769 } 119770 _pSpace = (*int8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nSpace)))) 119771 if _pSpace != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 119772 goto _9 119773 } 119774 119775 r0 = _sqlite3NomemError(tls, i32(133715)) 119776 return 119777 119778 _9: 119779 _aTo = (*XWherePath)(unsafe.Pointer(_pSpace)) 119780 _aFrom = (*XWherePath)(unsafe.Pointer(uintptr(unsafe.Pointer(_aTo)) + uintptr(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(_mxChoice)))))*uintptr(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(28))))))))))) 119781 crt.Xmemset(tls, (unsafe.Pointer)(_aFrom), i32(0), u32(28)) 119782 _pX = (**XWhereLoop)(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(unsafe.Pointer(_aFrom)) + uintptr(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(_mxChoice)))))*uintptr(unsafe.Pointer((*XWherePath)(unsafe.Pointer(uintptr(28))))))))))))) 119783 *func() **XWherePath { _ii = _mxChoice * i32(2); return &_pFrom }() = _aTo 119784 _10: 119785 if _ii <= i32(0) { 119786 goto _13 119787 } 119788 119789 *(***XWhereLoop)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom)) + uintptr(24 /* X6 */))))) = _pX 119790 { 119791 p := func() ***XWhereLoop { 119792 *(*uintptr)(unsafe.Pointer(func() **XWherePath { _ii -= 1; return &_pFrom }())) += uintptr(28) 119793 return &_pX 119794 }() 119795 *p = (**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 4*uintptr(_nLoop))) 119796 sink8894322 = *p 119797 } 119798 goto _10 119799 119800 _13: 119801 if _nOrderBy == 0 { 119802 goto _14 119803 } 119804 119805 _aSortCost = (*int16)(unsafe.Pointer(_pX)) 119806 crt.Xmemset(tls, (unsafe.Pointer)(_aSortCost), i32(0), u32(2)*uint32(_nOrderBy)) 119807 _14: 119808 func() int32 { 119809 if (_aSortCost == (*int16)(unsafe.Pointer(uintptr(i32(0))))) || ((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSpace))+1*uintptr(_nSpace))) == (*int8)(unsafe.Pointer((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost))+2*uintptr(_nOrderBy)))))) { 119810 return i32(0) 119811 } 119812 return func() int32 { 119813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133733), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112384))) 119814 crt.X__builtin_abort(tls) 119815 return i32(0) 119816 }() 119817 }() 119818 func() int32 { 119819 if (_aSortCost != (*int16)(unsafe.Pointer(uintptr(i32(0))))) || ((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSpace))+1*uintptr(_nSpace))) == (*int8)(unsafe.Pointer(_pX))) { 119820 return i32(0) 119821 } 119822 return func() int32 { 119823 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133734), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112448))) 119824 crt.X__builtin_abort(tls) 119825 return i32(0) 119826 }() 119827 }() 119828 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+28*uintptr(i32(0)))))) + uintptr(16 /* X2 */))) = int16(func() uint32 { 119829 if (_pParse.X42) < uint32(i32(48)) { 119830 return (_pParse.X42) 119831 } 119832 return uint32(i32(48)) 119833 }()) 119834 func() int32 { 119835 if i32(48) == int32(_sqlite3LogEst(tls, uint64(i32(28)))) { 119836 return i32(0) 119837 } 119838 return func() int32 { 119839 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133741), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112492))) 119840 crt.X__builtin_abort(tls) 119841 return i32(0) 119842 }() 119843 }() 119844 _nFrom = i32(1) 119845 func() int32 { 119846 if int32((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+28*uintptr(i32(0)))).X5) == i32(0) { 119847 return i32(0) 119848 } 119849 return func() int32 { 119850 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133743), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112516))) 119851 crt.X__builtin_abort(tls) 119852 return i32(0) 119853 }() 119854 }() 119855 if _nOrderBy == 0 { 119856 goto _27 119857 } 119858 119859 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+28*uintptr(i32(0)))))) + uintptr(22 /* X5 */))) = int8(func() int32 { 119860 if _nLoop > i32(0) { 119861 return i32(-1) 119862 } 119863 return _nOrderBy 119864 }()) 119865 _27: 119866 _iLoop = i32(0) 119867 _30: 119868 if _iLoop >= _nLoop { 119869 goto _33 119870 } 119871 119872 _nTo = i32(0) 119873 *func() **XWherePath { _ii = i32(0); return &_pFrom }() = _aFrom 119874 _34: 119875 if _ii >= _nFrom { 119876 goto _37 119877 } 119878 119879 _pWLoop = (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)) 119880 _38: 119881 if _pWLoop == nil { 119882 goto _41 119883 } 119884 119885 _8_isOrdered = _pFrom.X5 119886 _8_revMask = uint64(i32(0)) 119887 if ((_pWLoop.X0) & (^(_pFrom.X0))) == uint64(i32(0)) { 119888 goto _42 119889 } 119890 119891 goto _39 119892 119893 _42: 119894 if ((_pWLoop.X1) & (_pFrom.X0)) == uint64(i32(0)) { 119895 goto _43 119896 } 119897 119898 goto _39 119899 119900 _43: 119901 if ((_pWLoop.X9)&uint32(i32(16384))) == uint32(i32(0)) || int32(_pFrom.X2) >= i32(10) { 119902 goto _45 119903 } 119904 119905 func() int32 { 119906 if i32(10) == int32(_sqlite3LogEst(tls, uint64(i32(2)))) { 119907 return i32(0) 119908 } 119909 return func() int32 { 119910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133773), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(91700))) 119911 crt.X__builtin_abort(tls) 119912 return i32(0) 119913 }() 119914 }() 119915 goto _39 119916 119917 _45: 119918 _8_rUnsorted = _sqlite3LogEstAdd(tls, _pWLoop.X5, int16(int32(_pWLoop.X6)+int32(_pFrom.X2))) 119919 _8_rUnsorted = _sqlite3LogEstAdd(tls, _8_rUnsorted, _pFrom.X4) 119920 _8_nOut = int16(int32(_pFrom.X2) + int32(_pWLoop.X7)) 119921 _8_maskNew = (_pFrom.X0) | (_pWLoop.X1) 119922 if int32(_8_isOrdered) >= i32(0) { 119923 goto _48 119924 } 119925 119926 _8_isOrdered = _wherePathSatisfiesOrderBy(tls, _pWInfo, (*XExprList)(unsafe.Pointer(_pWInfo.X2)), _pFrom, _pWInfo.X9, uint16(_iLoop), _pWLoop, &_8_revMask) 119927 goto _49 119928 119929 _48: 119930 _8_revMask = _pFrom.X1 119931 _49: 119932 if int32(_8_isOrdered) < i32(0) || int32(_8_isOrdered) >= _nOrderBy { 119933 goto _51 119934 } 119935 119936 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost)) + 2*uintptr(_8_isOrdered)))) != i32(0) { 119937 goto _52 119938 } 119939 119940 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost)) + 2*uintptr(_8_isOrdered))) = _whereSortingCost(tls, _pWInfo, _nRowEst, _nOrderBy, int32(_8_isOrdered)) 119941 _52: 119942 _8_rCost = _sqlite3LogEstAdd(tls, _8_rUnsorted, *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aSortCost)) + 2*uintptr(_8_isOrdered)))) 119943 goto _53 119944 119945 _51: 119946 _8_rCost = _8_rUnsorted 119947 _53: 119948 *func() **XWherePath { _jj = i32(0); return &_pTo }() = _aTo 119949 _54: 119950 if _jj >= _nTo { 119951 goto _57 119952 } 119953 119954 if (_pTo.X0) != _8_maskNew || ((int32(_pTo.X5)^int32(_8_isOrdered))&i32(128)) != i32(0) { 119955 goto _59 119956 } 119957 119958 goto _57 119959 119960 _59: 119961 *(*uintptr)(unsafe.Pointer(func() **XWherePath { _jj += 1; return &_pTo }())) += uintptr(28) 119962 goto _54 119963 119964 _57: 119965 if _jj < _nTo { 119966 goto _60 119967 } 119968 119969 if _nTo < _mxChoice || int32(_8_rCost) <= int32(_mxCost) && (int32(_8_rCost) != int32(_mxCost) || int32(_8_rUnsorted) < int32(_mxUnsorted)) { 119970 goto _64 119971 } 119972 119973 goto _39 119974 119975 _64: 119976 if _nTo >= _mxChoice { 119977 goto _65 119978 } 119979 119980 _jj = postInc961(&_nTo, int32(1)) 119981 goto _66 119982 119983 _65: 119984 _jj = _mxI 119985 _66: 119986 _pTo = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 28*uintptr(_jj))) 119987 goto _67 119988 119989 _60: 119990 if int32(_pTo.X3) >= int32(_8_rCost) && (int32(_pTo.X3) != int32(_8_rCost) || int32(_pTo.X2) > int32(_8_nOut)) { 119991 goto _70 119992 } 119993 119994 goto _39 119995 119996 _70: 119997 _67: 119998 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(0 /* X0 */))) = (_pFrom.X0) | (_pWLoop.X1) 119999 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(8 /* X1 */))) = _8_revMask 120000 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(16 /* X2 */))) = _8_nOut 120001 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(18 /* X3 */))) = _8_rCost 120002 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(20 /* X4 */))) = _8_rUnsorted 120003 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(22 /* X5 */))) = _8_isOrdered 120004 crt.Xmemcpy(tls, (unsafe.Pointer)(_pTo.X6), (unsafe.Pointer)(_pFrom.X6), u32(4)*uint32(_iLoop)) 120005 *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo.X6)) + 4*uintptr(_iLoop))) = _pWLoop 120006 if _nTo < _mxChoice { 120007 goto _71 120008 } 120009 120010 _mxI = i32(0) 120011 _mxCost = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 28*uintptr(i32(0)))).X3 120012 _mxUnsorted = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 28*uintptr(i32(0)))).X2 120013 *func() **XWherePath { _jj = i32(1); return &_pTo }() = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aTo)) + 28*uintptr(i32(1)))) 120014 _72: 120015 if _jj >= _mxChoice { 120016 goto _75 120017 } 120018 120019 if int32(_pTo.X3) <= int32(_mxCost) && (int32(_pTo.X3) != int32(_mxCost) || int32(_pTo.X4) <= int32(_mxUnsorted)) { 120020 goto _78 120021 } 120022 120023 _mxCost = _pTo.X3 120024 _mxUnsorted = _pTo.X4 120025 _mxI = _jj 120026 _78: 120027 *(*uintptr)(unsafe.Pointer(func() **XWherePath { _jj += 1; return &_pTo }())) += uintptr(28) 120028 goto _72 120029 120030 _75: 120031 _71: 120032 _39: 120033 _pWLoop = (*XWhereLoop)(unsafe.Pointer(_pWLoop.X14)) 120034 goto _38 120035 120036 _41: 120037 *(*uintptr)(unsafe.Pointer(func() **XWherePath { _ii += 1; return &_pFrom }())) += uintptr(28) 120038 goto _34 120039 120040 _37: 120041 _pFrom = _aTo 120042 _aTo = _aFrom 120043 _aFrom = _pFrom 120044 _nFrom = _nTo 120045 _iLoop += 1 120046 goto _30 120047 120048 _33: 120049 if _nFrom != i32(0) { 120050 goto _79 120051 } 120052 120053 _sqlite3ErrorMsg(tls, _pParse, str(112540)) 120054 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSpace)) 120055 r0 = i32(1) 120056 return 120057 120058 _79: 120059 _pFrom = _aFrom 120060 _ii = i32(1) 120061 _80: 120062 if _ii >= _nFrom { 120063 goto _83 120064 } 120065 120066 if int32(_pFrom.X3) <= int32((*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom))+28*uintptr(_ii))).X3) { 120067 goto _84 120068 } 120069 120070 _pFrom = (*XWherePath)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aFrom)) + 28*uintptr(_ii))) 120071 _84: 120072 _ii += 1 120073 goto _80 120074 120075 _83: 120076 func() int32 { 120077 if int32(_pWInfo.X10) == _nLoop { 120078 return i32(0) 120079 } 120080 return func() int32 { 120081 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133954), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112560))) 120082 crt.X__builtin_abort(tls) 120083 return i32(0) 120084 }() 120085 }() 120086 _iLoop = i32(0) 120087 _87: 120088 if _iLoop >= _nLoop { 120089 goto _90 120090 } 120091 120092 _28_pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))))) + uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr(_iLoop)))))*uintptr(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr(76))))))))))) 120093 *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pLevel)) + uintptr(64 /* X18 */))))) = store8892503(&_pWLoop, *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 4*uintptr(_iLoop)))) 120094 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pLevel)) + uintptr(44 /* X11 */))) = _pWLoop.X3 120095 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pLevel)) + uintptr(4 /* X1 */))) = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 120096 X0 unsafe.Pointer 120097 X1 *int8 120098 X2 *int8 120099 X3 *int8 120100 X4 unsafe.Pointer 120101 X5 unsafe.Pointer 120102 X6 int32 120103 X7 int32 120104 X8 int32 120105 X9 struct { 120106 X0 uint8 120107 X1 int8 120108 } 120109 X10 uint8 120110 X11 int32 120111 X12 unsafe.Pointer 120112 X13 unsafe.Pointer 120113 X14 uint64 120114 X15 struct { 120115 X [0]struct { 120116 X0 *int8 120117 X1 unsafe.Pointer 120118 } 120119 U [4]byte 120120 } 120121 X16 unsafe.Pointer 120122 })(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 68*uintptr(_28_pLevel.X11))).X11 120123 _iLoop += 1 120124 goto _87 120125 120126 _90: 120127 if (int32(_pWInfo.X9)&i32(256)) == i32(0) || (int32(_pWInfo.X9)&i32(128)) != i32(0) || int32(_pWInfo.X15) != i32(0) || _nRowEst == 0 { 120128 goto _94 120129 } 120130 120131 _29_rc = int32(_wherePathSatisfiesOrderBy(tls, _pWInfo, (*XExprList)(unsafe.Pointer(_pWInfo.X3)), _pFrom, uint16(i32(128)), uint16(_nLoop-i32(1)), *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 4*uintptr(_nLoop-i32(1)))), &_29_notUsed)) 120132 if _29_rc != ((*XExprList)(unsafe.Pointer(_pWInfo.X3)).X0) { 120133 goto _95 120134 } 120135 120136 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(47 /* X15 */))) = uint8(i32(2)) 120137 _95: 120138 _94: 120139 if (*XExprList)(unsafe.Pointer(_pWInfo.X2)) == nil { 120140 goto _96 120141 } 120142 120143 if (int32(_pWInfo.X9) & i32(128)) == 0 { 120144 goto _97 120145 } 120146 120147 if int32(_pFrom.X5) != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) { 120148 goto _98 120149 } 120150 120151 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(47 /* X15 */))) = uint8(i32(2)) 120152 _98: 120153 goto _99 120154 120155 _97: 120156 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(43 /* X11 */))) = _pFrom.X5 120157 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(60 /* X19 */))) = _pFrom.X1 120158 if int32(_pWInfo.X11) > i32(0) { 120159 goto _100 120160 } 120161 120162 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(43 /* X11 */))) = int8(i32(0)) 120163 if _nLoop <= i32(0) { 120164 goto _101 120165 } 120166 120167 _36_wsFlags = (*(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 4*uintptr(_nLoop-i32(1))))).X9 120168 if (_36_wsFlags&uint32(i32(4096))) != uint32(i32(0)) || (_36_wsFlags&uint32(i32(260))) == uint32(i32(260)) { 120169 goto _103 120170 } 120171 120172 _37_m = u64(0) 120173 _37_rc = int32(_wherePathSatisfiesOrderBy(tls, _pWInfo, (*XExprList)(unsafe.Pointer(_pWInfo.X2)), _pFrom, uint16(i32(2048)), uint16(_nLoop-i32(1)), *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 4*uintptr(_nLoop-i32(1)))), &_37_m)) 120174 if _37_rc != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) { 120175 goto _104 120176 } 120177 120178 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(48 /* X16 */))) = uint8(i32(1)) 120179 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(60 /* X19 */))) = _37_m 120180 _104: 120181 _103: 120182 _101: 120183 _100: 120184 _99: 120185 if (int32(_pWInfo.X9)&i32(512)) == 0 || int32(_pWInfo.X11) != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) || _nLoop <= i32(0) { 120186 goto _107 120187 } 120188 120189 _39_revMask = u64(0) 120190 _39_nOrder = int32(_wherePathSatisfiesOrderBy(tls, _pWInfo, (*XExprList)(unsafe.Pointer(_pWInfo.X2)), _pFrom, uint16(i32(0)), uint16(_nLoop-i32(1)), *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom.X6)) + 4*uintptr(_nLoop-i32(1)))), &_39_revMask)) 120191 func() int32 { 120192 if int32(_pWInfo.X12) == i32(0) { 120193 return i32(0) 120194 } 120195 return func() int32 { 120196 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134009), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSolverØ00__func__Ø000))), unsafe.Pointer(str(112584))) 120197 crt.X__builtin_abort(tls) 120198 return i32(0) 120199 }() 120200 }() 120201 if _39_nOrder != ((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) { 120202 goto _110 120203 } 120204 120205 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(44 /* X12 */))) = uint8(i32(1)) 120206 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(60 /* X19 */))) = _39_revMask 120207 _110: 120208 _107: 120209 _96: 120210 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(68 /* X20 */))) = _pFrom.X2 120211 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSpace)) 120212 r0 = i32(0) 120213 return 120214 120215 } 120216 120217 var _wherePathSolverØ00__func__Ø000 [16]int8 // - 120218 120219 func init() { 120220 crt.Xstrncpy(nil, &_wherePathSolverØ00__func__Ø000[0], str(112604), 16) 120221 } 120222 120223 func _wherePathSatisfiesOrderBy(tls *crt.TLS, _pWInfo *XWhereInfo, _pOrderBy *XExprList, _pPath *XWherePath, _wctrlFlags uint16, _nLoop uint16, _pLast *XWhereLoop, _pRevMask *uint64) (r0 int8) { // sqlite3.c:133290:1 120224 var _revSet uint8 // sqlite3.c:133299:6 120225 _ = _revSet 120226 var _rev uint8 // sqlite3.c:133300:6 120227 _ = _rev 120228 var _revIdx uint8 // sqlite3.c:133301:6 120229 _ = _revIdx 120230 var _isOrderDistinct uint8 // sqlite3.c:133302:6 120231 _ = _isOrderDistinct 120232 var _distinctColumns uint8 // sqlite3.c:133303:6 120233 _ = _distinctColumns 120234 var _isMatch uint8 // sqlite3.c:133304:6 120235 _ = _isMatch 120236 var _eqOpMask uint16 // sqlite3.c:133305:7 120237 _ = _eqOpMask 120238 var _nKeyCol uint16 // sqlite3.c:133306:7 120239 _ = _nKeyCol 120240 var _nColumn uint16 // sqlite3.c:133307:7 120241 _ = _nColumn 120242 var _nOrderBy uint16 // sqlite3.c:133308:7 120243 _ = _nOrderBy 120244 var _iLoop int32 // sqlite3.c:133309:7 120245 _ = _iLoop 120246 var _i int32 // sqlite3.c:133310:7 120247 _ = _i 120248 var _j int32 // sqlite3.c:133310:10 120249 _ = _j 120250 var _iCur int32 // sqlite3.c:133311:7 120251 _ = _iCur 120252 var _iColumn int32 // sqlite3.c:133312:7 120253 _ = _iColumn 120254 var _pLoop *XWhereLoop // sqlite3.c:133313:13 120255 _ = _pLoop 120256 var _pTerm *XWhereTerm // sqlite3.c:133314:13 120257 _ = _pTerm 120258 var _pOBExpr *XExpr // sqlite3.c:133315:8 120259 _ = _pOBExpr 120260 var _pColl *XCollSeq // sqlite3.c:133316:11 120261 _ = _pColl 120262 var _pIndex *XIndex // sqlite3.c:133317:9 120263 _ = _pIndex 120264 var _db *Xsqlite3 // sqlite3.c:133318:11 120265 _ = _db 120266 var _obSat uint64 // sqlite3.c:133319:11 120267 _ = _obSat 120268 var _obDone uint64 // sqlite3.c:133320:11 120269 _ = _obDone 120270 var _orderDistinctMask uint64 // sqlite3.c:133321:11 120271 _ = _orderDistinctMask 120272 var _ready uint64 // sqlite3.c:133322:11 120273 _ = _ready 120274 var _8_z1 *int8 // sqlite3.c:133394:20 120275 _ = _8_z1 120276 var _8_z2 *int8 // sqlite3.c:133394:25 120277 _ = _8_z2 120278 var _13_bOnce uint8 // sqlite3.c:133429:12 120279 _ = _13_bOnce 120280 var _14_eOp uint16 // sqlite3.c:133435:15 120281 _ = _14_eOp 120282 var _17_pX *XExpr // sqlite3.c:133456:18 120283 _ = _17_pX 120284 var _37_p *XExpr // sqlite3.c:133553:14 120285 _ = _37_p 120286 var _37_mTerm uint64 // sqlite3.c:133554:17 120287 _ = _37_mTerm 120288 var _40_m uint64 // sqlite3.c:133568:15 120289 _ = _40_m 120290 _pLoop = nil 120291 _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pWInfo.X0)).X0)) 120292 _obSat = u64(0) 120293 func() int32 { 120294 if _pOrderBy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 120295 return i32(0) 120296 } 120297 return func() int32 { 120298 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133346), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(112620))) 120299 crt.X__builtin_abort(tls) 120300 return i32(0) 120301 }() 120302 }() 120303 if _nLoop == 0 || (int32(_db.X13)&i32(128)) == i32(0) { 120304 goto _3 120305 } 120306 120307 r0 = int8(i32(0)) 120308 return 120309 120310 _3: 120311 _nOrderBy = uint16(_pOrderBy.X0) 120312 if int32(_nOrderBy) <= i32(63) { 120313 goto _4 120314 } 120315 120316 r0 = int8(i32(0)) 120317 return 120318 120319 _4: 120320 _isOrderDistinct = uint8(i32(1)) 120321 _obDone = (u64(1) << uint(int32(_nOrderBy))) - uint64(i32(1)) 120322 _orderDistinctMask = uint64(i32(0)) 120323 _ready = uint64(i32(0)) 120324 _eqOpMask = uint16(i32(386)) 120325 if (int32(_wctrlFlags) & i32(2048)) == 0 { 120326 goto _5 120327 } 120328 120329 { 120330 p := &_eqOpMask 120331 *p = uint16(int32(*p) | i32(1)) 120332 sink6908 = *p 120333 } 120334 _5: 120335 _iLoop = i32(0) 120336 _6: 120337 if _isOrderDistinct == 0 || _obSat >= _obDone || _iLoop > int32(_nLoop) { 120338 goto _11 120339 } 120340 120341 if _iLoop <= i32(0) { 120342 goto _12 120343 } 120344 120345 { 120346 p := &_ready 120347 *p = (*p) | (_pLoop.X1) 120348 sink992 = *p 120349 } 120350 _12: 120351 if _iLoop >= int32(_nLoop) { 120352 goto _13 120353 } 120354 120355 _pLoop = *(**XWhereLoop)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPath.X6)) + 4*uintptr(_iLoop))) 120356 if (int32(_wctrlFlags) & i32(2048)) == 0 { 120357 goto _14 120358 } 120359 120360 goto _7 120361 120362 _14: 120363 goto _15 120364 120365 _13: 120366 _pLoop = _pLast 120367 _15: 120368 if ((_pLoop.X9) & uint32(i32(1024))) == 0 { 120369 goto _16 120370 } 120371 120372 if ((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X2) == 0 { 120373 goto _17 120374 } 120375 120376 _obSat = _obDone 120377 _17: 120378 goto _11 120379 120380 _16: 120381 _iCur = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 120382 X0 unsafe.Pointer 120383 X1 *int8 120384 X2 *int8 120385 X3 *int8 120386 X4 unsafe.Pointer 120387 X5 unsafe.Pointer 120388 X6 int32 120389 X7 int32 120390 X8 int32 120391 X9 struct { 120392 X0 uint8 120393 X1 int8 120394 } 120395 X10 uint8 120396 X11 int32 120397 X12 unsafe.Pointer 120398 X13 unsafe.Pointer 120399 X14 uint64 120400 X15 struct { 120401 X [0]struct { 120402 X0 *int8 120403 X1 unsafe.Pointer 120404 } 120405 U [4]byte 120406 } 120407 X16 unsafe.Pointer 120408 })(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 68*uintptr(_pLoop.X3))).X11 120409 _i = i32(0) 120410 _18: 120411 if _i >= int32(_nOrderBy) { 120412 goto _21 120413 } 120414 120415 if ((u64(1) << uint(_i)) & _obSat) == 0 { 120416 goto _22 120417 } 120418 120419 goto _19 120420 120421 _22: 120422 _pOBExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X0))) 120423 if int32(_pOBExpr.X0) == i32(152) { 120424 goto _23 120425 } 120426 120427 goto _19 120428 120429 _23: 120430 if (_pOBExpr.X8) == _iCur { 120431 goto _24 120432 } 120433 120434 goto _19 120435 120436 _24: 120437 _pTerm = _sqlite3WhereFindTerm(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */))), _iCur, int32(_pOBExpr.X9), ^_ready, uint32(_eqOpMask), (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) 120438 if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 120439 goto _25 120440 } 120441 120442 goto _19 120443 120444 _25: 120445 if int32(_pTerm.X4) != i32(1) { 120446 goto _26 120447 } 120448 120449 func() int32 { 120450 if (int32(_wctrlFlags) & i32(2048)) != 0 { 120451 return i32(0) 120452 } 120453 return func() int32 { 120454 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133389), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(112632))) 120455 crt.X__builtin_abort(tls) 120456 return i32(0) 120457 }() 120458 }() 120459 _j = i32(0) 120460 _29: 120461 if _j >= int32(_pLoop.X10) || _pTerm == (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j)))) { 120462 goto _33 120463 } 120464 120465 _j += 1 120466 goto _29 120467 120468 _33: 120469 if _j < int32(_pLoop.X10) { 120470 goto _34 120471 } 120472 120473 goto _19 120474 120475 _34: 120476 _26: 120477 if (int32(_pTerm.X4)&i32(130)) == i32(0) || int32(_pOBExpr.X9) < i32(0) { 120478 goto _36 120479 } 120480 120481 _pColl = _sqlite3ExprCollSeq(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X0))) 120482 if _pColl != nil { 120483 goto _37 120484 } 120485 120486 _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 120487 _37: 120488 _8_z1 = _pColl.X0 120489 _pColl = _sqlite3ExprCollSeq(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), (*XExpr)(unsafe.Pointer(_pTerm.X0))) 120490 if _pColl != nil { 120491 goto _38 120492 } 120493 120494 _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 120495 _38: 120496 _8_z2 = _pColl.X0 120497 if _sqlite3StrICmp(tls, _8_z1, _8_z2) == i32(0) { 120498 goto _39 120499 } 120500 120501 goto _19 120502 120503 _39: 120504 _36: 120505 { 120506 p := &_obSat 120507 *p = (*p) | (u64(1) << uint(_i)) 120508 sink992 = *p 120509 } 120510 _19: 120511 _i += 1 120512 goto _18 120513 120514 _21: 120515 if ((_pLoop.X9) & uint32(i32(4096))) != uint32(i32(0)) { 120516 goto _40 120517 } 120518 120519 if ((_pLoop.X9) & uint32(i32(256))) == 0 { 120520 goto _41 120521 } 120522 120523 _pIndex = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 120524 _nKeyCol = uint16(i32(0)) 120525 _nColumn = uint16(i32(1)) 120526 goto _42 120527 120528 _41: 120529 if store7988862(&_pIndex, (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X3))) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) && ((uint32((_pIndex.X16)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == 0 { 120530 goto _44 120531 } 120532 120533 r0 = int8(i32(0)) 120534 return 120535 120536 _44: 120537 _nKeyCol = _pIndex.X13 120538 _nColumn = _pIndex.X14 120539 func() int32 { 120540 if (int32(_nColumn) == (int32(_nKeyCol) + i32(1))) || ((((*XTable)(unsafe.Pointer(_pIndex.X3)).X9) & uint32(i32(32))) != uint32(i32(0))) { 120541 return i32(0) 120542 } 120543 return func() int32 { 120544 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133417), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(112668))) 120545 crt.X__builtin_abort(tls) 120546 return i32(0) 120547 }() 120548 }() 120549 func() int32 { 120550 if (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(int32(_nColumn)-i32(1))))) == i32(-1)) || ((((*XTable)(unsafe.Pointer(_pIndex.X3)).X9) & uint32(i32(32))) != uint32(i32(0))) { 120551 return i32(0) 120552 } 120553 return func() int32 { 120554 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133418), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(112716))) 120555 crt.X__builtin_abort(tls) 120556 return i32(0) 120557 }() 120558 }() 120559 _isOrderDistinct = uint8(bool2int(int32(_pIndex.X15) != i32(0))) 120560 _42: 120561 _rev = store6915(&_revSet, uint8(i32(0))) 120562 _distinctColumns = uint8(i32(0)) 120563 _j = i32(0) 120564 _52: 120565 if _j >= int32(_nColumn) { 120566 goto _55 120567 } 120568 120569 _13_bOnce = uint8(i32(1)) 120570 func() int32 { 120571 if (_j >= int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0)) || (((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j)))) == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) == (_j < int32(_pLoop.X11))) { 120572 return i32(0) 120573 } 120574 return func() int32 { 120575 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133431), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(112784))) 120576 crt.X__builtin_abort(tls) 120577 return i32(0) 120578 }() 120579 }() 120580 if _j >= int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0) || _j < int32(_pLoop.X11) { 120581 goto _60 120582 } 120583 120584 _14_eOp = (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j)))).X4 120585 if (int32(_14_eOp) & int32(_eqOpMask)) == i32(0) { 120586 goto _61 120587 } 120588 120589 if (int32(_14_eOp) & i32(256)) == 0 { 120590 goto _62 120591 } 120592 120593 _isOrderDistinct = uint8(i32(0)) 120594 _62: 120595 goto _53 120596 120597 _61: 120598 if func() int32 { 120599 if (int32(_14_eOp) & i32(1)) != 0 { 120600 return i32(1) 120601 } 120602 return func() int32 { 120603 func() int32 { 120604 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133451), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(5204))) 120605 crt.X__builtin_abort(tls) 120606 return i32(0) 120607 }() 120608 return i32(0) 120609 }() 120610 }() == 0 { 120611 goto _66 120612 } 120613 120614 _17_pX = (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j)))).X0)) 120615 _i = _j + i32(1) 120616 _67: 120617 if _i >= int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0) { 120618 goto _70 120619 } 120620 120621 if (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_i)))).X0)) != _17_pX { 120622 goto _71 120623 } 120624 120625 func() int32 { 120626 if (int32((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_i)))).X4) & i32(1)) != 0 { 120627 return i32(0) 120628 } 120629 return func() int32 { 120630 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133459), unsafe.Pointer((*int8)(unsafe.Pointer(&_wherePathSatisfiesOrderByØ00__func__Ø000))), unsafe.Pointer(str(112852))) 120631 crt.X__builtin_abort(tls) 120632 return i32(0) 120633 }() 120634 }() 120635 _13_bOnce = uint8(i32(0)) 120636 goto _70 120637 120638 _71: 120639 _i += 1 120640 goto _67 120641 120642 _70: 120643 _66: 120644 _60: 120645 if _pIndex == nil { 120646 goto _74 120647 } 120648 120649 _iColumn = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_j)))) 120650 _revIdx = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X7)) + 1*uintptr(_j))) 120651 if _iColumn != int32((*XTable)(unsafe.Pointer(_pIndex.X3)).X10) { 120652 goto _75 120653 } 120654 120655 _iColumn = i32(-1) 120656 _75: 120657 goto _76 120658 120659 _74: 120660 _iColumn = i32(-1) 120661 _revIdx = uint8(i32(0)) 120662 _76: 120663 if _isOrderDistinct == 0 || _iColumn < i32(0) || _j < int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0) || int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIndex.X3)).X1)+16*uintptr(_iColumn))).X3) != i32(0) { 120664 goto _80 120665 } 120666 120667 _isOrderDistinct = uint8(i32(0)) 120668 _80: 120669 _isMatch = uint8(i32(0)) 120670 _i = i32(0) 120671 _81: 120672 if _13_bOnce == 0 || _i >= int32(_nOrderBy) { 120673 goto _85 120674 } 120675 120676 if ((u64(1) << uint(_i)) & _obSat) == 0 { 120677 goto _86 120678 } 120679 120680 goto _82 120681 120682 _86: 120683 _pOBExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X0))) 120684 if (int32(_wctrlFlags) & i32(192)) != i32(0) { 120685 goto _87 120686 } 120687 120688 _13_bOnce = uint8(i32(0)) 120689 _87: 120690 if _iColumn < i32(-1) { 120691 goto _88 120692 } 120693 120694 if int32(_pOBExpr.X0) == i32(152) { 120695 goto _89 120696 } 120697 120698 goto _82 120699 120700 _89: 120701 if (_pOBExpr.X8) == _iCur { 120702 goto _90 120703 } 120704 120705 goto _82 120706 120707 _90: 120708 if int32(_pOBExpr.X9) == _iColumn { 120709 goto _91 120710 } 120711 120712 goto _82 120713 120714 _91: 120715 goto _92 120716 120717 _88: 120718 if _sqlite3ExprCompare(tls, _pOBExpr, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIndex.X10)).X1)+20*uintptr(_j))).X0)), _iCur) == 0 { 120719 goto _93 120720 } 120721 120722 goto _82 120723 120724 _93: 120725 _92: 120726 if _iColumn < i32(0) { 120727 goto _94 120728 } 120729 120730 _pColl = _sqlite3ExprCollSeq(tls, (*XParse)(unsafe.Pointer(_pWInfo.X0)), (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X0))) 120731 if _pColl != nil { 120732 goto _95 120733 } 120734 120735 _pColl = (*XCollSeq)(unsafe.Pointer(_db.X2)) 120736 _95: 120737 if _sqlite3StrICmp(tls, _pColl.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 4*uintptr(_j)))) == i32(0) { 120738 goto _96 120739 } 120740 120741 goto _82 120742 120743 _96: 120744 _94: 120745 _isMatch = uint8(i32(1)) 120746 goto _85 120747 120748 _82: 120749 _i += 1 120750 goto _81 120751 120752 _85: 120753 if _isMatch == 0 || (int32(_wctrlFlags)&i32(64)) != i32(0) { 120754 goto _98 120755 } 120756 120757 if _revSet == 0 { 120758 goto _99 120759 } 120760 120761 if (int32(_rev) ^ int32(_revIdx)) == int32((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X3) { 120762 goto _100 120763 } 120764 120765 _isMatch = uint8(i32(0)) 120766 _100: 120767 goto _101 120768 120769 _99: 120770 _rev = uint8(int32(_revIdx) ^ int32((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1)+20*uintptr(_i))).X3)) 120771 if _rev == 0 { 120772 goto _102 120773 } 120774 120775 { 120776 p := _pRevMask 120777 *p = (*p) | (u64(1) << uint(_iLoop)) 120778 sink992 = *p 120779 } 120780 _102: 120781 _revSet = uint8(i32(1)) 120782 _101: 120783 _98: 120784 if _isMatch == 0 { 120785 goto _103 120786 } 120787 120788 if _iColumn != i32(-1) { 120789 goto _104 120790 } 120791 120792 _distinctColumns = uint8(i32(1)) 120793 _104: 120794 { 120795 p := &_obSat 120796 *p = (*p) | (u64(1) << uint(_i)) 120797 sink992 = *p 120798 } 120799 goto _105 120800 120801 _103: 120802 if _j != i32(0) && _j >= int32(_nKeyCol) { 120803 goto _107 120804 } 120805 120806 _isOrderDistinct = uint8(i32(0)) 120807 _107: 120808 goto _55 120809 120810 _105: 120811 _53: 120812 _j += 1 120813 goto _52 120814 120815 _55: 120816 if _distinctColumns == 0 { 120817 goto _108 120818 } 120819 120820 _isOrderDistinct = uint8(i32(1)) 120821 _108: 120822 _40: 120823 if _isOrderDistinct == 0 { 120824 goto _109 120825 } 120826 120827 { 120828 p := &_orderDistinctMask 120829 *p = (*p) | (_pLoop.X1) 120830 sink992 = *p 120831 } 120832 _i = i32(0) 120833 _110: 120834 if _i >= int32(_nOrderBy) { 120835 goto _113 120836 } 120837 120838 if ((u64(1) << uint(_i)) & _obSat) == 0 { 120839 goto _114 120840 } 120841 120842 goto _111 120843 120844 _114: 120845 _37_p = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pOrderBy.X1) + 20*uintptr(_i))).X0)) 120846 _37_mTerm = _sqlite3WhereExprUsage(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _37_p) 120847 if _37_mTerm != uint64(i32(0)) || _sqlite3ExprIsConstant(tls, _37_p) != 0 { 120848 goto _116 120849 } 120850 120851 goto _111 120852 120853 _116: 120854 if (_37_mTerm & (^_orderDistinctMask)) != uint64(i32(0)) { 120855 goto _117 120856 } 120857 120858 { 120859 p := &_obSat 120860 *p = (*p) | (u64(1) << uint(_i)) 120861 sink992 = *p 120862 } 120863 _117: 120864 _111: 120865 _i += 1 120866 goto _110 120867 120868 _113: 120869 _109: 120870 _7: 120871 _iLoop += 1 120872 goto _6 120873 120874 _11: 120875 if _obSat != _obDone { 120876 goto _118 120877 } 120878 120879 r0 = int8(_nOrderBy) 120880 return 120881 120882 _118: 120883 if _isOrderDistinct != 0 { 120884 goto _119 120885 } 120886 120887 _i = int32(_nOrderBy) - i32(1) 120888 _120: 120889 if _i <= i32(0) { 120890 goto _123 120891 } 120892 120893 _40_m = (u64(1) << uint(_i)) - uint64(i32(1)) 120894 if (_obSat & _40_m) != _40_m { 120895 goto _124 120896 } 120897 120898 r0 = int8(_i) 120899 return 120900 120901 _124: 120902 _i -= 1 120903 goto _120 120904 120905 _123: 120906 r0 = int8(i32(0)) 120907 return 120908 120909 _119: 120910 r0 = int8(i32(-1)) 120911 return 120912 120913 } 120914 120915 var _wherePathSatisfiesOrderByØ00__func__Ø000 [26]int8 // - 120916 120917 func init() { 120918 crt.Xstrncpy(nil, &_wherePathSatisfiesOrderByØ00__func__Ø000[0], str(112892), 26) 120919 } 120920 120921 func _whereSortingCost(tls *crt.TLS, _pWInfo *XWhereInfo, _nRow int16, _nOrderBy int32, _nSorted int32) (r0 int16) { // sqlite3.c:133623:1 120922 var _rScale int16 // sqlite3.c:133642:10 120923 _ = _rScale 120924 var _rSortCost int16 // sqlite3.c:133642:18 120925 _ = _rSortCost 120926 func() int32 { 120927 if (_nOrderBy > i32(0)) && (i32(66) == int32(_sqlite3LogEst(tls, uint64(i32(100))))) { 120928 return i32(0) 120929 } 120930 return func() int32 { 120931 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133643), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereSortingCostØ00__func__Ø000))), unsafe.Pointer(str(112920))) 120932 crt.X__builtin_abort(tls) 120933 return i32(0) 120934 }() 120935 }() 120936 _rScale = int16(int32(_sqlite3LogEst(tls, uint64(((_nOrderBy-_nSorted)*i32(100))/_nOrderBy))) - i32(66)) 120937 _rSortCost = int16((int32(_nRow) + int32(_rScale)) + i32(16)) 120938 if (int32(_pWInfo.X9)&i32(16384)) == i32(0) || int32(_pWInfo.X4) >= int32(_nRow) { 120939 goto _4 120940 } 120941 120942 _nRow = _pWInfo.X4 120943 _4: 120944 { 120945 p := &_rSortCost 120946 *p = int16(int32(*p) + int32(_estLog(tls, _nRow))) 120947 sink955 = *p 120948 } 120949 r0 = _rSortCost 120950 return 120951 120952 } 120953 120954 var _whereSortingCostØ00__func__Ø000 [17]int8 // - 120955 120956 func init() { 120957 crt.Xstrncpy(nil, &_whereSortingCostØ00__func__Ø000[0], str(112960), 17) 120958 } 120959 120960 func _constructAutomaticIndex(tls *crt.TLS, _pParse *XParse, _pWC *XWhereClause, _pSrc *T7840217, _notReady uint64, _pLevel *XWhereLevel) { // sqlite3.c:130461:1 120961 var _nKeyCol int32 // sqlite3.c:130468:7 120962 _ = _nKeyCol 120963 var _pTerm *XWhereTerm // sqlite3.c:130469:13 120964 _ = _pTerm 120965 var _pWCEnd *XWhereTerm // sqlite3.c:130470:13 120966 _ = _pWCEnd 120967 var _pIdx *XIndex // sqlite3.c:130471:9 120968 _ = _pIdx 120969 var _v *XVdbe // sqlite3.c:130472:8 120970 _ = _v 120971 var _addrInit int32 // sqlite3.c:130473:7 120972 _ = _addrInit 120973 var _pTable *XTable // sqlite3.c:130474:9 120974 _ = _pTable 120975 var _addrTop int32 // sqlite3.c:130475:7 120976 _ = _addrTop 120977 var _regRecord int32 // sqlite3.c:130476:7 120978 _ = _regRecord 120979 var _n int32 // sqlite3.c:130477:7 120980 _ = _n 120981 var _i int32 // sqlite3.c:130478:7 120982 _ = _i 120983 var _mxBitCol int32 // sqlite3.c:130479:7 120984 _ = _mxBitCol 120985 var _pColl *XCollSeq // sqlite3.c:130480:11 120986 _ = _pColl 120987 var _pLoop *XWhereLoop // sqlite3.c:130481:13 120988 _ = _pLoop 120989 var _zNotUsed *int8 // sqlite3.c:130482:8 120990 _ = _zNotUsed 120991 var _idxCols uint64 // sqlite3.c:130483:11 120992 _ = _idxCols 120993 var _extraCols uint64 // sqlite3.c:130484:11 120994 _ = _extraCols 120995 var _sentWarning uint8 // sqlite3.c:130485:6 120996 _ = _sentWarning 120997 var _pPartial *XExpr // sqlite3.c:130486:8 120998 _ = _pPartial 120999 var _iContinue int32 // sqlite3.c:130487:7 121000 _ = _iContinue 121001 var _pTabItem *T7840217 // sqlite3.c:130488:23 121002 _ = _pTabItem 121003 var _addrCounter int32 // sqlite3.c:130489:7 121004 _ = _addrCounter 121005 var _regBase int32 // sqlite3.c:130490:7 121006 _ = _regBase 121007 var _1_pExpr *XExpr // sqlite3.c:130506:10 121008 _ = _1_pExpr 121009 var _3_iCol int32 // sqlite3.c:130518:11 121010 _ = _3_iCol 121011 var _3_cMask uint64 // sqlite3.c:130519:15 121012 _ = _3_cMask 121013 var _10_iCol int32 // sqlite3.c:130571:11 121014 _ = _10_iCol 121015 var _10_cMask uint64 // sqlite3.c:130572:15 121016 _ = _10_cMask 121017 var _11_pX *XExpr // sqlite3.c:130576:14 121018 _ = _11_pX 121019 var _16_regYield int32 // sqlite3.c:130618:9 121020 _ = _16_regYield 121021 _sentWarning = u8(0) 121022 _pPartial = nil 121023 _iContinue = i32(0) 121024 _addrCounter = i32(0) 121025 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 121026 func() int32 { 121027 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 121028 return i32(0) 121029 } 121030 return func() int32 { 121031 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130495), unsafe.Pointer((*int8)(unsafe.Pointer(&_constructAutomaticIndexØ00__func__Ø000))), unsafe.Pointer(str(44352))) 121032 crt.X__builtin_abort(tls) 121033 return i32(0) 121034 }() 121035 }() 121036 _addrInit = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 121037 _nKeyCol = i32(0) 121038 _pTable = (*XTable)(unsafe.Pointer(_pSrc.X4)) 121039 _pWCEnd = (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_pWC.X3))) 121040 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 121041 _idxCols = uint64(i32(0)) 121042 _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 121043 _2: 121044 if uintptr(unsafe.Pointer(_pTerm)) >= uintptr(unsafe.Pointer(_pWCEnd)) { 121045 goto _5 121046 } 121047 121048 _1_pExpr = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 121049 func() int32 { 121050 if ((((_1_pExpr.X2) & uint32(i32(1))) == uint32(i32(0))) || (int32(_1_pExpr.X11) != (_pSrc.X11))) || ((_pLoop.X0) != uint64(i32(0))) { 121051 return i32(0) 121052 } 121053 return func() int32 { 121054 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130507), unsafe.Pointer((*int8)(unsafe.Pointer(&_constructAutomaticIndexØ00__func__Ø000))), unsafe.Pointer(str(112980))) 121055 crt.X__builtin_abort(tls) 121056 return i32(0) 121057 }() 121058 }() 121059 if (_pLoop.X0) != uint64(i32(0)) || (int32(_pTerm.X3)&i32(2)) != i32(0) || ((_1_pExpr.X2)&uint32(i32(1))) != uint32(i32(0)) || _sqlite3ExprIsTableConstant(tls, _1_pExpr, _pSrc.X11) == 0 { 121060 goto _13 121061 } 121062 121063 _pPartial = _sqlite3ExprAnd(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pPartial, _sqlite3ExprDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _1_pExpr, i32(0))) 121064 _13: 121065 if _termCanDriveIndex(tls, _pTerm, _pSrc, _notReady) == 0 { 121066 goto _14 121067 } 121068 121069 _3_iCol = *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))) 121070 _3_cMask = func() uint64 { 121071 if _3_iCol >= i32(64) { 121072 return u64(9223372036854775808) 121073 } 121074 return (u64(1) << uint(_3_iCol)) 121075 }() 121076 if _sentWarning != 0 { 121077 goto _17 121078 } 121079 121080 Xsqlite3_log(tls, i32(284), str(113080), unsafe.Pointer(_pTable.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTable.X1)+16*uintptr(_3_iCol))).X0)) 121081 _sentWarning = uint8(i32(1)) 121082 _17: 121083 if (_idxCols & _3_cMask) != uint64(i32(0)) { 121084 goto _18 121085 } 121086 121087 if _whereLoopResize(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pLoop, _nKeyCol+i32(1)) == 0 { 121088 goto _19 121089 } 121090 121091 goto _end_auto_index_create 121092 121093 _19: 121094 *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(postInc961(&_nKeyCol, int32(1))))) = _pTerm 121095 { 121096 p := &_idxCols 121097 *p = (*p) | _3_cMask 121098 sink992 = *p 121099 } 121100 _18: 121101 _14: 121102 *(*uintptr)(unsafe.Pointer(&_pTerm)) += uintptr(48) 121103 goto _2 121104 121105 _5: 121106 func() int32 { 121107 if _nKeyCol > i32(0) { 121108 return i32(0) 121109 } 121110 return func() int32 { 121111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130537), unsafe.Pointer((*int8)(unsafe.Pointer(&_constructAutomaticIndexØ00__func__Ø000))), unsafe.Pointer(str(113108))) 121112 crt.X__builtin_abort(tls) 121113 return i32(0) 121114 }() 121115 }() 121116 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))))) + uintptr(0 /* X0 */))) = store6908((*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(44 /* X10 */))), uint16(_nKeyCol)) 121117 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(40 /* X9 */))) = uint32(i32(16961)) 121118 _extraCols = (_pSrc.X14) & ((^_idxCols) | u64(9223372036854775808)) 121119 _mxBitCol = func() int32 { 121120 if i32(63) < int32(_pTable.X11) { 121121 return i32(63) 121122 } 121123 return int32(_pTable.X11) 121124 }() 121125 _i = i32(0) 121126 _24: 121127 if _i >= _mxBitCol { 121128 goto _27 121129 } 121130 121131 if (_extraCols & (u64(1) << uint(_i))) == 0 { 121132 goto _28 121133 } 121134 121135 _nKeyCol += 1 121136 _28: 121137 _i += 1 121138 goto _24 121139 121140 _27: 121141 if ((_pSrc.X14) & u64(9223372036854775808)) == 0 { 121142 goto _29 121143 } 121144 121145 { 121146 p := &_nKeyCol 121147 *p = (*p) + ((int32(_pTable.X11) - i32(64)) + i32(1)) 121148 sink961 = *p 121149 } 121150 _29: 121151 _pIdx = _sqlite3AllocateIndexObject(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), int16(_nKeyCol+i32(1)), i32(0), &_zNotUsed) 121152 if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 121153 goto _30 121154 } 121155 121156 goto _end_auto_index_create 121157 121158 _30: 121159 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))))) + uintptr(8 /* X3 */))))) = _pIdx 121160 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(0 /* X0 */))) = str(113120) 121161 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(12 /* X3 */))))) = _pTable 121162 _n = i32(0) 121163 _idxCols = uint64(i32(0)) 121164 _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 121165 _31: 121166 if uintptr(unsafe.Pointer(_pTerm)) >= uintptr(unsafe.Pointer(_pWCEnd)) { 121167 goto _34 121168 } 121169 121170 if _termCanDriveIndex(tls, _pTerm, _pSrc, _notReady) == 0 { 121171 goto _35 121172 } 121173 121174 _10_iCol = *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))) 121175 _10_cMask = func() uint64 { 121176 if _10_iCol >= i32(64) { 121177 return u64(9223372036854775808) 121178 } 121179 return (u64(1) << uint(_10_iCol)) 121180 }() 121181 if (_idxCols & _10_cMask) != uint64(i32(0)) { 121182 goto _38 121183 } 121184 121185 _11_pX = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 121186 { 121187 p := &_idxCols 121188 *p = (*p) | _10_cMask 121189 sink992 = *p 121190 } 121191 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(*(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) 121192 _pColl = _sqlite3BinaryCompareCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_11_pX.X4)), (*XExpr)(unsafe.Pointer(_11_pX.X5))) 121193 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_n))) = func() *int8 { 121194 if _pColl != nil { 121195 return (_pColl.X0) 121196 } 121197 return (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 121198 }() 121199 _n += 1 121200 _38: 121201 _35: 121202 *(*uintptr)(unsafe.Pointer(&_pTerm)) += uintptr(48) 121203 goto _31 121204 121205 _34: 121206 func() int32 { 121207 if uint32(_n) == uint32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0) { 121208 return i32(0) 121209 } 121210 return func() int32 { 121211 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130585), unsafe.Pointer((*int8)(unsafe.Pointer(&_constructAutomaticIndexØ00__func__Ø000))), unsafe.Pointer(str(113132))) 121212 crt.X__builtin_abort(tls) 121213 return i32(0) 121214 }() 121215 }() 121216 _i = i32(0) 121217 _43: 121218 if _i >= _mxBitCol { 121219 goto _46 121220 } 121221 121222 if (_extraCols & (u64(1) << uint(_i))) == 0 { 121223 goto _47 121224 } 121225 121226 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(_i) 121227 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_n))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 121228 _n += 1 121229 _47: 121230 _i += 1 121231 goto _43 121232 121233 _46: 121234 if ((_pSrc.X14) & u64(9223372036854775808)) == 0 { 121235 goto _48 121236 } 121237 121238 _i = i32(63) 121239 _49: 121240 if _i >= int32(_pTable.X11) { 121241 goto _52 121242 } 121243 121244 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(_i) 121245 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_n))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 121246 _n += 1 121247 _i += 1 121248 goto _49 121249 121250 _52: 121251 _48: 121252 func() int32 { 121253 if _n == _nKeyCol { 121254 return i32(0) 121255 } 121256 return func() int32 { 121257 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130603), unsafe.Pointer((*int8)(unsafe.Pointer(&_constructAutomaticIndexØ00__func__Ø000))), unsafe.Pointer(str(113160))) 121258 crt.X__builtin_abort(tls) 121259 return i32(0) 121260 }() 121261 }() 121262 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_n))) = int16(i32(-1)) 121263 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_n))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 121264 func() int32 { 121265 if (_pLevel.X2) >= i32(0) { 121266 return i32(0) 121267 } 121268 return func() int32 { 121269 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(130608), unsafe.Pointer((*int8)(unsafe.Pointer(&_constructAutomaticIndexØ00__func__Ø000))), unsafe.Pointer(str(113172))) 121270 crt.X__builtin_abort(tls) 121271 return i32(0) 121272 }() 121273 }() 121274 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(8 /* X2 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 121275 _sqlite3VdbeAddOp2(tls, _v, i32(107), _pLevel.X2, _nKeyCol+i32(1)) 121276 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) 121277 _sqlite3VdbeComment(tls, _v, str(113192), unsafe.Pointer(_pTable.X0)) 121278 _sqlite3ExprCachePush(tls, _pParse) 121279 _pTabItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 121280 X0 unsafe.Pointer 121281 X1 *int8 121282 X2 *int8 121283 X3 *int8 121284 X4 unsafe.Pointer 121285 X5 unsafe.Pointer 121286 X6 int32 121287 X7 int32 121288 X8 int32 121289 X9 struct { 121290 X0 uint8 121291 X1 int8 121292 } 121293 X10 uint8 121294 X11 int32 121295 X12 unsafe.Pointer 121296 X13 unsafe.Pointer 121297 X14 uint64 121298 X15 struct { 121299 X [0]struct { 121300 X0 *int8 121301 X1 unsafe.Pointer 121302 } 121303 U [4]byte 121304 } 121305 X16 unsafe.Pointer 121306 })(unsafe.Pointer(uintptr((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X1)+uintptr(8 /* X2 */))))) + 68*uintptr(_pLevel.X11))) 121307 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { 121308 goto _57 121309 } 121310 121311 _16_regYield = _pTabItem.X7 121312 _addrCounter = _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), i32(0)) 121313 _sqlite3VdbeAddOp3(tls, _v, i32(15), _16_regYield, i32(0), _pTabItem.X6) 121314 _addrTop = _sqlite3VdbeAddOp1(tls, _v, i32(16), _16_regYield) 121315 _sqlite3VdbeComment(tls, _v, str(113200), unsafe.Pointer((*XTable)(unsafe.Pointer(_pTabItem.X4)).X0)) 121316 goto _58 121317 121318 _57: 121319 _addrTop = _sqlite3VdbeAddOp1(tls, _v, i32(58), _pLevel.X1) 121320 _58: 121321 if _pPartial == nil { 121322 goto _59 121323 } 121324 121325 _iContinue = _sqlite3VdbeMakeLabel(tls, _v) 121326 _sqlite3ExprIfFalse(tls, _pParse, _pPartial, _iContinue, i32(16)) 121327 { 121328 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(40 /* X9 */))) 121329 *p = (*p) | uint32(i32(131072)) 121330 sink985 = *p 121331 } 121332 _59: 121333 _regRecord = _sqlite3GetTempReg(tls, _pParse) 121334 _regBase = _sqlite3GenerateIndexKey(tls, _pParse, _pIdx, _pLevel.X1, _regRecord, i32(0), (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*XIndex)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 121335 _sqlite3VdbeAddOp2(tls, _v, i32(126), _pLevel.X2, _regRecord) 121336 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) 121337 if _pPartial == nil { 121338 goto _60 121339 } 121340 121341 _sqlite3VdbeResolveLabel(tls, _v, _iContinue) 121342 _60: 121343 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { 121344 goto _61 121345 } 121346 121347 _sqlite3VdbeChangeP2(tls, _v, uint32(_addrCounter), _regBase+_n) 121348 _translateColumnToCopy(tls, _pParse, _addrTop, _pLevel.X1, _pTabItem.X8, i32(1)) 121349 _sqlite3VdbeGoto(tls, _v, _addrTop) 121350 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(0)), 16, 4) 121351 goto _62 121352 121353 _61: 121354 _sqlite3VdbeAddOp2(tls, _v, i32(7), _pLevel.X1, _addrTop+i32(1)) 121355 _62: 121356 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(3))) 121357 _sqlite3VdbeJumpHere(tls, _v, _addrTop) 121358 _sqlite3ReleaseTempReg(tls, _pParse, _regRecord) 121359 _sqlite3ExprCachePop(tls, _pParse) 121360 _sqlite3VdbeJumpHere(tls, _v, _addrInit) 121361 _end_auto_index_create: 121362 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pPartial) 121363 return 121364 121365 } 121366 121367 var _constructAutomaticIndexØ00__func__Ø000 [24]int8 // - 121368 121369 func init() { 121370 crt.Xstrncpy(nil, &_constructAutomaticIndexØ00__func__Ø000[0], str(113220), 24) 121371 } 121372 121373 func _sqlite3AllocateIndexObject(tls *crt.TLS, _db *Xsqlite3, _nCol int16, _nExtra int32, _ppExtra **int8) (r0 *XIndex) { // sqlite3.c:102304:1 121374 var _p *XIndex // sqlite3.c:102310:9 121375 _ = _p 121376 var _nByte int32 // sqlite3.c:102311:7 121377 _ = _nByte 121378 var _1_pExtra *int8 // sqlite3.c:102320:10 121379 _ = _1_pExtra 121380 _nByte = int32((u32(56) + (((u32(4) * uint32(_nCol)) + uint32(i32(7))) & uint32(i32(-8)))) + (((((u32(2) * uint32(int32(_nCol)+i32(1))) + (u32(2) * uint32(_nCol))) + (u32(1) * uint32(_nCol))) + uint32(i32(7))) & uint32(i32(-8)))) 121381 _p = (*XIndex)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_nByte+_nExtra)))) 121382 if _p == nil { 121383 goto _0 121384 } 121385 121386 _1_pExtra = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u32(56)))))))) 121387 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(32 /* X8 */))) = (**int8)(unsafe.Pointer(_1_pExtra)) 121388 { 121389 p := &_1_pExtra 121390 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(((u32(4)*uint32(_nCol))+uint32(i32(7)))&uint32(i32(-8))))) 121391 sink1025 = *p 121392 } 121393 *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = (*int16)(unsafe.Pointer(_1_pExtra)) 121394 { 121395 p := &_1_pExtra 121396 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u32(2)*uint32(int32(_nCol)+i32(1))))) 121397 sink1025 = *p 121398 } 121399 *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = (*int16)(unsafe.Pointer(_1_pExtra)) 121400 { 121401 p := &_1_pExtra 121402 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u32(2)*uint32(_nCol)))) 121403 sink1025 = *p 121404 } 121405 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = (*uint8)(unsafe.Pointer(_1_pExtra)) 121406 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X14 */))) = uint16(_nCol) 121407 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(50 /* X13 */))) = uint16(int32(_nCol) - i32(1)) 121408 *_ppExtra = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_nByte))))))) 121409 _0: 121410 r0 = _p 121411 return 121412 121413 } 121414 121415 func _sqlite3GenerateIndexKey(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex, _iDataCur int32, _regOut int32, _prefixOnly int32, _piPartIdxLabel *int32, _pPrior *XIndex, _regPrior int32) (r0 int32) { // sqlite3.c:105218:1 121416 var _v *XVdbe // sqlite3.c:105228:8 121417 _ = _v 121418 var _j int32 // sqlite3.c:105229:7 121419 _ = _j 121420 var _regBase int32 // sqlite3.c:105230:7 121421 _ = _regBase 121422 var _nCol int32 // sqlite3.c:105231:7 121423 _ = _nCol 121424 var _7_zAff *int8 // sqlite3.c:105267:18 121425 _ = _7_zAff 121426 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 121427 if _piPartIdxLabel == nil { 121428 goto _0 121429 } 121430 121431 if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil { 121432 goto _1 121433 } 121434 121435 *_piPartIdxLabel = _sqlite3VdbeMakeLabel(tls, _v) 121436 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(60 /* X22 */))) = _iDataCur 121437 _sqlite3ExprCachePush(tls, _pParse) 121438 _sqlite3ExprIfFalseDup(tls, _pParse, (*XExpr)(unsafe.Pointer(_pIdx.X9)), *_piPartIdxLabel, i32(16)) 121439 goto _2 121440 121441 _1: 121442 *_piPartIdxLabel = i32(0) 121443 _2: 121444 _0: 121445 _nCol = int32(func() uint16 { 121446 if _prefixOnly != 0 && (((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0) { 121447 return (_pIdx.X13) 121448 } 121449 return (_pIdx.X14) 121450 }()) 121451 _regBase = _sqlite3GetTempRange(tls, _pParse, _nCol) 121452 if _pPrior == nil || _regBase == _regPrior && (*XExpr)(unsafe.Pointer(_pPrior.X9)) == nil { 121453 goto _8 121454 } 121455 121456 _pPrior = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 121457 _8: 121458 _j = i32(0) 121459 _9: 121460 if _j >= _nCol { 121461 goto _12 121462 } 121463 121464 if _pPrior == nil || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior.X1)) + 2*uintptr(_j)))) != int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrior.X1)) + 2*uintptr(_j)))) == i32(-2) { 121465 goto _15 121466 } 121467 121468 goto _10 121469 121470 _15: 121471 _sqlite3ExprCodeLoadIndexColumn(tls, _pParse, _pIdx, _iDataCur, _j, _regBase+_j) 121472 _sqlite3VdbeDeletePriorOpcode(tls, _v, uint8(i32(93))) 121473 _10: 121474 _j += 1 121475 goto _9 121476 121477 _12: 121478 if _regOut == 0 { 121479 goto _16 121480 } 121481 121482 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regBase, _nCol, _regOut) 121483 if (*XSelect)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIdx.X3)).X3)) == nil { 121484 goto _17 121485 } 121486 121487 _7_zAff = _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIdx) 121488 _sqlite3VdbeChangeP4(tls, _v, i32(-1), _7_zAff, i32(0)) 121489 _17: 121490 _16: 121491 _sqlite3ReleaseTempRange(tls, _pParse, _regBase, _nCol) 121492 r0 = _regBase 121493 return 121494 121495 } 121496 121497 func _sqlite3ExprIfFalseDup(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _dest int32, _jumpIfNull int32) { // sqlite3.c:95313:1 121498 var _db *Xsqlite3 // sqlite3.c:95314:11 121499 _ = _db 121500 var _pCopy *XExpr // sqlite3.c:95315:8 121501 _ = _pCopy 121502 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 121503 _pCopy = _sqlite3ExprDup(tls, _db, _pExpr, i32(0)) 121504 if int32(_db.X17) != i32(0) { 121505 goto _0 121506 } 121507 121508 _sqlite3ExprIfFalse(tls, _pParse, _pCopy, _dest, _jumpIfNull) 121509 _0: 121510 _sqlite3ExprDelete(tls, _db, _pCopy) 121511 return 121512 121513 } 121514 121515 func _sqlite3ExprCodeLoadIndexColumn(tls *crt.TLS, _pParse *XParse, _pIdx *XIndex, _iTabCur int32, _iIdxCol int32, _regOut int32) { // sqlite3.c:93907:1 121516 var _iTabCol int16 // sqlite3.c:93914:7 121517 _ = _iTabCol 121518 _iTabCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_iIdxCol))) 121519 if int32(_iTabCol) != i32(-2) { 121520 goto _0 121521 } 121522 121523 func() int32 { 121524 if (*XExprList)(unsafe.Pointer(_pIdx.X10)) != nil { 121525 return i32(0) 121526 } 121527 return func() int32 { 121528 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93916), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeLoadIndexColumnØ00__func__Ø000))), unsafe.Pointer(str(113244))) 121529 crt.X__builtin_abort(tls) 121530 return i32(0) 121531 }() 121532 }() 121533 func() int32 { 121534 if ((*XExprList)(unsafe.Pointer(_pIdx.X10)).X0) > _iIdxCol { 121535 return i32(0) 121536 } 121537 return func() int32 { 121538 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(93917), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeLoadIndexColumnØ00__func__Ø000))), unsafe.Pointer(str(113260))) 121539 crt.X__builtin_abort(tls) 121540 return i32(0) 121541 }() 121542 }() 121543 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(60 /* X22 */))) = _iTabCur 121544 _sqlite3ExprCodeCopy(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+20*uintptr(_iIdxCol))).X0)), _regOut) 121545 goto _5 121546 121547 _0: 121548 _sqlite3ExprCodeGetColumnOfTable(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), (*XTable)(unsafe.Pointer(_pIdx.X3)), _iTabCur, int32(_iTabCol), _regOut) 121549 _5: 121550 return 121551 121552 } 121553 121554 var _sqlite3ExprCodeLoadIndexColumnØ00__func__Ø000 [31]int8 // - 121555 121556 func init() { 121557 crt.Xstrncpy(nil, &_sqlite3ExprCodeLoadIndexColumnØ00__func__Ø000[0], str(113292), 31) 121558 } 121559 121560 func _sqlite3ExprCodeCopy(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94844:1 121561 var _db *Xsqlite3 // sqlite3.c:94845:11 121562 _ = _db 121563 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 121564 _pExpr = _sqlite3ExprDup(tls, _db, _pExpr, i32(0)) 121565 if (_db.X17) != 0 { 121566 goto _0 121567 } 121568 121569 _sqlite3ExprCode(tls, _pParse, _pExpr, _target) 121570 _0: 121571 _sqlite3ExprDelete(tls, _db, _pExpr) 121572 return 121573 121574 } 121575 121576 func _sqlite3VdbeDeletePriorOpcode(tls *crt.TLS, _p *XVdbe, _op uint8) (r0 int32) { // sqlite3.c:72250:1 121577 if (_p.X27) <= i32(0) || int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr((_p.X27)-i32(1)))).X0) != int32(_op) { 121578 goto _1 121579 } 121580 121581 r0 = _sqlite3VdbeChangeToNoop(tls, _p, (_p.X27)-i32(1)) 121582 return 121583 121584 _1: 121585 r0 = i32(0) 121586 return 121587 121588 } 121589 121590 func _sqlite3IndexAffinityStr(tls *crt.TLS, _db *Xsqlite3, _pIdx *XIndex) (r0 *int8) { // sqlite3.c:108640:1 121591 var _1_n int32 // sqlite3.c:108650:9 121592 _ = _1_n 121593 var _1_pTab *XTable // sqlite3.c:108651:11 121594 _ = _1_pTab 121595 var _3_x int16 // sqlite3.c:108658:11 121596 _ = _3_x 121597 var _6_aff int8 // sqlite3.c:108664:14 121598 _ = _6_aff 121599 if (_pIdx.X4) != nil { 121600 goto _0 121601 } 121602 121603 _1_pTab = (*XTable)(unsafe.Pointer(_pIdx.X3)) 121604 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(16 /* X4 */))) = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(int32(_pIdx.X14)+i32(1))))) 121605 if (_pIdx.X4) != nil { 121606 goto _1 121607 } 121608 121609 _sqlite3OomFault(tls, _db) 121610 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 121611 return 121612 121613 _1: 121614 _1_n = i32(0) 121615 _2: 121616 if _1_n >= int32(_pIdx.X14) { 121617 goto _5 121618 } 121619 121620 _3_x = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_n))) 121621 if int32(_3_x) < i32(0) { 121622 goto _6 121623 } 121624 121625 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = (*XColumn)(unsafe.Pointer(uintptr(_1_pTab.X1) + 16*uintptr(_3_x))).X4 121626 goto _7 121627 121628 _6: 121629 if int32(_3_x) != i32(-1) { 121630 goto _8 121631 } 121632 121633 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = int8(i32(68)) 121634 goto _9 121635 121636 _8: 121637 func() int32 { 121638 if int32(_3_x) == i32(-2) { 121639 return i32(0) 121640 } 121641 return func() int32 { 121642 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108665), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IndexAffinityStrØ00__func__Ø000))), unsafe.Pointer(str(113324))) 121643 crt.X__builtin_abort(tls) 121644 return i32(0) 121645 }() 121646 }() 121647 func() int32 { 121648 if (*XExprList)(unsafe.Pointer(_pIdx.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 121649 return i32(0) 121650 } 121651 return func() int32 { 121652 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108666), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3IndexAffinityStrØ00__func__Ø000))), unsafe.Pointer(str(113336))) 121653 crt.X__builtin_abort(tls) 121654 return i32(0) 121655 }() 121656 }() 121657 _6_aff = _sqlite3ExprAffinity(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+20*uintptr(_1_n))).X0))) 121658 if int32(_6_aff) != i32(0) { 121659 goto _14 121660 } 121661 121662 _6_aff = int8(i32(65)) 121663 _14: 121664 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = _6_aff 121665 _9: 121666 _7: 121667 _1_n += 1 121668 goto _2 121669 121670 _5: 121671 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X4)) + 1*uintptr(_1_n))) = int8(i32(0)) 121672 _0: 121673 r0 = _pIdx.X4 121674 return 121675 121676 } 121677 121678 var _sqlite3IndexAffinityStrØ00__func__Ø000 [24]int8 // - 121679 121680 func init() { 121681 crt.Xstrncpy(nil, &_sqlite3IndexAffinityStrØ00__func__Ø000[0], str(113356), 24) 121682 } 121683 121684 func _translateColumnToCopy(tls *crt.TLS, _pParse *XParse, _iStart int32, _iTabCur int32, _iRegister int32, _bIncrRowid int32) { // sqlite3.c:130353:1 121685 var _v *XVdbe // sqlite3.c:130360:8 121686 _ = _v 121687 var _pOp *XVdbeOp // sqlite3.c:130361:10 121688 _ = _pOp 121689 var _iEnd int32 // sqlite3.c:130362:7 121690 _ = _iEnd 121691 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 121692 _pOp = _sqlite3VdbeGetOp(tls, _v, _iStart) 121693 _iEnd = _sqlite3VdbeCurrentAddr(tls, _v) 121694 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) == 0 { 121695 goto _0 121696 } 121697 121698 return 121699 121700 _0: 121701 _1: 121702 if _iStart >= _iEnd { 121703 goto _4 121704 } 121705 121706 if (_pOp.X3) == _iTabCur { 121707 goto _5 121708 } 121709 121710 goto _2 121711 121712 _5: 121713 if int32(_pOp.X0) != i32(98) { 121714 goto _6 121715 } 121716 121717 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(85)) 121718 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = (_pOp.X4) + _iRegister 121719 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = _pOp.X5 121720 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(12 /* X5 */))) = i32(0) 121721 goto _7 121722 121723 _6: 121724 if int32(_pOp.X0) != i32(123) { 121725 goto _8 121726 } 121727 121728 if _bIncrRowid == 0 { 121729 goto _9 121730 } 121731 121732 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(92)) 121733 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = _pOp.X4 121734 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = i32(1) 121735 goto _10 121736 121737 _9: 121738 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(80)) 121739 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(4 /* X3 */))) = i32(0) 121740 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(12 /* X5 */))) = i32(0) 121741 _10: 121742 _8: 121743 _7: 121744 _2: 121745 *(*uintptr)(unsafe.Pointer(func() **XVdbeOp { _iStart += 1; return &_pOp }())) += uintptr(24) 121746 goto _1 121747 121748 _4: 121749 return 121750 121751 } 121752 121753 func _sqlite3WhereExplainOneScan(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pLevel *XWhereLevel, _iLevel int32, _iFrom int32, _wctrlFlags uint16) (r0 int32) { // sqlite3.c:126448:1 121754 var _ret int32 // sqlite3.c:126456:7 121755 _ = _ret 121756 var _1_pItem *T7840217 // sqlite3.c:126461:25 121757 _ = _1_pItem 121758 var _1_v *XVdbe // sqlite3.c:126462:10 121759 _ = _1_v 121760 var _1_db *Xsqlite3 // sqlite3.c:126463:13 121761 _ = _1_db 121762 var _1_iId int32 // sqlite3.c:126464:9 121763 _ = _1_iId 121764 var _1_isSearch int32 // sqlite3.c:126465:9 121765 _ = _1_isSearch 121766 var _1_pLoop *XWhereLoop // sqlite3.c:126466:15 121767 _ = _1_pLoop 121768 var _1_flags uint32 // sqlite3.c:126467:9 121769 _ = _1_flags 121770 var _1_zMsg *int8 // sqlite3.c:126468:10 121771 _ = _1_zMsg 121772 var _1_str XStrAccum // sqlite3.c:126469:14 121773 _ = _1_str 121774 var _1_zBuf [100]int8 // sqlite3.c:126470:10 121775 _ = _1_zBuf 121776 var _5_zFmt *int8 // sqlite3.c:126492:18 121777 _ = _5_zFmt 121778 var _5_pIdx *XIndex // sqlite3.c:126493:13 121779 _ = _5_pIdx 121780 var _13_zRangeOp *int8 // sqlite3.c:126517:18 121781 _ = _13_zRangeOp 121782 _ret = i32(0) 121783 _1_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 121784 X0 unsafe.Pointer 121785 X1 *int8 121786 X2 *int8 121787 X3 *int8 121788 X4 unsafe.Pointer 121789 X5 unsafe.Pointer 121790 X6 int32 121791 X7 int32 121792 X8 int32 121793 X9 struct { 121794 X0 uint8 121795 X1 int8 121796 } 121797 X10 uint8 121798 X11 int32 121799 X12 unsafe.Pointer 121800 X13 unsafe.Pointer 121801 X14 uint64 121802 X15 struct { 121803 X [0]struct { 121804 X0 *int8 121805 X1 unsafe.Pointer 121806 } 121807 U [4]byte 121808 } 121809 X16 unsafe.Pointer 121810 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_pLevel.X11))) 121811 _1_v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 121812 _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 121813 _1_iId = _pParse.X58 121814 _1_pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 121815 _1_flags = _1_pLoop.X9 121816 if (_1_flags&uint32(i32(8192))) == 0 && (int32(_wctrlFlags)&i32(32)) == 0 { 121817 goto _1 121818 } 121819 121820 r0 = i32(0) 121821 return 121822 121823 _1: 121824 _1_isSearch = bool2int((((_1_flags & uint32(i32(48))) != uint32(i32(0))) || (((_1_flags & uint32(i32(1024))) == uint32(i32(0))) && (int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(28 /* X8 */))))).X0) > i32(0)))) || (int32(_wctrlFlags)&i32(3)) != 0) 121825 _sqlite3StrAccumInit(tls, &_1_str, _1_db, (*int8)(unsafe.Pointer(&_1_zBuf)), int32(u32(100)), i32(1000000000)) 121826 _sqlite3StrAccumAppendAll(tls, &_1_str, func() *int8 { 121827 if _1_isSearch != 0 { 121828 return str(113380) 121829 } 121830 return str(113388) 121831 }()) 121832 if (*XSelect)(unsafe.Pointer(_1_pItem.X5)) == nil { 121833 goto _7 121834 } 121835 121836 _sqlite3XPrintf(tls, &_1_str, str(113396), int32(_1_pItem.X10)) 121837 goto _8 121838 121839 _7: 121840 _sqlite3XPrintf(tls, &_1_str, str(113412), unsafe.Pointer(_1_pItem.X2)) 121841 _8: 121842 if (_1_pItem.X3) == nil { 121843 goto _9 121844 } 121845 121846 _sqlite3XPrintf(tls, &_1_str, str(113424), unsafe.Pointer(_1_pItem.X3)) 121847 _9: 121848 if (_1_flags & uint32(i32(1280))) != uint32(i32(0)) { 121849 goto _10 121850 } 121851 121852 _5_zFmt = nil 121853 func() int32 { 121854 if (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(28 /* X8 */))))).X3)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 121855 return i32(0) 121856 } 121857 return func() int32 { 121858 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126495), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereExplainOneScanØ00__func__Ø000))), unsafe.Pointer(str(113432))) 121859 crt.X__builtin_abort(tls) 121860 return i32(0) 121861 }() 121862 }() 121863 _5_pIdx = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop)) + uintptr(28 /* X8 */))))).X3)) 121864 func() int32 { 121865 if ((_1_flags & uint32(i32(16384))) == 0) || ((_1_flags & uint32(i32(64))) != 0) { 121866 return i32(0) 121867 } 121868 return func() int32 { 121869 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126497), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereExplainOneScanØ00__func__Ø000))), unsafe.Pointer(str(113460))) 121870 crt.X__builtin_abort(tls) 121871 return i32(0) 121872 }() 121873 }() 121874 if (((*XTable)(unsafe.Pointer(_1_pItem.X4)).X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_5_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) { 121875 goto _17 121876 } 121877 121878 if _1_isSearch == 0 { 121879 goto _18 121880 } 121881 121882 _5_zFmt = str(113512) 121883 _18: 121884 goto _19 121885 121886 _17: 121887 if (_1_flags & uint32(i32(131072))) == 0 { 121888 goto _20 121889 } 121890 121891 _5_zFmt = str(113524) 121892 goto _21 121893 121894 _20: 121895 if (_1_flags & uint32(i32(16384))) == 0 { 121896 goto _22 121897 } 121898 121899 _5_zFmt = str(113560) 121900 goto _23 121901 121902 _22: 121903 if (_1_flags & uint32(i32(64))) == 0 { 121904 goto _24 121905 } 121906 121907 _5_zFmt = str(113588) 121908 goto _25 121909 121910 _24: 121911 _5_zFmt = str(113608) 121912 _25: 121913 _23: 121914 _21: 121915 _19: 121916 if _5_zFmt == nil { 121917 goto _26 121918 } 121919 121920 _sqlite3StrAccumAppend(tls, &_1_str, str(113620), i32(7)) 121921 _sqlite3XPrintf(tls, &_1_str, _5_zFmt, unsafe.Pointer(_5_pIdx.X0)) 121922 _explainIndexRange(tls, &_1_str, _1_pLoop) 121923 _26: 121924 goto _27 121925 121926 _10: 121927 if (_1_flags&uint32(i32(256))) == uint32(i32(0)) || (_1_flags&uint32(i32(15))) == uint32(i32(0)) { 121928 goto _29 121929 } 121930 121931 if (_1_flags & uint32(i32(5))) == 0 { 121932 goto _30 121933 } 121934 121935 _13_zRangeOp = str(113628) 121936 goto _31 121937 121938 _30: 121939 if (_1_flags & uint32(i32(48))) != uint32(i32(48)) { 121940 goto _32 121941 } 121942 121943 _13_zRangeOp = str(113632) 121944 goto _33 121945 121946 _32: 121947 if (_1_flags & uint32(i32(32))) == 0 { 121948 goto _34 121949 } 121950 121951 _13_zRangeOp = str(113648) 121952 goto _35 121953 121954 _34: 121955 func() int32 { 121956 if (_1_flags & uint32(i32(16))) != 0 { 121957 return i32(0) 121958 } 121959 return func() int32 { 121960 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126525), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereExplainOneScanØ00__func__Ø000))), unsafe.Pointer(str(113652))) 121961 crt.X__builtin_abort(tls) 121962 return i32(0) 121963 }() 121964 }() 121965 _13_zRangeOp = str(113676) 121966 _35: 121967 _33: 121968 _31: 121969 _sqlite3XPrintf(tls, &_1_str, str(113680), unsafe.Pointer(_13_zRangeOp)) 121970 goto _38 121971 121972 _29: 121973 if (_1_flags & uint32(i32(1024))) == uint32(i32(0)) { 121974 goto _39 121975 } 121976 121977 _sqlite3XPrintf(tls, &_1_str, str(113720), (*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(28 /* X8 */))))).X0, unsafe.Pointer((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop))+uintptr(28 /* X8 */))))).X4)) 121978 _39: 121979 _38: 121980 _27: 121981 _1_zMsg = _sqlite3StrAccumFinish(tls, &_1_str) 121982 _ret = _sqlite3VdbeAddOp4(tls, _1_v, i32(163), _1_iId, _iLevel, _iFrom, _1_zMsg, i32(-1)) 121983 r0 = _ret 121984 return 121985 121986 } 121987 121988 var _sqlite3WhereExplainOneScanØ00__func__Ø000 [27]int8 // - 121989 121990 func init() { 121991 crt.Xstrncpy(nil, &_sqlite3WhereExplainOneScanØ00__func__Ø000[0], str(113748), 27) 121992 } 121993 121994 func _explainIndexRange(tls *crt.TLS, _pStr *XStrAccum, _pLoop *XWhereLoop) { // sqlite3.c:126414:1 121995 var _pIndex *XIndex // sqlite3.c:126415:9 121996 _ = _pIndex 121997 var _nEq uint16 // sqlite3.c:126416:7 121998 _ = _nEq 121999 var _nSkip uint16 // sqlite3.c:126417:7 122000 _ = _nSkip 122001 var _i int32 // sqlite3.c:126418:7 122002 _ = _i 122003 var _j int32 // sqlite3.c:126418:10 122004 _ = _j 122005 var _1_z *int8 // sqlite3.c:126423:16 122006 _ = _1_z 122007 _pIndex = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X3)) 122008 _nEq = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X0 122009 _nSkip = _pLoop.X11 122010 if int32(_nEq) != i32(0) || ((_pLoop.X9)&uint32(i32(48))) != uint32(i32(0)) { 122011 goto _1 122012 } 122013 122014 return 122015 122016 _1: 122017 _sqlite3StrAccumAppend(tls, _pStr, str(113776), i32(2)) 122018 _i = i32(0) 122019 _2: 122020 if _i >= int32(_nEq) { 122021 goto _5 122022 } 122023 122024 _1_z = _explainIndexColumnName(tls, _pIndex, _i) 122025 if _i == 0 { 122026 goto _6 122027 } 122028 122029 _sqlite3StrAccumAppend(tls, _pStr, str(113780), i32(5)) 122030 _6: 122031 _sqlite3XPrintf(tls, _pStr, func() *int8 { 122032 if _i >= int32(_nSkip) { 122033 return str(113788) 122034 } 122035 return str(113796) 122036 }(), unsafe.Pointer(_1_z)) 122037 _i += 1 122038 goto _2 122039 122040 _5: 122041 _j = _i 122042 if ((_pLoop.X9) & uint32(i32(32))) == 0 { 122043 goto _9 122044 } 122045 122046 _explainAppendTerm(tls, _pStr, _pIndex, int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X1), _j, _i, str(113648)) 122047 _i = i32(1) 122048 _9: 122049 if ((_pLoop.X9) & uint32(i32(16))) == 0 { 122050 goto _10 122051 } 122052 122053 _explainAppendTerm(tls, _pStr, _pIndex, int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X2), _j, _i, str(113676)) 122054 _10: 122055 _sqlite3StrAccumAppend(tls, _pStr, str(39920), i32(1)) 122056 return 122057 122058 } 122059 122060 func _explainIndexColumnName(tls *crt.TLS, _pIdx *XIndex, _i int32) (r0 *int8) { // sqlite3.c:126355:1 122061 _i = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) 122062 if _i != i32(-2) { 122063 goto _0 122064 } 122065 122066 r0 = str(113804) 122067 return 122068 122069 _0: 122070 if _i != i32(-1) { 122071 goto _1 122072 } 122073 122074 r0 = str(28688) 122075 return 122076 122077 _1: 122078 r0 = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pIdx.X3)).X1) + 16*uintptr(_i))).X0 122079 return 122080 122081 } 122082 122083 func _explainAppendTerm(tls *crt.TLS, _pStr *XStrAccum, _pIdx *XIndex, _nTerm int32, _iTerm int32, _bAnd int32, _zOp *int8) { // sqlite3.c:126370:1 122084 var _i int32 // sqlite3.c:126378:7 122085 _ = _i 122086 func() int32 { 122087 if _nTerm >= i32(1) { 122088 return i32(0) 122089 } 122090 return func() int32 { 122091 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126380), unsafe.Pointer((*int8)(unsafe.Pointer(&_explainAppendTermØ00__func__Ø000))), unsafe.Pointer(str(113812))) 122092 crt.X__builtin_abort(tls) 122093 return i32(0) 122094 }() 122095 }() 122096 if _bAnd == 0 { 122097 goto _2 122098 } 122099 122100 _sqlite3StrAccumAppend(tls, _pStr, str(113780), i32(5)) 122101 _2: 122102 if _nTerm <= i32(1) { 122103 goto _3 122104 } 122105 122106 _sqlite3StrAccumAppend(tls, _pStr, str(113824), i32(1)) 122107 _3: 122108 _i = i32(0) 122109 _4: 122110 if _i >= _nTerm { 122111 goto _7 122112 } 122113 122114 if _i == 0 { 122115 goto _8 122116 } 122117 122118 _sqlite3StrAccumAppend(tls, _pStr, str(113828), i32(1)) 122119 _8: 122120 _sqlite3StrAccumAppendAll(tls, _pStr, _explainIndexColumnName(tls, _pIdx, _iTerm+_i)) 122121 _i += 1 122122 goto _4 122123 122124 _7: 122125 if _nTerm <= i32(1) { 122126 goto _9 122127 } 122128 122129 _sqlite3StrAccumAppend(tls, _pStr, str(39920), i32(1)) 122130 _9: 122131 _sqlite3StrAccumAppend(tls, _pStr, _zOp, i32(1)) 122132 if _nTerm <= i32(1) { 122133 goto _10 122134 } 122135 122136 _sqlite3StrAccumAppend(tls, _pStr, str(113824), i32(1)) 122137 _10: 122138 _i = i32(0) 122139 _11: 122140 if _i >= _nTerm { 122141 goto _14 122142 } 122143 122144 if _i == 0 { 122145 goto _15 122146 } 122147 122148 _sqlite3StrAccumAppend(tls, _pStr, str(113828), i32(1)) 122149 _15: 122150 _sqlite3StrAccumAppend(tls, _pStr, str(53228), i32(1)) 122151 _i += 1 122152 goto _11 122153 122154 _14: 122155 if _nTerm <= i32(1) { 122156 goto _16 122157 } 122158 122159 _sqlite3StrAccumAppend(tls, _pStr, str(39920), i32(1)) 122160 _16: 122161 return 122162 122163 } 122164 122165 var _explainAppendTermØ00__func__Ø000 [18]int8 // - 122166 122167 func init() { 122168 crt.Xstrncpy(nil, &_explainAppendTermØ00__func__Ø000[0], str(113832), 18) 122169 } 122170 122171 func _sqlite3WhereCodeOneLoopStart(tls *crt.TLS, _pWInfo *XWhereInfo, _iLevel int32, _notReady uint64) (r0 uint64) { // sqlite3.c:127373:1 122172 var _j int32 // sqlite3.c:127378:7 122173 _ = _j 122174 var _k int32 // sqlite3.c:127378:10 122175 _ = _k 122176 var _iCur int32 // sqlite3.c:127379:7 122177 _ = _iCur 122178 var _addrNxt int32 // sqlite3.c:127380:7 122179 _ = _addrNxt 122180 var _omitTable int32 // sqlite3.c:127381:7 122181 _ = _omitTable 122182 var _bRev int32 // sqlite3.c:127382:7 122183 _ = _bRev 122184 var _pLevel *XWhereLevel // sqlite3.c:127383:14 122185 _ = _pLevel 122186 var _pLoop *XWhereLoop // sqlite3.c:127384:13 122187 _ = _pLoop 122188 var _pWC *XWhereClause // sqlite3.c:127385:15 122189 _ = _pWC 122190 var _pTerm *XWhereTerm // sqlite3.c:127386:13 122191 _ = _pTerm 122192 var _pParse *XParse // sqlite3.c:127387:9 122193 _ = _pParse 122194 var _db *Xsqlite3 // sqlite3.c:127388:11 122195 _ = _db 122196 var _v *XVdbe // sqlite3.c:127389:8 122197 _ = _v 122198 var _pTabItem *T7840217 // sqlite3.c:127390:23 122199 _ = _pTabItem 122200 var _addrBrk int32 // sqlite3.c:127391:7 122201 _ = _addrBrk 122202 var _addrHalt int32 // sqlite3.c:127392:7 122203 _ = _addrHalt 122204 var _addrCont int32 // sqlite3.c:127393:7 122205 _ = _addrCont 122206 var _iRowidReg int32 // sqlite3.c:127394:7 122207 _ = _iRowidReg 122208 var _iReleaseReg int32 // sqlite3.c:127395:7 122209 _ = _iReleaseReg 122210 var _3_regYield int32 // sqlite3.c:127441:9 122211 _ = _3_regYield 122212 var _4_iReg int32 // sqlite3.c:127454:9 122213 _ = _4_iReg 122214 var _4_addrNotFound int32 // sqlite3.c:127455:9 122215 _ = _4_addrNotFound 122216 var _4_nConstraint int32 // sqlite3.c:127456:9 122217 _ = _4_nConstraint 122218 var _4_iIn int32 // sqlite3.c:127457:9 122219 _ = _4_iIn 122220 var _5_iTarget int32 // sqlite3.c:127463:11 122221 _ = _5_iTarget 122222 var _7_pRight *XExpr // sqlite3.c:127470:14 122223 _ = _7_pRight 122224 var _10_pCompare *XExpr // sqlite3.c:127490:14 122225 _ = _10_pCompare 122226 var _10_pRight *XExpr // sqlite3.c:127491:14 122227 _ = _10_pRight 122228 var _10_pOp *XVdbeOp // sqlite3.c:127492:16 122229 _ = _10_pOp 122230 var _15_testOp int32 // sqlite3.c:127565:9 122231 _ = _15_testOp 122232 var _15_start int32 // sqlite3.c:127566:9 122233 _ = _15_start 122234 var _15_memEndValue int32 // sqlite3.c:127567:9 122235 _ = _15_memEndValue 122236 var _15_pStart *XWhereTerm // sqlite3.c:127568:15 122237 _ = _15_pStart 122238 var _15_pEnd *XWhereTerm // sqlite3.c:127568:24 122239 _ = _15_pEnd 122240 var _17_pX *XExpr // sqlite3.c:127583:12 122241 _ = _17_pX 122242 var _17_r1 int32 // sqlite3.c:127584:11 122243 _ = _17_r1 122244 var _17_rTemp int32 // sqlite3.c:127584:15 122245 _ = _17_rTemp 122246 var _17_op int32 // sqlite3.c:127585:11 122247 _ = _17_op 122248 var _17_aMoveOp [4]uint8 // sqlite3.c:127590:16 122249 _ = _17_aMoveOp 122250 var _21_pX *XExpr // sqlite3.c:127628:12 122251 _ = _21_pX 122252 var _26_nEq uint16 // sqlite3.c:127711:9 122253 _ = _26_nEq 122254 var _26_nBtm uint16 // sqlite3.c:127712:9 122255 _ = _26_nBtm 122256 var _26_nTop uint16 // sqlite3.c:127713:9 122257 _ = _26_nTop 122258 var _26_regBase int32 // sqlite3.c:127714:9 122259 _ = _26_regBase 122260 var _26_pRangeStart *XWhereTerm // sqlite3.c:127715:15 122261 _ = _26_pRangeStart 122262 var _26_pRangeEnd *XWhereTerm // sqlite3.c:127716:15 122263 _ = _26_pRangeEnd 122264 var _26_startEq int32 // sqlite3.c:127717:9 122265 _ = _26_startEq 122266 var _26_endEq int32 // sqlite3.c:127718:9 122267 _ = _26_endEq 122268 var _26_start_constraints int32 // sqlite3.c:127719:9 122269 _ = _26_start_constraints 122270 var _26_nConstraint int32 // sqlite3.c:127720:9 122271 _ = _26_nConstraint 122272 var _26_pIdx *XIndex // sqlite3.c:127721:11 122273 _ = _26_pIdx 122274 var _26_iIdxCur int32 // sqlite3.c:127722:9 122275 _ = _26_iIdxCur 122276 var _26_nExtraReg int32 // sqlite3.c:127723:9 122277 _ = _26_nExtraReg 122278 var _26_op int32 // sqlite3.c:127724:9 122279 _ = _26_op 122280 var _26_zStartAff *int8 // sqlite3.c:127725:10 122281 _ = _26_zStartAff 122282 var _26_zEndAff *int8 // sqlite3.c:127726:10 122283 _ = _26_zEndAff 122284 var _26_bSeekPastNull uint8 // sqlite3.c:127727:8 122285 _ = _26_bSeekPastNull 122286 var _26_bStopAtNull uint8 // sqlite3.c:127728:8 122287 _ = _26_bStopAtNull 122288 var _34_t *XWhereTerm // sqlite3.c:127801:22 122289 _ = _34_t 122290 var _35_t uint8 // sqlite3.c:127802:7 122291 _ = _35_t 122292 var _36_t uint8 // sqlite3.c:127803:7 122293 _ = _36_t 122294 var _38_pRight *XExpr // sqlite3.c:127829:12 122295 _ = _38_pRight 122296 var _46_pRight *XExpr // sqlite3.c:127878:12 122297 _ = _46_pRight 122298 var _58_pPk *XIndex // sqlite3.c:127940:13 122299 _ = _58_pPk 122300 var _65_pOrWc *XWhereClause // sqlite3.c:128012:17 122301 _ = _65_pOrWc 122302 var _65_pOrTab *XSrcList // sqlite3.c:128013:13 122303 _ = _65_pOrTab 122304 var _65_pCov *XIndex // sqlite3.c:128014:11 122305 _ = _65_pCov 122306 var _65_iCovCur int32 // sqlite3.c:128015:9 122307 _ = _65_iCovCur 122308 var _65_regReturn int32 // sqlite3.c:128017:9 122309 _ = _65_regReturn 122310 var _65_regRowset int32 // sqlite3.c:128018:9 122311 _ = _65_regRowset 122312 var _65_regRowid int32 // sqlite3.c:128019:9 122313 _ = _65_regRowid 122314 var _65_iLoopBody int32 // sqlite3.c:128020:9 122315 _ = _65_iLoopBody 122316 var _65_iRetInit int32 // sqlite3.c:128021:9 122317 _ = _65_iRetInit 122318 var _65_untestedTerms int32 // sqlite3.c:128022:9 122319 _ = _65_untestedTerms 122320 var _65_ii int32 // sqlite3.c:128023:9 122321 _ = _65_ii 122322 var _65_wctrlFlags uint16 // sqlite3.c:128024:9 122323 _ = _65_wctrlFlags 122324 var _65_pAndExpr *XExpr // sqlite3.c:128025:10 122325 _ = _65_pAndExpr 122326 var _65_pTab *XTable // sqlite3.c:128026:11 122327 _ = _65_pTab 122328 var _66_nNotReady int32 // sqlite3.c:128041:11 122329 _ = _66_nNotReady 122330 var _66_origSrc *T7840217 // sqlite3.c:128042:27 122331 _ = _66_origSrc 122332 var _71_pPk *XIndex // sqlite3.c:128075:15 122333 _ = _71_pPk 122334 var _72_iTerm int32 // sqlite3.c:128099:11 122335 _ = _72_iTerm 122336 var _73_pExpr *XExpr // sqlite3.c:128101:14 122337 _ = _73_pExpr 122338 var _75_pOrTerm *XWhereTerm // sqlite3.c:128123:17 122339 _ = _75_pOrTerm 122340 var _76_pSubWInfo *XWhereInfo // sqlite3.c:128125:19 122341 _ = _76_pSubWInfo 122342 var _76_pOrExpr *XExpr // sqlite3.c:128126:14 122343 _ = _76_pOrExpr 122344 var _76_jmp1 int32 // sqlite3.c:128127:13 122345 _ = _76_jmp1 122346 var _78_pSubLoop *XWhereLoop // sqlite3.c:128138:21 122347 _ = _78_pSubLoop 122348 var _78_addrExplain int32 // sqlite3.c:128139:15 122349 _ = _78_addrExplain 122350 var _79_r int32 // sqlite3.c:128150:17 122351 _ = _79_r 122352 var _79_iSet int32 // sqlite3.c:128151:17 122353 _ = _79_iSet 122354 var _81_pPk *XIndex // sqlite3.c:128158:21 122355 _ = _81_pPk 122356 var _81_nPk int32 // sqlite3.c:128159:19 122357 _ = _81_nPk 122358 var _81_iPk int32 // sqlite3.c:128160:19 122359 _ = _81_iPk 122360 var _82_iCol int32 // sqlite3.c:128165:21 122361 _ = _82_iCol 122362 var _91_pE *XExpr // sqlite3.c:128284:10 122363 _ = _91_pE 122364 var _91_skipLikeAddr int32 // sqlite3.c:128285:9 122365 _ = _91_skipLikeAddr 122366 var _94_x uint32 // sqlite3.c:128309:11 122367 _ = _94_x 122368 var _95_pE *XExpr // sqlite3.c:128329:10 122369 _ = _95_pE 122370 var _95_sEAlt XExpr // sqlite3.c:128329:15 122371 _ = _95_sEAlt 122372 var _95_pAlt *XWhereTerm // sqlite3.c:128330:15 122373 _ = _95_pAlt 122374 _iRowidReg = i32(0) 122375 _iReleaseReg = i32(0) 122376 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 122377 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 122378 _pWC = (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(72 /* X21 */))) 122379 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 122380 _pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(_iLevel))) 122381 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 122382 _pTabItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 122383 X0 unsafe.Pointer 122384 X1 *int8 122385 X2 *int8 122386 X3 *int8 122387 X4 unsafe.Pointer 122388 X5 unsafe.Pointer 122389 X6 int32 122390 X7 int32 122391 X8 int32 122392 X9 struct { 122393 X0 uint8 122394 X1 int8 122395 } 122396 X10 uint8 122397 X11 int32 122398 X12 unsafe.Pointer 122399 X13 unsafe.Pointer 122400 X14 uint64 122401 X15 struct { 122402 X [0]struct { 122403 X0 *int8 122404 X1 unsafe.Pointer 122405 } 122406 U [4]byte 122407 } 122408 X16 unsafe.Pointer 122409 })(unsafe.Pointer(uintptr(_pWInfo.X1)+uintptr(8 /* X2 */))))) + 68*uintptr(_pLevel.X11))) 122410 _iCur = _pTabItem.X11 122411 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(68 /* X19 */))) = _notReady & (^_sqlite3WhereGetMask(tls, (*XWhereMaskSet)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(480 /* X22 */))), _iCur)) 122412 _bRev = int32(((_pWInfo.X19) >> uint(_iLevel)) & uint64(i32(1))) 122413 _omitTable = bool2int((((_pLoop.X9) & uint32(i32(64))) != uint32(i32(0))) && ((int32(_pWInfo.X9) & i32(32)) == i32(0))) 122414 _addrBrk = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(12 /* X3 */))), store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(16 /* X4 */))), _sqlite3VdbeMakeLabel(tls, _v))) 122415 _addrCont = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(24 /* X6 */))), _sqlite3VdbeMakeLabel(tls, _v)) 122416 if int32(_pLevel.X11) <= i32(0) || (int32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+68*uintptr(i32(0))))))+uintptr(36 /* X9 */))).X0)&i32(8)) == i32(0) { 122417 goto _2 122418 } 122419 122420 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(0 /* X0 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 122421 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _pLevel.X0) 122422 _sqlite3VdbeComment(tls, _v, str(113852)) 122423 _2: 122424 _j = _iLevel 122425 _3: 122426 if _j <= i32(0) || ((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */)))))+76*uintptr(_j))).X0) != i32(0) { 122427 goto _7 122428 } 122429 122430 _j -= 1 122431 goto _3 122432 122433 _7: 122434 _addrHalt = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(_j))).X3 122435 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { 122436 goto _8 122437 } 122438 122439 _3_regYield = _pTabItem.X7 122440 _sqlite3VdbeAddOp3(tls, _v, i32(15), _3_regYield, i32(0), _pTabItem.X6) 122441 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _sqlite3VdbeAddOp2(tls, _v, i32(16), _3_regYield, _addrBrk) 122442 _sqlite3VdbeComment(tls, _v, str(113200), unsafe.Pointer((*XTable)(unsafe.Pointer(_pTabItem.X4)).X0)) 122443 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(13)) 122444 goto _9 122445 122446 _8: 122447 if ((_pLoop.X9) & uint32(i32(1024))) == uint32(i32(0)) { 122448 goto _10 122449 } 122450 122451 _4_nConstraint = int32(_pLoop.X10) 122452 _sqlite3ExprCachePush(tls, _pParse) 122453 _4_iReg = _sqlite3GetTempRange(tls, _pParse, _4_nConstraint+i32(2)) 122454 _4_addrNotFound = _pLevel.X3 122455 _j = i32(0) 122456 _11: 122457 if _j >= _4_nConstraint { 122458 goto _14 122459 } 122460 122461 _5_iTarget = (_4_iReg + _j) + i32(2) 122462 _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j))) 122463 if func() int32 { 122464 if _pTerm == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 122465 return func() int32 { 122466 func() int32 { 122467 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127465), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(5204))) 122468 crt.X__builtin_abort(tls) 122469 return i32(0) 122470 }() 122471 return i32(1) 122472 }() 122473 } 122474 return i32(0) 122475 }() == 0 { 122476 goto _17 122477 } 122478 122479 goto _12 122480 122481 _17: 122482 if (int32(_pTerm.X4) & i32(1)) == 0 { 122483 goto _18 122484 } 122485 122486 _codeEqualityTerm(tls, _pParse, _pTerm, _pLevel, _j, _bRev, _5_iTarget) 122487 _4_addrNotFound = _pLevel.X4 122488 goto _19 122489 122490 _18: 122491 _7_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) 122492 _codeExprOrVector(tls, _pParse, _7_pRight, _5_iTarget, i32(1)) 122493 _19: 122494 _12: 122495 _j += 1 122496 goto _11 122497 122498 _14: 122499 _sqlite3VdbeAddOp2(tls, _v, i32(77), (*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0, _4_iReg) 122500 _sqlite3VdbeAddOp2(tls, _v, i32(77), _4_nConstraint, _4_iReg+i32(1)) 122501 _sqlite3VdbeAddOp4(tls, _v, i32(11), _iCur, _4_addrNotFound, _4_iReg, (*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X4, func() int32 { 122502 if ((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X1) != 0 { 122503 return i32(-1) 122504 } 122505 return i32(-2) 122506 }()) 122507 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))))) + uintptr(4 /* X1 */))) = uint8(i32(0)) 122508 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _iCur 122509 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(func() int32 { 122510 if (_pWInfo.X13) != 0 { 122511 return i32(162) 122512 } 122513 return i32(71) 122514 }()) 122515 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _sqlite3VdbeCurrentAddr(tls, _v) 122516 _4_iIn = (*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0 122517 _j = _4_nConstraint - i32(1) 122518 _24: 122519 if _j < i32(0) { 122520 goto _27 122521 } 122522 122523 _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j))) 122524 if _j >= i32(16) || ((int32((*T8892164)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X3)>>uint(_j))&i32(1)) == 0 { 122525 goto _29 122526 } 122527 122528 _disableTerm(tls, _pLevel, _pTerm) 122529 goto _30 122530 122531 _29: 122532 if (int32(_pTerm.X4) & i32(1)) == i32(0) { 122533 goto _31 122534 } 122535 122536 func() int32 { 122537 if ((*T8897640)(unsafe.Pointer((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1)) != (*T8897640)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { 122538 return i32(0) 122539 } 122540 return func() int32 { 122541 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127498), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(113884))) 122542 crt.X__builtin_abort(tls) 122543 return i32(0) 122544 }() 122545 }() 122546 if (_db.X17) != 0 { 122547 goto _35 122548 } 122549 122550 func() int32 { 122551 if _4_iIn > i32(0) { 122552 return i32(0) 122553 } 122554 return func() int32 { 122555 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127500), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(113928))) 122556 crt.X__builtin_abort(tls) 122557 return i32(0) 122558 }() 122559 }() 122560 _10_pOp = _sqlite3VdbeGetOp(tls, _v, (*T8897640)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1)+12*uintptr(preInc961(&_4_iIn, -1)))).X1) 122561 func() int32 { 122562 if (int32(_10_pOp.X0) == i32(98)) || (int32(_10_pOp.X0) == i32(123)) { 122563 return i32(0) 122564 } 122565 return func() int32 { 122566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127502), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(113936))) 122567 crt.X__builtin_abort(tls) 122568 return i32(0) 122569 }() 122570 }() 122571 func() int32 { 122572 if (int32(_10_pOp.X0) != i32(98)) || ((_10_pOp.X5) == ((_4_iReg + _j) + i32(2))) { 122573 return i32(0) 122574 } 122575 return func() int32 { 122576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127503), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(113984))) 122577 crt.X__builtin_abort(tls) 122578 return i32(0) 122579 }() 122580 }() 122581 func() int32 { 122582 if (int32(_10_pOp.X0) != i32(123)) || ((_10_pOp.X4) == ((_4_iReg + _j) + i32(2))) { 122583 return i32(0) 122584 } 122585 return func() int32 { 122586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127504), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114028))) 122587 crt.X__builtin_abort(tls) 122588 return i32(0) 122589 }() 122590 }() 122591 _sqlite3VdbeAddOp3(tls, _v, int32(_10_pOp.X0), _10_pOp.X3, _10_pOp.X4, _10_pOp.X5) 122592 _35: 122593 _10_pCompare = _sqlite3PExpr(tls, _pParse, i32(37), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 122594 func() int32 { 122595 if (_10_pCompare != (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { 122596 return i32(0) 122597 } 122598 return func() int32 { 122599 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127512), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114072))) 122600 crt.X__builtin_abort(tls) 122601 return i32(0) 122602 }() 122603 }() 122604 if _10_pCompare == nil { 122605 goto _50 122606 } 122607 122608 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pCompare)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X4)) 122609 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pCompare)) + uintptr(16 /* X5 */))))) = store7851696(&_10_pRight, _sqlite3Expr(tls, _db, i32(157), (*int8)(unsafe.Pointer(uintptr(i32(0)))))) 122610 if _10_pRight == nil { 122611 goto _51 122612 } 122613 122614 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pRight)) + uintptr(28 /* X8 */))) = (_4_iReg + _j) + i32(2) 122615 _sqlite3ExprIfFalse(tls, _pParse, _10_pCompare, _pLevel.X6, i32(0)) 122616 _51: 122617 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_pCompare)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 122618 _sqlite3ExprDelete(tls, _db, _10_pCompare) 122619 _50: 122620 _31: 122621 _30: 122622 _j -= 1 122623 goto _24 122624 122625 _27: 122626 _sqlite3ExprCachePop(tls, _pParse) 122627 goto _52 122628 122629 _10: 122630 if ((_pLoop.X9)&uint32(i32(256))) == uint32(i32(0)) || ((_pLoop.X9)&uint32(i32(5))) == uint32(i32(0)) { 122631 goto _54 122632 } 122633 122634 func() int32 { 122635 if int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0) == i32(1) { 122636 return i32(0) 122637 } 122638 return func() int32 { 122639 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127544), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114104))) 122640 crt.X__builtin_abort(tls) 122641 return i32(0) 122642 }() 122643 }() 122644 _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(i32(0)))) 122645 func() int32 { 122646 if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 122647 return i32(0) 122648 } 122649 return func() int32 { 122650 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127546), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114128))) 122651 crt.X__builtin_abort(tls) 122652 return i32(0) 122653 }() 122654 }() 122655 func() int32 { 122656 if (*XExpr)(unsafe.Pointer(_pTerm.X0)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 122657 return i32(0) 122658 } 122659 return func() int32 { 122660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127547), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114140))) 122661 crt.X__builtin_abort(tls) 122662 return i32(0) 122663 }() 122664 }() 122665 func() int32 { 122666 if _omitTable == i32(0) { 122667 return i32(0) 122668 } 122669 return func() int32 { 122670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127548), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114156))) 122671 crt.X__builtin_abort(tls) 122672 return i32(0) 122673 }() 122674 }() 122675 _iReleaseReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 122676 _iRowidReg = _codeEqualityTerm(tls, _pParse, _pTerm, _pLevel, i32(0), _bRev, _iReleaseReg) 122677 if _iRowidReg == _iReleaseReg { 122678 goto _63 122679 } 122680 122681 _sqlite3ReleaseTempReg(tls, _pParse, _iReleaseReg) 122682 _63: 122683 _addrNxt = _pLevel.X4 122684 _sqlite3VdbeAddOp3(tls, _v, i32(32), _iCur, _addrNxt, _iRowidReg) 122685 _sqlite3ExprCacheAffinityChange(tls, _pParse, _iRowidReg, i32(1)) 122686 _sqlite3ExprCacheStore(tls, _pParse, _iCur, i32(-1), _iRowidReg) 122687 _sqlite3VdbeComment(tls, _v, str(98984)) 122688 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(162)) 122689 goto _64 122690 122691 _54: 122692 if ((_pLoop.X9)&uint32(i32(256))) == uint32(i32(0)) || ((_pLoop.X9)&uint32(i32(2))) == uint32(i32(0)) { 122693 goto _66 122694 } 122695 122696 _15_testOp = i32(162) 122697 _15_memEndValue = i32(0) 122698 func() int32 { 122699 if _omitTable == i32(0) { 122700 return i32(0) 122701 } 122702 return func() int32 { 122703 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127570), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114156))) 122704 crt.X__builtin_abort(tls) 122705 return i32(0) 122706 }() 122707 }() 122708 _j = i32(0) 122709 _15_pStart = store8895146(&_15_pEnd, (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) 122710 if ((_pLoop.X9) & uint32(i32(32))) == 0 { 122711 goto _69 122712 } 122713 122714 _15_pStart = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(postInc961(&_j, int32(1))))) 122715 _69: 122716 if ((_pLoop.X9) & uint32(i32(16))) == 0 { 122717 goto _70 122718 } 122719 122720 _15_pEnd = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(postInc961(&_j, int32(1))))) 122721 _70: 122722 func() int32 { 122723 if (_15_pStart != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) || (_15_pEnd != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) { 122724 return i32(0) 122725 } 122726 return func() int32 { 122727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127575), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114172))) 122728 crt.X__builtin_abort(tls) 122729 return i32(0) 122730 }() 122731 }() 122732 if _bRev == 0 { 122733 goto _74 122734 } 122735 122736 _pTerm = _15_pStart 122737 _15_pStart = _15_pEnd 122738 _15_pEnd = _pTerm 122739 _74: 122740 if _15_pStart == nil { 122741 goto _75 122742 } 122743 122744 _17_aMoveOp = [4]uint8{u8(26), u8(24), u8(23), u8(25)} 122745 i32(0) 122746 i32(0) 122747 i32(0) 122748 func() int32 { 122749 if (int32(_15_pStart.X3) & i32(0)) == i32(0) { 122750 return i32(0) 122751 } 122752 return func() int32 { 122753 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127600), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114196))) 122754 crt.X__builtin_abort(tls) 122755 return i32(0) 122756 }() 122757 }() 122758 _17_pX = (*XExpr)(unsafe.Pointer(_15_pStart.X0)) 122759 func() int32 { 122760 if _17_pX != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 122761 return i32(0) 122762 } 122763 return func() int32 { 122764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127603), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(69424))) 122765 crt.X__builtin_abort(tls) 122766 return i32(0) 122767 }() 122768 }() 122769 if _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_17_pX.X5))) == 0 { 122770 goto _80 122771 } 122772 122773 _17_r1 = store961(&_17_rTemp, _sqlite3GetTempReg(tls, _pParse)) 122774 _codeExprOrVector(tls, _pParse, (*XExpr)(unsafe.Pointer(_17_pX.X5)), _17_r1, i32(1)) 122775 _17_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_17_aMoveOp)) + 1*uintptr((int32(_17_pX.X0)-i32(38))|i32(1))))) 122776 goto _81 122777 122778 _80: 122779 _17_r1 = _sqlite3ExprCodeTemp(tls, _pParse, (*XExpr)(unsafe.Pointer(_17_pX.X5)), &_17_rTemp) 122780 _disableTerm(tls, _pLevel, _15_pStart) 122781 _17_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_17_aMoveOp)) + 1*uintptr(int32(_17_pX.X0)-i32(38))))) 122782 _81: 122783 _sqlite3VdbeAddOp3(tls, _v, _17_op, _iCur, _addrBrk, _17_r1) 122784 _sqlite3VdbeComment(tls, _v, str(98984)) 122785 _sqlite3ExprCacheAffinityChange(tls, _pParse, _17_r1, i32(1)) 122786 _sqlite3ReleaseTempReg(tls, _pParse, _17_rTemp) 122787 goto _82 122788 122789 _75: 122790 _sqlite3VdbeAddOp2(tls, _v, func() int32 { 122791 if _bRev != 0 { 122792 return i32(53) 122793 } 122794 return i32(58) 122795 }(), _iCur, _addrHalt) 122796 _82: 122797 if _15_pEnd == nil { 122798 goto _85 122799 } 122800 122801 _21_pX = (*XExpr)(unsafe.Pointer(_15_pEnd.X0)) 122802 func() int32 { 122803 if _21_pX != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 122804 return i32(0) 122805 } 122806 return func() int32 { 122807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127630), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(69424))) 122808 crt.X__builtin_abort(tls) 122809 return i32(0) 122810 }() 122811 }() 122812 func() int32 { 122813 if (int32(_15_pEnd.X3) & i32(0)) == i32(0) { 122814 return i32(0) 122815 } 122816 return func() int32 { 122817 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127631), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114232))) 122818 crt.X__builtin_abort(tls) 122819 return i32(0) 122820 }() 122821 }() 122822 _15_memEndValue = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 122823 _codeExprOrVector(tls, _pParse, (*XExpr)(unsafe.Pointer(_21_pX.X5)), _15_memEndValue, i32(1)) 122824 if i32(0) != _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_21_pX.X5))) || int32(_21_pX.X0) != i32(40) && int32(_21_pX.X0) != i32(38) { 122825 goto _92 122826 } 122827 122828 _15_testOp = func() int32 { 122829 if _bRev != 0 { 122830 return i32(39) 122831 } 122832 return i32(41) 122833 }() 122834 goto _95 122835 122836 _92: 122837 _15_testOp = func() int32 { 122838 if _bRev != 0 { 122839 return i32(40) 122840 } 122841 return i32(38) 122842 }() 122843 _95: 122844 if i32(0) != _sqlite3ExprIsVector(tls, (*XExpr)(unsafe.Pointer(_21_pX.X5))) { 122845 goto _98 122846 } 122847 122848 _disableTerm(tls, _pLevel, _15_pEnd) 122849 _98: 122850 _85: 122851 _15_start = _sqlite3VdbeCurrentAddr(tls, _v) 122852 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(func() int32 { 122853 if _bRev != 0 { 122854 return i32(6) 122855 } 122856 return i32(7) 122857 }()) 122858 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _iCur 122859 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _15_start 122860 func() int32 { 122861 if int32(_pLevel.X14) == i32(0) { 122862 return i32(0) 122863 } 122864 return func() int32 { 122865 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127651), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114264))) 122866 crt.X__builtin_abort(tls) 122867 return i32(0) 122868 }() 122869 }() 122870 if _15_testOp == i32(162) { 122871 goto _103 122872 } 122873 122874 _iRowidReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 122875 _sqlite3VdbeAddOp2(tls, _v, i32(123), _iCur, _iRowidReg) 122876 _sqlite3ExprCacheStore(tls, _pParse, _iCur, i32(-1), _iRowidReg) 122877 _sqlite3VdbeAddOp3(tls, _v, _15_testOp, _15_memEndValue, _addrBrk, _iRowidReg) 122878 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(83))) 122879 _103: 122880 goto _104 122881 122882 _66: 122883 if ((_pLoop.X9) & uint32(i32(512))) == 0 { 122884 goto _105 122885 } 122886 122887 _26_nEq = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X0 122888 _26_nBtm = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X1 122889 _26_nTop = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X2 122890 _26_pRangeStart = nil 122891 _26_pRangeEnd = nil 122892 _26_nExtraReg = i32(0) 122893 _26_zEndAff = nil 122894 _26_bSeekPastNull = u8(0) 122895 _26_bStopAtNull = u8(0) 122896 _26_pIdx = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X3)) 122897 _26_iIdxCur = _pLevel.X2 122898 func() int32 { 122899 if int32(_26_nEq) >= int32(_pLoop.X11) { 122900 return i32(0) 122901 } 122902 return func() int32 { 122903 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127732), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114280))) 122904 crt.X__builtin_abort(tls) 122905 return i32(0) 122906 }() 122907 }() 122908 func() int32 { 122909 if (((*XExprList)(unsafe.Pointer(_pWInfo.X2)) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (((*XExprList)(unsafe.Pointer(_pWInfo.X2)).X0) == i32(1))) || ((int32(_pWInfo.X9) & i32(1)) == i32(0)) { 122910 return i32(0) 122911 } 122912 return func() int32 { 122913 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127742), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114300))) 122914 crt.X__builtin_abort(tls) 122915 return i32(0) 122916 }() 122917 }() 122918 if (int32(_pWInfo.X9)&i32(1)) == i32(0) || int32(_pWInfo.X11) <= i32(0) || int32(_26_pIdx.X13) <= int32(_26_nEq) { 122919 goto _114 122920 } 122921 122922 func() int32 { 122923 if int32(_pLoop.X11) == i32(0) { 122924 return i32(0) 122925 } 122926 return func() int32 { 122927 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127749), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114396))) 122928 crt.X__builtin_abort(tls) 122929 return i32(0) 122930 }() 122931 }() 122932 _26_bSeekPastNull = uint8(i32(1)) 122933 _26_nExtraReg = i32(1) 122934 _114: 122935 _j = int32(_26_nEq) 122936 if ((_pLoop.X9) & uint32(i32(32))) == 0 { 122937 goto _117 122938 } 122939 122940 _26_pRangeStart = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(postInc961(&_j, int32(1))))) 122941 _26_nExtraReg = func() int32 { 122942 if _26_nExtraReg > int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X1) { 122943 return _26_nExtraReg 122944 } 122945 return int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X1) 122946 }() 122947 func() int32 { 122948 if ((int32(_26_pRangeStart.X3) & i32(256)) == i32(0)) || (((_pLoop.X9) & uint32(i32(16))) != uint32(i32(0))) { 122949 return i32(0) 122950 } 122951 return func() int32 { 122952 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127762), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114412))) 122953 crt.X__builtin_abort(tls) 122954 return i32(0) 122955 }() 122956 }() 122957 _117: 122958 if ((_pLoop.X9) & uint32(i32(16))) == 0 { 122959 goto _123 122960 } 122961 122962 _26_pRangeEnd = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(postInc961(&_j, int32(1))))) 122963 _26_nExtraReg = func() int32 { 122964 if _26_nExtraReg > int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X2) { 122965 return _26_nExtraReg 122966 } 122967 return int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X2) 122968 }() 122969 if (int32(_26_pRangeEnd.X3) & i32(256)) == i32(0) { 122970 goto _126 122971 } 122972 122973 func() int32 { 122974 if _26_pRangeStart != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 122975 return i32(0) 122976 } 122977 return func() int32 { 122978 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127770), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114496))) 122979 crt.X__builtin_abort(tls) 122980 return i32(0) 122981 }() 122982 }() 122983 func() int32 { 122984 if (int32(_26_pRangeStart.X3) & i32(256)) != 0 { 122985 return i32(0) 122986 } 122987 return func() int32 { 122988 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127771), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114512))) 122989 crt.X__builtin_abort(tls) 122990 return i32(0) 122991 }() 122992 }() 122993 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(36 /* X9 */))) = uint32(preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 122994 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), int32(_pLevel.X9)) 122995 _sqlite3VdbeComment(tls, _v, str(114548)) 122996 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(40 /* X10 */))) = _sqlite3VdbeCurrentAddr(tls, _v) 122997 func() int32 { 122998 if (_bRev & i32(-2)) == i32(0) { 122999 return i32(0) 123000 } 123001 return func() int32 { 123002 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127780), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114568))) 123003 crt.X__builtin_abort(tls) 123004 return i32(0) 123005 }() 123006 }() 123007 { 123008 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(36 /* X9 */))) 123009 *p = (*p) << uint(i32(1)) 123010 sink985 = *p 123011 } 123012 { 123013 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(36 /* X9 */))) 123014 *p = (*p) | uint32(_bRev^bool2int(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pIdx.X7)) + 1*uintptr(_26_nEq)))) == i32(1))) 123015 sink985 = *p 123016 } 123017 _126: 123018 if _26_pRangeStart != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 123019 goto _133 123020 } 123021 123022 _j = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pIdx.X1)) + 2*uintptr(_26_nEq)))) 123023 if (_j < i32(0) || int32((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_26_pIdx.X3)).X1)+16*uintptr(_j))).X3) != i32(0)) && _j != i32(-2) { 123024 goto _136 123025 } 123026 123027 _26_bSeekPastNull = uint8(i32(1)) 123028 _136: 123029 _133: 123030 _123: 123031 func() int32 { 123032 if (_26_pRangeEnd == (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0))))) || ((int32(_26_pRangeEnd.X3) & i32(0)) == i32(0)) { 123033 return i32(0) 123034 } 123035 return func() int32 { 123036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127792), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114584))) 123037 crt.X__builtin_abort(tls) 123038 return i32(0) 123039 }() 123040 }() 123041 if (int32(_26_nEq) >= int32(_26_pIdx.X13) || _bRev != bool2int(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_pIdx.X7)) + 1*uintptr(_26_nEq)))) == i32(0))) && (_bRev == 0 || int32(_26_pIdx.X13) != int32(_26_nEq)) { 123042 goto _143 123043 } 123044 123045 _34_t = _26_pRangeEnd 123046 _26_pRangeEnd = _26_pRangeStart 123047 _26_pRangeStart = _34_t 123048 _35_t = _26_bSeekPastNull 123049 _26_bSeekPastNull = _26_bStopAtNull 123050 _26_bStopAtNull = _35_t 123051 _36_t = uint8(_26_nBtm) 123052 _26_nBtm = _26_nTop 123053 _26_nTop = uint16(_36_t) 123054 _143: 123055 _26_regBase = _codeAllEqualityTerms(tls, _pParse, _pLevel, _bRev, _26_nExtraReg, &_26_zStartAff) 123056 func() int32 { 123057 if (_26_zStartAff == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_sqlite3Strlen30(tls, _26_zStartAff) >= int32(_26_nEq)) { 123058 return i32(0) 123059 } 123060 return func() int32 { 123061 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127812), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114640))) 123062 crt.X__builtin_abort(tls) 123063 return i32(0) 123064 }() 123065 }() 123066 if _26_zStartAff == nil || _26_nTop == 0 { 123067 goto _148 123068 } 123069 123070 _26_zEndAff = _sqlite3DbStrDup(tls, _db, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_zStartAff))+1*uintptr(_26_nEq)))) 123071 _148: 123072 _addrNxt = _pLevel.X4 123073 _26_startEq = bool2int((_26_pRangeStart == nil) || (int32(_26_pRangeStart.X4)&i32(40)) != 0) 123074 _26_endEq = bool2int((_26_pRangeEnd == nil) || (int32(_26_pRangeEnd.X4)&i32(40)) != 0) 123075 _26_start_constraints = bool2int((_26_pRangeStart != nil) || (int32(_26_nEq) > i32(0))) 123076 _26_nConstraint = int32(_26_nEq) 123077 if _26_pRangeStart == nil { 123078 goto _152 123079 } 123080 123081 _38_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_26_pRangeStart.X0)).X5)) 123082 _codeExprOrVector(tls, _pParse, _38_pRight, _26_regBase+int32(_26_nEq), int32(_26_nBtm)) 123083 _whereLikeOptimizationStringFixup(tls, _v, _pLevel, _26_pRangeStart) 123084 if (int32(_26_pRangeStart.X3)&i32(0)) != i32(0) || _sqlite3ExprCanBeNull(tls, _38_pRight) == 0 { 123085 goto _154 123086 } 123087 123088 _sqlite3VdbeAddOp2(tls, _v, i32(34), _26_regBase+int32(_26_nEq), _addrNxt) 123089 _154: 123090 if _26_zStartAff == nil { 123091 goto _155 123092 } 123093 123094 _updateRangeAffinityStr(tls, _38_pRight, int32(_26_nBtm), (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_26_zStartAff))+1*uintptr(_26_nEq)))) 123095 _155: 123096 { 123097 p := &_26_nConstraint 123098 *p = (*p) + int32(_26_nBtm) 123099 sink961 = *p 123100 } 123101 if _sqlite3ExprIsVector(tls, _38_pRight) != i32(0) { 123102 goto _156 123103 } 123104 123105 _disableTerm(tls, _pLevel, _26_pRangeStart) 123106 goto _157 123107 123108 _156: 123109 _26_startEq = i32(1) 123110 _157: 123111 _26_bSeekPastNull = uint8(i32(0)) 123112 goto _158 123113 123114 _152: 123115 if _26_bSeekPastNull == 0 { 123116 goto _159 123117 } 123118 123119 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _26_regBase+int32(_26_nEq)) 123120 _26_nConstraint += 1 123121 _26_startEq = i32(0) 123122 _26_start_constraints = i32(1) 123123 _159: 123124 _158: 123125 _codeApplyAffinity(tls, _pParse, _26_regBase, _26_nConstraint-int32(_26_bSeekPastNull), _26_zStartAff) 123126 if int32(_pLoop.X11) <= i32(0) || _26_nConstraint != int32(_pLoop.X11) { 123127 goto _161 123128 } 123129 123130 goto _162 123131 123132 _161: 123133 _26_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3WhereCodeOneLoopStartØ00aStartOpØ001)) + 1*uintptr(((_26_start_constraints<<uint(i32(2)))+(_26_startEq<<uint(i32(1))))+_bRev)))) 123134 func() int32 { 123135 if _26_op != i32(0) { 123136 return i32(0) 123137 } 123138 return func() int32 { 123139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127862), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114688))) 123140 crt.X__builtin_abort(tls) 123141 return i32(0) 123142 }() 123143 }() 123144 _sqlite3VdbeAddOp4Int(tls, _v, _26_op, _26_iIdxCur, _addrNxt, _26_regBase, _26_nConstraint) 123145 _162: 123146 _26_nConstraint = int32(_26_nEq) 123147 if _26_pRangeEnd == nil { 123148 goto _165 123149 } 123150 123151 _46_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_26_pRangeEnd.X0)).X5)) 123152 _sqlite3ExprCacheRemove(tls, _pParse, _26_regBase+int32(_26_nEq), i32(1)) 123153 _codeExprOrVector(tls, _pParse, _46_pRight, _26_regBase+int32(_26_nEq), int32(_26_nTop)) 123154 _whereLikeOptimizationStringFixup(tls, _v, _pLevel, _26_pRangeEnd) 123155 if (int32(_26_pRangeEnd.X3)&i32(0)) != i32(0) || _sqlite3ExprCanBeNull(tls, _46_pRight) == 0 { 123156 goto _167 123157 } 123158 123159 _sqlite3VdbeAddOp2(tls, _v, i32(34), _26_regBase+int32(_26_nEq), _addrNxt) 123160 _167: 123161 if _26_zEndAff == nil { 123162 goto _168 123163 } 123164 123165 _updateRangeAffinityStr(tls, _46_pRight, int32(_26_nTop), _26_zEndAff) 123166 _codeApplyAffinity(tls, _pParse, _26_regBase+int32(_26_nEq), int32(_26_nTop), _26_zEndAff) 123167 goto _169 123168 123169 _168: 123170 func() int32 { 123171 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { 123172 return i32(0) 123173 } 123174 return func() int32 { 123175 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127892), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(44804))) 123176 crt.X__builtin_abort(tls) 123177 return i32(0) 123178 }() 123179 }() 123180 _169: 123181 { 123182 p := &_26_nConstraint 123183 *p = (*p) + int32(_26_nTop) 123184 sink961 = *p 123185 } 123186 if _sqlite3ExprIsVector(tls, _46_pRight) != i32(0) { 123187 goto _172 123188 } 123189 123190 _disableTerm(tls, _pLevel, _26_pRangeEnd) 123191 goto _173 123192 123193 _172: 123194 _26_endEq = i32(1) 123195 _173: 123196 goto _174 123197 123198 _165: 123199 if _26_bStopAtNull == 0 { 123200 goto _175 123201 } 123202 123203 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _26_regBase+int32(_26_nEq)) 123204 _26_endEq = i32(0) 123205 _26_nConstraint += 1 123206 _175: 123207 _174: 123208 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_26_zStartAff)) 123209 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_26_zEndAff)) 123210 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = _sqlite3VdbeCurrentAddr(tls, _v) 123211 if _26_nConstraint == 0 { 123212 goto _176 123213 } 123214 123215 _26_op = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3WhereCodeOneLoopStartØ00aEndOpØ002)) + 1*uintptr((_bRev*i32(2))+_26_endEq)))) 123216 _sqlite3VdbeAddOp4Int(tls, _v, _26_op, _26_iIdxCur, _addrNxt, _26_regBase, _26_nConstraint) 123217 _176: 123218 if _omitTable == 0 { 123219 goto _177 123220 } 123221 123222 goto _178 123223 123224 _177: 123225 if (((*XTable)(unsafe.Pointer(_26_pIdx.X3)).X9) & uint32(i32(32))) != uint32(i32(0)) { 123226 goto _179 123227 } 123228 123229 if (int32(_pWInfo.X9)&i32(1024)) == 0 && ((int32(_pWInfo.X9)&i32(4096)) == 0 || int32(_pWInfo.X13) != i32(1)) { 123230 goto _182 123231 } 123232 123233 _iRowidReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 123234 _sqlite3VdbeAddOp2(tls, _v, i32(129), _26_iIdxCur, _iRowidReg) 123235 _sqlite3ExprCacheStore(tls, _pParse, _iCur, i32(-1), _iRowidReg) 123236 _sqlite3VdbeAddOp3(tls, _v, i32(33), _iCur, i32(0), _iRowidReg) 123237 goto _183 123238 123239 _182: 123240 _codeDeferredSeek(tls, _pWInfo, _26_pIdx, _iCur, _26_iIdxCur) 123241 _183: 123242 goto _184 123243 123244 _179: 123245 if _iCur == _26_iIdxCur { 123246 goto _185 123247 } 123248 123249 _58_pPk = _sqlite3PrimaryKeyIndex(tls, (*XTable)(unsafe.Pointer(_26_pIdx.X3))) 123250 _iRowidReg = _sqlite3GetTempRange(tls, _pParse, int32(_58_pPk.X13)) 123251 _j = i32(0) 123252 _186: 123253 if _j >= int32(_58_pPk.X13) { 123254 goto _189 123255 } 123256 123257 _k = int32(_sqlite3ColumnOfIndex(tls, _26_pIdx, *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_58_pPk.X1)) + 2*uintptr(_j))))) 123258 _sqlite3VdbeAddOp3(tls, _v, i32(98), _26_iIdxCur, _k, _iRowidReg+_j) 123259 _j += 1 123260 goto _186 123261 123262 _189: 123263 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iCur, _addrCont, _iRowidReg, int32(_58_pPk.X13)) 123264 _185: 123265 _184: 123266 _178: 123267 if ((_pLoop.X9) & uint32(i32(4096))) == 0 { 123268 goto _190 123269 } 123270 123271 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(162)) 123272 goto _191 123273 123274 _190: 123275 if _bRev == 0 { 123276 goto _192 123277 } 123278 123279 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(6)) 123280 goto _193 123281 123282 _192: 123283 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(7)) 123284 _193: 123285 _191: 123286 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _26_iIdxCur 123287 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(46 /* X13 */))) = uint8(func() int32 { 123288 if ((_pLoop.X9) & uint32(i32(65536))) != uint32(i32(0)) { 123289 return i32(1) 123290 } 123291 return i32(0) 123292 }()) 123293 if ((_pLoop.X9) & uint32(i32(15))) != uint32(i32(0)) { 123294 goto _196 123295 } 123296 123297 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(47 /* X14 */))) = uint8(i32(1)) 123298 goto _197 123299 123300 _196: 123301 func() int32 { 123302 if int32(_pLevel.X14) == i32(0) { 123303 return i32(0) 123304 } 123305 return func() int32 { 123306 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127963), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114264))) 123307 crt.X__builtin_abort(tls) 123308 return i32(0) 123309 }() 123310 }() 123311 _197: 123312 goto _200 123313 123314 _105: 123315 if ((_pLoop.X9) & uint32(i32(8192))) == 0 { 123316 goto _201 123317 } 123318 123319 _65_pCov = nil 123320 _65_iCovCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 123321 _65_regReturn = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 123322 _65_regRowset = i32(0) 123323 _65_regRowid = i32(0) 123324 _65_iLoopBody = _sqlite3VdbeMakeLabel(tls, _v) 123325 _65_untestedTerms = i32(0) 123326 _65_pAndExpr = nil 123327 _65_pTab = (*XTable)(unsafe.Pointer(_pTabItem.X4)) 123328 _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(i32(0)))) 123329 func() int32 { 123330 if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 123331 return i32(0) 123332 } 123333 return func() int32 { 123334 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128029), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114128))) 123335 crt.X__builtin_abort(tls) 123336 return i32(0) 123337 }() 123338 }() 123339 func() int32 { 123340 if (int32(_pTerm.X4) & i32(512)) != 0 { 123341 return i32(0) 123342 } 123343 return func() int32 { 123344 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128030), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114696))) 123345 crt.X__builtin_abort(tls) 123346 return i32(0) 123347 }() 123348 }() 123349 func() int32 { 123350 if (int32(_pTerm.X3) & i32(16)) != i32(0) { 123351 return i32(0) 123352 } 123353 return func() int32 { 123354 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128031), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114724))) 123355 crt.X__builtin_abort(tls) 123356 return i32(0) 123357 }() 123358 }() 123359 _65_pOrWc = (*XWhereClause)(unsafe.Pointer(uintptr(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */)))))) + uintptr(0 /* X0 */))) 123360 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(73)) 123361 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _65_regReturn 123362 if int32(_pWInfo.X10) <= i32(1) { 123363 goto _208 123364 } 123365 123366 _66_nNotReady = (int32(_pWInfo.X10) - _iLevel) - i32(1) 123367 _65_pOrTab = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64(u32(76)+(uint32(_66_nNotReady)*u32(68)))))) 123368 if _65_pOrTab != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 123369 goto _209 123370 } 123371 123372 r0 = _notReady 123373 return 123374 123375 _209: 123376 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab)) + uintptr(4 /* X1 */))) = uint32(uint8(_66_nNotReady + i32(1))) 123377 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab)) + uintptr(0 /* X0 */))) = int32(_65_pOrTab.X1) 123378 crt.Xmemcpy(tls, (unsafe.Pointer)((*[1]struct { 123379 X0 unsafe.Pointer 123380 X1 *int8 123381 X2 *int8 123382 X3 *int8 123383 X4 unsafe.Pointer 123384 X5 unsafe.Pointer 123385 X6 int32 123386 X7 int32 123387 X8 int32 123388 X9 struct { 123389 X0 uint8 123390 X1 int8 123391 } 123392 X10 uint8 123393 X11 int32 123394 X12 unsafe.Pointer 123395 X13 unsafe.Pointer 123396 X14 uint64 123397 X15 struct { 123398 X [0]struct { 123399 X0 *int8 123400 X1 unsafe.Pointer 123401 } 123402 U [4]byte 123403 } 123404 X16 unsafe.Pointer 123405 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab))+uintptr(8 /* X2 */)))), (unsafe.Pointer)(_pTabItem), u32(68)) 123406 _66_origSrc = (*T7840217)(unsafe.Pointer((*[1]struct { 123407 X0 unsafe.Pointer 123408 X1 *int8 123409 X2 *int8 123410 X3 *int8 123411 X4 unsafe.Pointer 123412 X5 unsafe.Pointer 123413 X6 int32 123414 X7 int32 123415 X8 int32 123416 X9 struct { 123417 X0 uint8 123418 X1 int8 123419 } 123420 X10 uint8 123421 X11 int32 123422 X12 unsafe.Pointer 123423 X13 unsafe.Pointer 123424 X14 uint64 123425 X15 struct { 123426 X [0]struct { 123427 X0 *int8 123428 X1 unsafe.Pointer 123429 } 123430 U [4]byte 123431 } 123432 X16 unsafe.Pointer 123433 })(unsafe.Pointer(uintptr(_pWInfo.X1) + uintptr(8 /* X2 */))))) 123434 _k = i32(1) 123435 _210: 123436 if _k > _66_nNotReady { 123437 goto _213 123438 } 123439 123440 crt.Xmemcpy(tls, (unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 123441 X0 unsafe.Pointer 123442 X1 *int8 123443 X2 *int8 123444 X3 *int8 123445 X4 unsafe.Pointer 123446 X5 unsafe.Pointer 123447 X6 int32 123448 X7 int32 123449 X8 int32 123450 X9 struct { 123451 X0 uint8 123452 X1 int8 123453 } 123454 X10 uint8 123455 X11 int32 123456 X12 unsafe.Pointer 123457 X13 unsafe.Pointer 123458 X14 uint64 123459 X15 struct { 123460 X [0]struct { 123461 X0 *int8 123462 X1 unsafe.Pointer 123463 } 123464 U [4]byte 123465 } 123466 X16 unsafe.Pointer 123467 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pOrTab))+uintptr(8 /* X2 */)))))+68*uintptr(_k)))), (unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)(_66_origSrc))+68*uintptr((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+76*uintptr(_k))).X11)))), u32(68)) 123468 _k += 1 123469 goto _210 123470 123471 _213: 123472 goto _214 123473 123474 _208: 123475 _65_pOrTab = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) 123476 _214: 123477 if (int32(_pWInfo.X9) & i32(16)) != i32(0) { 123478 goto _215 123479 } 123480 123481 if ((_65_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 123482 goto _216 123483 } 123484 123485 _65_regRowset = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 123486 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _65_regRowset) 123487 goto _217 123488 123489 _216: 123490 _71_pPk = _sqlite3PrimaryKeyIndex(tls, _65_pTab) 123491 _65_regRowset = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 123492 _sqlite3VdbeAddOp2(tls, _v, i32(108), _65_regRowset, int32(_71_pPk.X13)) 123493 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _71_pPk) 123494 _217: 123495 _65_regRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 123496 _215: 123497 _65_iRetInit = _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _65_regReturn) 123498 if (_pWC.X3) <= i32(1) { 123499 goto _218 123500 } 123501 123502 _72_iTerm = i32(0) 123503 _219: 123504 if _72_iTerm >= (_pWC.X3) { 123505 goto _222 123506 } 123507 123508 _73_pExpr = (*XExpr)(unsafe.Pointer((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5) + 48*uintptr(_72_iTerm))).X0)) 123509 if (*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_72_iTerm))) != _pTerm { 123510 goto _223 123511 } 123512 123513 goto _220 123514 123515 _223: 123516 if ((_73_pExpr.X2) & uint32(i32(1))) == uint32(i32(0)) { 123517 goto _224 123518 } 123519 123520 goto _220 123521 123522 _224: 123523 if (int32((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_72_iTerm))).X3) & i32(6)) == i32(0) { 123524 goto _225 123525 } 123526 123527 goto _220 123528 123529 _225: 123530 if (int32((*XWhereTerm)(unsafe.Pointer(uintptr(_pWC.X5)+48*uintptr(_72_iTerm))).X4) & i32(8191)) != i32(0) { 123531 goto _226 123532 } 123533 123534 goto _220 123535 123536 _226: 123537 _73_pExpr = _sqlite3ExprDup(tls, _db, _73_pExpr, i32(0)) 123538 _65_pAndExpr = _sqlite3ExprAnd(tls, _db, _65_pAndExpr, _73_pExpr) 123539 _220: 123540 _72_iTerm += 1 123541 goto _219 123542 123543 _222: 123544 if _65_pAndExpr == nil { 123545 goto _227 123546 } 123547 123548 _65_pAndExpr = _sqlite3PExpr(tls, _pParse, i32(284), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _65_pAndExpr) 123549 _227: 123550 _218: 123551 _65_wctrlFlags = uint16(i32(32) | (int32(_pWInfo.X9) & i32(1024))) 123552 _65_ii = i32(0) 123553 _228: 123554 if _65_ii >= (_65_pOrWc.X3) { 123555 goto _231 123556 } 123557 123558 _75_pOrTerm = (*XWhereTerm)(unsafe.Pointer(uintptr(_65_pOrWc.X5) + 48*uintptr(_65_ii))) 123559 if (_75_pOrTerm.X8) != _iCur && (int32(_75_pOrTerm.X4)&i32(1024)) == i32(0) { 123560 goto _233 123561 } 123562 123563 _76_pOrExpr = (*XExpr)(unsafe.Pointer(_75_pOrTerm.X0)) 123564 _76_jmp1 = i32(0) 123565 if _65_pAndExpr == nil || ((_76_pOrExpr.X2)&uint32(i32(1))) != uint32(i32(0)) { 123566 goto _235 123567 } 123568 123569 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pAndExpr)) + uintptr(12 /* X4 */))))) = _76_pOrExpr 123570 _76_pOrExpr = _65_pAndExpr 123571 _235: 123572 _76_pSubWInfo = _sqlite3WhereBegin(tls, _pParse, _65_pOrTab, _76_pOrExpr, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _65_wctrlFlags, _65_iCovCur) 123573 func() int32 { 123574 if ((_76_pSubWInfo != nil) || (_pParse.X16) != 0) || ((_db.X17) != 0) { 123575 return i32(0) 123576 } 123577 return func() int32 { 123578 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128136), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114760))) 123579 crt.X__builtin_abort(tls) 123580 return i32(0) 123581 }() 123582 }() 123583 if _76_pSubWInfo == nil { 123584 goto _240 123585 } 123586 123587 _78_addrExplain = _sqlite3WhereExplainOneScan(tls, _pParse, _65_pOrTab, (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_76_pSubWInfo))+uintptr(740 /* X23 */)))))+76*uintptr(i32(0)))), _iLevel, int32(_pLevel.X11), uint16(i32(0))) 123588 123589 if (int32(_pWInfo.X9) & i32(16)) != i32(0) { 123590 goto _241 123591 } 123592 123593 _79_iSet = func() int32 { 123594 if _65_ii == ((_65_pOrWc.X3) - i32(1)) { 123595 return i32(-1) 123596 } 123597 return _65_ii 123598 }() 123599 if ((_65_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 123600 goto _244 123601 } 123602 123603 _79_r = _sqlite3ExprCodeGetColumn(tls, _pParse, _65_pTab, i32(-1), _iCur, _65_regRowid, uint8(i32(0))) 123604 _76_jmp1 = _sqlite3VdbeAddOp4Int(tls, _v, i32(64), _65_regRowset, i32(0), _79_r, _79_iSet) 123605 goto _245 123606 123607 _244: 123608 _81_pPk = _sqlite3PrimaryKeyIndex(tls, _65_pTab) 123609 _81_nPk = int32(_81_pPk.X13) 123610 _79_r = _sqlite3GetTempRange(tls, _pParse, _81_nPk) 123611 _81_iPk = i32(0) 123612 _246: 123613 if _81_iPk >= _81_nPk { 123614 goto _249 123615 } 123616 123617 _82_iCol = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_81_pPk.X1)) + 2*uintptr(_81_iPk)))) 123618 _sqlite3ExprCodeGetColumnToReg(tls, _pParse, _65_pTab, _82_iCol, _iCur, _79_r+_81_iPk) 123619 _81_iPk += 1 123620 goto _246 123621 123622 _249: 123623 if _79_iSet == 0 { 123624 goto _250 123625 } 123626 123627 _76_jmp1 = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _65_regRowset, i32(0), _79_r, _81_nPk) 123628 _250: 123629 if _79_iSet < i32(0) { 123630 goto _251 123631 } 123632 123633 _sqlite3VdbeAddOp3(tls, _v, i32(100), _79_r, _81_nPk, _65_regRowid) 123634 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _65_regRowset, _65_regRowid, _79_r, _81_nPk) 123635 if _79_iSet == 0 { 123636 goto _252 123637 } 123638 123639 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) 123640 _252: 123641 _251: 123642 _sqlite3ReleaseTempRange(tls, _pParse, _79_r, _81_nPk) 123643 _245: 123644 _241: 123645 _sqlite3VdbeAddOp2(tls, _v, i32(14), _65_regReturn, _65_iLoopBody) 123646 if _76_jmp1 == 0 { 123647 goto _253 123648 } 123649 123650 _sqlite3VdbeJumpHere(tls, _v, _76_jmp1) 123651 _253: 123652 if (_76_pSubWInfo.X14) == 0 { 123653 goto _254 123654 } 123655 123656 _65_untestedTerms = i32(1) 123657 _254: 123658 _78_pSubLoop = (*XWhereLoop)(unsafe.Pointer((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_76_pSubWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(i32(0)))).X18)) 123659 func() int32 { 123660 if ((_78_pSubLoop.X9) & uint32(i32(16384))) == uint32(i32(0)) { 123661 return i32(0) 123662 } 123663 return func() int32 { 123664 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128223), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114808))) 123665 crt.X__builtin_abort(tls) 123666 return i32(0) 123667 }() 123668 }() 123669 if ((_78_pSubLoop.X9)&uint32(i32(512))) == uint32(i32(0)) || _65_ii != i32(0) && (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_78_pSubLoop))+uintptr(28 /* X8 */))))).X3)) != _65_pCov || ((_65_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) && int32((uint32((*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_78_pSubLoop))+uintptr(28 /* X8 */))))).X3)).X16)<<uint(i32(30)))>>uint(i32(30))) == i32(2) { 123670 goto _261 123671 } 123672 123673 func() int32 { 123674 if ((*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_76_pSubWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(i32(0)))).X2) == _65_iCovCur { 123675 return i32(0) 123676 } 123677 return func() int32 { 123678 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128228), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114852))) 123679 crt.X__builtin_abort(tls) 123680 return i32(0) 123681 }() 123682 }() 123683 _65_pCov = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_78_pSubLoop)) + uintptr(28 /* X8 */))))).X3)) 123684 goto _264 123685 123686 _261: 123687 _65_pCov = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 123688 _264: 123689 _sqlite3WhereEnd(tls, _76_pSubWInfo) 123690 _240: 123691 _233: 123692 _65_ii += 1 123693 goto _228 123694 123695 _231: 123696 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))))) = _65_pCov 123697 if _65_pCov == nil { 123698 goto _265 123699 } 123700 123701 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(8 /* X2 */))) = _65_iCovCur 123702 _265: 123703 if _65_pAndExpr == nil { 123704 goto _266 123705 } 123706 123707 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_65_pAndExpr)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 123708 _sqlite3ExprDelete(tls, _db, _65_pAndExpr) 123709 _266: 123710 _sqlite3VdbeChangeP1(tls, _v, uint32(_65_iRetInit), _sqlite3VdbeCurrentAddr(tls, _v)) 123711 _sqlite3VdbeGoto(tls, _v, _pLevel.X3) 123712 _sqlite3VdbeResolveLabel(tls, _v, _65_iLoopBody) 123713 if int32(_pWInfo.X10) <= i32(1) { 123714 goto _267 123715 } 123716 123717 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_65_pOrTab)) 123718 _267: 123719 if _65_untestedTerms != 0 { 123720 goto _268 123721 } 123722 123723 _disableTerm(tls, _pLevel, _pTerm) 123724 _268: 123725 goto _269 123726 123727 _201: 123728 func() int32 { 123729 if (_bRev == i32(0)) || (_bRev == i32(1)) { 123730 return i32(0) 123731 } 123732 return func() int32 { 123733 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128260), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114888))) 123734 crt.X__builtin_abort(tls) 123735 return i32(0) 123736 }() 123737 }() 123738 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(5))) << uint(i32(31))) >> uint(i32(31))) == 0 { 123739 goto _273 123740 } 123741 123742 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = uint8(i32(162)) 123743 goto _274 123744 123745 _273: 123746 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(45 /* X12 */))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3WhereCodeOneLoopStartØ00aStepØ003)) + 1*uintptr(_bRev))) 123747 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(48 /* X15 */))) = _iCur 123748 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(52 /* X16 */))) = i32(1) + _sqlite3VdbeAddOp2(tls, _v, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3WhereCodeOneLoopStartØ00aStartØ004)) + 1*uintptr(_bRev)))), _iCur, _addrHalt) 123749 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(47 /* X14 */))) = uint8(i32(1)) 123750 _274: 123751 _269: 123752 _200: 123753 _104: 123754 _64: 123755 _52: 123756 _9: 123757 *func() *int32 { _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)); return &_j }() = _pWC.X3 123758 _275: 123759 if _j <= i32(0) { 123760 goto _278 123761 } 123762 123763 _91_skipLikeAddr = i32(0) 123764 if (int32(_pTerm.X3) & i32(6)) == 0 { 123765 goto _279 123766 } 123767 123768 goto _276 123769 123770 _279: 123771 if ((_pTerm.X12) & (_pLevel.X19)) == uint64(i32(0)) { 123772 goto _280 123773 } 123774 123775 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(46 /* X14 */))) = uint8(i32(1)) 123776 goto _276 123777 123778 _280: 123779 _91_pE = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 123780 func() int32 { 123781 if _91_pE != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 123782 return i32(0) 123783 } 123784 return func() int32 { 123785 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128296), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114908))) 123786 crt.X__builtin_abort(tls) 123787 return i32(0) 123788 }() 123789 }() 123790 if (_pLevel.X0) == 0 || ((_91_pE.X2)&uint32(i32(1))) != uint32(i32(0)) { 123791 goto _284 123792 } 123793 123794 goto _276 123795 123796 _284: 123797 if (int32(_pTerm.X3) & i32(512)) == 0 { 123798 goto _285 123799 } 123800 123801 _94_x = _pLevel.X9 123802 func() int32 { 123803 if _94_x > uint32(i32(0)) { 123804 return i32(0) 123805 } 123806 return func() int32 { 123807 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128310), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114916))) 123808 crt.X__builtin_abort(tls) 123809 return i32(0) 123810 }() 123811 }() 123812 _91_skipLikeAddr = _sqlite3VdbeAddOp1(tls, _v, func() int32 { 123813 if (_94_x & uint32(i32(1))) != 0 { 123814 return i32(22) 123815 } 123816 return i32(21) 123817 }(), int32(_94_x>>uint(i32(1)))) 123818 _285: 123819 _sqlite3ExprIfFalse(tls, _pParse, _91_pE, _addrCont, i32(16)) 123820 if _91_skipLikeAddr == 0 { 123821 goto _290 123822 } 123823 123824 _sqlite3VdbeJumpHere(tls, _v, _91_skipLikeAddr) 123825 _290: 123826 { 123827 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 123828 *p = uint16(int32(*p) | i32(4)) 123829 sink6908 = *p 123830 } 123831 _276: 123832 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _j -= 1; return &_pTerm }())) += uintptr(48) 123833 goto _275 123834 123835 _278: 123836 *func() *int32 { _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)); return &_j }() = _pWC.X3 123837 _291: 123838 if _j <= i32(0) { 123839 goto _294 123840 } 123841 123842 if (int32(_pTerm.X3) & i32(6)) == 0 { 123843 goto _295 123844 } 123845 123846 goto _292 123847 123848 _295: 123849 if (int32(_pTerm.X4) & i32(130)) != i32(0) { 123850 goto _296 123851 } 123852 123853 goto _292 123854 123855 _296: 123856 if (int32(_pTerm.X4) & i32(2048)) != i32(0) { 123857 goto _297 123858 } 123859 123860 goto _292 123861 123862 _297: 123863 if (_pTerm.X8) == _iCur { 123864 goto _298 123865 } 123866 123867 goto _292 123868 123869 _298: 123870 if (_pLevel.X0) == 0 { 123871 goto _299 123872 } 123873 123874 goto _292 123875 123876 _299: 123877 _95_pE = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 123878 func() int32 { 123879 if ((_95_pE.X2) & uint32(i32(1))) == uint32(i32(0)) { 123880 return i32(0) 123881 } 123882 return func() int32 { 123883 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128337), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114920))) 123884 crt.X__builtin_abort(tls) 123885 return i32(0) 123886 }() 123887 }() 123888 func() int32 { 123889 if ((_pTerm.X11) & (_pLevel.X19)) != uint64(i32(0)) { 123890 return i32(0) 123891 } 123892 return func() int32 { 123893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128338), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(114956))) 123894 crt.X__builtin_abort(tls) 123895 return i32(0) 123896 }() 123897 }() 123898 _95_pAlt = _sqlite3WhereFindTerm(tls, _pWC, _iCur, *(*int32)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(28 /* X10 */))))), _notReady, uint32(i32(131)), (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) 123899 if _95_pAlt != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 123900 goto _304 123901 } 123902 123903 goto _292 123904 123905 _304: 123906 if (int32(_95_pAlt.X3) & i32(4)) == 0 { 123907 goto _305 123908 } 123909 123910 goto _292 123911 123912 _305: 123913 _95_sEAlt = *(*XExpr)(unsafe.Pointer(_95_pAlt.X0)) 123914 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_95_sEAlt)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(_95_pE.X4)) 123915 _sqlite3ExprIfFalse(tls, _pParse, &_95_sEAlt, _addrCont, i32(16)) 123916 _292: 123917 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _j -= 1; return &_pTerm }())) += uintptr(48) 123918 goto _291 123919 123920 _294: 123921 if (_pLevel.X0) == 0 { 123922 goto _306 123923 } 123924 123925 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(28 /* X7 */))) = _sqlite3VdbeCurrentAddr(tls, _v) 123926 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(1), _pLevel.X0) 123927 _sqlite3VdbeComment(tls, _v, str(115000)) 123928 _sqlite3ExprCacheClear(tls, _pParse) 123929 *func() *int32 { _pTerm = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)); return &_j }() = i32(0) 123930 _307: 123931 if _j >= (_pWC.X3) { 123932 goto _310 123933 } 123934 123935 if (int32(_pTerm.X3) & i32(6)) == 0 { 123936 goto _311 123937 } 123938 123939 goto _308 123940 123941 _311: 123942 if ((_pTerm.X12) & (_pLevel.X19)) == uint64(i32(0)) { 123943 goto _312 123944 } 123945 123946 func() int32 { 123947 if (_pWInfo.X14) != 0 { 123948 return i32(0) 123949 } 123950 return func() int32 { 123951 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128365), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(115024))) 123952 crt.X__builtin_abort(tls) 123953 return i32(0) 123954 }() 123955 }() 123956 goto _308 123957 123958 _312: 123959 func() int32 { 123960 if (*XExpr)(unsafe.Pointer(_pTerm.X0)) != nil { 123961 return i32(0) 123962 } 123963 return func() int32 { 123964 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(128368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereCodeOneLoopStartØ00__func__Ø000))), unsafe.Pointer(str(115048))) 123965 crt.X__builtin_abort(tls) 123966 return i32(0) 123967 }() 123968 }() 123969 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer(_pTerm.X0)), _addrCont, i32(16)) 123970 { 123971 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 123972 *p = uint16(int32(*p) | i32(4)) 123973 sink6908 = *p 123974 } 123975 _308: 123976 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _j += 1; return &_pTerm }())) += uintptr(48) 123977 goto _307 123978 123979 _310: 123980 _306: 123981 r0 = _pLevel.X19 123982 return 123983 123984 } 123985 123986 var _sqlite3WhereCodeOneLoopStartØ00__func__Ø000 [29]int8 // - 123987 123988 func init() { 123989 crt.Xstrncpy(nil, &_sqlite3WhereCodeOneLoopStartØ00__func__Ø000[0], str(115064), 29) 123990 } 123991 123992 func _codeEqualityTerm(tls *crt.TLS, _pParse *XParse, _pTerm *XWhereTerm, _pLevel *XWhereLevel, _iEq int32, _bRev int32, _iTarget int32) (r0 int32) { // sqlite3.c:126721:1 123993 var _pX *XExpr // sqlite3.c:126729:8 123994 _ = _pX 123995 var _v *XVdbe // sqlite3.c:126730:8 123996 _ = _v 123997 var _iReg int32 // sqlite3.c:126731:7 123998 _ = _iReg 123999 var _3_eType int32 // sqlite3.c:126742:9 124000 _ = _3_eType 124001 var _3_iTab int32 // sqlite3.c:126743:9 124002 _ = _3_iTab 124003 var _3_pIn *T8897640 // sqlite3.c:126744:19 124004 _ = _3_pIn 124005 var _3_pLoop *XWhereLoop // sqlite3.c:126745:15 124006 _ = _3_pLoop 124007 var _3_i int32 // sqlite3.c:126746:9 124008 _ = _3_i 124009 var _3_nEq int32 // sqlite3.c:126747:9 124010 _ = _3_nEq 124011 var _3_aiMap *int32 // sqlite3.c:126748:9 124012 _ = _3_aiMap 124013 var _9_pSelect *XSelect // sqlite3.c:126774:14 124014 _ = _9_pSelect 124015 var _9_db *Xsqlite3 // sqlite3.c:126775:15 124016 _ = _9_db 124017 var _9_savedDbOptFlags uint16 // sqlite3.c:126776:11 124018 _ = _9_savedDbOptFlags 124019 var _9_pOrigRhs *XExprList // sqlite3.c:126777:16 124020 _ = _9_pOrigRhs 124021 var _9_pOrigLhs *XExprList // sqlite3.c:126778:16 124022 _ = _9_pOrigLhs 124023 var _9_pRhs *XExprList // sqlite3.c:126779:16 124024 _ = _9_pRhs 124025 var _9_pLhs *XExprList // sqlite3.c:126780:16 124026 _ = _9_pLhs 124027 var _11_iField int32 // sqlite3.c:126784:15 124028 _ = _11_iField 124029 var _11_pNewRhs *XExpr // sqlite3.c:126785:16 124030 _ = _11_pNewRhs 124031 var _11_pNewLhs *XExpr // sqlite3.c:126786:16 124032 _ = _11_pNewLhs 124033 var _12_pLeft *XExpr // sqlite3.c:126793:14 124034 _ = _12_pLeft 124035 var _13_pOrderBy *XExprList // sqlite3.c:126803:20 124036 _ = _13_pOrderBy 124037 var _19_iMap int32 // sqlite3.c:126854:11 124038 _ = _19_iMap 124039 var _21_iOut int32 // sqlite3.c:126858:15 124040 _ = _21_iOut 124041 var _23_iCol int32 // sqlite3.c:126863:17 124042 _ = _23_iCol 124043 _pX = (*XExpr)(unsafe.Pointer(_pTerm.X0)) 124044 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 124045 func() int32 { 124046 if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XWhereLoop)(unsafe.Pointer(_pLevel.X18)).X13)) + 4*uintptr(_iEq)))) == _pTerm { 124047 return i32(0) 124048 } 124049 return func() int32 { 124050 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126733), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeEqualityTermØ00__func__Ø000))), unsafe.Pointer(str(115096))) 124051 crt.X__builtin_abort(tls) 124052 return i32(0) 124053 }() 124054 }() 124055 func() int32 { 124056 if _iTarget > i32(0) { 124057 return i32(0) 124058 } 124059 return func() int32 { 124060 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126734), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeEqualityTermØ00__func__Ø000))), unsafe.Pointer(str(115132))) 124061 crt.X__builtin_abort(tls) 124062 return i32(0) 124063 }() 124064 }() 124065 if int32(_pX.X0) != i32(37) && int32(_pX.X0) != i32(29) { 124066 goto _5 124067 } 124068 124069 _iReg = _sqlite3ExprCodeTarget(tls, _pParse, (*XExpr)(unsafe.Pointer(_pX.X5)), _iTarget) 124070 goto _6 124071 124072 _5: 124073 if int32(_pX.X0) != i32(34) { 124074 goto _7 124075 } 124076 124077 _iReg = _iTarget 124078 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _iReg) 124079 goto _8 124080 124081 _7: 124082 _3_eType = i32(5) 124083 _3_pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 124084 _3_nEq = i32(0) 124085 _3_aiMap = nil 124086 if ((_3_pLoop.X9)&uint32(i32(1024))) != uint32(i32(0)) || (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop))+uintptr(28 /* X8 */))))).X3)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop))+uintptr(28 /* X8 */))))).X3)).X7)) + 1*uintptr(_iEq)))) == 0 { 124087 goto _11 124088 } 124089 124090 _bRev = bool2int(_bRev == 0) 124091 _11: 124092 func() int32 { 124093 if int32(_pX.X0) == i32(33) { 124094 return i32(0) 124095 } 124096 return func() int32 { 124097 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126758), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeEqualityTermØ00__func__Ø000))), unsafe.Pointer(str(107776))) 124098 crt.X__builtin_abort(tls) 124099 return i32(0) 124100 }() 124101 }() 124102 _iReg = _iTarget 124103 _3_i = i32(0) 124104 _14: 124105 if _3_i >= _iEq { 124106 goto _17 124107 } 124108 124109 if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))) == nil || (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))).X0)) != _pX { 124110 goto _19 124111 } 124112 124113 _disableTerm(tls, _pLevel, _pTerm) 124114 r0 = _iTarget 124115 return 124116 124117 _19: 124118 _3_i += 1 124119 goto _14 124120 124121 _17: 124122 _3_i = _iEq 124123 _20: 124124 if _3_i >= int32(_3_pLoop.X10) { 124125 goto _23 124126 } 124127 124128 if func() int32 { 124129 if (*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))) != nil { 124130 return i32(1) 124131 } 124132 return func() int32 { 124133 func() int32 { 124134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126768), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeEqualityTermØ00__func__Ø000))), unsafe.Pointer(str(5204))) 124135 crt.X__builtin_abort(tls) 124136 return i32(0) 124137 }() 124138 return i32(0) 124139 }() 124140 }() == 0 || (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))).X0)) != _pX { 124141 goto _27 124142 } 124143 124144 _3_nEq += 1 124145 _27: 124146 _3_i += 1 124147 goto _20 124148 124149 _23: 124150 if ((_pX.X2)&uint32(i32(2048))) != uint32(i32(0)) && ((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(20 /* X6 */))))))).X0)).X0) != i32(1) { 124151 goto _29 124152 } 124153 124154 _3_eType = _sqlite3FindInIndex(tls, _pParse, _pX, uint32(i32(4)), (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 124155 goto _30 124156 124157 _29: 124158 _9_pSelect = (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(20 /* X6 */))))))) 124159 _9_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 124160 _9_savedDbOptFlags = _9_db.X13 124161 _9_pOrigRhs = (*XExprList)(unsafe.Pointer(_9_pSelect.X0)) 124162 _9_pOrigLhs = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr(_pX.X4) + uintptr(20 /* X6 */))))))) 124163 _9_pRhs = nil 124164 _9_pLhs = nil 124165 _3_i = _iEq 124166 _31: 124167 if _3_i >= int32(_3_pLoop.X10) { 124168 goto _34 124169 } 124170 124171 if (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))).X0)) != _pX { 124172 goto _35 124173 } 124174 124175 _11_iField = ((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))).X9) - i32(1) 124176 _11_pNewRhs = _sqlite3ExprDup(tls, _9_db, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_9_pOrigRhs.X1)+20*uintptr(_11_iField))).X0)), i32(0)) 124177 _11_pNewLhs = _sqlite3ExprDup(tls, _9_db, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_9_pOrigLhs.X1)+20*uintptr(_11_iField))).X0)), i32(0)) 124178 _9_pRhs = _sqlite3ExprListAppend(tls, _pParse, _9_pRhs, _11_pNewRhs) 124179 _9_pLhs = _sqlite3ExprListAppend(tls, _pParse, _9_pLhs, _11_pNewLhs) 124180 _35: 124181 _3_i += 1 124182 goto _31 124183 124184 _34: 124185 if (_9_db.X17) != 0 { 124186 goto _36 124187 } 124188 124189 _12_pLeft = (*XExpr)(unsafe.Pointer(_pX.X4)) 124190 if (*XExprList)(unsafe.Pointer(_9_pSelect.X12)) == nil { 124191 goto _37 124192 } 124193 124194 _13_pOrderBy = (*XExprList)(unsafe.Pointer(_9_pSelect.X12)) 124195 _3_i = i32(0) 124196 _38: 124197 if _3_i >= (_13_pOrderBy.X0) { 124198 goto _41 124199 } 124200 124201 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_13_pOrderBy.X1)+20*uintptr(_3_i)))))+uintptr(16 /* X5 */))))))) + uintptr(0 /* X0 */))) = uint16(i32(0)) 124202 _3_i += 1 124203 goto _38 124204 124205 _41: 124206 _37: 124207 if (_9_pLhs.X0) != i32(1) { 124208 goto _42 124209 } 124210 124211 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_9_pLhs.X1) + 20*uintptr(i32(0)))).X0)) 124212 goto _43 124213 124214 _42: 124215 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pLeft)) + uintptr(20 /* X6 */))))))) = _9_pLhs 124216 _3_aiMap = (*int32)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(u32(4)*uint32(_3_nEq))))) 124217 _43: 124218 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pSelect)) + uintptr(0 /* X0 */))))) = _9_pRhs 124219 { 124220 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_db)) + uintptr(60 /* X13 */))) 124221 *p = uint16(int32(*p) | i32(1)) 124222 sink6908 = *p 124223 } 124224 _3_eType = _sqlite3FindInIndex(tls, _pParse, _pX, uint32(i32(4)), (*int32)(unsafe.Pointer(uintptr(i32(0)))), _3_aiMap) 124225 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_db)) + uintptr(60 /* X13 */))) = _9_savedDbOptFlags 124226 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_9_pSelect)) + uintptr(0 /* X0 */))))) = _9_pOrigRhs 124227 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pLeft)) + uintptr(20 /* X6 */))))))) = _9_pOrigLhs 124228 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pX)) + uintptr(12 /* X4 */))))) = _12_pLeft 124229 _36: 124230 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_pLhs) 124231 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _9_pRhs) 124232 _30: 124233 if _3_eType != i32(4) { 124234 goto _44 124235 } 124236 124237 _bRev = bool2int(_bRev == 0) 124238 _44: 124239 _3_iTab = _pX.X8 124240 _sqlite3VdbeAddOp2(tls, _v, func() int32 { 124241 if _bRev != 0 { 124242 return i32(53) 124243 } 124244 return i32(58) 124245 }(), _3_iTab, i32(0)) 124246 func() int32 { 124247 if ((_3_pLoop.X9) & uint32(i32(8192))) == uint32(i32(0)) { 124248 return i32(0) 124249 } 124250 return func() int32 { 124251 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126840), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeEqualityTermØ00__func__Ø000))), unsafe.Pointer(str(115144))) 124252 crt.X__builtin_abort(tls) 124253 return i32(0) 124254 }() 124255 }() 124256 { 124257 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop)) + uintptr(40 /* X9 */))) 124258 *p = (*p) | uint32(i32(2048)) 124259 sink985 = *p 124260 } 124261 if ((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0) != i32(0) { 124262 goto _49 124263 } 124264 124265 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(16 /* X4 */))) = _sqlite3VdbeMakeLabel(tls, _v) 124266 _49: 124267 _3_i = (*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0 124268 { 124269 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))))) + uintptr(0 /* X0 */))) 124270 *p = (*p) + _3_nEq 124271 sink961 = *p 124272 } 124273 *(**T8897640)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))))) + uintptr(4 /* X1 */))))) = (*T8897640)(unsafe.Pointer(_sqlite3DbReallocOrFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1, uint64(u32(12)*uint32((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X0))))) 124274 _3_pIn = (*T8897640)(unsafe.Pointer((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X1)) 124275 if _3_pIn == nil { 124276 goto _50 124277 } 124278 124279 _19_iMap = i32(0) 124280 { 124281 p := &_3_pIn 124282 *p = (*T8897640)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 12*uintptr(_3_i))) 124283 sink8897613 = *p 124284 } 124285 _3_i = _iEq 124286 _51: 124287 if _3_i >= int32(_3_pLoop.X10) { 124288 goto _54 124289 } 124290 124291 if (*XExpr)(unsafe.Pointer((*(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pLoop.X13)) + 4*uintptr(_3_i)))).X0)) != _pX { 124292 goto _55 124293 } 124294 124295 _21_iOut = (_iReg + _3_i) - _iEq 124296 if _3_eType != i32(1) { 124297 goto _56 124298 } 124299 124300 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(4 /* X1 */))) = _sqlite3VdbeAddOp2(tls, _v, i32(123), _3_iTab, _21_iOut) 124301 goto _57 124302 124303 _56: 124304 _23_iCol = func() int32 { 124305 if _3_aiMap != nil { 124306 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_aiMap)) + 4*uintptr(postInc961(&_19_iMap, int32(1)))))) 124307 } 124308 return i32(0) 124309 }() 124310 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(4 /* X1 */))) = _sqlite3VdbeAddOp3(tls, _v, i32(98), _3_iTab, _23_iCol, _21_iOut) 124311 _57: 124312 _sqlite3VdbeAddOp1(tls, _v, i32(34), _21_iOut) 124313 if _3_i != _iEq { 124314 goto _60 124315 } 124316 124317 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(0 /* X0 */))) = _3_iTab 124318 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(8 /* X2 */))) = uint8(func() int32 { 124319 if _bRev != 0 { 124320 return i32(4) 124321 } 124322 return i32(5) 124323 }()) 124324 goto _63 124325 124326 _60: 124327 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIn)) + uintptr(8 /* X2 */))) = uint8(i32(162)) 124328 _63: 124329 *(*uintptr)(unsafe.Pointer(&_3_pIn)) += uintptr(12) 124330 _55: 124331 _3_i += 1 124332 goto _51 124333 124334 _54: 124335 goto _64 124336 124337 _50: 124338 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))))) + uintptr(0 /* X0 */))) = i32(0) 124339 _64: 124340 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_3_aiMap)) 124341 _8: 124342 _6: 124343 _disableTerm(tls, _pLevel, _pTerm) 124344 r0 = _iReg 124345 return 124346 124347 } 124348 124349 var _codeEqualityTermØ00__func__Ø000 [17]int8 // - 124350 124351 func init() { 124352 crt.Xstrncpy(nil, &_codeEqualityTermØ00__func__Ø000[0], str(115184), 17) 124353 } 124354 124355 func _disableTerm(tls *crt.TLS, _pLevel *XWhereLevel, _pTerm *XWhereTerm) { // sqlite3.c:126622:1 124356 var _nLoop int32 // sqlite3.c:126623:7 124357 _ = _nLoop 124358 _nLoop = i32(0) 124359 _0: 124360 if func() int32 { 124361 if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 124362 return i32(1) 124363 } 124364 return func() int32 { 124365 func() int32 { 124366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126624), unsafe.Pointer((*int8)(unsafe.Pointer(&_disableTermØ00__func__Ø000))), unsafe.Pointer(str(5204))) 124367 crt.X__builtin_abort(tls) 124368 return i32(0) 124369 }() 124370 return i32(0) 124371 }() 124372 }() == 0 || (int32(_pTerm.X3)&i32(4)) != i32(0) || (_pLevel.X0) != i32(0) && (((*XExpr)(unsafe.Pointer(_pTerm.X0)).X2)&uint32(i32(1))) == uint32(i32(0)) || ((_pLevel.X19)&(_pTerm.X12)) != uint64(i32(0)) { 124373 goto _1 124374 } 124375 124376 if _nLoop == 0 || (int32(_pTerm.X3)&i32(1024)) == i32(0) { 124377 goto _9 124378 } 124379 124380 { 124381 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 124382 *p = uint16(int32(*p) | i32(512)) 124383 sink6908 = *p 124384 } 124385 goto _10 124386 124387 _9: 124388 { 124389 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(10 /* X3 */))) 124390 *p = uint16(int32(*p) | i32(4)) 124391 sink6908 = *p 124392 } 124393 _10: 124394 if (_pTerm.X7) >= i32(0) { 124395 goto _11 124396 } 124397 124398 goto _1 124399 124400 _11: 124401 _pTerm = (*XWhereTerm)(unsafe.Pointer(uintptr((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X5) + 48*uintptr(_pTerm.X7))) 124402 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTerm)) + uintptr(14 /* X5 */))) -= 1 124403 if int32(_pTerm.X5) == i32(0) { 124404 goto _12 124405 } 124406 124407 goto _1 124408 124409 _12: 124410 _nLoop += 1 124411 goto _0 124412 124413 _1: 124414 return 124415 124416 } 124417 124418 var _disableTermØ00__func__Ø000 [12]int8 // - 124419 124420 func init() { 124421 crt.Xstrncpy(nil, &_disableTermØ00__func__Ø000[0], str(115204), 12) 124422 } 124423 124424 func _codeExprOrVector(tls *crt.TLS, _pParse *XParse, _p *XExpr, _iReg int32, _nReg int32) { // sqlite3.c:127345:1 124425 var _2_v *XVdbe // sqlite3.c:127350:12 124426 _ = _2_v 124427 var _2_iSelect int32 // sqlite3.c:127351:11 124428 _ = _2_iSelect 124429 var _3_i int32 // sqlite3.c:127356:11 124430 _ = _3_i 124431 var _3_pList *XExprList // sqlite3.c:127357:16 124432 _ = _3_pList 124433 func() int32 { 124434 if _nReg > i32(0) { 124435 return i32(0) 124436 } 124437 return func() int32 { 124438 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127346), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeExprOrVectorØ00__func__Ø000))), unsafe.Pointer(str(115216))) 124439 crt.X__builtin_abort(tls) 124440 return i32(0) 124441 }() 124442 }() 124443 if _sqlite3ExprIsVector(tls, _p) == 0 { 124444 goto _2 124445 } 124446 124447 if ((_p.X2) & uint32(i32(2048))) == 0 { 124448 goto _3 124449 } 124450 124451 _2_v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 124452 _2_iSelect = _sqlite3CodeSubselect(tls, _pParse, _p, i32(0), i32(0)) 124453 _sqlite3VdbeAddOp3(tls, _2_v, i32(85), _2_iSelect, _iReg, _nReg-i32(1)) 124454 goto _4 124455 124456 _3: 124457 _3_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X6 */))))))) 124458 func() int32 { 124459 if _nReg <= (_3_pList.X0) { 124460 return i32(0) 124461 } 124462 return func() int32 { 124463 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127358), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeExprOrVectorØ00__func__Ø000))), unsafe.Pointer(str(115224))) 124464 crt.X__builtin_abort(tls) 124465 return i32(0) 124466 }() 124467 }() 124468 _3_i = i32(0) 124469 _7: 124470 if _3_i >= _nReg { 124471 goto _10 124472 } 124473 124474 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_3_pList.X1)+20*uintptr(_3_i))).X0)), _iReg+_3_i) 124475 _3_i += 1 124476 goto _7 124477 124478 _10: 124479 _4: 124480 goto _11 124481 124482 _2: 124483 func() int32 { 124484 if _nReg == i32(1) { 124485 return i32(0) 124486 } 124487 return func() int32 { 124488 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127364), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeExprOrVectorØ00__func__Ø000))), unsafe.Pointer(str(115244))) 124489 crt.X__builtin_abort(tls) 124490 return i32(0) 124491 }() 124492 }() 124493 _sqlite3ExprCode(tls, _pParse, _p, _iReg) 124494 _11: 124495 return 124496 124497 } 124498 124499 var _codeExprOrVectorØ00__func__Ø000 [17]int8 // - 124500 124501 func init() { 124502 crt.Xstrncpy(nil, &_codeExprOrVectorØ00__func__Ø000[0], str(115252), 17) 124503 } 124504 124505 func _codeAllEqualityTerms(tls *crt.TLS, _pParse *XParse, _pLevel *XWhereLevel, _bRev int32, _nExtraReg int32, _pzAff **int8) (r0 int32) { // sqlite3.c:126931:1 124506 var _nEq uint16 // sqlite3.c:126938:7 124507 _ = _nEq 124508 var _nSkip uint16 // sqlite3.c:126939:7 124509 _ = _nSkip 124510 var _v *XVdbe // sqlite3.c:126940:8 124511 _ = _v 124512 var _pIdx *XIndex // sqlite3.c:126941:9 124513 _ = _pIdx 124514 var _pTerm *XWhereTerm // sqlite3.c:126942:13 124515 _ = _pTerm 124516 var _pLoop *XWhereLoop // sqlite3.c:126943:13 124517 _ = _pLoop 124518 var _j int32 // sqlite3.c:126944:7 124519 _ = _j 124520 var _regBase int32 // sqlite3.c:126945:7 124521 _ = _regBase 124522 var _nReg int32 // sqlite3.c:126946:7 124523 _ = _nReg 124524 var _zAff *int8 // sqlite3.c:126947:8 124525 _ = _zAff 124526 var _1_iIdxCur int32 // sqlite3.c:126967:9 124527 _ = _1_iIdxCur 124528 var _3_r1 int32 // sqlite3.c:126989:9 124529 _ = _3_r1 124530 var _9_pRight *XExpr // sqlite3.c:127014:12 124531 _ = _9_pRight 124532 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 124533 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 124534 func() int32 { 124535 if ((_pLoop.X9) & uint32(i32(1024))) == uint32(i32(0)) { 124536 return i32(0) 124537 } 124538 return func() int32 { 124539 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126951), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAllEqualityTermsØ00__func__Ø000))), unsafe.Pointer(str(115272))) 124540 crt.X__builtin_abort(tls) 124541 return i32(0) 124542 }() 124543 }() 124544 _nEq = (*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X0 124545 _nSkip = _pLoop.X11 124546 _pIdx = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X3)) 124547 func() int32 { 124548 if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 124549 return i32(0) 124550 } 124551 return func() int32 { 124552 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126955), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAllEqualityTermsØ00__func__Ø000))), unsafe.Pointer(str(44360))) 124553 crt.X__builtin_abort(tls) 124554 return i32(0) 124555 }() 124556 }() 124557 _regBase = (_pParse.X18) + i32(1) 124558 _nReg = int32((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X0) + _nExtraReg 124559 { 124560 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 124561 *p = (*p) + _nReg 124562 sink961 = *p 124563 } 124564 _zAff = _sqlite3DbStrDup(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIdx)) 124565 func() int32 { 124566 if (_zAff != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 124567 return i32(0) 124568 } 124569 return func() int32 { 124570 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126964), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAllEqualityTermsØ00__func__Ø000))), unsafe.Pointer(str(115316))) 124571 crt.X__builtin_abort(tls) 124572 return i32(0) 124573 }() 124574 }() 124575 if _nSkip == 0 { 124576 goto _7 124577 } 124578 124579 _1_iIdxCur = _pLevel.X2 124580 _sqlite3VdbeAddOp1(tls, _v, func() int32 { 124581 if _bRev != 0 { 124582 return i32(53) 124583 } 124584 return i32(58) 124585 }(), _1_iIdxCur) 124586 _sqlite3VdbeComment(tls, _v, str(115352), unsafe.Pointer(_pIdx.X0)) 124587 _j = _sqlite3VdbeAddOp0(tls, _v, i32(13)) 124588 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(20 /* X5 */))) = _sqlite3VdbeAddOp4Int(tls, _v, func() int32 { 124589 if _bRev != 0 { 124590 return i32(23) 124591 } 124592 return i32(26) 124593 }(), _1_iIdxCur, i32(0), _regBase, int32(_nSkip)) 124594 _sqlite3VdbeJumpHere(tls, _v, _j) 124595 _j = i32(0) 124596 _12: 124597 if _j >= int32(_nSkip) { 124598 goto _15 124599 } 124600 124601 _sqlite3VdbeAddOp3(tls, _v, i32(98), _1_iIdxCur, _j, _regBase+_j) 124602 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_explainIndexColumnName(tls, _pIdx, _j))) 124603 _j += 1 124604 goto _12 124605 124606 _15: 124607 _7: 124608 func() int32 { 124609 if (_zAff == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(crt.Xstrlen(tls, _zAff)) >= int32(_nEq)) { 124610 return i32(0) 124611 } 124612 return func() int32 { 124613 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126987), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAllEqualityTermsØ00__func__Ø000))), unsafe.Pointer(str(115376))) 124614 crt.X__builtin_abort(tls) 124615 return i32(0) 124616 }() 124617 }() 124618 _j = int32(_nSkip) 124619 _19: 124620 if _j >= int32(_nEq) { 124621 goto _22 124622 } 124623 124624 _pTerm = *(**XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop.X13)) + 4*uintptr(_j))) 124625 func() int32 { 124626 if _pTerm != (*XWhereTerm)(unsafe.Pointer(uintptr(i32(0)))) { 124627 return i32(0) 124628 } 124629 return func() int32 { 124630 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126991), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAllEqualityTermsØ00__func__Ø000))), unsafe.Pointer(str(114128))) 124631 crt.X__builtin_abort(tls) 124632 return i32(0) 124633 }() 124634 }() 124635 _3_r1 = _codeEqualityTerm(tls, _pParse, _pTerm, _pLevel, _j, _bRev, _regBase+_j) 124636 if _3_r1 == (_regBase + _j) { 124637 goto _25 124638 } 124639 124640 if _nReg != i32(1) { 124641 goto _26 124642 } 124643 124644 _sqlite3ReleaseTempReg(tls, _pParse, _regBase) 124645 _regBase = _3_r1 124646 goto _27 124647 124648 _26: 124649 _sqlite3VdbeAddOp2(tls, _v, i32(86), _3_r1, _regBase+_j) 124650 _27: 124651 _25: 124652 if (int32(_pTerm.X4) & i32(1)) == 0 { 124653 goto _28 124654 } 124655 124656 if (((*XExpr)(unsafe.Pointer(_pTerm.X0)).X2) & uint32(i32(2048))) == 0 { 124657 goto _29 124658 } 124659 124660 if _zAff == nil { 124661 goto _30 124662 } 124663 124664 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))) = int8(i32(65)) 124665 _30: 124666 _29: 124667 goto _31 124668 124669 _28: 124670 if (int32(_pTerm.X4) & i32(256)) != i32(0) { 124671 goto _32 124672 } 124673 124674 _9_pRight = (*XExpr)(unsafe.Pointer((*XExpr)(unsafe.Pointer(_pTerm.X0)).X5)) 124675 if (int32(_pTerm.X3)&i32(2048)) != i32(0) || _sqlite3ExprCanBeNull(tls, _9_pRight) == 0 { 124676 goto _34 124677 } 124678 124679 _sqlite3VdbeAddOp2(tls, _v, i32(34), _regBase+_j, _pLevel.X3) 124680 _34: 124681 if _zAff == nil { 124682 goto _35 124683 } 124684 124685 if int32(_sqlite3CompareAffinity(tls, _9_pRight, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))))) != i32(65) { 124686 goto _36 124687 } 124688 124689 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))) = int8(i32(65)) 124690 _36: 124691 if _sqlite3ExprNeedsNoAffinityChange(tls, _9_pRight, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j)))) == 0 { 124692 goto _37 124693 } 124694 124695 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_j))) = int8(i32(65)) 124696 _37: 124697 _35: 124698 _32: 124699 _31: 124700 _j += 1 124701 goto _19 124702 124703 _22: 124704 *_pzAff = _zAff 124705 r0 = _regBase 124706 return 124707 124708 } 124709 124710 var _codeAllEqualityTermsØ00__func__Ø000 [21]int8 // - 124711 124712 func init() { 124713 crt.Xstrncpy(nil, &_codeAllEqualityTermsØ00__func__Ø000[0], str(115412), 21) 124714 } 124715 124716 func _sqlite3ExprNeedsNoAffinityChange(tls *crt.TLS, _p *XExpr, _aff int8) (r0 int32) { // sqlite3.c:92671:1 124717 var _op uint8 // sqlite3.c:92672:6 124718 _ = _op 124719 if int32(_aff) != i32(65) { 124720 goto _0 124721 } 124722 124723 r0 = i32(1) 124724 return 124725 124726 _0: 124727 _1: 124728 if int32(_p.X0) != i32(156) && int32(_p.X0) != i32(155) { 124729 goto _2 124730 } 124731 124732 _p = (*XExpr)(unsafe.Pointer(_p.X4)) 124733 goto _1 124734 124735 _2: 124736 _op = _p.X0 124737 if int32(_op) != i32(157) { 124738 goto _4 124739 } 124740 124741 _op = _p.X12 124742 _4: 124743 switch int32(_op) { 124744 case i32(97): 124745 goto _8 124746 case i32(132): 124747 goto _7 124748 case i32(133): 124749 goto _9 124750 case i32(134): 124751 goto _6 124752 case i32(152): 124753 goto _10 124754 default: 124755 goto _11 124756 } 124757 124758 _6: 124759 r0 = bool2int((int32(_aff) == i32(68)) || (int32(_aff) == i32(67))) 124760 return 124761 124762 _7: 124763 r0 = bool2int((int32(_aff) == i32(69)) || (int32(_aff) == i32(67))) 124764 return 124765 124766 _8: 124767 r0 = bool2int(int32(_aff) == i32(66)) 124768 return 124769 124770 _9: 124771 r0 = i32(1) 124772 return 124773 124774 _10: 124775 func() int32 { 124776 if (_p.X8) >= i32(0) { 124777 return i32(0) 124778 } 124779 return func() int32 { 124780 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92691), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprNeedsNoAffinityChangeØ00__func__Ø000))), unsafe.Pointer(str(115436))) 124781 crt.X__builtin_abort(tls) 124782 return i32(0) 124783 }() 124784 }() 124785 r0 = bool2int((int32(_p.X9) < i32(0)) && ((int32(_aff) == i32(68)) || (int32(_aff) == i32(67)))) 124786 return 124787 124788 _11: 124789 r0 = i32(0) 124790 return 124791 124792 } 124793 124794 var _sqlite3ExprNeedsNoAffinityChangeØ00__func__Ø000 [33]int8 // - 124795 124796 func init() { 124797 crt.Xstrncpy(nil, &_sqlite3ExprNeedsNoAffinityChangeØ00__func__Ø000[0], str(115452), 33) 124798 } 124799 124800 func _whereLikeOptimizationStringFixup(tls *crt.TLS, _v *XVdbe, _pLevel *XWhereLevel, _pTerm *XWhereTerm) { // sqlite3.c:127051:1 124801 var _1_pOp *XVdbeOp // sqlite3.c:127057:12 124802 _ = _1_pOp 124803 if (int32(_pTerm.X3) & i32(256)) == 0 { 124804 goto _0 124805 } 124806 124807 func() int32 { 124808 if (_pLevel.X9) > uint32(i32(0)) { 124809 return i32(0) 124810 } 124811 return func() int32 { 124812 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127058), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLikeOptimizationStringFixupØ00__func__Ø000))), unsafe.Pointer(str(115488))) 124813 crt.X__builtin_abort(tls) 124814 return i32(0) 124815 }() 124816 }() 124817 _1_pOp = _sqlite3VdbeGetOp(tls, _v, i32(-1)) 124818 func() int32 { 124819 if _1_pOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 124820 return i32(0) 124821 } 124822 return func() int32 { 124823 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127060), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLikeOptimizationStringFixupØ00__func__Ø000))), unsafe.Pointer(str(115512))) 124824 crt.X__builtin_abort(tls) 124825 return i32(0) 124826 }() 124827 }() 124828 func() int32 { 124829 if (int32(_1_pOp.X0) == i32(97)) || (((*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer((*XWhereClause)(unsafe.Pointer(_pTerm.X1)).X0)).X0)).X0)).X17) != 0) { 124830 return i32(0) 124831 } 124832 return func() int32 { 124833 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127061), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereLikeOptimizationStringFixupØ00__func__Ø000))), unsafe.Pointer(str(115520))) 124834 crt.X__builtin_abort(tls) 124835 return i32(0) 124836 }() 124837 }() 124838 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(12 /* X5 */))) = int32((_pLevel.X9) >> uint(i32(1))) 124839 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(2 /* X2 */))) = uint16(uint8((_pLevel.X9) & uint32(i32(1)))) 124840 _0: 124841 return 124842 124843 } 124844 124845 var _whereLikeOptimizationStringFixupØ00__func__Ø000 [33]int8 // - 124846 124847 func init() { 124848 crt.Xstrncpy(nil, &_whereLikeOptimizationStringFixupØ00__func__Ø000[0], str(115592), 33) 124849 } 124850 124851 func _updateRangeAffinityStr(tls *crt.TLS, _pRight *XExpr, _n int32, _zAff *int8) { // sqlite3.c:126690:1 124852 var _i int32 // sqlite3.c:126695:7 124853 _ = _i 124854 var _1_p *XExpr // sqlite3.c:126697:10 124855 _ = _1_p 124856 _i = i32(0) 124857 _0: 124858 if _i >= _n { 124859 goto _3 124860 } 124861 124862 _1_p = _sqlite3VectorFieldSubexpr(tls, _pRight, _i) 124863 if int32(_sqlite3CompareAffinity(tls, _1_p, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_i))))) != i32(65) && _sqlite3ExprNeedsNoAffinityChange(tls, _1_p, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_i)))) == 0 { 124864 goto _5 124865 } 124866 124867 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_i))) = int8(i32(65)) 124868 _5: 124869 _i += 1 124870 goto _0 124871 124872 _3: 124873 return 124874 124875 } 124876 124877 func _codeApplyAffinity(tls *crt.TLS, _pParse *XParse, _base int32, _n int32, _zAff *int8) { // sqlite3.c:126653:1 124878 var _v *XVdbe // sqlite3.c:126654:8 124879 _ = _v 124880 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 124881 if _zAff != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 124882 goto _0 124883 } 124884 124885 func() int32 { 124886 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { 124887 return i32(0) 124888 } 124889 return func() int32 { 124890 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126656), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeApplyAffinityØ00__func__Ø000))), unsafe.Pointer(str(44804))) 124891 crt.X__builtin_abort(tls) 124892 return i32(0) 124893 }() 124894 }() 124895 return 124896 124897 _0: 124898 func() int32 { 124899 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 124900 return i32(0) 124901 } 124902 return func() int32 { 124903 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(126659), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeApplyAffinityØ00__func__Ø000))), unsafe.Pointer(str(44352))) 124904 crt.X__builtin_abort(tls) 124905 return i32(0) 124906 }() 124907 }() 124908 _5: 124909 if _n <= i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(i32(0))))) != i32(65) { 124910 goto _6 124911 } 124912 124913 _n -= 1 124914 _base += 1 124915 *(*uintptr)(unsafe.Pointer(&_zAff)) += uintptr(1) 124916 goto _5 124917 124918 _6: 124919 _8: 124920 if _n <= i32(1) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zAff)) + 1*uintptr(_n-i32(1))))) != i32(65) { 124921 goto _9 124922 } 124923 124924 _n -= 1 124925 goto _8 124926 124927 _9: 124928 if _n <= i32(0) { 124929 goto _11 124930 } 124931 124932 _sqlite3VdbeAddOp4(tls, _v, i32(99), _base, _n, i32(0), _zAff, _n) 124933 _sqlite3ExprCacheAffinityChange(tls, _pParse, _base, _n) 124934 _11: 124935 return 124936 124937 } 124938 124939 var _codeApplyAffinityØ00__func__Ø000 [18]int8 // - 124940 124941 func init() { 124942 crt.Xstrncpy(nil, &_codeApplyAffinityØ00__func__Ø000[0], str(115628), 18) 124943 } 124944 124945 var _sqlite3WhereCodeOneLoopStartØ00aStartOpØ001 [8]uint8 // sqlite3.c:127695:21 124946 124947 func init() { 124948 _sqlite3WhereCodeOneLoopStartØ00aStartOpØ001 = [8]uint8{0, 0, 58, 53, 26, 23, 25, 24} 124949 } 124950 124951 var _sqlite3WhereCodeOneLoopStartØ00aEndOpØ002 [4]uint8 // sqlite3.c:127705:21 124952 124953 func init() { 124954 _sqlite3WhereCodeOneLoopStartØ00aEndOpØ002 = [4]uint8{62, 60, 59, 61} 124955 } 124956 124957 func _codeDeferredSeek(tls *crt.TLS, _pWInfo *XWhereInfo, _pIdx *XIndex, _iCur int32, _iIdxCur int32) { // sqlite3.c:127306:1 124958 var _pParse *XParse // sqlite3.c:127312:9 124959 _ = _pParse 124960 var _v *XVdbe // sqlite3.c:127313:8 124961 _ = _v 124962 var _1_i int32 // sqlite3.c:127322:9 124963 _ = _1_i 124964 var _1_pTab *XTable // sqlite3.c:127323:11 124965 _ = _1_pTab 124966 var _1_ai *int32 // sqlite3.c:127324:9 124967 _ = _1_ai 124968 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 124969 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 124970 func() int32 { 124971 if _iIdxCur > i32(0) { 124972 return i32(0) 124973 } 124974 return func() int32 { 124975 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127315), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeDeferredSeekØ00__func__Ø000))), unsafe.Pointer(str(115648))) 124976 crt.X__builtin_abort(tls) 124977 return i32(0) 124978 }() 124979 }() 124980 func() int32 { 124981 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(int32(_pIdx.X14)-i32(1))))) == i32(-1) { 124982 return i32(0) 124983 } 124984 return func() int32 { 124985 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127316), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeDeferredSeekØ00__func__Ø000))), unsafe.Pointer(str(115660))) 124986 crt.X__builtin_abort(tls) 124987 return i32(0) 124988 }() 124989 }() 124990 _sqlite3VdbeAddOp3(tls, _v, i32(128), _iIdxCur, i32(0), _iCur) 124991 if (int32(_pWInfo.X9)&i32(32)) == 0 || (func() *XParse { 124992 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 124993 return (*XParse)(unsafe.Pointer(_pParse.X39)) 124994 } 124995 return _pParse 124996 }().X29) != uint32(i32(0)) { 124997 goto _7 124998 } 124999 125000 _1_pTab = (*XTable)(unsafe.Pointer(_pIdx.X3)) 125001 _1_ai = (*int32)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(u32(4)*uint32(int32(_1_pTab.X11)+i32(1)))))) 125002 if _1_ai == nil { 125003 goto _8 125004 } 125005 125006 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ai)) + 4*uintptr(i32(0)))) = int32(_1_pTab.X11) 125007 _1_i = i32(0) 125008 _9: 125009 if _1_i >= (int32(_pIdx.X14) - i32(1)) { 125010 goto _12 125011 } 125012 125013 func() int32 { 125014 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_i)))) < int32(_1_pTab.X11) { 125015 return i32(0) 125016 } 125017 return func() int32 { 125018 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(127328), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeDeferredSeekØ00__func__Ø000))), unsafe.Pointer(str(115696))) 125019 crt.X__builtin_abort(tls) 125020 return i32(0) 125021 }() 125022 }() 125023 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_i)))) < i32(0) { 125024 goto _15 125025 } 125026 125027 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_ai)) + 4*uintptr(int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_1_i))))+i32(1)))) = _1_i + i32(1) 125028 _15: 125029 _1_i += 1 125030 goto _9 125031 125032 _12: 125033 _sqlite3VdbeChangeP4(tls, _v, i32(-1), (*int8)(unsafe.Pointer(_1_ai)), i32(-12)) 125034 _8: 125035 _7: 125036 return 125037 125038 } 125039 125040 var _codeDeferredSeekØ00__func__Ø000 [17]int8 // - 125041 125042 func init() { 125043 crt.Xstrncpy(nil, &_codeDeferredSeekØ00__func__Ø000[0], str(115728), 17) 125044 } 125045 125046 func _sqlite3ExprCodeGetColumnToReg(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iColumn int32, _iTable int32, _iReg int32) { // sqlite3.c:93991:1 125047 var _r1 int32 // sqlite3.c:93998:7 125048 _ = _r1 125049 _r1 = _sqlite3ExprCodeGetColumn(tls, _pParse, _pTab, _iColumn, _iTable, _iReg, uint8(i32(0))) 125050 if _r1 == _iReg { 125051 goto _0 125052 } 125053 125054 _sqlite3VdbeAddOp2(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), i32(86), _r1, _iReg) 125055 _0: 125056 return 125057 125058 } 125059 125060 func _sqlite3WhereEnd(tls *crt.TLS, _pWInfo *XWhereInfo) { // sqlite3.c:134664:1 125061 var _pParse *XParse // sqlite3.c:134665:9 125062 _ = _pParse 125063 var _v *XVdbe // sqlite3.c:134666:8 125064 _ = _v 125065 var _i int32 // sqlite3.c:134667:7 125066 _ = _i 125067 var _pLevel *XWhereLevel // sqlite3.c:134668:14 125068 _ = _pLevel 125069 var _pLoop *XWhereLoop // sqlite3.c:134669:13 125070 _ = _pLoop 125071 var _pTabList *XSrcList // sqlite3.c:134670:11 125072 _ = _pTabList 125073 var _db *Xsqlite3 // sqlite3.c:134671:11 125074 _ = _db 125075 var _1_addr int32 // sqlite3.c:134678:9 125076 _ = _1_addr 125077 var _3_pIn *T8897640 // sqlite3.c:134691:21 125078 _ = _3_pIn 125079 var _3_j int32 // sqlite3.c:134692:11 125080 _ = _3_j 125081 var _8_ws int32 // sqlite3.c:134720:11 125082 _ = _8_ws 125083 var _13_k int32 // sqlite3.c:134749:9 125084 _ = _13_k 125085 var _13_last int32 // sqlite3.c:134749:12 125086 _ = _13_last 125087 var _13_pOp *XVdbeOp // sqlite3.c:134750:12 125088 _ = _13_pOp 125089 var _13_pIdx *XIndex // sqlite3.c:134751:11 125090 _ = _13_pIdx 125091 var _13_pTabItem *T7840217 // sqlite3.c:134752:25 125092 _ = _13_pTabItem 125093 var _13_pTab *XTable // sqlite3.c:134753:11 125094 _ = _13_pTab 125095 var _19_x int32 // sqlite3.c:134794:15 125096 _ = _19_x 125097 var _20_pPk *XIndex // sqlite3.c:134797:19 125098 _ = _20_pPk 125099 _pParse = (*XParse)(unsafe.Pointer(_pWInfo.X0)) 125100 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 125101 _pTabList = (*XSrcList)(unsafe.Pointer(_pWInfo.X1)) 125102 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 125103 _sqlite3ExprCacheClear(tls, _pParse) 125104 _i = int32(_pWInfo.X10) - i32(1) 125105 _0: 125106 if _i < i32(0) { 125107 goto _3 125108 } 125109 125110 _pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(_i))) 125111 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 125112 _sqlite3VdbeResolveLabel(tls, _v, _pLevel.X6) 125113 if int32(_pLevel.X12) == i32(162) { 125114 goto _4 125115 } 125116 125117 _sqlite3VdbeAddOp3(tls, _v, int32(_pLevel.X12), _pLevel.X15, _pLevel.X16, int32(_pLevel.X13)) 125118 _sqlite3VdbeChangeP5(tls, _v, uint16(_pLevel.X14)) 125119 _4: 125120 if ((_pLoop.X9)&uint32(i32(2048))) == 0 || ((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X0) <= i32(0) { 125121 goto _6 125122 } 125123 125124 _sqlite3VdbeResolveLabel(tls, _v, _pLevel.X4) 125125 *func() **T8897640 { 125126 _3_j = (*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))).X0 125127 return &_3_pIn 125128 }() = (*T8897640)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel))+uintptr(56 /* X17 */))))).X1) + 12*uintptr(_3_j-i32(1)))) 125129 _7: 125130 if _3_j <= i32(0) { 125131 goto _10 125132 } 125133 125134 _sqlite3VdbeJumpHere(tls, _v, (_3_pIn.X1)+i32(1)) 125135 if int32(_3_pIn.X2) == i32(162) { 125136 goto _11 125137 } 125138 125139 _sqlite3VdbeAddOp2(tls, _v, int32(_3_pIn.X2), _3_pIn.X0, _3_pIn.X1) 125140 _11: 125141 _sqlite3VdbeJumpHere(tls, _v, (_3_pIn.X1)-i32(1)) 125142 *(*uintptr)(unsafe.Pointer(func() **T8897640 { _3_j -= 1; return &_3_pIn }())) += uintptr(4294967284) 125143 goto _7 125144 125145 _10: 125146 _6: 125147 _sqlite3VdbeResolveLabel(tls, _v, _pLevel.X3) 125148 if (_pLevel.X5) == 0 { 125149 goto _12 125150 } 125151 125152 _sqlite3VdbeGoto(tls, _v, _pLevel.X5) 125153 _sqlite3VdbeComment(tls, _v, str(115748), unsafe.Pointer((*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop))+uintptr(28 /* X8 */))))).X3)).X0)) 125154 _sqlite3VdbeJumpHere(tls, _v, _pLevel.X5) 125155 _sqlite3VdbeJumpHere(tls, _v, (_pLevel.X5)-i32(2)) 125156 _12: 125157 if (_pLevel.X10) == 0 { 125158 goto _13 125159 } 125160 125161 _sqlite3VdbeAddOp2(tls, _v, i32(69), int32((_pLevel.X9)>>uint(i32(1))), _pLevel.X10) 125162 _13: 125163 if (_pLevel.X0) == 0 { 125164 goto _14 125165 } 125166 125167 _8_ws = int32(_pLoop.X9) 125168 _1_addr = _sqlite3VdbeAddOp1(tls, _v, i32(67), _pLevel.X0) 125169 func() int32 { 125170 if ((_8_ws & i32(64)) == i32(0)) || ((_8_ws & i32(512)) != i32(0)) { 125171 return i32(0) 125172 } 125173 return func() int32 { 125174 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134722), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereEndØ00__func__Ø000))), unsafe.Pointer(str(115772))) 125175 crt.X__builtin_abort(tls) 125176 return i32(0) 125177 }() 125178 }() 125179 if (_8_ws & i32(64)) != i32(0) { 125180 goto _18 125181 } 125182 125183 _sqlite3VdbeAddOp1(tls, _v, i32(124), (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 125184 X0 unsafe.Pointer 125185 X1 *int8 125186 X2 *int8 125187 X3 *int8 125188 X4 unsafe.Pointer 125189 X5 unsafe.Pointer 125190 X6 int32 125191 X7 int32 125192 X8 int32 125193 X9 struct { 125194 X0 uint8 125195 X1 int8 125196 } 125197 X10 uint8 125198 X11 int32 125199 X12 unsafe.Pointer 125200 X13 unsafe.Pointer 125201 X14 uint64 125202 X15 struct { 125203 X [0]struct { 125204 X0 *int8 125205 X1 unsafe.Pointer 125206 } 125207 U [4]byte 125208 } 125209 X16 unsafe.Pointer 125210 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(_i))).X11) 125211 _18: 125212 if (_8_ws&i32(512)) == 0 && ((_8_ws&i32(8192)) == 0 || (*XIndex)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))))) == nil) { 125213 goto _21 125214 } 125215 125216 _sqlite3VdbeAddOp1(tls, _v, i32(124), _pLevel.X2) 125217 _21: 125218 if int32(_pLevel.X12) != i32(73) { 125219 goto _22 125220 } 125221 125222 _sqlite3VdbeAddOp2(tls, _v, i32(14), _pLevel.X15, _pLevel.X7) 125223 goto _23 125224 125225 _22: 125226 _sqlite3VdbeGoto(tls, _v, _pLevel.X7) 125227 _23: 125228 _sqlite3VdbeJumpHere(tls, _v, _1_addr) 125229 _14: 125230 _i -= 1 125231 goto _0 125232 125233 _3: 125234 _sqlite3VdbeResolveLabel(tls, _v, _pWInfo.X7) 125235 func() int32 { 125236 if int32(_pWInfo.X10) <= (_pTabList.X0) { 125237 return i32(0) 125238 } 125239 return func() int32 { 125240 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134747), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereEndØ00__func__Ø000))), unsafe.Pointer(str(115824))) 125241 crt.X__builtin_abort(tls) 125242 return i32(0) 125243 }() 125244 }() 125245 *func() **XWhereLevel { _i = i32(0); return &_pLevel }() = (*XWhereLevel)(unsafe.Pointer((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(740 /* X23 */))))) 125246 _26: 125247 if _i >= int32(_pWInfo.X10) { 125248 goto _29 125249 } 125250 125251 _13_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 125252 _13_pTabItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 125253 X0 unsafe.Pointer 125254 X1 *int8 125255 X2 *int8 125256 X3 *int8 125257 X4 unsafe.Pointer 125258 X5 unsafe.Pointer 125259 X6 int32 125260 X7 int32 125261 X8 int32 125262 X9 struct { 125263 X0 uint8 125264 X1 int8 125265 } 125266 X10 uint8 125267 X11 int32 125268 X12 unsafe.Pointer 125269 X13 unsafe.Pointer 125270 X14 uint64 125271 X15 struct { 125272 X [0]struct { 125273 X0 *int8 125274 X1 unsafe.Pointer 125275 } 125276 U [4]byte 125277 } 125278 X16 unsafe.Pointer 125279 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(_pLevel.X11))) 125280 _13_pTab = (*XTable)(unsafe.Pointer(_13_pTabItem.X4)) 125281 func() int32 { 125282 if _13_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 125283 return i32(0) 125284 } 125285 return func() int32 { 125286 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134754), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereEndØ00__func__Ø000))), unsafe.Pointer(str(45992))) 125287 crt.X__builtin_abort(tls) 125288 return i32(0) 125289 }() 125290 }() 125291 _pLoop = (*XWhereLoop)(unsafe.Pointer(_pLevel.X18)) 125292 if ((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pTabItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(4))) << uint(i32(31))) >> uint(i32(31))) == 0 { 125293 goto _32 125294 } 125295 125296 _translateColumnToCopy(tls, _pParse, _pLevel.X8, _pLevel.X1, _13_pTabItem.X8, i32(0)) 125297 goto _27 125298 125299 _32: 125300 if ((_pLoop.X9) & uint32(i32(576))) == 0 { 125301 goto _33 125302 } 125303 125304 _13_pIdx = (*XIndex)(unsafe.Pointer((*T8892125)(unsafe.Pointer((*T8892202)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLoop)) + uintptr(28 /* X8 */))))).X3)) 125305 goto _34 125306 125307 _33: 125308 if ((_pLoop.X9) & uint32(i32(8192))) == 0 { 125309 goto _35 125310 } 125311 125312 _13_pIdx = (*XIndex)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLevel)) + uintptr(56 /* X17 */))))))) 125313 _35: 125314 _34: 125315 if _13_pIdx == nil || int32(_pWInfo.X13) != i32(0) && (((*XTable)(unsafe.Pointer(_13_pIdx.X3)).X9)&uint32(i32(32))) == uint32(i32(0)) || (_db.X17) != 0 { 125316 goto _39 125317 } 125318 125319 _13_last = _sqlite3VdbeCurrentAddr(tls, _v) 125320 _13_k = _pLevel.X8 125321 _13_pOp = _sqlite3VdbeGetOp(tls, _v, _13_k) 125322 _40: 125323 if _13_k >= _13_last { 125324 goto _43 125325 } 125326 125327 if (_13_pOp.X3) == (_pLevel.X1) { 125328 goto _44 125329 } 125330 125331 goto _41 125332 125333 _44: 125334 if int32(_13_pOp.X0) != i32(98) { 125335 goto _45 125336 } 125337 125338 _19_x = _13_pOp.X4 125339 func() int32 { 125340 if (*XTable)(unsafe.Pointer(_13_pIdx.X3)) == _13_pTab { 125341 return i32(0) 125342 } 125343 return func() int32 { 125344 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134795), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereEndØ00__func__Ø000))), unsafe.Pointer(str(115856))) 125345 crt.X__builtin_abort(tls) 125346 return i32(0) 125347 }() 125348 }() 125349 if ((_13_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 125350 goto _48 125351 } 125352 125353 _20_pPk = _sqlite3PrimaryKeyIndex(tls, _13_pTab) 125354 _19_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_20_pPk.X1)) + 2*uintptr(_19_x)))) 125355 func() int32 { 125356 if _19_x >= i32(0) { 125357 return i32(0) 125358 } 125359 return func() int32 { 125360 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereEndØ00__func__Ø000))), unsafe.Pointer(str(115876))) 125361 crt.X__builtin_abort(tls) 125362 return i32(0) 125363 }() 125364 }() 125365 _48: 125366 _19_x = int32(_sqlite3ColumnOfIndex(tls, _13_pIdx, int16(_19_x))) 125367 if _19_x < i32(0) { 125368 goto _51 125369 } 125370 125371 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(8 /* X4 */))) = _19_x 125372 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(4 /* X3 */))) = _pLevel.X2 125373 _51: 125374 func() int32 { 125375 if ((((_pLoop.X9) & uint32(i32(64))) == uint32(i32(0))) || (_19_x >= i32(0))) || ((_pWInfo.X13) != 0) { 125376 return i32(0) 125377 } 125378 return func() int32 { 125379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(134806), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereEndØ00__func__Ø000))), unsafe.Pointer(str(115884))) 125380 crt.X__builtin_abort(tls) 125381 return i32(0) 125382 }() 125383 }() 125384 goto _56 125385 125386 _45: 125387 if int32(_13_pOp.X0) != i32(123) { 125388 goto _57 125389 } 125390 125391 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(4 /* X3 */))) = _pLevel.X2 125392 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(129)) 125393 _57: 125394 _56: 125395 _41: 125396 *(*uintptr)(unsafe.Pointer(func() **XVdbeOp { _13_k += 1; return &_13_pOp }())) += uintptr(24) 125397 goto _40 125398 125399 _43: 125400 _39: 125401 _27: 125402 *(*uintptr)(unsafe.Pointer(func() **XWhereLevel { _i += 1; return &_pLevel }())) += uintptr(76) 125403 goto _26 125404 125405 _29: 125406 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(144 /* X42 */))) = uint32(_pWInfo.X8) 125407 _whereInfoFree(tls, _db, _pWInfo) 125408 return 125409 125410 } 125411 125412 var _sqlite3WhereEndØ00__func__Ø000 [16]int8 // - 125413 125414 func init() { 125415 crt.Xstrncpy(nil, &_sqlite3WhereEndØ00__func__Ø000[0], str(115952), 16) 125416 } 125417 125418 func _whereInfoFree(tls *crt.TLS, _db *Xsqlite3, _pWInfo *XWhereInfo) { // sqlite3.c:131684:1 125419 var _1_i int32 // sqlite3.c:131686:9 125420 _ = _1_i 125421 var _2_pLevel *XWhereLevel // sqlite3.c:131688:18 125422 _ = _2_pLevel 125423 var _4_p *XWhereLoop // sqlite3.c:131695:17 125424 _ = _4_p 125425 if func() int32 { 125426 if _pWInfo != nil { 125427 return i32(1) 125428 } 125429 return func() int32 { 125430 func() int32 { 125431 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(131685), unsafe.Pointer((*int8)(unsafe.Pointer(&_whereInfoFreeØ00__func__Ø000))), unsafe.Pointer(str(5204))) 125432 crt.X__builtin_abort(tls) 125433 return i32(0) 125434 }() 125435 return i32(0) 125436 }() 125437 }() == 0 { 125438 goto _2 125439 } 125440 125441 _1_i = i32(0) 125442 _3: 125443 if _1_i >= int32(_pWInfo.X10) { 125444 goto _6 125445 } 125446 125447 _2_pLevel = (*XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]XWhereLevel)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(740 /* X23 */))))) + 76*uintptr(_1_i))) 125448 if (*XWhereLoop)(unsafe.Pointer(_2_pLevel.X18)) == nil || (((*XWhereLoop)(unsafe.Pointer(_2_pLevel.X18)).X9)&uint32(i32(2048))) == 0 { 125449 goto _8 125450 } 125451 125452 _sqlite3DbFree(tls, _db, (*XExprList)(unsafe.Pointer((*T8616654)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pLevel))+uintptr(56 /* X17 */))))).X1) 125453 _8: 125454 _1_i += 1 125455 goto _3 125456 125457 _6: 125458 _sqlite3WhereClauseClear(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(72 /* X21 */)))) 125459 _9: 125460 if (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)) == nil { 125461 goto _10 125462 } 125463 125464 _4_p = (*XWhereLoop)(unsafe.Pointer(_pWInfo.X18)) 125465 *(**XWhereLoop)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo)) + uintptr(56 /* X18 */))))) = (*XWhereLoop)(unsafe.Pointer(_4_p.X14)) 125466 _whereLoopDelete(tls, _db, _4_p) 125467 goto _9 125468 125469 _10: 125470 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pWInfo)) 125471 _2: 125472 return 125473 125474 } 125475 125476 var _whereInfoFreeØ00__func__Ø000 [14]int8 // - 125477 125478 func init() { 125479 crt.Xstrncpy(nil, &_whereInfoFreeØ00__func__Ø000[0], str(115968), 14) 125480 } 125481 125482 func _sqlite3WhereClauseClear(tls *crt.TLS, _pWC *XWhereClause) { // sqlite3.c:129721:1 125483 var _i int32 // sqlite3.c:129722:7 125484 _ = _i 125485 var _a *XWhereTerm // sqlite3.c:129723:13 125486 _ = _a 125487 var _db *Xsqlite3 // sqlite3.c:129724:11 125488 _ = _db 125489 _db = (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer((*XWhereInfo)(unsafe.Pointer(_pWC.X0)).X0)).X0)) 125490 *func() **XWhereTerm { _i = (_pWC.X3) - i32(1); return &_a }() = (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) 125491 _0: 125492 if _i < i32(0) { 125493 goto _3 125494 } 125495 125496 if (int32(_a.X3) & i32(1)) == 0 { 125497 goto _4 125498 } 125499 125500 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_a.X0))) 125501 _4: 125502 if (int32(_a.X3) & i32(16)) == 0 { 125503 goto _5 125504 } 125505 125506 _whereOrInfoDelete(tls, _db, (*XWhereOrInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + uintptr(28 /* X10 */)))))))) 125507 goto _6 125508 125509 _5: 125510 if (int32(_a.X3) & i32(32)) == 0 { 125511 goto _7 125512 } 125513 125514 _whereAndInfoDelete(tls, _db, (*XWhereAndInfo)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8616149)(unsafe.Pointer(uintptr((unsafe.Pointer)(_a)) + uintptr(28 /* X10 */)))))))) 125515 _7: 125516 _6: 125517 *(*uintptr)(unsafe.Pointer(func() **XWhereTerm { _i -= 1; return &_a }())) += uintptr(48) 125518 goto _0 125519 125520 _3: 125521 if (*XWhereTerm)(unsafe.Pointer(_pWC.X5)) == (*XWhereTerm)(unsafe.Pointer((*[8]XWhereTerm)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWC))+uintptr(24 /* X6 */))))) { 125522 goto _8 125523 } 125524 125525 _sqlite3DbFree(tls, _db, _pWC.X5) 125526 _8: 125527 return 125528 125529 } 125530 125531 func _whereOrInfoDelete(tls *crt.TLS, _db *Xsqlite3, _p *XWhereOrInfo) { // sqlite3.c:128406:1 125532 _sqlite3WhereClauseClear(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) 125533 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 125534 return 125535 125536 } 125537 125538 func _whereAndInfoDelete(tls *crt.TLS, _db *Xsqlite3, _p *XWhereAndInfo) { // sqlite3.c:128414:1 125539 _sqlite3WhereClauseClear(tls, (*XWhereClause)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */)))) 125540 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 125541 return 125542 125543 } 125544 125545 var _sqlite3WhereCodeOneLoopStartØ00aStepØ003 [2]uint8 // sqlite3.c:128258:21 125546 125547 func init() { 125548 _sqlite3WhereCodeOneLoopStartØ00aStepØ003 = [2]uint8{7, 6} 125549 } 125550 125551 var _sqlite3WhereCodeOneLoopStartØ00aStartØ004 [2]uint8 // sqlite3.c:128259:21 125552 125553 func init() { 125554 _sqlite3WhereCodeOneLoopStartØ00aStartØ004 = [2]uint8{58, 53} 125555 } 125556 125557 func _sqlite3WhereOutputRowCount(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int16) { // sqlite3.c:129868:1 125558 r0 = _pWInfo.X20 125559 return 125560 125561 } 125562 125563 func _sqlite3WhereIsDistinct(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129876:1 125564 r0 = int32(_pWInfo.X15) 125565 return 125566 125567 } 125568 125569 func _sqlite3WhereIsOrdered(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129884:1 125570 r0 = int32(_pWInfo.X11) 125571 return 125572 125573 } 125574 125575 func _sqlite3WhereOrderedInnerLoop(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129896:1 125576 r0 = int32(_pWInfo.X16) 125577 return 125578 125579 } 125580 125581 func _sqlite3WhereContinueLabel(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129904:1 125582 func() int32 { 125583 if (_pWInfo.X6) != i32(0) { 125584 return i32(0) 125585 } 125586 return func() int32 { 125587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(129905), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereContinueLabelØ00__func__Ø000))), unsafe.Pointer(str(115984))) 125588 crt.X__builtin_abort(tls) 125589 return i32(0) 125590 }() 125591 }() 125592 r0 = _pWInfo.X6 125593 return 125594 125595 } 125596 125597 var _sqlite3WhereContinueLabelØ00__func__Ø000 [26]int8 // - 125598 125599 func init() { 125600 crt.Xstrncpy(nil, &_sqlite3WhereContinueLabelØ00__func__Ø000[0], str(116008), 26) 125601 } 125602 125603 func _sqlite3WhereBreakLabel(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:129913:1 125604 r0 = _pWInfo.X7 125605 return 125606 125607 } 125608 125609 func _sqlite3ExprAnalyzeAggList(tls *crt.TLS, _pNC *XNameContext, _pList *XExprList) { // sqlite3.c:95772:1 125610 var _pItem *T7850641 // sqlite3.c:95773:24 125611 _ = _pItem 125612 var _i int32 // sqlite3.c:95774:7 125613 _ = _i 125614 if _pList == nil { 125615 goto _0 125616 } 125617 125618 *func() *int32 { _pItem = (*T7850641)(unsafe.Pointer(_pList.X1)); return &_i }() = i32(0) 125619 _1: 125620 if _i >= (_pList.X0) { 125621 goto _4 125622 } 125623 125624 _sqlite3ExprAnalyzeAggregates(tls, _pNC, (*XExpr)(unsafe.Pointer(_pItem.X0))) 125625 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 125626 goto _1 125627 125628 _4: 125629 _0: 125630 return 125631 125632 } 125633 125634 func _sqlite3ExprAnalyzeAggregates(tls *crt.TLS, _pNC *XNameContext, _pExpr *XExpr) { // sqlite3.c:95756:1 125635 var _w XWalker // sqlite3.c:95757:10 125636 _ = _w 125637 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 125638 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _analyzeAggregate 125639 *(*func(*crt.TLS, *XWalker, *XSelect) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(8 /* X2 */))))) = _analyzeAggregatesInSelect 125640 *(**XNameContext)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))))) = _pNC 125641 func() int32 { 125642 if (*XSrcList)(unsafe.Pointer(_pNC.X1)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 125643 return i32(0) 125644 } 125645 return func() int32 { 125646 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95762), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAnalyzeAggregatesØ00__func__Ø000))), unsafe.Pointer(str(99820))) 125647 crt.X__builtin_abort(tls) 125648 return i32(0) 125649 }() 125650 }() 125651 _sqlite3WalkExpr(tls, &_w, _pExpr) 125652 return 125653 125654 } 125655 125656 func _analyzeAggregate(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:95616:1 125657 var _i int32 // sqlite3.c:95617:7 125658 _ = _i 125659 var _pNC *XNameContext // sqlite3.c:95618:15 125660 _ = _pNC 125661 var _pParse *XParse // sqlite3.c:95619:9 125662 _ = _pParse 125663 var _pSrcList *XSrcList // sqlite3.c:95620:11 125664 _ = _pSrcList 125665 var _pAggInfo *XAggInfo // sqlite3.c:95621:11 125666 _ = _pAggInfo 125667 var _3_pItem *T7840217 // sqlite3.c:95631:29 125668 _ = _3_pItem 125669 var _4_pCol *T8444404 // sqlite3.c:95633:30 125670 _ = _4_pCol 125671 var _5_k int32 // sqlite3.c:95642:17 125672 _ = _5_k 125673 var _9_j int32 // sqlite3.c:95661:21 125674 _ = _9_j 125675 var _9_n int32 // sqlite3.c:95661:24 125676 _ = _9_n 125677 var _9_pGB *XExprList // sqlite3.c:95662:26 125678 _ = _9_pGB 125679 var _9_pTerm *T7850641 // sqlite3.c:95663:38 125680 _ = _9_pTerm 125681 var _10_pE *XExpr // sqlite3.c:95666:24 125682 _ = _10_pE 125683 var _14_pItem *XAutoincInfo // sqlite3.c:95700:29 125684 _ = _14_pItem 125685 var _17_enc uint8 // sqlite3.c:95709:14 125686 _ = _17_enc 125687 _pNC = (*XNameContext)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))) 125688 _pParse = (*XParse)(unsafe.Pointer(_pNC.X0)) 125689 _pSrcList = (*XSrcList)(unsafe.Pointer(_pNC.X1)) 125690 _pAggInfo = (*XAggInfo)(unsafe.Pointer(_pNC.X3)) 125691 switch int32(_pExpr.X0) { 125692 case i32(152): 125693 goto _2 125694 case i32(153): 125695 goto _3 125696 case i32(154): 125697 goto _1 125698 default: 125699 goto _4 125700 } 125701 125702 _1: 125703 _2: 125704 if func() int32 { 125705 if _pSrcList != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 125706 return i32(1) 125707 } 125708 return func() int32 { 125709 func() int32 { 125710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95630), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeAggregateØ00__func__Ø000))), unsafe.Pointer(str(5204))) 125711 crt.X__builtin_abort(tls) 125712 return i32(0) 125713 }() 125714 return i32(0) 125715 }() 125716 }() == 0 { 125717 goto _7 125718 } 125719 125720 _3_pItem = (*T7840217)(unsafe.Pointer((*[1]struct { 125721 X0 unsafe.Pointer 125722 X1 *int8 125723 X2 *int8 125724 X3 *int8 125725 X4 unsafe.Pointer 125726 X5 unsafe.Pointer 125727 X6 int32 125728 X7 int32 125729 X8 int32 125730 X9 struct { 125731 X0 uint8 125732 X1 int8 125733 } 125734 X10 uint8 125735 X11 int32 125736 X12 unsafe.Pointer 125737 X13 unsafe.Pointer 125738 X14 uint64 125739 X15 struct { 125740 X [0]struct { 125741 X0 *int8 125742 X1 unsafe.Pointer 125743 } 125744 U [4]byte 125745 } 125746 X16 unsafe.Pointer 125747 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrcList)) + uintptr(8 /* X2 */))))) 125748 _i = i32(0) 125749 _8: 125750 if _i >= (_pSrcList.X0) { 125751 goto _11 125752 } 125753 125754 func() int32 { 125755 if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { 125756 return i32(0) 125757 } 125758 return func() int32 { 125759 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95634), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeAggregateØ00__func__Ø000))), unsafe.Pointer(str(101452))) 125760 crt.X__builtin_abort(tls) 125761 return i32(0) 125762 }() 125763 }() 125764 if (_pExpr.X8) != (_3_pItem.X11) { 125765 goto _14 125766 } 125767 125768 _4_pCol = (*T8444404)(unsafe.Pointer(_pAggInfo.X8)) 125769 _5_k = i32(0) 125770 _15: 125771 if _5_k >= (_pAggInfo.X9) { 125772 goto _18 125773 } 125774 125775 if (_4_pCol.X1) != (_pExpr.X8) || (_4_pCol.X2) != int32(_pExpr.X9) { 125776 goto _20 125777 } 125778 125779 goto _18 125780 125781 _20: 125782 *(*uintptr)(unsafe.Pointer(func() **T8444404 { _5_k += 1; return &_4_pCol }())) += uintptr(24) 125783 goto _15 125784 125785 _18: 125786 if _5_k < (_pAggInfo.X9) || store961(&_5_k, _addAggInfoColumn(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pAggInfo)) < i32(0) { 125787 goto _22 125788 } 125789 125790 _4_pCol = (*T8444404)(unsafe.Pointer(uintptr(_pAggInfo.X8) + 24*uintptr(_5_k))) 125791 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(0 /* X0 */))))) = (*XTable)(unsafe.Pointer(_pExpr.X14)) 125792 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(4 /* X1 */))) = _pExpr.X8 125793 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(8 /* X2 */))) = int32(_pExpr.X9) 125794 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(16 /* X4 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 125795 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(12 /* X3 */))) = i32(-1) 125796 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(20 /* X5 */))))) = _pExpr 125797 if (*XExprList)(unsafe.Pointer(_pAggInfo.X7)) == nil { 125798 goto _23 125799 } 125800 125801 _9_pGB = (*XExprList)(unsafe.Pointer(_pAggInfo.X7)) 125802 _9_pTerm = (*T7850641)(unsafe.Pointer(_9_pGB.X1)) 125803 _9_n = _9_pGB.X0 125804 _9_j = i32(0) 125805 _24: 125806 if _9_j >= _9_n { 125807 goto _27 125808 } 125809 125810 _10_pE = (*XExpr)(unsafe.Pointer(_9_pTerm.X0)) 125811 if int32(_10_pE.X0) != i32(152) || (_10_pE.X8) != (_pExpr.X8) || int32(_10_pE.X9) != int32(_pExpr.X9) { 125812 goto _30 125813 } 125814 125815 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(12 /* X3 */))) = _9_j 125816 goto _27 125817 125818 _30: 125819 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _9_j += 1; return &_9_pTerm }())) += uintptr(20) 125820 goto _24 125821 125822 _27: 125823 _23: 125824 if (_4_pCol.X3) >= i32(0) { 125825 goto _31 125826 } 125827 125828 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCol)) + uintptr(12 /* X3 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAggInfo))+uintptr(12 /* X4 */))), int32(1)) 125829 _31: 125830 _22: 125831 { 125832 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 125833 *p = (*p) | uint32(i32(131072)) 125834 sink985 = *p 125835 } 125836 *(**XAggInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(40 /* X13 */))))) = _pAggInfo 125837 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(154)) 125838 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(34 /* X10 */))) = int16(_5_k) 125839 goto _11 125840 125841 _14: 125842 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_3_pItem }())) += uintptr(68) 125843 goto _8 125844 125845 _11: 125846 _7: 125847 r0 = i32(1) 125848 return 125849 125850 _3: 125851 if (int32(_pNC.X7)&i32(8)) != i32(0) || (_pWalker.X4) != int32(_pExpr.X12) { 125852 goto _33 125853 } 125854 125855 _14_pItem = (*XAutoincInfo)(unsafe.Pointer(_pAggInfo.X11)) 125856 _i = i32(0) 125857 _34: 125858 if _i >= (_pAggInfo.X12) { 125859 goto _37 125860 } 125861 125862 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_14_pItem.X0)), _pExpr, i32(-1)) != i32(0) { 125863 goto _38 125864 } 125865 125866 goto _37 125867 125868 _38: 125869 *(*uintptr)(unsafe.Pointer(func() **XAutoincInfo { _i += 1; return &_14_pItem }())) += uintptr(16) 125870 goto _34 125871 125872 _37: 125873 if _i < (_pAggInfo.X12) { 125874 goto _39 125875 } 125876 125877 _17_enc = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X14 125878 _i = _addAggInfoFunc(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pAggInfo) 125879 if _i < i32(0) { 125880 goto _40 125881 } 125882 125883 func() int32 { 125884 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 125885 return i32(0) 125886 } 125887 return func() int32 { 125888 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95712), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeAggregateØ00__func__Ø000))), unsafe.Pointer(str(45120))) 125889 crt.X__builtin_abort(tls) 125890 return i32(0) 125891 }() 125892 }() 125893 _14_pItem = (*XAutoincInfo)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 16*uintptr(_i))) 125894 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(0 /* X0 */))))) = _pExpr 125895 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(8 /* X2 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 125896 func() int32 { 125897 if ((_pExpr.X2) & uint32(i32(1024))) == uint32(i32(0)) { 125898 return i32(0) 125899 } 125900 return func() int32 { 125901 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95716), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeAggregateØ00__func__Ø000))), unsafe.Pointer(str(44848))) 125902 crt.X__builtin_abort(tls) 125903 return i32(0) 125904 }() 125905 }() 125906 *(**XFuncDef)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(4 /* X1 */))))) = _sqlite3FindFunction(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))), func() int32 { 125907 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) != nil { 125908 return ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))).X0) 125909 } 125910 return i32(0) 125911 }(), _17_enc, uint8(i32(0))) 125912 if ((_pExpr.X2) & uint32(i32(16))) == 0 { 125913 goto _47 125914 } 125915 125916 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(12 /* X3 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 125917 goto _48 125918 125919 _47: 125920 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pItem)) + uintptr(12 /* X3 */))) = i32(-1) 125921 _48: 125922 _40: 125923 _39: 125924 func() int32 { 125925 if ((_pExpr.X2) & uint32(i32(24576))) == uint32(i32(0)) { 125926 return i32(0) 125927 } 125928 return func() int32 { 125929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(95729), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeAggregateØ00__func__Ø000))), unsafe.Pointer(str(101452))) 125930 crt.X__builtin_abort(tls) 125931 return i32(0) 125932 }() 125933 }() 125934 { 125935 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 125936 *p = (*p) | uint32(i32(131072)) 125937 sink985 = *p 125938 } 125939 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(34 /* X10 */))) = int16(_i) 125940 *(**XAggInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(40 /* X13 */))))) = _pAggInfo 125941 r0 = i32(1) 125942 return 125943 125944 _33: 125945 r0 = i32(0) 125946 return 125947 125948 _4: 125949 r0 = i32(0) 125950 return 125951 125952 } 125953 125954 var _analyzeAggregateØ00__func__Ø000 [17]int8 // - 125955 125956 func init() { 125957 crt.Xstrncpy(nil, &_analyzeAggregateØ00__func__Ø000[0], str(116036), 17) 125958 } 125959 125960 func _addAggInfoColumn(tls *crt.TLS, _db *Xsqlite3, _pInfo *XAggInfo) (r0 int32) { // sqlite3.c:95583:1 125961 var _i int32 // sqlite3.c:95584:7 125962 _ = _i 125963 *(**T8444404)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(28 /* X8 */))))) = (*T8444404)(unsafe.Pointer(_sqlite3ArrayAllocate(tls, _db, _pInfo.X8, int32(u32(24)), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(32 /* X9 */))), &_i))) 125964 r0 = _i 125965 return 125966 125967 } 125968 125969 func _sqlite3ArrayAllocate(tls *crt.TLS, _db *Xsqlite3, _pArray unsafe.Pointer, _szEntry int32, _pnEntry *int32, _pIdx *int32) (r0 unsafe.Pointer) { // sqlite3.c:103015:1 125970 var _z *int8 // sqlite3.c:103022:8 125971 _ = _z 125972 var _n int32 // sqlite3.c:103023:7 125973 _ = _n 125974 var _1_sz int32 // sqlite3.c:103025:9 125975 _ = _1_sz 125976 var _1_pNew unsafe.Pointer // sqlite3.c:103026:10 125977 _ = _1_pNew 125978 _n = *_pnEntry 125979 if (_n & (_n - i32(1))) != i32(0) { 125980 goto _0 125981 } 125982 125983 _1_sz = func() int32 { 125984 if _n == i32(0) { 125985 return i32(1) 125986 } 125987 return (i32(2) * _n) 125988 }() 125989 _1_pNew = _sqlite3DbRealloc(tls, _db, _pArray, uint64(_1_sz*_szEntry)) 125990 if unsafe.Pointer(_1_pNew) != (unsafe.Pointer)(uintptr(i32(0))) { 125991 goto _3 125992 } 125993 125994 *_pIdx = i32(-1) 125995 r0 = _pArray 125996 return 125997 125998 _3: 125999 _pArray = _1_pNew 126000 _0: 126001 _z = (*int8)(unsafe.Pointer(_pArray)) 126002 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_n*_szEntry)))), i32(0), uint32(_szEntry)) 126003 *_pIdx = _n 126004 *_pnEntry += 1 126005 r0 = _pArray 126006 return 126007 126008 } 126009 126010 func _addAggInfoFunc(tls *crt.TLS, _db *Xsqlite3, _pInfo *XAggInfo) (r0 int32) { // sqlite3.c:95599:1 126011 var _i int32 // sqlite3.c:95600:7 126012 _ = _i 126013 *(**XAutoincInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo)) + uintptr(40 /* X11 */))))) = (*XAutoincInfo)(unsafe.Pointer(_sqlite3ArrayAllocate(tls, _db, _pInfo.X11, int32(u32(16)), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pInfo))+uintptr(44 /* X12 */))), &_i))) 126014 r0 = _i 126015 return 126016 126017 } 126018 126019 func _analyzeAggregatesInSelect(tls *crt.TLS, _pWalker *XWalker, _pSelect *XSelect) (r0 int32) { // sqlite3.c:95741:1 126020 126021 r0 = i32(0) 126022 return 126023 126024 } 126025 126026 var _sqlite3ExprAnalyzeAggregatesØ00__func__Ø000 [29]int8 // - 126027 126028 func init() { 126029 crt.Xstrncpy(nil, &_sqlite3ExprAnalyzeAggregatesØ00__func__Ø000[0], str(116056), 29) 126030 } 126031 126032 func _explainTempTable(tls *crt.TLS, _pParse *XParse, _zUsage *int8) { // sqlite3.c:117396:1 126033 var _1_v *XVdbe // sqlite3.c:117398:10 126034 _ = _1_v 126035 var _1_zMsg *int8 // sqlite3.c:117399:10 126036 _ = _1_zMsg 126037 if int32(_pParse.X54) != i32(2) { 126038 goto _0 126039 } 126040 126041 _1_v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 126042 _1_zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(116088), unsafe.Pointer(_zUsage)) 126043 _sqlite3VdbeAddOp4(tls, _1_v, i32(163), _pParse.X58, i32(0), i32(0), _1_zMsg, i32(-1)) 126044 _0: 126045 return 126046 126047 } 126048 126049 func _sqlite3WhereIsSorted(tls *crt.TLS, _pWInfo *XWhereInfo) (r0 int32) { // sqlite3.c:133600:1 126050 func() int32 { 126051 if (int32(_pWInfo.X9) & i32(64)) != 0 { 126052 return i32(0) 126053 } 126054 return func() int32 { 126055 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133601), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereIsSortedØ00__func__Ø000))), unsafe.Pointer(str(116112))) 126056 crt.X__builtin_abort(tls) 126057 return i32(0) 126058 }() 126059 }() 126060 func() int32 { 126061 if (int32(_pWInfo.X9) & i32(512)) != 0 { 126062 return i32(0) 126063 } 126064 return func() int32 { 126065 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(133602), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WhereIsSortedØ00__func__Ø000))), unsafe.Pointer(str(116148))) 126066 crt.X__builtin_abort(tls) 126067 return i32(0) 126068 }() 126069 }() 126070 r0 = int32(_pWInfo.X12) 126071 return 126072 126073 } 126074 126075 var _sqlite3WhereIsSortedØ00__func__Ø000 [21]int8 // - 126076 126077 func init() { 126078 crt.Xstrncpy(nil, &_sqlite3WhereIsSortedØ00__func__Ø000[0], str(116188), 21) 126079 } 126080 126081 func _updateAccumulator(tls *crt.TLS, _pParse *XParse, _pAggInfo *XAggInfo) { // sqlite3.c:120992:1 126082 var _v *XVdbe // sqlite3.c:120993:8 126083 _ = _v 126084 var _i int32 // sqlite3.c:120994:7 126085 _ = _i 126086 var _regHit int32 // sqlite3.c:120995:7 126087 _ = _regHit 126088 var _addrHitTest int32 // sqlite3.c:120996:7 126089 _ = _addrHitTest 126090 var _pF *XAutoincInfo // sqlite3.c:120997:23 126091 _ = _pF 126092 var _pC *T8444404 // sqlite3.c:120998:22 126093 _ = _pC 126094 var _1_nArg int32 // sqlite3.c:121002:9 126095 _ = _1_nArg 126096 var _1_addrNext int32 // sqlite3.c:121003:9 126097 _ = _1_addrNext 126098 var _1_regAgg int32 // sqlite3.c:121004:9 126099 _ = _1_regAgg 126100 var _1_pList *XExprList // sqlite3.c:121005:14 126101 _ = _1_pList 126102 var _5_pColl *XCollSeq // sqlite3.c:121022:15 126103 _ = _5_pColl 126104 var _5_pItem *T7850641 // sqlite3.c:121023:28 126105 _ = _5_pItem 126106 var _5_j int32 // sqlite3.c:121024:11 126107 _ = _5_j 126108 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 126109 _regHit = i32(0) 126110 _addrHitTest = i32(0) 126111 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAggInfo)) + uintptr(0 /* X0 */))) = uint8(i32(1)) 126112 *func() **XAutoincInfo { _i = i32(0); return &_pF }() = (*XAutoincInfo)(unsafe.Pointer(_pAggInfo.X11)) 126113 _0: 126114 if _i >= (_pAggInfo.X12) { 126115 goto _3 126116 } 126117 126118 _1_addrNext = i32(0) 126119 _1_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr(_pF.X0) + uintptr(20 /* X6 */))))))) 126120 func() int32 { 126121 if (((*XExpr)(unsafe.Pointer(_pF.X0)).X2) & uint32(i32(2048))) == uint32(i32(0)) { 126122 return i32(0) 126123 } 126124 return func() int32 { 126125 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121006), unsafe.Pointer((*int8)(unsafe.Pointer(&_updateAccumulatorØ00__func__Ø000))), unsafe.Pointer(str(116212))) 126126 crt.X__builtin_abort(tls) 126127 return i32(0) 126128 }() 126129 }() 126130 if _1_pList == nil { 126131 goto _6 126132 } 126133 126134 _1_nArg = _1_pList.X0 126135 _1_regAgg = _sqlite3GetTempRange(tls, _pParse, _1_nArg) 126136 _sqlite3ExprCodeExprList(tls, _pParse, _1_pList, _1_regAgg, i32(0), uint8(i32(1))) 126137 goto _7 126138 126139 _6: 126140 _1_nArg = i32(0) 126141 _1_regAgg = i32(0) 126142 _7: 126143 if (_pF.X3) < i32(0) { 126144 goto _8 126145 } 126146 126147 _1_addrNext = _sqlite3VdbeMakeLabel(tls, _v) 126148 _codeDistinct(tls, _pParse, _pF.X3, _1_addrNext, i32(1), _1_regAgg) 126149 _8: 126150 if (int32((*XFuncDef)(unsafe.Pointer(_pF.X1)).X1) & i32(32)) == 0 { 126151 goto _9 126152 } 126153 126154 _5_pColl = (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) 126155 func() int32 { 126156 if _1_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 126157 return i32(0) 126158 } 126159 return func() int32 { 126160 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(121025), unsafe.Pointer((*int8)(unsafe.Pointer(&_updateAccumulatorØ00__func__Ø000))), unsafe.Pointer(str(93528))) 126161 crt.X__builtin_abort(tls) 126162 return i32(0) 126163 }() 126164 }() 126165 *func() **T7850641 { _5_j = i32(0); return &_5_pItem }() = (*T7850641)(unsafe.Pointer(_1_pList.X1)) 126166 _12: 126167 if _5_pColl != nil || _5_j >= _1_nArg { 126168 goto _16 126169 } 126170 126171 _5_pColl = _sqlite3ExprCollSeq(tls, _pParse, (*XExpr)(unsafe.Pointer(_5_pItem.X0))) 126172 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _5_j += 1; return &_5_pItem }())) += uintptr(20) 126173 goto _12 126174 126175 _16: 126176 if _5_pColl != nil { 126177 goto _17 126178 } 126179 126180 _5_pColl = (*XCollSeq)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X2)) 126181 _17: 126182 if _regHit != i32(0) || (_pAggInfo.X10) == 0 { 126183 goto _19 126184 } 126185 126186 _regHit = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 126187 _19: 126188 _sqlite3VdbeAddOp4(tls, _v, i32(89), _regHit, i32(0), i32(0), (*int8)(unsafe.Pointer(_5_pColl)), i32(-3)) 126189 _9: 126190 _sqlite3VdbeAddOp3(tls, _v, i32(148), i32(0), _1_regAgg, _pF.X2) 126191 _sqlite3VdbeAppendP4(tls, _v, _pF.X1, i32(-4)) 126192 _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_1_nArg))) 126193 _sqlite3ExprCacheAffinityChange(tls, _pParse, _1_regAgg, _1_nArg) 126194 _sqlite3ReleaseTempRange(tls, _pParse, _1_regAgg, _1_nArg) 126195 if _1_addrNext == 0 { 126196 goto _20 126197 } 126198 126199 _sqlite3VdbeResolveLabel(tls, _v, _1_addrNext) 126200 _sqlite3ExprCacheClear(tls, _pParse) 126201 _20: 126202 *(*uintptr)(unsafe.Pointer(func() **XAutoincInfo { _i += 1; return &_pF }())) += uintptr(16) 126203 goto _0 126204 126205 _3: 126206 if _regHit == 0 { 126207 goto _21 126208 } 126209 126210 _addrHitTest = _sqlite3VdbeAddOp1(tls, _v, i32(21), _regHit) 126211 _21: 126212 _sqlite3ExprCacheClear(tls, _pParse) 126213 *func() **T8444404 { _i = i32(0); return &_pC }() = (*T8444404)(unsafe.Pointer(_pAggInfo.X8)) 126214 _22: 126215 if _i >= (_pAggInfo.X10) { 126216 goto _25 126217 } 126218 126219 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer(_pC.X5)), _pC.X4) 126220 *(*uintptr)(unsafe.Pointer(func() **T8444404 { _i += 1; return &_pC }())) += uintptr(24) 126221 goto _22 126222 126223 _25: 126224 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAggInfo)) + uintptr(0 /* X0 */))) = uint8(i32(0)) 126225 _sqlite3ExprCacheClear(tls, _pParse) 126226 if _addrHitTest == 0 { 126227 goto _26 126228 } 126229 126230 _sqlite3VdbeJumpHere(tls, _v, _addrHitTest) 126231 _26: 126232 return 126233 126234 } 126235 126236 var _updateAccumulatorØ00__func__Ø000 [18]int8 // - 126237 126238 func init() { 126239 crt.Xstrncpy(nil, &_updateAccumulatorØ00__func__Ø000[0], str(116256), 18) 126240 } 126241 126242 func _finalizeAggFunctions(tls *crt.TLS, _pParse *XParse, _pAggInfo *XAggInfo) { // sqlite3.c:120976:1 126243 var _v *XVdbe // sqlite3.c:120977:8 126244 _ = _v 126245 var _i int32 // sqlite3.c:120978:7 126246 _ = _i 126247 var _pF *XAutoincInfo // sqlite3.c:120979:23 126248 _ = _pF 126249 var _1_pList *XExprList // sqlite3.c:120981:14 126250 _ = _1_pList 126251 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 126252 *func() **XAutoincInfo { _i = i32(0); return &_pF }() = (*XAutoincInfo)(unsafe.Pointer(_pAggInfo.X11)) 126253 _0: 126254 if _i >= (_pAggInfo.X12) { 126255 goto _3 126256 } 126257 126258 _1_pList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr(_pF.X0) + uintptr(20 /* X6 */))))))) 126259 func() int32 { 126260 if (((*XExpr)(unsafe.Pointer(_pF.X0)).X2) & uint32(i32(2048))) == uint32(i32(0)) { 126261 return i32(0) 126262 } 126263 return func() int32 { 126264 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120982), unsafe.Pointer((*int8)(unsafe.Pointer(&_finalizeAggFunctionsØ00__func__Ø000))), unsafe.Pointer(str(116212))) 126265 crt.X__builtin_abort(tls) 126266 return i32(0) 126267 }() 126268 }() 126269 _sqlite3VdbeAddOp2(tls, _v, i32(150), _pF.X2, func() int32 { 126270 if _1_pList != nil { 126271 return (_1_pList.X0) 126272 } 126273 return i32(0) 126274 }()) 126275 _sqlite3VdbeAppendP4(tls, _v, _pF.X1, i32(-4)) 126276 *(*uintptr)(unsafe.Pointer(func() **XAutoincInfo { _i += 1; return &_pF }())) += uintptr(16) 126277 goto _0 126278 126279 _3: 126280 return 126281 126282 } 126283 126284 var _finalizeAggFunctionsØ00__func__Ø000 [21]int8 // - 126285 126286 func init() { 126287 crt.Xstrncpy(nil, &_finalizeAggFunctionsØ00__func__Ø000[0], str(116276), 21) 126288 } 126289 126290 func _resetAccumulator(tls *crt.TLS, _pParse *XParse, _pAggInfo *XAggInfo) { // sqlite3.c:120935:1 126291 var _v *XVdbe // sqlite3.c:120936:8 126292 _ = _v 126293 var _i int32 // sqlite3.c:120937:7 126294 _ = _i 126295 var _pFunc *XAutoincInfo // sqlite3.c:120938:23 126296 _ = _pFunc 126297 var _nReg int32 // sqlite3.c:120939:7 126298 _ = _nReg 126299 var _4_pE *XExpr // sqlite3.c:120957:12 126300 _ = _4_pE 126301 var _6_pKeyInfo *XKeyInfo // sqlite3.c:120964:17 126302 _ = _6_pKeyInfo 126303 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 126304 _nReg = (_pAggInfo.X12) + (_pAggInfo.X9) 126305 if _nReg != i32(0) { 126306 goto _0 126307 } 126308 126309 return 126310 126311 _0: 126312 func() int32 { 126313 if _nReg == (((_pAggInfo.X6) - (_pAggInfo.X5)) + i32(1)) { 126314 return i32(0) 126315 } 126316 return func() int32 { 126317 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120944), unsafe.Pointer((*int8)(unsafe.Pointer(&_resetAccumulatorØ00__func__Ø000))), unsafe.Pointer(str(116300))) 126318 crt.X__builtin_abort(tls) 126319 return i32(0) 126320 }() 126321 }() 126322 _i = i32(0) 126323 _3: 126324 if _i >= (_pAggInfo.X9) { 126325 goto _6 126326 } 126327 126328 func() int32 { 126329 if (((*T8444404)(unsafe.Pointer(uintptr(_pAggInfo.X8) + 24*uintptr(_i))).X4) >= (_pAggInfo.X5)) && (((*T8444404)(unsafe.Pointer(uintptr(_pAggInfo.X8) + 24*uintptr(_i))).X4) <= (_pAggInfo.X6)) { 126330 return i32(0) 126331 } 126332 return func() int32 { 126333 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120946), unsafe.Pointer((*int8)(unsafe.Pointer(&_resetAccumulatorØ00__func__Ø000))), unsafe.Pointer(str(116340))) 126334 crt.X__builtin_abort(tls) 126335 return i32(0) 126336 }() 126337 }() 126338 _i += 1 126339 goto _3 126340 126341 _6: 126342 _i = i32(0) 126343 _10: 126344 if _i >= (_pAggInfo.X12) { 126345 goto _13 126346 } 126347 126348 func() int32 { 126349 if (((*XAutoincInfo)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 16*uintptr(_i))).X2) >= (_pAggInfo.X5)) && (((*XAutoincInfo)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 16*uintptr(_i))).X2) <= (_pAggInfo.X6)) { 126350 return i32(0) 126351 } 126352 return func() int32 { 126353 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120950), unsafe.Pointer((*int8)(unsafe.Pointer(&_resetAccumulatorØ00__func__Ø000))), unsafe.Pointer(str(116424))) 126354 crt.X__builtin_abort(tls) 126355 return i32(0) 126356 }() 126357 }() 126358 _i += 1 126359 goto _10 126360 126361 _13: 126362 _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _pAggInfo.X5, _pAggInfo.X6) 126363 *func() *int32 { _pFunc = (*XAutoincInfo)(unsafe.Pointer(_pAggInfo.X11)); return &_i }() = i32(0) 126364 _17: 126365 if _i >= (_pAggInfo.X12) { 126366 goto _20 126367 } 126368 126369 if (_pFunc.X3) < i32(0) { 126370 goto _21 126371 } 126372 126373 _4_pE = (*XExpr)(unsafe.Pointer(_pFunc.X0)) 126374 func() int32 { 126375 if ((_4_pE.X2) & uint32(i32(2048))) == uint32(i32(0)) { 126376 return i32(0) 126377 } 126378 return func() int32 { 126379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120958), unsafe.Pointer((*int8)(unsafe.Pointer(&_resetAccumulatorØ00__func__Ø000))), unsafe.Pointer(str(116512))) 126380 crt.X__builtin_abort(tls) 126381 return i32(0) 126382 }() 126383 }() 126384 if (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pE)) + uintptr(20 /* X6 */))))))) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) && ((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pE)) + uintptr(20 /* X6 */))))))).X0) == i32(1) { 126385 goto _25 126386 } 126387 126388 _sqlite3ErrorMsg(tls, _pParse, str(116548)) 126389 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFunc)) + uintptr(12 /* X3 */))) = i32(-1) 126390 goto _26 126391 126392 _25: 126393 _6_pKeyInfo = _keyInfoFromExprList(tls, _pParse, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pE)) + uintptr(20 /* X6 */))))))), i32(0), i32(0)) 126394 _sqlite3VdbeAddOp4(tls, _v, i32(108), _pFunc.X3, i32(0), i32(0), (*int8)(unsafe.Pointer(_6_pKeyInfo)), i32(-5)) 126395 _26: 126396 _21: 126397 *(*uintptr)(unsafe.Pointer(func() **XAutoincInfo { _i += 1; return &_pFunc }())) += uintptr(16) 126398 goto _17 126399 126400 _20: 126401 return 126402 126403 } 126404 126405 var _resetAccumulatorØ00__func__Ø000 [17]int8 // - 126406 126407 func init() { 126408 crt.Xstrncpy(nil, &_resetAccumulatorØ00__func__Ø000[0], str(116600), 17) 126409 } 126410 126411 func _isSimpleCount(tls *crt.TLS, _p *XSelect, _pAggInfo *XAggInfo) (r0 *XTable) { // sqlite3.c:120164:1 126412 var _pTab *XTable // sqlite3.c:120165:9 126413 _ = _pTab 126414 var _pExpr *XExpr // sqlite3.c:120166:8 126415 _ = _pExpr 126416 func() int32 { 126417 if (*XExprList)(unsafe.Pointer(_p.X10)) == nil { 126418 return i32(0) 126419 } 126420 return func() int32 { 126421 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120168), unsafe.Pointer((*int8)(unsafe.Pointer(&_isSimpleCountØ00__func__Ø000))), unsafe.Pointer(str(116620))) 126422 crt.X__builtin_abort(tls) 126423 return i32(0) 126424 }() 126425 }() 126426 if (*XExpr)(unsafe.Pointer(_p.X9)) == nil && ((*XExprList)(unsafe.Pointer(_p.X0)).X0) == i32(1) && ((*XSrcList)(unsafe.Pointer(_p.X8)).X0) == i32(1) && (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 126427 X0 unsafe.Pointer 126428 X1 *int8 126429 X2 *int8 126430 X3 *int8 126431 X4 unsafe.Pointer 126432 X5 unsafe.Pointer 126433 X6 int32 126434 X7 int32 126435 X8 int32 126436 X9 struct { 126437 X0 uint8 126438 X1 int8 126439 } 126440 X10 uint8 126441 X11 int32 126442 X12 unsafe.Pointer 126443 X13 unsafe.Pointer 126444 X14 uint64 126445 X15 struct { 126446 X [0]struct { 126447 X0 *int8 126448 X1 unsafe.Pointer 126449 } 126450 U [4]byte 126451 } 126452 X16 unsafe.Pointer 126453 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X5)) == nil { 126454 goto _5 126455 } 126456 126457 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 126458 return 126459 126460 _5: 126461 _pTab = (*XTable)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 126462 X0 unsafe.Pointer 126463 X1 *int8 126464 X2 *int8 126465 X3 *int8 126466 X4 unsafe.Pointer 126467 X5 unsafe.Pointer 126468 X6 int32 126469 X7 int32 126470 X8 int32 126471 X9 struct { 126472 X0 uint8 126473 X1 int8 126474 } 126475 X10 uint8 126476 X11 int32 126477 X12 unsafe.Pointer 126478 X13 unsafe.Pointer 126479 X14 uint64 126480 X15 struct { 126481 X [0]struct { 126482 X0 *int8 126483 X1 unsafe.Pointer 126484 } 126485 U [4]byte 126486 } 126487 X16 unsafe.Pointer 126488 })(unsafe.Pointer(uintptr(_p.X8)+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X4)) 126489 _pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_p.X0)).X1) + 20*uintptr(i32(0)))).X0)) 126490 func() int32 { 126491 if ((_pTab != nil) && ((*XSelect)(unsafe.Pointer(_pTab.X3)) == nil)) && (_pExpr != nil) { 126492 return i32(0) 126493 } 126494 return func() int32 { 126495 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120177), unsafe.Pointer((*int8)(unsafe.Pointer(&_isSimpleCountØ00__func__Ø000))), unsafe.Pointer(str(116636))) 126496 crt.X__builtin_abort(tls) 126497 return i32(0) 126498 }() 126499 }() 126500 if (_pTab.X16) == 0 { 126501 goto _10 126502 } 126503 126504 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 126505 return 126506 126507 _10: 126508 if int32(_pExpr.X0) == i32(153) { 126509 goto _11 126510 } 126511 126512 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 126513 return 126514 126515 _11: 126516 if func() int32 { 126517 if (_pAggInfo.X12) == i32(0) { 126518 return func() int32 { 126519 func() int32 { 126520 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120181), unsafe.Pointer((*int8)(unsafe.Pointer(&_isSimpleCountØ00__func__Ø000))), unsafe.Pointer(str(5204))) 126521 crt.X__builtin_abort(tls) 126522 return i32(0) 126523 }() 126524 return i32(1) 126525 }() 126526 } 126527 return i32(0) 126528 }() == 0 { 126529 goto _14 126530 } 126531 126532 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 126533 return 126534 126535 _14: 126536 if (int32((*XFuncDef)(unsafe.Pointer((*XAutoincInfo)(unsafe.Pointer(uintptr(_pAggInfo.X11)+16*uintptr(i32(0)))).X1)).X1) & i32(256)) != i32(0) { 126537 goto _15 126538 } 126539 126540 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 126541 return 126542 126543 _15: 126544 if ((_pExpr.X2) & uint32(i32(16))) == 0 { 126545 goto _16 126546 } 126547 126548 r0 = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 126549 return 126550 126551 _16: 126552 r0 = _pTab 126553 return 126554 126555 } 126556 126557 var _isSimpleCountØ00__func__Ø000 [14]int8 // - 126558 126559 func init() { 126560 crt.Xstrncpy(nil, &_isSimpleCountØ00__func__Ø000[0], str(116668), 14) 126561 } 126562 126563 func _explainSimpleCount(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pIdx *XIndex) { // sqlite3.c:121075:1 126564 var _1_bCover int32 // sqlite3.c:121081:9 126565 _ = _1_bCover 126566 var _1_zEqp *int8 // sqlite3.c:121082:10 126567 _ = _1_zEqp 126568 if int32(_pParse.X54) != i32(2) { 126569 goto _0 126570 } 126571 126572 _1_bCover = bool2int((_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) && ((((_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) || (int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2)))) 126573 _1_zEqp = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(116684), unsafe.Pointer(_pTab.X0), unsafe.Pointer(func() *int8 { 126574 if _1_bCover != 0 { 126575 return str(116704) 126576 } 126577 return str(196) 126578 }()), unsafe.Pointer(func() *int8 { 126579 if _1_bCover != 0 { 126580 return (_pIdx.X0) 126581 } 126582 return str(196) 126583 }())) 126584 _sqlite3VdbeAddOp4(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), i32(163), _pParse.X58, i32(0), i32(0), _1_zEqp, i32(-1)) 126585 _0: 126586 return 126587 126588 } 126589 126590 func _minMaxQuery(tls *crt.TLS, _pAggInfo *XAggInfo, _ppMinMax **XExprList) (r0 uint8) { // sqlite3.c:120128:1 126591 var _eRet int32 // sqlite3.c:120129:7 126592 _ = _eRet 126593 var _1_pExpr *XExpr // sqlite3.c:120133:10 126594 _ = _1_pExpr 126595 var _1_pEList *XExprList // sqlite3.c:120134:14 126596 _ = _1_pEList 126597 var _2_zFunc *int8 // sqlite3.c:120138:18 126598 _ = _2_zFunc 126599 _eRet = i32(0) 126600 *_ppMinMax = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 126601 if (_pAggInfo.X12) != i32(1) { 126602 goto _0 126603 } 126604 126605 _1_pExpr = (*XExpr)(unsafe.Pointer((*XAutoincInfo)(unsafe.Pointer(uintptr(_pAggInfo.X11) + 16*uintptr(i32(0)))).X0)) 126606 _1_pEList = (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pExpr)) + uintptr(20 /* X6 */))))))) 126607 func() int32 { 126608 if int32(_1_pExpr.X0) == i32(153) { 126609 return i32(0) 126610 } 126611 return func() int32 { 126612 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120136), unsafe.Pointer((*int8)(unsafe.Pointer(&_minMaxQueryØ00__func__Ø000))), unsafe.Pointer(str(102276))) 126613 crt.X__builtin_abort(tls) 126614 return i32(0) 126615 }() 126616 }() 126617 if _1_pEList == nil || (_1_pEList.X0) != i32(1) || int32((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_1_pEList.X1)+20*uintptr(i32(0)))).X0)).X0) != i32(154) { 126618 goto _5 126619 } 126620 126621 _2_zFunc = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pExpr)) + uintptr(8 /* X3 */))))) 126622 if _sqlite3StrICmp(tls, _2_zFunc, str(7512)) != i32(0) { 126623 goto _6 126624 } 126625 126626 _eRet = i32(1) 126627 *_ppMinMax = _1_pEList 126628 goto _7 126629 126630 _6: 126631 if _sqlite3StrICmp(tls, _2_zFunc, str(7516)) != i32(0) { 126632 goto _8 126633 } 126634 126635 _eRet = i32(2) 126636 *_ppMinMax = _1_pEList 126637 _8: 126638 _7: 126639 _5: 126640 _0: 126641 func() int32 { 126642 if ((*_ppMinMax) == (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (((*_ppMinMax).X0) == i32(1)) { 126643 return i32(0) 126644 } 126645 return func() int32 { 126646 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(120149), unsafe.Pointer((*int8)(unsafe.Pointer(&_minMaxQueryØ00__func__Ø000))), unsafe.Pointer(str(116728))) 126647 crt.X__builtin_abort(tls) 126648 return i32(0) 126649 }() 126650 }() 126651 r0 = uint8(_eRet) 126652 return 126653 126654 } 126655 126656 var _minMaxQueryØ00__func__Ø000 [12]int8 // - 126657 126658 func init() { 126659 crt.Xstrncpy(nil, &_minMaxQueryØ00__func__Ø000[0], str(116768), 12) 126660 } 126661 126662 func _generateSortTail(tls *crt.TLS, _pParse *XParse, _p *XSelect, _pSort *XSortCtx, _nColumn int32, _pDest *XSelectDest) { // sqlite3.c:117462:1 126663 var _v *XVdbe // sqlite3.c:117469:8 126664 _ = _v 126665 var _addrBreak int32 // sqlite3.c:117470:7 126666 _ = _addrBreak 126667 var _addrContinue int32 // sqlite3.c:117471:7 126668 _ = _addrContinue 126669 var _addr int32 // sqlite3.c:117472:7 126670 _ = _addr 126671 var _addrOnce int32 // sqlite3.c:117473:7 126672 _ = _addrOnce 126673 var _iTab int32 // sqlite3.c:117474:7 126674 _ = _iTab 126675 var _pOrderBy *XExprList // sqlite3.c:117475:12 126676 _ = _pOrderBy 126677 var _eDest int32 // sqlite3.c:117476:7 126678 _ = _eDest 126679 var _iParm int32 // sqlite3.c:117477:7 126680 _ = _iParm 126681 var _regRow int32 // sqlite3.c:117478:7 126682 _ = _regRow 126683 var _regRowid int32 // sqlite3.c:117479:7 126684 _ = _regRowid 126685 var _iCol int32 // sqlite3.c:117480:7 126686 _ = _iCol 126687 var _nKey int32 // sqlite3.c:117481:7 126688 _ = _nKey 126689 var _iSortTab int32 // sqlite3.c:117482:7 126690 _ = _iSortTab 126691 var _nSortData int32 // sqlite3.c:117483:7 126692 _ = _nSortData 126693 var _i int32 // sqlite3.c:117484:7 126694 _ = _i 126695 var _bSeq int32 // sqlite3.c:117485:7 126696 _ = _bSeq 126697 var _aOutEx *T7850641 // sqlite3.c:117486:24 126698 _ = _aOutEx 126699 var _4_regSortOut int32 // sqlite3.c:117506:9 126700 _ = _4_regSortOut 126701 var _7_iRead int32 // sqlite3.c:117525:9 126702 _ = _7_iRead 126703 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 126704 _addrBreak = _pSort.X6 126705 _addrContinue = _sqlite3VdbeMakeLabel(tls, _v) 126706 _addrOnce = i32(0) 126707 _pOrderBy = (*XExprList)(unsafe.Pointer(_pSort.X0)) 126708 _eDest = int32(_pDest.X0) 126709 _iParm = _pDest.X2 126710 _aOutEx = (*T7850641)(unsafe.Pointer((*XExprList)(unsafe.Pointer(_p.X0)).X1)) 126711 func() int32 { 126712 if _addrBreak < i32(0) { 126713 return i32(0) 126714 } 126715 return func() int32 { 126716 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117488), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateSortTailØ00__func__Ø000))), unsafe.Pointer(str(116780))) 126717 crt.X__builtin_abort(tls) 126718 return i32(0) 126719 }() 126720 }() 126721 if (_pSort.X4) == 0 { 126722 goto _2 126723 } 126724 126725 _sqlite3VdbeAddOp2(tls, _v, i32(14), _pSort.X3, _pSort.X4) 126726 _sqlite3VdbeGoto(tls, _v, _addrBreak) 126727 _sqlite3VdbeResolveLabel(tls, _v, _pSort.X4) 126728 _2: 126729 _iTab = _pSort.X2 126730 if _eDest != i32(9) && _eDest != i32(13) && _eDest != i32(10) { 126731 goto _5 126732 } 126733 126734 _regRowid = i32(0) 126735 _regRow = _pDest.X3 126736 _nSortData = _nColumn 126737 goto _6 126738 126739 _5: 126740 _regRowid = _sqlite3GetTempReg(tls, _pParse) 126741 _regRow = _sqlite3GetTempRange(tls, _pParse, _nColumn) 126742 _nSortData = _nColumn 126743 _6: 126744 _nKey = (_pOrderBy.X0) - (_pSort.X1) 126745 if (int32(_pSort.X7) & i32(1)) == 0 { 126746 goto _7 126747 } 126748 126749 _4_regSortOut = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 126750 _iSortTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 126751 if (_pSort.X4) == 0 { 126752 goto _8 126753 } 126754 126755 _addrOnce = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 126756 _8: 126757 _sqlite3VdbeAddOp3(tls, _v, i32(111), _iSortTab, _4_regSortOut, (_nKey+i32(1))+_nSortData) 126758 if _addrOnce == 0 { 126759 goto _9 126760 } 126761 126762 _sqlite3VdbeJumpHere(tls, _v, _addrOnce) 126763 _9: 126764 _addr = i32(1) + _sqlite3VdbeAddOp2(tls, _v, i32(56), _iTab, _addrBreak) 126765 _codeOffset(tls, _v, _p.X5, _addrContinue) 126766 _sqlite3VdbeAddOp3(tls, _v, i32(121), _iTab, _4_regSortOut, _iSortTab) 126767 _bSeq = i32(0) 126768 goto _10 126769 126770 _7: 126771 _addr = i32(1) + _sqlite3VdbeAddOp2(tls, _v, i32(57), _iTab, _addrBreak) 126772 _codeOffset(tls, _v, _p.X5, _addrContinue) 126773 _iSortTab = _iTab 126774 _bSeq = i32(1) 126775 _10: 126776 *func() *int32 { _i = i32(0); return &_iCol }() = _nKey + _bSeq 126777 _11: 126778 if _i >= _nSortData { 126779 goto _14 126780 } 126781 126782 if ((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx))+20*uintptr(_i))))) + uintptr(16 /* X5 */))))).X0) == 0 { 126783 goto _15 126784 } 126785 126786 _7_iRead = int32((*T7820830)(unsafe.Pointer((*T7850606)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx))+20*uintptr(_i)))))+uintptr(16 /* X5 */))))).X0) - i32(1) 126787 goto _16 126788 126789 _15: 126790 _7_iRead = postInc961(&_iCol, int32(1)) 126791 _16: 126792 _sqlite3VdbeAddOp3(tls, _v, i32(98), _iSortTab, _7_iRead, _regRow+_i) 126793 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(func() *int8 { 126794 if ((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx)) + 20*uintptr(_i))).X1) != nil { 126795 return ((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx)) + 20*uintptr(_i))).X1) 126796 } 126797 return ((*T7850641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOutEx)) + 20*uintptr(_i))).X2) 126798 }())) 126799 _i += 1 126800 goto _11 126801 126802 _14: 126803 switch _eDest { 126804 case i32(10): 126805 goto _23 126806 case i32(11): 126807 goto _22 126808 case i32(12): 126809 goto _21 126810 case i32(14): 126811 goto _20 126812 default: 126813 goto _24 126814 } 126815 126816 _20: 126817 _21: 126818 _sqlite3VdbeAddOp2(tls, _v, i32(115), _iParm, _regRowid) 126819 _sqlite3VdbeAddOp3(tls, _v, i32(116), _iParm, _regRow, _regRowid) 126820 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 126821 goto _25 126822 126823 _22: 126824 func() int32 { 126825 if _nColumn == _sqlite3Strlen30(tls, _pDest.X1) { 126826 return i32(0) 126827 } 126828 return func() int32 { 126829 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117544), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateSortTailØ00__func__Ø000))), unsafe.Pointer(str(116792))) 126830 crt.X__builtin_abort(tls) 126831 return i32(0) 126832 }() 126833 }() 126834 _sqlite3VdbeAddOp4(tls, _v, i32(100), _regRow, _nColumn, _regRowid, _pDest.X1, _nColumn) 126835 _sqlite3ExprCacheAffinityChange(tls, _pParse, _regRow, _nColumn) 126836 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iParm, _regRowid, _regRow, _nColumn) 126837 goto _25 126838 126839 _23: 126840 goto _25 126841 126842 _24: 126843 func() int32 { 126844 if (_eDest == i32(9)) || (_eDest == i32(13)) { 126845 return i32(0) 126846 } 126847 return func() int32 { 126848 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(117557), unsafe.Pointer((*int8)(unsafe.Pointer(&_generateSortTailØ00__func__Ø000))), unsafe.Pointer(str(116836))) 126849 crt.X__builtin_abort(tls) 126850 return i32(0) 126851 }() 126852 }() 126853 if _eDest != i32(9) { 126854 goto _31 126855 } 126856 126857 _sqlite3VdbeAddOp2(tls, _v, i32(88), _pDest.X3, _nColumn) 126858 _sqlite3ExprCacheAffinityChange(tls, _pParse, _pDest.X3, _nColumn) 126859 goto _32 126860 126861 _31: 126862 _sqlite3VdbeAddOp1(tls, _v, i32(16), _pDest.X2) 126863 _32: 126864 goto _25 126865 126866 _25: 126867 if _regRowid == 0 { 126868 goto _33 126869 } 126870 126871 if _eDest != i32(11) { 126872 goto _34 126873 } 126874 126875 _sqlite3ReleaseTempRange(tls, _pParse, _regRow, _nColumn) 126876 goto _35 126877 126878 _34: 126879 _sqlite3ReleaseTempReg(tls, _pParse, _regRow) 126880 _35: 126881 _sqlite3ReleaseTempReg(tls, _pParse, _regRowid) 126882 _33: 126883 _sqlite3VdbeResolveLabel(tls, _v, _addrContinue) 126884 if (int32(_pSort.X7) & i32(1)) == 0 { 126885 goto _36 126886 } 126887 126888 _sqlite3VdbeAddOp2(tls, _v, i32(3), _iTab, _addr) 126889 goto _37 126890 126891 _36: 126892 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iTab, _addr) 126893 _37: 126894 if (_pSort.X3) == 0 { 126895 goto _38 126896 } 126897 126898 _sqlite3VdbeAddOp1(tls, _v, i32(73), _pSort.X3) 126899 _38: 126900 _sqlite3VdbeResolveLabel(tls, _v, _addrBreak) 126901 return 126902 126903 } 126904 126905 var _generateSortTailØ00__func__Ø000 [17]int8 // - 126906 126907 func init() { 126908 crt.Xstrncpy(nil, &_generateSortTailØ00__func__Ø000[0], str(116880), 17) 126909 } 126910 126911 func _exprVectorRegister(tls *crt.TLS, _pParse *XParse, _pVector *XExpr, _iField int32, _regSelect int32, _ppExpr **XExpr, _pRegFree *int32) (r0 int32) { // sqlite3.c:91215:1 126912 var _op uint8 // sqlite3.c:91223:6 126913 _ = _op 126914 _op = _pVector.X0 126915 func() int32 { 126916 if ((int32(_op) == i32(158)) || (int32(_op) == i32(157))) || (int32(_op) == i32(119)) { 126917 return i32(0) 126918 } 126919 return func() int32 { 126920 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91224), unsafe.Pointer((*int8)(unsafe.Pointer(&_exprVectorRegisterØ00__func__Ø000))), unsafe.Pointer(str(116900))) 126921 crt.X__builtin_abort(tls) 126922 return i32(0) 126923 }() 126924 }() 126925 if int32(_op) != i32(157) { 126926 goto _4 126927 } 126928 126929 *_ppExpr = _sqlite3VectorFieldSubexpr(tls, _pVector, _iField) 126930 r0 = (_pVector.X8) + _iField 126931 return 126932 126933 _4: 126934 if int32(_op) != i32(119) { 126935 goto _5 126936 } 126937 126938 *_ppExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer((*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(20 /* X6 */))))))).X0)).X1) + 20*uintptr(_iField))).X0)) 126939 r0 = _regSelect + _iField 126940 return 126941 126942 _5: 126943 *_ppExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVector)) + uintptr(20 /* X6 */))))))).X1) + 20*uintptr(_iField))).X0)) 126944 r0 = _sqlite3ExprCodeTemp(tls, _pParse, *_ppExpr, _pRegFree) 126945 return 126946 126947 } 126948 126949 var _exprVectorRegisterØ00__func__Ø000 [19]int8 // - 126950 126951 func init() { 126952 crt.Xstrncpy(nil, &_exprVectorRegisterØ00__func__Ø000[0], str(116952), 19) 126953 } 126954 126955 func _sqlite3VtabOverloadFunction(tls *crt.TLS, _db *Xsqlite3, _pDef *XFuncDef, _nArg int32, _pExpr *XExpr) (r0 *XFuncDef) { // sqlite3.c:125560:1 126956 var _pTab *XTable // sqlite3.c:125566:9 126957 _ = _pTab 126958 var _pVtab *Xsqlite3_vtab // sqlite3.c:125567:16 126959 _ = _pVtab 126960 var _pMod *Xsqlite3_module // sqlite3.c:125568:18 126961 _ = _pMod 126962 var _xSFunc func(*crt.TLS, *Xsqlite3_context, int32, **XMem) // sqlite3.c:125569:8 126963 _ = _xSFunc 126964 var _pArg unsafe.Pointer // sqlite3.c:125570:8 126965 _ = _pArg 126966 var _pNew *XFuncDef // sqlite3.c:125571:11 126967 _ = _pNew 126968 var _rc int32 // sqlite3.c:125572:7 126969 _ = _rc 126970 var _zLowerName *int8 // sqlite3.c:125573:8 126971 _ = _zLowerName 126972 var _z *uint8 // sqlite3.c:125574:17 126973 _ = _z 126974 _xSFunc = nil 126975 _pArg = nil 126976 _rc = i32(0) 126977 if func() int32 { 126978 if _pExpr == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 126979 return func() int32 { 126980 func() int32 { 126981 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125578), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabOverloadFunctionØ00__func__Ø000))), unsafe.Pointer(str(5204))) 126982 crt.X__builtin_abort(tls) 126983 return i32(0) 126984 }() 126985 return i32(1) 126986 }() 126987 } 126988 return i32(0) 126989 }() == 0 { 126990 goto _2 126991 } 126992 126993 r0 = _pDef 126994 return 126995 126996 _2: 126997 if int32(_pExpr.X0) == i32(152) { 126998 goto _3 126999 } 127000 127001 r0 = _pDef 127002 return 127003 127004 _3: 127005 _pTab = (*XTable)(unsafe.Pointer(_pExpr.X14)) 127006 if func() int32 { 127007 if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 127008 return func() int32 { 127009 func() int32 { 127010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125581), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabOverloadFunctionØ00__func__Ø000))), unsafe.Pointer(str(5204))) 127011 crt.X__builtin_abort(tls) 127012 return i32(0) 127013 }() 127014 return i32(1) 127015 }() 127016 } 127017 return i32(0) 127018 }() == 0 { 127019 goto _6 127020 } 127021 127022 r0 = _pDef 127023 return 127024 127025 _6: 127026 if (_pTab.X16) != 0 { 127027 goto _7 127028 } 127029 127030 r0 = _pDef 127031 return 127032 127033 _7: 127034 _pVtab = (*Xsqlite3_vtab)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab).X2)) 127035 func() int32 { 127036 if _pVtab != (*Xsqlite3_vtab)(unsafe.Pointer(uintptr(i32(0)))) { 127037 return i32(0) 127038 } 127039 return func() int32 { 127040 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125584), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabOverloadFunctionØ00__func__Ø000))), unsafe.Pointer(str(116972))) 127041 crt.X__builtin_abort(tls) 127042 return i32(0) 127043 }() 127044 }() 127045 func() int32 { 127046 if (*Xsqlite3_module)(unsafe.Pointer(_pVtab.X0)) != (*Xsqlite3_module)(unsafe.Pointer(uintptr(i32(0)))) { 127047 return i32(0) 127048 } 127049 return func() int32 { 127050 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabOverloadFunctionØ00__func__Ø000))), unsafe.Pointer(str(116984))) 127051 crt.X__builtin_abort(tls) 127052 return i32(0) 127053 }() 127054 }() 127055 _pMod = (*Xsqlite3_module)(unsafe.Pointer(_pVtab.X0)) 127056 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 127057 f func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32 127058 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 127059 f func(*crt.TLS, unsafe.Pointer, int32, *int8, *func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), *unsafe.Pointer) int32 127060 }{(_pMod.X18)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 127061 f func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32 127062 }{nil})) { 127063 goto _12 127064 } 127065 127066 r0 = _pDef 127067 return 127068 127069 _12: 127070 _zLowerName = _sqlite3DbStrDup(tls, _db, _pDef.X6) 127071 if _zLowerName == nil { 127072 goto _13 127073 } 127074 127075 _z = (*uint8)(unsafe.Pointer(_zLowerName)) 127076 _14: 127077 if (*_z) == 0 { 127078 goto _17 127079 } 127080 127081 *_z = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(*_z))) 127082 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 127083 goto _14 127084 127085 _17: 127086 _rc = (*(*func(*crt.TLS, *Xsqlite3_vtab, int32, *int8, *func(*crt.TLS, *Xsqlite3_context, int32, **XMem), *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 127087 f func(*crt.TLS, unsafe.Pointer, int32, *int8, *func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), *unsafe.Pointer) int32 127088 }{(_pMod.X18)})))(tls, _pVtab, _nArg, _zLowerName, &_xSFunc, &_pArg) 127089 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zLowerName)) 127090 _13: 127091 if _rc != i32(0) { 127092 goto _18 127093 } 127094 127095 r0 = _pDef 127096 return 127097 127098 _18: 127099 _pNew = (*XFuncDef)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64((u32(28)+uint32(_sqlite3Strlen30(tls, _pDef.X6)))+uint32(i32(1)))))) 127100 if _pNew != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 127101 goto _19 127102 } 127103 127104 r0 = _pDef 127105 return 127106 127107 _19: 127108 *_pNew = *_pDef 127109 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X6 */))) = (*int8)(unsafe.Pointer((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 28*uintptr(i32(1)))))) 127110 crt.Xmemcpy(tls, (unsafe.Pointer)((*XFuncDef)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+28*uintptr(i32(1))))), (unsafe.Pointer)(_pDef.X6), uint32(_sqlite3Strlen30(tls, _pDef.X6)+i32(1))) 127111 *(*func(*crt.TLS, *Xsqlite3_context, int32, **XMem))(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X4 */))))) = _xSFunc 127112 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X2 */))) = _pArg 127113 { 127114 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(2 /* X1 */))) 127115 *p = uint16(int32(*p) | i32(16)) 127116 sink6908 = *p 127117 } 127118 r0 = _pNew 127119 return 127120 127121 } 127122 127123 var _sqlite3VtabOverloadFunctionØ00__func__Ø000 [28]int8 // - 127124 127125 func init() { 127126 crt.Xstrncpy(nil, &_sqlite3VtabOverloadFunctionØ00__func__Ø000[0], str(117004), 28) 127127 } 127128 127129 func _sqlite3MayAbort(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103586:1 127130 var _pToplevel *XParse // sqlite3.c:103587:9 127131 _ = _pToplevel 127132 _pToplevel = func() *XParse { 127133 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 127134 return (*XParse)(unsafe.Pointer(_pParse.X39)) 127135 } 127136 return _pParse 127137 }() 127138 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(21 /* X9 */))) = uint8(i32(1)) 127139 return 127140 127141 } 127142 127143 func _sqlite3HaltConstraint(tls *crt.TLS, _pParse *XParse, _errCode int32, _onError int32, _p4 *int8, _p4type int8, _p5Errmsg uint8) { // sqlite3.c:103596:1 127144 var _v *XVdbe // sqlite3.c:103604:8 127145 _ = _v 127146 _v = _sqlite3GetVdbe(tls, _pParse) 127147 func() int32 { 127148 if (_errCode & i32(255)) == i32(19) { 127149 return i32(0) 127150 } 127151 return func() int32 { 127152 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103605), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3HaltConstraintØ00__func__Ø000))), unsafe.Pointer(str(117032))) 127153 crt.X__builtin_abort(tls) 127154 return i32(0) 127155 }() 127156 }() 127157 if _onError != i32(2) { 127158 goto _2 127159 } 127160 127161 _sqlite3MayAbort(tls, _pParse) 127162 _2: 127163 _sqlite3VdbeAddOp4(tls, _v, i32(76), _errCode, _onError, i32(0), _p4, int32(_p4type)) 127164 _sqlite3VdbeChangeP5(tls, _v, uint16(_p5Errmsg)) 127165 return 127166 127167 } 127168 127169 var _sqlite3HaltConstraintØ00__func__Ø000 [22]int8 // - 127170 127171 func init() { 127172 crt.Xstrncpy(nil, &_sqlite3HaltConstraintØ00__func__Ø000[0], str(117068), 22) 127173 } 127174 127175 func _sqlite3VdbeMakeReady(tls *crt.TLS, _p *XVdbe, _pParse *XParse) { // sqlite3.c:73257:1 127176 var _db *Xsqlite3 // sqlite3.c:73261:11 127177 _ = _db 127178 var _nVar int32 // sqlite3.c:73262:7 127179 _ = _nVar 127180 var _nMem int32 // sqlite3.c:73263:7 127181 _ = _nMem 127182 var _nCursor int32 // sqlite3.c:73264:7 127183 _ = _nCursor 127184 var _nArg int32 // sqlite3.c:73265:7 127185 _ = _nArg 127186 var _n int32 // sqlite3.c:73266:7 127187 _ = _n 127188 var _x T8156174 // sqlite3.c:73267:24 127189 _ = _x 127190 func() int32 { 127191 if _p != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 127192 return i32(0) 127193 } 127194 return func() int32 { 127195 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73269), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(824))) 127196 crt.X__builtin_abort(tls) 127197 return i32(0) 127198 }() 127199 }() 127200 func() int32 { 127201 if (_p.X27) > i32(0) { 127202 return i32(0) 127203 } 127204 return func() int32 { 127205 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73270), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(43976))) 127206 crt.X__builtin_abort(tls) 127207 return i32(0) 127208 }() 127209 }() 127210 func() int32 { 127211 if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 127212 return i32(0) 127213 } 127214 return func() int32 { 127215 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73271), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(117092))) 127216 crt.X__builtin_abort(tls) 127217 return i32(0) 127218 }() 127219 }() 127220 func() int32 { 127221 if (_p.X5) == uint32(i32(381479589)) { 127222 return i32(0) 127223 } 127224 return func() int32 { 127225 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73272), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(39640))) 127226 crt.X__builtin_abort(tls) 127227 return i32(0) 127228 }() 127229 }() 127230 func() int32 { 127231 if _pParse == (*XParse)(unsafe.Pointer(_p.X3)) { 127232 return i32(0) 127233 } 127234 return func() int32 { 127235 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73273), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(117104))) 127236 crt.X__builtin_abort(tls) 127237 return i32(0) 127238 }() 127239 }() 127240 _db = (*Xsqlite3)(unsafe.Pointer(_p.X0)) 127241 func() int32 { 127242 if int32(_db.X17) == i32(0) { 127243 return i32(0) 127244 } 127245 return func() int32 { 127246 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73275), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(1232))) 127247 crt.X__builtin_abort(tls) 127248 return i32(0) 127249 }() 127250 }() 127251 _nVar = int32(_pParse.X52) 127252 _nMem = _pParse.X18 127253 _nCursor = _pParse.X17 127254 _nArg = _pParse.X33 127255 { 127256 p := &_nMem 127257 *p = (*p) + _nCursor 127258 sink961 = *p 127259 } 127260 if _nCursor != i32(0) || _nMem <= i32(0) { 127261 goto _13 127262 } 127263 127264 _nMem += 1 127265 _13: 127266 _n = int32(((u32(24) * uint32(_p.X27)) + uint32(i32(7))) & uint32(i32(-8))) 127267 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = (*uint8)(unsafe.Pointer(uintptr(_p.X17) + 1*uintptr(_n))) 127268 func() int32 { 127269 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_x.X0))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 127270 return i32(0) 127271 } 127272 return func() int32 { 127273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73295), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(117124))) 127274 crt.X__builtin_abort(tls) 127275 return i32(0) 127276 }() 127277 }() 127278 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(4 /* X1 */))) = ((_pParse.X20) - _n) & i32(-8) 127279 func() int32 { 127280 if (_x.X1) >= i32(0) { 127281 return i32(0) 127282 } 127283 return func() int32 { 127284 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73297), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(117156))) 127285 crt.X__builtin_abort(tls) 127286 return i32(0) 127287 }() 127288 }() 127289 func() int32 { 127290 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_x.X0))+1*uintptr(_x.X1)))))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 127291 return i32(0) 127292 } 127293 return func() int32 { 127294 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73298), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMakeReadyØ00__func__Ø000))), unsafe.Pointer(str(117168))) 127295 crt.X__builtin_abort(tls) 127296 return i32(0) 127297 }() 127298 }() 127299 _resolveP2Values(tls, _p, &_nArg) 127300 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(uint8(bool2int(((_pParse.X8) != 0) && ((_pParse.X9) != 0)))), 64, 6) 127301 if (_pParse.X54) == 0 || _nMem >= i32(10) { 127302 goto _22 127303 } 127304 127305 _nMem = i32(10) 127306 _22: 127307 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 1, 0) 127308 _23: 127309 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X2 */))) = i32(0) 127310 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(88 /* X18 */))))) = (*XMem)(unsafe.Pointer(_allocSpace(tls, &_x, _p.X18, int32(uint32(_nMem)*u32(48))))) 127311 *(**XMem)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(112 /* X24 */))))) = (*XMem)(unsafe.Pointer(_allocSpace(tls, &_x, _p.X24, int32(uint32(_nVar)*u32(48))))) 127312 *(***XMem)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(92 /* X19 */))))) = (**XMem)(unsafe.Pointer(_allocSpace(tls, &_x, (unsafe.Pointer)(_p.X19), int32(uint32(_nArg)*u32(4))))) 127313 *(***XVdbeCursor)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(108 /* X23 */))))) = (**XVdbeCursor)(unsafe.Pointer(_allocSpace(tls, &_x, (unsafe.Pointer)(_p.X23), int32(uint32(_nCursor)*u32(4))))) 127314 if (_x.X2) != i32(0) { 127315 goto _24 127316 } 127317 127318 goto _25 127319 127320 _24: 127321 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = (*uint8)(unsafe.Pointer(store1008((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(176 /* X37 */))), _sqlite3DbMallocRawNN(tls, _db, uint64(_x.X2))))) 127322 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(4 /* X1 */))) = _x.X2 127323 if (_db.X17) == 0 { 127324 goto _23 127325 } 127326 127327 _25: 127328 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(116 /* X25 */))) = _pParse.X60 127329 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(432 /* X60 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 127330 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(_pParse.X54), 12, 2) 127331 if (_db.X17) == 0 { 127332 goto _26 127333 } 127334 127335 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = int16(i32(0)) 127336 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = i32(0) 127337 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = i32(0) 127338 goto _27 127339 127340 _26: 127341 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = _nCursor 127342 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = int16(_nVar) 127343 _initMemArray(tls, (*XMem)(unsafe.Pointer(_p.X24)), _nVar, _db, uint16(i32(1))) 127344 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = _nMem 127345 _initMemArray(tls, (*XMem)(unsafe.Pointer(_p.X18)), _nMem, _db, uint16(i32(128))) 127346 crt.Xmemset(tls, (unsafe.Pointer)(_p.X23), i32(0), uint32(_nCursor)*u32(4)) 127347 _27: 127348 _sqlite3VdbeRewind(tls, _p) 127349 return 127350 127351 } 127352 127353 var _sqlite3VdbeMakeReadyØ00__func__Ø000 [21]int8 // - 127354 127355 func init() { 127356 crt.Xstrncpy(nil, &_sqlite3VdbeMakeReadyØ00__func__Ø000[0], str(117212), 21) 127357 } 127358 127359 func _resolveP2Values(tls *crt.TLS, _p *XVdbe, _pMaxFuncArgs *int32) { // sqlite3.c:71885:1 127360 var _nMaxArgs int32 // sqlite3.c:71886:7 127361 _ = _nMaxArgs 127362 var _pOp *XVdbeOp // sqlite3.c:71887:6 127363 _ = _pOp 127364 var _pParse *XParse // sqlite3.c:71888:9 127365 _ = _pParse 127366 var _aLabel *int32 // sqlite3.c:71889:7 127367 _ = _aLabel 127368 var _8_n int32 // sqlite3.c:71929:15 127369 _ = _8_n 127370 _nMaxArgs = *_pMaxFuncArgs 127371 _pParse = (*XParse)(unsafe.Pointer(_p.X3)) 127372 _aLabel = _pParse.X26 127373 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 128, 7) 127374 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 256, 8) 127375 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17) + 24*uintptr((_p.X27)-i32(1)))) 127376 _0: 127377 if int32(_pOp.X0) > i32(72) { 127378 goto _2 127379 } 127380 127381 switch int32(_pOp.X0) { 127382 case i32(0): 127383 goto _6 127384 case i32(1): 127385 goto _5 127386 case i32(2): 127387 goto _4 127388 case i32(3): 127389 goto _14 127390 case i32(4): 127391 goto _16 127392 case i32(5): 127393 goto _13 127394 case i32(6): 127395 goto _15 127396 case i32(7): 127397 goto _12 127398 case i32(8): 127399 goto _7 127400 case i32(9): 127401 goto _9 127402 case i32(10): 127403 goto _8 127404 case i32(11): 127405 goto _11 127406 case i32(12): 127407 goto _10 127408 default: 127409 goto _17 127410 } 127411 127412 _4: 127413 if (_pOp.X4) == i32(0) { 127414 goto _18 127415 } 127416 127417 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 128, 7) 127418 _18: 127419 _5: 127420 _6: 127421 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 256, 8) 127422 goto _17 127423 127424 _7: 127425 _8: 127426 _9: 127427 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 128, 7) 127428 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 256, 8) 127429 goto _17 127430 127431 _10: 127432 if (_pOp.X4) <= _nMaxArgs { 127433 goto _19 127434 } 127435 127436 _nMaxArgs = _pOp.X4 127437 _19: 127438 goto _17 127439 127440 _11: 127441 func() int32 { 127442 if int32((uintptr(unsafe.Pointer(_pOp))-uintptr(unsafe.Pointer((*XVdbeOp)(unsafe.Pointer(_p.X17)))))/24) >= i32(3) { 127443 return i32(0) 127444 } 127445 return func() int32 { 127446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71930), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveP2ValuesØ00__func__Ø000))), unsafe.Pointer(str(117236))) 127447 crt.X__builtin_abort(tls) 127448 return i32(0) 127449 }() 127450 }() 127451 func() int32 { 127452 if int32((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp))+24*uintptr(i32(-1)))).X0) == i32(77) { 127453 return i32(0) 127454 } 127455 return func() int32 { 127456 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71931), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveP2ValuesØ00__func__Ø000))), unsafe.Pointer(str(117256))) 127457 crt.X__builtin_abort(tls) 127458 return i32(0) 127459 }() 127460 }() 127461 _8_n = (*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + 24*uintptr(i32(-1)))).X3 127462 if _8_n <= _nMaxArgs { 127463 goto _24 127464 } 127465 127466 _nMaxArgs = _8_n 127467 _24: 127468 goto _17 127469 127470 _12: 127471 _13: 127472 _14: 127473 *(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _sqlite3BtreeNext 127474 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-14)) 127475 goto _17 127476 127477 _15: 127478 _16: 127479 *(*func(*crt.TLS, *XBtCursor, *int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) = _sqlite3BtreePrevious 127480 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(1 /* X1 */))) = int8(i32(-14)) 127481 goto _17 127482 127483 _17: 127484 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3OpcodeProperty)) + 1*uintptr(_pOp.X0))))&i32(1)) == i32(0) || (_pOp.X4) >= i32(0) { 127485 goto _26 127486 } 127487 127488 func() int32 { 127489 if (i32(-1) - (_pOp.X4)) < (_pParse.X25) { 127490 return i32(0) 127491 } 127492 return func() int32 { 127493 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71952), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveP2ValuesØ00__func__Ø000))), unsafe.Pointer(str(117284))) 127494 crt.X__builtin_abort(tls) 127495 return i32(0) 127496 }() 127497 }() 127498 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(8 /* X4 */))) = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLabel)) + 4*uintptr(i32(-1)-(_pOp.X4)))) 127499 _26: 127500 _2: 127501 if _pOp != (*XVdbeOp)(unsafe.Pointer(_p.X17)) { 127502 goto _29 127503 } 127504 127505 goto _1 127506 127507 _29: 127508 *(*uintptr)(unsafe.Pointer(&_pOp)) += uintptr(4294967272) 127509 goto _0 127510 127511 _1: 127512 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), (unsafe.Pointer)(_pParse.X26)) 127513 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(76 /* X26 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 127514 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(72 /* X25 */))) = i32(0) 127515 *_pMaxFuncArgs = _nMaxArgs 127516 func() int32 { 127517 if (int32((uint32((_p.X32)>>uint(i32(8)))<<uint(i32(31)))>>uint(i32(31))) != i32(0)) || ((_p.X33) == uint32(i32(0))) { 127518 return i32(0) 127519 } 127520 return func() int32 { 127521 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71963), unsafe.Pointer((*int8)(unsafe.Pointer(&_resolveP2ValuesØ00__func__Ø000))), unsafe.Pointer(str(117316))) 127522 crt.X__builtin_abort(tls) 127523 return i32(0) 127524 }() 127525 }() 127526 return 127527 127528 } 127529 127530 var _resolveP2ValuesØ00__func__Ø000 [16]int8 // - 127531 127532 func init() { 127533 crt.Xstrncpy(nil, &_resolveP2ValuesØ00__func__Ø000[0], str(117364), 16) 127534 } 127535 127536 func _allocSpace(tls *crt.TLS, _p *T8156174, _pBuf unsafe.Pointer, _nByte int32) (r0 unsafe.Pointer) { // sqlite3.c:73181:1 127537 func() int32 { 127538 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_p.X0))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 127539 return i32(0) 127540 } 127541 return func() int32 { 127542 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73186), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocSpaceØ00__func__Ø000))), unsafe.Pointer(str(117380))) 127543 crt.X__builtin_abort(tls) 127544 return i32(0) 127545 }() 127546 }() 127547 if unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { 127548 goto _2 127549 } 127550 127551 _nByte = (_nByte + i32(7)) & i32(-8) 127552 if _nByte > (_p.X1) { 127553 goto _3 127554 } 127555 127556 { 127557 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) 127558 *p = (*p) - _nByte 127559 sink961 = *p 127560 } 127561 _pBuf = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 1*uintptr(_p.X1)))) 127562 goto _4 127563 127564 _3: 127565 { 127566 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) 127567 *p = (*p) + _nByte 127568 sink961 = *p 127569 } 127570 _4: 127571 _2: 127572 func() int32 { 127573 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pBuf))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 127574 return i32(0) 127575 } 127576 return func() int32 { 127577 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(73196), unsafe.Pointer((*int8)(unsafe.Pointer(&_allocSpaceØ00__func__Ø000))), unsafe.Pointer(str(117412))) 127578 crt.X__builtin_abort(tls) 127579 return i32(0) 127580 }() 127581 }() 127582 r0 = _pBuf 127583 return 127584 127585 } 127586 127587 var _allocSpaceØ00__func__Ø000 [11]int8 // - 127588 127589 func init() { 127590 crt.Xstrncpy(nil, &_allocSpaceØ00__func__Ø000[0], str(117440), 11) 127591 } 127592 127593 func _sqlite3BeginTransaction(tls *crt.TLS, _pParse *XParse, _type int32) { // sqlite3.c:103393:1 127594 var _db *Xsqlite3 // sqlite3.c:103394:11 127595 _ = _db 127596 var _v *XVdbe // sqlite3.c:103395:8 127597 _ = _v 127598 var _i int32 // sqlite3.c:103396:7 127599 _ = _i 127600 func() int32 { 127601 if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 127602 return i32(0) 127603 } 127604 return func() int32 { 127605 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103398), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTransactionØ00__func__Ø000))), unsafe.Pointer(str(117092))) 127606 crt.X__builtin_abort(tls) 127607 return i32(0) 127608 }() 127609 }() 127610 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 127611 func() int32 { 127612 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 127613 return i32(0) 127614 } 127615 return func() int32 { 127616 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103400), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTransactionØ00__func__Ø000))), unsafe.Pointer(str(1184))) 127617 crt.X__builtin_abort(tls) 127618 return i32(0) 127619 }() 127620 }() 127621 if _sqlite3AuthCheck(tls, _pParse, i32(22), str(26068), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 127622 goto _4 127623 } 127624 127625 return 127626 127627 _4: 127628 _v = _sqlite3GetVdbe(tls, _pParse) 127629 if _v != nil { 127630 goto _5 127631 } 127632 127633 return 127634 127635 _5: 127636 if _type == i32(7) { 127637 goto _6 127638 } 127639 127640 _i = i32(0) 127641 _7: 127642 if _i >= (_db.X5) { 127643 goto _10 127644 } 127645 127646 _sqlite3VdbeAddOp2(tls, _v, i32(2), _i, bool2int(_type == i32(9))+i32(1)) 127647 _sqlite3VdbeUsesBtree(tls, _v, _i) 127648 _i += 1 127649 goto _7 127650 127651 _10: 127652 _6: 127653 _sqlite3VdbeAddOp0(tls, _v, i32(1)) 127654 return 127655 127656 } 127657 127658 var _sqlite3BeginTransactionØ00__func__Ø000 [24]int8 // - 127659 127660 func init() { 127661 crt.Xstrncpy(nil, &_sqlite3BeginTransactionØ00__func__Ø000[0], str(117452), 24) 127662 } 127663 127664 func _sqlite3CommitTransaction(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103418:1 127665 var _v *XVdbe // sqlite3.c:103419:8 127666 _ = _v 127667 func() int32 { 127668 if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 127669 return i32(0) 127670 } 127671 return func() int32 { 127672 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103421), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CommitTransactionØ00__func__Ø000))), unsafe.Pointer(str(117092))) 127673 crt.X__builtin_abort(tls) 127674 return i32(0) 127675 }() 127676 }() 127677 func() int32 { 127678 if (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 127679 return i32(0) 127680 } 127681 return func() int32 { 127682 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CommitTransactionØ00__func__Ø000))), unsafe.Pointer(str(117476))) 127683 crt.X__builtin_abort(tls) 127684 return i32(0) 127685 }() 127686 }() 127687 if _sqlite3AuthCheck(tls, _pParse, i32(22), str(26124), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 127688 goto _4 127689 } 127690 127691 return 127692 127693 _4: 127694 _v = _sqlite3GetVdbe(tls, _pParse) 127695 if _v == nil { 127696 goto _5 127697 } 127698 127699 _sqlite3VdbeAddOp1(tls, _v, i32(1), i32(1)) 127700 _5: 127701 return 127702 127703 } 127704 127705 var _sqlite3CommitTransactionØ00__func__Ø000 [25]int8 // - 127706 127707 func init() { 127708 crt.Xstrncpy(nil, &_sqlite3CommitTransactionØ00__func__Ø000[0], str(117492), 25) 127709 } 127710 127711 func _sqlite3RollbackTransaction(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103435:1 127712 var _v *XVdbe // sqlite3.c:103436:8 127713 _ = _v 127714 func() int32 { 127715 if _pParse != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 127716 return i32(0) 127717 } 127718 return func() int32 { 127719 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103438), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RollbackTransactionØ00__func__Ø000))), unsafe.Pointer(str(117092))) 127720 crt.X__builtin_abort(tls) 127721 return i32(0) 127722 }() 127723 }() 127724 func() int32 { 127725 if (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 127726 return i32(0) 127727 } 127728 return func() int32 { 127729 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103439), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RollbackTransactionØ00__func__Ø000))), unsafe.Pointer(str(117476))) 127730 crt.X__builtin_abort(tls) 127731 return i32(0) 127732 }() 127733 }() 127734 if _sqlite3AuthCheck(tls, _pParse, i32(22), str(26136), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 127735 goto _4 127736 } 127737 127738 return 127739 127740 _4: 127741 _v = _sqlite3GetVdbe(tls, _pParse) 127742 if _v == nil { 127743 goto _5 127744 } 127745 127746 _sqlite3VdbeAddOp2(tls, _v, i32(1), i32(1), i32(1)) 127747 _5: 127748 return 127749 127750 } 127751 127752 var _sqlite3RollbackTransactionØ00__func__Ø000 [27]int8 // - 127753 127754 func init() { 127755 crt.Xstrncpy(nil, &_sqlite3RollbackTransactionØ00__func__Ø000[0], str(117520), 27) 127756 } 127757 127758 func _sqlite3Savepoint(tls *crt.TLS, _pParse *XParse, _op int32, _pName *XToken) { // sqlite3.c:103453:1 127759 var _zName *int8 // sqlite3.c:103454:8 127760 _ = _zName 127761 var _1_v *XVdbe // sqlite3.c:103456:10 127762 _ = _1_v 127763 _zName = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName) 127764 if _zName == nil { 127765 goto _0 127766 } 127767 127768 _1_v = _sqlite3GetVdbe(tls, _pParse) 127769 i32(0) 127770 if _1_v != nil && _sqlite3AuthCheck(tls, _pParse, i32(32), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3SavepointØ00azØ001)) + 4*uintptr(_op))), _zName, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 127771 goto _2 127772 } 127773 127774 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_zName)) 127775 return 127776 127777 _2: 127778 _sqlite3VdbeAddOp4(tls, _1_v, i32(0), _op, i32(0), i32(0), _zName, i32(-1)) 127779 _0: 127780 return 127781 127782 } 127783 127784 var _sqlite3SavepointØ00azØ001 [3]*int8 // sqlite3.c:103458:23 127785 127786 func init() { 127787 _sqlite3SavepointØ00azØ001 = [3]*int8{str(26068), str(26160), str(26136)} 127788 } 127789 127790 func _sqlite3StartTable(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _isTemp int32, _isView int32, _isVirtual int32, _noErr int32) { // sqlite3.c:100293:1 127791 var _pTable *XTable // sqlite3.c:100302:9 127792 _ = _pTable 127793 var _zName *int8 // sqlite3.c:100303:8 127794 _ = _zName 127795 var _db *Xsqlite3 // sqlite3.c:100304:11 127796 _ = _db 127797 var _v *XVdbe // sqlite3.c:100305:8 127798 _ = _v 127799 var _iDb int32 // sqlite3.c:100306:7 127800 _ = _iDb 127801 var _pName *XToken // sqlite3.c:100307:9 127802 _ = _pName 127803 var _5_zDb *int8 // sqlite3.c:100343:10 127804 _ = _5_zDb 127805 var _8_zDb *int8 // sqlite3.c:100362:10 127806 _ = _8_zDb 127807 var _16_addr1 int32 // sqlite3.c:100417:9 127808 _ = _16_addr1 127809 var _16_fileFormat int32 // sqlite3.c:100418:9 127810 _ = _16_fileFormat 127811 var _16_reg1 int32 // sqlite3.c:100419:9 127812 _ = _16_reg1 127813 var _16_reg2 int32 // sqlite3.c:100419:15 127814 _ = _16_reg2 127815 var _16_reg3 int32 // sqlite3.c:100419:21 127816 _ = _16_reg3 127817 _zName = nil 127818 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 127819 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == 0 || ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X0) != i32(1) { 127820 goto _1 127821 } 127822 127823 _iDb = int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X1) 127824 _zName = _sqlite3DbStrDup(tls, _db, func() *int8 { 127825 if i32(1) != 0 && (_iDb == i32(1)) { 127826 return str(52796) 127827 } 127828 return str(52816) 127829 }()) 127830 _pName = _pName1 127831 goto _5 127832 127833 _1: 127834 _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) 127835 if _iDb >= i32(0) { 127836 goto _6 127837 } 127838 127839 return 127840 127841 _6: 127842 if i32(1) == 0 || _isTemp == 0 || (_pName2.X1) <= uint32(i32(0)) || _iDb == i32(1) { 127843 goto _10 127844 } 127845 127846 _sqlite3ErrorMsg(tls, _pParse, str(117548)) 127847 return 127848 127849 _10: 127850 if i32(1) == 0 || _isTemp == 0 { 127851 goto _12 127852 } 127853 127854 _iDb = i32(1) 127855 _12: 127856 _zName = _sqlite3NameFromToken(tls, _db, _pName) 127857 _5: 127858 *(*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(392 /* X50 */))) = *_pName 127859 if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 127860 goto _13 127861 } 127862 127863 return 127864 127865 _13: 127866 if i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { 127867 goto _14 127868 } 127869 127870 goto _begin_table_error 127871 127872 _14: 127873 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X1) != i32(1) { 127874 goto _15 127875 } 127876 127877 _isTemp = i32(1) 127878 _15: 127879 func() int32 { 127880 if (_isTemp == i32(0)) || (_isTemp == i32(1)) { 127881 return i32(0) 127882 } 127883 return func() int32 { 127884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100334), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(117592))) 127885 crt.X__builtin_abort(tls) 127886 return i32(0) 127887 }() 127888 }() 127889 func() int32 { 127890 if (_isView == i32(0)) || (_isView == i32(1)) { 127891 return i32(0) 127892 } 127893 return func() int32 { 127894 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100335), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(117616))) 127895 crt.X__builtin_abort(tls) 127896 return i32(0) 127897 }() 127898 }() 127899 _5_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 127900 if _sqlite3AuthCheck(tls, _pParse, i32(18), func() *int8 { 127901 if i32(1) != 0 && (_isTemp == i32(1)) { 127902 return str(52796) 127903 } 127904 return str(52816) 127905 }(), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _5_zDb) == 0 { 127906 goto _25 127907 } 127908 127909 goto _begin_table_error 127910 127911 _25: 127912 if _isVirtual != 0 || _sqlite3AuthCheck(tls, _pParse, int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3StartTableØ00aCodeØ001)) + 1*uintptr(_isTemp+(i32(2)*_isView))))), _zName, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _5_zDb) == 0 { 127913 goto _27 127914 } 127915 127916 goto _begin_table_error 127917 127918 _27: 127919 if (_pParse.X55) != 0 { 127920 goto _28 127921 } 127922 127923 _8_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 127924 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 127925 goto _29 127926 } 127927 127928 goto _begin_table_error 127929 127930 _29: 127931 _pTable = _sqlite3FindTable(tls, _db, _zName, _8_zDb) 127932 if _pTable == nil { 127933 goto _30 127934 } 127935 127936 if _noErr != 0 { 127937 goto _31 127938 } 127939 127940 _sqlite3ErrorMsg(tls, _pParse, str(117640), unsafe.Pointer(_pName)) 127941 goto _32 127942 127943 _31: 127944 func() int32 { 127945 if (((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0) || ((_sqlite3Config.X6) == i32(0)) { 127946 return i32(0) 127947 } 127948 return func() int32 { 127949 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100371), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(117664))) 127950 crt.X__builtin_abort(tls) 127951 return i32(0) 127952 }() 127953 }() 127954 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 127955 _32: 127956 goto _begin_table_error 127957 127958 _30: 127959 if _sqlite3FindIndex(tls, _db, _zName, _8_zDb) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 127960 goto _36 127961 } 127962 127963 _sqlite3ErrorMsg(tls, _pParse, str(117696), unsafe.Pointer(_zName)) 127964 goto _begin_table_error 127965 127966 _36: 127967 _28: 127968 _pTable = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80))))) 127969 if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 127970 goto _37 127971 } 127972 127973 func() int32 { 127974 if (_db.X17) != 0 { 127975 return i32(0) 127976 } 127977 return func() int32 { 127978 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100384), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(50476))) 127979 crt.X__builtin_abort(tls) 127980 return i32(0) 127981 }() 127982 }() 127983 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = _sqlite3NomemError(tls, i32(100385)) 127984 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X16 */))) += 1 127985 goto _begin_table_error 127986 127987 _37: 127988 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(0 /* X0 */))) = _zName 127989 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(40 /* X10 */))) = int16(i32(-1)) 127990 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(72 /* X20 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 127991 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 127992 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable)) + uintptr(44 /* X12 */))) = int16(i32(200)) 127993 func() int32 { 127994 if i32(200) == int32(_sqlite3LogEst(tls, uint64(i32(1048576)))) { 127995 return i32(0) 127996 } 127997 return func() int32 { 127998 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100393), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(50808))) 127999 crt.X__builtin_abort(tls) 128000 return i32(0) 128001 }() 128002 }() 128003 func() int32 { 128004 if (*XTable)(unsafe.Pointer(_pParse.X63)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 128005 return i32(0) 128006 } 128007 return func() int32 { 128008 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100394), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(25676))) 128009 crt.X__builtin_abort(tls) 128010 return i32(0) 128011 }() 128012 }() 128013 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(444 /* X63 */))))) = _pTable 128014 if (_pParse.X6) != 0 || crt.Xstrcmp(tls, _zName, str(117732)) != i32(0) { 128015 goto _45 128016 } 128017 128018 func() int32 { 128019 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 128020 return i32(0) 128021 } 128022 return func() int32 { 128023 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100403), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3StartTableØ00__func__Ø000))), unsafe.Pointer(str(54008))) 128024 crt.X__builtin_abort(tls) 128025 return i32(0) 128026 }() 128027 }() 128028 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pTable.X20) + uintptr(72 /* X6 */))))) = _pTable 128029 _45: 128030 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != 0 || store7766888(&_v, _sqlite3GetVdbe(tls, _pParse)) == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 128031 goto _49 128032 } 128033 128034 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 128035 if _isVirtual == 0 { 128036 goto _50 128037 } 128038 128039 _sqlite3VdbeAddOp0(tls, _v, i32(153)) 128040 _50: 128041 _16_reg1 = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(100 /* X31 */))), preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 128042 _16_reg2 = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(104 /* X32 */))), preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 128043 _16_reg3 = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 128044 _sqlite3VdbeAddOp3(tls, _v, i32(102), _iDb, _16_reg3, i32(2)) 128045 _sqlite3VdbeUsesBtree(tls, _v, _iDb) 128046 _16_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(21), _16_reg3) 128047 _16_fileFormat = func() int32 { 128048 if ((_db.X6) & i32(32768)) != i32(0) { 128049 return i32(1) 128050 } 128051 return i32(4) 128052 }() 128053 _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(2), _16_fileFormat) 128054 _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(5), int32(_db.X14)) 128055 _sqlite3VdbeJumpHere(tls, _v, _16_addr1) 128056 if _isView == 0 && _isVirtual == 0 { 128057 goto _54 128058 } 128059 128060 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _16_reg2) 128061 goto _55 128062 128063 _54: 128064 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(140 /* X41 */))) = _sqlite3VdbeAddOp2(tls, _v, i32(135), _iDb, _16_reg2) 128065 _55: 128066 _sqlite3OpenMasterTable(tls, _pParse, _iDb) 128067 _sqlite3VdbeAddOp2(tls, _v, i32(115), i32(0), _16_reg1) 128068 _sqlite3VdbeAddOp4(tls, _v, i32(82), i32(6), _16_reg3, i32(0), (*int8)(unsafe.Pointer(&_sqlite3StartTableØ00nullRowØ002)), i32(-2)) 128069 _sqlite3VdbeAddOp3(tls, _v, i32(116), i32(0), _16_reg3, _16_reg1) 128070 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 128071 _sqlite3VdbeAddOp0(tls, _v, i32(112)) 128072 _49: 128073 return 128074 128075 _begin_table_error: 128076 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) 128077 return 128078 128079 } 128080 128081 func _sqlite3TwoPartName(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _pUnqual **XToken) (r0 int32) { // sqlite3.c:100210:1 128082 var _iDb int32 // sqlite3.c:100216:7 128083 _ = _iDb 128084 var _db *Xsqlite3 // sqlite3.c:100217:11 128085 _ = _db 128086 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 128087 func() int32 { 128088 if _pName2 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 128089 return i32(0) 128090 } 128091 return func() int32 { 128092 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100219), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TwoPartNameØ00__func__Ø000))), unsafe.Pointer(str(117748))) 128093 crt.X__builtin_abort(tls) 128094 return i32(0) 128095 }() 128096 }() 128097 if (_pName2.X1) <= uint32(i32(0)) { 128098 goto _2 128099 } 128100 128101 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 128102 goto _3 128103 } 128104 128105 _sqlite3ErrorMsg(tls, _pParse, str(117760)) 128106 r0 = i32(-1) 128107 return 128108 128109 _3: 128110 *_pUnqual = _pName2 128111 _iDb = _sqlite3FindDb(tls, _db, _pName1) 128112 if _iDb >= i32(0) { 128113 goto _4 128114 } 128115 128116 _sqlite3ErrorMsg(tls, _pParse, str(117780), unsafe.Pointer(_pName1)) 128117 r0 = i32(-1) 128118 return 128119 128120 _4: 128121 goto _5 128122 128123 _2: 128124 func() int32 { 128125 if ((int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X1) == i32(0)) || (((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0)) || (((_db.X6) & i32(268435456)) != i32(0)) { 128126 return i32(0) 128127 } 128128 return func() int32 { 128129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100232), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TwoPartNameØ00__func__Ø000))), unsafe.Pointer(str(117800))) 128130 crt.X__builtin_abort(tls) 128131 return i32(0) 128132 }() 128133 }() 128134 _iDb = int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X1) 128135 *_pUnqual = _pName1 128136 _5: 128137 r0 = _iDb 128138 return 128139 128140 } 128141 128142 var _sqlite3TwoPartNameØ00__func__Ø000 [19]int8 // - 128143 128144 func init() { 128145 crt.Xstrncpy(nil, &_sqlite3TwoPartNameØ00__func__Ø000[0], str(117868), 19) 128146 } 128147 128148 func _sqlite3FindDb(tls *crt.TLS, _db *Xsqlite3, _pName *XToken) (r0 int32) { // sqlite3.c:100185:1 128149 var _i int32 // sqlite3.c:100186:7 128150 _ = _i 128151 var _zName *int8 // sqlite3.c:100187:8 128152 _ = _zName 128153 _zName = _sqlite3NameFromToken(tls, _db, _pName) 128154 _i = _sqlite3FindDbName(tls, _db, _zName) 128155 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) 128156 r0 = _i 128157 return 128158 128159 } 128160 128161 func _sqlite3CheckObjectName(tls *crt.TLS, _pParse *XParse, _zName *int8) (r0 int32) { // sqlite3.c:100246:1 128162 if ((*T7745808)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(144 /* X33 */))).X2) != 0 || int32(_pParse.X6) != i32(0) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(2048)) != i32(0) || i32(0) != Xsqlite3_strnicmp(tls, _zName, str(117888), i32(7)) { 128163 goto _3 128164 } 128165 128166 _sqlite3ErrorMsg(tls, _pParse, str(117896), unsafe.Pointer(_zName)) 128167 r0 = i32(1) 128168 return 128169 128170 _3: 128171 r0 = i32(0) 128172 return 128173 128174 } 128175 128176 var _sqlite3StartTableØ00__func__Ø000 [18]int8 // - 128177 128178 func init() { 128179 crt.Xstrncpy(nil, &_sqlite3StartTableØ00__func__Ø000[0], str(117940), 18) 128180 } 128181 128182 var _sqlite3StartTableØ00aCodeØ001 [4]uint8 // sqlite3.c:100337:21 128183 128184 func init() { 128185 _sqlite3StartTableØ00aCodeØ001 = [4]uint8{2, 4, 8, 6} 128186 } 128187 128188 func _sqlite3BeginWriteOperation(tls *crt.TLS, _pParse *XParse, _setStatement int32, _iDb int32) { // sqlite3.c:103551:1 128189 var _pToplevel *XParse // sqlite3.c:103552:9 128190 _ = _pToplevel 128191 _pToplevel = func() *XParse { 128192 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 128193 return (*XParse)(unsafe.Pointer(_pParse.X39)) 128194 } 128195 return _pParse 128196 }() 128197 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 128198 { 128199 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(92 /* X29 */))) 128200 *p = (*p) | (u32(1) << uint(_iDb)) 128201 sink985 = *p 128202 } 128203 { 128204 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(20 /* X8 */))) 128205 *p = uint8(int32(*p) | _setStatement) 128206 sink6915 = *p 128207 } 128208 return 128209 128210 } 128211 128212 func _sqlite3OpenMasterTable(tls *crt.TLS, _p *XParse, _iDb int32) { // sqlite3.c:100150:1 128213 var _v *XVdbe // sqlite3.c:100151:8 128214 _ = _v 128215 _v = _sqlite3GetVdbe(tls, _p) 128216 _sqlite3TableLock(tls, _p, _iDb, i32(1), uint8(i32(1)), str(52816)) 128217 _sqlite3VdbeAddOp4Int(tls, _v, i32(106), i32(0), i32(1), _iDb, i32(5)) 128218 if (_p.X17) != i32(0) { 128219 goto _0 128220 } 128221 128222 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X17 */))) = i32(1) 128223 _0: 128224 return 128225 128226 } 128227 128228 var _sqlite3StartTableØ00nullRowØ002 [6]int8 // sqlite3.c:100421:23 128229 128230 func init() { 128231 _sqlite3StartTableØ00nullRowØ002 = [6]int8{6, 0, 0, 0, 0, 0} 128232 } 128233 128234 func _disableLookaside(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:134914:1 128235 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(24 /* X12 */))) += 1 128236 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 128237 return 128238 128239 } 128240 128241 func _sqlite3EndTable(tls *crt.TLS, _pParse *XParse, _pCons *XToken, _pEnd *XToken, _tabOpts uint8, _pSelect *XSelect) { // sqlite3.c:101284:1 128242 var _p *XTable // sqlite3.c:101291:9 128243 _ = _p 128244 var _db *Xsqlite3 // sqlite3.c:101292:11 128245 _ = _db 128246 var _iDb int32 // sqlite3.c:101293:7 128247 _ = _iDb 128248 var _pIdx *XIndex // sqlite3.c:101294:9 128249 _ = _pIdx 128250 var _9_n int32 // sqlite3.c:101357:9 128251 _ = _9_n 128252 var _9_v *XVdbe // sqlite3.c:101358:10 128253 _ = _9_v 128254 var _9_zType *int8 // sqlite3.c:101359:10 128255 _ = _9_zType 128256 var _9_zType2 *int8 // sqlite3.c:101360:10 128257 _ = _9_zType2 128258 var _9_zStmt *int8 // sqlite3.c:101361:10 128259 _ = _9_zStmt 128260 var _12_dest XSelectDest // sqlite3.c:101397:18 128261 _ = _12_dest 128262 var _12_regYield int32 // sqlite3.c:101398:11 128263 _ = _12_regYield 128264 var _12_addrTop int32 // sqlite3.c:101399:11 128265 _ = _12_addrTop 128266 var _12_regRec int32 // sqlite3.c:101400:11 128267 _ = _12_regRec 128268 var _12_regRowid int32 // sqlite3.c:101401:11 128269 _ = _12_regRowid 128270 var _12_addrInsLoop int32 // sqlite3.c:101402:11 128271 _ = _12_addrInsLoop 128272 var _12_pSelTab *XTable // sqlite3.c:101403:13 128273 _ = _12_pSelTab 128274 var _14_pEnd2 *XToken // sqlite3.c:101443:13 128275 _ = _14_pEnd2 128276 var _15_pDb *XDb // sqlite3.c:101475:10 128277 _ = _15_pDb 128278 var _17_pOld *XTable // sqlite3.c:101495:11 128279 _ = _17_pOld 128280 var _17_pSchema *XSchema // sqlite3.c:101496:12 128281 _ = _17_pSchema 128282 var _19_zName *int8 // sqlite3.c:101509:18 128283 _ = _19_zName 128284 var _19_nName int32 // sqlite3.c:101510:11 128285 _ = _19_nName 128286 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 128287 if _pEnd != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) || _pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 128288 goto _1 128289 } 128290 128291 return 128292 128293 _1: 128294 func() int32 { 128295 if (_db.X17) == 0 { 128296 return i32(0) 128297 } 128298 return func() int32 { 128299 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101299), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(24884))) 128300 crt.X__builtin_abort(tls) 128301 return i32(0) 128302 }() 128303 }() 128304 _p = (*XTable)(unsafe.Pointer(_pParse.X63)) 128305 if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 128306 goto _4 128307 } 128308 128309 return 128310 128311 _4: 128312 func() int32 { 128313 if (((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0) || (_pSelect == nil) { 128314 return i32(0) 128315 } 128316 return func() int32 { 128317 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101303), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(117960))) 128318 crt.X__builtin_abort(tls) 128319 return i32(0) 128320 }() 128321 }() 128322 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 128323 goto _8 128324 } 128325 128326 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(28 /* X7 */))) = (*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X0 128327 if (_p.X7) != i32(1) { 128328 goto _9 128329 } 128330 128331 { 128332 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) 128333 *p = (*p) | uint32(i32(1)) 128334 sink985 = *p 128335 } 128336 _9: 128337 _8: 128338 if (int32(_tabOpts) & i32(32)) == 0 { 128339 goto _10 128340 } 128341 128342 if ((_p.X9) & uint32(i32(8))) == 0 { 128343 goto _11 128344 } 128345 128346 _sqlite3ErrorMsg(tls, _pParse, str(117988)) 128347 return 128348 128349 _11: 128350 if ((_p.X9) & uint32(i32(4))) != uint32(i32(0)) { 128351 goto _12 128352 } 128353 128354 _sqlite3ErrorMsg(tls, _pParse, str(118040), unsafe.Pointer(_p.X0)) 128355 goto _13 128356 128357 _12: 128358 { 128359 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) 128360 *p = (*p) | uint32(i32(96)) 128361 sink985 = *p 128362 } 128363 _convertToWithoutRowidTable(tls, _pParse, _p) 128364 _13: 128365 _10: 128366 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_p.X20))) 128367 if (*XExprList)(unsafe.Pointer(_p.X6)) == nil { 128368 goto _14 128369 } 128370 128371 _sqlite3ResolveSelfReference(tls, _pParse, _p, i32(4), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(_p.X6))) 128372 _14: 128373 _estimateTableWidth(tls, _p) 128374 _pIdx = (*XIndex)(unsafe.Pointer(_p.X2)) 128375 _15: 128376 if _pIdx == nil { 128377 goto _18 128378 } 128379 128380 _estimateIndexWidth(tls, _pIdx) 128381 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 128382 goto _15 128383 128384 _18: 128385 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 128386 goto _19 128387 } 128388 128389 _9_v = _sqlite3GetVdbe(tls, _pParse) 128390 if func() int32 { 128391 if _9_v == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 128392 return func() int32 { 128393 func() int32 { 128394 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101364), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(5204))) 128395 crt.X__builtin_abort(tls) 128396 return i32(0) 128397 }() 128398 return i32(1) 128399 }() 128400 } 128401 return i32(0) 128402 }() == 0 { 128403 goto _22 128404 } 128405 128406 return 128407 128408 _22: 128409 _sqlite3VdbeAddOp1(tls, _9_v, i32(112), i32(0)) 128410 if (*XSelect)(unsafe.Pointer(_p.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 128411 goto _23 128412 } 128413 128414 _9_zType = str(99088) 128415 _9_zType2 = str(26172) 128416 goto _24 128417 128418 _23: 128419 _9_zType = str(118072) 128420 _9_zType2 = str(26692) 128421 _24: 128422 if _pSelect == nil { 128423 goto _25 128424 } 128425 128426 _12_regYield = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 128427 _12_regRec = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 128428 _12_regRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 128429 func() int32 { 128430 if (_pParse.X17) == i32(1) { 128431 return i32(0) 128432 } 128433 return func() int32 { 128434 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101408), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(118080))) 128435 crt.X__builtin_abort(tls) 128436 return i32(0) 128437 }() 128438 }() 128439 _sqlite3MayAbort(tls, _pParse) 128440 _sqlite3VdbeAddOp3(tls, _9_v, i32(106), i32(1), _pParse.X32, _iDb) 128441 _sqlite3VdbeChangeP5(tls, _9_v, uint16(i32(16))) 128442 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = i32(2) 128443 _12_addrTop = _sqlite3VdbeCurrentAddr(tls, _9_v) + i32(1) 128444 _sqlite3VdbeAddOp3(tls, _9_v, i32(15), _12_regYield, i32(0), _12_addrTop) 128445 _sqlite3SelectDestInit(tls, &_12_dest, i32(13), _12_regYield) 128446 _sqlite3Select(tls, _pParse, _pSelect, &_12_dest) 128447 _sqlite3VdbeEndCoroutine(tls, _9_v, _12_regYield) 128448 _sqlite3VdbeJumpHere(tls, _9_v, _12_addrTop-i32(1)) 128449 if (_pParse.X16) == 0 { 128450 goto _28 128451 } 128452 128453 return 128454 128455 _28: 128456 _12_pSelTab = _sqlite3ResultSetOfSelect(tls, _pParse, _pSelect) 128457 if _12_pSelTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 128458 goto _29 128459 } 128460 128461 return 128462 128463 _29: 128464 func() int32 { 128465 if (*XColumn)(unsafe.Pointer(_p.X1)) == (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { 128466 return i32(0) 128467 } 128468 return func() int32 { 128469 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(118096))) 128470 crt.X__builtin_abort(tls) 128471 return i32(0) 128472 }() 128473 }() 128474 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X11 */))) = _12_pSelTab.X11 128475 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_12_pSelTab.X1)) 128476 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSelTab)) + uintptr(42 /* X11 */))) = int16(i32(0)) 128477 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSelTab)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 128478 _sqlite3DeleteTable(tls, _db, _12_pSelTab) 128479 _12_addrInsLoop = _sqlite3VdbeAddOp1(tls, _9_v, i32(16), _12_dest.X2) 128480 _sqlite3VdbeAddOp3(tls, _9_v, i32(100), _12_dest.X3, _12_dest.X4, _12_regRec) 128481 _sqlite3TableAffinity(tls, _9_v, _p, i32(0)) 128482 _sqlite3VdbeAddOp2(tls, _9_v, i32(115), i32(1), _12_regRowid) 128483 _sqlite3VdbeAddOp3(tls, _9_v, i32(116), i32(1), _12_regRec, _12_regRowid) 128484 _sqlite3VdbeGoto(tls, _9_v, _12_addrInsLoop) 128485 _sqlite3VdbeJumpHere(tls, _9_v, _12_addrInsLoop) 128486 _sqlite3VdbeAddOp1(tls, _9_v, i32(112), i32(1)) 128487 _25: 128488 if _pSelect == nil { 128489 goto _32 128490 } 128491 128492 _9_zStmt = _createTableStmt(tls, _db, _p) 128493 goto _33 128494 128495 _32: 128496 _14_pEnd2 = func() *XToken { 128497 if _tabOpts != 0 { 128498 return (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(400 /* X51 */))) 128499 } 128500 return _pEnd 128501 }() 128502 _9_n = int32((uintptr(unsafe.Pointer(_14_pEnd2.X0)) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))).X0))) / 1) 128503 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_pEnd2.X0)) + 1*uintptr(i32(0))))) == i32(59) { 128504 goto _36 128505 } 128506 128507 { 128508 p := &_9_n 128509 *p = int32(uint32(*p) + (_14_pEnd2.X1)) 128510 sink961 = *p 128511 } 128512 _36: 128513 _9_zStmt = _sqlite3MPrintf(tls, _db, str(118108), unsafe.Pointer(_9_zType2), _9_n, unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))).X0)) 128514 _33: 128515 _sqlite3NestedParse(tls, _pParse, str(118124), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_9_zType), unsafe.Pointer(_p.X0), unsafe.Pointer(_p.X0), _pParse.X32, unsafe.Pointer(_9_zStmt), _pParse.X31) 128516 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_9_zStmt)) 128517 _sqlite3ChangeCookie(tls, _pParse, _iDb) 128518 if ((_p.X9) & uint32(i32(8))) == uint32(i32(0)) { 128519 goto _37 128520 } 128521 128522 _15_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 128523 func() int32 { 128524 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 128525 return i32(0) 128526 } 128527 return func() int32 { 128528 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101476), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(54008))) 128529 crt.X__builtin_abort(tls) 128530 return i32(0) 128531 }() 128532 }() 128533 if (*XTable)(unsafe.Pointer((*XSchema)(unsafe.Pointer(_15_pDb.X4)).X6)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 128534 goto _40 128535 } 128536 128537 _sqlite3NestedParse(tls, _pParse, str(118212), unsafe.Pointer(_15_pDb.X0)) 128538 _40: 128539 _37: 128540 _sqlite3VdbeAddParseSchemaOp(tls, _9_v, _iDb, _sqlite3MPrintf(tls, _db, str(118256), unsafe.Pointer(_p.X0))) 128541 _19: 128542 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 128543 goto _41 128544 } 128545 128546 _17_pSchema = (*XSchema)(unsafe.Pointer(_p.X20)) 128547 func() int32 { 128548 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 128549 return i32(0) 128550 } 128551 return func() int32 { 128552 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101497), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(54008))) 128553 crt.X__builtin_abort(tls) 128554 return i32(0) 128555 }() 128556 }() 128557 _17_pOld = (*XTable)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_17_pSchema))+uintptr(8 /* X2 */))), _p.X0, (unsafe.Pointer)(_p)))) 128558 if _17_pOld == nil { 128559 goto _44 128560 } 128561 128562 func() int32 { 128563 if _p == _17_pOld { 128564 return i32(0) 128565 } 128566 return func() int32 { 128567 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101500), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(118292))) 128568 crt.X__builtin_abort(tls) 128569 return i32(0) 128570 }() 128571 }() 128572 _sqlite3OomFault(tls, _db) 128573 return 128574 128575 _44: 128576 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(444 /* X63 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 128577 { 128578 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 128579 *p = (*p) | i32(2) 128580 sink961 = *p 128581 } 128582 if (*XSelect)(unsafe.Pointer(_p.X3)) != nil { 128583 goto _47 128584 } 128585 128586 _19_zName = (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(392 /* X50 */))).X0 128587 func() int32 { 128588 if ((_pSelect == nil) && (_pCons != nil)) && (_pEnd != nil) { 128589 return i32(0) 128590 } 128591 return func() int32 { 128592 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101511), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3EndTableØ00__func__Ø000))), unsafe.Pointer(str(118300))) 128593 crt.X__builtin_abort(tls) 128594 return i32(0) 128595 }() 128596 }() 128597 if (_pCons.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 128598 goto _52 128599 } 128600 128601 _pCons = _pEnd 128602 _52: 128603 _19_nName = int32((uintptr(unsafe.Pointer(_pCons.X0)) - uintptr(unsafe.Pointer(_19_zName))) / 1) 128604 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(52 /* X15 */))) = i32(13) + _sqlite3Utf8CharLen(tls, _19_zName, _19_nName) 128605 _47: 128606 _41: 128607 return 128608 128609 } 128610 128611 var _sqlite3EndTableØ00__func__Ø000 [16]int8 // - 128612 128613 func init() { 128614 crt.Xstrncpy(nil, &_sqlite3EndTableØ00__func__Ø000[0], str(118328), 16) 128615 } 128616 128617 func _convertToWithoutRowidTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable) { // sqlite3.c:101137:1 128618 var _pIdx *XIndex // sqlite3.c:101138:9 128619 _ = _pIdx 128620 var _pPk *XIndex // sqlite3.c:101139:9 128621 _ = _pPk 128622 var _nPk int32 // sqlite3.c:101140:7 128623 _ = _nPk 128624 var _i int32 // sqlite3.c:101141:7 128625 _ = _i 128626 var _j int32 // sqlite3.c:101141:10 128627 _ = _j 128628 var _db *Xsqlite3 // sqlite3.c:101142:11 128629 _ = _db 128630 var _v *XVdbe // sqlite3.c:101143:8 128631 _ = _v 128632 var _5_pList *XExprList // sqlite3.c:101172:14 128633 _ = _5_pList 128634 var _5_ipkToken XToken // sqlite3.c:101173:11 128635 _ = _5_ipkToken 128636 var _11_n int32 // sqlite3.c:101223:9 128637 _ = _11_n 128638 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 128639 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 128640 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X4) != 0 { 128641 goto _0 128642 } 128643 128644 _i = i32(0) 128645 _1: 128646 if _i >= int32(_pTab.X11) { 128647 goto _4 128648 } 128649 128650 if (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X6) & i32(1)) == i32(0) { 128651 goto _5 128652 } 128653 128654 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))))) + uintptr(12 /* X3 */))) = uint8(i32(2)) 128655 _5: 128656 _i += 1 128657 goto _1 128658 128659 _4: 128660 _0: 128661 if (_pParse.X55) == 0 { 128662 goto _6 128663 } 128664 128665 return 128666 128667 _6: 128668 if (_pParse.X41) == 0 { 128669 goto _7 128670 } 128671 128672 func() int32 { 128673 if _v != nil { 128674 return i32(0) 128675 } 128676 return func() int32 { 128677 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101164), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(44132))) 128678 crt.X__builtin_abort(tls) 128679 return i32(0) 128680 }() 128681 }() 128682 _sqlite3VdbeChangeOpcode(tls, _v, uint32(_pParse.X41), uint8(i32(134))) 128683 _7: 128684 if int32(_pTab.X10) < i32(0) { 128685 goto _10 128686 } 128687 128688 _sqlite3TokenInit(tls, &_5_ipkToken, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_pTab.X10))).X0) 128689 _5_pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3ExprAlloc(tls, _db, i32(55), &_5_ipkToken, i32(0))) 128690 if _5_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 128691 goto _11 128692 } 128693 128694 return 128695 128696 _11: 128697 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_5_pList.X1)+20*uintptr(i32(0)))))) + uintptr(12 /* X3 */))) = _pParse.X53 128698 func() int32 { 128699 if (*XTable)(unsafe.Pointer(_pParse.X63)) == _pTab { 128700 return i32(0) 128701 } 128702 return func() int32 { 128703 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101179), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(118344))) 128704 crt.X__builtin_abort(tls) 128705 return i32(0) 128706 }() 128707 }() 128708 _sqlite3CreateIndex(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), _5_pList, int32(_pTab.X14), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(0), uint8(i32(2))) 128709 if (_db.X17) == 0 { 128710 goto _14 128711 } 128712 128713 return 128714 128715 _14: 128716 _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 128717 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(40 /* X10 */))) = int16(i32(-1)) 128718 goto _15 128719 128720 _10: 128721 _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 128722 if _v == nil { 128723 goto _16 128724 } 128725 128726 func() int32 { 128727 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == i32(0) { 128728 return i32(0) 128729 } 128730 return func() int32 { 128731 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101193), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(52676))) 128732 crt.X__builtin_abort(tls) 128733 return i32(0) 128734 }() 128735 }() 128736 _sqlite3VdbeChangeOpcode(tls, _v, uint32(_pPk.X11), uint8(i32(13))) 128737 _16: 128738 _i = store961(&_j, i32(1)) 128739 _19: 128740 if _i >= int32(_pPk.X13) { 128741 goto _22 128742 } 128743 128744 if _hasColumn(tls, _pPk.X1, _j, int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) == 0 { 128745 goto _23 128746 } 128747 128748 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(52 /* X14 */))) -= 1 128749 goto _24 128750 128751 _23: 128752 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(postInc961(&_j, int32(1))))) = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))) 128753 _24: 128754 _i += 1 128755 goto _19 128756 128757 _22: 128758 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(50 /* X13 */))) = uint16(_j) 128759 _15: 128760 func() int32 { 128761 if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 128762 return i32(0) 128763 } 128764 return func() int32 { 128765 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101211), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(44272))) 128766 crt.X__builtin_abort(tls) 128767 return i32(0) 128768 }() 128769 }() 128770 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk))+uintptr(55 /* X16 */))), int8(i32(1)), 32, 5) 128771 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X4) != 0 { 128772 goto _27 128773 } 128774 128775 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk))+uintptr(55 /* X16 */))), int8(i32(1)), 8, 3) 128776 _27: 128777 _nPk = int32(_pPk.X13) 128778 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(44 /* X11 */))) = _pTab.X7 128779 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 128780 _28: 128781 if _pIdx == nil { 128782 goto _31 128783 } 128784 128785 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) { 128786 goto _32 128787 } 128788 128789 goto _29 128790 128791 _32: 128792 _i = store961(&_11_n, i32(0)) 128793 _33: 128794 if _i >= _nPk { 128795 goto _36 128796 } 128797 128798 if _hasColumn(tls, _pIdx.X1, int32(_pIdx.X13), int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) != 0 { 128799 goto _37 128800 } 128801 128802 _11_n += 1 128803 _37: 128804 _i += 1 128805 goto _33 128806 128807 _36: 128808 if _11_n != i32(0) { 128809 goto _38 128810 } 128811 128812 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(52 /* X14 */))) = _pIdx.X13 128813 goto _29 128814 128815 _38: 128816 if _resizeIndexObject(tls, _db, _pIdx, int32(_pIdx.X13)+_11_n) == 0 { 128817 goto _39 128818 } 128819 128820 return 128821 128822 _39: 128823 *func() *int32 { _i = i32(0); return &_j }() = int32(_pIdx.X13) 128824 _40: 128825 if _i >= _nPk { 128826 goto _43 128827 } 128828 128829 if _hasColumn(tls, _pIdx.X1, int32(_pIdx.X13), int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) != 0 { 128830 goto _44 128831 } 128832 128833 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j))) = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))) 128834 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_j))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 4*uintptr(_i))) 128835 _j += 1 128836 _44: 128837 _i += 1 128838 goto _40 128839 128840 _43: 128841 func() int32 { 128842 if int32(_pIdx.X14) >= (int32(_pIdx.X13) + _11_n) { 128843 return i32(0) 128844 } 128845 return func() int32 { 128846 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101241), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(118368))) 128847 crt.X__builtin_abort(tls) 128848 return i32(0) 128849 }() 128850 }() 128851 func() int32 { 128852 if int32(_pIdx.X14) >= _j { 128853 return i32(0) 128854 } 128855 return func() int32 { 128856 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101242), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(118400))) 128857 crt.X__builtin_abort(tls) 128858 return i32(0) 128859 }() 128860 }() 128861 _29: 128862 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 128863 goto _28 128864 128865 _31: 128866 if _nPk >= int32(_pTab.X11) { 128867 goto _49 128868 } 128869 128870 if _resizeIndexObject(tls, _db, _pPk, int32(_pTab.X11)) == 0 { 128871 goto _50 128872 } 128873 128874 return 128875 128876 _50: 128877 *func() *int32 { _i = i32(0); return &_j }() = _nPk 128878 _51: 128879 if _i >= int32(_pTab.X11) { 128880 goto _54 128881 } 128882 128883 if _hasColumn(tls, _pPk.X1, _j, _i) != 0 { 128884 goto _55 128885 } 128886 128887 func() int32 { 128888 if _j < int32(_pPk.X14) { 128889 return i32(0) 128890 } 128891 return func() int32 { 128892 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101251), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(118420))) 128893 crt.X__builtin_abort(tls) 128894 return i32(0) 128895 }() 128896 }() 128897 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_j))) = int16(_i) 128898 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 4*uintptr(_j))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 128899 _j += 1 128900 _55: 128901 _i += 1 128902 goto _51 128903 128904 _54: 128905 func() int32 { 128906 if int32(_pPk.X14) == _j { 128907 return i32(0) 128908 } 128909 return func() int32 { 128910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101257), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(118436))) 128911 crt.X__builtin_abort(tls) 128912 return i32(0) 128913 }() 128914 }() 128915 func() int32 { 128916 if int32(_pTab.X11) == _j { 128917 return i32(0) 128918 } 128919 return func() int32 { 128920 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101258), unsafe.Pointer((*int8)(unsafe.Pointer(&_convertToWithoutRowidTableØ00__func__Ø000))), unsafe.Pointer(str(118452))) 128921 crt.X__builtin_abort(tls) 128922 return i32(0) 128923 }() 128924 }() 128925 goto _62 128926 128927 _49: 128928 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk)) + uintptr(52 /* X14 */))) = uint16(_pTab.X11) 128929 _62: 128930 return 128931 128932 } 128933 128934 var _convertToWithoutRowidTableØ00__func__Ø000 [27]int8 // - 128935 128936 func init() { 128937 crt.Xstrncpy(nil, &_convertToWithoutRowidTableØ00__func__Ø000[0], str(118468), 27) 128938 } 128939 128940 func _sqlite3CreateIndex(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _pTblName *XSrcList, _pList *XExprList, _onError int32, _pStart *XToken, _pPIWhere *XExpr, _sortOrder int32, _ifNotExist int32, _idxType uint8) { // sqlite3.c:102344:1 128941 var _pTab *XTable // sqlite3.c:102357:9 128942 _ = _pTab 128943 var _pIndex *XIndex // sqlite3.c:102358:9 128944 _ = _pIndex 128945 var _zName *int8 // sqlite3.c:102359:8 128946 _ = _zName 128947 var _nName int32 // sqlite3.c:102360:7 128948 _ = _nName 128949 var _i int32 // sqlite3.c:102361:7 128950 _ = _i 128951 var _j int32 // sqlite3.c:102361:10 128952 _ = _j 128953 var _sFix XDbFixer // sqlite3.c:102362:11 128954 _ = _sFix 128955 var _sortOrderMask int32 // sqlite3.c:102363:7 128956 _ = _sortOrderMask 128957 var _db *Xsqlite3 // sqlite3.c:102364:11 128958 _ = _db 128959 var _pDb *XDb // sqlite3.c:102365:6 128960 _ = _pDb 128961 var _iDb int32 // sqlite3.c:102366:7 128962 _ = _iDb 128963 var _pName *XToken // sqlite3.c:102367:9 128964 _ = _pName 128965 var _pListItem *T7850641 // sqlite3.c:102368:24 128966 _ = _pListItem 128967 var _nExtra int32 // sqlite3.c:102369:7 128968 _ = _nExtra 128969 var _nExtraCol int32 // sqlite3.c:102370:7 128970 _ = _nExtraCol 128971 var _zExtra *int8 // sqlite3.c:102371:8 128972 _ = _zExtra 128973 var _pPk *XIndex // sqlite3.c:102372:9 128974 _ = _pPk 128975 var _20_n int32 // sqlite3.c:102496:9 128976 _ = _20_n 128977 var _20_pLoop *XIndex // sqlite3.c:102497:11 128978 _ = _20_pLoop 128979 var _23_zDb *int8 // sqlite3.c:102516:16 128980 _ = _23_zDb 128981 var _26_prevCol XToken // sqlite3.c:102533:11 128982 _ = _26_prevCol 128983 var _28_pExpr *XExpr // sqlite3.c:102548:10 128984 _ = _28_pExpr 128985 var _34_pCExpr *XExpr // sqlite3.c:102601:10 128986 _ = _34_pCExpr 128987 var _34_requestedSortOrder int32 // sqlite3.c:102602:9 128988 _ = _34_requestedSortOrder 128989 var _34_zColl *int8 // sqlite3.c:102603:16 128990 _ = _34_zColl 128991 var _37_pCopy *XExprList // sqlite3.c:102616:18 128992 _ = _37_pCopy 128993 var _42_nColl int32 // sqlite3.c:102638:11 128994 _ = _42_nColl 128995 var _46_x int32 // sqlite3.c:102664:11 128996 _ = _46_x 128997 var _52_pIdx *XIndex // sqlite3.c:102719:11 128998 _ = _52_pIdx 128999 var _53_k int32 // sqlite3.c:102721:11 129000 _ = _53_k 129001 var _54_z1 *int8 // sqlite3.c:102728:20 129002 _ = _54_z1 129003 var _54_z2 *int8 // sqlite3.c:102729:20 129004 _ = _54_z2 129005 var _59_p *XIndex // sqlite3.c:102764:11 129006 _ = _59_p 129007 var _62_v *XVdbe // sqlite3.c:102794:10 129008 _ = _62_v 129009 var _62_zStmt *int8 // sqlite3.c:102795:10 129010 _ = _62_zStmt 129011 var _62_iMem int32 // sqlite3.c:102796:9 129012 _ = _62_iMem 129013 var _63_n int32 // sqlite3.c:102816:11 129014 _ = _63_n 129015 var _68_pOther *XIndex // sqlite3.c:102865:13 129016 _ = _68_pOther 129017 _pTab = nil 129018 _pIndex = nil 129019 _zName = nil 129020 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 129021 _pName = nil 129022 _nExtra = i32(0) 129023 _zExtra = nil 129024 _pPk = nil 129025 if (_db.X17) == 0 && (_pParse.X16) <= i32(0) { 129026 goto _1 129027 } 129028 129029 goto _exit_create_index 129030 129031 _1: 129032 if (_pParse.X55) == 0 || int32(_idxType) == i32(2) { 129033 goto _3 129034 } 129035 129036 goto _exit_create_index 129037 129038 _3: 129039 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 129040 goto _4 129041 } 129042 129043 goto _exit_create_index 129044 129045 _4: 129046 if _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 129047 goto _5 129048 } 129049 129050 func() int32 { 129051 if (_pName1 != nil) && (_pName2 != nil) { 129052 return i32(0) 129053 } 129054 return func() int32 { 129055 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102393), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118496))) 129056 crt.X__builtin_abort(tls) 129057 return i32(0) 129058 }() 129059 }() 129060 _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) 129061 if _iDb >= i32(0) { 129062 goto _9 129063 } 129064 129065 goto _exit_create_index 129066 129067 _9: 129068 func() int32 { 129069 if (_pName != nil) && ((_pName.X0) != nil) { 129070 return i32(0) 129071 } 129072 return func() int32 { 129073 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102396), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118516))) 129074 crt.X__builtin_abort(tls) 129075 return i32(0) 129076 }() 129077 }() 129078 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 129079 goto _13 129080 } 129081 129082 _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTblName) 129083 if (_pName2.X1) != uint32(i32(0)) || _pTab == nil || (*XSchema)(unsafe.Pointer(_pTab.X20)) != (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4)) { 129084 goto _16 129085 } 129086 129087 _iDb = i32(1) 129088 _16: 129089 _13: 129090 _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(118536), _pName) 129091 if _sqlite3FixSrcList(tls, &_sFix, _pTblName) == 0 { 129092 goto _17 129093 } 129094 129095 func() int32 { 129096 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102415), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 129097 crt.X__builtin_abort(tls) 129098 return i32(0) 129099 }() 129100 _17: 129101 _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 129102 X0 unsafe.Pointer 129103 X1 *int8 129104 X2 *int8 129105 X3 *int8 129106 X4 unsafe.Pointer 129107 X5 unsafe.Pointer 129108 X6 int32 129109 X7 int32 129110 X8 int32 129111 X9 struct { 129112 X0 uint8 129113 X1 int8 129114 } 129115 X10 uint8 129116 X11 int32 129117 X12 unsafe.Pointer 129118 X13 unsafe.Pointer 129119 X14 uint64 129120 X15 struct { 129121 X [0]struct { 129122 X0 *int8 129123 X1 unsafe.Pointer 129124 } 129125 U [4]byte 129126 } 129127 X16 unsafe.Pointer 129128 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTblName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))) 129129 func() int32 { 129130 if (int32(_db.X17) == i32(0)) || (_pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) { 129131 return i32(0) 129132 } 129133 return func() int32 { 129134 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102418), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118544))) 129135 crt.X__builtin_abort(tls) 129136 return i32(0) 129137 }() 129138 }() 129139 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 129140 goto _21 129141 } 129142 129143 goto _exit_create_index 129144 129145 _21: 129146 if _iDb != i32(1) || (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { 129147 goto _23 129148 } 129149 129150 _sqlite3ErrorMsg(tls, _pParse, str(118576), unsafe.Pointer(_pTab.X0)) 129151 goto _exit_create_index 129152 129153 _23: 129154 if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 129155 goto _24 129156 } 129157 129158 _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 129159 _24: 129160 goto _25 129161 129162 _5: 129163 func() int32 { 129164 if _pName == (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 129165 return i32(0) 129166 } 129167 return func() int32 { 129168 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102428), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118628))) 129169 crt.X__builtin_abort(tls) 129170 return i32(0) 129171 }() 129172 }() 129173 func() int32 { 129174 if _pStart == (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 129175 return i32(0) 129176 } 129177 return func() int32 { 129178 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102429), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118640))) 129179 crt.X__builtin_abort(tls) 129180 return i32(0) 129181 }() 129182 }() 129183 _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) 129184 if _pTab != nil { 129185 goto _30 129186 } 129187 129188 goto _exit_create_index 129189 129190 _30: 129191 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 129192 _25: 129193 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 129194 func() int32 { 129195 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 129196 return i32(0) 129197 } 129198 return func() int32 { 129199 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102436), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(45992))) 129200 crt.X__builtin_abort(tls) 129201 return i32(0) 129202 }() 129203 }() 129204 func() int32 { 129205 if (_pParse.X16) == i32(0) { 129206 return i32(0) 129207 } 129208 return func() int32 { 129209 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102437), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118652))) 129210 crt.X__builtin_abort(tls) 129211 return i32(0) 129212 }() 129213 }() 129214 if Xsqlite3_strnicmp(tls, _pTab.X0, str(117888), i32(7)) != i32(0) || int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != i32(0) || Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab.X0))+1*uintptr(i32(7)))), str(118668), i32(9)) == i32(0) { 129215 goto _37 129216 } 129217 129218 _sqlite3ErrorMsg(tls, _pParse, str(118680), unsafe.Pointer(_pTab.X0)) 129219 goto _exit_create_index 129220 129221 _37: 129222 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 129223 goto _38 129224 } 129225 129226 _sqlite3ErrorMsg(tls, _pParse, str(118708)) 129227 goto _exit_create_index 129228 129229 _38: 129230 if (_pTab.X16) == 0 { 129231 goto _39 129232 } 129233 129234 _sqlite3ErrorMsg(tls, _pParse, str(118736)) 129235 goto _exit_create_index 129236 129237 _39: 129238 if _pName == nil { 129239 goto _40 129240 } 129241 129242 _zName = _sqlite3NameFromToken(tls, _db, _pName) 129243 if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 129244 goto _41 129245 } 129246 129247 goto _exit_create_index 129248 129249 _41: 129250 func() int32 { 129251 if (_pName.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 129252 return i32(0) 129253 } 129254 return func() int32 { 129255 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102476), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118772))) 129256 crt.X__builtin_abort(tls) 129257 return i32(0) 129258 }() 129259 }() 129260 if i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { 129261 goto _44 129262 } 129263 129264 goto _exit_create_index 129265 129266 _44: 129267 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 129268 goto _45 129269 } 129270 129271 if _sqlite3FindTable(tls, _db, _zName, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 129272 goto _46 129273 } 129274 129275 _sqlite3ErrorMsg(tls, _pParse, str(118784), unsafe.Pointer(_zName)) 129276 goto _exit_create_index 129277 129278 _46: 129279 _45: 129280 if _sqlite3FindIndex(tls, _db, _zName, _pDb.X0) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 129281 goto _47 129282 } 129283 129284 if _ifNotExist != 0 { 129285 goto _48 129286 } 129287 129288 _sqlite3ErrorMsg(tls, _pParse, str(118820), unsafe.Pointer(_zName)) 129289 goto _49 129290 129291 _48: 129292 func() int32 { 129293 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 129294 return i32(0) 129295 } 129296 return func() int32 { 129297 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102490), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118844))) 129298 crt.X__builtin_abort(tls) 129299 return i32(0) 129300 }() 129301 }() 129302 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 129303 _49: 129304 goto _exit_create_index 129305 129306 _47: 129307 goto _52 129308 129309 _40: 129310 *func() *int32 { _20_pLoop = (*XIndex)(unsafe.Pointer(_pTab.X2)); return &_20_n }() = i32(1) 129311 _53: 129312 if _20_pLoop == nil { 129313 goto _56 129314 } 129315 129316 *func() *int32 { _20_pLoop = (*XIndex)(unsafe.Pointer(_20_pLoop.X5)); return &_20_n }() += 1 129317 goto _53 129318 129319 _56: 129320 _zName = _sqlite3MPrintf(tls, _db, str(118860), unsafe.Pointer(_pTab.X0), _20_n) 129321 if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 129322 goto _57 129323 } 129324 129325 goto _exit_create_index 129326 129327 _57: 129328 if (_pParse.X55) == 0 { 129329 goto _58 129330 } 129331 129332 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zName)) + 1*uintptr(i32(7)))) += 1 129333 _58: 129334 _52: 129335 _23_zDb = _pDb.X0 129336 if _sqlite3AuthCheck(tls, _pParse, i32(18), func() *int8 { 129337 if i32(1) != 0 && (_iDb == i32(1)) { 129338 return str(52796) 129339 } 129340 return str(52816) 129341 }(), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _23_zDb) == 0 { 129342 goto _62 129343 } 129344 129345 goto _exit_create_index 129346 129347 _62: 129348 _i = i32(1) 129349 if i32(1) == 0 || _iDb != i32(1) { 129350 goto _64 129351 } 129352 129353 _i = i32(3) 129354 _64: 129355 if _sqlite3AuthCheck(tls, _pParse, _i, _zName, _pTab.X0, _23_zDb) == 0 { 129356 goto _65 129357 } 129358 129359 goto _exit_create_index 129360 129361 _65: 129362 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 129363 goto _66 129364 } 129365 129366 _sqlite3TokenInit(tls, &_26_prevCol, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(int32(_pTab.X11)-i32(1)))).X0) 129367 _pList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3ExprAlloc(tls, _db, i32(55), &_26_prevCol, i32(0))) 129368 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 129369 goto _67 129370 } 129371 129372 goto _exit_create_index 129373 129374 _67: 129375 func() int32 { 129376 if (_pList.X0) == i32(1) { 129377 return i32(0) 129378 } 129379 return func() int32 { 129380 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102538), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118884))) 129381 crt.X__builtin_abort(tls) 129382 return i32(0) 129383 }() 129384 }() 129385 _sqlite3ExprListSetSortOrder(tls, _pList, _sortOrder) 129386 goto _70 129387 129388 _66: 129389 _sqlite3ExprListCheckLength(tls, _pParse, _pList, str(118536)) 129390 _70: 129391 _i = i32(0) 129392 _71: 129393 if _i >= (_pList.X0) { 129394 goto _74 129395 } 129396 129397 _28_pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(_i))).X0)) 129398 func() int32 { 129399 if _28_pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 129400 return i32(0) 129401 } 129402 return func() int32 { 129403 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102549), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(46040))) 129404 crt.X__builtin_abort(tls) 129405 return i32(0) 129406 }() 129407 }() 129408 if int32(_28_pExpr.X0) != i32(53) { 129409 goto _77 129410 } 129411 129412 { 129413 p := &_nExtra 129414 *p = (*p) + (i32(1) + _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_28_pExpr)) + uintptr(8 /* X3 */))))))) 129415 sink961 = *p 129416 } 129417 _77: 129418 _i += 1 129419 goto _71 129420 129421 _74: 129422 _nName = _sqlite3Strlen30(tls, _zName) 129423 _nExtraCol = func() int32 { 129424 if _pPk != nil { 129425 return int32(_pPk.X13) 129426 } 129427 return i32(1) 129428 }() 129429 _pIndex = _sqlite3AllocateIndexObject(tls, _db, int16((_pList.X0)+_nExtraCol), (_nName+_nExtra)+i32(1), &_zExtra) 129430 if (_db.X17) == 0 { 129431 goto _80 129432 } 129433 129434 goto _exit_create_index 129435 129436 _80: 129437 func() int32 { 129438 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pIndex.X2))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 129439 return i32(0) 129440 } 129441 return func() int32 { 129442 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102565), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118900))) 129443 crt.X__builtin_abort(tls) 129444 return i32(0) 129445 }() 129446 }() 129447 func() int32 { 129448 if (int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pIndex.X8))))-uintptr(unsafe.Pointer(nil)))/1) & i32(7)) == i32(0) { 129449 return i32(0) 129450 } 129451 return func() int32 { 129452 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102566), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118944))) 129453 crt.X__builtin_abort(tls) 129454 return i32(0) 129455 }() 129456 }() 129457 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(0 /* X0 */))) = _zExtra 129458 { 129459 p := &_zExtra 129460 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_nName+i32(1)))) 129461 sink1025 = *p 129462 } 129463 crt.Xmemcpy(tls, (unsafe.Pointer)(_pIndex.X0), (unsafe.Pointer)(_zName), uint32(_nName+i32(1))) 129464 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(12 /* X3 */))))) = _pTab 129465 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(54 /* X15 */))) = uint8(_onError) 129466 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(bool2int(_onError != i32(0))), 8, 3) 129467 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(_idxType), 3, 0) 129468 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(24 /* X6 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 129469 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(50 /* X13 */))) = uint16(_pList.X0) 129470 if _pPIWhere == nil { 129471 goto _85 129472 } 129473 129474 _sqlite3ResolveSelfReference(tls, _pParse, _pTab, i32(2), _pPIWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) 129475 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(36 /* X9 */))))) = _pPIWhere 129476 _pPIWhere = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 129477 _85: 129478 func() int32 { 129479 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 129480 return i32(0) 129481 } 129482 return func() int32 { 129483 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102581), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(54008))) 129484 crt.X__builtin_abort(tls) 129485 return i32(0) 129486 }() 129487 }() 129488 if int32((*XSchema)(unsafe.Pointer(_pDb.X4)).X7) < i32(4) { 129489 goto _88 129490 } 129491 129492 _sortOrderMask = i32(-1) 129493 goto _89 129494 129495 _88: 129496 _sortOrderMask = i32(0) 129497 _89: 129498 *func() **T7850641 { _i = i32(0); return &_pListItem }() = (*T7850641)(unsafe.Pointer(_pList.X1)) 129499 _90: 129500 if _i >= (_pList.X0) { 129501 goto _93 129502 } 129503 129504 _sqlite3StringToId(tls, (*XExpr)(unsafe.Pointer(_pListItem.X0))) 129505 _sqlite3ResolveSelfReference(tls, _pParse, _pTab, i32(32), (*XExpr)(unsafe.Pointer(_pListItem.X0)), (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) 129506 if (_pParse.X16) == 0 { 129507 goto _94 129508 } 129509 129510 goto _exit_create_index 129511 129512 _94: 129513 _34_pCExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer(_pListItem.X0))) 129514 if int32(_34_pCExpr.X0) == i32(152) { 129515 goto _95 129516 } 129517 129518 if _pTab != (*XTable)(unsafe.Pointer(_pParse.X63)) { 129519 goto _96 129520 } 129521 129522 _sqlite3ErrorMsg(tls, _pParse, str(118984)) 129523 goto _exit_create_index 129524 129525 _96: 129526 if (*XExprList)(unsafe.Pointer(_pIndex.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 129527 goto _97 129528 } 129529 129530 _37_pCopy = _sqlite3ExprListDup(tls, _db, _pList, i32(0)) 129531 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(40 /* X10 */))))) = _37_pCopy 129532 if (_db.X17) != 0 { 129533 goto _98 129534 } 129535 129536 func() int32 { 129537 if _37_pCopy != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 129538 return i32(0) 129539 } 129540 return func() int32 { 129541 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102619), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119048))) 129542 crt.X__builtin_abort(tls) 129543 return i32(0) 129544 }() 129545 }() 129546 _pListItem = (*T7850641)(unsafe.Pointer(uintptr(_37_pCopy.X1) + 20*uintptr(_i))) 129547 _98: 129548 _97: 129549 _j = i32(-2) 129550 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(i32(-2)) 129551 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(0)), 8, 3) 129552 goto _101 129553 129554 _95: 129555 _j = int32(_34_pCExpr.X9) 129556 func() int32 { 129557 if _j <= i32(32767) { 129558 return i32(0) 129559 } 129560 return func() int32 { 129561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102628), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119060))) 129562 crt.X__builtin_abort(tls) 129563 return i32(0) 129564 }() 129565 }() 129566 if _j >= i32(0) { 129567 goto _104 129568 } 129569 129570 _j = int32(_pTab.X10) 129571 goto _105 129572 129573 _104: 129574 if int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_j))).X3) != i32(0) { 129575 goto _106 129576 } 129577 129578 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(0)), 8, 3) 129579 _106: 129580 _105: 129581 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(_j) 129582 _101: 129583 _34_zColl = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 129584 if int32((*XExpr)(unsafe.Pointer(_pListItem.X0)).X0) != i32(53) { 129585 goto _107 129586 } 129587 129588 _34_zColl = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_pListItem.X0) + uintptr(8 /* X3 */))))) 129589 _42_nColl = _sqlite3Strlen30(tls, _34_zColl) + i32(1) 129590 func() int32 { 129591 if _nExtra >= _42_nColl { 129592 return i32(0) 129593 } 129594 return func() int32 { 129595 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102641), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119072))) 129596 crt.X__builtin_abort(tls) 129597 return i32(0) 129598 }() 129599 }() 129600 crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_34_zColl), uint32(_42_nColl)) 129601 _34_zColl = _zExtra 129602 { 129603 p := &_zExtra 129604 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_42_nColl))) 129605 sink1025 = *p 129606 } 129607 { 129608 p := &_nExtra 129609 *p = (*p) - _42_nColl 129610 sink961 = *p 129611 } 129612 goto _110 129613 129614 _107: 129615 if _j < i32(0) { 129616 goto _111 129617 } 129618 129619 _34_zColl = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_j))).X2 129620 _111: 129621 _110: 129622 if _34_zColl != nil { 129623 goto _112 129624 } 129625 129626 _34_zColl = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 129627 _112: 129628 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != 0 || _sqlite3LocateCollSeq(tls, _pParse, _34_zColl) != nil { 129629 goto _114 129630 } 129631 129632 goto _exit_create_index 129633 129634 _114: 129635 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 4*uintptr(_i))) = _34_zColl 129636 _34_requestedSortOrder = int32(_pListItem.X3) & _sortOrderMask 129637 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X7)) + 1*uintptr(_i))) = uint8(_34_requestedSortOrder) 129638 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pListItem }())) += uintptr(20) 129639 goto _90 129640 129641 _93: 129642 if _pPk == nil { 129643 goto _115 129644 } 129645 129646 _j = i32(0) 129647 _116: 129648 if _j >= int32(_pPk.X13) { 129649 goto _119 129650 } 129651 129652 _46_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_j)))) 129653 func() int32 { 129654 if _46_x >= i32(0) { 129655 return i32(0) 129656 } 129657 return func() int32 { 129658 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102665), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(115876))) 129659 crt.X__builtin_abort(tls) 129660 return i32(0) 129661 }() 129662 }() 129663 if _hasColumn(tls, _pIndex.X1, int32(_pIndex.X13), _46_x) == 0 { 129664 goto _122 129665 } 129666 129667 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(52 /* X14 */))) -= 1 129668 goto _123 129669 129670 _122: 129671 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(_46_x) 129672 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 4*uintptr(_i))) = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 4*uintptr(_j))) 129673 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X7)) + 1*uintptr(_i))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X7)) + 1*uintptr(_j))) 129674 _i += 1 129675 _123: 129676 _j += 1 129677 goto _116 129678 129679 _119: 129680 func() int32 { 129681 if _i == int32(_pIndex.X14) { 129682 return i32(0) 129683 } 129684 return func() int32 { 129685 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102675), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119088))) 129686 crt.X__builtin_abort(tls) 129687 return i32(0) 129688 }() 129689 }() 129690 goto _126 129691 129692 _115: 129693 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i))) = int16(i32(-1)) 129694 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 4*uintptr(_i))) = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 129695 _126: 129696 _sqlite3DefaultRowEst(tls, _pIndex) 129697 if (*XTable)(unsafe.Pointer(_pParse.X63)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 129698 goto _127 129699 } 129700 129701 _estimateIndexWidth(tls, _pIndex) 129702 _127: 129703 func() int32 { 129704 if ((((_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) || (int32(_pTab.X10) < i32(0))) || (int32(_sqlite3ColumnOfIndex(tls, _pIndex, _pTab.X10)) >= i32(0)) { 129705 return i32(0) 129706 } 129707 return func() int32 { 129708 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102685), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119108))) 129709 crt.X__builtin_abort(tls) 129710 return i32(0) 129711 }() 129712 }() 129713 if _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) || int32(_pIndex.X14) < int32(_pTab.X11) { 129714 goto _133 129715 } 129716 129717 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(1)), 32, 5) 129718 _j = i32(0) 129719 _134: 129720 if _j >= int32(_pTab.X11) { 129721 goto _137 129722 } 129723 129724 if _j != int32(_pTab.X10) { 129725 goto _138 129726 } 129727 129728 goto _135 129729 129730 _138: 129731 if int32(_sqlite3ColumnOfIndex(tls, _pIndex, int16(_j))) < i32(0) { 129732 goto _139 129733 } 129734 129735 goto _135 129736 129737 _139: 129738 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex))+uintptr(55 /* X16 */))), int8(i32(0)), 32, 5) 129739 goto _137 129740 129741 _135: 129742 _j += 1 129743 goto _134 129744 129745 _137: 129746 _133: 129747 if _pTab != (*XTable)(unsafe.Pointer(_pParse.X63)) { 129748 goto _140 129749 } 129750 129751 _52_pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 129752 _141: 129753 if _52_pIdx == nil { 129754 goto _144 129755 } 129756 129757 func() int32 { 129758 if int32(_52_pIdx.X15) != i32(0) { 129759 return i32(0) 129760 } 129761 return func() int32 { 129762 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102722), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119188))) 129763 crt.X__builtin_abort(tls) 129764 return i32(0) 129765 }() 129766 }() 129767 func() int32 { 129768 if int32((uint32(_52_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(0) { 129769 return i32(0) 129770 } 129771 return func() int32 { 129772 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102723), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119208))) 129773 crt.X__builtin_abort(tls) 129774 return i32(0) 129775 }() 129776 }() 129777 func() int32 { 129778 if int32(_pIndex.X15) != i32(0) { 129779 return i32(0) 129780 } 129781 return func() int32 { 129782 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119248))) 129783 crt.X__builtin_abort(tls) 129784 return i32(0) 129785 }() 129786 }() 129787 if int32(_52_pIdx.X13) == int32(_pIndex.X13) { 129788 goto _151 129789 } 129790 129791 goto _142 129792 129793 _151: 129794 _53_k = i32(0) 129795 _152: 129796 if _53_k >= int32(_52_pIdx.X13) { 129797 goto _155 129798 } 129799 129800 func() int32 { 129801 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx.X1)) + 2*uintptr(_53_k)))) >= i32(0) { 129802 return i32(0) 129803 } 129804 return func() int32 { 129805 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102730), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119272))) 129806 crt.X__builtin_abort(tls) 129807 return i32(0) 129808 }() 129809 }() 129810 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx.X1)) + 2*uintptr(_53_k)))) == int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_53_k)))) { 129811 goto _158 129812 } 129813 129814 goto _155 129815 129816 _158: 129817 _54_z1 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx.X8)) + 4*uintptr(_53_k))) 129818 _54_z2 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 4*uintptr(_53_k))) 129819 if _sqlite3StrICmp(tls, _54_z1, _54_z2) == 0 { 129820 goto _159 129821 } 129822 129823 goto _155 129824 129825 _159: 129826 _53_k += 1 129827 goto _152 129828 129829 _155: 129830 if _53_k != int32(_52_pIdx.X13) { 129831 goto _160 129832 } 129833 129834 if int32(_52_pIdx.X15) == int32(_pIndex.X15) { 129835 goto _161 129836 } 129837 129838 if int32(_52_pIdx.X15) == i32(10) || int32(_pIndex.X15) == i32(10) { 129839 goto _163 129840 } 129841 129842 _sqlite3ErrorMsg(tls, _pParse, str(119296), i32(0)) 129843 _163: 129844 if int32(_52_pIdx.X15) != i32(10) { 129845 goto _164 129846 } 129847 129848 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx)) + uintptr(54 /* X15 */))) = _pIndex.X15 129849 _164: 129850 _161: 129851 if int32(_idxType) != i32(2) { 129852 goto _165 129853 } 129854 129855 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pIdx))+uintptr(55 /* X16 */))), int8(_idxType), 3, 0) 129856 _165: 129857 goto _exit_create_index 129858 129859 _160: 129860 _142: 129861 _52_pIdx = (*XIndex)(unsafe.Pointer(_52_pIdx.X5)) 129862 goto _141 129863 129864 _144: 129865 _140: 129866 func() int32 { 129867 if (_pParse.X16) == i32(0) { 129868 return i32(0) 129869 } 129870 return func() int32 { 129871 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102762), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(118652))) 129872 crt.X__builtin_abort(tls) 129873 return i32(0) 129874 }() 129875 }() 129876 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 129877 goto _168 129878 } 129879 129880 func() int32 { 129881 if (_pParse.X55) == 0 { 129882 return i32(0) 129883 } 129884 return func() int32 { 129885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102765), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119340))) 129886 crt.X__builtin_abort(tls) 129887 return i32(0) 129888 }() 129889 }() 129890 func() int32 { 129891 if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_pIndex.X6))) != 0 { 129892 return i32(0) 129893 } 129894 return func() int32 { 129895 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102766), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119360))) 129896 crt.X__builtin_abort(tls) 129897 return i32(0) 129898 }() 129899 }() 129900 _59_p = (*XIndex)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_pIndex.X6)+uintptr(24 /* X3 */))), _pIndex.X0, (unsafe.Pointer)(_pIndex)))) 129901 if _59_p == nil { 129902 goto _173 129903 } 129904 129905 func() int32 { 129906 if _59_p == _pIndex { 129907 return i32(0) 129908 } 129909 return func() int32 { 129910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102770), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateIndexØ00__func__Ø000))), unsafe.Pointer(str(119408))) 129911 crt.X__builtin_abort(tls) 129912 return i32(0) 129913 }() 129914 }() 129915 _sqlite3OomFault(tls, _db) 129916 goto _exit_create_index 129917 129918 _173: 129919 { 129920 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 129921 *p = (*p) | i32(2) 129922 sink961 = *p 129923 } 129924 if _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 129925 goto _176 129926 } 129927 129928 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(44 /* X11 */))) = (*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X0 129929 _176: 129930 goto _177 129931 129932 _168: 129933 if ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) && _pTblName == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 129934 goto _179 129935 } 129936 129937 _62_iMem = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 129938 _62_v = _sqlite3GetVdbe(tls, _pParse) 129939 if _62_v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 129940 goto _180 129941 } 129942 129943 goto _exit_create_index 129944 129945 _180: 129946 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 129947 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(44 /* X11 */))) = _sqlite3VdbeAddOp0(tls, _62_v, i32(162)) 129948 _sqlite3VdbeAddOp2(tls, _62_v, i32(134), _iDb, _62_iMem) 129949 if _pStart == nil { 129950 goto _181 129951 } 129952 129953 _63_n = int32(uint32(int32((uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(400 /* X51 */))).X0))-uintptr(unsafe.Pointer(_pName.X0)))/1)) + ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(400 /* X51 */))).X1)) 129954 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName.X0)) + 1*uintptr(_63_n-i32(1))))) != i32(59) { 129955 goto _182 129956 } 129957 129958 _63_n -= 1 129959 _182: 129960 _62_zStmt = _sqlite3MPrintf(tls, _db, str(119420), unsafe.Pointer(func() *int8 { 129961 if _onError == i32(0) { 129962 return str(196) 129963 } 129964 return str(119440) 129965 }()), _63_n, unsafe.Pointer(_pName.X0)) 129966 goto _185 129967 129968 _181: 129969 _62_zStmt = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 129970 _185: 129971 _sqlite3NestedParse(tls, _pParse, str(119448), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_pIndex.X0), unsafe.Pointer(_pTab.X0), _62_iMem, unsafe.Pointer(_62_zStmt)) 129972 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_62_zStmt)) 129973 if _pTblName == nil { 129974 goto _186 129975 } 129976 129977 _sqlite3RefillIndex(tls, _pParse, _pIndex, _62_iMem) 129978 _sqlite3ChangeCookie(tls, _pParse, _iDb) 129979 _sqlite3VdbeAddParseSchemaOp(tls, _62_v, _iDb, _sqlite3MPrintf(tls, _db, str(119496), unsafe.Pointer(_pIndex.X0))) 129980 _sqlite3VdbeAddOp0(tls, _62_v, i32(151)) 129981 _186: 129982 _sqlite3VdbeJumpHere(tls, _62_v, _pIndex.X11) 129983 _179: 129984 _177: 129985 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == 0 && _pTblName != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 129986 goto _188 129987 } 129988 129989 if _onError == i32(5) && (*XIndex)(unsafe.Pointer(_pTab.X2)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) && int32((*XIndex)(unsafe.Pointer(_pTab.X2)).X15) != i32(5) { 129990 goto _191 129991 } 129992 129993 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(20 /* X5 */))))) = (*XIndex)(unsafe.Pointer(_pTab.X2)) 129994 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(8 /* X2 */))))) = _pIndex 129995 goto _192 129996 129997 _191: 129998 _68_pOther = (*XIndex)(unsafe.Pointer(_pTab.X2)) 129999 _193: 130000 if (*XIndex)(unsafe.Pointer(_68_pOther.X5)) == nil || int32((*XIndex)(unsafe.Pointer(_68_pOther.X5)).X15) == i32(5) { 130001 goto _194 130002 } 130003 130004 _68_pOther = (*XIndex)(unsafe.Pointer(_68_pOther.X5)) 130005 goto _193 130006 130007 _194: 130008 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex)) + uintptr(20 /* X5 */))))) = (*XIndex)(unsafe.Pointer(_68_pOther.X5)) 130009 *(**XIndex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_68_pOther)) + uintptr(20 /* X5 */))))) = _pIndex 130010 _192: 130011 _pIndex = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 130012 _188: 130013 _exit_create_index: 130014 if _pIndex == nil { 130015 goto _196 130016 } 130017 130018 _freeIndex(tls, _db, _pIndex) 130019 _196: 130020 _sqlite3ExprDelete(tls, _db, _pPIWhere) 130021 _sqlite3ExprListDelete(tls, _db, _pList) 130022 _sqlite3SrcListDelete(tls, _db, _pTblName) 130023 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) 130024 return 130025 130026 } 130027 130028 var _sqlite3CreateIndexØ00__func__Ø000 [19]int8 // - 130029 130030 func init() { 130031 crt.Xstrncpy(nil, &_sqlite3CreateIndexØ00__func__Ø000[0], str(119524), 19) 130032 } 130033 130034 func _sqlite3SrcListLookup(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList) (r0 *XTable) { // sqlite3.c:104419:1 130035 var _pItem *T7840217 // sqlite3.c:104420:23 130036 _ = _pItem 130037 var _pTab *XTable // sqlite3.c:104421:9 130038 _ = _pTab 130039 _pItem = (*T7840217)(unsafe.Pointer((*[1]struct { 130040 X0 unsafe.Pointer 130041 X1 *int8 130042 X2 *int8 130043 X3 *int8 130044 X4 unsafe.Pointer 130045 X5 unsafe.Pointer 130046 X6 int32 130047 X7 int32 130048 X8 int32 130049 X9 struct { 130050 X0 uint8 130051 X1 int8 130052 } 130053 X10 uint8 130054 X11 int32 130055 X12 unsafe.Pointer 130056 X13 unsafe.Pointer 130057 X14 uint64 130058 X15 struct { 130059 X [0]struct { 130060 X0 *int8 130061 X1 unsafe.Pointer 130062 } 130063 U [4]byte 130064 } 130065 X16 unsafe.Pointer 130066 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc)) + uintptr(8 /* X2 */))))) 130067 func() int32 { 130068 if (_pItem != nil) && ((_pSrc.X0) == i32(1)) { 130069 return i32(0) 130070 } 130071 return func() int32 { 130072 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListLookupØ00__func__Ø000))), unsafe.Pointer(str(119544))) 130073 crt.X__builtin_abort(tls) 130074 return i32(0) 130075 }() 130076 }() 130077 _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), _pItem) 130078 _sqlite3DeleteTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XTable)(unsafe.Pointer(_pItem.X4))) 130079 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(16 /* X4 */))))) = _pTab 130080 if _pTab == nil { 130081 goto _3 130082 } 130083 130084 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(32 /* X8 */))) += 1 130085 _3: 130086 if _sqlite3IndexedByLookup(tls, _pParse, _pItem) == 0 { 130087 goto _4 130088 } 130089 130090 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 130091 _4: 130092 r0 = _pTab 130093 return 130094 130095 } 130096 130097 var _sqlite3SrcListLookupØ00__func__Ø000 [21]int8 // - 130098 130099 func init() { 130100 crt.Xstrncpy(nil, &_sqlite3SrcListLookupØ00__func__Ø000[0], str(119568), 21) 130101 } 130102 130103 func _sqlite3FixInit(tls *crt.TLS, _pFix *XDbFixer, _pParse *XParse, _iDb int32, _zType *int8, _pName *XToken) { // sqlite3.c:99027:1 130104 var _db *Xsqlite3 // sqlite3.c:99034:11 130105 _ = _db 130106 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 130107 func() int32 { 130108 if (_db.X5) > _iDb { 130109 return i32(0) 130110 } 130111 return func() int32 { 130112 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99037), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FixInitØ00__func__Ø000))), unsafe.Pointer(str(119592))) 130113 crt.X__builtin_abort(tls) 130114 return i32(0) 130115 }() 130116 }() 130117 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(0 /* X0 */))))) = _pParse 130118 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(12 /* X3 */))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 130119 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(4 /* X1 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 130120 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(16 /* X4 */))) = _zType 130121 *(**XToken)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(20 /* X5 */))))) = _pName 130122 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFix)) + uintptr(8 /* X2 */))) = bool2int(_iDb == i32(1)) 130123 return 130124 130125 } 130126 130127 var _sqlite3FixInitØ00__func__Ø000 [15]int8 // - 130128 130129 func init() { 130130 crt.Xstrncpy(nil, &_sqlite3FixInitØ00__func__Ø000[0], str(119604), 15) 130131 } 130132 130133 func _sqlite3FixSrcList(tls *crt.TLS, _pFix *XDbFixer, _pList *XSrcList) (r0 int32) { // sqlite3.c:99060:1 130134 var _i int32 // sqlite3.c:99064:7 130135 _ = _i 130136 var _zDb *int8 // sqlite3.c:99065:14 130137 _ = _zDb 130138 var _pItem *T7840217 // sqlite3.c:99066:23 130139 _ = _pItem 130140 if func() int32 { 130141 if _pList == (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 130142 return func() int32 { 130143 func() int32 { 130144 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99068), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FixSrcListØ00__func__Ø000))), unsafe.Pointer(str(5204))) 130145 crt.X__builtin_abort(tls) 130146 return i32(0) 130147 }() 130148 return i32(1) 130149 }() 130150 } 130151 return i32(0) 130152 }() == 0 { 130153 goto _2 130154 } 130155 130156 r0 = i32(0) 130157 return 130158 130159 _2: 130160 _zDb = _pFix.X3 130161 *func() **T7840217 { _i = i32(0); return &_pItem }() = (*T7840217)(unsafe.Pointer((*[1]struct { 130162 X0 unsafe.Pointer 130163 X1 *int8 130164 X2 *int8 130165 X3 *int8 130166 X4 unsafe.Pointer 130167 X5 unsafe.Pointer 130168 X6 int32 130169 X7 int32 130170 X8 int32 130171 X9 struct { 130172 X0 uint8 130173 X1 int8 130174 } 130175 X10 uint8 130176 X11 int32 130177 X12 unsafe.Pointer 130178 X13 unsafe.Pointer 130179 X14 uint64 130180 X15 struct { 130181 X [0]struct { 130182 X0 *int8 130183 X1 unsafe.Pointer 130184 } 130185 U [4]byte 130186 } 130187 X16 unsafe.Pointer 130188 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(8 /* X2 */))))) 130189 _3: 130190 if _i >= (_pList.X0) { 130191 goto _6 130192 } 130193 130194 if (_pFix.X2) != i32(0) { 130195 goto _7 130196 } 130197 130198 if (_pItem.X1) == nil || _sqlite3StrICmp(tls, _pItem.X1, _zDb) == 0 { 130199 goto _9 130200 } 130201 130202 _sqlite3ErrorMsg(tls, (*XParse)(unsafe.Pointer(_pFix.X0)), str(119620), unsafe.Pointer(_pFix.X4), unsafe.Pointer((*XToken)(unsafe.Pointer(_pFix.X5))), unsafe.Pointer(_pItem.X1)) 130203 r0 = i32(1) 130204 return 130205 130206 _9: 130207 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer((*XParse)(unsafe.Pointer(_pFix.X0)).X0)), (unsafe.Pointer)(_pItem.X1)) 130208 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 130209 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pItem)) + uintptr(0 /* X0 */))))) = (*XSchema)(unsafe.Pointer(_pFix.X1)) 130210 _7: 130211 if _sqlite3FixSelect(tls, _pFix, (*XSelect)(unsafe.Pointer(_pItem.X5))) == 0 { 130212 goto _10 130213 } 130214 130215 r0 = i32(1) 130216 return 130217 130218 _10: 130219 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pItem.X12))) == 0 { 130220 goto _11 130221 } 130222 130223 r0 = i32(1) 130224 return 130225 130226 _11: 130227 *(*uintptr)(unsafe.Pointer(func() **T7840217 { _i += 1; return &_pItem }())) += uintptr(68) 130228 goto _3 130229 130230 _6: 130231 r0 = i32(0) 130232 return 130233 130234 } 130235 130236 var _sqlite3FixSrcListØ00__func__Ø000 [18]int8 // - 130237 130238 func init() { 130239 crt.Xstrncpy(nil, &_sqlite3FixSrcListØ00__func__Ø000[0], str(119668), 18) 130240 } 130241 130242 func _sqlite3FixSelect(tls *crt.TLS, _pFix *XDbFixer, _pSelect *XSelect) (r0 int32) { // sqlite3.c:99090:1 130243 _0: 130244 if _pSelect == nil { 130245 goto _1 130246 } 130247 130248 if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pSelect.X0))) == 0 { 130249 goto _2 130250 } 130251 130252 r0 = i32(1) 130253 return 130254 130255 _2: 130256 if _sqlite3FixSrcList(tls, _pFix, (*XSrcList)(unsafe.Pointer(_pSelect.X8))) == 0 { 130257 goto _3 130258 } 130259 130260 r0 = i32(1) 130261 return 130262 130263 _3: 130264 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X9))) == 0 { 130265 goto _4 130266 } 130267 130268 r0 = i32(1) 130269 return 130270 130271 _4: 130272 if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pSelect.X10))) == 0 { 130273 goto _5 130274 } 130275 130276 r0 = i32(1) 130277 return 130278 130279 _5: 130280 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X11))) == 0 { 130281 goto _6 130282 } 130283 130284 r0 = i32(1) 130285 return 130286 130287 _6: 130288 if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pSelect.X12))) == 0 { 130289 goto _7 130290 } 130291 130292 r0 = i32(1) 130293 return 130294 130295 _7: 130296 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X15))) == 0 { 130297 goto _8 130298 } 130299 130300 r0 = i32(1) 130301 return 130302 130303 _8: 130304 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pSelect.X16))) == 0 { 130305 goto _9 130306 } 130307 130308 r0 = i32(1) 130309 return 130310 130311 _9: 130312 _pSelect = (*XSelect)(unsafe.Pointer(_pSelect.X13)) 130313 goto _0 130314 130315 _1: 130316 r0 = i32(0) 130317 return 130318 130319 } 130320 130321 func _sqlite3FixExprList(tls *crt.TLS, _pFix *XDbFixer, _pList *XExprList) (r0 int32) { // sqlite3.c:99149:1 130322 var _i int32 // sqlite3.c:99153:7 130323 _ = _i 130324 var _pItem *T7850641 // sqlite3.c:99154:24 130325 _ = _pItem 130326 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 130327 goto _0 130328 } 130329 130330 r0 = i32(0) 130331 return 130332 130333 _0: 130334 *func() **T7850641 { _i = i32(0); return &_pItem }() = (*T7850641)(unsafe.Pointer(_pList.X1)) 130335 _1: 130336 if _i >= (_pList.X0) { 130337 goto _4 130338 } 130339 130340 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pItem.X0))) == 0 { 130341 goto _5 130342 } 130343 130344 r0 = i32(1) 130345 return 130346 130347 _5: 130348 *(*uintptr)(unsafe.Pointer(func() **T7850641 { _i += 1; return &_pItem }())) += uintptr(20) 130349 goto _1 130350 130351 _4: 130352 r0 = i32(0) 130353 return 130354 130355 } 130356 130357 func _sqlite3FixExpr(tls *crt.TLS, _pFix *XDbFixer, _pExpr *XExpr) (r0 int32) { // sqlite3.c:99123:1 130358 _0: 130359 if _pExpr == nil { 130360 goto _1 130361 } 130362 130363 if int32(_pExpr.X0) != i32(135) { 130364 goto _2 130365 } 130366 130367 if ((*T7745808)(unsafe.Pointer(uintptr((*XParse)(unsafe.Pointer(_pFix.X0)).X0) + uintptr(144 /* X33 */))).X2) == 0 { 130368 goto _3 130369 } 130370 130371 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(101)) 130372 goto _4 130373 130374 _3: 130375 _sqlite3ErrorMsg(tls, (*XParse)(unsafe.Pointer(_pFix.X0)), str(119688), unsafe.Pointer(_pFix.X4)) 130376 r0 = i32(1) 130377 return 130378 130379 _4: 130380 _2: 130381 if ((_pExpr.X2) & uint32(i32(8404992))) == uint32(i32(0)) { 130382 goto _5 130383 } 130384 130385 goto _1 130386 130387 _5: 130388 if ((_pExpr.X2) & uint32(i32(2048))) == uint32(i32(0)) { 130389 goto _6 130390 } 130391 130392 if _sqlite3FixSelect(tls, _pFix, (*XSelect)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) == 0 { 130393 goto _7 130394 } 130395 130396 r0 = i32(1) 130397 return 130398 130399 _7: 130400 goto _8 130401 130402 _6: 130403 if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */)))))))) == 0 { 130404 goto _9 130405 } 130406 130407 r0 = i32(1) 130408 return 130409 130410 _9: 130411 _8: 130412 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pExpr.X5))) == 0 { 130413 goto _10 130414 } 130415 130416 r0 = i32(1) 130417 return 130418 130419 _10: 130420 _pExpr = (*XExpr)(unsafe.Pointer(_pExpr.X4)) 130421 goto _0 130422 130423 _1: 130424 r0 = i32(0) 130425 return 130426 130427 } 130428 130429 func _sqlite3ExprListSetSortOrder(tls *crt.TLS, _p *XExprList, _iSortOrder int32) { // sqlite3.c:92318:1 130430 if _p != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 130431 goto _0 130432 } 130433 130434 return 130435 130436 _0: 130437 i32(0) 130438 func() int32 { 130439 if (_p.X0) > i32(0) { 130440 return i32(0) 130441 } 130442 return func() int32 { 130443 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92321), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetSortOrderØ00__func__Ø000))), unsafe.Pointer(str(119712))) 130444 crt.X__builtin_abort(tls) 130445 return i32(0) 130446 }() 130447 }() 130448 if _iSortOrder >= i32(0) { 130449 goto _3 130450 } 130451 130452 func() int32 { 130453 if int32((*T7850641)(unsafe.Pointer(uintptr(_p.X1)+20*uintptr((_p.X0)-i32(1)))).X3) == i32(0) { 130454 return i32(0) 130455 } 130456 return func() int32 { 130457 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92323), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetSortOrderØ00__func__Ø000))), unsafe.Pointer(str(119724))) 130458 crt.X__builtin_abort(tls) 130459 return i32(0) 130460 }() 130461 }() 130462 return 130463 130464 _3: 130465 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_p.X1)+20*uintptr((_p.X0)-i32(1)))))) + uintptr(12 /* X3 */))) = uint8(_iSortOrder) 130466 return 130467 130468 } 130469 130470 var _sqlite3ExprListSetSortOrderØ00__func__Ø000 [28]int8 // - 130471 130472 func init() { 130473 crt.Xstrncpy(nil, &_sqlite3ExprListSetSortOrderØ00__func__Ø000[0], str(119768), 28) 130474 } 130475 130476 func _sqlite3ExprListCheckLength(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _zObject *int8) { // sqlite3.c:92383:1 130477 var _mx int32 // sqlite3.c:92388:7 130478 _ = _mx 130479 _mx = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(2)))) 130480 if _pEList == nil || (_pEList.X0) <= _mx { 130481 goto _1 130482 } 130483 130484 _sqlite3ErrorMsg(tls, _pParse, str(119796), unsafe.Pointer(_zObject)) 130485 _1: 130486 return 130487 130488 } 130489 130490 func _sqlite3ResolveSelfReference(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _type int32, _pExpr *XExpr, _pList *XExprList) { // sqlite3.c:90709:1 130491 var _sSrc XSrcList // sqlite3.c:90716:11 130492 _ = _sSrc 130493 var _sNC XNameContext // sqlite3.c:90717:15 130494 _ = _sNC 130495 func() int32 { 130496 if ((_type == i32(4)) || (_type == i32(2))) || (_type == i32(32)) { 130497 return i32(0) 130498 } 130499 return func() int32 { 130500 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(90719), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ResolveSelfReferenceØ00__func__Ø000))), unsafe.Pointer(str(119820))) 130501 crt.X__builtin_abort(tls) 130502 return i32(0) 130503 }() 130504 }() 130505 crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u32(32)) 130506 crt.Xmemset(tls, (unsafe.Pointer)(&_sSrc), i32(0), u32(76)) 130507 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc)) + uintptr(0 /* X0 */))) = i32(1) 130508 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 130509 X0 unsafe.Pointer 130510 X1 *int8 130511 X2 *int8 130512 X3 *int8 130513 X4 unsafe.Pointer 130514 X5 unsafe.Pointer 130515 X6 int32 130516 X7 int32 130517 X8 int32 130518 X9 struct { 130519 X0 uint8 130520 X1 int8 130521 } 130522 X10 uint8 130523 X11 int32 130524 X12 unsafe.Pointer 130525 X13 unsafe.Pointer 130526 X14 uint64 130527 X15 struct { 130528 X [0]struct { 130529 X0 *int8 130530 X1 unsafe.Pointer 130531 } 130532 U [4]byte 130533 } 130534 X16 unsafe.Pointer 130535 })(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(8 /* X2 */))) = _pTab.X0 130536 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 130537 X0 unsafe.Pointer 130538 X1 *int8 130539 X2 *int8 130540 X3 *int8 130541 X4 unsafe.Pointer 130542 X5 unsafe.Pointer 130543 X6 int32 130544 X7 int32 130545 X8 int32 130546 X9 struct { 130547 X0 uint8 130548 X1 int8 130549 } 130550 X10 uint8 130551 X11 int32 130552 X12 unsafe.Pointer 130553 X13 unsafe.Pointer 130554 X14 uint64 130555 X15 struct { 130556 X [0]struct { 130557 X0 *int8 130558 X1 unsafe.Pointer 130559 } 130560 U [4]byte 130561 } 130562 X16 unsafe.Pointer 130563 })(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(16 /* X4 */))))) = _pTab 130564 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 130565 X0 unsafe.Pointer 130566 X1 *int8 130567 X2 *int8 130568 X3 *int8 130569 X4 unsafe.Pointer 130570 X5 unsafe.Pointer 130571 X6 int32 130572 X7 int32 130573 X8 int32 130574 X9 struct { 130575 X0 uint8 130576 X1 int8 130577 } 130578 X10 uint8 130579 X11 int32 130580 X12 unsafe.Pointer 130581 X13 unsafe.Pointer 130582 X14 uint64 130583 X15 struct { 130584 X [0]struct { 130585 X0 *int8 130586 X1 unsafe.Pointer 130587 } 130588 U [4]byte 130589 } 130590 X16 unsafe.Pointer 130591 })(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(40 /* X11 */))) = i32(-1) 130592 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse 130593 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(4 /* X1 */))))) = &_sSrc 130594 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(28 /* X7 */))) = uint16(_type) 130595 if _sqlite3ResolveExprNames(tls, &_sNC, _pExpr) == 0 { 130596 goto _4 130597 } 130598 130599 return 130600 130601 _4: 130602 if _pList == nil { 130603 goto _5 130604 } 130605 130606 _sqlite3ResolveExprListNames(tls, &_sNC, _pList) 130607 _5: 130608 return 130609 130610 } 130611 130612 var _sqlite3ResolveSelfReferenceØ00__func__Ø000 [28]int8 // - 130613 130614 func init() { 130615 crt.Xstrncpy(nil, &_sqlite3ResolveSelfReferenceØ00__func__Ø000[0], str(119880), 28) 130616 } 130617 130618 func _sqlite3StringToId(tls *crt.TLS, _p *XExpr) { // sqlite3.c:100715:1 130619 if int32(_p.X0) != i32(97) { 130620 goto _0 130621 } 130622 130623 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(i32(55)) 130624 goto _1 130625 130626 _0: 130627 if int32(_p.X0) != i32(53) || int32((*XExpr)(unsafe.Pointer(_p.X4)).X0) != i32(97) { 130628 goto _3 130629 } 130630 130631 *(*uint8)(unsafe.Pointer(uintptr(_p.X4) + uintptr(0 /* X0 */))) = uint8(i32(55)) 130632 _3: 130633 _1: 130634 return 130635 130636 } 130637 130638 func _hasColumn(tls *crt.TLS, _aiCol *int16, _nCol int32, _x int32) (r0 int32) { // sqlite3.c:101107:1 130639 _0: 130640 if postInc961(&_nCol, int32(-1)) <= i32(0) { 130641 goto _1 130642 } 130643 130644 if _x != int32(*postInc7867636(&_aiCol, 2)) { 130645 goto _2 130646 } 130647 130648 r0 = i32(1) 130649 return 130650 130651 _2: 130652 goto _0 130653 130654 _1: 130655 r0 = i32(0) 130656 return 130657 130658 } 130659 130660 func _estimateIndexWidth(tls *crt.TLS, _pIdx *XIndex) { // sqlite3.c:101093:1 130661 var _wIndex uint32 // sqlite3.c:101094:12 130662 _ = _wIndex 130663 var _i int32 // sqlite3.c:101095:7 130664 _ = _i 130665 var _aCol *XColumn // sqlite3.c:101096:16 130666 _ = _aCol 130667 var _1_x int16 // sqlite3.c:101098:9 130668 _ = _1_x 130669 _wIndex = u32(0) 130670 _aCol = (*XColumn)(unsafe.Pointer((*XTable)(unsafe.Pointer(_pIdx.X3)).X1)) 130671 _i = i32(0) 130672 _0: 130673 if _i >= int32(_pIdx.X14) { 130674 goto _3 130675 } 130676 130677 _1_x = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i))) 130678 func() int32 { 130679 if int32(_1_x) < int32((*XTable)(unsafe.Pointer(_pIdx.X3)).X11) { 130680 return i32(0) 130681 } 130682 return func() int32 { 130683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101099), unsafe.Pointer((*int8)(unsafe.Pointer(&_estimateIndexWidthØ00__func__Ø000))), unsafe.Pointer(str(119908))) 130684 crt.X__builtin_abort(tls) 130685 return i32(0) 130686 }() 130687 }() 130688 { 130689 p := &_wIndex 130690 *p = (*p) + uint32(func() int32 { 130691 if int32(_1_x) < i32(0) { 130692 return i32(1) 130693 } 130694 return int32((*XColumn)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aCol)) + 16*uintptr(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))))).X5) 130695 }()) 130696 sink985 = *p 130697 } 130698 _i += 1 130699 goto _0 130700 130701 _3: 130702 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(48 /* X12 */))) = _sqlite3LogEst(tls, uint64(_wIndex*uint32(i32(4)))) 130703 return 130704 130705 } 130706 130707 var _estimateIndexWidthØ00__func__Ø000 [19]int8 // - 130708 130709 func init() { 130710 crt.Xstrncpy(nil, &_estimateIndexWidthØ00__func__Ø000[0], str(119932), 19) 130711 } 130712 130713 func _sqlite3NestedParse(tls *crt.TLS, _pParse *XParse, _zFormat *int8, args ...interface{}) { // sqlite3.c:99702:1 130714 var _ap []interface{} // sqlite3.c:99703:11 130715 _ = _ap 130716 var _zSql *int8 // sqlite3.c:99704:8 130717 _ = _zSql 130718 var _zErrMsg *int8 // sqlite3.c:99705:8 130719 _ = _zErrMsg 130720 var _db *Xsqlite3 // sqlite3.c:99706:11 130721 _ = _db 130722 var _saveBuf [84]int8 // sqlite3.c:99707:8 130723 _ = _saveBuf 130724 _zErrMsg = nil 130725 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 130726 if (_pParse.X16) == 0 { 130727 goto _0 130728 } 130729 130730 return 130731 130732 _0: 130733 func() int32 { 130734 if int32(_pParse.X6) < i32(10) { 130735 return i32(0) 130736 } 130737 return func() int32 { 130738 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99710), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3NestedParseØ00__func__Ø000))), unsafe.Pointer(str(119952))) 130739 crt.X__builtin_abort(tls) 130740 return i32(0) 130741 }() 130742 }() 130743 _ap = args 130744 _zSql = _sqlite3VMPrintf(tls, _db, _zFormat, _ap) 130745 _ap = nil 130746 if _zSql != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 130747 goto _3 130748 } 130749 130750 return 130751 130752 _3: 130753 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(18 /* X6 */))) += 1 130754 crt.Xmemcpy(tls, (unsafe.Pointer)(&_saveBuf), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u32(400))))))))), u32(84)) 130755 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u32(400))))))))), i32(0), u32(84)) 130756 _sqlite3RunParser(tls, _pParse, _zSql, &_zErrMsg) 130757 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) 130758 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zSql)) 130759 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pParse))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(u32(400))))))))), (unsafe.Pointer)(&_saveBuf), u32(84)) 130760 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(18 /* X6 */))) -= 1 130761 return 130762 130763 } 130764 130765 var _sqlite3NestedParseØ00__func__Ø000 [19]int8 // - 130766 130767 func init() { 130768 crt.Xstrncpy(nil, &_sqlite3NestedParseØ00__func__Ø000[0], str(119972), 19) 130769 } 130770 130771 func _sqlite3RefillIndex(tls *crt.TLS, _pParse *XParse, _pIndex *XIndex, _memRootPage int32) { // sqlite3.c:102217:1 130772 var _pTab *XTable // sqlite3.c:102218:9 130773 _ = _pTab 130774 var _iTab int32 // sqlite3.c:102219:7 130775 _ = _iTab 130776 var _iIdx int32 // sqlite3.c:102220:7 130777 _ = _iIdx 130778 var _iSorter int32 // sqlite3.c:102221:7 130779 _ = _iSorter 130780 var _addr1 int32 // sqlite3.c:102222:7 130781 _ = _addr1 130782 var _addr2 int32 // sqlite3.c:102223:7 130783 _ = _addr2 130784 var _tnum int32 // sqlite3.c:102224:7 130785 _ = _tnum 130786 var _iPartIdxLabel int32 // sqlite3.c:102225:7 130787 _ = _iPartIdxLabel 130788 var _v *XVdbe // sqlite3.c:102226:8 130789 _ = _v 130790 var _pKey *XKeyInfo // sqlite3.c:102227:11 130791 _ = _pKey 130792 var _regRecord int32 // sqlite3.c:102228:7 130793 _ = _regRecord 130794 var _db *Xsqlite3 // sqlite3.c:102229:11 130795 _ = _db 130796 var _iDb int32 // sqlite3.c:102230:7 130797 _ = _iDb 130798 var _4_j2 int32 // sqlite3.c:102275:9 130799 _ = _4_j2 130800 _pTab = (*XTable)(unsafe.Pointer(_pIndex.X3)) 130801 _iTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 130802 _iIdx = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 130803 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 130804 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pIndex.X6))) 130805 if _sqlite3AuthCheck(tls, _pParse, i32(27), _pIndex.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) == 0 { 130806 goto _0 130807 } 130808 130809 return 130810 130811 _0: 130812 _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(i32(1)), _pTab.X0) 130813 _v = _sqlite3GetVdbe(tls, _pParse) 130814 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 130815 goto _1 130816 } 130817 130818 return 130819 130820 _1: 130821 if _memRootPage < i32(0) { 130822 goto _2 130823 } 130824 130825 _tnum = _memRootPage 130826 goto _3 130827 130828 _2: 130829 _tnum = _pIndex.X11 130830 _3: 130831 _pKey = _sqlite3KeyInfoOfIndex(tls, _pParse, _pIndex) 130832 func() int32 { 130833 if ((_pKey != (*XKeyInfo)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0)) || (_pParse.X16) != 0 { 130834 return i32(0) 130835 } 130836 return func() int32 { 130837 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102250), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RefillIndexØ00__func__Ø000))), unsafe.Pointer(str(119992))) 130838 crt.X__builtin_abort(tls) 130839 return i32(0) 130840 }() 130841 }() 130842 _iSorter = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 130843 _sqlite3VdbeAddOp4(tls, _v, i32(109), _iSorter, i32(0), int32(_pIndex.X13), (*int8)(unsafe.Pointer(_sqlite3KeyInfoRef(tls, _pKey))), i32(-5)) 130844 _sqlite3OpenTable(tls, _pParse, _iTab, _iDb, _pTab, i32(105)) 130845 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iTab, i32(0)) 130846 _regRecord = _sqlite3GetTempReg(tls, _pParse) 130847 _sqlite3GenerateIndexKey(tls, _pParse, _pIndex, _iTab, _regRecord, i32(0), &_iPartIdxLabel, (*XIndex)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 130848 _sqlite3VdbeAddOp2(tls, _v, i32(125), _iSorter, _regRecord) 130849 _sqlite3ResolvePartIdxLabel(tls, _pParse, _iPartIdxLabel) 130850 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iTab, _addr1+i32(1)) 130851 _sqlite3VdbeJumpHere(tls, _v, _addr1) 130852 if _memRootPage >= i32(0) { 130853 goto _8 130854 } 130855 130856 _sqlite3VdbeAddOp2(tls, _v, i32(131), _tnum, _iDb) 130857 _8: 130858 _sqlite3VdbeAddOp4(tls, _v, i32(106), _iIdx, _tnum, _iDb, (*int8)(unsafe.Pointer(_pKey)), i32(-5)) 130859 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1)|func() int32 { 130860 if _memRootPage >= i32(0) { 130861 return i32(16) 130862 } 130863 return i32(0) 130864 }())) 130865 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(56), _iSorter, i32(0)) 130866 if int32(_pIndex.X15) == i32(0) { 130867 goto _11 130868 } 130869 130870 _4_j2 = _sqlite3VdbeCurrentAddr(tls, _v) + i32(3) 130871 _sqlite3VdbeGoto(tls, _v, _4_j2) 130872 _addr2 = _sqlite3VdbeCurrentAddr(tls, _v) 130873 _sqlite3VdbeAddOp4Int(tls, _v, i32(120), _iSorter, _4_j2, _regRecord, int32(_pIndex.X13)) 130874 _sqlite3UniqueConstraint(tls, _pParse, i32(2), _pIndex) 130875 goto _12 130876 130877 _11: 130878 _addr2 = _sqlite3VdbeCurrentAddr(tls, _v) 130879 _12: 130880 _sqlite3VdbeAddOp3(tls, _v, i32(121), _iSorter, _regRecord, _iIdx) 130881 _sqlite3VdbeAddOp3(tls, _v, i32(53), _iIdx, i32(0), i32(-1)) 130882 _sqlite3VdbeAddOp2(tls, _v, i32(126), _iIdx, _regRecord) 130883 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) 130884 _sqlite3ReleaseTempReg(tls, _pParse, _regRecord) 130885 _sqlite3VdbeAddOp2(tls, _v, i32(3), _iSorter, _addr2) 130886 _sqlite3VdbeJumpHere(tls, _v, _addr1) 130887 _sqlite3VdbeAddOp1(tls, _v, i32(112), _iTab) 130888 _sqlite3VdbeAddOp1(tls, _v, i32(112), _iIdx) 130889 _sqlite3VdbeAddOp1(tls, _v, i32(112), _iSorter) 130890 return 130891 130892 } 130893 130894 var _sqlite3RefillIndexØ00__func__Ø000 [19]int8 // - 130895 130896 func init() { 130897 crt.Xstrncpy(nil, &_sqlite3RefillIndexØ00__func__Ø000[0], str(120036), 19) 130898 } 130899 130900 func _sqlite3ResolvePartIdxLabel(tls *crt.TLS, _pParse *XParse, _iLabel int32) { // sqlite3.c:105280:1 130901 if _iLabel == 0 { 130902 goto _0 130903 } 130904 130905 _sqlite3VdbeResolveLabel(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), _iLabel) 130906 _sqlite3ExprCachePop(tls, _pParse) 130907 _0: 130908 return 130909 130910 } 130911 130912 func _sqlite3UniqueConstraint(tls *crt.TLS, _pParse *XParse, _onError int32, _pIdx *XIndex) { // sqlite3.c:103616:1 130913 var _zErr *int8 // sqlite3.c:103621:8 130914 _ = _zErr 130915 var _j int32 // sqlite3.c:103622:7 130916 _ = _j 130917 var _errMsg XStrAccum // sqlite3.c:103623:12 130918 _ = _errMsg 130919 var _pTab *XTable // sqlite3.c:103624:9 130920 _ = _pTab 130921 var _3_zCol *int8 // sqlite3.c:103631:12 130922 _ = _3_zCol 130923 _pTab = (*XTable)(unsafe.Pointer(_pIdx.X3)) 130924 _sqlite3StrAccumInit(tls, &_errMsg, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(200)) 130925 if (*XExprList)(unsafe.Pointer(_pIdx.X10)) == nil { 130926 goto _0 130927 } 130928 130929 _sqlite3XPrintf(tls, &_errMsg, str(120056), unsafe.Pointer(_pIdx.X0)) 130930 goto _1 130931 130932 _0: 130933 _j = i32(0) 130934 _2: 130935 if _j >= int32(_pIdx.X13) { 130936 goto _5 130937 } 130938 130939 func() int32 { 130940 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))) >= i32(0) { 130941 return i32(0) 130942 } 130943 return func() int32 { 130944 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103632), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UniqueConstraintØ00__func__Ø000))), unsafe.Pointer(str(120068))) 130945 crt.X__builtin_abort(tls) 130946 return i32(0) 130947 }() 130948 }() 130949 _3_zCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_j)))))).X0 130950 if _j == 0 { 130951 goto _8 130952 } 130953 130954 _sqlite3StrAccumAppend(tls, &_errMsg, str(120092), i32(2)) 130955 _8: 130956 _sqlite3XPrintf(tls, &_errMsg, str(7872), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_3_zCol)) 130957 _j += 1 130958 goto _2 130959 130960 _5: 130961 _1: 130962 _zErr = _sqlite3StrAccumFinish(tls, &_errMsg) 130963 _sqlite3HaltConstraint(tls, _pParse, func() int32 { 130964 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) == i32(2) { 130965 return i32(1555) 130966 } 130967 return i32(2067) 130968 }(), _onError, _zErr, int8(i32(-1)), uint8(i32(2))) 130969 return 130970 130971 } 130972 130973 var _sqlite3UniqueConstraintØ00__func__Ø000 [24]int8 // - 130974 130975 func init() { 130976 crt.Xstrncpy(nil, &_sqlite3UniqueConstraintØ00__func__Ø000[0], str(120096), 24) 130977 } 130978 130979 func _sqlite3ChangeCookie(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:100922:1 130980 var _db *Xsqlite3 // sqlite3.c:100923:11 130981 _ = _db 130982 var _v *XVdbe // sqlite3.c:100924:8 130983 _ = _v 130984 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 130985 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 130986 func() int32 { 130987 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 130988 return i32(0) 130989 } 130990 return func() int32 { 130991 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100925), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ChangeCookieØ00__func__Ø000))), unsafe.Pointer(str(54008))) 130992 crt.X__builtin_abort(tls) 130993 return i32(0) 130994 }() 130995 }() 130996 _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(1), ((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4)).X0)+i32(1)) 130997 return 130998 130999 } 131000 131001 var _sqlite3ChangeCookieØ00__func__Ø000 [20]int8 // - 131002 131003 func init() { 131004 crt.Xstrncpy(nil, &_sqlite3ChangeCookieØ00__func__Ø000[0], str(120120), 20) 131005 } 131006 131007 func _sqlite3VdbeAddParseSchemaOp(tls *crt.TLS, _p *XVdbe, _iDb int32, _zWhere *int8) { // sqlite3.c:71635:1 131008 var _j int32 // sqlite3.c:71636:7 131009 _ = _j 131010 _sqlite3VdbeAddOp4(tls, _p, i32(137), _iDb, i32(0), i32(0), _zWhere, i32(-1)) 131011 _j = i32(0) 131012 _0: 131013 if _j >= ((*Xsqlite3)(unsafe.Pointer(_p.X0)).X5) { 131014 goto _3 131015 } 131016 131017 _sqlite3VdbeUsesBtree(tls, _p, _j) 131018 _j += 1 131019 goto _0 131020 131021 _3: 131022 return 131023 131024 } 131025 131026 func _resizeIndexObject(tls *crt.TLS, _db *Xsqlite3, _pIdx *XIndex, _N int32) (r0 int32) { // sqlite3.c:101055:1 131027 var _zExtra *int8 // sqlite3.c:101056:8 131028 _ = _zExtra 131029 var _nByte int32 // sqlite3.c:101057:7 131030 _ = _nByte 131031 if int32(_pIdx.X14) < _N { 131032 goto _0 131033 } 131034 131035 r0 = i32(0) 131036 return 131037 131038 _0: 131039 func() int32 { 131040 if int32((uint32((_pIdx.X16)>>uint(i32(4)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 131041 return i32(0) 131042 } 131043 return func() int32 { 131044 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101059), unsafe.Pointer((*int8)(unsafe.Pointer(&_resizeIndexObjectØ00__func__Ø000))), unsafe.Pointer(str(120140))) 131045 crt.X__builtin_abort(tls) 131046 return i32(0) 131047 }() 131048 }() 131049 _nByte = int32(u32(7) * uint32(_N)) 131050 _zExtra = (*int8)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_nByte)))) 131051 if _zExtra != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 131052 goto _3 131053 } 131054 131055 r0 = _sqlite3NomemError(tls, i32(101062)) 131056 return 131057 131058 _3: 131059 crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_pIdx.X8), u32(4)*uint32(_pIdx.X14)) 131060 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(32 /* X8 */))) = (**int8)(unsafe.Pointer(_zExtra)) 131061 { 131062 p := &_zExtra 131063 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u32(4)*uint32(_N)))) 131064 sink1025 = *p 131065 } 131066 crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_pIdx.X1), u32(2)*uint32(_pIdx.X14)) 131067 *(**int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(4 /* X1 */))) = (*int16)(unsafe.Pointer(_zExtra)) 131068 { 131069 p := &_zExtra 131070 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(u32(2)*uint32(_N)))) 131071 sink1025 = *p 131072 } 131073 crt.Xmemcpy(tls, (unsafe.Pointer)(_zExtra), (unsafe.Pointer)(_pIdx.X7), uint32(_pIdx.X14)) 131074 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(28 /* X7 */))) = (*uint8)(unsafe.Pointer(_zExtra)) 131075 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx)) + uintptr(52 /* X14 */))) = uint16(_N) 131076 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx))+uintptr(55 /* X16 */))), int8(i32(1)), 16, 4) 131077 r0 = i32(0) 131078 return 131079 131080 } 131081 131082 var _resizeIndexObjectØ00__func__Ø000 [18]int8 // - 131083 131084 func init() { 131085 crt.Xstrncpy(nil, &_resizeIndexObjectØ00__func__Ø000[0], str(120160), 18) 131086 } 131087 131088 func _estimateTableWidth(tls *crt.TLS, _pTab *XTable) { // sqlite3.c:101079:1 131089 var _wTable uint32 // sqlite3.c:101080:12 131090 _ = _wTable 131091 var _pTabCol *XColumn // sqlite3.c:101081:16 131092 _ = _pTabCol 131093 var _i int32 // sqlite3.c:101082:7 131094 _ = _i 131095 _wTable = u32(0) 131096 *func() **XColumn { _i = int32(_pTab.X11); return &_pTabCol }() = (*XColumn)(unsafe.Pointer(_pTab.X1)) 131097 _0: 131098 if _i <= i32(0) { 131099 goto _3 131100 } 131101 131102 { 131103 p := &_wTable 131104 *p = (*p) + uint32(_pTabCol.X5) 131105 sink985 = *p 131106 } 131107 *(*uintptr)(unsafe.Pointer(func() **XColumn { _i -= 1; return &_pTabCol }())) += uintptr(16) 131108 goto _0 131109 131110 _3: 131111 if int32(_pTab.X10) >= i32(0) { 131112 goto _4 131113 } 131114 131115 _wTable += 1 131116 _4: 131117 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(46 /* X13 */))) = _sqlite3LogEst(tls, uint64(_wTable*uint32(i32(4)))) 131118 return 131119 131120 } 131121 131122 func _sqlite3TableAffinity(tls *crt.TLS, _v *XVdbe, _pTab *XTable, _iReg int32) { // sqlite3.c:108698:1 131123 var _i int32 // sqlite3.c:108699:7 131124 _ = _i 131125 var _zColAff *int8 // sqlite3.c:108700:8 131126 _ = _zColAff 131127 var _1_db *Xsqlite3 // sqlite3.c:108702:13 131128 _ = _1_db 131129 _zColAff = _pTab.X5 131130 if _zColAff != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 131131 goto _0 131132 } 131133 131134 _1_db = _sqlite3VdbeDb(tls, _v) 131135 _zColAff = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(int32(_pTab.X11)+i32(1))))) 131136 if _zColAff != nil { 131137 goto _1 131138 } 131139 131140 _sqlite3OomFault(tls, _1_db) 131141 return 131142 131143 _1: 131144 _i = i32(0) 131145 _2: 131146 if _i >= int32(_pTab.X11) { 131147 goto _5 131148 } 131149 131150 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zColAff)) + 1*uintptr(_i))) = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_i))).X4 131151 _i += 1 131152 goto _2 131153 131154 _5: 131155 _6: 131156 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zColAff)) + 1*uintptr(postInc961(&_i, int32(-1))))) = int8(i32(0)) 131157 if (_i >= i32(0)) && (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zColAff)) + 1*uintptr(_i)))) == i32(65)) { 131158 goto _6 131159 } 131160 131161 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(20 /* X5 */))) = _zColAff 131162 _0: 131163 _i = _sqlite3Strlen30(tls, _zColAff) 131164 if _i == 0 { 131165 goto _8 131166 } 131167 131168 if _iReg == 0 { 131169 goto _9 131170 } 131171 131172 _sqlite3VdbeAddOp4(tls, _v, i32(99), _iReg, _i, i32(0), _zColAff, _i) 131173 goto _10 131174 131175 _9: 131176 _sqlite3VdbeChangeP4(tls, _v, i32(-1), _zColAff, _i) 131177 _10: 131178 _8: 131179 return 131180 131181 } 131182 131183 func _createTableStmt(tls *crt.TLS, _db *Xsqlite3, _p *XTable) (r0 *int8) { // sqlite3.c:100987:1 131184 var _i int32 // sqlite3.c:100988:7 131185 _ = _i 131186 var _k int32 // sqlite3.c:100988:10 131187 _ = _k 131188 var _n int32 // sqlite3.c:100988:13 131189 _ = _n 131190 var _zStmt *int8 // sqlite3.c:100989:8 131191 _ = _zStmt 131192 var _zSep *int8 // sqlite3.c:100990:8 131193 _ = _zSep 131194 var _zSep2 *int8 // sqlite3.c:100990:15 131195 _ = _zSep2 131196 var _zEnd *int8 // sqlite3.c:100990:23 131197 _ = _zEnd 131198 var _pCol *XColumn // sqlite3.c:100991:10 131199 _ = _pCol 131200 var _5_len int32 // sqlite3.c:101024:9 131201 _ = _5_len 131202 var _5_zType *int8 // sqlite3.c:101025:16 131203 _ = _5_zType 131204 _n = i32(0) 131205 *func() *int32 { _pCol = (*XColumn)(unsafe.Pointer(_p.X1)); return &_i }() = i32(0) 131206 _0: 131207 if _i >= int32(_p.X11) { 131208 goto _3 131209 } 131210 131211 { 131212 p := &_n 131213 *p = (*p) + (_identLength(tls, _pCol.X0) + i32(5)) 131214 sink961 = *p 131215 } 131216 *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(16) 131217 goto _0 131218 131219 _3: 131220 { 131221 p := &_n 131222 *p = (*p) + _identLength(tls, _p.X0) 131223 sink961 = *p 131224 } 131225 if _n >= i32(50) { 131226 goto _4 131227 } 131228 131229 _zSep = str(196) 131230 _zSep2 = str(113828) 131231 _zEnd = str(39920) 131232 goto _5 131233 131234 _4: 131235 _zSep = str(120180) 131236 _zSep2 = str(120184) 131237 _zEnd = str(120192) 131238 _5: 131239 { 131240 p := &_n 131241 *p = (*p) + (i32(35) + (i32(6) * int32(_p.X11))) 131242 sink961 = *p 131243 } 131244 _zStmt = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(_n)))) 131245 if _zStmt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 131246 goto _6 131247 } 131248 131249 _sqlite3OomFault(tls, _db) 131250 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 131251 return 131252 131253 _6: 131254 Xsqlite3_snprintf(tls, _n, _zStmt, str(120196)) 131255 _k = _sqlite3Strlen30(tls, _zStmt) 131256 _identPut(tls, _zStmt, &_k, _p.X0) 131257 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt)) + 1*uintptr(postInc961(&_k, int32(1))))) = int8(i32(40)) 131258 *func() *int32 { _pCol = (*XColumn)(unsafe.Pointer(_p.X1)); return &_i }() = i32(0) 131259 _7: 131260 if _i >= int32(_p.X11) { 131261 goto _10 131262 } 131263 131264 Xsqlite3_snprintf(tls, _n-_k, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k))), _zSep) 131265 { 131266 p := &_k 131267 *p = (*p) + _sqlite3Strlen30(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k)))) 131268 sink961 = *p 131269 } 131270 _zSep = _zSep2 131271 _identPut(tls, _zStmt, &_k, _pCol.X0) 131272 func() int32 { 131273 if (int32(_pCol.X4) - i32(65)) >= i32(0) { 131274 return i32(0) 131275 } 131276 return func() int32 { 131277 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101031), unsafe.Pointer((*int8)(unsafe.Pointer(&_createTableStmtØ00__func__Ø000))), unsafe.Pointer(str(120212))) 131278 crt.X__builtin_abort(tls) 131279 return i32(0) 131280 }() 131281 }() 131282 func() int32 { 131283 if (int32(_pCol.X4) - i32(65)) < i32(5) { 131284 return i32(0) 131285 } 131286 return func() int32 { 131287 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101032), unsafe.Pointer((*int8)(unsafe.Pointer(&_createTableStmtØ00__func__Ø000))), unsafe.Pointer(str(120248))) 131288 crt.X__builtin_abort(tls) 131289 return i32(0) 131290 }() 131291 }() 131292 _5_zType = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_createTableStmtØ00azTypeØ001)) + 4*uintptr(int32(_pCol.X4)-i32(65)))) 131293 _5_len = _sqlite3Strlen30(tls, _5_zType) 131294 func() int32 { 131295 if (int32(_pCol.X4) == i32(65)) || (int32(_pCol.X4) == int32(_sqlite3AffinityType(tls, _5_zType, (*uint8)(unsafe.Pointer(uintptr(i32(0))))))) { 131296 return i32(0) 131297 } 131298 return func() int32 { 131299 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101041), unsafe.Pointer((*int8)(unsafe.Pointer(&_createTableStmtØ00__func__Ø000))), unsafe.Pointer(str(120300))) 131300 crt.X__builtin_abort(tls) 131301 return i32(0) 131302 }() 131303 }() 131304 crt.Xmemcpy(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k)))), (unsafe.Pointer)(_5_zType), uint32(_5_len)) 131305 { 131306 p := &_k 131307 *p = (*p) + _5_len 131308 sink961 = *p 131309 } 131310 func() int32 { 131311 if _k <= _n { 131312 return i32(0) 131313 } 131314 return func() int32 { 131315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101045), unsafe.Pointer((*int8)(unsafe.Pointer(&_createTableStmtØ00__func__Ø000))), unsafe.Pointer(str(120384))) 131316 crt.X__builtin_abort(tls) 131317 return i32(0) 131318 }() 131319 }() 131320 *(*uintptr)(unsafe.Pointer(func() **XColumn { _i += 1; return &_pCol }())) += uintptr(16) 131321 goto _7 131322 131323 _10: 131324 Xsqlite3_snprintf(tls, _n-_k, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStmt))+1*uintptr(_k))), str(25612), unsafe.Pointer(_zEnd)) 131325 r0 = _zStmt 131326 return 131327 131328 } 131329 131330 func _identLength(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:100938:1 131331 var _n int32 // sqlite3.c:100939:7 131332 _ = _n 131333 _n = i32(0) 131334 _0: 131335 if (*_z) == 0 { 131336 goto _3 131337 } 131338 131339 if int32(*_z) != i32(34) { 131340 goto _4 131341 } 131342 131343 _n += 1 131344 _4: 131345 *(*uintptr)(unsafe.Pointer(func() **int8 { _n += 1; return &_z }())) += uintptr(1) 131346 goto _0 131347 131348 _3: 131349 r0 = _n + i32(2) 131350 return 131351 131352 } 131353 131354 func _identPut(tls *crt.TLS, _z *int8, _pIdx *int32, _zSignedIdent *int8) { // sqlite3.c:100959:1 131355 var _zIdent *uint8 // sqlite3.c:100960:17 131356 _ = _zIdent 131357 var _i int32 // sqlite3.c:100961:7 131358 _ = _i 131359 var _j int32 // sqlite3.c:100961:10 131360 _ = _j 131361 var _needQuote int32 // sqlite3.c:100961:13 131362 _ = _needQuote 131363 _zIdent = (*uint8)(unsafe.Pointer(_zSignedIdent)) 131364 _i = *_pIdx 131365 _j = i32(0) 131366 _0: 131367 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) == 0 { 131368 goto _3 131369 } 131370 131371 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))))))&i32(6)) != 0 || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) == i32(95) { 131372 goto _5 131373 } 131374 131375 goto _3 131376 131377 _5: 131378 _j += 1 131379 goto _0 131380 131381 _3: 131382 _needQuote = bool2int((((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(i32(0))))))))&i32(4)) != 0 || (_sqlite3KeywordCode(tls, _zIdent, _j) != i32(55))) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) != i32(0))) || (_j == i32(0))) 131383 if _needQuote == 0 { 131384 goto _9 131385 } 131386 131387 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(i32(34)) 131388 _9: 131389 _j = i32(0) 131390 _10: 131391 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) == 0 { 131392 goto _13 131393 } 131394 131395 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) 131396 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIdent)) + 1*uintptr(_j)))) != i32(34) { 131397 goto _14 131398 } 131399 131400 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(i32(34)) 131401 _14: 131402 _j += 1 131403 goto _10 131404 131405 _13: 131406 if _needQuote == 0 { 131407 goto _15 131408 } 131409 131410 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(postInc961(&_i, int32(1))))) = int8(i32(34)) 131411 _15: 131412 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_i))) = int8(i32(0)) 131413 *_pIdx = _i 131414 return 131415 131416 } 131417 131418 func _sqlite3KeywordCode(tls *crt.TLS, _z *uint8, _n int32) (r0 int32) { // sqlite3.c:139037:1 131419 var _id int32 // sqlite3.c:139038:7 131420 _ = _id 131421 _id = i32(55) 131422 _keywordCode(tls, (*int8)(unsafe.Pointer(_z)), _n, &_id) 131423 r0 = _id 131424 return 131425 131426 } 131427 131428 var _createTableStmtØ00__func__Ø000 [16]int8 // - 131429 131430 func init() { 131431 crt.Xstrncpy(nil, &_createTableStmtØ00__func__Ø000[0], str(120392), 16) 131432 } 131433 131434 var _createTableStmtØ00azTypeØ001 [5]*int8 // sqlite3.c:101017:23 131435 131436 func init() { 131437 _createTableStmtØ00azTypeØ001 = [5]*int8{str(196), str(120408), str(120416), str(120424), str(120432)} 131438 } 131439 131440 func _sqlite3Utf8CharLen(tls *crt.TLS, _zIn *int8, _nByte int32) (r0 int32) { // sqlite3.c:27464:1 131441 var _r int32 // sqlite3.c:27465:7 131442 _ = _r 131443 var _z *uint8 // sqlite3.c:27466:12 131444 _ = _z 131445 var _zTerm *uint8 // sqlite3.c:27467:12 131446 _ = _zTerm 131447 _r = i32(0) 131448 _z = (*uint8)(unsafe.Pointer(_zIn)) 131449 if _nByte < i32(0) { 131450 goto _0 131451 } 131452 131453 _zTerm = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_nByte))) 131454 goto _1 131455 131456 _0: 131457 _zTerm = (*uint8)(unsafe.Pointer(uintptr(u32(4294967295)))) 131458 _1: 131459 func() int32 { 131460 if uintptr(unsafe.Pointer(_z)) <= uintptr(unsafe.Pointer(_zTerm)) { 131461 return i32(0) 131462 } 131463 return func() int32 { 131464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(27473), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3Utf8CharLenØ00__func__Ø000))), unsafe.Pointer(str(120440))) 131465 crt.X__builtin_abort(tls) 131466 return i32(0) 131467 }() 131468 }() 131469 _4: 131470 if int32(*_z) == i32(0) || uintptr(unsafe.Pointer(_z)) >= uintptr(unsafe.Pointer(_zTerm)) { 131471 goto _5 131472 } 131473 131474 if int32(*postInc6921(&_z, 1)) < i32(192) { 131475 goto _7 131476 } 131477 131478 _8: 131479 if (int32(*_z) & i32(192)) != i32(128) { 131480 goto _9 131481 } 131482 131483 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 131484 goto _8 131485 131486 _9: 131487 _7: 131488 _r += 1 131489 goto _4 131490 131491 _5: 131492 r0 = _r 131493 return 131494 131495 } 131496 131497 var _sqlite3Utf8CharLenØ00__func__Ø000 [19]int8 // - 131498 131499 func init() { 131500 crt.Xstrncpy(nil, &_sqlite3Utf8CharLenØ00__func__Ø000[0], str(120452), 19) 131501 } 131502 131503 func _sqlite3AddColumn(tls *crt.TLS, _pParse *XParse, _pName *XToken, _pType *XToken) { // sqlite3.c:100501:1 131504 var _p *XTable // sqlite3.c:100502:9 131505 _ = _p 131506 var _i int32 // sqlite3.c:100503:7 131507 _ = _i 131508 var _z *int8 // sqlite3.c:100504:8 131509 _ = _z 131510 var _zType *int8 // sqlite3.c:100505:8 131511 _ = _zType 131512 var _pCol *XColumn // sqlite3.c:100506:10 131513 _ = _pCol 131514 var _db *Xsqlite3 // sqlite3.c:100507:11 131515 _ = _db 131516 var _4_aNew *XColumn // sqlite3.c:100528:12 131517 _ = _4_aNew 131518 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 131519 if store7765325(&_p, (*XTable)(unsafe.Pointer(_pParse.X63))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 131520 goto _0 131521 } 131522 131523 return 131524 131525 _0: 131526 if (int32(_p.X11) + i32(1)) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(2))))) { 131527 goto _1 131528 } 131529 131530 _sqlite3ErrorMsg(tls, _pParse, str(120472), unsafe.Pointer(_p.X0)) 131531 return 131532 131533 _1: 131534 _z = (*int8)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64(((_pName.X1)+(_pType.X1))+uint32(i32(2)))))) 131535 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 131536 goto _2 131537 } 131538 131539 return 131540 131541 _2: 131542 crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(_pName.X0), _pName.X1) 131543 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_pName.X1))) = int8(i32(0)) 131544 _sqlite3Dequote(tls, _z) 131545 _i = i32(0) 131546 _3: 131547 if _i >= int32(_p.X11) { 131548 goto _6 131549 } 131550 131551 if Xsqlite3_stricmp(tls, _z, (*XColumn)(unsafe.Pointer(uintptr(_p.X1)+16*uintptr(_i))).X0) != i32(0) { 131552 goto _7 131553 } 131554 131555 _sqlite3ErrorMsg(tls, _pParse, str(120496), unsafe.Pointer(_z)) 131556 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) 131557 return 131558 131559 _7: 131560 _i += 1 131561 goto _3 131562 131563 _6: 131564 if (int32(_p.X11) & i32(7)) != i32(0) { 131565 goto _8 131566 } 131567 131568 _4_aNew = (*XColumn)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, _p.X1, uint64(uint32(int32(_p.X11)+i32(8))*u32(16))))) 131569 if _4_aNew != (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) { 131570 goto _9 131571 } 131572 131573 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) 131574 return 131575 131576 _9: 131577 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = _4_aNew 131578 _8: 131579 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_p.X1) + 16*uintptr(_p.X11))) 131580 crt.Xmemset(tls, (unsafe.Pointer)(_pCol), i32(0), u32(16)) 131581 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(0 /* X0 */))) = _z 131582 if (_pType.X1) != uint32(i32(0)) { 131583 goto _10 131584 } 131585 131586 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(13 /* X4 */))) = int8(i32(65)) 131587 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(14 /* X5 */))) = uint8(i32(1)) 131588 goto _11 131589 131590 _10: 131591 _zType = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_z))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_sqlite3Strlen30(tls, _z)))))))))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(1)))))))) 131592 crt.Xmemcpy(tls, (unsafe.Pointer)(_zType), (unsafe.Pointer)(_pType.X0), _pType.X1) 131593 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zType)) + 1*uintptr(_pType.X1))) = int8(i32(0)) 131594 _sqlite3Dequote(tls, _zType) 131595 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(13 /* X4 */))) = _sqlite3AffinityType(tls, _zType, (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol))+uintptr(14 /* X5 */)))) 131596 { 131597 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(15 /* X6 */))) 131598 *p = uint8(int32(*p) | i32(4)) 131599 sink6915 = *p 131600 } 131601 _11: 131602 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(42 /* X11 */))) += 1 131603 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(84 /* X28 */))))) + uintptr(4 /* X1 */))) = uint32(i32(0)) 131604 return 131605 131606 } 131607 131608 func _sqlite3AddDefaultValue(tls *crt.TLS, _pParse *XParse, _pSpan *XExprSpan) { // sqlite3.c:100669:1 131609 var _p *XTable // sqlite3.c:100670:9 131610 _ = _p 131611 var _pCol *XColumn // sqlite3.c:100671:10 131612 _ = _pCol 131613 var _db *Xsqlite3 // sqlite3.c:100672:11 131614 _ = _db 131615 var _3_x XExpr // sqlite3.c:100684:12 131616 _ = _3_x 131617 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 131618 _p = (*XTable)(unsafe.Pointer(_pParse.X63)) 131619 if _p == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 131620 goto _0 131621 } 131622 131623 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_p.X1) + 16*uintptr(int32(_p.X11)-i32(1)))) 131624 if _sqlite3ExprIsConstantOrFunction(tls, (*XExpr)(unsafe.Pointer(_pSpan.X0)), (*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != 0 { 131625 goto _1 131626 } 131627 131628 _sqlite3ErrorMsg(tls, _pParse, str(120524), unsafe.Pointer(_pCol.X0)) 131629 goto _2 131630 131631 _1: 131632 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pCol.X1))) 131633 crt.Xmemset(tls, (unsafe.Pointer)(&_3_x), i32(0), u32(48)) 131634 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(0 /* X0 */))) = uint8(i32(161)) 131635 *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(8 /* X3 */))))) = _sqlite3DbStrNDup(tls, _db, _pSpan.X1, uint64(int32((uintptr(unsafe.Pointer(_pSpan.X2))-uintptr(unsafe.Pointer(_pSpan.X1)))/1))) 131636 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(12 /* X4 */))))) = (*XExpr)(unsafe.Pointer(_pSpan.X0)) 131637 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(4 /* X2 */))) = uint32(i32(4096)) 131638 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(4 /* X1 */))))) = _sqlite3ExprDup(tls, _db, &_3_x, i32(1)) 131639 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_x)) + uintptr(8 /* X3 */))))))) 131640 _2: 131641 _0: 131642 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pSpan.X0))) 131643 return 131644 131645 } 131646 131647 func _sqlite3ExprIsConstantOrFunction(tls *crt.TLS, _p *XExpr, _isInit uint8) (r0 int32) { // sqlite3.c:92568:1 131648 func() int32 { 131649 if (int32(_isInit) == i32(0)) || (int32(_isInit) == i32(1)) { 131650 return i32(0) 131651 } 131652 return func() int32 { 131653 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92569), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprIsConstantOrFunctionØ00__func__Ø000))), unsafe.Pointer(str(120572))) 131654 crt.X__builtin_abort(tls) 131655 return i32(0) 131656 }() 131657 }() 131658 r0 = _exprIsConst(tls, _p, i32(4)+int32(_isInit), i32(0)) 131659 return 131660 131661 } 131662 131663 var _sqlite3ExprIsConstantOrFunctionØ00__func__Ø000 [32]int8 // - 131664 131665 func init() { 131666 crt.Xstrncpy(nil, &_sqlite3ExprIsConstantOrFunctionØ00__func__Ø000[0], str(120596), 32) 131667 } 131668 131669 func _spanExpr(tls *crt.TLS, _pOut *XExprSpan, _pParse *XParse, _op int32, _t XToken) { // sqlite3.c:134955:3 131670 var _p *XExpr // sqlite3.c:134956:10 131671 _ = _p 131672 _p = (*XExpr)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64((u32(48)+(_t.X1))+uint32(i32(1)))))) 131673 if _p == nil { 131674 goto _0 131675 } 131676 131677 crt.Xmemset(tls, (unsafe.Pointer)(_p), i32(0), u32(48)) 131678 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint8(_op) 131679 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) = uint32(i32(8388608)) 131680 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(34 /* X10 */))) = int16(i32(-1)) 131681 *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))) = (*int8)(unsafe.Pointer((*XExpr)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 48*uintptr(i32(1)))))) 131682 crt.Xmemcpy(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))), (unsafe.Pointer)(_t.X0), _t.X1) 131683 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) + 1*uintptr(_t.X1))) = int8(i32(0)) 131684 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))))))) & i32(128)) == 0 { 131685 goto _1 131686 } 131687 131688 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */))))))) + 1*uintptr(i32(0))))) != i32(34) { 131689 goto _2 131690 } 131691 131692 { 131693 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X2 */))) 131694 *p = (*p) | uint32(i32(64)) 131695 sink985 = *p 131696 } 131697 _2: 131698 _sqlite3Dequote(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X3 */)))))) 131699 _1: 131700 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X7 */))) = i32(1) 131701 _0: 131702 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _p 131703 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(4 /* X1 */))) = _t.X0 131704 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_t.X0)) + 1*uintptr(_t.X1))) 131705 return 131706 131707 } 131708 131709 func _sqlite3AddNotNull(tls *crt.TLS, _pParse *XParse, _onError int32) { // sqlite3.c:100564:1 131710 var _p *XTable // sqlite3.c:100565:9 131711 _ = _p 131712 _p = (*XTable)(unsafe.Pointer(_pParse.X63)) 131713 if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { 131714 if int32(_p.X11) < i32(1) { 131715 return func() int32 { 131716 func() int32 { 131717 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100567), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AddNotNullØ00__func__Ø000))), unsafe.Pointer(str(5204))) 131718 crt.X__builtin_abort(tls) 131719 return i32(0) 131720 }() 131721 return i32(1) 131722 }() 131723 } 131724 return i32(0) 131725 }() == 0 { 131726 goto _3 131727 } 131728 131729 return 131730 131731 _3: 131732 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+16*uintptr(int32(_p.X11)-i32(1)))))) + uintptr(12 /* X3 */))) = uint8(_onError) 131733 { 131734 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(36 /* X9 */))) 131735 *p = (*p) | uint32(i32(512)) 131736 sink985 = *p 131737 } 131738 return 131739 131740 } 131741 131742 var _sqlite3AddNotNullØ00__func__Ø000 [18]int8 // - 131743 131744 func init() { 131745 crt.Xstrncpy(nil, &_sqlite3AddNotNullØ00__func__Ø000[0], str(120628), 18) 131746 } 131747 131748 func _sqlite3AddPrimaryKey(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _onError int32, _autoInc int32, _sortOrder int32) { // sqlite3.c:100741:1 131749 var _pTab *XTable // sqlite3.c:100748:9 131750 _ = _pTab 131751 var _pCol *XColumn // sqlite3.c:100749:10 131752 _ = _pCol 131753 var _iCol int32 // sqlite3.c:100750:7 131754 _ = _iCol 131755 var _i int32 // sqlite3.c:100750:18 131756 _ = _i 131757 var _nTerm int32 // sqlite3.c:100751:7 131758 _ = _nTerm 131759 var _4_pCExpr *XExpr // sqlite3.c:100767:12 131760 _ = _4_pCExpr 131761 var _5_zCName *int8 // sqlite3.c:100771:20 131762 _ = _5_zCName 131763 _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) 131764 _pCol = nil 131765 _iCol = i32(-1) 131766 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 131767 goto _0 131768 } 131769 131770 goto _primary_key_exit 131771 131772 _0: 131773 if ((_pTab.X9) & uint32(i32(4))) == 0 { 131774 goto _1 131775 } 131776 131777 _sqlite3ErrorMsg(tls, _pParse, str(120648), unsafe.Pointer(_pTab.X0)) 131778 goto _primary_key_exit 131779 131780 _1: 131781 { 131782 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(36 /* X9 */))) 131783 *p = (*p) | uint32(i32(4)) 131784 sink985 = *p 131785 } 131786 if _pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 131787 goto _2 131788 } 131789 131790 _iCol = int32(_pTab.X11) - i32(1) 131791 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))) 131792 { 131793 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(15 /* X6 */))) 131794 *p = uint8(int32(*p) | i32(1)) 131795 sink6915 = *p 131796 } 131797 _nTerm = i32(1) 131798 goto _3 131799 131800 _2: 131801 _nTerm = _pList.X0 131802 _i = i32(0) 131803 _4: 131804 if _i >= _nTerm { 131805 goto _7 131806 } 131807 131808 _4_pCExpr = _sqlite3ExprSkipCollate(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_i))).X0))) 131809 func() int32 { 131810 if _4_pCExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 131811 return i32(0) 131812 } 131813 return func() int32 { 131814 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100768), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AddPrimaryKeyØ00__func__Ø000))), unsafe.Pointer(str(120692))) 131815 crt.X__builtin_abort(tls) 131816 return i32(0) 131817 }() 131818 }() 131819 _sqlite3StringToId(tls, _4_pCExpr) 131820 if int32(_4_pCExpr.X0) != i32(55) { 131821 goto _10 131822 } 131823 131824 _5_zCName = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pCExpr)) + uintptr(8 /* X3 */))))) 131825 _iCol = i32(0) 131826 _11: 131827 if _iCol >= int32(_pTab.X11) { 131828 goto _14 131829 } 131830 131831 if _sqlite3StrICmp(tls, _5_zCName, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_iCol))).X0) != i32(0) { 131832 goto _15 131833 } 131834 131835 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))) 131836 { 131837 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCol)) + uintptr(15 /* X6 */))) 131838 *p = uint8(int32(*p) | i32(1)) 131839 sink6915 = *p 131840 } 131841 goto _14 131842 131843 _15: 131844 _iCol += 1 131845 goto _11 131846 131847 _14: 131848 _10: 131849 _i += 1 131850 goto _4 131851 131852 _7: 131853 _3: 131854 if _nTerm != i32(1) || _pCol == nil || _sqlite3StrICmp(tls, _sqlite3ColumnType(tls, _pCol, str(196)), str(27044)) != i32(0) || _sortOrder == i32(1) { 131855 goto _19 131856 } 131857 131858 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(40 /* X10 */))) = int16(_iCol) 131859 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(48 /* X14 */))) = uint8(_onError) 131860 func() int32 { 131861 if (_autoInc == i32(0)) || (_autoInc == i32(1)) { 131862 return i32(0) 131863 } 131864 return func() int32 { 131865 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100789), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AddPrimaryKeyØ00__func__Ø000))), unsafe.Pointer(str(120704))) 131866 crt.X__builtin_abort(tls) 131867 return i32(0) 131868 }() 131869 }() 131870 { 131871 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(36 /* X9 */))) 131872 *p = (*p) | uint32(_autoInc*i32(8)) 131873 sink985 = *p 131874 } 131875 if _pList == nil { 131876 goto _23 131877 } 131878 131879 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(410 /* X53 */))) = (*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(i32(0)))).X3 131880 _23: 131881 goto _24 131882 131883 _19: 131884 if _autoInc == 0 { 131885 goto _25 131886 } 131887 131888 _sqlite3ErrorMsg(tls, _pParse, str(120732)) 131889 goto _26 131890 131891 _25: 131892 _sqlite3CreateIndex(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), _pList, _onError, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _sortOrder, i32(0), uint8(i32(2))) 131893 _pList = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 131894 _26: 131895 _24: 131896 _primary_key_exit: 131897 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pList) 131898 return 131899 131900 } 131901 131902 var _sqlite3AddPrimaryKeyØ00__func__Ø000 [21]int8 // - 131903 131904 func init() { 131905 crt.Xstrncpy(nil, &_sqlite3AddPrimaryKeyØ00__func__Ø000[0], str(120788), 21) 131906 } 131907 131908 func _sqlite3AddCheckConstraint(tls *crt.TLS, _pParse *XParse, _pCheckExpr *XExpr) { // sqlite3.c:100811:1 131909 var _pTab *XTable // sqlite3.c:100816:9 131910 _ = _pTab 131911 var _db *Xsqlite3 // sqlite3.c:100817:11 131912 _ = _db 131913 _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) 131914 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 131915 if _pTab == nil || (_pParse.X55) != 0 || _sqlite3BtreeIsReadonly(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X1))).X1))) != 0 { 131916 goto _2 131917 } 131918 131919 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTab)) + uintptr(24 /* X6 */))))) = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(_pTab.X6)), _pCheckExpr) 131920 if ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(84 /* X28 */))).X1) == 0 { 131921 goto _3 131922 } 131923 131924 _sqlite3ExprListSetName(tls, _pParse, (*XExprList)(unsafe.Pointer(_pTab.X6)), (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(84 /* X28 */))), i32(1)) 131925 _3: 131926 goto _4 131927 131928 _2: 131929 _sqlite3ExprDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pCheckExpr) 131930 _4: 131931 return 131932 131933 } 131934 131935 func _sqlite3BtreeIsReadonly(tls *crt.TLS, _p *XBtree) (r0 int32) { // sqlite3.c:68786:1 131936 r0 = bool2int((int32((*XBtShared)(unsafe.Pointer(_p.X1)).X10) & i32(1)) != i32(0)) 131937 return 131938 131939 } 131940 131941 func _sqlite3CreateForeignKey(tls *crt.TLS, _pParse *XParse, _pFromCol *XExprList, _pTo *XToken, _pToCol *XExprList, _flags int32) { // sqlite3.c:102075:1 131942 var _db *Xsqlite3 // sqlite3.c:102082:11 131943 _ = _db 131944 var _pFKey *XFKey // sqlite3.c:102084:8 131945 _ = _pFKey 131946 var _pNextTo *XFKey // sqlite3.c:102085:8 131947 _ = _pNextTo 131948 var _p *XTable // sqlite3.c:102086:9 131949 _ = _p 131950 var _nByte int32 // sqlite3.c:102087:7 131951 _ = _nByte 131952 var _i int32 // sqlite3.c:102088:7 131953 _ = _i 131954 var _nCol int32 // sqlite3.c:102089:7 131955 _ = _nCol 131956 var _z *int8 // sqlite3.c:102090:8 131957 _ = _z 131958 var _1_iCol int32 // sqlite3.c:102095:9 131959 _ = _1_iCol 131960 var _10_j int32 // sqlite3.c:102135:11 131961 _ = _10_j 131962 var _15_n int32 // sqlite3.c:102152:11 131963 _ = _15_n 131964 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 131965 _pFKey = nil 131966 _p = (*XTable)(unsafe.Pointer(_pParse.X63)) 131967 func() int32 { 131968 if _pTo != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 131969 return i32(0) 131970 } 131971 return func() int32 { 131972 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102092), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateForeignKeyØ00__func__Ø000))), unsafe.Pointer(str(120812))) 131973 crt.X__builtin_abort(tls) 131974 return i32(0) 131975 }() 131976 }() 131977 if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && (_pParse.X55) == 0 { 131978 goto _3 131979 } 131980 131981 goto _fk_end 131982 131983 _3: 131984 if _pFromCol != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 131985 goto _4 131986 } 131987 131988 _1_iCol = int32(_p.X11) - i32(1) 131989 if func() int32 { 131990 if _1_iCol < i32(0) { 131991 return func() int32 { 131992 func() int32 { 131993 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102096), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateForeignKeyØ00__func__Ø000))), unsafe.Pointer(str(5204))) 131994 crt.X__builtin_abort(tls) 131995 return i32(0) 131996 }() 131997 return i32(1) 131998 }() 131999 } 132000 return i32(0) 132001 }() == 0 { 132002 goto _7 132003 } 132004 132005 goto _fk_end 132006 132007 _7: 132008 if _pToCol == nil || (_pToCol.X0) == i32(1) { 132009 goto _9 132010 } 132011 132012 _sqlite3ErrorMsg(tls, _pParse, str(120820), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+16*uintptr(_1_iCol))).X0), unsafe.Pointer(_pTo)) 132013 goto _fk_end 132014 132015 _9: 132016 _nCol = i32(1) 132017 goto _10 132018 132019 _4: 132020 if _pToCol == nil || (_pToCol.X0) == (_pFromCol.X0) { 132021 goto _12 132022 } 132023 132024 _sqlite3ErrorMsg(tls, _pParse, str(120884)) 132025 goto _fk_end 132026 132027 _12: 132028 _nCol = _pFromCol.X0 132029 _10: 132030 _nByte = int32(((u32(44) + (uint32(_nCol-i32(1)) * u32(8))) + (_pTo.X1)) + uint32(i32(1))) 132031 if _pToCol == nil { 132032 goto _14 132033 } 132034 132035 _i = i32(0) 132036 _15: 132037 if _i >= (_pToCol.X0) { 132038 goto _18 132039 } 132040 132041 { 132042 p := &_nByte 132043 *p = (*p) + (_sqlite3Strlen30(tls, (*T7850641)(unsafe.Pointer(uintptr(_pToCol.X1)+20*uintptr(_i))).X1) + i32(1)) 132044 sink961 = *p 132045 } 132046 _i += 1 132047 goto _15 132048 132049 _18: 132050 _14: 132051 _pFKey = (*XFKey)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_nByte)))) 132052 if _pFKey != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { 132053 goto _19 132054 } 132055 132056 goto _fk_end 132057 132058 _19: 132059 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(0 /* X0 */))))) = _p 132060 *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(4 /* X1 */))))) = (*XFKey)(unsafe.Pointer(_p.X4)) 132061 _z = (*int8)(unsafe.Pointer((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132062 X0 int32 132063 X1 *int8 132064 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(_nCol))))) 132065 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(8 /* X2 */))) = _z 132066 crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(_pTo.X0), _pTo.X1) 132067 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_pTo.X1))) = int8(i32(0)) 132068 _sqlite3Dequote(tls, _z) 132069 { 132070 p := &_z 132071 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr((_pTo.X1)+uint32(i32(1))))) 132072 sink1025 = *p 132073 } 132074 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(20 /* X5 */))) = _nCol 132075 if _pFromCol != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 132076 goto _20 132077 } 132078 132079 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132080 X0 int32 132081 X1 *int8 132082 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */)))))+8*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = int32(_p.X11) - i32(1) 132083 goto _21 132084 132085 _20: 132086 _i = i32(0) 132087 _22: 132088 if _i >= _nCol { 132089 goto _25 132090 } 132091 132092 _10_j = i32(0) 132093 _26: 132094 if _10_j >= int32(_p.X11) { 132095 goto _29 132096 } 132097 132098 if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_p.X1)+16*uintptr(_10_j))).X0, (*T7850641)(unsafe.Pointer(uintptr(_pFromCol.X1)+20*uintptr(_i))).X1) != i32(0) { 132099 goto _30 132100 } 132101 132102 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132103 X0 int32 132104 X1 *int8 132105 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */)))))+8*uintptr(_i))))) + uintptr(0 /* X0 */))) = _10_j 132106 goto _29 132107 132108 _30: 132109 _10_j += 1 132110 goto _26 132111 132112 _29: 132113 if _10_j < int32(_p.X11) { 132114 goto _31 132115 } 132116 132117 _sqlite3ErrorMsg(tls, _pParse, str(120980), unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pFromCol.X1)+20*uintptr(_i))).X1)) 132118 goto _fk_end 132119 132120 _31: 132121 _i += 1 132122 goto _22 132123 132124 _25: 132125 _21: 132126 if _pToCol == nil { 132127 goto _32 132128 } 132129 132130 _i = i32(0) 132131 _33: 132132 if _i >= _nCol { 132133 goto _36 132134 } 132135 132136 _15_n = _sqlite3Strlen30(tls, (*T7850641)(unsafe.Pointer(uintptr(_pToCol.X1)+20*uintptr(_i))).X1) 132137 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132138 X0 int32 132139 X1 *int8 132140 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */)))))+8*uintptr(_i))))) + uintptr(4 /* X1 */))) = _z 132141 crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pToCol.X1)+20*uintptr(_i))).X1), uint32(_15_n)) 132142 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_15_n))) = int8(i32(0)) 132143 { 132144 p := &_z 132145 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_15_n+i32(1)))) 132146 sink1025 = *p 132147 } 132148 _i += 1 132149 goto _33 132150 132151 _36: 132152 _32: 132153 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(24 /* X6 */))) = uint8(i32(0)) 132154 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(25 /* X7 */))))) + 1*uintptr(i32(0)))) = uint8(_flags & i32(255)) 132155 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(25 /* X7 */))))) + 1*uintptr(i32(1)))) = uint8((_flags >> uint(i32(8))) & i32(255)) 132156 func() int32 { 132157 if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_p.X20))) != 0 { 132158 return i32(0) 132159 } 132160 return func() int32 { 132161 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102163), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateForeignKeyØ00__func__Ø000))), unsafe.Pointer(str(121028))) 132162 crt.X__builtin_abort(tls) 132163 return i32(0) 132164 }() 132165 }() 132166 _pNextTo = (*XFKey)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr(_p.X20)+uintptr(56 /* X5 */))), _pFKey.X2, (unsafe.Pointer)(_pFKey)))) 132167 if _pNextTo != _pFKey { 132168 goto _39 132169 } 132170 132171 _sqlite3OomFault(tls, _db) 132172 goto _fk_end 132173 132174 _39: 132175 if _pNextTo == nil { 132176 goto _40 132177 } 132178 132179 func() int32 { 132180 if (*XFKey)(unsafe.Pointer(_pNextTo.X4)) == (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { 132181 return i32(0) 132182 } 132183 return func() int32 { 132184 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102172), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateForeignKeyØ00__func__Ø000))), unsafe.Pointer(str(121072))) 132185 crt.X__builtin_abort(tls) 132186 return i32(0) 132187 }() 132188 }() 132189 *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(12 /* X3 */))))) = _pNextTo 132190 *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNextTo)) + uintptr(16 /* X4 */))))) = _pFKey 132191 _40: 132192 *(**XFKey)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))))) = _pFKey 132193 _pFKey = (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) 132194 _fk_end: 132195 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pFKey)) 132196 _sqlite3ExprListDelete(tls, _db, _pFromCol) 132197 _sqlite3ExprListDelete(tls, _db, _pToCol) 132198 return 132199 132200 } 132201 132202 var _sqlite3CreateForeignKeyØ00__func__Ø000 [24]int8 // - 132203 132204 func init() { 132205 crt.Xstrncpy(nil, &_sqlite3CreateForeignKeyØ00__func__Ø000[0], str(121092), 24) 132206 } 132207 132208 func _sqlite3DeferForeignKey(tls *crt.TLS, _pParse *XParse, _isDeferred int32) { // sqlite3.c:102196:1 132209 var _pTab *XTable // sqlite3.c:102198:9 132210 _ = _pTab 132211 var _pFKey *XFKey // sqlite3.c:102199:8 132212 _ = _pFKey 132213 if store7765325(&_pTab, (*XTable)(unsafe.Pointer(_pParse.X63))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && store8257610(&_pFKey, (*XFKey)(unsafe.Pointer(_pTab.X4))) != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { 132214 goto _1 132215 } 132216 132217 return 132218 132219 _1: 132220 func() int32 { 132221 if (_isDeferred == i32(0)) || (_isDeferred == i32(1)) { 132222 return i32(0) 132223 } 132224 return func() int32 { 132225 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102201), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeferForeignKeyØ00__func__Ø000))), unsafe.Pointer(str(121116))) 132226 crt.X__builtin_abort(tls) 132227 return i32(0) 132228 }() 132229 }() 132230 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey)) + uintptr(24 /* X6 */))) = uint8(_isDeferred) 132231 return 132232 132233 } 132234 132235 var _sqlite3DeferForeignKeyØ00__func__Ø000 [23]int8 // - 132236 132237 func init() { 132238 crt.Xstrncpy(nil, &_sqlite3DeferForeignKeyØ00__func__Ø000[0], str(121148), 23) 132239 } 132240 132241 func _sqlite3AddCollateType(tls *crt.TLS, _pParse *XParse, _pToken *XToken) { // sqlite3.c:100836:1 132242 var _p *XTable // sqlite3.c:100837:9 132243 _ = _p 132244 var _i int32 // sqlite3.c:100838:7 132245 _ = _i 132246 var _zColl *int8 // sqlite3.c:100839:8 132247 _ = _zColl 132248 var _db *Xsqlite3 // sqlite3.c:100840:11 132249 _ = _db 132250 var _1_pIdx *XIndex // sqlite3.c:100849:11 132251 _ = _1_pIdx 132252 if store7765325(&_p, (*XTable)(unsafe.Pointer(_pParse.X63))) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 132253 goto _0 132254 } 132255 132256 return 132257 132258 _0: 132259 _i = int32(_p.X11) - i32(1) 132260 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 132261 _zColl = _sqlite3NameFromToken(tls, _db, _pToken) 132262 if _zColl != nil { 132263 goto _1 132264 } 132265 132266 return 132267 132268 _1: 132269 if _sqlite3LocateCollSeq(tls, _pParse, _zColl) == nil { 132270 goto _2 132271 } 132272 132273 _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+16*uintptr(_i))).X2)) 132274 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XColumn)(unsafe.Pointer(uintptr(_p.X1)+16*uintptr(_i))))) + uintptr(8 /* X2 */))) = _zColl 132275 _1_pIdx = (*XIndex)(unsafe.Pointer(_p.X2)) 132276 _3: 132277 if _1_pIdx == nil { 132278 goto _6 132279 } 132280 132281 func() int32 { 132282 if int32(_1_pIdx.X13) == i32(1) { 132283 return i32(0) 132284 } 132285 return func() int32 { 132286 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(100858), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AddCollateTypeØ00__func__Ø000))), unsafe.Pointer(str(121172))) 132287 crt.X__builtin_abort(tls) 132288 return i32(0) 132289 }() 132290 }() 132291 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X1)) + 2*uintptr(i32(0))))) != _i { 132292 goto _9 132293 } 132294 132295 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X8)) + 4*uintptr(i32(0)))) = (*XColumn)(unsafe.Pointer(uintptr(_p.X1) + 16*uintptr(_i))).X2 132296 _9: 132297 _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pIdx.X5)) 132298 goto _3 132299 132300 _6: 132301 goto _10 132302 132303 _2: 132304 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zColl)) 132305 _10: 132306 return 132307 132308 } 132309 132310 var _sqlite3AddCollateTypeØ00__func__Ø000 [22]int8 // - 132311 132312 func init() { 132313 crt.Xstrncpy(nil, &_sqlite3AddCollateTypeØ00__func__Ø000[0], str(121192), 22) 132314 } 132315 132316 func _sqlite3DropTable(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _isView int32, _noErr int32) { // sqlite3.c:101959:1 132317 var _pTab *XTable // sqlite3.c:101960:9 132318 _ = _pTab 132319 var _v *XVdbe // sqlite3.c:101961:8 132320 _ = _v 132321 var _db *Xsqlite3 // sqlite3.c:101962:11 132322 _ = _db 132323 var _iDb int32 // sqlite3.c:101963:7 132324 _ = _iDb 132325 var _4_code int32 // sqlite3.c:101991:9 132326 _ = _4_code 132327 var _4_zTab *int8 // sqlite3.c:101992:16 132328 _ = _4_zTab 132329 var _4_zDb *int8 // sqlite3.c:101993:16 132330 _ = _4_zDb 132331 var _4_zArg2 *int8 // sqlite3.c:101994:16 132332 _ = _4_zArg2 132333 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 132334 if (_db.X17) == 0 { 132335 goto _0 132336 } 132337 132338 goto _exit_drop_table 132339 132340 _0: 132341 func() int32 { 132342 if (_pParse.X16) == i32(0) { 132343 return i32(0) 132344 } 132345 return func() int32 { 132346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101968), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTableØ00__func__Ø000))), unsafe.Pointer(str(118652))) 132347 crt.X__builtin_abort(tls) 132348 return i32(0) 132349 }() 132350 }() 132351 func() int32 { 132352 if (_pName.X0) == i32(1) { 132353 return i32(0) 132354 } 132355 return func() int32 { 132356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101969), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTableØ00__func__Ø000))), unsafe.Pointer(str(121216))) 132357 crt.X__builtin_abort(tls) 132358 return i32(0) 132359 }() 132360 }() 132361 if _sqlite3ReadSchema(tls, _pParse) == 0 { 132362 goto _5 132363 } 132364 132365 goto _exit_drop_table 132366 132367 _5: 132368 if _noErr == 0 { 132369 goto _6 132370 } 132371 132372 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(69 /* X21 */))) += 1 132373 _6: 132374 func() int32 { 132375 if (_isView == i32(0)) || (_isView == i32(1)) { 132376 return i32(0) 132377 } 132378 return func() int32 { 132379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101972), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTableØ00__func__Ø000))), unsafe.Pointer(str(121232))) 132380 crt.X__builtin_abort(tls) 132381 return i32(0) 132382 }() 132383 }() 132384 _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(_isView), (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132385 X0 unsafe.Pointer 132386 X1 *int8 132387 X2 *int8 132388 X3 *int8 132389 X4 unsafe.Pointer 132390 X5 unsafe.Pointer 132391 X6 int32 132392 X7 int32 132393 X8 int32 132394 X9 struct { 132395 X0 uint8 132396 X1 int8 132397 } 132398 X10 uint8 132399 X11 int32 132400 X12 unsafe.Pointer 132401 X13 unsafe.Pointer 132402 X14 uint64 132403 X15 struct { 132404 X [0]struct { 132405 X0 *int8 132406 X1 unsafe.Pointer 132407 } 132408 U [4]byte 132409 } 132410 X16 unsafe.Pointer 132411 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))) 132412 if _noErr == 0 { 132413 goto _10 132414 } 132415 132416 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(69 /* X21 */))) -= 1 132417 _10: 132418 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 132419 goto _11 132420 } 132421 132422 if _noErr == 0 { 132423 goto _12 132424 } 132425 132426 _sqlite3CodeVerifyNamedSchema(tls, _pParse, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132427 X0 unsafe.Pointer 132428 X1 *int8 132429 X2 *int8 132430 X3 *int8 132431 X4 unsafe.Pointer 132432 X5 unsafe.Pointer 132433 X6 int32 132434 X7 int32 132435 X8 int32 132436 X9 struct { 132437 X0 uint8 132438 X1 int8 132439 } 132440 X10 uint8 132441 X11 int32 132442 X12 unsafe.Pointer 132443 X13 unsafe.Pointer 132444 X14 uint64 132445 X15 struct { 132446 X [0]struct { 132447 X0 *int8 132448 X1 unsafe.Pointer 132449 } 132450 U [4]byte 132451 } 132452 X16 unsafe.Pointer 132453 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X1) 132454 _12: 132455 goto _exit_drop_table 132456 132457 _11: 132458 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 132459 func() int32 { 132460 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 132461 return i32(0) 132462 } 132463 return func() int32 { 132464 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101981), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTableØ00__func__Ø000))), unsafe.Pointer(str(22608))) 132465 crt.X__builtin_abort(tls) 132466 return i32(0) 132467 }() 132468 }() 132469 if (_pTab.X16) == 0 || _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { 132470 goto _17 132471 } 132472 132473 goto _exit_drop_table 132474 132475 _17: 132476 _4_zTab = func() *int8 { 132477 if i32(1) != 0 && (_iDb == i32(1)) { 132478 return str(52796) 132479 } 132480 return str(52816) 132481 }() 132482 _4_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 132483 _4_zArg2 = nil 132484 if _sqlite3AuthCheck(tls, _pParse, i32(9), _4_zTab, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _4_zDb) == 0 { 132485 goto _21 132486 } 132487 132488 goto _exit_drop_table 132489 132490 _21: 132491 if _isView == 0 { 132492 goto _22 132493 } 132494 132495 if i32(1) == 0 || _iDb != i32(1) { 132496 goto _24 132497 } 132498 132499 _4_code = i32(15) 132500 goto _25 132501 132502 _24: 132503 _4_code = i32(17) 132504 _25: 132505 goto _26 132506 132507 _22: 132508 if (_pTab.X16) == 0 { 132509 goto _27 132510 } 132511 132512 _4_code = i32(30) 132513 _4_zArg2 = (*XModule)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab).X1)).X1 132514 goto _28 132515 132516 _27: 132517 if i32(1) == 0 || _iDb != i32(1) { 132518 goto _30 132519 } 132520 132521 _4_code = i32(13) 132522 goto _31 132523 132524 _30: 132525 _4_code = i32(11) 132526 _31: 132527 _28: 132528 _26: 132529 if _sqlite3AuthCheck(tls, _pParse, _4_code, _pTab.X0, _4_zArg2, _4_zDb) == 0 { 132530 goto _32 132531 } 132532 132533 goto _exit_drop_table 132534 132535 _32: 132536 if _sqlite3AuthCheck(tls, _pParse, i32(9), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _4_zDb) == 0 { 132537 goto _33 132538 } 132539 132540 goto _exit_drop_table 132541 132542 _33: 132543 if Xsqlite3_strnicmp(tls, _pTab.X0, str(117888), i32(7)) != i32(0) || Xsqlite3_strnicmp(tls, _pTab.X0, str(121268), i32(11)) == i32(0) { 132544 goto _35 132545 } 132546 132547 _sqlite3ErrorMsg(tls, _pParse, str(121280), unsafe.Pointer(_pTab.X0)) 132548 goto _exit_drop_table 132549 132550 _35: 132551 if _isView == 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 132552 goto _37 132553 } 132554 132555 _sqlite3ErrorMsg(tls, _pParse, str(121308), unsafe.Pointer(_pTab.X0)) 132556 goto _exit_drop_table 132557 132558 _37: 132559 if _isView != 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 132560 goto _39 132561 } 132562 132563 _sqlite3ErrorMsg(tls, _pParse, str(121344), unsafe.Pointer(_pTab.X0)) 132564 goto _exit_drop_table 132565 132566 _39: 132567 _v = _sqlite3GetVdbe(tls, _pParse) 132568 if _v == nil { 132569 goto _40 132570 } 132571 132572 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 132573 _sqlite3ClearStatTables(tls, _pParse, _iDb, str(98988), _pTab.X0) 132574 _sqlite3FkDropTable(tls, _pParse, _pName, _pTab) 132575 _sqlite3CodeDropTable(tls, _pParse, _pTab, _iDb, _isView) 132576 _40: 132577 _exit_drop_table: 132578 _sqlite3SrcListDelete(tls, _db, _pName) 132579 return 132580 132581 } 132582 132583 var _sqlite3DropTableØ00__func__Ø000 [17]int8 // - 132584 132585 func init() { 132586 crt.Xstrncpy(nil, &_sqlite3DropTableØ00__func__Ø000[0], str(121376), 17) 132587 } 132588 132589 func _sqlite3CodeVerifyNamedSchema(tls *crt.TLS, _pParse *XParse, _zDb *int8) { // sqlite3.c:103527:1 132590 var _db *Xsqlite3 // sqlite3.c:103528:11 132591 _ = _db 132592 var _i int32 // sqlite3.c:103529:7 132593 _ = _i 132594 var _1_pDb *XDb // sqlite3.c:103531:8 132595 _ = _1_pDb 132596 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 132597 _i = i32(0) 132598 _0: 132599 if _i >= (_db.X5) { 132600 goto _3 132601 } 132602 132603 _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))) 132604 if (*XBtree)(unsafe.Pointer(_1_pDb.X1)) == nil || _zDb != nil && i32(0) != _sqlite3StrICmp(tls, _zDb, _1_pDb.X0) { 132605 goto _6 132606 } 132607 132608 _sqlite3CodeVerifySchema(tls, _pParse, _i) 132609 _6: 132610 _i += 1 132611 goto _0 132612 132613 _3: 132614 return 132615 132616 } 132617 132618 func _sqlite3ClearStatTables(tls *crt.TLS, _pParse *XParse, _iDb int32, _zType *int8, _zName *int8) { // sqlite3.c:101865:1 132619 var _i int32 // sqlite3.c:101871:7 132620 _ = _i 132621 var _zDbName *int8 // sqlite3.c:101872:14 132622 _ = _zDbName 132623 var _1_zTab [24]int8 // sqlite3.c:101874:10 132624 _ = _1_zTab 132625 _zDbName = (*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 16*uintptr(_iDb))).X0 132626 _i = i32(1) 132627 _0: 132628 if _i > i32(4) { 132629 goto _3 132630 } 132631 132632 Xsqlite3_snprintf(tls, int32(u32(24)), (*int8)(unsafe.Pointer(&_1_zTab)), str(121396), _i) 132633 if _sqlite3FindTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*int8)(unsafe.Pointer(&_1_zTab)), _zDbName) == nil { 132634 goto _4 132635 } 132636 132637 _sqlite3NestedParse(tls, _pParse, str(121412), unsafe.Pointer(_zDbName), unsafe.Pointer((*int8)(unsafe.Pointer(&_1_zTab))), unsafe.Pointer(_zType), unsafe.Pointer(_zName)) 132638 _4: 132639 _i += 1 132640 goto _0 132641 132642 _3: 132643 return 132644 132645 } 132646 132647 func _sqlite3FkDropTable(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _pTab *XTable) { // sqlite3.c:107864:1 132648 var _db *Xsqlite3 // sqlite3.c:107865:11 132649 _ = _db 132650 var _1_iSkip int32 // sqlite3.c:107867:9 132651 _ = _1_iSkip 132652 var _1_v *XVdbe // sqlite3.c:107868:10 132653 _ = _1_v 132654 var _2_p *XFKey // sqlite3.c:107877:12 132655 _ = _2_p 132656 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 132657 if ((_db.X6)&i32(524288)) == 0 || (_pTab.X16) != 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) != nil { 132658 goto _2 132659 } 132660 132661 _1_iSkip = i32(0) 132662 _1_v = _sqlite3GetVdbe(tls, _pParse) 132663 func() int32 { 132664 if _1_v != nil { 132665 return i32(0) 132666 } 132667 return func() int32 { 132668 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107870), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkDropTableØ00__func__Ø000))), unsafe.Pointer(str(44132))) 132669 crt.X__builtin_abort(tls) 132670 return i32(0) 132671 }() 132672 }() 132673 if _sqlite3FkReferences(tls, _pTab) != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { 132674 goto _5 132675 } 132676 132677 _2_p = (*XFKey)(unsafe.Pointer(_pTab.X4)) 132678 _6: 132679 if _2_p == nil { 132680 goto _9 132681 } 132682 132683 if (_2_p.X6) == 0 && ((_db.X6)&i32(33554432)) == 0 { 132684 goto _11 132685 } 132686 132687 goto _9 132688 132689 _11: 132690 _2_p = (*XFKey)(unsafe.Pointer(_2_p.X1)) 132691 goto _6 132692 132693 _9: 132694 if _2_p != nil { 132695 goto _12 132696 } 132697 132698 return 132699 132700 _12: 132701 _1_iSkip = _sqlite3VdbeMakeLabel(tls, _1_v) 132702 _sqlite3VdbeAddOp2(tls, _1_v, i32(66), i32(1), _1_iSkip) 132703 _5: 132704 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(158 /* X47 */))) = uint8(i32(1)) 132705 _sqlite3DeleteFrom(tls, _pParse, _sqlite3SrcListDup(tls, _db, _pName, i32(0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 132706 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(158 /* X47 */))) = uint8(i32(0)) 132707 if ((_db.X6) & i32(33554432)) != i32(0) { 132708 goto _13 132709 } 132710 132711 _sqlite3VdbeAddOp2(tls, _1_v, i32(66), i32(0), _sqlite3VdbeCurrentAddr(tls, _1_v)+i32(2)) 132712 _sqlite3HaltConstraint(tls, _pParse, i32(787), i32(2), (*int8)(unsafe.Pointer(uintptr(i32(0)))), int8(i32(-2)), uint8(i32(4))) 132713 _13: 132714 if _1_iSkip == 0 { 132715 goto _14 132716 } 132717 132718 _sqlite3VdbeResolveLabel(tls, _1_v, _1_iSkip) 132719 _14: 132720 _2: 132721 return 132722 132723 } 132724 132725 var _sqlite3FkDropTableØ00__func__Ø000 [19]int8 // - 132726 132727 func init() { 132728 crt.Xstrncpy(nil, &_sqlite3FkDropTableØ00__func__Ø000[0], str(121444), 19) 132729 } 132730 132731 func _sqlite3FkReferences(tls *crt.TLS, _pTab *XTable) (r0 *XFKey) { // sqlite3.c:107824:1 132732 r0 = (*XFKey)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_pTab.X20)+uintptr(56 /* X5 */))), _pTab.X0))) 132733 return 132734 132735 } 132736 132737 func _sqlite3DeleteFrom(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pWhere *XExpr) { // sqlite3.c:104596:1 132738 var _v *XVdbe // sqlite3.c:104601:8 132739 _ = _v 132740 var _pTab *XTable // sqlite3.c:104602:9 132741 _ = _pTab 132742 var _i int32 // sqlite3.c:104603:7 132743 _ = _i 132744 var _pWInfo *XWhereInfo // sqlite3.c:104604:13 132745 _ = _pWInfo 132746 var _pIdx *XIndex // sqlite3.c:104605:9 132747 _ = _pIdx 132748 var _iTabCur int32 // sqlite3.c:104606:7 132749 _ = _iTabCur 132750 var _iDataCur int32 // sqlite3.c:104607:7 132751 _ = _iDataCur 132752 var _iIdxCur int32 // sqlite3.c:104608:7 132753 _ = _iIdxCur 132754 var _nIdx int32 // sqlite3.c:104609:7 132755 _ = _nIdx 132756 var _db *Xsqlite3 // sqlite3.c:104610:11 132757 _ = _db 132758 var _sContext XAuthContext // sqlite3.c:104611:15 132759 _ = _sContext 132760 var _sNC XNameContext // sqlite3.c:104612:15 132761 _ = _sNC 132762 var _iDb int32 // sqlite3.c:104613:7 132763 _ = _iDb 132764 var _memCnt int32 // sqlite3.c:104614:7 132765 _ = _memCnt 132766 var _rcauth int32 // sqlite3.c:104615:7 132767 _ = _rcauth 132768 var _eOnePass int32 // sqlite3.c:104616:7 132769 _ = _eOnePass 132770 var _aiCurOnePass [2]int32 // sqlite3.c:104617:7 132771 _ = _aiCurOnePass 132772 var _aToOpen *uint8 // sqlite3.c:104618:6 132773 _ = _aToOpen 132774 var _pPk *XIndex // sqlite3.c:104619:9 132775 _ = _pPk 132776 var _iPk int32 // sqlite3.c:104620:7 132777 _ = _iPk 132778 var _nPk int16 // sqlite3.c:104621:7 132779 _ = _nPk 132780 var _iKey int32 // sqlite3.c:104622:7 132781 _ = _iKey 132782 var _nKey int16 // sqlite3.c:104623:7 132783 _ = _nKey 132784 var _iEphCur int32 // sqlite3.c:104624:7 132785 _ = _iEphCur 132786 var _iRowSet int32 // sqlite3.c:104625:7 132787 _ = _iRowSet 132788 var _addrBypass int32 // sqlite3.c:104626:7 132789 _ = _addrBypass 132790 var _addrLoop int32 // sqlite3.c:104627:7 132791 _ = _addrLoop 132792 var _addrEphOpen int32 // sqlite3.c:104628:7 132793 _ = _addrEphOpen 132794 var _bComplex int32 // sqlite3.c:104629:7 132795 _ = _bComplex 132796 var _isView int32 // sqlite3.c:104633:7 132797 _ = _isView 132798 var _pTrigger *XTrigger // sqlite3.c:104634:11 132799 _ = _pTrigger 132800 var _14_wcf uint16 // sqlite3.c:104763:9 132801 _ = _14_wcf 132802 var _28_iAddrOnce int32 // sqlite3.c:104862:11 132803 _ = _28_iAddrOnce 132804 var _34_pVTab *int8 // sqlite3.c:104897:18 132805 _ = _34_pVTab 132806 var _36_count int32 // sqlite3.c:104909:11 132807 _ = _36_count 132808 _iDataCur = i32(0) 132809 _iIdxCur = i32(0) 132810 _memCnt = i32(-1) 132811 _aToOpen = nil 132812 _iPk = i32(0) 132813 _nPk = i16(1) 132814 _iEphCur = i32(0) 132815 _iRowSet = i32(0) 132816 _addrBypass = i32(0) 132817 _addrLoop = i32(0) 132818 _addrEphOpen = i32(0) 132819 crt.Xmemset(tls, (unsafe.Pointer)(&_sContext), i32(0), u32(8)) 132820 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 132821 if (_pParse.X16) == 0 && (_db.X17) == 0 { 132822 goto _1 132823 } 132824 132825 goto _delete_from_cleanup 132826 132827 _1: 132828 func() int32 { 132829 if (_pTabList.X0) == i32(1) { 132830 return i32(0) 132831 } 132832 return func() int32 { 132833 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104642), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121464))) 132834 crt.X__builtin_abort(tls) 132835 return i32(0) 132836 }() 132837 }() 132838 _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTabList) 132839 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 132840 goto _4 132841 } 132842 132843 goto _delete_from_cleanup 132844 132845 _4: 132846 _pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 132847 _isView = bool2int((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) 132848 _bComplex = bool2int((_pTrigger != nil) || _sqlite3FkRequired(tls, _pParse, _pTab, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) != 0) 132849 if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { 132850 goto _6 132851 } 132852 132853 goto _delete_from_cleanup 132854 132855 _6: 132856 if _sqlite3IsReadOnly(tls, _pParse, _pTab, func() int32 { 132857 if _pTrigger != nil { 132858 return i32(1) 132859 } 132860 return i32(0) 132861 }()) == 0 { 132862 goto _9 132863 } 132864 132865 goto _delete_from_cleanup 132866 132867 _9: 132868 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 132869 func() int32 { 132870 if _iDb < (_db.X5) { 132871 return i32(0) 132872 } 132873 return func() int32 { 132874 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104678), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(57320))) 132875 crt.X__builtin_abort(tls) 132876 return i32(0) 132877 }() 132878 }() 132879 _rcauth = _sqlite3AuthCheck(tls, _pParse, i32(9), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) 132880 func() int32 { 132881 if ((_rcauth == i32(0)) || (_rcauth == i32(1))) || (_rcauth == i32(2)) { 132882 return i32(0) 132883 } 132884 return func() int32 { 132885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104681), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121484))) 132886 crt.X__builtin_abort(tls) 132887 return i32(0) 132888 }() 132889 }() 132890 if _rcauth != i32(1) { 132891 goto _16 132892 } 132893 132894 goto _delete_from_cleanup 132895 132896 _16: 132897 func() int32 { 132898 if (_isView == 0) || (_pTrigger != nil) { 132899 return i32(0) 132900 } 132901 return func() int32 { 132902 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104685), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121552))) 132903 crt.X__builtin_abort(tls) 132904 return i32(0) 132905 }() 132906 }() 132907 func() int32 { 132908 if (_pTabList.X0) == i32(1) { 132909 return i32(0) 132910 } 132911 return func() int32 { 132912 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104689), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121464))) 132913 crt.X__builtin_abort(tls) 132914 return i32(0) 132915 }() 132916 }() 132917 _iTabCur = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 132918 X0 unsafe.Pointer 132919 X1 *int8 132920 X2 *int8 132921 X3 *int8 132922 X4 unsafe.Pointer 132923 X5 unsafe.Pointer 132924 X6 int32 132925 X7 int32 132926 X8 int32 132927 X9 struct { 132928 X0 uint8 132929 X1 int8 132930 } 132931 X10 uint8 132932 X11 int32 132933 X12 unsafe.Pointer 132934 X13 unsafe.Pointer 132935 X14 uint64 132936 X15 struct { 132937 X [0]struct { 132938 X0 *int8 132939 X1 unsafe.Pointer 132940 } 132941 U [4]byte 132942 } 132943 X16 unsafe.Pointer 132944 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))))+uintptr(40 /* X11 */))), postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1))) 132945 *func() **XIndex { _nIdx = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 132946 _22: 132947 if _pIdx == nil { 132948 goto _25 132949 } 132950 132951 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) += 1 132952 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_nIdx }() += 1 132953 goto _22 132954 132955 _25: 132956 if _isView == 0 { 132957 goto _26 132958 } 132959 132960 _sqlite3AuthContextPush(tls, _pParse, &_sContext, _pTab.X0) 132961 _26: 132962 _v = _sqlite3GetVdbe(tls, _pParse) 132963 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 132964 goto _27 132965 } 132966 132967 goto _delete_from_cleanup 132968 132969 _27: 132970 if int32(_pParse.X6) != i32(0) { 132971 goto _28 132972 } 132973 132974 _sqlite3VdbeCountChanges(tls, _v) 132975 _28: 132976 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 132977 if _isView == 0 { 132978 goto _29 132979 } 132980 132981 _sqlite3MaterializeView(tls, _pParse, _pTab, _pWhere, _iTabCur) 132982 _iDataCur = store961(&_iIdxCur, _iTabCur) 132983 _29: 132984 crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u32(32)) 132985 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse 132986 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(4 /* X1 */))))) = _pTabList 132987 if _sqlite3ResolveExprNames(tls, &_sNC, _pWhere) == 0 { 132988 goto _30 132989 } 132990 132991 goto _delete_from_cleanup 132992 132993 _30: 132994 if ((_db.X6) & i32(128)) == 0 { 132995 goto _31 132996 } 132997 132998 _memCnt = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 132999 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _memCnt) 133000 _31: 133001 if _rcauth != i32(0) || _pWhere != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) || _bComplex != 0 || (_pTab.X16) != 0 { 133002 goto _35 133003 } 133004 133005 func() int32 { 133006 if _isView == 0 { 133007 return i32(0) 133008 } 133009 return func() int32 { 133010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104750), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121572))) 133011 crt.X__builtin_abort(tls) 133012 return i32(0) 133013 }() 133014 }() 133015 _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(i32(1)), _pTab.X0) 133016 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 133017 goto _38 133018 } 133019 133020 _sqlite3VdbeAddOp4(tls, _v, i32(131), _pTab.X7, _iDb, _memCnt, _pTab.X0, i32(-2)) 133021 _38: 133022 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 133023 _39: 133024 if _pIdx == nil { 133025 goto _42 133026 } 133027 133028 func() int32 { 133029 if (*XSchema)(unsafe.Pointer(_pIdx.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { 133030 return i32(0) 133031 } 133032 return func() int32 { 133033 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104757), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121580))) 133034 crt.X__builtin_abort(tls) 133035 return i32(0) 133036 }() 133037 }() 133038 _sqlite3VdbeAddOp2(tls, _v, i32(131), _pIdx.X11, _iDb) 133039 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 133040 goto _39 133041 133042 _42: 133043 goto _45 133044 133045 _35: 133046 _14_wcf = u16(1044) 133047 if (int32(_sNC.X7) & i32(64)) == 0 { 133048 goto _46 133049 } 133050 133051 _bComplex = i32(1) 133052 _46: 133053 { 133054 p := &_14_wcf 133055 *p = uint16(int32(*p) | func() int32 { 133056 if _bComplex != 0 { 133057 return i32(0) 133058 } 133059 return i32(8) 133060 }()) 133061 sink6908 = *p 133062 } 133063 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 133064 goto _49 133065 } 133066 133067 _pPk = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 133068 _nPk = int16(i32(1)) 133069 _iRowSet = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 133070 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _iRowSet) 133071 goto _50 133072 133073 _49: 133074 _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 133075 func() int32 { 133076 if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 133077 return i32(0) 133078 } 133079 return func() int32 { 133080 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104776), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(44272))) 133081 crt.X__builtin_abort(tls) 133082 return i32(0) 133083 }() 133084 }() 133085 _nPk = int16(_pPk.X13) 133086 _iPk = (_pParse.X18) + i32(1) 133087 { 133088 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 133089 *p = (*p) + int32(_nPk) 133090 sink961 = *p 133091 } 133092 _iEphCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 133093 _addrEphOpen = _sqlite3VdbeAddOp2(tls, _v, i32(108), _iEphCur, int32(_nPk)) 133094 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pPk) 133095 _50: 133096 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _14_wcf, _iTabCur+i32(1)) 133097 if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { 133098 goto _53 133099 } 133100 133101 goto _delete_from_cleanup 133102 133103 _53: 133104 _eOnePass = _sqlite3WhereOkOnePass(tls, _pWInfo, (*int32)(unsafe.Pointer(&_aiCurOnePass))) 133105 func() int32 { 133106 if ((_pTab.X16) == i32(0)) || (_eOnePass != i32(2)) { 133107 return i32(0) 133108 } 133109 return func() int32 { 133110 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104796), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121612))) 133111 crt.X__builtin_abort(tls) 133112 return i32(0) 133113 }() 133114 }() 133115 func() int32 { 133116 if ((_pTab.X16) != 0 || _bComplex != 0) || (_eOnePass != i32(0)) { 133117 return i32(0) 133118 } 133119 return func() int32 { 133120 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104797), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121660))) 133121 crt.X__builtin_abort(tls) 133122 return i32(0) 133123 }() 133124 }() 133125 if ((_db.X6) & i32(128)) == 0 { 133126 goto _61 133127 } 133128 133129 _sqlite3VdbeAddOp2(tls, _v, i32(92), _memCnt, i32(1)) 133130 _61: 133131 if _pPk == nil { 133132 goto _62 133133 } 133134 133135 _i = i32(0) 133136 _63: 133137 if _i >= int32(_nPk) { 133138 goto _66 133139 } 133140 133141 func() int32 { 133142 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) >= i32(0) { 133143 return i32(0) 133144 } 133145 return func() int32 { 133146 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104807), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121716))) 133147 crt.X__builtin_abort(tls) 133148 return i32(0) 133149 }() 133150 }() 133151 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iTabCur, int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))), _iPk+_i) 133152 _i += 1 133153 goto _63 133154 133155 _66: 133156 _iKey = _iPk 133157 goto _69 133158 133159 _62: 133160 _iKey = (_pParse.X18) + i32(1) 133161 _iKey = _sqlite3ExprCodeGetColumn(tls, _pParse, _pTab, i32(-1), _iTabCur, _iKey, uint8(i32(0))) 133162 if _iKey <= (_pParse.X18) { 133163 goto _70 133164 } 133165 133166 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = _iKey 133167 _70: 133168 _69: 133169 if _eOnePass == i32(0) { 133170 goto _71 133171 } 133172 133173 _nKey = _nPk 133174 _aToOpen = (*uint8)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(_nIdx+i32(2))))) 133175 if _aToOpen != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 133176 goto _72 133177 } 133178 133179 _sqlite3WhereEnd(tls, _pWInfo) 133180 goto _delete_from_cleanup 133181 133182 _72: 133183 crt.Xmemset(tls, (unsafe.Pointer)(_aToOpen), i32(1), uint32(_nIdx+i32(1))) 133184 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_nIdx+i32(1)))) = uint8(i32(0)) 133185 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0))))) < i32(0) { 133186 goto _73 133187 } 133188 133189 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0)))))-_iTabCur))) = uint8(i32(0)) 133190 _73: 133191 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) < i32(0) { 133192 goto _74 133193 } 133194 133195 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1)))))-_iTabCur))) = uint8(i32(0)) 133196 _74: 133197 if _addrEphOpen == 0 { 133198 goto _75 133199 } 133200 133201 _sqlite3VdbeChangeToNoop(tls, _v, _addrEphOpen) 133202 _75: 133203 goto _76 133204 133205 _71: 133206 if _pPk == nil { 133207 goto _77 133208 } 133209 133210 _iKey = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 133211 _nKey = int16(i32(0)) 133212 _sqlite3VdbeAddOp4(tls, _v, i32(100), _iPk, int32(_nPk), _iKey, _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pPk), int32(_nPk)) 133213 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iEphCur, _iKey, _iPk, int32(_nPk)) 133214 goto _78 133215 133216 _77: 133217 _nKey = int16(i32(1)) 133218 _sqlite3VdbeAddOp2(tls, _v, i32(143), _iRowSet, _iKey) 133219 _78: 133220 _76: 133221 if _eOnePass == i32(0) { 133222 goto _79 133223 } 133224 133225 _addrBypass = _sqlite3VdbeMakeLabel(tls, _v) 133226 goto _80 133227 133228 _79: 133229 _sqlite3WhereEnd(tls, _pWInfo) 133230 _80: 133231 if _isView != 0 { 133232 goto _81 133233 } 133234 133235 _28_iAddrOnce = i32(0) 133236 if _eOnePass != i32(2) { 133237 goto _82 133238 } 133239 133240 _28_iAddrOnce = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 133241 _82: 133242 _sqlite3OpenTableAndIndices(tls, _pParse, _pTab, i32(106), uint8(i32(8)), _iTabCur, _aToOpen, &_iDataCur, &_iIdxCur) 133243 func() int32 { 133244 if ((_pPk != nil) || (_pTab.X16) != 0) || (_iDataCur == _iTabCur) { 133245 return i32(0) 133246 } 133247 return func() int32 { 133248 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104869), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121736))) 133249 crt.X__builtin_abort(tls) 133250 return i32(0) 133251 }() 133252 }() 133253 func() int32 { 133254 if ((_pPk != nil) || (_pTab.X16) != 0) || (_iIdxCur == (_iDataCur + i32(1))) { 133255 return i32(0) 133256 } 133257 return func() int32 { 133258 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104870), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121780))) 133259 crt.X__builtin_abort(tls) 133260 return i32(0) 133261 }() 133262 }() 133263 if _eOnePass != i32(2) { 133264 goto _91 133265 } 133266 133267 _sqlite3VdbeJumpHere(tls, _v, _28_iAddrOnce) 133268 _91: 133269 _81: 133270 if _eOnePass == i32(0) { 133271 goto _92 133272 } 133273 133274 func() int32 { 133275 if int32(_nKey) == int32(_nPk) { 133276 return i32(0) 133277 } 133278 return func() int32 { 133279 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104878), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121828))) 133280 crt.X__builtin_abort(tls) 133281 return i32(0) 133282 }() 133283 }() 133284 if (_pTab.X16) != 0 || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_iDataCur-_iTabCur)))) == 0 { 133285 goto _96 133286 } 133287 133288 func() int32 { 133289 if (_pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) { 133290 return i32(0) 133291 } 133292 return func() int32 { 133293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104880), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121840))) 133294 crt.X__builtin_abort(tls) 133295 return i32(0) 133296 }() 133297 }() 133298 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _addrBypass, _iKey, int32(_nKey)) 133299 _96: 133300 goto _100 133301 133302 _92: 133303 if _pPk == nil { 133304 goto _101 133305 } 133306 133307 _addrLoop = _sqlite3VdbeAddOp1(tls, _v, i32(58), _iEphCur) 133308 _sqlite3VdbeAddOp2(tls, _v, i32(122), _iEphCur, _iKey) 133309 func() int32 { 133310 if int32(_nKey) == i32(0) { 133311 return i32(0) 133312 } 133313 return func() int32 { 133314 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104887), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121868))) 133315 crt.X__builtin_abort(tls) 133316 return i32(0) 133317 }() 133318 }() 133319 goto _104 133320 133321 _101: 133322 _addrLoop = _sqlite3VdbeAddOp3(tls, _v, i32(63), _iRowSet, i32(0), _iKey) 133323 func() int32 { 133324 if int32(_nKey) == i32(1) { 133325 return i32(0) 133326 } 133327 return func() int32 { 133328 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104891), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121876))) 133329 crt.X__builtin_abort(tls) 133330 return i32(0) 133331 }() 133332 }() 133333 _104: 133334 _100: 133335 if (_pTab.X16) == 0 { 133336 goto _107 133337 } 133338 133339 _34_pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab))) 133340 _sqlite3VtabMakeWritable(tls, _pParse, _pTab) 133341 _sqlite3VdbeAddOp4(tls, _v, i32(12), i32(0), i32(1), _iKey, _34_pVTab, i32(-8)) 133342 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) 133343 func() int32 { 133344 if (_eOnePass == i32(0)) || (_eOnePass == i32(1)) { 133345 return i32(0) 133346 } 133347 return func() int32 { 133348 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104901), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DeleteFromØ00__func__Ø000))), unsafe.Pointer(str(121884))) 133349 crt.X__builtin_abort(tls) 133350 return i32(0) 133351 }() 133352 }() 133353 _sqlite3MayAbort(tls, _pParse) 133354 if _eOnePass != i32(1) || (*XParse)(unsafe.Pointer(_pParse.X39)) != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 133355 goto _112 133356 } 133357 133358 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(20 /* X8 */))) = uint8(i32(0)) 133359 _112: 133360 goto _113 133361 133362 _107: 133363 _36_count = bool2int(int32(_pParse.X6) == i32(0)) 133364 _sqlite3GenerateRowDelete(tls, _pParse, _pTab, _pTrigger, _iDataCur, _iIdxCur, _iKey, _nKey, uint8(_36_count), uint8(i32(10)), uint8(_eOnePass), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) 133365 _113: 133366 if _eOnePass == i32(0) { 133367 goto _114 133368 } 133369 133370 _sqlite3VdbeResolveLabel(tls, _v, _addrBypass) 133371 _sqlite3WhereEnd(tls, _pWInfo) 133372 goto _115 133373 133374 _114: 133375 if _pPk == nil { 133376 goto _116 133377 } 133378 133379 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iEphCur, _addrLoop+i32(1)) 133380 _sqlite3VdbeJumpHere(tls, _v, _addrLoop) 133381 goto _117 133382 133383 _116: 133384 _sqlite3VdbeGoto(tls, _v, _addrLoop) 133385 _sqlite3VdbeJumpHere(tls, _v, _addrLoop) 133386 _117: 133387 _115: 133388 _45: 133389 if int32(_pParse.X6) != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 133390 goto _119 133391 } 133392 133393 _sqlite3AutoincrementEnd(tls, _pParse) 133394 _119: 133395 if ((_db.X6)&i32(128)) == 0 || (_pParse.X6) != 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { 133396 goto _122 133397 } 133398 133399 _sqlite3VdbeAddOp2(tls, _v, i32(88), _memCnt, i32(1)) 133400 _sqlite3VdbeSetNumCols(tls, _v, i32(1)) 133401 _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), str(121936), nil) 133402 _122: 133403 _delete_from_cleanup: 133404 _sqlite3AuthContextPop(tls, &_sContext) 133405 _sqlite3SrcListDelete(tls, _db, _pTabList) 133406 _sqlite3ExprDelete(tls, _db, _pWhere) 133407 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aToOpen)) 133408 return 133409 133410 } 133411 133412 var _sqlite3DeleteFromØ00__func__Ø000 [18]int8 // - 133413 133414 func init() { 133415 crt.Xstrncpy(nil, &_sqlite3DeleteFromØ00__func__Ø000[0], str(121952), 18) 133416 } 133417 133418 func _sqlite3TriggersExist(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _op int32, _pChanges *XExprList, _pMask *int32) (r0 *XTrigger) { // sqlite3.c:122797:1 133419 var _mask int32 // sqlite3.c:122804:7 133420 _ = _mask 133421 var _pList *XTrigger // sqlite3.c:122805:11 133422 _ = _pList 133423 var _p *XTrigger // sqlite3.c:122806:11 133424 _ = _p 133425 _mask = i32(0) 133426 _pList = nil 133427 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(16777216)) == i32(0) { 133428 goto _0 133429 } 133430 133431 _pList = _sqlite3TriggerList(tls, _pParse, _pTab) 133432 _0: 133433 func() int32 { 133434 if (_pList == (*XTrigger)(unsafe.Pointer(uintptr(i32(0))))) || ((_pTab.X16) == i32(0)) { 133435 return i32(0) 133436 } 133437 return func() int32 { 133438 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122811), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TriggersExistØ00__func__Ø000))), unsafe.Pointer(str(121972))) 133439 crt.X__builtin_abort(tls) 133440 return i32(0) 133441 }() 133442 }() 133443 _p = _pList 133444 _4: 133445 if _p == nil { 133446 goto _7 133447 } 133448 133449 if int32(_p.X2) != _op || _checkColumnOverlap(tls, (*XIdList)(unsafe.Pointer(_p.X5)), _pChanges) == 0 { 133450 goto _9 133451 } 133452 133453 { 133454 p := &_mask 133455 *p = (*p) | int32(_p.X3) 133456 sink961 = *p 133457 } 133458 _9: 133459 _p = (*XTrigger)(unsafe.Pointer(_p.X9)) 133460 goto _4 133461 133462 _7: 133463 if _pMask == nil { 133464 goto _10 133465 } 133466 133467 *_pMask = _mask 133468 _10: 133469 r0 = func() *XTrigger { 133470 if _mask != 0 { 133471 return _pList 133472 } 133473 return (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 133474 }() 133475 return 133476 133477 } 133478 133479 func _sqlite3TriggerList(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 *XTrigger) { // sqlite3.c:122229:1 133480 var _pTmpSchema *XSchema // sqlite3.c:122230:10 133481 _ = _pTmpSchema 133482 var _pList *XTrigger // sqlite3.c:122231:11 133483 _ = _pList 133484 var _2_p *XHashElem // sqlite3.c:122238:14 133485 _ = _2_p 133486 var _3_pTrig *XTrigger // sqlite3.c:122241:15 133487 _ = _3_pTrig 133488 _pTmpSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 16*uintptr(i32(1)))).X4)) 133489 _pList = nil 133490 if (_pParse.X47) == 0 { 133491 goto _0 133492 } 133493 133494 r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 133495 return 133496 133497 _0: 133498 if _pTmpSchema == (*XSchema)(unsafe.Pointer(_pTab.X20)) { 133499 goto _1 133500 } 133501 133502 func() int32 { 133503 if _sqlite3SchemaMutexHeld(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), i32(0), _pTmpSchema) != 0 { 133504 return i32(0) 133505 } 133506 return func() int32 { 133507 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122239), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TriggerListØ00__func__Ø000))), unsafe.Pointer(str(122004))) 133508 crt.X__builtin_abort(tls) 133509 return i32(0) 133510 }() 133511 }() 133512 _2_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTmpSchema)) + uintptr(40 /* X4 */))).X2)) 133513 _4: 133514 if _2_p == nil { 133515 goto _7 133516 } 133517 133518 _3_pTrig = (*XTrigger)(unsafe.Pointer(_2_p.X2)) 133519 if (*XSchema)(unsafe.Pointer(_3_pTrig.X7)) != (*XSchema)(unsafe.Pointer(_pTab.X20)) || i32(0) != _sqlite3StrICmp(tls, _3_pTrig.X1, _pTab.X0) { 133520 goto _9 133521 } 133522 133523 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pTrig)) + uintptr(32 /* X9 */))))) = func() *XTrigger { 133524 if _pList != nil { 133525 return _pList 133526 } 133527 return (*XTrigger)(unsafe.Pointer(_pTab.X19)) 133528 }() 133529 _pList = _3_pTrig 133530 _9: 133531 _2_p = (*XHashElem)(unsafe.Pointer(_2_p.X0)) 133532 goto _4 133533 133534 _7: 133535 _1: 133536 r0 = func() *XTrigger { 133537 if _pList != nil { 133538 return _pList 133539 } 133540 return (*XTrigger)(unsafe.Pointer(_pTab.X19)) 133541 }() 133542 return 133543 133544 } 133545 133546 var _sqlite3TriggerListØ00__func__Ø000 [19]int8 // - 133547 133548 func init() { 133549 crt.Xstrncpy(nil, &_sqlite3TriggerListØ00__func__Ø000[0], str(122056), 19) 133550 } 133551 133552 var _sqlite3TriggersExistØ00__func__Ø000 [21]int8 // - 133553 133554 func init() { 133555 crt.Xstrncpy(nil, &_sqlite3TriggersExistØ00__func__Ø000[0], str(122076), 21) 133556 } 133557 133558 func _checkColumnOverlap(tls *crt.TLS, _pIdList *XIdList, _pEList *XExprList) (r0 int32) { // sqlite3.c:122782:1 133559 var _e int32 // sqlite3.c:122783:7 133560 _ = _e 133561 if _pIdList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { 133562 if _pEList == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 133563 return func() int32 { 133564 func() int32 { 133565 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122784), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkColumnOverlapØ00__func__Ø000))), unsafe.Pointer(str(5204))) 133566 crt.X__builtin_abort(tls) 133567 return i32(0) 133568 }() 133569 return i32(1) 133570 }() 133571 } 133572 return i32(0) 133573 }() == 0 { 133574 goto _3 133575 } 133576 133577 r0 = i32(1) 133578 return 133579 133580 _3: 133581 _e = i32(0) 133582 _4: 133583 if _e >= (_pEList.X0) { 133584 goto _7 133585 } 133586 133587 if _sqlite3IdListIndex(tls, _pIdList, (*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(_e))).X1) < i32(0) { 133588 goto _8 133589 } 133590 133591 r0 = i32(1) 133592 return 133593 133594 _8: 133595 _e += 1 133596 goto _4 133597 133598 _7: 133599 r0 = i32(0) 133600 return 133601 133602 } 133603 133604 var _checkColumnOverlapØ00__func__Ø000 [19]int8 // - 133605 133606 func init() { 133607 crt.Xstrncpy(nil, &_checkColumnOverlapØ00__func__Ø000[0], str(122100), 19) 133608 } 133609 133610 func _sqlite3FkRequired(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _aChange *int32, _chngRowid int32) (r0 int32) { // sqlite3.c:108254:1 133611 var _3_p *XFKey // sqlite3.c:108269:12 133612 _ = _3_p 133613 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(524288)) == 0 { 133614 goto _0 133615 } 133616 133617 if _aChange != nil { 133618 goto _1 133619 } 133620 133621 r0 = bool2int((_sqlite3FkReferences(tls, _pTab) != nil) || ((*XFKey)(unsafe.Pointer(_pTab.X4)) != nil)) 133622 return 133623 133624 _1: 133625 _3_p = (*XFKey)(unsafe.Pointer(_pTab.X4)) 133626 _4: 133627 if _3_p == nil { 133628 goto _7 133629 } 133630 133631 if _fkChildIsModified(tls, _pTab, _3_p, _aChange, _chngRowid) == 0 { 133632 goto _8 133633 } 133634 133635 r0 = i32(1) 133636 return 133637 133638 _8: 133639 _3_p = (*XFKey)(unsafe.Pointer(_3_p.X1)) 133640 goto _4 133641 133642 _7: 133643 _3_p = _sqlite3FkReferences(tls, _pTab) 133644 _9: 133645 if _3_p == nil { 133646 goto _12 133647 } 133648 133649 if _fkParentIsModified(tls, _pTab, _3_p, _aChange, _chngRowid) == 0 { 133650 goto _13 133651 } 133652 133653 r0 = i32(1) 133654 return 133655 133656 _13: 133657 _3_p = (*XFKey)(unsafe.Pointer(_3_p.X3)) 133658 goto _9 133659 133660 _12: 133661 _0: 133662 r0 = i32(0) 133663 return 133664 133665 } 133666 133667 func _fkChildIsModified(tls *crt.TLS, _pTab *XTable, _p *XFKey, _aChange *int32, _bChngRowid int32) (r0 int32) { // sqlite3.c:107925:1 133668 var _i int32 // sqlite3.c:107931:7 133669 _ = _i 133670 var _1_iChildKey int32 // sqlite3.c:107933:9 133671 _ = _1_iChildKey 133672 _i = i32(0) 133673 _0: 133674 if _i >= (_p.X5) { 133675 goto _3 133676 } 133677 133678 _1_iChildKey = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 133679 X0 int32 133680 X1 *int8 133681 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X9 */))))) + 8*uintptr(_i))).X0 133682 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aChange)) + 4*uintptr(_1_iChildKey)))) < i32(0) { 133683 goto _4 133684 } 133685 133686 r0 = i32(1) 133687 return 133688 133689 _4: 133690 if _1_iChildKey != int32(_pTab.X10) || _bChngRowid == 0 { 133691 goto _6 133692 } 133693 133694 r0 = i32(1) 133695 return 133696 133697 _6: 133698 _i += 1 133699 goto _0 133700 133701 _3: 133702 r0 = i32(0) 133703 return 133704 133705 } 133706 133707 func _fkParentIsModified(tls *crt.TLS, _pTab *XTable, _p *XFKey, _aChange *int32, _bChngRowid int32) (r0 int32) { // sqlite3.c:107952:1 133708 var _i int32 // sqlite3.c:107958:7 133709 _ = _i 133710 var _1_zKey *int8 // sqlite3.c:107960:10 133711 _ = _1_zKey 133712 var _1_iKey int32 // sqlite3.c:107961:9 133713 _ = _1_iKey 133714 var _3_pCol *XColumn // sqlite3.c:107964:16 133715 _ = _3_pCol 133716 _i = i32(0) 133717 _0: 133718 if _i >= (_p.X5) { 133719 goto _3 133720 } 133721 133722 _1_zKey = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 133723 X0 int32 133724 X1 *int8 133725 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(36 /* X9 */))))) + 8*uintptr(_i))).X1 133726 _1_iKey = i32(0) 133727 _4: 133728 if _1_iKey >= int32(_pTab.X11) { 133729 goto _7 133730 } 133731 133732 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aChange)) + 4*uintptr(_1_iKey)))) < i32(0) && (_1_iKey != int32(_pTab.X10) || _bChngRowid == 0) { 133733 goto _10 133734 } 133735 133736 _3_pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_1_iKey))) 133737 if _1_zKey == nil { 133738 goto _11 133739 } 133740 133741 if i32(0) != _sqlite3StrICmp(tls, _3_pCol.X0, _1_zKey) { 133742 goto _12 133743 } 133744 133745 r0 = i32(1) 133746 return 133747 133748 _12: 133749 goto _13 133750 133751 _11: 133752 if (int32(_3_pCol.X6) & i32(1)) == 0 { 133753 goto _14 133754 } 133755 133756 r0 = i32(1) 133757 return 133758 133759 _14: 133760 _13: 133761 _10: 133762 _1_iKey += 1 133763 goto _4 133764 133765 _7: 133766 _i += 1 133767 goto _0 133768 133769 _3: 133770 r0 = i32(0) 133771 return 133772 133773 } 133774 133775 func _sqlite3IsReadOnly(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _viewOk int32) (r0 int32) { // sqlite3.c:104440:1 133776 if ((_pTab.X16) == 0 || *(*unsafe.Pointer)(unsafe.Pointer(&struct { 133777 f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 133778 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32)(unsafe.Pointer(&struct { 133779 f func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 133780 }{((*Xsqlite3_module)(unsafe.Pointer((*XModule)(unsafe.Pointer(_sqlite3GetVTable(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pTab).X1)).X0)).X13)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 133781 f func(*crt.TLS, *Xsqlite3_vtab, int32, **XMem, *int64) int32 133782 }{nil}))) && (((_pTab.X9)&uint32(i32(1))) == uint32(i32(0)) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(2048)) != i32(0) || int32(_pParse.X6) != i32(0)) { 133783 goto _4 133784 } 133785 133786 _sqlite3ErrorMsg(tls, _pParse, str(122120), unsafe.Pointer(_pTab.X0)) 133787 r0 = i32(1) 133788 return 133789 133790 _4: 133791 if _viewOk != 0 || (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 133792 goto _6 133793 } 133794 133795 _sqlite3ErrorMsg(tls, _pParse, str(122152), unsafe.Pointer(_pTab.X0)) 133796 r0 = i32(1) 133797 return 133798 133799 _6: 133800 r0 = i32(0) 133801 return 133802 133803 } 133804 133805 func _sqlite3AuthContextPush(tls *crt.TLS, _pParse *XParse, _pContext *XAuthContext, _zContext *int8) { // sqlite3.c:99426:1 133806 func() int32 { 133807 if _pParse != nil { 133808 return i32(0) 133809 } 133810 return func() int32 { 133811 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(99431), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AuthContextPushØ00__func__Ø000))), unsafe.Pointer(str(122192))) 133812 crt.X__builtin_abort(tls) 133813 return i32(0) 133814 }() 133815 }() 133816 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pContext)) + uintptr(4 /* X1 */))))) = _pParse 133817 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pContext)) + uintptr(0 /* X0 */))) = _pParse.X65 133818 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(452 /* X65 */))) = _zContext 133819 return 133820 133821 } 133822 133823 var _sqlite3AuthContextPushØ00__func__Ø000 [23]int8 // - 133824 133825 func init() { 133826 crt.Xstrncpy(nil, &_sqlite3AuthContextPushØ00__func__Ø000[0], str(122200), 23) 133827 } 133828 133829 func _sqlite3VdbeCountChanges(tls *crt.TLS, _v *XVdbe) { // sqlite3.c:75831:1 133830 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v))+uintptr(140 /* X32 */))), int16(i32(1)), 16, 4) 133831 return 133832 133833 } 133834 133835 func _sqlite3MaterializeView(tls *crt.TLS, _pParse *XParse, _pView *XTable, _pWhere *XExpr, _iCur int32) { // sqlite3.c:104477:1 133836 var _dest XSelectDest // sqlite3.c:104483:14 133837 _ = _dest 133838 var _pSel *XSelect // sqlite3.c:104484:10 133839 _ = _pSel 133840 var _pFrom *XSrcList // sqlite3.c:104485:11 133841 _ = _pFrom 133842 var _db *Xsqlite3 // sqlite3.c:104486:11 133843 _ = _db 133844 var _iDb int32 // sqlite3.c:104487:7 133845 _ = _iDb 133846 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 133847 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pView.X20))) 133848 _pWhere = _sqlite3ExprDup(tls, _db, _pWhere, i32(0)) 133849 _pFrom = _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 133850 if _pFrom == nil { 133851 goto _0 133852 } 133853 133854 func() int32 { 133855 if (_pFrom.X0) == i32(1) { 133856 return i32(0) 133857 } 133858 return func() int32 { 133859 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104491), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MaterializeViewØ00__func__Ø000))), unsafe.Pointer(str(122224))) 133860 crt.X__builtin_abort(tls) 133861 return i32(0) 133862 }() 133863 }() 133864 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 133865 X0 unsafe.Pointer 133866 X1 *int8 133867 X2 *int8 133868 X3 *int8 133869 X4 unsafe.Pointer 133870 X5 unsafe.Pointer 133871 X6 int32 133872 X7 int32 133873 X8 int32 133874 X9 struct { 133875 X0 uint8 133876 X1 int8 133877 } 133878 X10 uint8 133879 X11 int32 133880 X12 unsafe.Pointer 133881 X13 unsafe.Pointer 133882 X14 uint64 133883 X15 struct { 133884 X [0]struct { 133885 X0 *int8 133886 X1 unsafe.Pointer 133887 } 133888 U [4]byte 133889 } 133890 X16 unsafe.Pointer 133891 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(8 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pView.X0) 133892 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 133893 X0 unsafe.Pointer 133894 X1 *int8 133895 X2 *int8 133896 X3 *int8 133897 X4 unsafe.Pointer 133898 X5 unsafe.Pointer 133899 X6 int32 133900 X7 int32 133901 X8 int32 133902 X9 struct { 133903 X0 uint8 133904 X1 int8 133905 } 133906 X10 uint8 133907 X11 int32 133908 X12 unsafe.Pointer 133909 X13 unsafe.Pointer 133910 X14 uint64 133911 X15 struct { 133912 X [0]struct { 133913 X0 *int8 133914 X1 unsafe.Pointer 133915 } 133916 U [4]byte 133917 } 133918 X16 unsafe.Pointer 133919 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(4 /* X1 */))) = _sqlite3DbStrDup(tls, _db, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) 133920 func() int32 { 133921 if (*XExpr)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 133922 X0 unsafe.Pointer 133923 X1 *int8 133924 X2 *int8 133925 X3 *int8 133926 X4 unsafe.Pointer 133927 X5 unsafe.Pointer 133928 X6 int32 133929 X7 int32 133930 X8 int32 133931 X9 struct { 133932 X0 uint8 133933 X1 int8 133934 } 133935 X10 uint8 133936 X11 int32 133937 X12 unsafe.Pointer 133938 X13 unsafe.Pointer 133939 X14 uint64 133940 X15 struct { 133941 X [0]struct { 133942 X0 *int8 133943 X1 unsafe.Pointer 133944 } 133945 U [4]byte 133946 } 133947 X16 unsafe.Pointer 133948 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X12)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 133949 return i32(0) 133950 } 133951 return func() int32 { 133952 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104494), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MaterializeViewØ00__func__Ø000))), unsafe.Pointer(str(122240))) 133953 crt.X__builtin_abort(tls) 133954 return i32(0) 133955 }() 133956 }() 133957 func() int32 { 133958 if (*XIdList)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 133959 X0 unsafe.Pointer 133960 X1 *int8 133961 X2 *int8 133962 X3 *int8 133963 X4 unsafe.Pointer 133964 X5 unsafe.Pointer 133965 X6 int32 133966 X7 int32 133967 X8 int32 133968 X9 struct { 133969 X0 uint8 133970 X1 int8 133971 } 133972 X10 uint8 133973 X11 int32 133974 X12 unsafe.Pointer 133975 X13 unsafe.Pointer 133976 X14 uint64 133977 X15 struct { 133978 X [0]struct { 133979 X0 *int8 133980 X1 unsafe.Pointer 133981 } 133982 U [4]byte 133983 } 133984 X16 unsafe.Pointer 133985 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X13)) == (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 133986 return i32(0) 133987 } 133988 return func() int32 { 133989 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(104495), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3MaterializeViewØ00__func__Ø000))), unsafe.Pointer(str(122260))) 133990 crt.X__builtin_abort(tls) 133991 return i32(0) 133992 }() 133993 }() 133994 _0: 133995 _pSel = _sqlite3SelectNew(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _pFrom, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(131072)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 133996 _sqlite3SelectDestInit(tls, &_dest, i32(12), _iCur) 133997 _sqlite3Select(tls, _pParse, _pSel, &_dest) 133998 _sqlite3SelectDelete(tls, _db, _pSel) 133999 return 134000 134001 } 134002 134003 var _sqlite3MaterializeViewØ00__func__Ø000 [23]int8 // - 134004 134005 func init() { 134006 crt.Xstrncpy(nil, &_sqlite3MaterializeViewØ00__func__Ø000[0], str(122284), 23) 134007 } 134008 134009 func _sqlite3SelectNew(tls *crt.TLS, _pParse *XParse, _pEList *XExprList, _pSrc *XSrcList, _pWhere *XExpr, _pGroupBy *XExprList, _pHaving *XExpr, _pOrderBy *XExprList, _selFlags uint32, _pLimit *XExpr, _pOffset *XExpr) (r0 *XSelect) { // sqlite3.c:116348:1 134010 var _pNew *XSelect // sqlite3.c:116360:10 134011 _ = _pNew 134012 var _standin XSelect // sqlite3.c:116361:10 134013 _ = _standin 134014 var _db *Xsqlite3 // sqlite3.c:116362:11 134015 _ = _db 134016 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 134017 _pNew = (*XSelect)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(80))))) 134018 if _pNew != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 134019 goto _0 134020 } 134021 134022 func() int32 { 134023 if (_db.X17) != 0 { 134024 return i32(0) 134025 } 134026 return func() int32 { 134027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116365), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectNewØ00__func__Ø000))), unsafe.Pointer(str(50476))) 134028 crt.X__builtin_abort(tls) 134029 return i32(0) 134030 }() 134031 }() 134032 _pNew = &_standin 134033 _0: 134034 if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 134035 goto _3 134036 } 134037 134038 _pEList = _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _sqlite3Expr(tls, _db, i32(160), (*int8)(unsafe.Pointer(uintptr(i32(0)))))) 134039 _3: 134040 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))))) = _pEList 134041 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = uint8(i32(119)) 134042 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X3 */))) = _selFlags 134043 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(12 /* X4 */))) = i32(0) 134044 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(16 /* X5 */))) = i32(0) 134045 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(20 /* X6 */))))) + 1*uintptr(i32(0)))) = int8(i32(0)) 134046 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(0)))) = i32(-1) 134047 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(32 /* X7 */))))) + 4*uintptr(i32(1)))) = i32(-1) 134048 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(6 /* X2 */))) = int16(i32(0)) 134049 if _pSrc != (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))) { 134050 goto _4 134051 } 134052 134053 _pSrc = (*XSrcList)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(76))))) 134054 _4: 134055 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(40 /* X8 */))))) = _pSrc 134056 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(44 /* X9 */))))) = _pWhere 134057 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(48 /* X10 */))))) = _pGroupBy 134058 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X11 */))))) = _pHaving 134059 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(56 /* X12 */))))) = _pOrderBy 134060 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(60 /* X13 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 134061 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(64 /* X14 */))))) = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 134062 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(68 /* X15 */))))) = _pLimit 134063 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(72 /* X16 */))))) = _pOffset 134064 *(**XWith)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(76 /* X17 */))))) = (*XWith)(unsafe.Pointer(uintptr(i32(0)))) 134065 func() int32 { 134066 if (((_pOffset == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (_pLimit != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))))) || ((_pParse.X16) > i32(0))) || (int32(_db.X17) != i32(0)) { 134067 return i32(0) 134068 } 134069 return func() int32 { 134070 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116393), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectNewØ00__func__Ø000))), unsafe.Pointer(str(122308))) 134071 crt.X__builtin_abort(tls) 134072 return i32(0) 134073 }() 134074 }() 134075 if (_db.X17) == 0 { 134076 goto _10 134077 } 134078 134079 _clearSelect(tls, _db, _pNew, bool2int(_pNew != &_standin)) 134080 _pNew = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 134081 goto _11 134082 134083 _10: 134084 func() int32 { 134085 if ((*XSrcList)(unsafe.Pointer(_pNew.X8)) != (*XSrcList)(unsafe.Pointer(uintptr(i32(0))))) || ((_pParse.X16) > i32(0)) { 134086 return i32(0) 134087 } 134088 return func() int32 { 134089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116398), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectNewØ00__func__Ø000))), unsafe.Pointer(str(122376))) 134090 crt.X__builtin_abort(tls) 134091 return i32(0) 134092 }() 134093 }() 134094 _11: 134095 func() int32 { 134096 if _pNew != &_standin { 134097 return i32(0) 134098 } 134099 return func() int32 { 134100 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116400), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SelectNewØ00__func__Ø000))), unsafe.Pointer(str(122408))) 134101 crt.X__builtin_abort(tls) 134102 return i32(0) 134103 }() 134104 }() 134105 r0 = _pNew 134106 return 134107 134108 } 134109 134110 var _sqlite3SelectNewØ00__func__Ø000 [17]int8 // - 134111 134112 func init() { 134113 crt.Xstrncpy(nil, &_sqlite3SelectNewØ00__func__Ø000[0], str(122424), 17) 134114 } 134115 134116 func _sqlite3WhereOkOnePass(tls *crt.TLS, _pWInfo *XWhereInfo, _aiCur *int32) (r0 int32) { // sqlite3.c:129934:1 134117 crt.Xmemcpy(tls, (unsafe.Pointer)(_aiCur), (unsafe.Pointer)((*[2]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWInfo))+uintptr(20 /* X5 */)))), u32(8)) 134118 r0 = int32(_pWInfo.X13) 134119 return 134120 134121 } 134122 134123 func _sqlite3OpenTableAndIndices(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _op int32, _p5 uint8, _iBase int32, _aToOpen *uint8, _piDataCur *int32, _piIdxCur *int32) (r0 int32) { // sqlite3.c:110375:1 134124 var _i int32 // sqlite3.c:110385:7 134125 _ = _i 134126 var _iDb int32 // sqlite3.c:110386:7 134127 _ = _iDb 134128 var _iDataCur int32 // sqlite3.c:110387:7 134129 _ = _iDataCur 134130 var _pIdx *XIndex // sqlite3.c:110388:9 134131 _ = _pIdx 134132 var _v *XVdbe // sqlite3.c:110389:8 134133 _ = _v 134134 var _4_iIdxCur int32 // sqlite3.c:110412:9 134135 _ = _4_iIdxCur 134136 func() int32 { 134137 if (_op == i32(105)) || (_op == i32(106)) { 134138 return i32(0) 134139 } 134140 return func() int32 { 134141 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110391), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableAndIndicesØ00__func__Ø000))), unsafe.Pointer(str(122444))) 134142 crt.X__builtin_abort(tls) 134143 return i32(0) 134144 }() 134145 }() 134146 func() int32 { 134147 if (_op == i32(106)) || (int32(_p5) == i32(0)) { 134148 return i32(0) 134149 } 134150 return func() int32 { 134151 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110392), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableAndIndicesØ00__func__Ø000))), unsafe.Pointer(str(122480))) 134152 crt.X__builtin_abort(tls) 134153 return i32(0) 134154 }() 134155 }() 134156 if (_pTab.X16) == 0 { 134157 goto _6 134158 } 134159 134160 r0 = i32(0) 134161 return 134162 134163 _6: 134164 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 134165 _v = _sqlite3GetVdbe(tls, _pParse) 134166 func() int32 { 134167 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 134168 return i32(0) 134169 } 134170 return func() int32 { 134171 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110401), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableAndIndicesØ00__func__Ø000))), unsafe.Pointer(str(44352))) 134172 crt.X__builtin_abort(tls) 134173 return i32(0) 134174 }() 134175 }() 134176 if _iBase >= i32(0) { 134177 goto _9 134178 } 134179 134180 _iBase = _pParse.X17 134181 _9: 134182 _iDataCur = postInc961(&_iBase, int32(1)) 134183 if _piDataCur == nil { 134184 goto _10 134185 } 134186 134187 *_piDataCur = _iDataCur 134188 _10: 134189 if ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) || _aToOpen != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(i32(0))))) == 0 { 134190 goto _13 134191 } 134192 134193 _sqlite3OpenTable(tls, _pParse, _iDataCur, _iDb, _pTab, _op) 134194 goto _14 134195 134196 _13: 134197 _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(bool2int(_op == i32(106))), _pTab.X0) 134198 _14: 134199 if _piIdxCur == nil { 134200 goto _15 134201 } 134202 134203 *_piIdxCur = _iBase 134204 _15: 134205 *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 134206 _16: 134207 if _pIdx == nil { 134208 goto _19 134209 } 134210 134211 _4_iIdxCur = postInc961(&_iBase, int32(1)) 134212 func() int32 { 134213 if (*XSchema)(unsafe.Pointer(_pIdx.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { 134214 return i32(0) 134215 } 134216 return func() int32 { 134217 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110413), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3OpenTableAndIndicesØ00__func__Ø000))), unsafe.Pointer(str(121580))) 134218 crt.X__builtin_abort(tls) 134219 return i32(0) 134220 }() 134221 }() 134222 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) || ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) { 134223 goto _23 134224 } 134225 134226 if _piDataCur == nil { 134227 goto _24 134228 } 134229 134230 *_piDataCur = _4_iIdxCur 134231 _24: 134232 _p5 = uint8(i32(0)) 134233 _23: 134234 if _aToOpen != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_i+i32(1))))) == 0 { 134235 goto _26 134236 } 134237 134238 _sqlite3VdbeAddOp3(tls, _v, _op, _4_iIdxCur, _pIdx.X11, _iDb) 134239 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) 134240 _sqlite3VdbeChangeP5(tls, _v, uint16(_p5)) 134241 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pIdx.X0)) 134242 _26: 134243 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_i }() += 1 134244 goto _16 134245 134246 _19: 134247 if _iBase <= (_pParse.X17) { 134248 goto _27 134249 } 134250 134251 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = _iBase 134252 _27: 134253 r0 = _i 134254 return 134255 134256 } 134257 134258 var _sqlite3OpenTableAndIndicesØ00__func__Ø000 [27]int8 // - 134259 134260 func init() { 134261 crt.Xstrncpy(nil, &_sqlite3OpenTableAndIndicesØ00__func__Ø000[0], str(122508), 27) 134262 } 134263 134264 func _sqlite3VtabMakeWritable(tls *crt.TLS, _pParse *XParse, _pTab *XTable) { // sqlite3.c:125626:1 134265 var _pToplevel *XParse // sqlite3.c:125627:9 134266 _ = _pToplevel 134267 var _i int32 // sqlite3.c:125628:7 134268 _ = _i 134269 var _n int32 // sqlite3.c:125628:10 134270 _ = _n 134271 var _apVtabLock **XTable // sqlite3.c:125629:9 134272 _ = _apVtabLock 134273 _pToplevel = func() *XParse { 134274 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 134275 return (*XParse)(unsafe.Pointer(_pParse.X39)) 134276 } 134277 return _pParse 134278 }() 134279 func() int32 { 134280 if (_pTab.X16) != 0 { 134281 return i32(0) 134282 } 134283 return func() int32 { 134284 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125631), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabMakeWritableØ00__func__Ø000))), unsafe.Pointer(str(25564))) 134285 crt.X__builtin_abort(tls) 134286 return i32(0) 134287 }() 134288 }() 134289 _i = i32(0) 134290 _4: 134291 if _i >= (_pToplevel.X56) { 134292 goto _7 134293 } 134294 134295 if _pTab != (*(**XTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel.X67)) + 4*uintptr(_i)))) { 134296 goto _8 134297 } 134298 134299 return 134300 134301 _8: 134302 _i += 1 134303 goto _4 134304 134305 _7: 134306 _n = int32(uint32((_pToplevel.X56)+i32(1)) * u32(4)) 134307 _apVtabLock = (**XTable)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_pToplevel.X67), uint64(_n)))) 134308 if _apVtabLock == nil { 134309 goto _9 134310 } 134311 134312 *(***XTable)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(464 /* X67 */))))) = _apVtabLock 134313 *(**XTable)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel.X67)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel))+uintptr(416 /* X56 */))), int32(1))))) = _pTab 134314 goto _10 134315 134316 _9: 134317 _sqlite3OomFault(tls, (*Xsqlite3)(unsafe.Pointer(_pToplevel.X0))) 134318 _10: 134319 return 134320 134321 } 134322 134323 var _sqlite3VtabMakeWritableØ00__func__Ø000 [24]int8 // - 134324 134325 func init() { 134326 crt.Xstrncpy(nil, &_sqlite3VtabMakeWritableØ00__func__Ø000[0], str(122536), 24) 134327 } 134328 134329 func _sqlite3GenerateRowDelete(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pTrigger *XTrigger, _iDataCur int32, _iIdxCur int32, _iPk int32, _nPk int16, _count uint8, _onconf uint8, _eMode uint8, _iIdxNoSeek int32) { // sqlite3.c:105003:1 134330 var _v *XVdbe // sqlite3.c:105016:8 134331 _ = _v 134332 var _iOld int32 // sqlite3.c:105017:7 134333 _ = _iOld 134334 var _iLabel int32 // sqlite3.c:105018:7 134335 _ = _iLabel 134336 var _opSeek uint8 // sqlite3.c:105019:6 134337 _ = _opSeek 134338 var _2_mask uint32 // sqlite3.c:105040:9 134339 _ = _2_mask 134340 var _2_iCol int32 // sqlite3.c:105041:9 134341 _ = _2_iCol 134342 var _2_addrStart int32 // sqlite3.c:105042:9 134343 _ = _2_addrStart 134344 var _6_p5 uint8 // sqlite3.c:105103:8 134345 _ = _6_p5 134346 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 134347 _iOld = i32(0) 134348 func() int32 { 134349 if _v != nil { 134350 return i32(0) 134351 } 134352 return func() int32 { 134353 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105022), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateRowDeleteØ00__func__Ø000))), unsafe.Pointer(str(44132))) 134354 crt.X__builtin_abort(tls) 134355 return i32(0) 134356 }() 134357 }() 134358 _iLabel = _sqlite3VdbeMakeLabel(tls, _v) 134359 _opSeek = uint8(func() int32 { 134360 if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 134361 return i32(33) 134362 } 134363 return i32(30) 134364 }()) 134365 if int32(_eMode) != i32(0) { 134366 goto _4 134367 } 134368 134369 _sqlite3VdbeAddOp4Int(tls, _v, int32(_opSeek), _iDataCur, _iLabel, _iPk, int32(_nPk)) 134370 _4: 134371 if _sqlite3FkRequired(tls, _pParse, _pTab, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) == 0 && _pTrigger == nil { 134372 goto _6 134373 } 134374 134375 _2_mask = _sqlite3TriggerColmask(tls, _pParse, _pTrigger, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(0), i32(3), _pTab, int32(_onconf)) 134376 { 134377 p := &_2_mask 134378 *p = (*p) | _sqlite3FkOldmask(tls, _pParse, _pTab) 134379 sink985 = *p 134380 } 134381 _iOld = (_pParse.X18) + i32(1) 134382 { 134383 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 134384 *p = (*p) + (i32(1) + int32(_pTab.X11)) 134385 sink961 = *p 134386 } 134387 _sqlite3VdbeAddOp2(tls, _v, i32(85), _iPk, _iOld) 134388 _2_iCol = i32(0) 134389 _7: 134390 if _2_iCol >= int32(_pTab.X11) { 134391 goto _10 134392 } 134393 134394 if _2_mask != u32(4294967295) && (_2_iCol > i32(31) || (_2_mask&(u32(1)<<uint(_2_iCol))) == uint32(i32(0))) { 134395 goto _13 134396 } 134397 134398 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iDataCur, _2_iCol, (_iOld+_2_iCol)+i32(1)) 134399 _13: 134400 _2_iCol += 1 134401 goto _7 134402 134403 _10: 134404 _2_addrStart = _sqlite3VdbeCurrentAddr(tls, _v) 134405 _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(1), _pTab, _iOld, int32(_onconf), _iLabel) 134406 if _2_addrStart >= _sqlite3VdbeCurrentAddr(tls, _v) { 134407 goto _14 134408 } 134409 134410 _sqlite3VdbeAddOp4Int(tls, _v, int32(_opSeek), _iDataCur, _iLabel, _iPk, int32(_nPk)) 134411 _iIdxNoSeek = i32(-1) 134412 _14: 134413 _sqlite3FkCheck(tls, _pParse, _pTab, _iOld, i32(0), (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 134414 _6: 134415 if (*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 134416 goto _15 134417 } 134418 134419 _6_p5 = u8(0) 134420 _sqlite3GenerateRowIndexDelete(tls, _pParse, _pTab, _iDataCur, _iIdxCur, (*int32)(unsafe.Pointer(uintptr(i32(0)))), _iIdxNoSeek) 134421 _sqlite3VdbeAddOp2(tls, _v, i32(118), _iDataCur, func() int32 { 134422 if _count != 0 { 134423 return i32(1) 134424 } 134425 return i32(0) 134426 }()) 134427 if int32(_pParse.X6) != i32(0) { 134428 goto _18 134429 } 134430 134431 _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_pTab), i32(-15)) 134432 _18: 134433 if int32(_eMode) == i32(0) { 134434 goto _19 134435 } 134436 134437 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(4))) 134438 _19: 134439 if _iIdxNoSeek < i32(0) || _iIdxNoSeek == _iDataCur { 134440 goto _21 134441 } 134442 134443 _sqlite3VdbeAddOp1(tls, _v, i32(118), _iIdxNoSeek) 134444 _21: 134445 if int32(_eMode) != i32(2) { 134446 goto _22 134447 } 134448 134449 { 134450 p := &_6_p5 134451 *p = uint8(int32(*p) | i32(2)) 134452 sink6915 = *p 134453 } 134454 _22: 134455 _sqlite3VdbeChangeP5(tls, _v, uint16(_6_p5)) 134456 _15: 134457 _sqlite3FkActions(tls, _pParse, _pTab, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _iOld, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 134458 _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(2), _pTab, _iOld, int32(_onconf), _iLabel) 134459 _sqlite3VdbeResolveLabel(tls, _v, _iLabel) 134460 return 134461 134462 } 134463 134464 var _sqlite3GenerateRowDeleteØ00__func__Ø000 [25]int8 // - 134465 134466 func init() { 134467 crt.Xstrncpy(nil, &_sqlite3GenerateRowDeleteØ00__func__Ø000[0], str(122560), 25) 134468 } 134469 134470 func _sqlite3TriggerColmask(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger, _pChanges *XExprList, _isNew int32, _tr_tm int32, _pTab *XTable, _orconf int32) (r0 uint32) { // sqlite3.c:123252:1 134471 var _op int32 // sqlite3.c:123261:13 134472 _ = _op 134473 var _mask uint32 // sqlite3.c:123262:7 134474 _ = _mask 134475 var _p *XTrigger // sqlite3.c:123263:11 134476 _ = _p 134477 var _2_pPrg *XTriggerPrg // sqlite3.c:123270:18 134478 _ = _2_pPrg 134479 _op = func() int32 { 134480 if _pChanges != nil { 134481 return i32(110) 134482 } 134483 return i32(109) 134484 }() 134485 _mask = u32(0) 134486 func() int32 { 134487 if (_isNew == i32(1)) || (_isNew == i32(0)) { 134488 return i32(0) 134489 } 134490 return func() int32 { 134491 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123265), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TriggerColmaskØ00__func__Ø000))), unsafe.Pointer(str(122588))) 134492 crt.X__builtin_abort(tls) 134493 return i32(0) 134494 }() 134495 }() 134496 _p = _pTrigger 134497 _5: 134498 if _p == nil { 134499 goto _8 134500 } 134501 134502 if int32(_p.X2) != _op || (_tr_tm&int32(_p.X3)) == 0 || _checkColumnOverlap(tls, (*XIdList)(unsafe.Pointer(_p.X5)), _pChanges) == 0 { 134503 goto _11 134504 } 134505 134506 _2_pPrg = _getRowTrigger(tls, _pParse, _p, _pTab, _orconf) 134507 if _2_pPrg == nil { 134508 goto _12 134509 } 134510 134511 { 134512 p := &_mask 134513 *p = (*p) | (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pPrg))+uintptr(16 /* X4 */))))) + 4*uintptr(_isNew)))) 134514 sink985 = *p 134515 } 134516 _12: 134517 _11: 134518 _p = (*XTrigger)(unsafe.Pointer(_p.X9)) 134519 goto _5 134520 134521 _8: 134522 r0 = _mask 134523 return 134524 134525 } 134526 134527 var _sqlite3TriggerColmaskØ00__func__Ø000 [22]int8 // - 134528 134529 func init() { 134530 crt.Xstrncpy(nil, &_sqlite3TriggerColmaskØ00__func__Ø000[0], str(122612), 22) 134531 } 134532 134533 func _getRowTrigger(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger, _pTab *XTable, _orconf int32) (r0 *XTriggerPrg) { // sqlite3.c:123084:1 134534 var _pRoot *XParse // sqlite3.c:123090:9 134535 _ = _pRoot 134536 var _pPrg *XTriggerPrg // sqlite3.c:123091:14 134537 _ = _pPrg 134538 _pRoot = func() *XParse { 134539 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 134540 return (*XParse)(unsafe.Pointer(_pParse.X39)) 134541 } 134542 return _pParse 134543 }() 134544 func() int32 { 134545 if ((_pTrigger.X0) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pTab == _tableOfTrigger(tls, _pTrigger)) { 134546 return i32(0) 134547 } 134548 return func() int32 { 134549 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123093), unsafe.Pointer((*int8)(unsafe.Pointer(&_getRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(122636))) 134550 crt.X__builtin_abort(tls) 134551 return i32(0) 134552 }() 134553 }() 134554 _pPrg = (*XTriggerPrg)(unsafe.Pointer(_pRoot.X69)) 134555 _5: 134556 if _pPrg == nil || (*XTrigger)(unsafe.Pointer(_pPrg.X0)) == _pTrigger && (_pPrg.X3) == _orconf { 134557 goto _10 134558 } 134559 134560 _pPrg = (*XTriggerPrg)(unsafe.Pointer(_pPrg.X1)) 134561 goto _5 134562 134563 _10: 134564 if _pPrg != nil { 134565 goto _11 134566 } 134567 134568 _pPrg = _codeRowTrigger(tls, _pParse, _pTrigger, _pTab, _orconf) 134569 _11: 134570 r0 = _pPrg 134571 return 134572 134573 } 134574 134575 var _getRowTriggerØ00__func__Ø000 [14]int8 // - 134576 134577 func init() { 134578 crt.Xstrncpy(nil, &_getRowTriggerØ00__func__Ø000[0], str(122692), 14) 134579 } 134580 134581 func _codeRowTrigger(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger, _pTab *XTable, _orconf int32) (r0 *XTriggerPrg) { // sqlite3.c:122971:1 134582 var _pTop *XParse // sqlite3.c:122977:9 134583 _ = _pTop 134584 var _db *Xsqlite3 // sqlite3.c:122978:11 134585 _ = _db 134586 var _pPrg *XTriggerPrg // sqlite3.c:122979:14 134587 _ = _pPrg 134588 var _pWhen *XExpr // sqlite3.c:122980:8 134589 _ = _pWhen 134590 var _v *XVdbe // sqlite3.c:122981:8 134591 _ = _v 134592 var _sNC XNameContext // sqlite3.c:122982:15 134593 _ = _sNC 134594 var _pProgram *XSubProgram // sqlite3.c:122983:14 134595 _ = _pProgram 134596 var _pSubParse *XParse // sqlite3.c:122984:9 134597 _ = _pSubParse 134598 var _iEndTrigger int32 // sqlite3.c:122985:7 134599 _ = _iEndTrigger 134600 _pTop = func() *XParse { 134601 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 134602 return (*XParse)(unsafe.Pointer(_pParse.X39)) 134603 } 134604 return _pParse 134605 }() 134606 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 134607 _pWhen = nil 134608 _pProgram = nil 134609 _iEndTrigger = i32(0) 134610 func() int32 { 134611 if ((_pTrigger.X0) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pTab == _tableOfTrigger(tls, _pTrigger)) { 134612 return i32(0) 134613 } 134614 return func() int32 { 134615 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122987), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(122636))) 134616 crt.X__builtin_abort(tls) 134617 return i32(0) 134618 }() 134619 }() 134620 func() int32 { 134621 if (*XVdbe)(unsafe.Pointer(_pTop.X2)) != nil { 134622 return i32(0) 134623 } 134624 return func() int32 { 134625 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122988), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(122708))) 134626 crt.X__builtin_abort(tls) 134627 return i32(0) 134628 }() 134629 }() 134630 _pPrg = (*XTriggerPrg)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(24))))) 134631 if _pPrg != nil { 134632 goto _7 134633 } 134634 134635 r0 = (*XTriggerPrg)(unsafe.Pointer(uintptr(i32(0)))) 134636 return 134637 134638 _7: 134639 *(**XTriggerPrg)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(4 /* X1 */))))) = (*XTriggerPrg)(unsafe.Pointer(_pTop.X69)) 134640 *(**XTriggerPrg)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTop)) + uintptr(472 /* X69 */))))) = _pPrg 134641 *(**XSubProgram)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(8 /* X2 */))))) = store8121744(&_pProgram, (*XSubProgram)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(28)))))) 134642 if _pProgram != nil { 134643 goto _8 134644 } 134645 134646 r0 = (*XTriggerPrg)(unsafe.Pointer(uintptr(i32(0)))) 134647 return 134648 134649 _8: 134650 _sqlite3VdbeLinkSubProgram(tls, (*XVdbe)(unsafe.Pointer(_pTop.X2)), _pProgram) 134651 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(0 /* X0 */))))) = _pTrigger 134652 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg)) + uintptr(12 /* X3 */))) = _orconf 134653 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(16 /* X4 */))))) + 4*uintptr(i32(0)))) = u32(4294967295) 134654 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(16 /* X4 */))))) + 4*uintptr(i32(1)))) = u32(4294967295) 134655 _pSubParse = (*XParse)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(484))))) 134656 if _pSubParse != nil { 134657 goto _9 134658 } 134659 134660 r0 = (*XTriggerPrg)(unsafe.Pointer(uintptr(i32(0)))) 134661 return 134662 134663 _9: 134664 crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u32(32)) 134665 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pSubParse 134666 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(0 /* X0 */))))) = _db 134667 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(136 /* X40 */))))) = _pTab 134668 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(132 /* X39 */))))) = _pTop 134669 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(452 /* X65 */))) = _pTrigger.X0 134670 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(156 /* X45 */))) = _pTrigger.X2 134671 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSubParse)) + uintptr(144 /* X42 */))) = _pParse.X42 134672 _v = _sqlite3GetVdbe(tls, _pSubParse) 134673 if _v == nil { 134674 goto _10 134675 } 134676 134677 _sqlite3VdbeComment(tls, _v, str(122720), unsafe.Pointer(_pTrigger.X0), unsafe.Pointer(_onErrorText(tls, _orconf)), unsafe.Pointer(func() *int8 { 134678 if int32(_pTrigger.X3) == i32(1) { 134679 return str(26476) 134680 } 134681 return str(26448) 134682 }()), unsafe.Pointer(func() *int8 { 134683 if int32(_pTrigger.X2) == i32(110) { 134684 return str(26852) 134685 } 134686 return str(196) 134687 }()), unsafe.Pointer(func() *int8 { 134688 if int32(_pTrigger.X2) == i32(108) { 134689 return str(26836) 134690 } 134691 return str(196) 134692 }()), unsafe.Pointer(func() *int8 { 134693 if int32(_pTrigger.X2) == i32(109) { 134694 return str(26844) 134695 } 134696 return str(196) 134697 }()), unsafe.Pointer(_pTab.X0)) 134698 _sqlite3VdbeChangeP4(tls, _v, i32(-1), _sqlite3MPrintf(tls, _db, str(122752), unsafe.Pointer(_pTrigger.X0)), i32(-1)) 134699 if (*XExpr)(unsafe.Pointer(_pTrigger.X4)) == nil { 134700 goto _19 134701 } 134702 134703 _pWhen = _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pTrigger.X4)), i32(0)) 134704 if i32(0) != _sqlite3ResolveExprNames(tls, &_sNC, _pWhen) || int32(_db.X17) != i32(0) { 134705 goto _21 134706 } 134707 134708 _iEndTrigger = _sqlite3VdbeMakeLabel(tls, _v) 134709 _sqlite3ExprIfFalse(tls, _pSubParse, _pWhen, _iEndTrigger, i32(16)) 134710 _21: 134711 _sqlite3ExprDelete(tls, _db, _pWhen) 134712 _19: 134713 _codeTriggerProgram(tls, _pSubParse, (*XTriggerStep)(unsafe.Pointer(_pTrigger.X8)), _orconf) 134714 if _iEndTrigger == 0 { 134715 goto _22 134716 } 134717 134718 _sqlite3VdbeResolveLabel(tls, _v, _iEndTrigger) 134719 _22: 134720 _sqlite3VdbeAddOp0(tls, _v, i32(76)) 134721 _sqlite3VdbeComment(tls, _v, str(122768), unsafe.Pointer(_pTrigger.X0), unsafe.Pointer(_onErrorText(tls, _orconf))) 134722 _transferParseError(tls, _pParse, _pSubParse) 134723 if int32(_db.X17) != i32(0) { 134724 goto _23 134725 } 134726 134727 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(0 /* X0 */))))) = _sqlite3VdbeTakeOpArray(tls, _v, (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram))+uintptr(4 /* X1 */))), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTop))+uintptr(108 /* X33 */)))) 134728 _23: 134729 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(8 /* X2 */))) = _pSubParse.X18 134730 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(12 /* X3 */))) = _pSubParse.X17 134731 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pProgram)) + uintptr(20 /* X5 */))) = (unsafe.Pointer)(_pTrigger) 134732 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(16 /* X4 */))))) + 4*uintptr(i32(0)))) = _pSubParse.X43 134733 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPrg))+uintptr(16 /* X4 */))))) + 4*uintptr(i32(1)))) = _pSubParse.X44 134734 _sqlite3VdbeDelete(tls, _v) 134735 _10: 134736 func() int32 { 134737 if ((*XAutoincInfo)(unsafe.Pointer(_pSubParse.X38)) == nil) && ((*XTable)(unsafe.Pointer(_pSubParse.X68)) == nil) { 134738 return i32(0) 134739 } 134740 return func() int32 { 134741 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123070), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(122780))) 134742 crt.X__builtin_abort(tls) 134743 return i32(0) 134744 }() 134745 }() 134746 func() int32 { 134747 if ((*XTriggerPrg)(unsafe.Pointer(_pSubParse.X69)) == nil) && ((_pSubParse.X33) == 0) { 134748 return i32(0) 134749 } 134750 return func() int32 { 134751 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123071), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(122824))) 134752 crt.X__builtin_abort(tls) 134753 return i32(0) 134754 }() 134755 }() 134756 _sqlite3ParserReset(tls, _pSubParse) 134757 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pSubParse)) 134758 r0 = _pPrg 134759 return 134760 134761 } 134762 134763 var _codeRowTriggerØ00__func__Ø000 [15]int8 // - 134764 134765 func init() { 134766 crt.Xstrncpy(nil, &_codeRowTriggerØ00__func__Ø000[0], str(122872), 15) 134767 } 134768 134769 func _sqlite3VdbeLinkSubProgram(tls *crt.TLS, _pVdbe *XVdbe, _p *XSubProgram) { // sqlite3.c:72226:1 134770 *(**XSubProgram)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))))) = (*XSubProgram)(unsafe.Pointer(_pVdbe.X42)) 134771 *(**XSubProgram)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe)) + uintptr(196 /* X42 */))))) = _p 134772 return 134773 134774 } 134775 134776 func _onErrorText(tls *crt.TLS, _onError int32) (r0 *int8) { // sqlite3.c:122937:1 134777 switch _onError { 134778 case i32(1): 134779 goto _2 134780 case i32(2): 134781 goto _1 134782 case i32(3): 134783 goto _3 134784 case i32(4): 134785 goto _5 134786 case i32(5): 134787 goto _4 134788 case i32(10): 134789 goto _6 134790 default: 134791 goto _7 134792 } 134793 134794 _1: 134795 r0 = str(50140) 134796 return 134797 134798 _2: 134799 r0 = str(50128) 134800 return 134801 134802 _3: 134803 r0 = str(50148) 134804 return 134805 134806 _4: 134807 r0 = str(7736) 134808 return 134809 134810 _5: 134811 r0 = str(50156) 134812 return 134813 134814 _6: 134815 r0 = str(122888) 134816 return 134817 134818 _7: 134819 r0 = str(122896) 134820 return 134821 134822 } 134823 134824 func _codeTriggerProgram(tls *crt.TLS, _pParse *XParse, _pStepList *XTriggerStep, _orconf int32) (r0 int32) { // sqlite3.c:122860:1 134825 var _pStep *XTriggerStep // sqlite3.c:122865:15 134826 _ = _pStep 134827 var _v *XVdbe // sqlite3.c:122866:8 134828 _ = _v 134829 var _db *Xsqlite3 // sqlite3.c:122867:11 134830 _ = _db 134831 var _6_sDest XSelectDest // sqlite3.c:122916:20 134832 _ = _6_sDest 134833 var _6_pSelect *XSelect // sqlite3.c:122917:16 134834 _ = _6_pSelect 134835 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 134836 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 134837 func() int32 { 134838 if ((*XTable)(unsafe.Pointer(_pParse.X40)) != nil) && ((*XParse)(unsafe.Pointer(_pParse.X39)) != nil) { 134839 return i32(0) 134840 } 134841 return func() int32 { 134842 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122869), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeTriggerProgramØ00__func__Ø000))), unsafe.Pointer(str(122900))) 134843 crt.X__builtin_abort(tls) 134844 return i32(0) 134845 }() 134846 }() 134847 func() int32 { 134848 if _pStepList != nil { 134849 return i32(0) 134850 } 134851 return func() int32 { 134852 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122870), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeTriggerProgramØ00__func__Ø000))), unsafe.Pointer(str(122944))) 134853 crt.X__builtin_abort(tls) 134854 return i32(0) 134855 }() 134856 }() 134857 func() int32 { 134858 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 134859 return i32(0) 134860 } 134861 return func() int32 { 134862 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122871), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeTriggerProgramØ00__func__Ø000))), unsafe.Pointer(str(44352))) 134863 crt.X__builtin_abort(tls) 134864 return i32(0) 134865 }() 134866 }() 134867 _pStep = _pStepList 134868 _7: 134869 if _pStep == nil { 134870 goto _10 134871 } 134872 134873 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(157 /* X46 */))) = func() uint8 { 134874 if _orconf == i32(10) { 134875 return (_pStep.X1) 134876 } 134877 return uint8(_orconf) 134878 }() 134879 func() int32 { 134880 if int32(_pParse.X11) == i32(0) { 134881 return i32(0) 134882 } 134883 return func() int32 { 134884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122887), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeTriggerProgramØ00__func__Ø000))), unsafe.Pointer(str(122956))) 134885 crt.X__builtin_abort(tls) 134886 return i32(0) 134887 }() 134888 }() 134889 switch int32(_pStep.X0) { 134890 case i32(108): 134891 goto _17 134892 case i32(109): 134893 goto _18 134894 case i32(110): 134895 goto _16 134896 default: 134897 goto _19 134898 } 134899 134900 _16: 134901 _sqlite3Update(tls, _pParse, _targetSrcList(tls, _pParse, _pStep), _sqlite3ExprListDup(tls, _db, (*XExprList)(unsafe.Pointer(_pStep.X6)), i32(0)), _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pStep.X5)), i32(0)), int32(_pParse.X46)) 134902 goto _20 134903 134904 _17: 134905 _sqlite3Insert(tls, _pParse, _targetSrcList(tls, _pParse, _pStep), _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pStep.X3)), i32(0)), _sqlite3IdListDup(tls, _db, (*XIdList)(unsafe.Pointer(_pStep.X7))), int32(_pParse.X46)) 134906 goto _20 134907 134908 _18: 134909 _sqlite3DeleteFrom(tls, _pParse, _targetSrcList(tls, _pParse, _pStep), _sqlite3ExprDup(tls, _db, (*XExpr)(unsafe.Pointer(_pStep.X5)), i32(0))) 134910 goto _20 134911 134912 _19: 134913 func() int32 { 134914 if int32(_pStep.X0) == i32(119) { 134915 return i32(0) 134916 } 134917 return func() int32 { 134918 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122915), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeTriggerProgramØ00__func__Ø000))), unsafe.Pointer(str(122984))) 134919 crt.X__builtin_abort(tls) 134920 return i32(0) 134921 }() 134922 }() 134923 _6_pSelect = _sqlite3SelectDup(tls, _db, (*XSelect)(unsafe.Pointer(_pStep.X3)), i32(0)) 134924 _sqlite3SelectDestInit(tls, &_6_sDest, i32(4), i32(0)) 134925 _sqlite3Select(tls, _pParse, _6_pSelect, &_6_sDest) 134926 _sqlite3SelectDelete(tls, _db, _6_pSelect) 134927 goto _20 134928 134929 _20: 134930 if int32(_pStep.X0) == i32(119) { 134931 goto _23 134932 } 134933 134934 _sqlite3VdbeAddOp0(tls, _v, i32(119)) 134935 _23: 134936 _pStep = (*XTriggerStep)(unsafe.Pointer(_pStep.X8)) 134937 goto _7 134938 134939 _10: 134940 r0 = i32(0) 134941 return 134942 134943 } 134944 134945 var _codeTriggerProgramØ00__func__Ø000 [19]int8 // - 134946 134947 func init() { 134948 crt.Xstrncpy(nil, &_codeTriggerProgramØ00__func__Ø000[0], str(123008), 19) 134949 } 134950 134951 func _sqlite3Update(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pChanges *XExprList, _pWhere *XExpr, _onError int32) { // sqlite3.c:123373:1 134952 var _i int32 // sqlite3.c:123380:7 134953 _ = _i 134954 var _j int32 // sqlite3.c:123380:10 134955 _ = _j 134956 var _pTab *XTable // sqlite3.c:123381:9 134957 _ = _pTab 134958 var _addrTop int32 // sqlite3.c:123382:7 134959 _ = _addrTop 134960 var _pWInfo *XWhereInfo // sqlite3.c:123383:13 134961 _ = _pWInfo 134962 var _v *XVdbe // sqlite3.c:123384:8 134963 _ = _v 134964 var _pIdx *XIndex // sqlite3.c:123385:9 134965 _ = _pIdx 134966 var _pPk *XIndex // sqlite3.c:123386:9 134967 _ = _pPk 134968 var _nIdx int32 // sqlite3.c:123387:7 134969 _ = _nIdx 134970 var _iBaseCur int32 // sqlite3.c:123388:7 134971 _ = _iBaseCur 134972 var _iDataCur int32 // sqlite3.c:123389:7 134973 _ = _iDataCur 134974 var _iIdxCur int32 // sqlite3.c:123390:7 134975 _ = _iIdxCur 134976 var _db *Xsqlite3 // sqlite3.c:123391:11 134977 _ = _db 134978 var _aRegIdx *int32 // sqlite3.c:123392:7 134979 _ = _aRegIdx 134980 var _aXRef *int32 // sqlite3.c:123393:7 134981 _ = _aXRef 134982 var _aToOpen *uint8 // sqlite3.c:123396:6 134983 _ = _aToOpen 134984 var _chngPk uint8 // sqlite3.c:123397:6 134985 _ = _chngPk 134986 var _chngRowid uint8 // sqlite3.c:123398:6 134987 _ = _chngRowid 134988 var _chngKey uint8 // sqlite3.c:123399:6 134989 _ = _chngKey 134990 var _pRowidExpr *XExpr // sqlite3.c:123400:8 134991 _ = _pRowidExpr 134992 var _sContext XAuthContext // sqlite3.c:123401:15 134993 _ = _sContext 134994 var _sNC XNameContext // sqlite3.c:123402:15 134995 _ = _sNC 134996 var _iDb int32 // sqlite3.c:123403:7 134997 _ = _iDb 134998 var _eOnePass int32 // sqlite3.c:123404:7 134999 _ = _eOnePass 135000 var _hasFK int32 // sqlite3.c:123405:7 135001 _ = _hasFK 135002 var _labelBreak int32 // sqlite3.c:123406:7 135003 _ = _labelBreak 135004 var _labelContinue int32 // sqlite3.c:123407:7 135005 _ = _labelContinue 135006 var _flags int32 // sqlite3.c:123408:7 135007 _ = _flags 135008 var _isView int32 // sqlite3.c:123411:7 135009 _ = _isView 135010 var _pTrigger *XTrigger // sqlite3.c:123412:11 135011 _ = _pTrigger 135012 var _tmask int32 // sqlite3.c:123413:7 135013 _ = _tmask 135014 var _newmask int32 // sqlite3.c:123415:7 135015 _ = _newmask 135016 var _iEph int32 // sqlite3.c:123416:7 135017 _ = _iEph 135018 var _nKey int32 // sqlite3.c:123417:7 135019 _ = _nKey 135020 var _aiCurOnePass [2]int32 // sqlite3.c:123418:7 135021 _ = _aiCurOnePass 135022 var _addrOpen int32 // sqlite3.c:123419:7 135023 _ = _addrOpen 135024 var _iPk int32 // sqlite3.c:123420:7 135025 _ = _iPk 135026 var _nPk int16 // sqlite3.c:123421:7 135027 _ = _nPk 135028 var _bReplace int32 // sqlite3.c:123422:7 135029 _ = _bReplace 135030 var _regRowCount int32 // sqlite3.c:123425:7 135031 _ = _regRowCount 135032 var _regOldRowid int32 // sqlite3.c:123426:7 135033 _ = _regOldRowid 135034 var _regNewRowid int32 // sqlite3.c:123427:7 135035 _ = _regNewRowid 135036 var _regNew int32 // sqlite3.c:123428:7 135037 _ = _regNew 135038 var _regOld int32 // sqlite3.c:123429:7 135039 _ = _regOld 135040 var _regRowSet int32 // sqlite3.c:123430:7 135041 _ = _regRowSet 135042 var _regKey int32 // sqlite3.c:123431:7 135043 _ = _regKey 135044 var _15_rc int32 // sqlite3.c:123538:11 135045 _ = _15_rc 135046 var _18_reg int32 // sqlite3.c:123571:9 135047 _ = _18_reg 135048 var _21_iIdxCol int16 // sqlite3.c:123578:13 135049 _ = _21_iIdxCol 135050 var _36_iCur int32 // sqlite3.c:123698:9 135051 _ = _36_iCur 135052 var _45_addrOnce int32 // sqlite3.c:123740:9 135053 _ = _45_addrOnce 135054 var _55_oldmask uint32 // sqlite3.c:123798:9 135055 _ = _55_oldmask 135056 var _71_addr1 int32 // sqlite3.c:123891:9 135057 _ = _71_addr1 135058 _addrTop = i32(0) 135059 _aRegIdx = nil 135060 _aXRef = nil 135061 _pRowidExpr = nil 135062 _iEph = i32(0) 135063 _nKey = i32(0) 135064 _addrOpen = i32(0) 135065 _iPk = i32(0) 135066 _nPk = i16(0) 135067 _bReplace = i32(0) 135068 _regRowCount = i32(0) 135069 _regOldRowid = i32(0) 135070 _regNewRowid = i32(0) 135071 _regNew = i32(0) 135072 _regOld = i32(0) 135073 _regRowSet = i32(0) 135074 _regKey = i32(0) 135075 crt.Xmemset(tls, (unsafe.Pointer)(&_sContext), i32(0), u32(8)) 135076 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 135077 if (_pParse.X16) == 0 && (_db.X17) == 0 { 135078 goto _1 135079 } 135080 135081 goto _update_cleanup 135082 135083 _1: 135084 func() int32 { 135085 if (_pTabList.X0) == i32(1) { 135086 return i32(0) 135087 } 135088 return func() int32 { 135089 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123438), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(121464))) 135090 crt.X__builtin_abort(tls) 135091 return i32(0) 135092 }() 135093 }() 135094 _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTabList) 135095 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 135096 goto _4 135097 } 135098 135099 goto _update_cleanup 135100 135101 _4: 135102 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 135103 _pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(110), _pChanges, &_tmask) 135104 _isView = bool2int((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) 135105 func() int32 { 135106 if (_pTrigger != nil) || (_tmask == i32(0)) { 135107 return i32(0) 135108 } 135109 return func() int32 { 135110 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123452), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123028))) 135111 crt.X__builtin_abort(tls) 135112 return i32(0) 135113 }() 135114 }() 135115 if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { 135116 goto _8 135117 } 135118 135119 goto _update_cleanup 135120 135121 _8: 135122 if _sqlite3IsReadOnly(tls, _pParse, _pTab, _tmask) == 0 { 135123 goto _9 135124 } 135125 135126 goto _update_cleanup 135127 135128 _9: 135129 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 135130 X0 unsafe.Pointer 135131 X1 *int8 135132 X2 *int8 135133 X3 *int8 135134 X4 unsafe.Pointer 135135 X5 unsafe.Pointer 135136 X6 int32 135137 X7 int32 135138 X8 int32 135139 X9 struct { 135140 X0 uint8 135141 X1 int8 135142 } 135143 X10 uint8 135144 X11 int32 135145 X12 unsafe.Pointer 135146 X13 unsafe.Pointer 135147 X14 uint64 135148 X15 struct { 135149 X [0]struct { 135150 X0 *int8 135151 X1 unsafe.Pointer 135152 } 135153 U [4]byte 135154 } 135155 X16 unsafe.Pointer 135156 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(40 /* X11 */))) = store961(&_iBaseCur, store961(&_iDataCur, postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)))) 135157 _iIdxCur = _iDataCur + i32(1) 135158 _pPk = func() *XIndex { 135159 if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 135160 return (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 135161 } 135162 return _sqlite3PrimaryKeyIndex(tls, _pTab) 135163 }() 135164 *func() **XIndex { _nIdx = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 135165 _12: 135166 if _pIdx == nil { 135167 goto _15 135168 } 135169 135170 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) || _pPk == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 135171 goto _17 135172 } 135173 135174 _iDataCur = _pParse.X17 135175 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 135176 X0 unsafe.Pointer 135177 X1 *int8 135178 X2 *int8 135179 X3 *int8 135180 X4 unsafe.Pointer 135181 X5 unsafe.Pointer 135182 X6 int32 135183 X7 int32 135184 X8 int32 135185 X9 struct { 135186 X0 uint8 135187 X1 int8 135188 } 135189 X10 uint8 135190 X11 int32 135191 X12 unsafe.Pointer 135192 X13 unsafe.Pointer 135193 X14 uint64 135194 X15 struct { 135195 X [0]struct { 135196 X0 *int8 135197 X1 unsafe.Pointer 135198 } 135199 U [4]byte 135200 } 135201 X16 unsafe.Pointer 135202 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(40 /* X11 */))) = _iDataCur 135203 _17: 135204 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) += 1 135205 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_nIdx }() += 1 135206 goto _12 135207 135208 _15: 135209 _aXRef = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(((u32(4)*uint32(int32(_pTab.X11)+_nIdx))+uint32(_nIdx))+uint32(i32(2)))))) 135210 if _aXRef != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 135211 goto _18 135212 } 135213 135214 goto _update_cleanup 135215 135216 _18: 135217 _aRegIdx = (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(_aXRef)) + uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(_pTab.X11)))))*uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(4))))))))))) 135218 _aToOpen = (*uint8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(_aRegIdx)) + uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(_nIdx)))))*uintptr(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr(4))))))))))))) 135219 crt.Xmemset(tls, (unsafe.Pointer)(_aToOpen), i32(1), uint32(_nIdx+i32(1))) 135220 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_nIdx+i32(1)))) = uint8(i32(0)) 135221 _i = i32(0) 135222 _19: 135223 if _i >= int32(_pTab.X11) { 135224 goto _22 135225 } 135226 135227 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i))) = i32(-1) 135228 _i += 1 135229 goto _19 135230 135231 _22: 135232 crt.Xmemset(tls, (unsafe.Pointer)(&_sNC), i32(0), u32(32)) 135233 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(0 /* X0 */))))) = _pParse 135234 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNC)) + uintptr(4 /* X1 */))))) = _pTabList 135235 _chngRowid = store6915(&_chngPk, uint8(i32(0))) 135236 _i = i32(0) 135237 _23: 135238 if _i >= (_pChanges.X0) { 135239 goto _26 135240 } 135241 135242 if _sqlite3ResolveExprNames(tls, &_sNC, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1)+20*uintptr(_i))).X0))) == 0 { 135243 goto _27 135244 } 135245 135246 goto _update_cleanup 135247 135248 _27: 135249 _j = i32(0) 135250 _28: 135251 if _j >= int32(_pTab.X11) { 135252 goto _31 135253 } 135254 135255 if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_j))).X0, (*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1)+20*uintptr(_i))).X1) != i32(0) { 135256 goto _32 135257 } 135258 135259 if _j != int32(_pTab.X10) { 135260 goto _33 135261 } 135262 135263 _chngRowid = uint8(i32(1)) 135264 _pRowidExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1) + 20*uintptr(_i))).X0)) 135265 goto _34 135266 135267 _33: 135268 if _pPk == nil || (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_j))).X6)&i32(1)) == i32(0) { 135269 goto _36 135270 } 135271 135272 _chngPk = uint8(i32(1)) 135273 _36: 135274 _34: 135275 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_j))) = _i 135276 goto _31 135277 135278 _32: 135279 _j += 1 135280 goto _28 135281 135282 _31: 135283 if _j < int32(_pTab.X11) { 135284 goto _37 135285 } 135286 135287 if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || _sqlite3IsRowid(tls, (*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1)+20*uintptr(_i))).X1) == 0 { 135288 goto _39 135289 } 135290 135291 _j = i32(-1) 135292 _chngRowid = uint8(i32(1)) 135293 _pRowidExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1) + 20*uintptr(_i))).X0)) 135294 goto _40 135295 135296 _39: 135297 _sqlite3ErrorMsg(tls, _pParse, str(123052), unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1)+20*uintptr(_i))).X1)) 135298 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 135299 goto _update_cleanup 135300 135301 _40: 135302 _37: 135303 _15_rc = _sqlite3AuthCheck(tls, _pParse, i32(23), _pTab.X0, func() *int8 { 135304 if _j < i32(0) { 135305 return str(101928) 135306 } 135307 return ((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_j))).X0) 135308 }(), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) 135309 if _15_rc != i32(1) { 135310 goto _43 135311 } 135312 135313 goto _update_cleanup 135314 135315 _43: 135316 if _15_rc != i32(2) { 135317 goto _45 135318 } 135319 135320 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_j))) = i32(-1) 135321 _45: 135322 _i += 1 135323 goto _23 135324 135325 _26: 135326 func() int32 { 135327 if (int32(_chngRowid) & int32(_chngPk)) == i32(0) { 135328 return i32(0) 135329 } 135330 return func() int32 { 135331 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123550), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123072))) 135332 crt.X__builtin_abort(tls) 135333 return i32(0) 135334 }() 135335 }() 135336 func() int32 { 135337 if (int32(_chngRowid) == i32(0)) || (int32(_chngRowid) == i32(1)) { 135338 return i32(0) 135339 } 135340 return func() int32 { 135341 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123551), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123096))) 135342 crt.X__builtin_abort(tls) 135343 return i32(0) 135344 }() 135345 }() 135346 func() int32 { 135347 if (int32(_chngPk) == i32(0)) || (int32(_chngPk) == i32(1)) { 135348 return i32(0) 135349 } 135350 return func() int32 { 135351 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123552), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123128))) 135352 crt.X__builtin_abort(tls) 135353 return i32(0) 135354 }() 135355 }() 135356 _chngKey = uint8(int32(_chngRowid) + int32(_chngPk)) 135357 *(*uint64)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 135358 X0 unsafe.Pointer 135359 X1 *int8 135360 X2 *int8 135361 X3 *int8 135362 X4 unsafe.Pointer 135363 X5 unsafe.Pointer 135364 X6 int32 135365 X7 int32 135366 X8 int32 135367 X9 struct { 135368 X0 uint8 135369 X1 int8 135370 } 135371 X10 uint8 135372 X11 int32 135373 X12 unsafe.Pointer 135374 X13 unsafe.Pointer 135375 X14 uint64 135376 X15 struct { 135377 X [0]struct { 135378 X0 *int8 135379 X1 unsafe.Pointer 135380 } 135381 U [4]byte 135382 } 135383 X16 unsafe.Pointer 135384 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(52 /* X14 */))) = func() uint64 { 135385 if (_pTab.X16) != 0 { 135386 return u64(18446744073709551615) 135387 } 135388 return uint64(i32(0)) 135389 }() 135390 _hasFK = _sqlite3FkRequired(tls, _pParse, _pTab, _aXRef, int32(_chngKey)) 135391 *func() **XIndex { _j = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 135392 _56: 135393 if _pIdx == nil { 135394 goto _59 135395 } 135396 135397 if _chngKey == 0 && _hasFK == 0 && (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil && _pIdx != _pPk { 135398 goto _63 135399 } 135400 135401 _18_reg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 135402 { 135403 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 135404 *p = (*p) + int32(_pIdx.X14) 135405 sink961 = *p 135406 } 135407 goto _64 135408 135409 _63: 135410 _18_reg = i32(0) 135411 _i = i32(0) 135412 _65: 135413 if _i >= int32(_pIdx.X13) { 135414 goto _68 135415 } 135416 135417 _21_iIdxCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i))) 135418 if int32(_21_iIdxCol) >= i32(0) && (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_21_iIdxCol)))) < i32(0) { 135419 goto _70 135420 } 135421 135422 _18_reg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 135423 { 135424 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 135425 *p = (*p) + int32(_pIdx.X14) 135426 sink961 = *p 135427 } 135428 if _onError != i32(5) && (_onError != i32(10) || int32(_pIdx.X15) != i32(5)) { 135429 goto _73 135430 } 135431 135432 _bReplace = i32(1) 135433 _73: 135434 goto _68 135435 135436 _70: 135437 _i += 1 135438 goto _65 135439 135440 _68: 135441 _64: 135442 if _18_reg != i32(0) { 135443 goto _74 135444 } 135445 135446 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_j+i32(1)))) = uint8(i32(0)) 135447 _74: 135448 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_j))) = _18_reg 135449 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_j }() += 1 135450 goto _56 135451 135452 _59: 135453 if _bReplace == 0 { 135454 goto _75 135455 } 135456 135457 crt.Xmemset(tls, (unsafe.Pointer)(_aToOpen), i32(1), uint32(_nIdx+i32(1))) 135458 _75: 135459 _v = _sqlite3GetVdbe(tls, _pParse) 135460 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 135461 goto _76 135462 } 135463 135464 goto _update_cleanup 135465 135466 _76: 135467 if int32(_pParse.X6) != i32(0) { 135468 goto _77 135469 } 135470 135471 _sqlite3VdbeCountChanges(tls, _v) 135472 _77: 135473 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 135474 if (_pTab.X16) != 0 { 135475 goto _78 135476 } 135477 135478 _regRowSet = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 135479 _regOldRowid = store961(&_regNewRowid, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1)) 135480 if _chngPk == 0 && _pTrigger == nil && _hasFK == 0 { 135481 goto _81 135482 } 135483 135484 _regOld = (_pParse.X18) + i32(1) 135485 { 135486 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 135487 *p = (*p) + int32(_pTab.X11) 135488 sink961 = *p 135489 } 135490 _81: 135491 if _chngKey == 0 && _pTrigger == nil && _hasFK == 0 { 135492 goto _84 135493 } 135494 135495 _regNewRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 135496 _84: 135497 _regNew = (_pParse.X18) + i32(1) 135498 { 135499 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 135500 *p = (*p) + int32(_pTab.X11) 135501 sink961 = *p 135502 } 135503 _78: 135504 if _isView == 0 { 135505 goto _85 135506 } 135507 135508 _sqlite3AuthContextPush(tls, _pParse, &_sContext, _pTab.X0) 135509 _85: 135510 if _isView == 0 { 135511 goto _86 135512 } 135513 135514 _sqlite3MaterializeView(tls, _pParse, _pTab, _pWhere, _iDataCur) 135515 _86: 135516 if _sqlite3ResolveExprNames(tls, &_sNC, _pWhere) == 0 { 135517 goto _87 135518 } 135519 135520 goto _update_cleanup 135521 135522 _87: 135523 if (_pTab.X16) == 0 { 135524 goto _88 135525 } 135526 135527 _updateVirtualTable(tls, _pParse, _pTabList, _pTab, _pChanges, _pRowidExpr, _aXRef, _pWhere, _onError) 135528 goto _update_cleanup 135529 135530 _88: 135531 if ((_db.X6)&i32(128)) == 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { 135532 goto _90 135533 } 135534 135535 _regRowCount = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 135536 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regRowCount) 135537 _90: 135538 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 135539 goto _91 135540 } 135541 135542 _sqlite3VdbeAddOp3(tls, _v, i32(80), i32(0), _regRowSet, _regOldRowid) 135543 goto _92 135544 135545 _91: 135546 func() int32 { 135547 if _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 135548 return i32(0) 135549 } 135550 return func() int32 { 135551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123660), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(44272))) 135552 crt.X__builtin_abort(tls) 135553 return i32(0) 135554 }() 135555 }() 135556 _nPk = int16(_pPk.X13) 135557 _iPk = (_pParse.X18) + i32(1) 135558 { 135559 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 135560 *p = (*p) + int32(_nPk) 135561 sink961 = *p 135562 } 135563 _regKey = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 135564 _iEph = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 135565 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _iPk) 135566 _addrOpen = _sqlite3VdbeAddOp2(tls, _v, i32(108), _iEph, int32(_nPk)) 135567 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pPk) 135568 _92: 135569 _flags = i32(4100) 135570 if (_pParse.X6) != 0 || _pTrigger != nil || _hasFK != 0 || _chngKey != 0 || _bReplace != 0 { 135571 goto _99 135572 } 135573 135574 { 135575 p := &_flags 135576 *p = (*p) | i32(8) 135577 sink961 = *p 135578 } 135579 _99: 135580 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pTabList, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(_flags), _iIdxCur) 135581 if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { 135582 goto _100 135583 } 135584 135585 goto _update_cleanup 135586 135587 _100: 135588 _eOnePass = _sqlite3WhereOkOnePass(tls, _pWInfo, (*int32)(unsafe.Pointer(&_aiCurOnePass))) 135589 if _eOnePass != i32(2) { 135590 goto _101 135591 } 135592 135593 _36_iCur = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1)))) 135594 if _36_iCur < i32(0) || _36_iCur == _iDataCur || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr(_36_iCur-_iBaseCur)))) == 0 { 135595 goto _104 135596 } 135597 135598 _eOnePass = i32(0) 135599 _104: 135600 func() int32 { 135601 if (_36_iCur != _iDataCur) || (((_pTab.X9) & uint32(i32(32))) != uint32(i32(0))) { 135602 return i32(0) 135603 } 135604 return func() int32 { 135605 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123702), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123152))) 135606 crt.X__builtin_abort(tls) 135607 return i32(0) 135608 }() 135609 }() 135610 _101: 135611 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 135612 goto _108 135613 } 135614 135615 _sqlite3VdbeAddOp2(tls, _v, i32(123), _iDataCur, _regOldRowid) 135616 if _eOnePass != i32(0) { 135617 goto _109 135618 } 135619 135620 _sqlite3VdbeAddOp2(tls, _v, i32(143), _regRowSet, _regOldRowid) 135621 _109: 135622 goto _110 135623 135624 _108: 135625 _i = i32(0) 135626 _111: 135627 if _i >= int32(_nPk) { 135628 goto _114 135629 } 135630 135631 func() int32 { 135632 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) >= i32(0) { 135633 return i32(0) 135634 } 135635 return func() int32 { 135636 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123720), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(121716))) 135637 crt.X__builtin_abort(tls) 135638 return i32(0) 135639 }() 135640 }() 135641 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iDataCur, int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))), _iPk+_i) 135642 _i += 1 135643 goto _111 135644 135645 _114: 135646 if _eOnePass == 0 { 135647 goto _117 135648 } 135649 135650 _sqlite3VdbeChangeToNoop(tls, _v, _addrOpen) 135651 _nKey = int32(_nPk) 135652 _regKey = _iPk 135653 goto _118 135654 135655 _117: 135656 _sqlite3VdbeAddOp4(tls, _v, i32(100), _iPk, int32(_nPk), _regKey, _sqlite3IndexAffinityStr(tls, _db, _pPk), int32(_nPk)) 135657 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iEph, _regKey, _iPk, int32(_nPk)) 135658 _118: 135659 _110: 135660 if _eOnePass == i32(2) { 135661 goto _119 135662 } 135663 135664 _sqlite3WhereEnd(tls, _pWInfo) 135665 _119: 135666 _labelBreak = _sqlite3VdbeMakeLabel(tls, _v) 135667 if _isView != 0 { 135668 goto _120 135669 } 135670 135671 _45_addrOnce = i32(0) 135672 if _eOnePass == i32(0) { 135673 goto _121 135674 } 135675 135676 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0))))) < i32(0) { 135677 goto _122 135678 } 135679 135680 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0)))))-_iBaseCur))) = uint8(i32(0)) 135681 _122: 135682 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) < i32(0) { 135683 goto _123 135684 } 135685 135686 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aToOpen)) + 1*uintptr((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1)))))-_iBaseCur))) = uint8(i32(0)) 135687 _123: 135688 _121: 135689 if _eOnePass != i32(2) || (_nIdx-bool2int((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) >= i32(0))) <= i32(0) { 135690 goto _125 135691 } 135692 135693 _45_addrOnce = _sqlite3VdbeAddOp0(tls, _v, i32(20)) 135694 _125: 135695 _sqlite3OpenTableAndIndices(tls, _pParse, _pTab, i32(106), uint8(i32(0)), _iBaseCur, _aToOpen, (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 135696 if _45_addrOnce == 0 { 135697 goto _126 135698 } 135699 135700 _sqlite3VdbeJumpHere(tls, _v, _45_addrOnce) 135701 _126: 135702 _120: 135703 if _eOnePass == i32(0) { 135704 goto _127 135705 } 135706 135707 if _isView != 0 || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(0))))) == _iDataCur || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aiCurOnePass)) + 4*uintptr(i32(1))))) == _iDataCur { 135708 goto _130 135709 } 135710 135711 func() int32 { 135712 if _pPk != nil { 135713 return i32(0) 135714 } 135715 return func() int32 { 135716 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123759), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123188))) 135717 crt.X__builtin_abort(tls) 135718 return i32(0) 135719 }() 135720 }() 135721 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _labelBreak, _regKey, _nKey) 135722 _130: 135723 if _eOnePass != i32(1) { 135724 goto _133 135725 } 135726 135727 _labelContinue = _labelBreak 135728 goto _134 135729 135730 _133: 135731 _labelContinue = _sqlite3VdbeMakeLabel(tls, _v) 135732 _134: 135733 _sqlite3VdbeAddOp2(tls, _v, i32(34), func() int32 { 135734 if _pPk != nil { 135735 return _regKey 135736 } 135737 return _regOldRowid 135738 }(), _labelBreak) 135739 goto _137 135740 135741 _127: 135742 if _pPk == nil { 135743 goto _138 135744 } 135745 135746 _labelContinue = _sqlite3VdbeMakeLabel(tls, _v) 135747 _sqlite3VdbeAddOp2(tls, _v, i32(58), _iEph, _labelBreak) 135748 _addrTop = _sqlite3VdbeAddOp2(tls, _v, i32(122), _iEph, _regKey) 135749 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _labelContinue, _regKey, i32(0)) 135750 goto _139 135751 135752 _138: 135753 _labelContinue = _sqlite3VdbeAddOp3(tls, _v, i32(63), _regRowSet, _labelBreak, _regOldRowid) 135754 _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, _labelContinue, _regOldRowid) 135755 _139: 135756 _137: 135757 func() int32 { 135758 if (((_chngKey != 0) || (_pTrigger != nil)) || _hasFK != 0) || (_regOldRowid == _regNewRowid) { 135759 return i32(0) 135760 } 135761 return func() int32 { 135762 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123789), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123192))) 135763 crt.X__builtin_abort(tls) 135764 return i32(0) 135765 }() 135766 }() 135767 if _chngRowid == 0 { 135768 goto _145 135769 } 135770 135771 _sqlite3ExprCode(tls, _pParse, _pRowidExpr, _regNewRowid) 135772 _sqlite3VdbeAddOp1(tls, _v, i32(17), _regNewRowid) 135773 _145: 135774 if _chngPk == 0 && _hasFK == 0 && _pTrigger == nil { 135775 goto _148 135776 } 135777 135778 _55_oldmask = func() uint32 { 135779 if _hasFK != 0 { 135780 return _sqlite3FkOldmask(tls, _pParse, _pTab) 135781 } 135782 return uint32(i32(0)) 135783 }() 135784 { 135785 p := &_55_oldmask 135786 *p = (*p) | _sqlite3TriggerColmask(tls, _pParse, _pTrigger, _pChanges, i32(0), i32(3), _pTab, _onError) 135787 sink985 = *p 135788 } 135789 _i = i32(0) 135790 _151: 135791 if _i >= int32(_pTab.X11) { 135792 goto _154 135793 } 135794 135795 if _55_oldmask != u32(4294967295) && (_i >= i32(32) || (_55_oldmask&(u32(1)<<uint(_i))) == uint32(i32(0))) && (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X6)&i32(1)) == i32(0) { 135796 goto _158 135797 } 135798 135799 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iDataCur, _i, _regOld+_i) 135800 goto _159 135801 135802 _158: 135803 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regOld+_i) 135804 _159: 135805 _i += 1 135806 goto _151 135807 135808 _154: 135809 if int32(_chngRowid) != i32(0) || _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 135810 goto _161 135811 } 135812 135813 _sqlite3VdbeAddOp2(tls, _v, i32(85), _regOldRowid, _regNewRowid) 135814 _161: 135815 _148: 135816 _newmask = int32(_sqlite3TriggerColmask(tls, _pParse, _pTrigger, _pChanges, i32(1), i32(1), _pTab, _onError)) 135817 _i = i32(0) 135818 _162: 135819 if _i >= int32(_pTab.X11) { 135820 goto _165 135821 } 135822 135823 if _i != int32(_pTab.X10) { 135824 goto _166 135825 } 135826 135827 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regNew+_i) 135828 goto _167 135829 135830 _166: 135831 _j = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i))) 135832 if _j < i32(0) { 135833 goto _168 135834 } 135835 135836 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1)+20*uintptr(_j))).X0)), _regNew+_i) 135837 goto _169 135838 135839 _168: 135840 if i32(0) != (_tmask&i32(1)) && _i <= i32(31) && (uint32(_newmask)&(u32(1)<<uint(_i))) == 0 { 135841 goto _172 135842 } 135843 135844 _sqlite3ExprCodeGetColumnToReg(tls, _pParse, _pTab, _i, _iDataCur, _regNew+_i) 135845 goto _173 135846 135847 _172: 135848 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regNew+_i) 135849 _173: 135850 _169: 135851 _167: 135852 _i += 1 135853 goto _162 135854 135855 _165: 135856 if (_tmask & i32(1)) == 0 { 135857 goto _174 135858 } 135859 135860 _sqlite3TableAffinity(tls, _v, _pTab, _regNew) 135861 _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(110), _pChanges, i32(1), _pTab, _regOldRowid, _onError, _labelContinue) 135862 if _pPk == nil { 135863 goto _175 135864 } 135865 135866 _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, _labelContinue, _regKey, _nKey) 135867 goto _176 135868 135869 _175: 135870 _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, _labelContinue, _regOldRowid) 135871 _176: 135872 _i = i32(0) 135873 _177: 135874 if _i >= int32(_pTab.X11) { 135875 goto _180 135876 } 135877 135878 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i)))) >= i32(0) || _i == int32(_pTab.X10) { 135879 goto _182 135880 } 135881 135882 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _pTab, _iDataCur, _i, _regNew+_i) 135883 _182: 135884 _i += 1 135885 goto _177 135886 135887 _180: 135888 _174: 135889 if _isView != 0 { 135890 goto _183 135891 } 135892 135893 _71_addr1 = i32(0) 135894 func() int32 { 135895 if _regOldRowid > i32(0) { 135896 return i32(0) 135897 } 135898 return func() int32 { 135899 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123894), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123252))) 135900 crt.X__builtin_abort(tls) 135901 return i32(0) 135902 }() 135903 }() 135904 _sqlite3GenerateConstraintChecks(tls, _pParse, _pTab, _aRegIdx, _iDataCur, _iIdxCur, _regNewRowid, _regOldRowid, _chngKey, uint8(_onError), _labelContinue, &_bReplace, _aXRef) 135905 if _hasFK == 0 { 135906 goto _186 135907 } 135908 135909 _sqlite3FkCheck(tls, _pParse, _pTab, _regOldRowid, i32(0), _aXRef, int32(_chngKey)) 135910 _186: 135911 if _bReplace == 0 && _chngKey == 0 { 135912 goto _188 135913 } 135914 135915 if _pPk == nil { 135916 goto _189 135917 } 135918 135919 _71_addr1 = _sqlite3VdbeAddOp4Int(tls, _v, i32(30), _iDataCur, i32(0), _regKey, _nKey) 135920 goto _190 135921 135922 _189: 135923 _71_addr1 = _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, i32(0), _regOldRowid) 135924 _190: 135925 _188: 135926 _sqlite3GenerateRowIndexDelete(tls, _pParse, _pTab, _iDataCur, _iIdxCur, _aRegIdx, i32(-1)) 135927 func() int32 { 135928 if _regNew == (_regNewRowid + i32(1)) { 135929 return i32(0) 135930 } 135931 return func() int32 { 135932 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123924), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3UpdateØ00__func__Ø000))), unsafe.Pointer(str(123268))) 135933 crt.X__builtin_abort(tls) 135934 return i32(0) 135935 }() 135936 }() 135937 if _hasFK == 0 && _chngKey == 0 { 135938 goto _194 135939 } 135940 135941 _sqlite3VdbeAddOp2(tls, _v, i32(118), _iDataCur, i32(0)) 135942 _194: 135943 if _bReplace == 0 && _chngKey == 0 { 135944 goto _196 135945 } 135946 135947 _sqlite3VdbeJumpHere(tls, _v, _71_addr1) 135948 _196: 135949 if _hasFK == 0 { 135950 goto _197 135951 } 135952 135953 _sqlite3FkCheck(tls, _pParse, _pTab, i32(0), _regNewRowid, _aXRef, int32(_chngKey)) 135954 _197: 135955 _sqlite3CompleteInsertion(tls, _pParse, _pTab, _iDataCur, _iIdxCur, _regNewRowid, _aRegIdx, i32(4)|func() int32 { 135956 if _eOnePass == i32(2) { 135957 return i32(2) 135958 } 135959 return i32(0) 135960 }(), i32(0), i32(0)) 135961 if _hasFK == 0 { 135962 goto _200 135963 } 135964 135965 _sqlite3FkActions(tls, _pParse, _pTab, _pChanges, _regOldRowid, _aXRef, int32(_chngKey)) 135966 _200: 135967 _183: 135968 if ((_db.X6)&i32(128)) == 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { 135969 goto _202 135970 } 135971 135972 _sqlite3VdbeAddOp2(tls, _v, i32(92), _regRowCount, i32(1)) 135973 _202: 135974 _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(110), _pChanges, i32(2), _pTab, _regOldRowid, _onError, _labelContinue) 135975 if _eOnePass != i32(1) { 135976 goto _203 135977 } 135978 135979 goto _204 135980 135981 _203: 135982 if _eOnePass != i32(2) { 135983 goto _205 135984 } 135985 135986 _sqlite3VdbeResolveLabel(tls, _v, _labelContinue) 135987 _sqlite3WhereEnd(tls, _pWInfo) 135988 goto _206 135989 135990 _205: 135991 if _pPk == nil { 135992 goto _207 135993 } 135994 135995 _sqlite3VdbeResolveLabel(tls, _v, _labelContinue) 135996 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iEph, _addrTop) 135997 goto _208 135998 135999 _207: 136000 _sqlite3VdbeGoto(tls, _v, _labelContinue) 136001 _208: 136002 _206: 136003 _204: 136004 _sqlite3VdbeResolveLabel(tls, _v, _labelBreak) 136005 if int32(_pParse.X6) != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 136006 goto _210 136007 } 136008 136009 _sqlite3AutoincrementEnd(tls, _pParse) 136010 _210: 136011 if ((_db.X6)&i32(128)) == 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil || (_pParse.X6) != 0 { 136012 goto _213 136013 } 136014 136015 _sqlite3VdbeAddOp2(tls, _v, i32(88), _regRowCount, i32(1)) 136016 _sqlite3VdbeSetNumCols(tls, _v, i32(1)) 136017 _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), str(123292), nil) 136018 _213: 136019 _update_cleanup: 136020 _sqlite3AuthContextPop(tls, &_sContext) 136021 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aXRef)) 136022 _sqlite3SrcListDelete(tls, _db, _pTabList) 136023 _sqlite3ExprListDelete(tls, _db, _pChanges) 136024 _sqlite3ExprDelete(tls, _db, _pWhere) 136025 return 136026 136027 } 136028 136029 var _sqlite3UpdateØ00__func__Ø000 [14]int8 // - 136030 136031 func init() { 136032 crt.Xstrncpy(nil, &_sqlite3UpdateØ00__func__Ø000[0], str(123308), 14) 136033 } 136034 136035 func _updateVirtualTable(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList, _pTab *XTable, _pChanges *XExprList, _pRowid *XExpr, _aXRef *int32, _pWhere *XExpr, _onError int32) { // sqlite3.c:124049:1 136036 var _v *XVdbe // sqlite3.c:124059:8 136037 _ = _v 136038 var _ephemTab int32 // sqlite3.c:124060:7 136039 _ = _ephemTab 136040 var _i int32 // sqlite3.c:124061:7 136041 _ = _i 136042 var _db *Xsqlite3 // sqlite3.c:124062:11 136043 _ = _db 136044 var _pVTab *int8 // sqlite3.c:124063:14 136045 _ = _pVTab 136046 var _pWInfo *XWhereInfo // sqlite3.c:124064:13 136047 _ = _pWInfo 136048 var _nArg int32 // sqlite3.c:124065:7 136049 _ = _nArg 136050 var _regArg int32 // sqlite3.c:124066:7 136051 _ = _regArg 136052 var _regRec int32 // sqlite3.c:124067:7 136053 _ = _regRec 136054 var _regRowid int32 // sqlite3.c:124068:7 136055 _ = _regRowid 136056 var _iCsr int32 // sqlite3.c:124069:7 136057 _ = _iCsr 136058 var _aDummy [2]int32 // sqlite3.c:124070:7 136059 _ = _aDummy 136060 var _bOnePass int32 // sqlite3.c:124071:7 136061 _ = _bOnePass 136062 var _addr int32 // sqlite3.c:124072:7 136063 _ = _addr 136064 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 136065 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 136066 _pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab))) 136067 _nArg = i32(2) + int32(_pTab.X11) 136068 _iCsr = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136069 X0 unsafe.Pointer 136070 X1 *int8 136071 X2 *int8 136072 X3 *int8 136073 X4 unsafe.Pointer 136074 X5 unsafe.Pointer 136075 X6 int32 136076 X7 int32 136077 X8 int32 136078 X9 struct { 136079 X0 uint8 136080 X1 int8 136081 } 136082 X10 uint8 136083 X11 int32 136084 X12 unsafe.Pointer 136085 X13 unsafe.Pointer 136086 X14 uint64 136087 X15 struct { 136088 X [0]struct { 136089 X0 *int8 136090 X1 unsafe.Pointer 136091 } 136092 U [4]byte 136093 } 136094 X16 unsafe.Pointer 136095 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X11 136096 func() int32 { 136097 if _v != nil { 136098 return i32(0) 136099 } 136100 return func() int32 { 136101 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124077), unsafe.Pointer((*int8)(unsafe.Pointer(&_updateVirtualTableØ00__func__Ø000))), unsafe.Pointer(str(44132))) 136102 crt.X__builtin_abort(tls) 136103 return i32(0) 136104 }() 136105 }() 136106 _ephemTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 136107 _addr = _sqlite3VdbeAddOp2(tls, _v, i32(108), _ephemTab, _nArg) 136108 _regArg = (_pParse.X18) + i32(1) 136109 { 136110 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 136111 *p = (*p) + _nArg 136112 sink961 = *p 136113 } 136114 _regRec = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 136115 _regRowid = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 136116 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pSrc, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(i32(4)), i32(0)) 136117 if _pWInfo != (*XWhereInfo)(unsafe.Pointer(uintptr(i32(0)))) { 136118 goto _2 136119 } 136120 136121 return 136122 136123 _2: 136124 _sqlite3VdbeAddOp2(tls, _v, i32(123), _iCsr, _regArg) 136125 if _pRowid == nil { 136126 goto _3 136127 } 136128 136129 _sqlite3ExprCode(tls, _pParse, _pRowid, _regArg+i32(1)) 136130 goto _4 136131 136132 _3: 136133 _sqlite3VdbeAddOp2(tls, _v, i32(123), _iCsr, _regArg+i32(1)) 136134 _4: 136135 _i = i32(0) 136136 _5: 136137 if _i >= int32(_pTab.X11) { 136138 goto _8 136139 } 136140 136141 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i)))) < i32(0) { 136142 goto _9 136143 } 136144 136145 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pChanges.X1)+20*uintptr(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aXRef)) + 4*uintptr(_i)))))).X0)), (_regArg+i32(2))+_i) 136146 goto _10 136147 136148 _9: 136149 _sqlite3VdbeAddOp3(tls, _v, i32(157), _iCsr, _i, (_regArg+i32(2))+_i) 136150 _10: 136151 _i += 1 136152 goto _5 136153 136154 _8: 136155 _bOnePass = _sqlite3WhereOkOnePass(tls, _pWInfo, (*int32)(unsafe.Pointer(&_aDummy))) 136156 if _bOnePass == 0 { 136157 goto _11 136158 } 136159 136160 _sqlite3VdbeChangeToNoop(tls, _v, _addr) 136161 if (*XParse)(unsafe.Pointer(_pParse.X39)) != (*XParse)(unsafe.Pointer(uintptr(i32(0)))) { 136162 goto _12 136163 } 136164 136165 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(20 /* X8 */))) = uint8(i32(0)) 136166 _12: 136167 goto _13 136168 136169 _11: 136170 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regArg, _nArg, _regRec) 136171 _sqlite3VdbeAddOp2(tls, _v, i32(115), _ephemTab, _regRowid) 136172 _sqlite3VdbeAddOp3(tls, _v, i32(116), _ephemTab, _regRec, _regRowid) 136173 _13: 136174 if _bOnePass != i32(0) { 136175 goto _14 136176 } 136177 136178 _sqlite3WhereEnd(tls, _pWInfo) 136179 _addr = _sqlite3VdbeAddOp1(tls, _v, i32(58), _ephemTab) 136180 _i = i32(0) 136181 _15: 136182 if _i >= _nArg { 136183 goto _18 136184 } 136185 136186 _sqlite3VdbeAddOp3(tls, _v, i32(98), _ephemTab, _i, _regArg+_i) 136187 _i += 1 136188 goto _15 136189 136190 _18: 136191 _14: 136192 _sqlite3VtabMakeWritable(tls, _pParse, _pTab) 136193 _sqlite3VdbeAddOp4(tls, _v, i32(12), i32(0), _nArg, _regArg, _pVTab, i32(-8)) 136194 _sqlite3VdbeChangeP5(tls, _v, uint16(func() int32 { 136195 if _onError == i32(10) { 136196 return i32(2) 136197 } 136198 return _onError 136199 }())) 136200 _sqlite3MayAbort(tls, _pParse) 136201 if _bOnePass != i32(0) { 136202 goto _21 136203 } 136204 136205 _sqlite3VdbeAddOp2(tls, _v, i32(7), _ephemTab, _addr+i32(1)) 136206 _sqlite3VdbeJumpHere(tls, _v, _addr) 136207 _sqlite3VdbeAddOp2(tls, _v, i32(112), _ephemTab, i32(0)) 136208 goto _22 136209 136210 _21: 136211 _sqlite3WhereEnd(tls, _pWInfo) 136212 _22: 136213 return 136214 136215 } 136216 136217 var _updateVirtualTableØ00__func__Ø000 [19]int8 // - 136218 136219 func init() { 136220 crt.Xstrncpy(nil, &_updateVirtualTableØ00__func__Ø000[0], str(123324), 19) 136221 } 136222 136223 func _sqlite3FkOldmask(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 uint32) { // sqlite3.c:108214:1 136224 var _mask uint32 // sqlite3.c:108218:7 136225 _ = _mask 136226 var _1_p *XFKey // sqlite3.c:108220:10 136227 _ = _1_p 136228 var _1_i int32 // sqlite3.c:108221:9 136229 _ = _1_i 136230 var _3_pIdx *XIndex // sqlite3.c:108226:13 136231 _ = _3_pIdx 136232 _mask = u32(0) 136233 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(524288)) == 0 { 136234 goto _0 136235 } 136236 136237 _1_p = (*XFKey)(unsafe.Pointer(_pTab.X4)) 136238 _1: 136239 if _1_p == nil { 136240 goto _4 136241 } 136242 136243 _1_i = i32(0) 136244 _5: 136245 if _1_i >= (_1_p.X5) { 136246 goto _8 136247 } 136248 136249 { 136250 p := &_mask 136251 *p = (*p) | func() uint32 { 136252 if ((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136253 X0 int32 136254 X1 *int8 136255 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(36 /* X9 */))))) + 8*uintptr(_1_i))).X0) > i32(31) { 136256 return u32(4294967295) 136257 } 136258 return (u32(1) << uint((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136259 X0 int32 136260 X1 *int8 136261 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p))+uintptr(36 /* X9 */)))))+8*uintptr(_1_i))).X0)) 136262 }() 136263 sink985 = *p 136264 } 136265 _1_i += 1 136266 goto _5 136267 136268 _8: 136269 _1_p = (*XFKey)(unsafe.Pointer(_1_p.X1)) 136270 goto _1 136271 136272 _4: 136273 _1_p = _sqlite3FkReferences(tls, _pTab) 136274 _11: 136275 if _1_p == nil { 136276 goto _14 136277 } 136278 136279 _3_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 136280 _sqlite3FkLocateIndex(tls, _pParse, _pTab, _1_p, &_3_pIdx, (**int32)(unsafe.Pointer(uintptr(i32(0))))) 136281 if _3_pIdx == nil { 136282 goto _15 136283 } 136284 136285 _1_i = i32(0) 136286 _16: 136287 if _1_i >= int32(_3_pIdx.X13) { 136288 goto _19 136289 } 136290 136291 func() int32 { 136292 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx.X1)) + 2*uintptr(_1_i)))) >= i32(0) { 136293 return i32(0) 136294 } 136295 return func() int32 { 136296 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108230), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkOldmaskØ00__func__Ø000))), unsafe.Pointer(str(123344))) 136297 crt.X__builtin_abort(tls) 136298 return i32(0) 136299 }() 136300 }() 136301 { 136302 p := &_mask 136303 *p = (*p) | func() uint32 { 136304 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx.X1)) + 2*uintptr(_1_i)))) > i32(31) { 136305 return u32(4294967295) 136306 } 136307 return (u32(1) << uint(int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pIdx.X1)) + 2*uintptr(_1_i)))))) 136308 }() 136309 sink985 = *p 136310 } 136311 _1_i += 1 136312 goto _16 136313 136314 _19: 136315 _15: 136316 _1_p = (*XFKey)(unsafe.Pointer(_1_p.X3)) 136317 goto _11 136318 136319 _14: 136320 _0: 136321 r0 = _mask 136322 return 136323 136324 } 136325 136326 func _sqlite3FkLocateIndex(tls *crt.TLS, _pParse *XParse, _pParent *XTable, _pFKey *XFKey, _ppIdx **XIndex, _paiCol **int32) (r0 int32) { // sqlite3.c:107344:1 136327 var _pIdx *XIndex // sqlite3.c:107351:9 136328 _ = _pIdx 136329 var _aiCol *int32 // sqlite3.c:107352:7 136330 _ = _aiCol 136331 var _nCol int32 // sqlite3.c:107353:7 136332 _ = _nCol 136333 var _zKey *int8 // sqlite3.c:107354:8 136334 _ = _zKey 136335 var _8_i int32 // sqlite3.c:107400:17 136336 _ = _8_i 136337 var _9_i int32 // sqlite3.c:107410:13 136338 _ = _9_i 136339 var _9_j int32 // sqlite3.c:107410:16 136340 _ = _9_j 136341 var _10_iCol int16 // sqlite3.c:107412:15 136342 _ = _10_iCol 136343 var _10_zDfltColl *int8 // sqlite3.c:107413:22 136344 _ = _10_zDfltColl 136345 var _10_zIdxCol *int8 // sqlite3.c:107414:16 136346 _ = _10_zIdxCol 136347 _pIdx = nil 136348 _aiCol = nil 136349 _nCol = _pFKey.X5 136350 _zKey = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136351 X0 int32 136352 X1 *int8 136353 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(i32(0)))).X1 136354 func() int32 { 136355 if (_ppIdx != nil) && ((*_ppIdx) == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) { 136356 return i32(0) 136357 } 136358 return func() int32 { 136359 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107357), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkLocateIndexØ00__func__Ø000))), unsafe.Pointer(str(123368))) 136360 crt.X__builtin_abort(tls) 136361 return i32(0) 136362 }() 136363 }() 136364 func() int32 { 136365 if (_paiCol == nil) || ((*_paiCol) == (*int32)(unsafe.Pointer(uintptr(i32(0))))) { 136366 return i32(0) 136367 } 136368 return func() int32 { 136369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107358), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkLocateIndexØ00__func__Ø000))), unsafe.Pointer(str(123388))) 136370 crt.X__builtin_abort(tls) 136371 return i32(0) 136372 }() 136373 }() 136374 func() int32 { 136375 if _pParse != nil { 136376 return i32(0) 136377 } 136378 return func() int32 { 136379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107359), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkLocateIndexØ00__func__Ø000))), unsafe.Pointer(str(122192))) 136380 crt.X__builtin_abort(tls) 136381 return i32(0) 136382 }() 136383 }() 136384 if _nCol != i32(1) { 136385 goto _8 136386 } 136387 136388 if int32(_pParent.X10) < i32(0) { 136389 goto _9 136390 } 136391 136392 if _zKey != nil { 136393 goto _10 136394 } 136395 136396 r0 = i32(0) 136397 return 136398 136399 _10: 136400 if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pParent.X1)+16*uintptr(_pParent.X10))).X0, _zKey) != 0 { 136401 goto _11 136402 } 136403 136404 r0 = i32(0) 136405 return 136406 136407 _11: 136408 _9: 136409 goto _12 136410 136411 _8: 136412 if _paiCol == nil { 136413 goto _13 136414 } 136415 136416 func() int32 { 136417 if _nCol > i32(1) { 136418 return i32(0) 136419 } 136420 return func() int32 { 136421 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107382), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkLocateIndexØ00__func__Ø000))), unsafe.Pointer(str(123412))) 136422 crt.X__builtin_abort(tls) 136423 return i32(0) 136424 }() 136425 }() 136426 _aiCol = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(uint32(_nCol)*u32(4))))) 136427 if _aiCol != nil { 136428 goto _16 136429 } 136430 136431 r0 = i32(1) 136432 return 136433 136434 _16: 136435 *_paiCol = _aiCol 136436 _13: 136437 _12: 136438 _pIdx = (*XIndex)(unsafe.Pointer(_pParent.X2)) 136439 _17: 136440 if _pIdx == nil { 136441 goto _20 136442 } 136443 136444 if int32(_pIdx.X13) != _nCol || int32(_pIdx.X15) == i32(0) || (*XExpr)(unsafe.Pointer(_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 136445 goto _23 136446 } 136447 136448 if _zKey != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 136449 goto _24 136450 } 136451 136452 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) { 136453 goto _25 136454 } 136455 136456 if _aiCol == nil { 136457 goto _26 136458 } 136459 136460 _8_i = i32(0) 136461 _27: 136462 if _8_i >= _nCol { 136463 goto _30 136464 } 136465 136466 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_8_i))) = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136467 X0 int32 136468 X1 *int8 136469 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(_8_i))).X0 136470 _8_i += 1 136471 goto _27 136472 136473 _30: 136474 _26: 136475 goto _20 136476 136477 _25: 136478 goto _31 136479 136480 _24: 136481 _9_i = i32(0) 136482 _32: 136483 if _9_i >= _nCol { 136484 goto _35 136485 } 136486 136487 _10_iCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_9_i))) 136488 if int32(_10_iCol) >= i32(0) { 136489 goto _36 136490 } 136491 136492 goto _35 136493 136494 _36: 136495 _10_zDfltColl = (*XColumn)(unsafe.Pointer(uintptr(_pParent.X1) + 16*uintptr(_10_iCol))).X2 136496 if _10_zDfltColl != nil { 136497 goto _37 136498 } 136499 136500 _10_zDfltColl = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 136501 _37: 136502 if _sqlite3StrICmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_9_i))), _10_zDfltColl) == 0 { 136503 goto _38 136504 } 136505 136506 goto _35 136507 136508 _38: 136509 _10_zIdxCol = (*XColumn)(unsafe.Pointer(uintptr(_pParent.X1) + 16*uintptr(_10_iCol))).X0 136510 _9_j = i32(0) 136511 _39: 136512 if _9_j >= _nCol { 136513 goto _42 136514 } 136515 136516 if _sqlite3StrICmp(tls, (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136517 X0 int32 136518 X1 *int8 136519 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */)))))+8*uintptr(_9_j))).X1, _10_zIdxCol) != i32(0) { 136520 goto _43 136521 } 136522 136523 if _aiCol == nil { 136524 goto _44 136525 } 136526 136527 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_9_i))) = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 136528 X0 int32 136529 X1 *int8 136530 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(_9_j))).X0 136531 _44: 136532 goto _42 136533 136534 _43: 136535 _9_j += 1 136536 goto _39 136537 136538 _42: 136539 if _9_j != _nCol { 136540 goto _45 136541 } 136542 136543 goto _35 136544 136545 _45: 136546 _9_i += 1 136547 goto _32 136548 136549 _35: 136550 if _9_i != _nCol { 136551 goto _46 136552 } 136553 136554 goto _20 136555 136556 _46: 136557 _31: 136558 _23: 136559 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 136560 goto _17 136561 136562 _20: 136563 if _pIdx != nil { 136564 goto _47 136565 } 136566 136567 if (_pParse.X47) != 0 { 136568 goto _48 136569 } 136570 136571 _sqlite3ErrorMsg(tls, _pParse, str(123420), unsafe.Pointer((*XTable)(unsafe.Pointer(_pFKey.X0)).X0), unsafe.Pointer(_pFKey.X2)) 136572 _48: 136573 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_aiCol)) 136574 r0 = i32(1) 136575 return 136576 136577 _47: 136578 *_ppIdx = _pIdx 136579 r0 = i32(0) 136580 return 136581 136582 } 136583 136584 var _sqlite3FkLocateIndexØ00__func__Ø000 [21]int8 // - 136585 136586 func init() { 136587 crt.Xstrncpy(nil, &_sqlite3FkLocateIndexØ00__func__Ø000[0], str(123468), 21) 136588 } 136589 136590 var _sqlite3FkOldmaskØ00__func__Ø000 [17]int8 // - 136591 136592 func init() { 136593 crt.Xstrncpy(nil, &_sqlite3FkOldmaskØ00__func__Ø000[0], str(123492), 17) 136594 } 136595 136596 func _sqlite3CodeRowTrigger(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger, _op int32, _pChanges *XExprList, _tr_tm int32, _pTab *XTable, _reg int32, _orconf int32, _ignoreJump int32) { // sqlite3.c:123190:1 136597 var _p *XTrigger // sqlite3.c:123201:11 136598 _ = _p 136599 func() int32 { 136600 if ((_op == i32(110)) || (_op == i32(108))) || (_op == i32(109)) { 136601 return i32(0) 136602 } 136603 return func() int32 { 136604 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123203), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(123512))) 136605 crt.X__builtin_abort(tls) 136606 return i32(0) 136607 }() 136608 }() 136609 func() int32 { 136610 if (_tr_tm == i32(1)) || (_tr_tm == i32(2)) { 136611 return i32(0) 136612 } 136613 return func() int32 { 136614 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123204), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(123560))) 136615 crt.X__builtin_abort(tls) 136616 return i32(0) 136617 }() 136618 }() 136619 func() int32 { 136620 if (_op == i32(110)) == (_pChanges != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { 136621 return i32(0) 136622 } 136623 return func() int32 { 136624 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123205), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(123608))) 136625 crt.X__builtin_abort(tls) 136626 return i32(0) 136627 }() 136628 }() 136629 _p = _pTrigger 136630 _9: 136631 if _p == nil { 136632 goto _12 136633 } 136634 136635 func() int32 { 136636 if (*XSchema)(unsafe.Pointer(_p.X6)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { 136637 return i32(0) 136638 } 136639 return func() int32 { 136640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123212), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(123640))) 136641 crt.X__builtin_abort(tls) 136642 return i32(0) 136643 }() 136644 }() 136645 func() int32 { 136646 if (*XSchema)(unsafe.Pointer(_p.X7)) != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { 136647 return i32(0) 136648 } 136649 return func() int32 { 136650 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123213), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(123656))) 136651 crt.X__builtin_abort(tls) 136652 return i32(0) 136653 }() 136654 }() 136655 func() int32 { 136656 if ((*XSchema)(unsafe.Pointer(_p.X6)) == (*XSchema)(unsafe.Pointer(_p.X7))) || ((*XSchema)(unsafe.Pointer(_p.X6)) == (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+16*uintptr(i32(1)))).X4))) { 136657 return i32(0) 136658 } 136659 return func() int32 { 136660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123214), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerØ00__func__Ø000))), unsafe.Pointer(str(123676))) 136661 crt.X__builtin_abort(tls) 136662 return i32(0) 136663 }() 136664 }() 136665 if int32(_p.X2) != _op || int32(_p.X3) != _tr_tm || _checkColumnOverlap(tls, (*XIdList)(unsafe.Pointer(_p.X5)), _pChanges) == 0 { 136666 goto _22 136667 } 136668 136669 _sqlite3CodeRowTriggerDirect(tls, _pParse, _p, _pTab, _reg, _orconf, _ignoreJump) 136670 _22: 136671 _p = (*XTrigger)(unsafe.Pointer(_p.X9)) 136672 goto _9 136673 136674 _12: 136675 return 136676 136677 } 136678 136679 var _sqlite3CodeRowTriggerØ00__func__Ø000 [22]int8 // - 136680 136681 func init() { 136682 crt.Xstrncpy(nil, &_sqlite3CodeRowTriggerØ00__func__Ø000[0], str(123744), 22) 136683 } 136684 136685 func _sqlite3CodeRowTriggerDirect(tls *crt.TLS, _pParse *XParse, _p *XTrigger, _pTab *XTable, _reg int32, _orconf int32, _ignoreJump int32) { // sqlite3.c:123118:1 136686 var _v *XVdbe // sqlite3.c:123126:8 136687 _ = _v 136688 var _pPrg *XTriggerPrg // sqlite3.c:123127:14 136689 _ = _pPrg 136690 var _1_bRecursive int32 // sqlite3.c:123134:9 136691 _ = _1_bRecursive 136692 _v = _sqlite3GetVdbe(tls, _pParse) 136693 _pPrg = _getRowTrigger(tls, _pParse, _p, _pTab, _orconf) 136694 func() int32 { 136695 if ((_pPrg != nil) || (_pParse.X16) != 0) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0) { 136696 return i32(0) 136697 } 136698 return func() int32 { 136699 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(123129), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeRowTriggerDirectØ00__func__Ø000))), unsafe.Pointer(str(123768))) 136700 crt.X__builtin_abort(tls) 136701 return i32(0) 136702 }() 136703 }() 136704 if _pPrg == nil { 136705 goto _4 136706 } 136707 136708 _1_bRecursive = bool2int(((_p.X0) != nil) && (i32(0) == (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(262144)))) 136709 _sqlite3VdbeAddOp4(tls, _v, i32(65), _reg, _ignoreJump, preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1), (*int8)(unsafe.Pointer((*XSubProgram)(unsafe.Pointer(_pPrg.X2)))), i32(-13)) 136710 _sqlite3VdbeComment(tls, _v, str(123820), unsafe.Pointer(func() *int8 { 136711 if (_p.X0) != nil { 136712 return (_p.X0) 136713 } 136714 return str(123832) 136715 }()), unsafe.Pointer(_onErrorText(tls, _orconf))) 136716 _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_1_bRecursive))) 136717 _4: 136718 return 136719 136720 } 136721 136722 var _sqlite3CodeRowTriggerDirectØ00__func__Ø000 [28]int8 // - 136723 136724 func init() { 136725 crt.Xstrncpy(nil, &_sqlite3CodeRowTriggerDirectØ00__func__Ø000[0], str(123840), 28) 136726 } 136727 136728 func _sqlite3GenerateConstraintChecks(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _aRegIdx *int32, _iDataCur int32, _iIdxCur int32, _regNewData int32, _regOldData int32, _pkChng uint8, _overrideError uint8, _ignoreDest int32, _pbMayReplace *int32, _aiChng *int32) { // sqlite3.c:109793:1 136729 var _v *XVdbe // sqlite3.c:109807:8 136730 _ = _v 136731 var _pIdx *XIndex // sqlite3.c:109808:9 136732 _ = _pIdx 136733 var _pPk *XIndex // sqlite3.c:109809:9 136734 _ = _pPk 136735 var _db *Xsqlite3 // sqlite3.c:109810:11 136736 _ = _db 136737 var _i int32 // sqlite3.c:109811:7 136738 _ = _i 136739 var _ix int32 // sqlite3.c:109812:7 136740 _ = _ix 136741 var _nCol int32 // sqlite3.c:109813:7 136742 _ = _nCol 136743 var _onError int32 // sqlite3.c:109814:7 136744 _ = _onError 136745 var _addr1 int32 // sqlite3.c:109815:7 136746 _ = _addr1 136747 var _seenReplace int32 // sqlite3.c:109816:7 136748 _ = _seenReplace 136749 var _nPkField int32 // sqlite3.c:109817:7 136750 _ = _nPkField 136751 var _ipkTop int32 // sqlite3.c:109818:7 136752 _ = _ipkTop 136753 var _ipkBottom int32 // sqlite3.c:109819:7 136754 _ = _ipkBottom 136755 var _isUpdate uint8 // sqlite3.c:109820:6 136756 _ = _isUpdate 136757 var _bAffinityDone uint8 // sqlite3.c:109821:6 136758 _ = _bAffinityDone 136759 var _10_zMsg *int8 // sqlite3.c:109874:14 136760 _ = _10_zMsg 136761 var _13_pCheck *XExprList // sqlite3.c:109903:14 136762 _ = _13_pCheck 136763 var _14_allOk int32 // sqlite3.c:109907:11 136764 _ = _14_allOk 136765 var _14_pExpr *XExpr // sqlite3.c:109908:12 136766 _ = _14_pExpr 136767 var _16_zName *int8 // sqlite3.c:109915:14 136768 _ = _16_zName 136769 var _17_addrRowidOk int32 // sqlite3.c:109931:9 136770 _ = _17_addrRowidOk 136771 var _27_pTrigger *XTrigger // sqlite3.c:110004:17 136772 _ = _27_pTrigger 136773 var _34_regIdx int32 // sqlite3.c:110052:9 136774 _ = _34_regIdx 136775 var _34_regR int32 // sqlite3.c:110053:9 136776 _ = _34_regR 136777 var _34_iThisCur int32 // sqlite3.c:110054:9 136778 _ = _34_iThisCur 136779 var _34_addrUniqueOk int32 // sqlite3.c:110055:9 136780 _ = _34_addrUniqueOk 136781 var _37_iField int32 // sqlite3.c:110079:11 136782 _ = _37_iField 136783 var _37_x int32 // sqlite3.c:110080:11 136784 _ = _37_x 136785 var _50_x int32 // sqlite3.c:110159:13 136786 _ = _50_x 136787 var _53_addrJump int32 // sqlite3.c:110179:15 136788 _ = _53_addrJump 136789 var _53_op int32 // sqlite3.c:110180:15 136790 _ = _53_op 136791 var _53_regCmp int32 // sqlite3.c:110181:15 136792 _ = _53_regCmp 136793 var _54_p4 *int8 // sqlite3.c:110184:18 136794 _ = _54_p4 136795 var _59_pTrigger *XTrigger // sqlite3.c:110217:17 136796 _ = _59_pTrigger 136797 _pPk = nil 136798 _seenReplace = i32(0) 136799 _ipkTop = i32(0) 136800 _ipkBottom = i32(0) 136801 _bAffinityDone = u8(0) 136802 _isUpdate = uint8(bool2int(_regOldData != i32(0))) 136803 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 136804 _v = _sqlite3GetVdbe(tls, _pParse) 136805 func() int32 { 136806 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 136807 return i32(0) 136808 } 136809 return func() int32 { 136810 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109826), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(44352))) 136811 crt.X__builtin_abort(tls) 136812 return i32(0) 136813 }() 136814 }() 136815 func() int32 { 136816 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 136817 return i32(0) 136818 } 136819 return func() int32 { 136820 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109827), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(108052))) 136821 crt.X__builtin_abort(tls) 136822 return i32(0) 136823 }() 136824 }() 136825 _nCol = int32(_pTab.X11) 136826 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 136827 goto _4 136828 } 136829 136830 _pPk = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 136831 _nPkField = i32(1) 136832 goto _5 136833 136834 _4: 136835 _pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 136836 _nPkField = int32(_pPk.X13) 136837 _5: 136838 _i = i32(0) 136839 _6: 136840 if _i >= _nCol { 136841 goto _9 136842 } 136843 136844 if _i != int32(_pTab.X10) { 136845 goto _10 136846 } 136847 136848 goto _7 136849 136850 _10: 136851 if _aiChng == nil || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiChng)) + 4*uintptr(_i)))) >= i32(0) { 136852 goto _12 136853 } 136854 136855 goto _7 136856 136857 _12: 136858 _onError = int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_i))).X3) 136859 if _onError != i32(0) { 136860 goto _13 136861 } 136862 136863 goto _7 136864 136865 _13: 136866 if int32(_overrideError) == i32(10) { 136867 goto _14 136868 } 136869 136870 _onError = int32(_overrideError) 136871 goto _15 136872 136873 _14: 136874 if _onError != i32(10) { 136875 goto _16 136876 } 136877 136878 _onError = i32(2) 136879 _16: 136880 _15: 136881 if _onError != i32(5) || (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X1)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 136882 goto _18 136883 } 136884 136885 _onError = i32(2) 136886 _18: 136887 func() int32 { 136888 if ((((_onError == i32(1)) || (_onError == i32(2))) || (_onError == i32(3))) || (_onError == i32(4))) || (_onError == i32(5)) { 136889 return i32(0) 136890 } 136891 return func() int32 { 136892 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109866), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(123868))) 136893 crt.X__builtin_abort(tls) 136894 return i32(0) 136895 }() 136896 }() 136897 switch _onError { 136898 case i32(1): 136899 goto _27 136900 case i32(2): 136901 goto _26 136902 case i32(3): 136903 goto _28 136904 case i32(4): 136905 goto _29 136906 default: 136907 goto _30 136908 } 136909 136910 _26: 136911 _sqlite3MayAbort(tls, _pParse) 136912 _27: 136913 _28: 136914 _10_zMsg = _sqlite3MPrintf(tls, _db, str(7872), unsafe.Pointer(_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X0)) 136915 _sqlite3VdbeAddOp3(tls, _v, i32(75), i32(1299), _onError, (_regNewData+i32(1))+_i) 136916 _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_10_zMsg), i32(-1)) 136917 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) 136918 goto _31 136919 136920 _29: 136921 _sqlite3VdbeAddOp2(tls, _v, i32(34), (_regNewData+i32(1))+_i, _ignoreDest) 136922 goto _31 136923 136924 _30: 136925 func() int32 { 136926 if _onError == i32(5) { 136927 return i32(0) 136928 } 136929 return func() int32 { 136930 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109889), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(123976))) 136931 crt.X__builtin_abort(tls) 136932 return i32(0) 136933 }() 136934 }() 136935 _addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(35), (_regNewData+i32(1))+_i) 136936 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X1)), (_regNewData+i32(1))+_i) 136937 _sqlite3VdbeJumpHere(tls, _v, _addr1) 136938 goto _31 136939 136940 _31: 136941 _7: 136942 _i += 1 136943 goto _6 136944 136945 _9: 136946 if (*XExprList)(unsafe.Pointer(_pTab.X6)) == nil || ((_db.X6)&i32(8192)) != i32(0) { 136947 goto _35 136948 } 136949 136950 _13_pCheck = (*XExprList)(unsafe.Pointer(_pTab.X6)) 136951 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X21 */))) = _regNewData + i32(1) 136952 _onError = func() int32 { 136953 if int32(_overrideError) != i32(10) { 136954 return int32(_overrideError) 136955 } 136956 return i32(2) 136957 }() 136958 _i = i32(0) 136959 _38: 136960 if _i >= (_13_pCheck.X0) { 136961 goto _41 136962 } 136963 136964 _14_pExpr = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_13_pCheck.X1) + 20*uintptr(_i))).X0)) 136965 if _aiChng == nil || _checkConstraintUnchanged(tls, _14_pExpr, _aiChng, int32(_pkChng)) == 0 { 136966 goto _43 136967 } 136968 136969 goto _39 136970 136971 _43: 136972 _14_allOk = _sqlite3VdbeMakeLabel(tls, _v) 136973 _sqlite3ExprIfTrue(tls, _pParse, _14_pExpr, _14_allOk, i32(16)) 136974 if _onError != i32(4) { 136975 goto _44 136976 } 136977 136978 _sqlite3VdbeGoto(tls, _v, _ignoreDest) 136979 goto _45 136980 136981 _44: 136982 _16_zName = (*T7850641)(unsafe.Pointer(uintptr(_13_pCheck.X1) + 20*uintptr(_i))).X1 136983 if _16_zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 136984 goto _46 136985 } 136986 136987 _16_zName = _pTab.X0 136988 _46: 136989 if _onError != i32(5) { 136990 goto _47 136991 } 136992 136993 _onError = i32(2) 136994 _47: 136995 _sqlite3HaltConstraint(tls, _pParse, i32(275), _onError, _16_zName, int8(i32(0)), uint8(i32(3))) 136996 _45: 136997 _sqlite3VdbeResolveLabel(tls, _v, _14_allOk) 136998 _39: 136999 _i += 1 137000 goto _38 137001 137002 _41: 137003 _35: 137004 if _pkChng == 0 || _pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 137005 goto _49 137006 } 137007 137008 _17_addrRowidOk = _sqlite3VdbeMakeLabel(tls, _v) 137009 _onError = int32(_pTab.X14) 137010 if int32(_overrideError) == i32(10) { 137011 goto _50 137012 } 137013 137014 _onError = int32(_overrideError) 137015 goto _51 137016 137017 _50: 137018 if _onError != i32(10) { 137019 goto _52 137020 } 137021 137022 _onError = i32(2) 137023 _52: 137024 _51: 137025 if _isUpdate == 0 { 137026 goto _53 137027 } 137028 137029 _sqlite3VdbeAddOp3(tls, _v, i32(37), _regNewData, _17_addrRowidOk, _regOldData) 137030 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) 137031 _53: 137032 if _onError != i32(5) || int32(_overrideError) == i32(5) { 137033 goto _55 137034 } 137035 137036 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 137037 _56: 137038 if _pIdx == nil { 137039 goto _59 137040 } 137041 137042 if int32(_pIdx.X15) != i32(4) && int32(_pIdx.X15) != i32(3) { 137043 goto _61 137044 } 137045 137046 _ipkTop = _sqlite3VdbeAddOp0(tls, _v, i32(13)) 137047 goto _59 137048 137049 _61: 137050 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 137051 goto _56 137052 137053 _59: 137054 _55: 137055 _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDataCur, _17_addrRowidOk, _regNewData) 137056 switch _onError { 137057 case i32(1): 137058 goto _64 137059 case i32(2): 137060 goto _65 137061 case i32(3): 137062 goto _66 137063 case i32(4): 137064 goto _68 137065 case i32(5): 137066 goto _67 137067 default: 137068 goto _63 137069 } 137070 137071 _63: 137072 _onError = i32(2) 137073 _64: 137074 _65: 137075 _66: 137076 _sqlite3RowidConstraint(tls, _pParse, _onError, _pTab) 137077 goto _69 137078 137079 _67: 137080 _27_pTrigger = nil 137081 if ((_db.X6) & i32(262144)) == 0 { 137082 goto _70 137083 } 137084 137085 _27_pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 137086 _70: 137087 if _27_pTrigger == nil && _sqlite3FkRequired(tls, _pParse, _pTab, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) == 0 { 137088 goto _72 137089 } 137090 137091 _sqlite3MultiWrite(tls, _pParse) 137092 _sqlite3GenerateRowDelete(tls, _pParse, _pTab, _27_pTrigger, _iDataCur, _iIdxCur, _regNewData, int16(i32(1)), uint8(i32(0)), uint8(i32(5)), uint8(i32(1)), i32(-1)) 137093 goto _73 137094 137095 _72: 137096 if (*XIndex)(unsafe.Pointer(_pTab.X2)) == nil { 137097 goto _74 137098 } 137099 137100 _sqlite3MultiWrite(tls, _pParse) 137101 _sqlite3GenerateRowIndexDelete(tls, _pParse, _pTab, _iDataCur, _iIdxCur, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(-1)) 137102 _74: 137103 _73: 137104 _seenReplace = i32(1) 137105 goto _69 137106 137107 _68: 137108 _sqlite3VdbeGoto(tls, _v, _ignoreDest) 137109 goto _69 137110 137111 _69: 137112 _sqlite3VdbeResolveLabel(tls, _v, _17_addrRowidOk) 137113 if _ipkTop == 0 { 137114 goto _75 137115 } 137116 137117 _ipkBottom = _sqlite3VdbeAddOp0(tls, _v, i32(13)) 137118 _sqlite3VdbeJumpHere(tls, _v, _ipkTop) 137119 _75: 137120 _49: 137121 *func() **XIndex { _ix = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 137122 _76: 137123 if _pIdx == nil { 137124 goto _79 137125 } 137126 137127 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) != i32(0) { 137128 goto _80 137129 } 137130 137131 goto _77 137132 137133 _80: 137134 if int32(_bAffinityDone) != i32(0) { 137135 goto _81 137136 } 137137 137138 _sqlite3TableAffinity(tls, _v, _pTab, _regNewData+i32(1)) 137139 _bAffinityDone = uint8(i32(1)) 137140 _81: 137141 _34_iThisCur = _iIdxCur + _ix 137142 _34_addrUniqueOk = _sqlite3VdbeMakeLabel(tls, _v) 137143 if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil { 137144 goto _82 137145 } 137146 137147 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) 137148 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X21 */))) = _regNewData + i32(1) 137149 _sqlite3ExprIfFalseDup(tls, _pParse, (*XExpr)(unsafe.Pointer(_pIdx.X9)), _34_addrUniqueOk, i32(16)) 137150 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X21 */))) = i32(0) 137151 _82: 137152 _34_regIdx = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) + i32(1) 137153 _i = i32(0) 137154 _83: 137155 if _i >= int32(_pIdx.X14) { 137156 goto _86 137157 } 137158 137159 _37_iField = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) 137160 if _37_iField != i32(-2) { 137161 goto _87 137162 } 137163 137164 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X21 */))) = _regNewData + i32(1) 137165 _sqlite3ExprCodeCopy(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pIdx.X10)).X1)+20*uintptr(_i))).X0)), _34_regIdx+_i) 137166 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(56 /* X21 */))) = i32(0) 137167 _sqlite3VdbeComment(tls, _v, str(123996), unsafe.Pointer(_pIdx.X0), _i) 137168 goto _88 137169 137170 _87: 137171 if _37_iField != i32(-1) && _37_iField != int32(_pTab.X10) { 137172 goto _90 137173 } 137174 137175 _37_x = _regNewData 137176 goto _91 137177 137178 _90: 137179 _37_x = (_37_iField + _regNewData) + i32(1) 137180 _91: 137181 _sqlite3VdbeAddOp2(tls, _v, func() int32 { 137182 if _37_iField < i32(0) { 137183 return i32(87) 137184 } 137185 return i32(86) 137186 }(), _37_x, _34_regIdx+_i) 137187 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(func() *int8 { 137188 if _37_iField < i32(0) { 137189 return str(28688) 137190 } 137191 return ((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_37_iField))).X0) 137192 }())) 137193 _88: 137194 _i += 1 137195 goto _83 137196 137197 _86: 137198 _sqlite3VdbeAddOp3(tls, _v, i32(100), _34_regIdx, int32(_pIdx.X14), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_ix)))) 137199 _sqlite3VdbeComment(tls, _v, str(113192), unsafe.Pointer(_pIdx.X0)) 137200 if _isUpdate == 0 || _pPk != _pIdx || int32(_pkChng) != i32(0) { 137201 goto _98 137202 } 137203 137204 _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) 137205 goto _77 137206 137207 _98: 137208 _onError = int32(_pIdx.X15) 137209 if _onError != i32(0) { 137210 goto _99 137211 } 137212 137213 _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) 137214 goto _77 137215 137216 _99: 137217 if int32(_overrideError) == i32(10) { 137218 goto _100 137219 } 137220 137221 _onError = int32(_overrideError) 137222 goto _101 137223 137224 _100: 137225 if _onError != i32(10) { 137226 goto _102 137227 } 137228 137229 _onError = i32(2) 137230 _102: 137231 _101: 137232 if _ix != i32(0) || (*XIndex)(unsafe.Pointer(_pIdx.X5)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || _pPk != _pIdx || _onError != i32(5) || i32(0) != ((_db.X6)&i32(262144)) && (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) != _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) || i32(0) != ((_db.X6)&i32(524288)) && ((*XFKey)(unsafe.Pointer(uintptr(i32(0)))) != (*XFKey)(unsafe.Pointer(_pTab.X4)) || (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) != _sqlite3FkReferences(tls, _pTab)) { 137233 goto _111 137234 } 137235 137236 _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) 137237 goto _77 137238 137239 _111: 137240 _sqlite3VdbeAddOp4Int(tls, _v, i32(29), _34_iThisCur, _34_addrUniqueOk, _34_regIdx, int32(_pIdx.X13)) 137241 _34_regR = func() int32 { 137242 if _pIdx == _pPk { 137243 return _34_regIdx 137244 } 137245 return _sqlite3GetTempRange(tls, _pParse, _nPkField) 137246 }() 137247 if _isUpdate == 0 && _onError != i32(5) { 137248 goto _115 137249 } 137250 137251 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 137252 goto _116 137253 } 137254 137255 _sqlite3VdbeAddOp2(tls, _v, i32(129), _34_iThisCur, _34_regR) 137256 if _isUpdate == 0 { 137257 goto _117 137258 } 137259 137260 _sqlite3VdbeAddOp3(tls, _v, i32(37), _34_regR, _34_addrUniqueOk, _regOldData) 137261 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) 137262 _117: 137263 goto _118 137264 137265 _116: 137266 if _pIdx == _pPk { 137267 goto _119 137268 } 137269 137270 _i = i32(0) 137271 _120: 137272 if _i >= int32(_pPk.X13) { 137273 goto _123 137274 } 137275 137276 func() int32 { 137277 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) >= i32(0) { 137278 return i32(0) 137279 } 137280 return func() int32 { 137281 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110164), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(121716))) 137282 crt.X__builtin_abort(tls) 137283 return i32(0) 137284 }() 137285 }() 137286 _50_x = int32(_sqlite3ColumnOfIndex(tls, _pIdx, *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i))))) 137287 _sqlite3VdbeAddOp3(tls, _v, i32(98), _34_iThisCur, _50_x, _34_regR+_i) 137288 _sqlite3VdbeComment(tls, _v, str(7872), unsafe.Pointer(_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))))).X0)) 137289 _i += 1 137290 goto _120 137291 137292 _123: 137293 _119: 137294 if _isUpdate == 0 { 137295 goto _126 137296 } 137297 137298 _53_addrJump = _sqlite3VdbeCurrentAddr(tls, _v) + int32(_pPk.X13) 137299 _53_op = i32(36) 137300 _53_regCmp = func() int32 { 137301 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) == i32(2) { 137302 return _34_regIdx 137303 } 137304 return _34_regR 137305 }() 137306 _i = i32(0) 137307 _129: 137308 if _i >= int32(_pPk.X13) { 137309 goto _132 137310 } 137311 137312 _54_p4 = (*int8)(unsafe.Pointer(_sqlite3LocateCollSeq(tls, _pParse, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X8)) + 4*uintptr(_i)))))) 137313 _50_x = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPk.X1)) + 2*uintptr(_i)))) 137314 func() int32 { 137315 if _50_x >= i32(0) { 137316 return i32(0) 137317 } 137318 return func() int32 { 137319 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110186), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(115876))) 137320 crt.X__builtin_abort(tls) 137321 return i32(0) 137322 }() 137323 }() 137324 if _i != (int32(_pPk.X13) - i32(1)) { 137325 goto _135 137326 } 137327 137328 _53_addrJump = _34_addrUniqueOk 137329 _53_op = i32(37) 137330 _135: 137331 _sqlite3VdbeAddOp4(tls, _v, _53_op, (_regOldData+i32(1))+_50_x, _53_addrJump, _53_regCmp+_i, _54_p4, i32(-3)) 137332 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) 137333 _i += 1 137334 goto _129 137335 137336 _132: 137337 _126: 137338 _118: 137339 _115: 137340 func() int32 { 137341 if ((((_onError == i32(1)) || (_onError == i32(2))) || (_onError == i32(3))) || (_onError == i32(4))) || (_onError == i32(5)) { 137342 return i32(0) 137343 } 137344 return func() int32 { 137345 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110203), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(123868))) 137346 crt.X__builtin_abort(tls) 137347 return i32(0) 137348 }() 137349 }() 137350 switch _onError { 137351 case i32(1): 137352 goto _143 137353 case i32(2): 137354 goto _144 137355 case i32(3): 137356 goto _145 137357 case i32(4): 137358 goto _146 137359 default: 137360 goto _147 137361 } 137362 137363 _143: 137364 _144: 137365 _145: 137366 _sqlite3UniqueConstraint(tls, _pParse, _onError, _pIdx) 137367 goto _148 137368 137369 _146: 137370 _sqlite3VdbeGoto(tls, _v, _ignoreDest) 137371 goto _148 137372 137373 _147: 137374 _59_pTrigger = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 137375 func() int32 { 137376 if _onError == i32(5) { 137377 return i32(0) 137378 } 137379 return func() int32 { 137380 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110218), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateConstraintChecksØ00__func__Ø000))), unsafe.Pointer(str(123976))) 137381 crt.X__builtin_abort(tls) 137382 return i32(0) 137383 }() 137384 }() 137385 _sqlite3MultiWrite(tls, _pParse) 137386 if ((_db.X6) & i32(262144)) == 0 { 137387 goto _151 137388 } 137389 137390 _59_pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(109), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 137391 _151: 137392 _sqlite3GenerateRowDelete(tls, _pParse, _pTab, _59_pTrigger, _iDataCur, _iIdxCur, _34_regR, int16(_nPkField), uint8(i32(0)), uint8(i32(5)), uint8(func() int32 { 137393 if _pIdx == _pPk { 137394 return i32(1) 137395 } 137396 return i32(0) 137397 }()), _34_iThisCur) 137398 _seenReplace = i32(1) 137399 goto _148 137400 137401 _148: 137402 _sqlite3VdbeResolveLabel(tls, _v, _34_addrUniqueOk) 137403 if _34_regR == _34_regIdx { 137404 goto _154 137405 } 137406 137407 _sqlite3ReleaseTempRange(tls, _pParse, _34_regR, _nPkField) 137408 _154: 137409 _77: 137410 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_ix }() += 1 137411 goto _76 137412 137413 _79: 137414 if _ipkTop == 0 { 137415 goto _155 137416 } 137417 137418 _sqlite3VdbeGoto(tls, _v, _ipkTop+i32(1)) 137419 _sqlite3VdbeJumpHere(tls, _v, _ipkBottom) 137420 _155: 137421 *_pbMayReplace = _seenReplace 137422 return 137423 137424 } 137425 137426 var _sqlite3GenerateConstraintChecksØ00__func__Ø000 [32]int8 // - 137427 137428 func init() { 137429 crt.Xstrncpy(nil, &_sqlite3GenerateConstraintChecksØ00__func__Ø000[0], str(124012), 32) 137430 } 137431 137432 func _checkConstraintUnchanged(tls *crt.TLS, _pExpr *XExpr, _aiChng *int32, _chngRowid int32) (r0 int32) { // sqlite3.c:109692:1 137433 var _w XWalker // sqlite3.c:109693:10 137434 _ = _w 137435 crt.Xmemset(tls, (unsafe.Pointer)(&_w), i32(0), u32(28)) 137436 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(20 /* X5 */))) = uint8(i32(0)) 137437 *(*func(*crt.TLS, *XWalker, *XExpr) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(4 /* X1 */))))) = _checkConstraintExprNode 137438 *(**int32)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(24 /* X6 */))))) = _aiChng 137439 _sqlite3WalkExpr(tls, &_w, _pExpr) 137440 if _chngRowid != 0 { 137441 goto _0 137442 } 137443 137444 { 137445 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_w)) + uintptr(20 /* X5 */))) 137446 *p = uint8(int32(*p) & i32(-3)) 137447 sink6915 = *p 137448 } 137449 _0: 137450 r0 = bool2int((_w.X5) == 0) 137451 return 137452 137453 } 137454 137455 func _checkConstraintExprNode(tls *crt.TLS, _pWalker *XWalker, _pExpr *XExpr) (r0 int32) { // sqlite3.c:109668:1 137456 if int32(_pExpr.X0) != i32(152) { 137457 goto _0 137458 } 137459 137460 func() int32 { 137461 if (int32(_pExpr.X9) >= i32(0)) || (int32(_pExpr.X9) == i32(-1)) { 137462 return i32(0) 137463 } 137464 return func() int32 { 137465 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109670), unsafe.Pointer((*int8)(unsafe.Pointer(&_checkConstraintExprNodeØ00__func__Ø000))), unsafe.Pointer(str(124044))) 137466 crt.X__builtin_abort(tls) 137467 return i32(0) 137468 }() 137469 }() 137470 if int32(_pExpr.X9) < i32(0) { 137471 goto _4 137472 } 137473 137474 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int32)(unsafe.Pointer((*T8292054)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(24 /* X6 */))))))) + 4*uintptr(_pExpr.X9)))) < i32(0) { 137475 goto _5 137476 } 137477 137478 { 137479 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) 137480 *p = uint8(int32(*p) | i32(1)) 137481 sink6915 = *p 137482 } 137483 _5: 137484 goto _6 137485 137486 _4: 137487 { 137488 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWalker)) + uintptr(20 /* X5 */))) 137489 *p = uint8(int32(*p) | i32(2)) 137490 sink6915 = *p 137491 } 137492 _6: 137493 _0: 137494 r0 = i32(0) 137495 return 137496 137497 } 137498 137499 var _checkConstraintExprNodeØ00__func__Ø000 [24]int8 // - 137500 137501 func init() { 137502 crt.Xstrncpy(nil, &_checkConstraintExprNodeØ00__func__Ø000[0], str(124084), 24) 137503 } 137504 137505 func _sqlite3RowidConstraint(tls *crt.TLS, _pParse *XParse, _onError int32, _pTab *XTable) { // sqlite3.c:103649:1 137506 var _zMsg *int8 // sqlite3.c:103654:8 137507 _ = _zMsg 137508 var _rc int32 // sqlite3.c:103655:7 137509 _ = _rc 137510 if int32(_pTab.X10) < i32(0) { 137511 goto _0 137512 } 137513 137514 _zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(7872), unsafe.Pointer(_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_pTab.X10))).X0)) 137515 _rc = i32(1555) 137516 goto _1 137517 137518 _0: 137519 _zMsg = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(124108), unsafe.Pointer(_pTab.X0)) 137520 _rc = i32(2579) 137521 _1: 137522 _sqlite3HaltConstraint(tls, _pParse, _rc, _onError, _zMsg, int8(i32(-1)), uint8(i32(2))) 137523 return 137524 137525 } 137526 137527 func _sqlite3MultiWrite(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:103565:1 137528 var _pToplevel *XParse // sqlite3.c:103566:9 137529 _ = _pToplevel 137530 _pToplevel = func() *XParse { 137531 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 137532 return (*XParse)(unsafe.Pointer(_pParse.X39)) 137533 } 137534 return _pParse 137535 }() 137536 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pToplevel)) + uintptr(20 /* X8 */))) = uint8(i32(1)) 137537 return 137538 137539 } 137540 137541 func _sqlite3GenerateRowIndexDelete(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iDataCur int32, _iIdxCur int32, _aRegIdx *int32, _iIdxNoSeek int32) { // sqlite3.c:105154:1 137542 var _i int32 // sqlite3.c:105162:7 137543 _ = _i 137544 var _r1 int32 // sqlite3.c:105163:7 137545 _ = _r1 137546 var _iPartIdxLabel int32 // sqlite3.c:105164:7 137547 _ = _iPartIdxLabel 137548 var _pIdx *XIndex // sqlite3.c:105165:9 137549 _ = _pIdx 137550 var _pPrior *XIndex // sqlite3.c:105166:9 137551 _ = _pPrior 137552 var _v *XVdbe // sqlite3.c:105167:8 137553 _ = _v 137554 var _pPk *XIndex // sqlite3.c:105168:9 137555 _ = _pPk 137556 _r1 = i32(-1) 137557 _pPrior = nil 137558 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 137559 _pPk = func() *XIndex { 137560 if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 137561 return (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 137562 } 137563 return _sqlite3PrimaryKeyIndex(tls, _pTab) 137564 }() 137565 *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 137566 _2: 137567 if _pIdx == nil { 137568 goto _5 137569 } 137570 137571 func() int32 { 137572 if ((_iIdxCur + _i) != _iDataCur) || (_pPk == _pIdx) { 137573 return i32(0) 137574 } 137575 return func() int32 { 137576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105173), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GenerateRowIndexDeleteØ00__func__Ø000))), unsafe.Pointer(str(124120))) 137577 crt.X__builtin_abort(tls) 137578 return i32(0) 137579 }() 137580 }() 137581 if _aRegIdx == (*int32)(unsafe.Pointer(uintptr(i32(0)))) || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i)))) != i32(0) { 137582 goto _10 137583 } 137584 137585 goto _3 137586 137587 _10: 137588 if _pIdx != _pPk { 137589 goto _11 137590 } 137591 137592 goto _3 137593 137594 _11: 137595 if (_iIdxCur + _i) != _iIdxNoSeek { 137596 goto _12 137597 } 137598 137599 goto _3 137600 137601 _12: 137602 _r1 = _sqlite3GenerateIndexKey(tls, _pParse, _pIdx, _iDataCur, i32(0), i32(1), &_iPartIdxLabel, _pPrior, _r1) 137603 _sqlite3VdbeAddOp3(tls, _v, i32(127), _iIdxCur+_i, _r1, int32(func() uint16 { 137604 if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { 137605 return (_pIdx.X13) 137606 } 137607 return (_pIdx.X14) 137608 }())) 137609 _sqlite3ResolvePartIdxLabel(tls, _pParse, _iPartIdxLabel) 137610 _pPrior = _pIdx 137611 _3: 137612 *func() **XIndex { _i += 1; return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 137613 goto _2 137614 137615 _5: 137616 return 137617 137618 } 137619 137620 var _sqlite3GenerateRowIndexDeleteØ00__func__Ø000 [30]int8 // - 137621 137622 func init() { 137623 crt.Xstrncpy(nil, &_sqlite3GenerateRowIndexDeleteØ00__func__Ø000[0], str(124156), 30) 137624 } 137625 137626 func _sqlite3FkCheck(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _regOld int32, _regNew int32, _aChange *int32, _bChngRowid int32) { // sqlite3.c:108014:1 137627 var _db *Xsqlite3 // sqlite3.c:108022:11 137628 _ = _db 137629 var _pFKey *XFKey // sqlite3.c:108023:8 137630 _ = _pFKey 137631 var _iDb int32 // sqlite3.c:108024:7 137632 _ = _iDb 137633 var _zDb *int8 // sqlite3.c:108025:14 137634 _ = _zDb 137635 var _isIgnoreErrors int32 // sqlite3.c:108026:7 137636 _ = _isIgnoreErrors 137637 var _1_pTo *XTable // sqlite3.c:108040:11 137638 _ = _1_pTo 137639 var _1_pIdx *XIndex // sqlite3.c:108041:11 137640 _ = _1_pIdx 137641 var _1_aiFree *int32 // sqlite3.c:108042:9 137642 _ = _1_aiFree 137643 var _1_aiCol *int32 // sqlite3.c:108043:9 137644 _ = _1_aiCol 137645 var _1_iCol int32 // sqlite3.c:108044:9 137646 _ = _1_iCol 137647 var _1_i int32 // sqlite3.c:108045:9 137648 _ = _1_i 137649 var _1_bIgnore int32 // sqlite3.c:108046:9 137650 _ = _1_bIgnore 137651 var _6_v *XVdbe // sqlite3.c:108075:14 137652 _ = _6_v 137653 var _6_iJump int32 // sqlite3.c:108076:13 137654 _ = _6_iJump 137655 var _7_iReg int32 // sqlite3.c:108078:15 137656 _ = _7_iReg 137657 var _12_rcauth int32 // sqlite3.c:108103:13 137658 _ = _12_rcauth 137659 var _12_zCol *int8 // sqlite3.c:108104:14 137660 _ = _12_zCol 137661 var _15_pIdx *XIndex // sqlite3.c:108141:11 137662 _ = _15_pIdx 137663 var _15_pSrc *XSrcList // sqlite3.c:108142:13 137664 _ = _15_pSrc 137665 var _15_aiCol *int32 // sqlite3.c:108143:9 137666 _ = _15_aiCol 137667 var _19_pItem *T7840217 // sqlite3.c:108168:27 137668 _ = _19_pItem 137669 var _21_eAction int32 // sqlite3.c:108178:13 137670 _ = _21_eAction 137671 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 137672 _isIgnoreErrors = int32(_pParse.X47) 137673 func() int32 { 137674 if (_regOld == i32(0)) != (_regNew == i32(0)) { 137675 return i32(0) 137676 } 137677 return func() int32 { 137678 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108029), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkCheckØ00__func__Ø000))), unsafe.Pointer(str(124188))) 137679 crt.X__builtin_abort(tls) 137680 return i32(0) 137681 }() 137682 }() 137683 if ((_db.X6) & i32(524288)) != i32(0) { 137684 goto _2 137685 } 137686 137687 return 137688 137689 _2: 137690 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 137691 _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 137692 _pFKey = (*XFKey)(unsafe.Pointer(_pTab.X4)) 137693 _3: 137694 if _pFKey == nil { 137695 goto _6 137696 } 137697 137698 _1_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 137699 _1_aiFree = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 137700 _1_bIgnore = i32(0) 137701 if _aChange == nil || Xsqlite3_stricmp(tls, _pTab.X0, _pFKey.X2) == i32(0) || _fkChildIsModified(tls, _pTab, _pFKey, _aChange, _bChngRowid) != i32(0) { 137702 goto _9 137703 } 137704 137705 goto _4 137706 137707 _9: 137708 if (_pParse.X47) == 0 { 137709 goto _10 137710 } 137711 137712 _1_pTo = _sqlite3FindTable(tls, _db, _pFKey.X2, _zDb) 137713 goto _11 137714 137715 _10: 137716 _1_pTo = _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _pFKey.X2, _zDb) 137717 _11: 137718 if _1_pTo != nil && _sqlite3FkLocateIndex(tls, _pParse, _1_pTo, _pFKey, &_1_pIdx, &_1_aiFree) == 0 { 137719 goto _13 137720 } 137721 137722 func() int32 { 137723 if (_isIgnoreErrors == i32(0)) || ((_regOld != i32(0)) && (_regNew == i32(0))) { 137724 return i32(0) 137725 } 137726 return func() int32 { 137727 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108065), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkCheckØ00__func__Ø000))), unsafe.Pointer(str(124216))) 137728 crt.X__builtin_abort(tls) 137729 return i32(0) 137730 }() 137731 }() 137732 if _isIgnoreErrors != 0 && (_db.X17) == 0 { 137733 goto _19 137734 } 137735 137736 return 137737 137738 _19: 137739 if _1_pTo != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 137740 goto _20 137741 } 137742 137743 _6_v = _sqlite3GetVdbe(tls, _pParse) 137744 _6_iJump = (_sqlite3VdbeCurrentAddr(tls, _6_v) + (_pFKey.X5)) + i32(1) 137745 _1_i = i32(0) 137746 _21: 137747 if _1_i >= (_pFKey.X5) { 137748 goto _24 137749 } 137750 137751 _7_iReg = (((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 137752 X0 int32 137753 X1 *int8 137754 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(_1_i))).X0) + _regOld) + i32(1) 137755 _sqlite3VdbeAddOp2(tls, _6_v, i32(34), _7_iReg, _6_iJump) 137756 _1_i += 1 137757 goto _21 137758 137759 _24: 137760 _sqlite3VdbeAddOp2(tls, _6_v, i32(145), int32(_pFKey.X6), i32(-1)) 137761 _20: 137762 goto _4 137763 137764 _13: 137765 func() int32 { 137766 if ((_pFKey.X5) == i32(1)) || ((_1_aiFree != nil) && (_1_pIdx != nil)) { 137767 return i32(0) 137768 } 137769 return func() int32 { 137770 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108085), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkCheckØ00__func__Ø000))), unsafe.Pointer(str(124264))) 137771 crt.X__builtin_abort(tls) 137772 return i32(0) 137773 }() 137774 }() 137775 if _1_aiFree == nil { 137776 goto _29 137777 } 137778 137779 _1_aiCol = _1_aiFree 137780 goto _30 137781 137782 _29: 137783 _1_iCol = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 137784 X0 int32 137785 X1 *int8 137786 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(i32(0)))).X0 137787 _1_aiCol = &_1_iCol 137788 _30: 137789 _1_i = i32(0) 137790 _31: 137791 if _1_i >= (_pFKey.X5) { 137792 goto _34 137793 } 137794 137795 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aiCol)) + 4*uintptr(_1_i)))) != int32(_pTab.X10) { 137796 goto _35 137797 } 137798 137799 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aiCol)) + 4*uintptr(_1_i))) = i32(-1) 137800 _35: 137801 func() int32 { 137802 if (_1_pIdx == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X1)) + 2*uintptr(_1_i)))) >= i32(0)) { 137803 return i32(0) 137804 } 137805 return func() int32 { 137806 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108097), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkCheckØ00__func__Ø000))), unsafe.Pointer(str(124300))) 137807 crt.X__builtin_abort(tls) 137808 return i32(0) 137809 }() 137810 }() 137811 if (_db.X59) == nil { 137812 goto _39 137813 } 137814 137815 _12_zCol = (*XColumn)(unsafe.Pointer(uintptr(_1_pTo.X1) + 16*uintptr(func() int16 { 137816 if _1_pIdx != nil { 137817 return (*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pIdx.X1)) + 2*uintptr(_1_i)))) 137818 } 137819 return (_1_pTo.X10) 137820 }()))).X0 137821 _12_rcauth = _sqlite3AuthReadCol(tls, _pParse, _1_pTo.X0, _12_zCol, _iDb) 137822 _1_bIgnore = bool2int(_12_rcauth == i32(2)) 137823 _39: 137824 _1_i += 1 137825 goto _31 137826 137827 _34: 137828 _sqlite3TableLock(tls, _pParse, _iDb, _1_pTo.X7, uint8(i32(0)), _1_pTo.X0) 137829 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) += 1 137830 if _regOld == i32(0) { 137831 goto _42 137832 } 137833 137834 _fkLookupParent(tls, _pParse, _iDb, _1_pTo, _1_pIdx, _pFKey, _1_aiCol, _regOld, i32(-1), _1_bIgnore) 137835 _42: 137836 if _regNew == i32(0) || _isSetNullAction(tls, _pParse, _pFKey) != 0 { 137837 goto _44 137838 } 137839 137840 _fkLookupParent(tls, _pParse, _iDb, _1_pTo, _1_pIdx, _pFKey, _1_aiCol, _regNew, i32(1), _1_bIgnore) 137841 _44: 137842 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_aiFree)) 137843 _4: 137844 _pFKey = (*XFKey)(unsafe.Pointer(_pFKey.X1)) 137845 goto _3 137846 137847 _6: 137848 _pFKey = _sqlite3FkReferences(tls, _pTab) 137849 _45: 137850 if _pFKey == nil { 137851 goto _48 137852 } 137853 137854 _15_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 137855 _15_aiCol = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 137856 if _aChange == nil || _fkParentIsModified(tls, _pTab, _pFKey, _aChange, _bChngRowid) != i32(0) { 137857 goto _50 137858 } 137859 137860 goto _46 137861 137862 _50: 137863 if (_pFKey.X6) != 0 || ((_db.X6)&i32(33554432)) != 0 || (*XParse)(unsafe.Pointer(_pParse.X39)) != nil || (_pParse.X8) != 0 { 137864 goto _54 137865 } 137866 137867 func() int32 { 137868 if (_regOld == i32(0)) && (_regNew != i32(0)) { 137869 return i32(0) 137870 } 137871 return func() int32 { 137872 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108152), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkCheckØ00__func__Ø000))), unsafe.Pointer(str(124332))) 137873 crt.X__builtin_abort(tls) 137874 return i32(0) 137875 }() 137876 }() 137877 goto _46 137878 137879 _54: 137880 if _sqlite3FkLocateIndex(tls, _pParse, _pTab, _pFKey, &_15_pIdx, &_15_aiCol) == 0 { 137881 goto _58 137882 } 137883 137884 if _isIgnoreErrors != 0 && (_db.X17) == 0 { 137885 goto _60 137886 } 137887 137888 return 137889 137890 _60: 137891 goto _46 137892 137893 _58: 137894 func() int32 { 137895 if (_15_aiCol != nil) || ((_pFKey.X5) == i32(1)) { 137896 return i32(0) 137897 } 137898 return func() int32 { 137899 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108162), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FkCheckØ00__func__Ø000))), unsafe.Pointer(str(124356))) 137900 crt.X__builtin_abort(tls) 137901 return i32(0) 137902 }() 137903 }() 137904 _15_pSrc = _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 137905 if _15_pSrc == nil { 137906 goto _64 137907 } 137908 137909 _19_pItem = (*T7840217)(unsafe.Pointer((*[1]struct { 137910 X0 unsafe.Pointer 137911 X1 *int8 137912 X2 *int8 137913 X3 *int8 137914 X4 unsafe.Pointer 137915 X5 unsafe.Pointer 137916 X6 int32 137917 X7 int32 137918 X8 int32 137919 X9 struct { 137920 X0 uint8 137921 X1 int8 137922 } 137923 X10 uint8 137924 X11 int32 137925 X12 unsafe.Pointer 137926 X13 unsafe.Pointer 137927 X14 uint64 137928 X15 struct { 137929 X [0]struct { 137930 X0 *int8 137931 X1 unsafe.Pointer 137932 } 137933 U [4]byte 137934 } 137935 X16 unsafe.Pointer 137936 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_pSrc)) + uintptr(8 /* X2 */))))) 137937 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(16 /* X4 */))))) = (*XTable)(unsafe.Pointer(_pFKey.X0)) 137938 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(8 /* X2 */))) = (*XTable)(unsafe.Pointer(_pFKey.X0)).X0 137939 *(*uint32)(unsafe.Pointer(uintptr(_19_pItem.X4) + uintptr(32 /* X8 */))) += 1 137940 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(40 /* X11 */))) = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 137941 if _regNew == i32(0) { 137942 goto _65 137943 } 137944 137945 _fkScanChildren(tls, _pParse, _15_pSrc, _pTab, _15_pIdx, _pFKey, _15_aiCol, _regNew, i32(-1)) 137946 _65: 137947 if _regOld == i32(0) { 137948 goto _66 137949 } 137950 137951 _21_eAction = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(25 /* X7 */))))) + 1*uintptr(bool2int(_aChange != (*int32)(unsafe.Pointer(uintptr(i32(0))))))))) 137952 _fkScanChildren(tls, _pParse, _15_pSrc, _pTab, _15_pIdx, _pFKey, _15_aiCol, _regOld, i32(1)) 137953 if (_pFKey.X6) != 0 || _21_eAction == i32(9) || _21_eAction == i32(7) { 137954 goto _69 137955 } 137956 137957 _sqlite3MayAbort(tls, _pParse) 137958 _69: 137959 _66: 137960 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_19_pItem)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 137961 _sqlite3SrcListDelete(tls, _db, _15_pSrc) 137962 _64: 137963 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_15_aiCol)) 137964 _46: 137965 _pFKey = (*XFKey)(unsafe.Pointer(_pFKey.X3)) 137966 goto _45 137967 137968 _48: 137969 return 137970 137971 } 137972 137973 var _sqlite3FkCheckØ00__func__Ø000 [15]int8 // - 137974 137975 func init() { 137976 crt.Xstrncpy(nil, &_sqlite3FkCheckØ00__func__Ø000[0], str(124380), 15) 137977 } 137978 137979 func _fkLookupParent(tls *crt.TLS, _pParse *XParse, _iDb int32, _pTab *XTable, _pIdx *XIndex, _pFKey *XFKey, _aiCol *int32, _regData int32, _nIncr int32, _isIgnore int32) { // sqlite3.c:107479:1 137980 var _i int32 // sqlite3.c:107490:7 137981 _ = _i 137982 var _v *XVdbe // sqlite3.c:107491:8 137983 _ = _v 137984 var _iCur int32 // sqlite3.c:107492:7 137985 _ = _iCur 137986 var _iOk int32 // sqlite3.c:107493:7 137987 _ = _iOk 137988 var _2_iReg int32 // sqlite3.c:107507:9 137989 _ = _2_iReg 137990 var _4_iMustBeInt int32 // sqlite3.c:107515:11 137991 _ = _4_iMustBeInt 137992 var _4_regTemp int32 // sqlite3.c:107516:11 137993 _ = _4_regTemp 137994 var _6_nCol int32 // sqlite3.c:107543:11 137995 _ = _6_nCol 137996 var _6_regTemp int32 // sqlite3.c:107544:11 137997 _ = _6_regTemp 137998 var _6_regRec int32 // sqlite3.c:107545:11 137999 _ = _6_regRec 138000 var _8_iJump int32 // sqlite3.c:107564:13 138001 _ = _8_iJump 138002 var _9_iChild int32 // sqlite3.c:107566:15 138003 _ = _9_iChild 138004 var _9_iParent int32 // sqlite3.c:107567:15 138005 _ = _9_iParent 138006 _v = _sqlite3GetVdbe(tls, _pParse) 138007 _iCur = (_pParse.X17) - i32(1) 138008 _iOk = _sqlite3VdbeMakeLabel(tls, _v) 138009 if _nIncr >= i32(0) { 138010 goto _0 138011 } 138012 138013 _sqlite3VdbeAddOp2(tls, _v, i32(66), int32(_pFKey.X6), _iOk) 138014 _0: 138015 _i = i32(0) 138016 _1: 138017 if _i >= (_pFKey.X5) { 138018 goto _4 138019 } 138020 138021 _2_iReg = ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) + _regData) + i32(1) 138022 _sqlite3VdbeAddOp2(tls, _v, i32(34), _2_iReg, _iOk) 138023 _i += 1 138024 goto _1 138025 138026 _4: 138027 if _isIgnore != i32(0) { 138028 goto _5 138029 } 138030 138031 if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 138032 goto _6 138033 } 138034 138035 _4_regTemp = _sqlite3GetTempReg(tls, _pParse) 138036 _sqlite3VdbeAddOp2(tls, _v, i32(86), ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(i32(0)))))+i32(1))+_regData, _4_regTemp) 138037 _4_iMustBeInt = _sqlite3VdbeAddOp2(tls, _v, i32(17), _4_regTemp, i32(0)) 138038 if _pTab != (*XTable)(unsafe.Pointer(_pFKey.X0)) || _nIncr != i32(1) { 138039 goto _8 138040 } 138041 138042 _sqlite3VdbeAddOp3(tls, _v, i32(37), _regData, _iOk, _4_regTemp) 138043 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) 138044 _8: 138045 _sqlite3OpenTable(tls, _pParse, _iCur, _iDb, _pTab, i32(105)) 138046 _sqlite3VdbeAddOp3(tls, _v, i32(33), _iCur, i32(0), _4_regTemp) 138047 _sqlite3VdbeGoto(tls, _v, _iOk) 138048 _sqlite3VdbeJumpHere(tls, _v, _sqlite3VdbeCurrentAddr(tls, _v)-i32(2)) 138049 _sqlite3VdbeJumpHere(tls, _v, _4_iMustBeInt) 138050 _sqlite3ReleaseTempReg(tls, _pParse, _4_regTemp) 138051 goto _9 138052 138053 _6: 138054 _6_nCol = _pFKey.X5 138055 _6_regTemp = _sqlite3GetTempRange(tls, _pParse, _6_nCol) 138056 _6_regRec = _sqlite3GetTempReg(tls, _pParse) 138057 _sqlite3VdbeAddOp3(tls, _v, i32(105), _iCur, _pIdx.X11, _iDb) 138058 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) 138059 _i = i32(0) 138060 _10: 138061 if _i >= _6_nCol { 138062 goto _13 138063 } 138064 138065 _sqlite3VdbeAddOp2(tls, _v, i32(85), ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i))))+i32(1))+_regData, _6_regTemp+_i) 138066 _i += 1 138067 goto _10 138068 138069 _13: 138070 if _pTab != (*XTable)(unsafe.Pointer(_pFKey.X0)) || _nIncr != i32(1) { 138071 goto _15 138072 } 138073 138074 _8_iJump = (_sqlite3VdbeCurrentAddr(tls, _v) + _6_nCol) + i32(1) 138075 _i = i32(0) 138076 _16: 138077 if _i >= _6_nCol { 138078 goto _19 138079 } 138080 138081 _9_iChild = ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) + i32(1)) + _regData 138082 _9_iParent = (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) + i32(1)) + _regData 138083 func() int32 { 138084 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) >= i32(0) { 138085 return i32(0) 138086 } 138087 return func() int32 { 138088 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107568), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkLookupParentØ00__func__Ø000))), unsafe.Pointer(str(123344))) 138089 crt.X__builtin_abort(tls) 138090 return i32(0) 138091 }() 138092 }() 138093 func() int32 { 138094 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) != int32(_pTab.X10) { 138095 return i32(0) 138096 } 138097 return func() int32 { 138098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107569), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkLookupParentØ00__func__Ø000))), unsafe.Pointer(str(124396))) 138099 crt.X__builtin_abort(tls) 138100 return i32(0) 138101 }() 138102 }() 138103 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) != int32(_pTab.X10) { 138104 goto _24 138105 } 138106 138107 _9_iParent = _regData 138108 _24: 138109 _sqlite3VdbeAddOp3(tls, _v, i32(36), _9_iChild, _8_iJump, _9_iParent) 138110 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(16))) 138111 _i += 1 138112 goto _16 138113 138114 _19: 138115 _sqlite3VdbeGoto(tls, _v, _iOk) 138116 _15: 138117 _sqlite3VdbeAddOp4(tls, _v, i32(100), _6_regTemp, _6_nCol, _6_regRec, _sqlite3IndexAffinityStr(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIdx), _6_nCol) 138118 _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _iCur, _iOk, _6_regRec, i32(0)) 138119 _sqlite3ReleaseTempReg(tls, _pParse, _6_regRec) 138120 _sqlite3ReleaseTempRange(tls, _pParse, _6_regTemp, _6_nCol) 138121 _9: 138122 _5: 138123 if (_pFKey.X6) != 0 || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(33554432)) != 0 || (*XParse)(unsafe.Pointer(_pParse.X39)) != nil || (_pParse.X8) != 0 { 138124 goto _28 138125 } 138126 138127 func() int32 { 138128 if _nIncr == i32(1) { 138129 return i32(0) 138130 } 138131 return func() int32 { 138132 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107597), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkLookupParentØ00__func__Ø000))), unsafe.Pointer(str(124420))) 138133 crt.X__builtin_abort(tls) 138134 return i32(0) 138135 }() 138136 }() 138137 _sqlite3HaltConstraint(tls, _pParse, i32(787), i32(2), (*int8)(unsafe.Pointer(uintptr(i32(0)))), int8(i32(-2)), uint8(i32(4))) 138138 goto _31 138139 138140 _28: 138141 if _nIncr <= i32(0) || int32(_pFKey.X6) != i32(0) { 138142 goto _33 138143 } 138144 138145 _sqlite3MayAbort(tls, _pParse) 138146 _33: 138147 _sqlite3VdbeAddOp2(tls, _v, i32(145), int32(_pFKey.X6), _nIncr) 138148 _31: 138149 _sqlite3VdbeResolveLabel(tls, _v, _iOk) 138150 _sqlite3VdbeAddOp1(tls, _v, i32(112), _iCur) 138151 return 138152 138153 } 138154 138155 var _fkLookupParentØ00__func__Ø000 [15]int8 // - 138156 138157 func init() { 138158 crt.Xstrncpy(nil, &_fkLookupParentØ00__func__Ø000[0], str(124432), 15) 138159 } 138160 138161 func _isSetNullAction(tls *crt.TLS, _pParse *XParse, _pFKey *XFKey) (r0 int32) { // sqlite3.c:107981:1 138162 var _pTop *XParse // sqlite3.c:107982:9 138163 _ = _pTop 138164 var _1_p *XTrigger // sqlite3.c:107984:13 138165 _ = _1_p 138166 _pTop = func() *XParse { 138167 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 138168 return (*XParse)(unsafe.Pointer(_pParse.X39)) 138169 } 138170 return _pParse 138171 }() 138172 if (*XTriggerPrg)(unsafe.Pointer(_pTop.X69)) == nil { 138173 goto _2 138174 } 138175 138176 _1_p = (*XTrigger)(unsafe.Pointer((*XTriggerPrg)(unsafe.Pointer(_pTop.X69)).X0)) 138177 if (_1_p != (*(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(28 /* X8 */))))) + 4*uintptr(i32(0))))) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(25 /* X7 */))))) + 1*uintptr(i32(0))))) != i32(7)) && (_1_p != (*(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(28 /* X8 */))))) + 4*uintptr(i32(1))))) || int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(25 /* X7 */))))) + 1*uintptr(i32(1))))) != i32(7)) { 138178 goto _6 138179 } 138180 138181 r0 = i32(1) 138182 return 138183 138184 _6: 138185 _2: 138186 r0 = i32(0) 138187 return 138188 138189 } 138190 138191 func _fkScanChildren(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList, _pTab *XTable, _pIdx *XIndex, _pFKey *XFKey, _aiCol *int32, _regData int32, _nIncr int32) { // sqlite3.c:107699:1 138192 var _db *Xsqlite3 // sqlite3.c:107709:11 138193 _ = _db 138194 var _i int32 // sqlite3.c:107710:7 138195 _ = _i 138196 var _pWhere *XExpr // sqlite3.c:107711:8 138197 _ = _pWhere 138198 var _sNameContext XNameContext // sqlite3.c:107712:15 138199 _ = _sNameContext 138200 var _pWInfo *XWhereInfo // sqlite3.c:107713:13 138201 _ = _pWInfo 138202 var _iFkIfZero int32 // sqlite3.c:107714:7 138203 _ = _iFkIfZero 138204 var _v *XVdbe // sqlite3.c:107715:8 138205 _ = _v 138206 var _2_pLeft *XExpr // sqlite3.c:107736:10 138207 _ = _2_pLeft 138208 var _2_pRight *XExpr // sqlite3.c:107737:10 138209 _ = _2_pRight 138210 var _2_pEq *XExpr // sqlite3.c:107738:10 138211 _ = _2_pEq 138212 var _2_iCol int16 // sqlite3.c:107739:9 138213 _ = _2_iCol 138214 var _2_zCol *int8 // sqlite3.c:107740:16 138215 _ = _2_zCol 138216 var _3_pNe *XExpr // sqlite3.c:107764:10 138217 _ = _3_pNe 138218 var _3_pLeft *XExpr // sqlite3.c:107765:10 138219 _ = _3_pLeft 138220 var _3_pRight *XExpr // sqlite3.c:107766:10 138221 _ = _3_pRight 138222 var _5_pEq *XExpr // sqlite3.c:107772:12 138223 _ = _5_pEq 138224 var _5_pAll *XExpr // sqlite3.c:107772:18 138225 _ = _5_pAll 138226 var _5_pPk *XIndex // sqlite3.c:107773:13 138227 _ = _5_pPk 138228 var _6_iCol int16 // sqlite3.c:107776:13 138229 _ = _6_iCol 138230 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 138231 _pWhere = nil 138232 _iFkIfZero = i32(0) 138233 _v = _sqlite3GetVdbe(tls, _pParse) 138234 func() int32 { 138235 if (_pIdx == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((*XTable)(unsafe.Pointer(_pIdx.X3)) == _pTab) { 138236 return i32(0) 138237 } 138238 return func() int32 { 138239 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107717), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(124448))) 138240 crt.X__builtin_abort(tls) 138241 return i32(0) 138242 }() 138243 }() 138244 func() int32 { 138245 if (_pIdx == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pIdx.X13) == (_pFKey.X5)) { 138246 return i32(0) 138247 } 138248 return func() int32 { 138249 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107718), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(124480))) 138250 crt.X__builtin_abort(tls) 138251 return i32(0) 138252 }() 138253 }() 138254 func() int32 { 138255 if (_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((_pFKey.X5) == i32(1)) { 138256 return i32(0) 138257 } 138258 return func() int32 { 138259 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107719), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(124520))) 138260 crt.X__builtin_abort(tls) 138261 return i32(0) 138262 }() 138263 }() 138264 func() int32 { 138265 if (_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || (((_pTab.X9) & uint32(i32(32))) == uint32(i32(0))) { 138266 return i32(0) 138267 } 138268 return func() int32 { 138269 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107720), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(124548))) 138270 crt.X__builtin_abort(tls) 138271 return i32(0) 138272 }() 138273 }() 138274 if _nIncr >= i32(0) { 138275 goto _12 138276 } 138277 138278 _iFkIfZero = _sqlite3VdbeAddOp2(tls, _v, i32(66), int32(_pFKey.X6), i32(0)) 138279 _12: 138280 _i = i32(0) 138281 _13: 138282 if _i >= (_pFKey.X5) { 138283 goto _16 138284 } 138285 138286 _2_iCol = int16(func() int32 { 138287 if _pIdx != nil { 138288 return int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i)))) 138289 } 138290 return i32(-1) 138291 }()) 138292 _2_pLeft = _exprTableRegister(tls, _pParse, _pTab, _regData, _2_iCol) 138293 _2_iCol = int16(func() int32 { 138294 if _aiCol != nil { 138295 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aiCol)) + 4*uintptr(_i)))) 138296 } 138297 return ((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 138298 X0 int32 138299 X1 *int8 138300 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(i32(0)))).X0) 138301 }()) 138302 func() int32 { 138303 if int32(_2_iCol) >= i32(0) { 138304 return i32(0) 138305 } 138306 return func() int32 { 138307 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107745), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(104776))) 138308 crt.X__builtin_abort(tls) 138309 return i32(0) 138310 }() 138311 }() 138312 _2_zCol = (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pFKey.X0)).X1) + 16*uintptr(_2_iCol))).X0 138313 _2_pRight = _sqlite3Expr(tls, _db, i32(55), _2_zCol) 138314 _2_pEq = _sqlite3PExpr(tls, _pParse, i32(37), _2_pLeft, _2_pRight) 138315 _pWhere = _sqlite3ExprAnd(tls, _db, _pWhere, _2_pEq) 138316 _i += 1 138317 goto _13 138318 138319 _16: 138320 if _pTab != (*XTable)(unsafe.Pointer(_pFKey.X0)) || _nIncr <= i32(0) { 138321 goto _24 138322 } 138323 138324 if ((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 138325 goto _25 138326 } 138327 138328 _3_pLeft = _exprTableRegister(tls, _pParse, _pTab, _regData, int16(i32(-1))) 138329 _3_pRight = _exprTableColumn(tls, _db, _pTab, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 138330 X0 unsafe.Pointer 138331 X1 *int8 138332 X2 *int8 138333 X3 *int8 138334 X4 unsafe.Pointer 138335 X5 unsafe.Pointer 138336 X6 int32 138337 X7 int32 138338 X8 int32 138339 X9 struct { 138340 X0 uint8 138341 X1 int8 138342 } 138343 X10 uint8 138344 X11 int32 138345 X12 unsafe.Pointer 138346 X13 unsafe.Pointer 138347 X14 uint64 138348 X15 struct { 138349 X [0]struct { 138350 X0 *int8 138351 X1 unsafe.Pointer 138352 } 138353 U [4]byte 138354 } 138355 X16 unsafe.Pointer 138356 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X11, int16(i32(-1))) 138357 _3_pNe = _sqlite3PExpr(tls, _pParse, i32(36), _3_pLeft, _3_pRight) 138358 goto _26 138359 138360 _25: 138361 _5_pAll = nil 138362 _5_pPk = _sqlite3PrimaryKeyIndex(tls, _pTab) 138363 func() int32 { 138364 if _pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 138365 return i32(0) 138366 } 138367 return func() int32 { 138368 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107774), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(44360))) 138369 crt.X__builtin_abort(tls) 138370 return i32(0) 138371 }() 138372 }() 138373 _i = i32(0) 138374 _29: 138375 if _i >= int32(_5_pPk.X13) { 138376 goto _32 138377 } 138378 138379 _6_iCol = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X1)) + 2*uintptr(_i))) 138380 func() int32 { 138381 if int32(_6_iCol) >= i32(0) { 138382 return i32(0) 138383 } 138384 return func() int32 { 138385 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(107777), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkScanChildrenØ00__func__Ø000))), unsafe.Pointer(str(104776))) 138386 crt.X__builtin_abort(tls) 138387 return i32(0) 138388 }() 138389 }() 138390 _3_pLeft = _exprTableRegister(tls, _pParse, _pTab, _regData, _6_iCol) 138391 _3_pRight = _exprTableColumn(tls, _db, _pTab, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 138392 X0 unsafe.Pointer 138393 X1 *int8 138394 X2 *int8 138395 X3 *int8 138396 X4 unsafe.Pointer 138397 X5 unsafe.Pointer 138398 X6 int32 138399 X7 int32 138400 X8 int32 138401 X9 struct { 138402 X0 uint8 138403 X1 int8 138404 } 138405 X10 uint8 138406 X11 int32 138407 X12 unsafe.Pointer 138408 X13 unsafe.Pointer 138409 X14 uint64 138410 X15 struct { 138411 X [0]struct { 138412 X0 *int8 138413 X1 unsafe.Pointer 138414 } 138415 U [4]byte 138416 } 138417 X16 unsafe.Pointer 138418 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X11, _6_iCol) 138419 _5_pEq = _sqlite3PExpr(tls, _pParse, i32(37), _3_pLeft, _3_pRight) 138420 _5_pAll = _sqlite3ExprAnd(tls, _db, _5_pAll, _5_pEq) 138421 _i += 1 138422 goto _29 138423 138424 _32: 138425 _3_pNe = _sqlite3PExpr(tls, _pParse, i32(19), _5_pAll, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 138426 _26: 138427 _pWhere = _sqlite3ExprAnd(tls, _db, _pWhere, _3_pNe) 138428 _24: 138429 crt.Xmemset(tls, (unsafe.Pointer)(&_sNameContext), i32(0), u32(32)) 138430 *(**XSrcList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNameContext)) + uintptr(4 /* X1 */))))) = _pSrc 138431 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sNameContext)) + uintptr(0 /* X0 */))))) = _pParse 138432 _sqlite3ResolveExprNames(tls, &_sNameContext, _pWhere) 138433 _pWInfo = _sqlite3WhereBegin(tls, _pParse, _pSrc, _pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint16(i32(0)), i32(0)) 138434 _sqlite3VdbeAddOp2(tls, _v, i32(145), int32(_pFKey.X6), _nIncr) 138435 if _pWInfo == nil { 138436 goto _35 138437 } 138438 138439 _sqlite3WhereEnd(tls, _pWInfo) 138440 _35: 138441 _sqlite3ExprDelete(tls, _db, _pWhere) 138442 if _iFkIfZero == 0 { 138443 goto _36 138444 } 138445 138446 _sqlite3VdbeJumpHere(tls, _v, _iFkIfZero) 138447 _36: 138448 return 138449 138450 } 138451 138452 var _fkScanChildrenØ00__func__Ø000 [15]int8 // - 138453 138454 func init() { 138455 crt.Xstrncpy(nil, &_fkScanChildrenØ00__func__Ø000[0], str(124576), 15) 138456 } 138457 138458 func _exprTableRegister(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _regBase int32, _iCol int16) (r0 *XExpr) { // sqlite3.c:107620:1 138459 var _pExpr *XExpr // sqlite3.c:107626:8 138460 _ = _pExpr 138461 var _pCol *XColumn // sqlite3.c:107627:10 138462 _ = _pCol 138463 var _zColl *int8 // sqlite3.c:107628:14 138464 _ = _zColl 138465 var _db *Xsqlite3 // sqlite3.c:107629:11 138466 _ = _db 138467 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 138468 _pExpr = _sqlite3Expr(tls, _db, i32(157), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 138469 if _pExpr == nil { 138470 goto _0 138471 } 138472 138473 if int32(_iCol) < i32(0) || int32(_iCol) == int32(_pTab.X10) { 138474 goto _2 138475 } 138476 138477 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))) 138478 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = (_regBase + int32(_iCol)) + i32(1) 138479 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = _pCol.X4 138480 _zColl = _pCol.X2 138481 if _zColl != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 138482 goto _3 138483 } 138484 138485 _zColl = (*XCollSeq)(unsafe.Pointer(_db.X2)).X0 138486 _3: 138487 _pExpr = _sqlite3ExprAddCollateString(tls, _pParse, _pExpr, _zColl) 138488 goto _4 138489 138490 _2: 138491 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = _regBase 138492 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(1 /* X1 */))) = int8(i32(68)) 138493 _4: 138494 _0: 138495 r0 = _pExpr 138496 return 138497 138498 } 138499 138500 func _exprTableColumn(tls *crt.TLS, _db *Xsqlite3, _pTab *XTable, _iCursor int32, _iCol int16) (r0 *XExpr) { // sqlite3.c:107652:1 138501 var _pExpr *XExpr // sqlite3.c:107658:8 138502 _ = _pExpr 138503 _pExpr = _sqlite3Expr(tls, _db, i32(152), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 138504 if _pExpr == nil { 138505 goto _0 138506 } 138507 138508 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(44 /* X14 */))))) = _pTab 138509 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(28 /* X8 */))) = _iCursor 138510 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X9 */))) = _iCol 138511 _0: 138512 r0 = _pExpr 138513 return 138514 138515 } 138516 138517 func _sqlite3CompleteInsertion(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iDataCur int32, _iIdxCur int32, _regNewData int32, _aRegIdx *int32, _update_flags int32, _appendBias int32, _useSeekResult int32) { // sqlite3.c:110273:1 138518 var _v *XVdbe // sqlite3.c:110284:8 138519 _ = _v 138520 var _pIdx *XIndex // sqlite3.c:110285:9 138521 _ = _pIdx 138522 var _pik_flags uint8 // sqlite3.c:110286:6 138523 _ = _pik_flags 138524 var _regData int32 // sqlite3.c:110287:7 138525 _ = _regData 138526 var _regRec int32 // sqlite3.c:110288:7 138527 _ = _regRec 138528 var _i int32 // sqlite3.c:110289:7 138529 _ = _i 138530 var _bAffinityDone uint8 // sqlite3.c:110290:6 138531 _ = _bAffinityDone 138532 _bAffinityDone = u8(0) 138533 func() int32 { 138534 if ((_update_flags == i32(0)) || (_update_flags == i32(4))) || (_update_flags == i32(6)) { 138535 return i32(0) 138536 } 138537 return func() int32 { 138538 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110292), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CompleteInsertionØ00__func__Ø000))), unsafe.Pointer(str(124592))) 138539 crt.X__builtin_abort(tls) 138540 return i32(0) 138541 }() 138542 }() 138543 _v = _sqlite3GetVdbe(tls, _pParse) 138544 func() int32 { 138545 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 138546 return i32(0) 138547 } 138548 return func() int32 { 138549 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110298), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CompleteInsertionØ00__func__Ø000))), unsafe.Pointer(str(44352))) 138550 crt.X__builtin_abort(tls) 138551 return i32(0) 138552 }() 138553 }() 138554 func() int32 { 138555 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 138556 return i32(0) 138557 } 138558 return func() int32 { 138559 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110299), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CompleteInsertionØ00__func__Ø000))), unsafe.Pointer(str(108052))) 138560 crt.X__builtin_abort(tls) 138561 return i32(0) 138562 }() 138563 }() 138564 *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 138565 _8: 138566 if _pIdx == nil { 138567 goto _11 138568 } 138569 138570 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i)))) != i32(0) { 138571 goto _12 138572 } 138573 138574 goto _9 138575 138576 _12: 138577 _bAffinityDone = uint8(i32(1)) 138578 if (*XExpr)(unsafe.Pointer(_pIdx.X9)) == nil { 138579 goto _13 138580 } 138581 138582 _sqlite3VdbeAddOp2(tls, _v, i32(34), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i))), _sqlite3VdbeCurrentAddr(tls, _v)+i32(2)) 138583 _13: 138584 _pik_flags = uint8(func() int32 { 138585 if _useSeekResult != 0 { 138586 return i32(16) 138587 } 138588 return i32(0) 138589 }()) 138590 if int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) || ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) { 138591 goto _17 138592 } 138593 138594 func() int32 { 138595 if int32(_pParse.X6) == i32(0) { 138596 return i32(0) 138597 } 138598 return func() int32 { 138599 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110309), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CompleteInsertionØ00__func__Ø000))), unsafe.Pointer(str(124696))) 138600 crt.X__builtin_abort(tls) 138601 return i32(0) 138602 }() 138603 }() 138604 { 138605 p := &_pik_flags 138606 *p = uint8(int32(*p) | i32(1)) 138607 sink6915 = *p 138608 } 138609 { 138610 p := &_pik_flags 138611 *p = uint8(int32(*p) | (_update_flags & i32(2))) 138612 sink6915 = *p 138613 } 138614 _17: 138615 _sqlite3VdbeAddOp4Int(tls, _v, i32(126), _iIdxCur+_i, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i))), (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i))))+i32(1), int32(func() uint16 { 138616 if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { 138617 return (_pIdx.X13) 138618 } 138619 return (_pIdx.X14) 138620 }())) 138621 _sqlite3VdbeChangeP5(tls, _v, uint16(_pik_flags)) 138622 _9: 138623 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_i }() += 1 138624 goto _8 138625 138626 _11: 138627 if ((_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 138628 goto _22 138629 } 138630 138631 return 138632 138633 _22: 138634 _regData = _regNewData + i32(1) 138635 _regRec = _sqlite3GetTempReg(tls, _pParse) 138636 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regData, int32(_pTab.X11), _regRec) 138637 if _bAffinityDone != 0 { 138638 goto _23 138639 } 138640 138641 _sqlite3TableAffinity(tls, _v, _pTab, i32(0)) 138642 _sqlite3ExprCacheAffinityChange(tls, _pParse, _regData, int32(_pTab.X11)) 138643 _23: 138644 if (_pParse.X6) == 0 { 138645 goto _24 138646 } 138647 138648 _pik_flags = uint8(i32(0)) 138649 goto _25 138650 138651 _24: 138652 _pik_flags = uint8(i32(1)) 138653 { 138654 p := &_pik_flags 138655 *p = uint8(int32(*p) | func() int32 { 138656 if _update_flags != 0 { 138657 return _update_flags 138658 } 138659 return i32(32) 138660 }()) 138661 sink6915 = *p 138662 } 138663 _25: 138664 if _appendBias == 0 { 138665 goto _28 138666 } 138667 138668 { 138669 p := &_pik_flags 138670 *p = uint8(int32(*p) | i32(8)) 138671 sink6915 = *p 138672 } 138673 _28: 138674 if _useSeekResult == 0 { 138675 goto _29 138676 } 138677 138678 { 138679 p := &_pik_flags 138680 *p = uint8(int32(*p) | i32(16)) 138681 sink6915 = *p 138682 } 138683 _29: 138684 _sqlite3VdbeAddOp3(tls, _v, i32(116), _iDataCur, _regRec, _regNewData) 138685 if (_pParse.X6) != 0 { 138686 goto _30 138687 } 138688 138689 _sqlite3VdbeAppendP4(tls, _v, (unsafe.Pointer)(_pTab), i32(-15)) 138690 _30: 138691 _sqlite3VdbeChangeP5(tls, _v, uint16(_pik_flags)) 138692 return 138693 138694 } 138695 138696 var _sqlite3CompleteInsertionØ00__func__Ø000 [25]int8 // - 138697 138698 func init() { 138699 crt.Xstrncpy(nil, &_sqlite3CompleteInsertionØ00__func__Ø000[0], str(124716), 25) 138700 } 138701 138702 func _sqlite3FkActions(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pChanges *XExprList, _regOld int32, _aChange *int32, _bChngRowid int32) { // sqlite3.c:108496:1 138703 var _1_pFKey *XFKey // sqlite3.c:108509:10 138704 _ = _1_pFKey 138705 var _3_pAct *XTrigger // sqlite3.c:108512:17 138706 _ = _3_pAct 138707 if (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6) & i32(524288)) == 0 { 138708 goto _0 138709 } 138710 138711 _1_pFKey = _sqlite3FkReferences(tls, _pTab) 138712 _1: 138713 if _1_pFKey == nil { 138714 goto _4 138715 } 138716 138717 if _aChange != (*int32)(unsafe.Pointer(uintptr(i32(0)))) && _fkParentIsModified(tls, _pTab, _1_pFKey, _aChange, _bChngRowid) == 0 { 138718 goto _6 138719 } 138720 138721 _3_pAct = _fkActionTrigger(tls, _pParse, _pTab, _1_pFKey, _pChanges) 138722 if _3_pAct == nil { 138723 goto _7 138724 } 138725 138726 _sqlite3CodeRowTriggerDirect(tls, _pParse, _3_pAct, _pTab, _regOld, i32(2), i32(0)) 138727 _7: 138728 _6: 138729 _1_pFKey = (*XFKey)(unsafe.Pointer(_1_pFKey.X3)) 138730 goto _1 138731 138732 _4: 138733 _0: 138734 return 138735 138736 } 138737 138738 func _fkActionTrigger(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pFKey *XFKey, _pChanges *XExprList) (r0 *XTrigger) { // sqlite3.c:108314:1 138739 var _db *Xsqlite3 // sqlite3.c:108320:11 138740 _ = _db 138741 var _action int32 // sqlite3.c:108321:7 138742 _ = _action 138743 var _pTrigger *XTrigger // sqlite3.c:108322:11 138744 _ = _pTrigger 138745 var _iAction int32 // sqlite3.c:108323:7 138746 _ = _iAction 138747 var _2_zFrom *int8 // sqlite3.c:108332:16 138748 _ = _2_zFrom 138749 var _2_nFrom int32 // sqlite3.c:108333:9 138750 _ = _2_nFrom 138751 var _2_pIdx *XIndex // sqlite3.c:108334:11 138752 _ = _2_pIdx 138753 var _2_aiCol *int32 // sqlite3.c:108335:9 138754 _ = _2_aiCol 138755 var _2_pStep *XTriggerStep // sqlite3.c:108336:17 138756 _ = _2_pStep 138757 var _2_pWhere *XExpr // sqlite3.c:108337:10 138758 _ = _2_pWhere 138759 var _2_pList *XExprList // sqlite3.c:108338:14 138760 _ = _2_pList 138761 var _2_pSelect *XSelect // sqlite3.c:108339:12 138762 _ = _2_pSelect 138763 var _2_i int32 // sqlite3.c:108340:9 138764 _ = _2_i 138765 var _2_pWhen *XExpr // sqlite3.c:108341:10 138766 _ = _2_pWhen 138767 var _3_tOld XToken // sqlite3.c:108347:13 138768 _ = _3_tOld 138769 var _3_tNew XToken // sqlite3.c:108348:13 138770 _ = _3_tNew 138771 var _3_tFromCol XToken // sqlite3.c:108349:13 138772 _ = _3_tFromCol 138773 var _3_tToCol XToken // sqlite3.c:108350:13 138774 _ = _3_tToCol 138775 var _3_iFromCol int32 // sqlite3.c:108351:11 138776 _ = _3_iFromCol 138777 var _3_pEq *XExpr // sqlite3.c:108352:12 138778 _ = _3_pEq 138779 var _5_pNew *XExpr // sqlite3.c:108392:14 138780 _ = _5_pNew 138781 var _7_pDflt *XExpr // sqlite3.c:108398:16 138782 _ = _7_pDflt 138783 var _11_tFrom XToken // sqlite3.c:108417:13 138784 _ = _11_tFrom 138785 var _11_pRaise *XExpr // sqlite3.c:108418:12 138786 _ = _11_pRaise 138787 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 138788 _iAction = bool2int(_pChanges != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) 138789 _action = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(25 /* X7 */))))) + 1*uintptr(_iAction)))) 138790 if _action != i32(6) || ((_db.X6)&i32(33554432)) == 0 { 138791 goto _1 138792 } 138793 138794 r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 138795 return 138796 138797 _1: 138798 _pTrigger = *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(28 /* X8 */))))) + 4*uintptr(_iAction))) 138799 if _action == i32(0) || _pTrigger != nil { 138800 goto _3 138801 } 138802 138803 _2_pIdx = nil 138804 _2_aiCol = nil 138805 _2_pStep = nil 138806 _2_pWhere = nil 138807 _2_pList = nil 138808 _2_pSelect = nil 138809 _2_pWhen = nil 138810 if _sqlite3FkLocateIndex(tls, _pParse, _pTab, _pFKey, &_2_pIdx, &_2_aiCol) == 0 { 138811 goto _4 138812 } 138813 138814 r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 138815 return 138816 138817 _4: 138818 func() int32 { 138819 if (_2_aiCol != nil) || ((_pFKey.X5) == i32(1)) { 138820 return i32(0) 138821 } 138822 return func() int32 { 138823 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108344), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkActionTriggerØ00__func__Ø000))), unsafe.Pointer(str(124356))) 138824 crt.X__builtin_abort(tls) 138825 return i32(0) 138826 }() 138827 }() 138828 _2_i = i32(0) 138829 _8: 138830 if _2_i >= (_pFKey.X5) { 138831 goto _11 138832 } 138833 138834 _3_tOld = XToken{} 138835 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tOld)) + uintptr(0 /* X0 */))) = str(45560) 138836 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tOld)) + uintptr(4 /* X1 */))) = uint32(i32(3)) 138837 _3_tNew = XToken{} 138838 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tNew)) + uintptr(0 /* X0 */))) = str(45556) 138839 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_3_tNew)) + uintptr(4 /* X1 */))) = uint32(i32(3)) 138840 _3_iFromCol = func() int32 { 138841 if _2_aiCol != nil { 138842 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_aiCol)) + 4*uintptr(_2_i)))) 138843 } 138844 return ((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 138845 X0 int32 138846 X1 *int8 138847 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(i32(0)))).X0) 138848 }() 138849 func() int32 { 138850 if _3_iFromCol >= i32(0) { 138851 return i32(0) 138852 } 138853 return func() int32 { 138854 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108355), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkActionTriggerØ00__func__Ø000))), unsafe.Pointer(str(124744))) 138855 crt.X__builtin_abort(tls) 138856 return i32(0) 138857 }() 138858 }() 138859 func() int32 { 138860 if (_2_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || ((int32(_pTab.X10) >= i32(0)) && (int32(_pTab.X10) < int32(_pTab.X11))) { 138861 return i32(0) 138862 } 138863 return func() int32 { 138864 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108356), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkActionTriggerØ00__func__Ø000))), unsafe.Pointer(str(124756))) 138865 crt.X__builtin_abort(tls) 138866 return i32(0) 138867 }() 138868 }() 138869 func() int32 { 138870 if (_2_pIdx == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pIdx.X1)) + 2*uintptr(_2_i)))) >= i32(0)) { 138871 return i32(0) 138872 } 138873 return func() int32 { 138874 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108357), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkActionTriggerØ00__func__Ø000))), unsafe.Pointer(str(124300))) 138875 crt.X__builtin_abort(tls) 138876 return i32(0) 138877 }() 138878 }() 138879 _sqlite3TokenInit(tls, &_3_tToCol, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(func() int16 { 138880 if _2_pIdx != nil { 138881 return (*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pIdx.X1)) + 2*uintptr(_2_i)))) 138882 } 138883 return (_pTab.X10) 138884 }()))).X0) 138885 _sqlite3TokenInit(tls, &_3_tFromCol, (*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pFKey.X0)).X1)+16*uintptr(_3_iFromCol))).X0) 138886 _3_pEq = _sqlite3PExpr(tls, _pParse, i32(37), _sqlite3PExpr(tls, _pParse, i32(122), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tOld, i32(0)), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tToCol, i32(0))), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tFromCol, i32(0))) 138887 _2_pWhere = _sqlite3ExprAnd(tls, _db, _2_pWhere, _3_pEq) 138888 if _pChanges == nil { 138889 goto _25 138890 } 138891 138892 _3_pEq = _sqlite3PExpr(tls, _pParse, i32(29), _sqlite3PExpr(tls, _pParse, i32(122), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tOld, i32(0)), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tToCol, i32(0))), _sqlite3PExpr(tls, _pParse, i32(122), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tNew, i32(0)), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tToCol, i32(0)))) 138893 _2_pWhen = _sqlite3ExprAnd(tls, _db, _2_pWhen, _3_pEq) 138894 _25: 138895 if _action == i32(6) || _action == i32(9) && _pChanges == nil { 138896 goto _28 138897 } 138898 138899 if _action != i32(9) { 138900 goto _29 138901 } 138902 138903 _5_pNew = _sqlite3PExpr(tls, _pParse, i32(122), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tNew, i32(0)), _sqlite3ExprAlloc(tls, _db, i32(55), &_3_tToCol, i32(0))) 138904 goto _30 138905 138906 _29: 138907 if _action != i32(8) { 138908 goto _31 138909 } 138910 138911 _7_pDflt = (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr((*XTable)(unsafe.Pointer(_pFKey.X0)).X1) + 16*uintptr(_3_iFromCol))).X1)) 138912 if _7_pDflt == nil { 138913 goto _32 138914 } 138915 138916 _5_pNew = _sqlite3ExprDup(tls, _db, _7_pDflt, i32(0)) 138917 goto _33 138918 138919 _32: 138920 _5_pNew = _sqlite3ExprAlloc(tls, _db, i32(101), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 138921 _33: 138922 goto _34 138923 138924 _31: 138925 _5_pNew = _sqlite3ExprAlloc(tls, _db, i32(101), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 138926 _34: 138927 _30: 138928 _2_pList = _sqlite3ExprListAppend(tls, _pParse, _2_pList, _5_pNew) 138929 _sqlite3ExprListSetName(tls, _pParse, _2_pList, &_3_tFromCol, i32(0)) 138930 _28: 138931 _2_i += 1 138932 goto _8 138933 138934 _11: 138935 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_aiCol)) 138936 _2_zFrom = (*XTable)(unsafe.Pointer(_pFKey.X0)).X0 138937 _2_nFrom = _sqlite3Strlen30(tls, _2_zFrom) 138938 if _action != i32(6) { 138939 goto _35 138940 } 138941 138942 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_11_tFrom)) + uintptr(0 /* X0 */))) = _2_zFrom 138943 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_11_tFrom)) + uintptr(4 /* X1 */))) = uint32(_2_nFrom) 138944 _11_pRaise = _sqlite3Expr(tls, _db, i32(83), str(61536)) 138945 if _11_pRaise == nil { 138946 goto _36 138947 } 138948 138949 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_pRaise)) + uintptr(1 /* X1 */))) = int8(i32(2)) 138950 _36: 138951 _2_pSelect = _sqlite3SelectNew(tls, _pParse, _sqlite3ExprListAppend(tls, _pParse, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), _11_pRaise), _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), &_11_tFrom, (*XToken)(unsafe.Pointer(uintptr(i32(0))))), _2_pWhere, (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 138952 _2_pWhere = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 138953 _35: 138954 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) += 1 138955 _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64((u32(72)+uint32(_2_nFrom))+uint32(i32(1)))))) 138956 if _pTrigger == nil { 138957 goto _37 138958 } 138959 138960 _2_pStep = store8522485((**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger))+uintptr(28 /* X8 */))))), (*XTriggerStep)(unsafe.Pointer((*XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger))+36*uintptr(i32(1))))))) 138961 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(12 /* X4 */))) = (*int8)(unsafe.Pointer((*XTriggerStep)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + 36*uintptr(i32(1)))))) 138962 crt.Xmemcpy(tls, (unsafe.Pointer)(_2_pStep.X4), (unsafe.Pointer)(_2_zFrom), uint32(_2_nFrom)) 138963 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(16 /* X5 */))))) = _sqlite3ExprDup(tls, _db, _2_pWhere, i32(1)) 138964 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(20 /* X6 */))))) = _sqlite3ExprListDup(tls, _db, _2_pList, i32(1)) 138965 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(8 /* X3 */))))) = _sqlite3SelectDup(tls, _db, _2_pSelect, i32(1)) 138966 if _2_pWhen == nil { 138967 goto _38 138968 } 138969 138970 _2_pWhen = _sqlite3PExpr(tls, _pParse, i32(19), _2_pWhen, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 138971 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(12 /* X4 */))))) = _sqlite3ExprDup(tls, _db, _2_pWhen, i32(1)) 138972 _38: 138973 _37: 138974 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) -= 1 138975 _sqlite3ExprDelete(tls, _db, _2_pWhere) 138976 _sqlite3ExprDelete(tls, _db, _2_pWhen) 138977 _sqlite3ExprListDelete(tls, _db, _2_pList) 138978 _sqlite3SelectDelete(tls, _db, _2_pSelect) 138979 if int32(_db.X17) != i32(1) { 138980 goto _39 138981 } 138982 138983 _fkTriggerDelete(tls, _db, _pTrigger) 138984 r0 = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 138985 return 138986 138987 _39: 138988 func() int32 { 138989 if _2_pStep != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { 138990 return i32(0) 138991 } 138992 return func() int32 { 138993 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108468), unsafe.Pointer((*int8)(unsafe.Pointer(&_fkActionTriggerØ00__func__Ø000))), unsafe.Pointer(str(124812))) 138994 crt.X__builtin_abort(tls) 138995 return i32(0) 138996 }() 138997 }() 138998 switch _action { 138999 case i32(6): 139000 goto _43 139001 case i32(9): 139002 goto _44 139003 default: 139004 goto _45 139005 } 139006 139007 _43: 139008 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(0 /* X0 */))) = uint8(i32(119)) 139009 goto _46 139010 139011 _44: 139012 if _pChanges != nil { 139013 goto _47 139014 } 139015 139016 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(0 /* X0 */))) = uint8(i32(109)) 139017 goto _46 139018 139019 _47: 139020 _45: 139021 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(0 /* X0 */))) = uint8(i32(110)) 139022 _46: 139023 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_pStep)) + uintptr(4 /* X2 */))))) = _pTrigger 139024 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(20 /* X6 */))))) = (*XSchema)(unsafe.Pointer(_pTab.X20)) 139025 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(24 /* X7 */))))) = (*XSchema)(unsafe.Pointer(_pTab.X20)) 139026 *(**XTrigger)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFKey))+uintptr(28 /* X8 */))))) + 4*uintptr(_iAction))) = _pTrigger 139027 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(8 /* X2 */))) = uint8(func() int32 { 139028 if _pChanges != nil { 139029 return i32(110) 139030 } 139031 return i32(109) 139032 }()) 139033 _3: 139034 r0 = _pTrigger 139035 return 139036 139037 } 139038 139039 var _fkActionTriggerØ00__func__Ø000 [16]int8 // - 139040 139041 func init() { 139042 crt.Xstrncpy(nil, &_fkActionTriggerØ00__func__Ø000[0], str(124824), 16) 139043 } 139044 139045 func _sqlite3AutoincrementEnd(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:108927:1 139046 if (*XAutoincInfo)(unsafe.Pointer(_pParse.X38)) == nil { 139047 goto _0 139048 } 139049 139050 _autoIncrementEnd(tls, _pParse) 139051 _0: 139052 return 139053 139054 } 139055 139056 func _autoIncrementEnd(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:108892:1 139057 var _p *XAutoincInfo // sqlite3.c:108893:15 139058 _ = _p 139059 var _v *XVdbe // sqlite3.c:108894:8 139060 _ = _v 139061 var _db *Xsqlite3 // sqlite3.c:108895:11 139062 _ = _db 139063 var _1_aOp *XVdbeOp // sqlite3.c:108907:12 139064 _ = _1_aOp 139065 var _1_pDb *XDb // sqlite3.c:108908:8 139066 _ = _1_pDb 139067 var _1_iRec int32 // sqlite3.c:108909:9 139068 _ = _1_iRec 139069 var _1_memId int32 // sqlite3.c:108910:9 139070 _ = _1_memId 139071 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 139072 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 139073 func() int32 { 139074 if _v != nil { 139075 return i32(0) 139076 } 139077 return func() int32 { 139078 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108897), unsafe.Pointer((*int8)(unsafe.Pointer(&_autoIncrementEndØ00__func__Ø000))), unsafe.Pointer(str(44132))) 139079 crt.X__builtin_abort(tls) 139080 return i32(0) 139081 }() 139082 }() 139083 _p = (*XAutoincInfo)(unsafe.Pointer(_pParse.X38)) 139084 _2: 139085 if _p == nil { 139086 goto _5 139087 } 139088 139089 _1_pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_p.X2))) 139090 _1_memId = _p.X3 139091 _1_iRec = _sqlite3GetTempReg(tls, _pParse) 139092 func() int32 { 139093 if _sqlite3SchemaMutexHeld(tls, _db, i32(0), (*XSchema)(unsafe.Pointer(_1_pDb.X4))) != 0 { 139094 return i32(0) 139095 } 139096 return func() int32 { 139097 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108913), unsafe.Pointer((*int8)(unsafe.Pointer(&_autoIncrementEndØ00__func__Ø000))), unsafe.Pointer(str(44136))) 139098 crt.X__builtin_abort(tls) 139099 return i32(0) 139100 }() 139101 }() 139102 _sqlite3OpenTable(tls, _pParse, i32(0), _p.X2, (*XTable)(unsafe.Pointer((*XSchema)(unsafe.Pointer(_1_pDb.X4)).X6)), i32(106)) 139103 _1_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(5), (*T8124566)(unsafe.Pointer(&_autoIncrementEndØ00autoIncEndØ002)), _autoIncrementEndØ00iLnØ001) 139104 if _1_aOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 139105 goto _8 139106 } 139107 139108 goto _5 139109 139110 _8: 139111 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _1_memId + i32(1) 139112 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(1)))))) + uintptr(8 /* X4 */))) = _1_memId + i32(1) 139113 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(2)))))) + uintptr(4 /* X3 */))) = _1_memId - i32(1) 139114 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(2)))))) + uintptr(12 /* X5 */))) = _1_iRec 139115 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(3)))))) + uintptr(8 /* X4 */))) = _1_iRec 139116 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(3)))))) + uintptr(12 /* X5 */))) = _1_memId + i32(1) 139117 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_aOp))+24*uintptr(i32(3)))))) + uintptr(2 /* X2 */))) = uint16(i32(8)) 139118 _sqlite3ReleaseTempReg(tls, _pParse, _1_iRec) 139119 _p = (*XAutoincInfo)(unsafe.Pointer(_p.X0)) 139120 goto _2 139121 139122 _5: 139123 return 139124 139125 } 139126 139127 var _autoIncrementEndØ00__func__Ø000 [17]int8 // - 139128 139129 func init() { 139130 crt.Xstrncpy(nil, &_autoIncrementEndØ00__func__Ø000[0], str(124840), 17) 139131 } 139132 139133 var _autoIncrementEndØ00autoIncEndØ002 [5]struct { 139134 X0 uint8 139135 X1 int8 139136 X2 int8 139137 X3 int8 139138 } // sqlite3.c:108900:29 139139 139140 func init() { 139141 _autoIncrementEndØ00autoIncEndØ002 = [5]struct { 139142 X0 uint8 139143 X1 int8 139144 X2 int8 139145 X3 int8 139146 }{T8124566{X0: u8(35), X1: i8(0), X2: i8(2), X3: i8(0)}, T8124566{X0: u8(115), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(100), X1: i8(0), X2: i8(2), X3: i8(0)}, T8124566{X0: u8(116), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(112), X1: i8(0), X2: i8(0), X3: i8(0)}} 139147 } 139148 139149 var _autoIncrementEndØ00iLnØ001 int32 // sqlite3.c:108899:22 139150 139151 func _sqlite3AuthContextPop(tls *crt.TLS, _pContext *XAuthContext) { // sqlite3.c:99441:1 139152 if (*XParse)(unsafe.Pointer(_pContext.X1)) == nil { 139153 goto _0 139154 } 139155 139156 *(**int8)(unsafe.Pointer(uintptr(_pContext.X1) + uintptr(452 /* X65 */))) = _pContext.X0 139157 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pContext)) + uintptr(4 /* X1 */))))) = (*XParse)(unsafe.Pointer(uintptr(i32(0)))) 139158 _0: 139159 return 139160 139161 } 139162 139163 func _targetSrcList(tls *crt.TLS, _pParse *XParse, _pStep *XTriggerStep) (r0 *XSrcList) { // sqlite3.c:122833:1 139164 var _db *Xsqlite3 // sqlite3.c:122837:11 139165 _ = _db 139166 var _iDb int32 // sqlite3.c:122838:7 139167 _ = _iDb 139168 var _pSrc *XSrcList // sqlite3.c:122839:11 139169 _ = _pSrc 139170 var _2_zDb *int8 // sqlite3.c:122847:18 139171 _ = _2_zDb 139172 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 139173 _pSrc = _sqlite3SrcListAppend(tls, _db, (*XSrcList)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0)))), (*XToken)(unsafe.Pointer(uintptr(i32(0))))) 139174 if _pSrc == nil { 139175 goto _0 139176 } 139177 139178 func() int32 { 139179 if (_pSrc.X0) > i32(0) { 139180 return i32(0) 139181 } 139182 return func() int32 { 139183 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122843), unsafe.Pointer((*int8)(unsafe.Pointer(&_targetSrcListØ00__func__Ø000))), unsafe.Pointer(str(124860))) 139184 crt.X__builtin_abort(tls) 139185 return i32(0) 139186 }() 139187 }() 139188 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 139189 X0 unsafe.Pointer 139190 X1 *int8 139191 X2 *int8 139192 X3 *int8 139193 X4 unsafe.Pointer 139194 X5 unsafe.Pointer 139195 X6 int32 139196 X7 int32 139197 X8 int32 139198 X9 struct { 139199 X0 uint8 139200 X1 int8 139201 } 139202 X10 uint8 139203 X11 int32 139204 X12 unsafe.Pointer 139205 X13 unsafe.Pointer 139206 X14 uint64 139207 X15 struct { 139208 X [0]struct { 139209 X0 *int8 139210 X1 unsafe.Pointer 139211 } 139212 U [4]byte 139213 } 139214 X16 unsafe.Pointer 139215 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr((_pSrc.X0)-i32(1)))))) + uintptr(8 /* X2 */))) = _sqlite3DbStrDup(tls, _db, _pStep.X4) 139216 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer((*XTrigger)(unsafe.Pointer(_pStep.X2)).X6))) 139217 if _iDb != i32(0) && _iDb < i32(2) { 139218 goto _4 139219 } 139220 139221 func() int32 { 139222 if _iDb < (_db.X5) { 139223 return i32(0) 139224 } 139225 return func() int32 { 139226 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122848), unsafe.Pointer((*int8)(unsafe.Pointer(&_targetSrcListØ00__func__Ø000))), unsafe.Pointer(str(57320))) 139227 crt.X__builtin_abort(tls) 139228 return i32(0) 139229 }() 139230 }() 139231 _2_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 139232 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 139233 X0 unsafe.Pointer 139234 X1 *int8 139235 X2 *int8 139236 X3 *int8 139237 X4 unsafe.Pointer 139238 X5 unsafe.Pointer 139239 X6 int32 139240 X7 int32 139241 X8 int32 139242 X9 struct { 139243 X0 uint8 139244 X1 int8 139245 } 139246 X10 uint8 139247 X11 int32 139248 X12 unsafe.Pointer 139249 X13 unsafe.Pointer 139250 X14 uint64 139251 X15 struct { 139252 X [0]struct { 139253 X0 *int8 139254 X1 unsafe.Pointer 139255 } 139256 U [4]byte 139257 } 139258 X16 unsafe.Pointer 139259 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr((_pSrc.X0)-i32(1)))))) + uintptr(4 /* X1 */))) = _sqlite3DbStrDup(tls, _db, _2_zDb) 139260 _4: 139261 _0: 139262 r0 = _pSrc 139263 return 139264 139265 } 139266 139267 var _targetSrcListØ00__func__Ø000 [14]int8 // - 139268 139269 func init() { 139270 crt.Xstrncpy(nil, &_targetSrcListØ00__func__Ø000[0], str(124876), 14) 139271 } 139272 139273 func _sqlite3Insert(tls *crt.TLS, _pParse *XParse, _pTabList *XSrcList, _pSelect *XSelect, _pColumn *XIdList, _onError int32) { // sqlite3.c:109046:1 139274 var _db *Xsqlite3 // sqlite3.c:109053:11 139275 _ = _db 139276 var _pTab *XTable // sqlite3.c:109054:9 139277 _ = _pTab 139278 var _zTab *int8 // sqlite3.c:109055:8 139279 _ = _zTab 139280 var _i int32 // sqlite3.c:109056:7 139281 _ = _i 139282 var _j int32 // sqlite3.c:109056:10 139283 _ = _j 139284 var _v *XVdbe // sqlite3.c:109057:8 139285 _ = _v 139286 var _pIdx *XIndex // sqlite3.c:109058:9 139287 _ = _pIdx 139288 var _nColumn int32 // sqlite3.c:109059:7 139289 _ = _nColumn 139290 var _nHidden int32 // sqlite3.c:109060:7 139291 _ = _nHidden 139292 var _iDataCur int32 // sqlite3.c:109061:7 139293 _ = _iDataCur 139294 var _iIdxCur int32 // sqlite3.c:109062:7 139295 _ = _iIdxCur 139296 var _ipkColumn int32 // sqlite3.c:109063:7 139297 _ = _ipkColumn 139298 var _endOfLoop int32 // sqlite3.c:109064:7 139299 _ = _endOfLoop 139300 var _srcTab int32 // sqlite3.c:109065:7 139301 _ = _srcTab 139302 var _addrInsTop int32 // sqlite3.c:109066:7 139303 _ = _addrInsTop 139304 var _addrCont int32 // sqlite3.c:109067:7 139305 _ = _addrCont 139306 var _dest XSelectDest // sqlite3.c:109068:14 139307 _ = _dest 139308 var _iDb int32 // sqlite3.c:109069:7 139309 _ = _iDb 139310 var _useTempTable uint8 // sqlite3.c:109070:6 139311 _ = _useTempTable 139312 var _appendFlag uint8 // sqlite3.c:109071:6 139313 _ = _appendFlag 139314 var _withoutRowid uint8 // sqlite3.c:109072:6 139315 _ = _withoutRowid 139316 var _bIdListInOrder uint8 // sqlite3.c:109073:6 139317 _ = _bIdListInOrder 139318 var _pList *XExprList // sqlite3.c:109074:12 139319 _ = _pList 139320 var _regFromSelect int32 // sqlite3.c:109077:7 139321 _ = _regFromSelect 139322 var _regAutoinc int32 // sqlite3.c:109078:7 139323 _ = _regAutoinc 139324 var _regRowCount int32 // sqlite3.c:109079:7 139325 _ = _regRowCount 139326 var _regIns int32 // sqlite3.c:109080:7 139327 _ = _regIns 139328 var _regRowid int32 // sqlite3.c:109081:7 139329 _ = _regRowid 139330 var _regData int32 // sqlite3.c:109082:7 139331 _ = _regData 139332 var _aRegIdx *int32 // sqlite3.c:109083:7 139333 _ = _aRegIdx 139334 var _isView int32 // sqlite3.c:109086:7 139335 _ = _isView 139336 var _pTrigger *XTrigger // sqlite3.c:109087:11 139337 _ = _pTrigger 139338 var _tmask int32 // sqlite3.c:109088:7 139339 _ = _tmask 139340 var _18_regYield int32 // sqlite3.c:109244:9 139341 _ = _18_regYield 139342 var _18_addrTop int32 // sqlite3.c:109245:9 139343 _ = _18_addrTop 139344 var _18_rc int32 // sqlite3.c:109246:9 139345 _ = _18_rc 139346 var _20_regRec int32 // sqlite3.c:109286:11 139347 _ = _20_regRec 139348 var _20_regTempRowid int32 // sqlite3.c:109287:11 139349 _ = _20_regTempRowid 139350 var _20_addrL int32 // sqlite3.c:109288:11 139351 _ = _20_addrL 139352 var _21_sNC XNameContext // sqlite3.c:109307:17 139353 _ = _21_sNC 139354 var _30_nIdx int32 // sqlite3.c:109356:9 139355 _ = _30_nIdx 139356 var _35_regCols int32 // sqlite3.c:109400:9 139357 _ = _35_regCols 139358 var _37_addr1 int32 // sqlite3.c:109411:11 139359 _ = _37_addr1 139360 var _52_pOp *XVdbeOp // sqlite3.c:109480:16 139361 _ = _52_pOp 139362 var _54_addr1 int32 // sqlite3.c:109495:13 139363 _ = _54_addr1 139364 var _59_iRegStore int32 // sqlite3.c:109519:11 139365 _ = _59_iRegStore 139366 var _71_pVTab *int8 // sqlite3.c:109559:18 139367 _ = _71_pVTab 139368 var _72_isReplace int32 // sqlite3.c:109567:11 139369 _ = _72_isReplace 139370 var _72_bUseSeek int32 // sqlite3.c:109568:11 139371 _ = _72_bUseSeek 139372 _nHidden = i32(0) 139373 _iDataCur = i32(0) 139374 _iIdxCur = i32(0) 139375 _ipkColumn = i32(-1) 139376 _srcTab = i32(0) 139377 _addrInsTop = i32(0) 139378 _addrCont = i32(0) 139379 _useTempTable = u8(0) 139380 _appendFlag = u8(0) 139381 _pList = nil 139382 _regFromSelect = i32(0) 139383 _regAutoinc = i32(0) 139384 _regRowCount = i32(0) 139385 _aRegIdx = nil 139386 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 139387 crt.Xmemset(tls, (unsafe.Pointer)(&_dest), i32(0), u32(24)) 139388 if (_pParse.X16) == 0 && (_db.X17) == 0 { 139389 goto _1 139390 } 139391 139392 goto _insert_cleanup 139393 139394 _1: 139395 if _pSelect == nil || ((_pSelect.X3)&uint32(i32(512))) == uint32(i32(0)) || (*XSelect)(unsafe.Pointer(_pSelect.X13)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 139396 goto _4 139397 } 139398 139399 _pList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) 139400 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSelect)) + uintptr(0 /* X0 */))))) = (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) 139401 _sqlite3SelectDelete(tls, _db, _pSelect) 139402 _pSelect = (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) 139403 _4: 139404 func() int32 { 139405 if (_pTabList.X0) == i32(1) { 139406 return i32(0) 139407 } 139408 return func() int32 { 139409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109110), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(121464))) 139410 crt.X__builtin_abort(tls) 139411 return i32(0) 139412 }() 139413 }() 139414 _zTab = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 139415 X0 unsafe.Pointer 139416 X1 *int8 139417 X2 *int8 139418 X3 *int8 139419 X4 unsafe.Pointer 139420 X5 unsafe.Pointer 139421 X6 int32 139422 X7 int32 139423 X8 int32 139424 X9 struct { 139425 X0 uint8 139426 X1 int8 139427 } 139428 X10 uint8 139429 X11 int32 139430 X12 unsafe.Pointer 139431 X13 unsafe.Pointer 139432 X14 uint64 139433 X15 struct { 139434 X [0]struct { 139435 X0 *int8 139436 X1 unsafe.Pointer 139437 } 139438 U [4]byte 139439 } 139440 X16 unsafe.Pointer 139441 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTabList))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X2 139442 if func() int32 { 139443 if _zTab == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 139444 return func() int32 { 139445 func() int32 { 139446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109112), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(5204))) 139447 crt.X__builtin_abort(tls) 139448 return i32(0) 139449 }() 139450 return i32(1) 139451 }() 139452 } 139453 return i32(0) 139454 }() == 0 { 139455 goto _9 139456 } 139457 139458 goto _insert_cleanup 139459 139460 _9: 139461 _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTabList) 139462 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 139463 goto _10 139464 } 139465 139466 goto _insert_cleanup 139467 139468 _10: 139469 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 139470 func() int32 { 139471 if _iDb < (_db.X5) { 139472 return i32(0) 139473 } 139474 return func() int32 { 139475 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109118), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(57320))) 139476 crt.X__builtin_abort(tls) 139477 return i32(0) 139478 }() 139479 }() 139480 if _sqlite3AuthCheck(tls, _pParse, i32(18), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) == 0 { 139481 goto _13 139482 } 139483 139484 goto _insert_cleanup 139485 139486 _13: 139487 _withoutRowid = uint8(bool2int(((_pTab.X9) & uint32(i32(32))) != uint32(i32(0)))) 139488 _pTrigger = _sqlite3TriggersExist(tls, _pParse, _pTab, i32(108), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), &_tmask) 139489 _isView = bool2int((*XSelect)(unsafe.Pointer(_pTab.X3)) != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) 139490 func() int32 { 139491 if ((_pTrigger != nil) && _tmask != 0) || ((_pTrigger == (*XTrigger)(unsafe.Pointer(uintptr(i32(0))))) && (_tmask == i32(0))) { 139492 return i32(0) 139493 } 139494 return func() int32 { 139495 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109140), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(124892))) 139496 crt.X__builtin_abort(tls) 139497 return i32(0) 139498 }() 139499 }() 139500 if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { 139501 goto _19 139502 } 139503 139504 goto _insert_cleanup 139505 139506 _19: 139507 if _sqlite3IsReadOnly(tls, _pParse, _pTab, _tmask) == 0 { 139508 goto _20 139509 } 139510 139511 goto _insert_cleanup 139512 139513 _20: 139514 _v = _sqlite3GetVdbe(tls, _pParse) 139515 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 139516 goto _21 139517 } 139518 139519 goto _insert_cleanup 139520 139521 _21: 139522 if int32(_pParse.X6) != i32(0) { 139523 goto _22 139524 } 139525 139526 _sqlite3VdbeCountChanges(tls, _v) 139527 _22: 139528 _sqlite3BeginWriteOperation(tls, _pParse, bool2int((_pSelect != nil) || (_pTrigger != nil)), _iDb) 139529 if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _xferOptimization(tls, _pParse, _pTab, _pSelect, _onError, _iDb) == 0 { 139530 goto _25 139531 } 139532 139533 func() int32 { 139534 if _pTrigger == nil { 139535 return i32(0) 139536 } 139537 return func() int32 { 139538 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109173), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(124944))) 139539 crt.X__builtin_abort(tls) 139540 return i32(0) 139541 }() 139542 }() 139543 func() int32 { 139544 if _pList == (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 139545 return i32(0) 139546 } 139547 return func() int32 { 139548 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109174), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(124956))) 139549 crt.X__builtin_abort(tls) 139550 return i32(0) 139551 }() 139552 }() 139553 goto _insert_end 139554 139555 _25: 139556 _regAutoinc = _autoIncBegin(tls, _pParse, _iDb, _pTab) 139557 _regRowid = store961(&_regIns, (_pParse.X18)+i32(1)) 139558 { 139559 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 139560 *p = (*p) + (int32(_pTab.X11) + i32(1)) 139561 sink961 = *p 139562 } 139563 if (_pTab.X16) == 0 { 139564 goto _30 139565 } 139566 139567 _regRowid += 1 139568 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) += 1 139569 _30: 139570 _regData = _regRowid + i32(1) 139571 _bIdListInOrder = uint8(bool2int(((_pTab.X9) & uint32(i32(128))) == uint32(i32(0)))) 139572 if _pColumn == nil { 139573 goto _31 139574 } 139575 139576 _i = i32(0) 139577 _32: 139578 if _i >= (_pColumn.X1) { 139579 goto _35 139580 } 139581 139582 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0)+8*uintptr(_i))))) + uintptr(4 /* X1 */))) = i32(-1) 139583 _i += 1 139584 goto _32 139585 139586 _35: 139587 _i = i32(0) 139588 _36: 139589 if _i >= (_pColumn.X1) { 139590 goto _39 139591 } 139592 139593 _j = i32(0) 139594 _40: 139595 if _j >= int32(_pTab.X11) { 139596 goto _43 139597 } 139598 139599 if _sqlite3StrICmp(tls, (*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0)+8*uintptr(_i))).X0, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_j))).X0) != i32(0) { 139600 goto _44 139601 } 139602 139603 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0)+8*uintptr(_i))))) + uintptr(4 /* X1 */))) = _j 139604 if _i == _j { 139605 goto _45 139606 } 139607 139608 _bIdListInOrder = uint8(i32(0)) 139609 _45: 139610 if _j != int32(_pTab.X10) { 139611 goto _46 139612 } 139613 139614 _ipkColumn = _i 139615 func() int32 { 139616 if _withoutRowid == 0 { 139617 return i32(0) 139618 } 139619 return func() int32 { 139620 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109217), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(124968))) 139621 crt.X__builtin_abort(tls) 139622 return i32(0) 139623 }() 139624 }() 139625 _46: 139626 goto _43 139627 139628 _44: 139629 _j += 1 139630 goto _40 139631 139632 _43: 139633 if _j < int32(_pTab.X11) { 139634 goto _49 139635 } 139636 139637 if _sqlite3IsRowid(tls, (*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0)+8*uintptr(_i))).X0) == 0 || _withoutRowid != 0 { 139638 goto _51 139639 } 139640 139641 _ipkColumn = _i 139642 _bIdListInOrder = uint8(i32(0)) 139643 goto _52 139644 139645 _51: 139646 _sqlite3ErrorMsg(tls, _pParse, str(124984), unsafe.Pointer(_pTabList), i32(0), unsafe.Pointer((*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0)+8*uintptr(_i))).X0)) 139647 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 139648 goto _insert_cleanup 139649 139650 _52: 139651 _49: 139652 _i += 1 139653 goto _36 139654 139655 _39: 139656 _31: 139657 if _pSelect == nil { 139658 goto _53 139659 } 139660 139661 _18_regYield = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 139662 _18_addrTop = _sqlite3VdbeCurrentAddr(tls, _v) + i32(1) 139663 _sqlite3VdbeAddOp3(tls, _v, i32(15), _18_regYield, i32(0), _18_addrTop) 139664 _sqlite3SelectDestInit(tls, &_dest, i32(13), _18_regYield) 139665 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_dest)) + uintptr(12 /* X3 */))) = func() int32 { 139666 if _bIdListInOrder != 0 { 139667 return _regData 139668 } 139669 return i32(0) 139670 }() 139671 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_dest)) + uintptr(16 /* X4 */))) = int32(_pTab.X11) 139672 _18_rc = _sqlite3Select(tls, _pParse, _pSelect, &_dest) 139673 _regFromSelect = _dest.X3 139674 if _18_rc == 0 && (_db.X17) == 0 && (_pParse.X16) == 0 { 139675 goto _58 139676 } 139677 139678 goto _insert_cleanup 139679 139680 _58: 139681 _sqlite3VdbeEndCoroutine(tls, _v, _18_regYield) 139682 _sqlite3VdbeJumpHere(tls, _v, _18_addrTop-i32(1)) 139683 func() int32 { 139684 if (*XExprList)(unsafe.Pointer(_pSelect.X0)) != nil { 139685 return i32(0) 139686 } 139687 return func() int32 { 139688 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109259), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(125016))) 139689 crt.X__builtin_abort(tls) 139690 return i32(0) 139691 }() 139692 }() 139693 _nColumn = (*XExprList)(unsafe.Pointer(_pSelect.X0)).X0 139694 if _pTrigger == nil && _readsTable(tls, _pParse, _iDb, _pTab) == 0 { 139695 goto _62 139696 } 139697 139698 _useTempTable = uint8(i32(1)) 139699 _62: 139700 if _useTempTable == 0 { 139701 goto _63 139702 } 139703 139704 _srcTab = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 139705 _20_regRec = _sqlite3GetTempReg(tls, _pParse) 139706 _20_regTempRowid = _sqlite3GetTempReg(tls, _pParse) 139707 _sqlite3VdbeAddOp2(tls, _v, i32(108), _srcTab, _nColumn) 139708 _20_addrL = _sqlite3VdbeAddOp1(tls, _v, i32(16), _dest.X2) 139709 _sqlite3VdbeAddOp3(tls, _v, i32(100), _regFromSelect, _nColumn, _20_regRec) 139710 _sqlite3VdbeAddOp2(tls, _v, i32(115), _srcTab, _20_regTempRowid) 139711 _sqlite3VdbeAddOp3(tls, _v, i32(116), _srcTab, _20_regRec, _20_regTempRowid) 139712 _sqlite3VdbeGoto(tls, _v, _20_addrL) 139713 _sqlite3VdbeJumpHere(tls, _v, _20_addrL) 139714 _sqlite3ReleaseTempReg(tls, _pParse, _20_regRec) 139715 _sqlite3ReleaseTempReg(tls, _pParse, _20_regTempRowid) 139716 _63: 139717 goto _64 139718 139719 _53: 139720 crt.Xmemset(tls, (unsafe.Pointer)(&_21_sNC), i32(0), u32(32)) 139721 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_21_sNC)) + uintptr(0 /* X0 */))))) = _pParse 139722 _srcTab = i32(-1) 139723 func() int32 { 139724 if int32(_useTempTable) == i32(0) { 139725 return i32(0) 139726 } 139727 return func() int32 { 139728 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109311), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(125032))) 139729 crt.X__builtin_abort(tls) 139730 return i32(0) 139731 }() 139732 }() 139733 if _pList == nil { 139734 goto _67 139735 } 139736 139737 _nColumn = _pList.X0 139738 if _sqlite3ResolveExprListNames(tls, &_21_sNC, _pList) == 0 { 139739 goto _68 139740 } 139741 139742 goto _insert_cleanup 139743 139744 _68: 139745 goto _69 139746 139747 _67: 139748 _nColumn = i32(0) 139749 _69: 139750 _64: 139751 if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _nColumn <= i32(0) { 139752 goto _71 139753 } 139754 139755 _ipkColumn = int32(_pTab.X10) 139756 _71: 139757 _i = i32(0) 139758 _72: 139759 if _i >= int32(_pTab.X11) { 139760 goto _75 139761 } 139762 139763 { 139764 p := &_nHidden 139765 *p = (*p) + func() int32 { 139766 if (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X6) & i32(2)) != i32(0) { 139767 return i32(1) 139768 } 139769 return i32(0) 139770 }() 139771 sink961 = *p 139772 } 139773 _i += 1 139774 goto _72 139775 139776 _75: 139777 if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _nColumn == 0 || _nColumn == (int32(_pTab.X11)-_nHidden) { 139778 goto _80 139779 } 139780 139781 _sqlite3ErrorMsg(tls, _pParse, str(125048), unsafe.Pointer(_pTabList), i32(0), int32(_pTab.X11)-_nHidden, _nColumn) 139782 goto _insert_cleanup 139783 139784 _80: 139785 if _pColumn == (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || _nColumn == (_pColumn.X1) { 139786 goto _82 139787 } 139788 139789 _sqlite3ErrorMsg(tls, _pParse, str(125100), _nColumn, _pColumn.X1) 139790 goto _insert_cleanup 139791 139792 _82: 139793 if ((_db.X6) & i32(128)) == 0 { 139794 goto _83 139795 } 139796 139797 _regRowCount = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 139798 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regRowCount) 139799 _83: 139800 if _isView != 0 { 139801 goto _84 139802 } 139803 139804 _30_nIdx = _sqlite3OpenTableAndIndices(tls, _pParse, _pTab, i32(106), uint8(i32(0)), i32(-1), (*uint8)(unsafe.Pointer(uintptr(i32(0)))), &_iDataCur, &_iIdxCur) 139805 _aRegIdx = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(4)*uint32(_30_nIdx+i32(1)))))) 139806 if _aRegIdx != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 139807 goto _85 139808 } 139809 139810 goto _insert_cleanup 139811 139812 _85: 139813 *func() **XIndex { _i = i32(0); return &_pIdx }() = (*XIndex)(unsafe.Pointer(_pTab.X2)) 139814 _86: 139815 if _i >= _30_nIdx { 139816 goto _89 139817 } 139818 139819 func() int32 { 139820 if _pIdx != nil { 139821 return i32(0) 139822 } 139823 return func() int32 { 139824 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109364), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(125128))) 139825 crt.X__builtin_abort(tls) 139826 return i32(0) 139827 }() 139828 }() 139829 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aRegIdx)) + 4*uintptr(_i))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 139830 { 139831 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 139832 *p = (*p) + int32(_pIdx.X14) 139833 sink961 = *p 139834 } 139835 *func() *int32 { _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)); return &_i }() += 1 139836 goto _86 139837 139838 _89: 139839 _84: 139840 if _useTempTable == 0 { 139841 goto _92 139842 } 139843 139844 _addrInsTop = _sqlite3VdbeAddOp1(tls, _v, i32(58), _srcTab) 139845 _addrCont = _sqlite3VdbeCurrentAddr(tls, _v) 139846 goto _93 139847 139848 _92: 139849 if _pSelect == nil { 139850 goto _94 139851 } 139852 139853 _addrInsTop = store961(&_addrCont, _sqlite3VdbeAddOp1(tls, _v, i32(16), _dest.X2)) 139854 _94: 139855 _93: 139856 _endOfLoop = _sqlite3VdbeMakeLabel(tls, _v) 139857 if (_tmask & i32(1)) == 0 { 139858 goto _95 139859 } 139860 139861 _35_regCols = _sqlite3GetTempRange(tls, _pParse, int32(_pTab.X11)+i32(1)) 139862 if _ipkColumn >= i32(0) { 139863 goto _96 139864 } 139865 139866 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(-1), _35_regCols) 139867 goto _97 139868 139869 _96: 139870 func() int32 { 139871 if _withoutRowid == 0 { 139872 return i32(0) 139873 } 139874 return func() int32 { 139875 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109412), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(124968))) 139876 crt.X__builtin_abort(tls) 139877 return i32(0) 139878 }() 139879 }() 139880 if _useTempTable == 0 { 139881 goto _100 139882 } 139883 139884 _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _ipkColumn, _35_regCols) 139885 goto _101 139886 139887 _100: 139888 func() int32 { 139889 if _pSelect == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 139890 return i32(0) 139891 } 139892 return func() int32 { 139893 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109416), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(125136))) 139894 crt.X__builtin_abort(tls) 139895 return i32(0) 139896 }() 139897 }() 139898 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_ipkColumn))).X0)), _35_regCols) 139899 _101: 139900 _37_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(35), _35_regCols) 139901 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(-1), _35_regCols) 139902 _sqlite3VdbeJumpHere(tls, _v, _37_addr1) 139903 _sqlite3VdbeAddOp1(tls, _v, i32(17), _35_regCols) 139904 _97: 139905 func() int32 { 139906 if (_pTab.X16) == 0 { 139907 return i32(0) 139908 } 139909 return func() int32 { 139910 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109428), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(44208))) 139911 crt.X__builtin_abort(tls) 139912 return i32(0) 139913 }() 139914 }() 139915 _i = store961(&_j, i32(0)) 139916 _106: 139917 if _i >= int32(_pTab.X11) { 139918 goto _109 139919 } 139920 139921 if _pColumn == nil { 139922 goto _110 139923 } 139924 139925 _j = i32(0) 139926 _111: 139927 if _j >= (_pColumn.X1) { 139928 goto _114 139929 } 139930 139931 if ((*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0) + 8*uintptr(_j))).X1) != _i { 139932 goto _115 139933 } 139934 139935 goto _114 139936 139937 _115: 139938 _j += 1 139939 goto _111 139940 139941 _114: 139942 _110: 139943 if (_useTempTable != 0 || _pList != nil) && (_pColumn == nil || _j < (_pColumn.X1)) && (_pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || i32(0) == 0) { 139944 goto _121 139945 } 139946 139947 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X1)), (_35_regCols+_i)+i32(1)) 139948 goto _122 139949 139950 _121: 139951 if _useTempTable == 0 { 139952 goto _123 139953 } 139954 139955 _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _j, (_35_regCols+_i)+i32(1)) 139956 goto _124 139957 139958 _123: 139959 func() int32 { 139960 if _pSelect == (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 139961 return i32(0) 139962 } 139963 return func() int32 { 139964 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109444), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(125136))) 139965 crt.X__builtin_abort(tls) 139966 return i32(0) 139967 }() 139968 }() 139969 _sqlite3ExprCodeAndCache(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_j))).X0)), (_35_regCols+_i)+i32(1)) 139970 _124: 139971 _122: 139972 if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) || i32(1) == 0 { 139973 goto _128 139974 } 139975 139976 _j += 1 139977 _128: 139978 _i += 1 139979 goto _106 139980 139981 _109: 139982 if _isView != 0 { 139983 goto _129 139984 } 139985 139986 _sqlite3TableAffinity(tls, _v, _pTab, _35_regCols+i32(1)) 139987 _129: 139988 _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(108), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(1), _pTab, (_35_regCols-int32(_pTab.X11))-i32(1), _onError, _endOfLoop) 139989 _sqlite3ReleaseTempRange(tls, _pParse, _35_regCols, int32(_pTab.X11)+i32(1)) 139990 _95: 139991 if _isView != 0 { 139992 goto _130 139993 } 139994 139995 if (_pTab.X16) == 0 { 139996 goto _131 139997 } 139998 139999 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regIns) 140000 _131: 140001 if _ipkColumn < i32(0) { 140002 goto _132 140003 } 140004 140005 if _useTempTable == 0 { 140006 goto _133 140007 } 140008 140009 _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _ipkColumn, _regRowid) 140010 goto _134 140011 140012 _133: 140013 if _pSelect == nil { 140014 goto _135 140015 } 140016 140017 _sqlite3VdbeAddOp2(tls, _v, i32(85), _regFromSelect+_ipkColumn, _regRowid) 140018 goto _136 140019 140020 _135: 140021 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_ipkColumn))).X0)), _regRowid) 140022 _52_pOp = _sqlite3VdbeGetOp(tls, _v, i32(-1)) 140023 if func() int32 { 140024 if _52_pOp != nil { 140025 return i32(1) 140026 } 140027 return func() int32 { 140028 func() int32 { 140029 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(109483), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3InsertØ00__func__Ø000))), unsafe.Pointer(str(5204))) 140030 crt.X__builtin_abort(tls) 140031 return i32(0) 140032 }() 140033 return i32(0) 140034 }() 140035 }() == 0 || int32(_52_pOp.X0) != i32(80) || (_pTab.X16) != 0 { 140036 goto _141 140037 } 140038 140039 _appendFlag = uint8(i32(1)) 140040 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(0 /* X0 */))) = uint8(i32(115)) 140041 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(4 /* X3 */))) = _iDataCur 140042 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(8 /* X4 */))) = _regRowid 140043 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_52_pOp)) + uintptr(12 /* X5 */))) = _regAutoinc 140044 _141: 140045 _136: 140046 _134: 140047 if _appendFlag != 0 { 140048 goto _142 140049 } 140050 140051 if (_pTab.X16) != 0 { 140052 goto _143 140053 } 140054 140055 _54_addr1 = _sqlite3VdbeAddOp1(tls, _v, i32(35), _regRowid) 140056 _sqlite3VdbeAddOp3(tls, _v, i32(115), _iDataCur, _regRowid, _regAutoinc) 140057 _sqlite3VdbeJumpHere(tls, _v, _54_addr1) 140058 goto _144 140059 140060 _143: 140061 _54_addr1 = _sqlite3VdbeCurrentAddr(tls, _v) 140062 _sqlite3VdbeAddOp2(tls, _v, i32(34), _regRowid, _54_addr1+i32(2)) 140063 _144: 140064 _sqlite3VdbeAddOp1(tls, _v, i32(17), _regRowid) 140065 _142: 140066 goto _145 140067 140068 _132: 140069 if (_pTab.X16) == 0 && _withoutRowid == 0 { 140070 goto _147 140071 } 140072 140073 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regRowid) 140074 goto _148 140075 140076 _147: 140077 _sqlite3VdbeAddOp3(tls, _v, i32(115), _iDataCur, _regRowid, _regAutoinc) 140078 _appendFlag = uint8(i32(1)) 140079 _148: 140080 _145: 140081 _autoIncStep(tls, _pParse, _regAutoinc, _regRowid) 140082 _nHidden = i32(0) 140083 _i = i32(0) 140084 _149: 140085 if _i >= int32(_pTab.X11) { 140086 goto _152 140087 } 140088 140089 _59_iRegStore = (_regRowid + i32(1)) + _i 140090 if _i != int32(_pTab.X10) { 140091 goto _153 140092 } 140093 140094 _sqlite3VdbeAddOp1(tls, _v, i32(81), _59_iRegStore) 140095 goto _150 140096 140097 _153: 140098 if _pColumn != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 140099 goto _154 140100 } 140101 140102 if (int32((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X6) & i32(2)) == i32(0) { 140103 goto _155 140104 } 140105 140106 _j = i32(-1) 140107 _nHidden += 1 140108 goto _156 140109 140110 _155: 140111 _j = _i - _nHidden 140112 _156: 140113 goto _157 140114 140115 _154: 140116 _j = i32(0) 140117 _158: 140118 if _j >= (_pColumn.X1) { 140119 goto _161 140120 } 140121 140122 if ((*T8304487)(unsafe.Pointer(uintptr(_pColumn.X0) + 8*uintptr(_j))).X1) != _i { 140123 goto _162 140124 } 140125 140126 goto _161 140127 140128 _162: 140129 _j += 1 140130 goto _158 140131 140132 _161: 140133 _157: 140134 if _j >= i32(0) && _nColumn != i32(0) && (_pColumn == nil || _j < (_pColumn.X1)) { 140135 goto _166 140136 } 140137 140138 _sqlite3ExprCodeFactorable(tls, _pParse, (*XExpr)(unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_i))).X1)), _59_iRegStore) 140139 goto _167 140140 140141 _166: 140142 if _useTempTable == 0 { 140143 goto _168 140144 } 140145 140146 _sqlite3VdbeAddOp3(tls, _v, i32(98), _srcTab, _j, _59_iRegStore) 140147 goto _169 140148 140149 _168: 140150 if _pSelect == nil { 140151 goto _170 140152 } 140153 140154 if _regFromSelect == _regData { 140155 goto _171 140156 } 140157 140158 _sqlite3VdbeAddOp2(tls, _v, i32(86), _regFromSelect+_j, _59_iRegStore) 140159 _171: 140160 goto _172 140161 140162 _170: 140163 _sqlite3ExprCode(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_j))).X0)), _59_iRegStore) 140164 _172: 140165 _169: 140166 _167: 140167 _150: 140168 _i += 1 140169 goto _149 140170 140171 _152: 140172 if (_pTab.X16) == 0 { 140173 goto _173 140174 } 140175 140176 _71_pVTab = (*int8)(unsafe.Pointer(_sqlite3GetVTable(tls, _db, _pTab))) 140177 _sqlite3VtabMakeWritable(tls, _pParse, _pTab) 140178 _sqlite3VdbeAddOp4(tls, _v, i32(12), i32(1), int32(_pTab.X11)+i32(2), _regIns, _71_pVTab, i32(-8)) 140179 _sqlite3VdbeChangeP5(tls, _v, uint16(func() int32 { 140180 if _onError == i32(10) { 140181 return i32(2) 140182 } 140183 return _onError 140184 }())) 140185 _sqlite3MayAbort(tls, _pParse) 140186 goto _176 140187 140188 _173: 140189 _sqlite3GenerateConstraintChecks(tls, _pParse, _pTab, _aRegIdx, _iDataCur, _iIdxCur, _regIns, i32(0), uint8(bool2int(_ipkColumn >= i32(0))), uint8(_onError), _endOfLoop, &_72_isReplace, (*int32)(unsafe.Pointer(uintptr(i32(0))))) 140190 _sqlite3FkCheck(tls, _pParse, _pTab, i32(0), _regIns, (*int32)(unsafe.Pointer(uintptr(i32(0)))), i32(0)) 140191 _72_bUseSeek = bool2int((_72_isReplace == i32(0)) || ((_pTrigger == (*XTrigger)(unsafe.Pointer(uintptr(i32(0))))) && ((((_db.X6) & i32(524288)) == i32(0)) || (_sqlite3FkReferences(tls, _pTab) == (*XFKey)(unsafe.Pointer(uintptr(i32(0)))))))) 140192 _sqlite3CompleteInsertion(tls, _pParse, _pTab, _iDataCur, _iIdxCur, _regIns, _aRegIdx, i32(0), int32(_appendFlag), _72_bUseSeek) 140193 _176: 140194 _130: 140195 if ((_db.X6) & i32(128)) == i32(0) { 140196 goto _180 140197 } 140198 140199 _sqlite3VdbeAddOp2(tls, _v, i32(92), _regRowCount, i32(1)) 140200 _180: 140201 if _pTrigger == nil { 140202 goto _181 140203 } 140204 140205 _sqlite3CodeRowTrigger(tls, _pParse, _pTrigger, i32(108), (*XExprList)(unsafe.Pointer(uintptr(i32(0)))), i32(2), _pTab, (_regData-i32(2))-int32(_pTab.X11), _onError, _endOfLoop) 140206 _181: 140207 _sqlite3VdbeResolveLabel(tls, _v, _endOfLoop) 140208 if _useTempTable == 0 { 140209 goto _182 140210 } 140211 140212 _sqlite3VdbeAddOp2(tls, _v, i32(7), _srcTab, _addrCont) 140213 _sqlite3VdbeJumpHere(tls, _v, _addrInsTop) 140214 _sqlite3VdbeAddOp1(tls, _v, i32(112), _srcTab) 140215 goto _183 140216 140217 _182: 140218 if _pSelect == nil { 140219 goto _184 140220 } 140221 140222 _sqlite3VdbeGoto(tls, _v, _addrCont) 140223 _sqlite3VdbeJumpHere(tls, _v, _addrInsTop) 140224 _184: 140225 _183: 140226 _insert_end: 140227 if int32(_pParse.X6) != i32(0) || (*XTable)(unsafe.Pointer(_pParse.X40)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 140228 goto _186 140229 } 140230 140231 _sqlite3AutoincrementEnd(tls, _pParse) 140232 _186: 140233 if ((_db.X6)&i32(128)) == 0 || (_pParse.X6) != 0 || (*XTable)(unsafe.Pointer(_pParse.X40)) != nil { 140234 goto _189 140235 } 140236 140237 _sqlite3VdbeAddOp2(tls, _v, i32(88), _regRowCount, i32(1)) 140238 _sqlite3VdbeSetNumCols(tls, _v, i32(1)) 140239 _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), str(125148), nil) 140240 _189: 140241 _insert_cleanup: 140242 _sqlite3SrcListDelete(tls, _db, _pTabList) 140243 _sqlite3ExprListDelete(tls, _db, _pList) 140244 _sqlite3SelectDelete(tls, _db, _pSelect) 140245 _sqlite3IdListDelete(tls, _db, _pColumn) 140246 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_aRegIdx)) 140247 return 140248 140249 } 140250 140251 var _sqlite3InsertØ00__func__Ø000 [14]int8 // - 140252 140253 func init() { 140254 crt.Xstrncpy(nil, &_sqlite3InsertØ00__func__Ø000[0], str(125164), 14) 140255 } 140256 140257 func _xferOptimization(tls *crt.TLS, _pParse *XParse, _pDest *XTable, _pSelect *XSelect, _onError int32, _iDbDest int32) (r0 int32) { // sqlite3.c:110514:1 140258 var _db *Xsqlite3 // sqlite3.c:110521:11 140259 _ = _db 140260 var _pEList *XExprList // sqlite3.c:110522:12 140261 _ = _pEList 140262 var _pSrc *XTable // sqlite3.c:110523:9 140263 _ = _pSrc 140264 var _pSrcIdx *XIndex // sqlite3.c:110524:9 140265 _ = _pSrcIdx 140266 var _pDestIdx *XIndex // sqlite3.c:110524:19 140267 _ = _pDestIdx 140268 var _pItem *T7840217 // sqlite3.c:110525:23 140269 _ = _pItem 140270 var _i int32 // sqlite3.c:110526:7 140271 _ = _i 140272 var _iDbSrc int32 // sqlite3.c:110527:7 140273 _ = _iDbSrc 140274 var _iSrc int32 // sqlite3.c:110528:7 140275 _ = _iSrc 140276 var _iDest int32 // sqlite3.c:110528:13 140277 _ = _iDest 140278 var _addr1 int32 // sqlite3.c:110529:7 140279 _ = _addr1 140280 var _addr2 int32 // sqlite3.c:110529:14 140281 _ = _addr2 140282 var _emptyDestTest int32 // sqlite3.c:110530:7 140283 _ = _emptyDestTest 140284 var _emptySrcTest int32 // sqlite3.c:110531:7 140285 _ = _emptySrcTest 140286 var _v *XVdbe // sqlite3.c:110532:8 140287 _ = _v 140288 var _regAutoinc int32 // sqlite3.c:110533:7 140289 _ = _regAutoinc 140290 var _destHasUniqueIdx int32 // sqlite3.c:110534:7 140291 _ = _destHasUniqueIdx 140292 var _regData int32 // sqlite3.c:110535:7 140293 _ = _regData 140294 var _regRowid int32 // sqlite3.c:110535:16 140295 _ = _regRowid 140296 var _23_pDestCol *XColumn // sqlite3.c:110626:12 140297 _ = _23_pDestCol 140298 var _23_pSrcCol *XColumn // sqlite3.c:110627:12 140299 _ = _23_pSrcCol 140300 var _37_insFlags uint8 // sqlite3.c:110732:8 140301 _ = _37_insFlags 140302 var _44_idxInsFlags uint8 // sqlite3.c:110767:8 140303 _ = _44_idxInsFlags 140304 var _47_zColl *int8 // sqlite3.c:110797:20 140305 _ = _47_zColl 140306 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 140307 _emptyDestTest = i32(0) 140308 _emptySrcTest = i32(0) 140309 _destHasUniqueIdx = i32(0) 140310 if _pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0)))) { 140311 goto _0 140312 } 140313 140314 r0 = i32(0) 140315 return 140316 140317 _0: 140318 if (*XWith)(unsafe.Pointer(_pParse.X70)) == nil && (*XWith)(unsafe.Pointer(_pSelect.X17)) == nil { 140319 goto _2 140320 } 140321 140322 r0 = i32(0) 140323 return 140324 140325 _2: 140326 if _sqlite3TriggerList(tls, _pParse, _pDest) == nil { 140327 goto _3 140328 } 140329 140330 r0 = i32(0) 140331 return 140332 140333 _3: 140334 if (_pDest.X16) == 0 { 140335 goto _4 140336 } 140337 140338 r0 = i32(0) 140339 return 140340 140341 _4: 140342 if _onError != i32(10) { 140343 goto _5 140344 } 140345 140346 if int32(_pDest.X10) < i32(0) { 140347 goto _6 140348 } 140349 140350 _onError = int32(_pDest.X14) 140351 _6: 140352 if _onError != i32(10) { 140353 goto _7 140354 } 140355 140356 _onError = i32(2) 140357 _7: 140358 _5: 140359 func() int32 { 140360 if (*XSrcList)(unsafe.Pointer(_pSelect.X8)) != nil { 140361 return i32(0) 140362 } 140363 return func() int32 { 140364 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110558), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125180))) 140365 crt.X__builtin_abort(tls) 140366 return i32(0) 140367 }() 140368 }() 140369 if ((*XSrcList)(unsafe.Pointer(_pSelect.X8)).X0) == i32(1) { 140370 goto _10 140371 } 140372 140373 r0 = i32(0) 140374 return 140375 140376 _10: 140377 if (*XSelect)(unsafe.Pointer((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 140378 X0 unsafe.Pointer 140379 X1 *int8 140380 X2 *int8 140381 X3 *int8 140382 X4 unsafe.Pointer 140383 X5 unsafe.Pointer 140384 X6 int32 140385 X7 int32 140386 X8 int32 140387 X9 struct { 140388 X0 uint8 140389 X1 int8 140390 } 140391 X10 uint8 140392 X11 int32 140393 X12 unsafe.Pointer 140394 X13 unsafe.Pointer 140395 X14 uint64 140396 X15 struct { 140397 X [0]struct { 140398 X0 *int8 140399 X1 unsafe.Pointer 140400 } 140401 U [4]byte 140402 } 140403 X16 unsafe.Pointer 140404 })(unsafe.Pointer(uintptr(_pSelect.X8)+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X5)) == nil { 140405 goto _11 140406 } 140407 140408 r0 = i32(0) 140409 return 140410 140411 _11: 140412 if (*XExpr)(unsafe.Pointer(_pSelect.X9)) == nil { 140413 goto _12 140414 } 140415 140416 r0 = i32(0) 140417 return 140418 140419 _12: 140420 if (*XExprList)(unsafe.Pointer(_pSelect.X12)) == nil { 140421 goto _13 140422 } 140423 140424 r0 = i32(0) 140425 return 140426 140427 _13: 140428 if (*XExprList)(unsafe.Pointer(_pSelect.X10)) == nil { 140429 goto _14 140430 } 140431 140432 r0 = i32(0) 140433 return 140434 140435 _14: 140436 if (*XExpr)(unsafe.Pointer(_pSelect.X15)) == nil { 140437 goto _15 140438 } 140439 140440 r0 = i32(0) 140441 return 140442 140443 _15: 140444 func() int32 { 140445 if (*XExpr)(unsafe.Pointer(_pSelect.X16)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 140446 return i32(0) 140447 } 140448 return func() int32 { 140449 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110579), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125196))) 140450 crt.X__builtin_abort(tls) 140451 return i32(0) 140452 }() 140453 }() 140454 if (*XSelect)(unsafe.Pointer(_pSelect.X13)) == nil { 140455 goto _18 140456 } 140457 140458 r0 = i32(0) 140459 return 140460 140461 _18: 140462 if ((_pSelect.X3) & uint32(i32(1))) == 0 { 140463 goto _19 140464 } 140465 140466 r0 = i32(0) 140467 return 140468 140469 _19: 140470 _pEList = (*XExprList)(unsafe.Pointer(_pSelect.X0)) 140471 func() int32 { 140472 if _pEList != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) { 140473 return i32(0) 140474 } 140475 return func() int32 { 140476 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110587), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(47532))) 140477 crt.X__builtin_abort(tls) 140478 return i32(0) 140479 }() 140480 }() 140481 if (_pEList.X0) == i32(1) { 140482 goto _22 140483 } 140484 140485 r0 = i32(0) 140486 return 140487 140488 _22: 140489 func() int32 { 140490 if (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(i32(0)))).X0)) != nil { 140491 return i32(0) 140492 } 140493 return func() int32 { 140494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110591), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125216))) 140495 crt.X__builtin_abort(tls) 140496 return i32(0) 140497 }() 140498 }() 140499 if int32((*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pEList.X1)+20*uintptr(i32(0)))).X0)).X0) == i32(160) { 140500 goto _25 140501 } 140502 140503 r0 = i32(0) 140504 return 140505 140506 _25: 140507 _pItem = (*T7840217)(unsafe.Pointer((*[1]struct { 140508 X0 unsafe.Pointer 140509 X1 *int8 140510 X2 *int8 140511 X3 *int8 140512 X4 unsafe.Pointer 140513 X5 unsafe.Pointer 140514 X6 int32 140515 X7 int32 140516 X8 int32 140517 X9 struct { 140518 X0 uint8 140519 X1 int8 140520 } 140521 X10 uint8 140522 X11 int32 140523 X12 unsafe.Pointer 140524 X13 unsafe.Pointer 140525 X14 uint64 140526 X15 struct { 140527 X [0]struct { 140528 X0 *int8 140529 X1 unsafe.Pointer 140530 } 140531 U [4]byte 140532 } 140533 X16 unsafe.Pointer 140534 })(unsafe.Pointer(uintptr(_pSelect.X8) + uintptr(8 /* X2 */))))) 140535 _pSrc = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), _pItem) 140536 if _pSrc != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 140537 goto _26 140538 } 140539 140540 r0 = i32(0) 140541 return 140542 140543 _26: 140544 if _pSrc != _pDest { 140545 goto _27 140546 } 140547 140548 r0 = i32(0) 140549 return 140550 140551 _27: 140552 if (((_pDest.X9) & uint32(i32(32))) == uint32(i32(0))) == (((_pSrc.X9) & uint32(i32(32))) == uint32(i32(0))) { 140553 goto _28 140554 } 140555 140556 r0 = i32(0) 140557 return 140558 140559 _28: 140560 if (_pSrc.X16) == 0 { 140561 goto _29 140562 } 140563 140564 r0 = i32(0) 140565 return 140566 140567 _29: 140568 if (*XSelect)(unsafe.Pointer(_pSrc.X3)) == nil { 140569 goto _30 140570 } 140571 140572 r0 = i32(0) 140573 return 140574 140575 _30: 140576 if int32(_pDest.X11) == int32(_pSrc.X11) { 140577 goto _31 140578 } 140579 140580 r0 = i32(0) 140581 return 140582 140583 _31: 140584 if int32(_pDest.X10) == int32(_pSrc.X10) { 140585 goto _32 140586 } 140587 140588 r0 = i32(0) 140589 return 140590 140591 _32: 140592 _i = i32(0) 140593 _33: 140594 if _i >= int32(_pDest.X11) { 140595 goto _36 140596 } 140597 140598 _23_pDestCol = (*XColumn)(unsafe.Pointer(uintptr(_pDest.X1) + 16*uintptr(_i))) 140599 _23_pSrcCol = (*XColumn)(unsafe.Pointer(uintptr(_pSrc.X1) + 16*uintptr(_i))) 140600 if int32(_23_pDestCol.X4) == int32(_23_pSrcCol.X4) { 140601 goto _37 140602 } 140603 140604 r0 = i32(0) 140605 return 140606 140607 _37: 140608 if Xsqlite3_stricmp(tls, _23_pDestCol.X2, _23_pSrcCol.X2) == i32(0) { 140609 goto _38 140610 } 140611 140612 r0 = i32(0) 140613 return 140614 140615 _38: 140616 if (_23_pDestCol.X3) == 0 || (_23_pSrcCol.X3) != 0 { 140617 goto _40 140618 } 140619 140620 r0 = i32(0) 140621 return 140622 140623 _40: 140624 if _i <= i32(0) { 140625 goto _41 140626 } 140627 140628 func() int32 { 140629 if ((*XExpr)(unsafe.Pointer(_23_pDestCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*XExpr)(unsafe.Pointer(_23_pDestCol.X1)).X0) == i32(161)) { 140630 return i32(0) 140631 } 140632 return func() int32 { 140633 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110646), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125236))) 140634 crt.X__builtin_abort(tls) 140635 return i32(0) 140636 }() 140637 }() 140638 func() int32 { 140639 if ((*XExpr)(unsafe.Pointer(_23_pSrcCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*XExpr)(unsafe.Pointer(_23_pSrcCol.X1)).X0) == i32(161)) { 140640 return i32(0) 140641 } 140642 return func() int32 { 140643 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110647), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125288))) 140644 crt.X__builtin_abort(tls) 140645 return i32(0) 140646 }() 140647 }() 140648 if ((*XExpr)(unsafe.Pointer(_23_pDestCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) == ((*XExpr)(unsafe.Pointer(_23_pSrcCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExpr)(unsafe.Pointer(_23_pDestCol.X1)) == nil || crt.Xstrcmp(tls, *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_23_pDestCol.X1) + uintptr(8 /* X3 */))))), *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_23_pSrcCol.X1) + uintptr(8 /* X3 */)))))) == i32(0)) { 140649 goto _50 140650 } 140651 140652 r0 = i32(0) 140653 return 140654 140655 _50: 140656 _41: 140657 _i += 1 140658 goto _33 140659 140660 _36: 140661 _pDestIdx = (*XIndex)(unsafe.Pointer(_pDest.X2)) 140662 _51: 140663 if _pDestIdx == nil { 140664 goto _54 140665 } 140666 140667 if int32(_pDestIdx.X15) == i32(0) { 140668 goto _55 140669 } 140670 140671 _destHasUniqueIdx = i32(1) 140672 _55: 140673 _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrc.X2)) 140674 _56: 140675 if _pSrcIdx == nil { 140676 goto _59 140677 } 140678 140679 if _xferCompatibleIndex(tls, _pDestIdx, _pSrcIdx) == 0 { 140680 goto _60 140681 } 140682 140683 goto _59 140684 140685 _60: 140686 _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrcIdx.X5)) 140687 goto _56 140688 140689 _59: 140690 if _pSrcIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 140691 goto _61 140692 } 140693 140694 r0 = i32(0) 140695 return 140696 140697 _61: 140698 _pDestIdx = (*XIndex)(unsafe.Pointer(_pDestIdx.X5)) 140699 goto _51 140700 140701 _54: 140702 if (*XExprList)(unsafe.Pointer(_pDest.X6)) == nil || _sqlite3ExprListCompare(tls, (*XExprList)(unsafe.Pointer(_pSrc.X6)), (*XExprList)(unsafe.Pointer(_pDest.X6)), i32(-1)) == 0 { 140703 goto _63 140704 } 140705 140706 r0 = i32(0) 140707 return 140708 140709 _63: 140710 if ((_db.X6)&i32(524288)) == i32(0) || (*XFKey)(unsafe.Pointer(_pDest.X4)) == (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { 140711 goto _65 140712 } 140713 140714 r0 = i32(0) 140715 return 140716 140717 _65: 140718 if ((_db.X6) & i32(128)) == i32(0) { 140719 goto _66 140720 } 140721 140722 r0 = i32(0) 140723 return 140724 140725 _66: 140726 _iDbSrc = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pSrc.X20))) 140727 _v = _sqlite3GetVdbe(tls, _pParse) 140728 _sqlite3CodeVerifySchema(tls, _pParse, _iDbSrc) 140729 _iSrc = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 140730 _iDest = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 140731 _regAutoinc = _autoIncBegin(tls, _pParse, _iDbDest, _pDest) 140732 _regData = _sqlite3GetTempReg(tls, _pParse) 140733 _regRowid = _sqlite3GetTempReg(tls, _pParse) 140734 _sqlite3OpenTable(tls, _pParse, _iDest, _iDbDest, _pDest, i32(106)) 140735 func() int32 { 140736 if (((_pDest.X9) & uint32(i32(32))) == uint32(i32(0))) || _destHasUniqueIdx != 0 { 140737 return i32(0) 140738 } 140739 return func() int32 { 140740 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110704), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125340))) 140741 crt.X__builtin_abort(tls) 140742 return i32(0) 140743 }() 140744 }() 140745 if ((_db.X6)&i32(268435456)) != i32(0) || (int32(_pDest.X10) >= i32(0) || (*XIndex)(unsafe.Pointer(_pDest.X2)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) && _destHasUniqueIdx == 0 && (_onError == i32(2) || _onError == i32(1)) { 140746 goto _75 140747 } 140748 140749 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iDest, i32(0)) 140750 _emptyDestTest = _sqlite3VdbeAddOp0(tls, _v, i32(13)) 140751 _sqlite3VdbeJumpHere(tls, _v, _addr1) 140752 _75: 140753 if ((_pSrc.X9) & uint32(i32(32))) != uint32(i32(0)) { 140754 goto _76 140755 } 140756 140757 _sqlite3OpenTable(tls, _pParse, _iSrc, _iDbSrc, _pSrc, i32(105)) 140758 _emptySrcTest = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iSrc, i32(0)) 140759 if int32(_pDest.X10) < i32(0) { 140760 goto _77 140761 } 140762 140763 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(123), _iSrc, _regRowid) 140764 _addr2 = _sqlite3VdbeAddOp3(tls, _v, i32(33), _iDest, i32(0), _regRowid) 140765 _sqlite3RowidConstraint(tls, _pParse, _onError, _pDest) 140766 _sqlite3VdbeJumpHere(tls, _v, _addr2) 140767 _autoIncStep(tls, _pParse, _regAutoinc, _regRowid) 140768 goto _78 140769 140770 _77: 140771 if (*XIndex)(unsafe.Pointer(_pDest.X2)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 140772 goto _79 140773 } 140774 140775 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(115), _iDest, _regRowid) 140776 goto _80 140777 140778 _79: 140779 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(123), _iSrc, _regRowid) 140780 func() int32 { 140781 if ((_pDest.X9) & uint32(i32(8))) == uint32(i32(0)) { 140782 return i32(0) 140783 } 140784 return func() int32 { 140785 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110746), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125376))) 140786 crt.X__builtin_abort(tls) 140787 return i32(0) 140788 }() 140789 }() 140790 _80: 140791 _78: 140792 _sqlite3VdbeAddOp3(tls, _v, i32(122), _iSrc, _regData, i32(1)) 140793 if ((_db.X6) & i32(268435456)) == 0 { 140794 goto _83 140795 } 140796 140797 _sqlite3VdbeAddOp3(tls, _v, i32(53), _iDest, i32(0), i32(-1)) 140798 _37_insFlags = uint8(i32(57)) 140799 goto _84 140800 140801 _83: 140802 _37_insFlags = uint8(i32(41)) 140803 _84: 140804 _sqlite3VdbeAddOp4(tls, _v, i32(116), _iDest, _regData, _regRowid, (*int8)(unsafe.Pointer(_pDest)), i32(-15)) 140805 _sqlite3VdbeChangeP5(tls, _v, uint16(_37_insFlags)) 140806 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iSrc, _addr1) 140807 _sqlite3VdbeAddOp2(tls, _v, i32(112), _iSrc, i32(0)) 140808 _sqlite3VdbeAddOp2(tls, _v, i32(112), _iDest, i32(0)) 140809 goto _85 140810 140811 _76: 140812 _sqlite3TableLock(tls, _pParse, _iDbDest, _pDest.X7, uint8(i32(1)), _pDest.X0) 140813 _sqlite3TableLock(tls, _pParse, _iDbSrc, _pSrc.X7, uint8(i32(0)), _pSrc.X0) 140814 _85: 140815 _pDestIdx = (*XIndex)(unsafe.Pointer(_pDest.X2)) 140816 _86: 140817 if _pDestIdx == nil { 140818 goto _89 140819 } 140820 140821 _44_idxInsFlags = uint8(i32(0)) 140822 _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrc.X2)) 140823 _90: 140824 if func() int32 { 140825 if _pSrcIdx != nil { 140826 return i32(1) 140827 } 140828 return func() int32 { 140829 func() int32 { 140830 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110768), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(5204))) 140831 crt.X__builtin_abort(tls) 140832 return i32(0) 140833 }() 140834 return i32(0) 140835 }() 140836 }() == 0 { 140837 goto _95 140838 } 140839 140840 if _xferCompatibleIndex(tls, _pDestIdx, _pSrcIdx) == 0 { 140841 goto _96 140842 } 140843 140844 goto _95 140845 140846 _96: 140847 _pSrcIdx = (*XIndex)(unsafe.Pointer(_pSrcIdx.X5)) 140848 goto _90 140849 140850 _95: 140851 func() int32 { 140852 if _pSrcIdx != nil { 140853 return i32(0) 140854 } 140855 return func() int32 { 140856 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110771), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferOptimizationØ00__func__Ø000))), unsafe.Pointer(str(125416))) 140857 crt.X__builtin_abort(tls) 140858 return i32(0) 140859 }() 140860 }() 140861 _sqlite3VdbeAddOp3(tls, _v, i32(105), _iSrc, _pSrcIdx.X11, _iDbSrc) 140862 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pSrcIdx) 140863 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pSrcIdx.X0)) 140864 _sqlite3VdbeAddOp3(tls, _v, i32(106), _iDest, _pDestIdx.X11, _iDbDest) 140865 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pDestIdx) 140866 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) 140867 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pDestIdx.X0)) 140868 _addr1 = _sqlite3VdbeAddOp2(tls, _v, i32(58), _iSrc, i32(0)) 140869 _sqlite3VdbeAddOp3(tls, _v, i32(122), _iSrc, _regData, i32(1)) 140870 if ((_db.X6) & i32(268435456)) == 0 { 140871 goto _99 140872 } 140873 140874 _i = i32(0) 140875 _100: 140876 if _i >= int32(_pSrcIdx.X14) { 140877 goto _103 140878 } 140879 140880 _47_zColl = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrcIdx.X8)) + 4*uintptr(_i))) 140881 if Xsqlite3_stricmp(tls, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), _47_zColl) == 0 { 140882 goto _104 140883 } 140884 140885 goto _103 140886 140887 _104: 140888 _i += 1 140889 goto _100 140890 140891 _103: 140892 if _i != int32(_pSrcIdx.X14) { 140893 goto _105 140894 } 140895 140896 _44_idxInsFlags = uint8(i32(16)) 140897 _sqlite3VdbeAddOp3(tls, _v, i32(53), _iDest, i32(0), i32(-1)) 140898 _105: 140899 _99: 140900 if ((_pSrc.X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_pDestIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) { 140901 goto _107 140902 } 140903 140904 { 140905 p := &_44_idxInsFlags 140906 *p = uint8(int32(*p) | i32(1)) 140907 sink6915 = *p 140908 } 140909 _107: 140910 _sqlite3VdbeAddOp2(tls, _v, i32(126), _iDest, _regData) 140911 _sqlite3VdbeChangeP5(tls, _v, uint16(int32(_44_idxInsFlags)|i32(8))) 140912 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iSrc, _addr1+i32(1)) 140913 _sqlite3VdbeJumpHere(tls, _v, _addr1) 140914 _sqlite3VdbeAddOp2(tls, _v, i32(112), _iSrc, i32(0)) 140915 _sqlite3VdbeAddOp2(tls, _v, i32(112), _iDest, i32(0)) 140916 _pDestIdx = (*XIndex)(unsafe.Pointer(_pDestIdx.X5)) 140917 goto _86 140918 140919 _89: 140920 if _emptySrcTest == 0 { 140921 goto _108 140922 } 140923 140924 _sqlite3VdbeJumpHere(tls, _v, _emptySrcTest) 140925 _108: 140926 _sqlite3ReleaseTempReg(tls, _pParse, _regRowid) 140927 _sqlite3ReleaseTempReg(tls, _pParse, _regData) 140928 if _emptyDestTest == 0 { 140929 goto _109 140930 } 140931 140932 _sqlite3AutoincrementEnd(tls, _pParse) 140933 _sqlite3VdbeAddOp2(tls, _v, i32(76), i32(0), i32(0)) 140934 _sqlite3VdbeJumpHere(tls, _v, _emptyDestTest) 140935 _sqlite3VdbeAddOp2(tls, _v, i32(112), _iDest, i32(0)) 140936 r0 = i32(0) 140937 return 140938 140939 _109: 140940 r0 = i32(1) 140941 return 140942 140943 } 140944 140945 var _xferOptimizationØ00__func__Ø000 [17]int8 // - 140946 140947 func init() { 140948 crt.Xstrncpy(nil, &_xferOptimizationØ00__func__Ø000[0], str(125424), 17) 140949 } 140950 140951 func _xferCompatibleIndex(tls *crt.TLS, _pDest *XIndex, _pSrc *XIndex) (r0 int32) { // sqlite3.c:110453:1 140952 var _i int32 // sqlite3.c:110454:7 140953 _ = _i 140954 func() int32 { 140955 if (_pDest != nil) && (_pSrc != nil) { 140956 return i32(0) 140957 } 140958 return func() int32 { 140959 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110455), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferCompatibleIndexØ00__func__Ø000))), unsafe.Pointer(str(125444))) 140960 crt.X__builtin_abort(tls) 140961 return i32(0) 140962 }() 140963 }() 140964 func() int32 { 140965 if (*XTable)(unsafe.Pointer(_pDest.X3)) != (*XTable)(unsafe.Pointer(_pSrc.X3)) { 140966 return i32(0) 140967 } 140968 return func() int32 { 140969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110456), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferCompatibleIndexØ00__func__Ø000))), unsafe.Pointer(str(125460))) 140970 crt.X__builtin_abort(tls) 140971 return i32(0) 140972 }() 140973 }() 140974 if int32(_pDest.X13) == int32(_pSrc.X13) { 140975 goto _5 140976 } 140977 140978 r0 = i32(0) 140979 return 140980 140981 _5: 140982 if int32(_pDest.X15) == int32(_pSrc.X15) { 140983 goto _6 140984 } 140985 140986 r0 = i32(0) 140987 return 140988 140989 _6: 140990 _i = i32(0) 140991 _7: 140992 if _i >= int32(_pSrc.X13) { 140993 goto _10 140994 } 140995 140996 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc.X1)) + 2*uintptr(_i)))) == int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest.X1)) + 2*uintptr(_i)))) { 140997 goto _11 140998 } 140999 141000 r0 = i32(0) 141001 return 141002 141003 _11: 141004 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc.X1)) + 2*uintptr(_i)))) != i32(-2) { 141005 goto _12 141006 } 141007 141008 func() int32 { 141009 if ((*XExprList)(unsafe.Pointer(_pSrc.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) && ((*XExprList)(unsafe.Pointer(_pDest.X10)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) { 141010 return i32(0) 141011 } 141012 return func() int32 { 141013 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(110468), unsafe.Pointer((*int8)(unsafe.Pointer(&_xferCompatibleIndexØ00__func__Ø000))), unsafe.Pointer(str(125488))) 141014 crt.X__builtin_abort(tls) 141015 return i32(0) 141016 }() 141017 }() 141018 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pSrc.X10)).X1)+20*uintptr(_i))).X0)), (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr((*XExprList)(unsafe.Pointer(_pDest.X10)).X1)+20*uintptr(_i))).X0)), i32(-1)) == i32(0) { 141019 goto _16 141020 } 141021 141022 r0 = i32(0) 141023 return 141024 141025 _16: 141026 _12: 141027 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc.X7)) + 1*uintptr(_i)))) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest.X7)) + 1*uintptr(_i)))) { 141028 goto _17 141029 } 141030 141031 r0 = i32(0) 141032 return 141033 141034 _17: 141035 if Xsqlite3_stricmp(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc.X8)) + 4*uintptr(_i))), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDest.X8)) + 4*uintptr(_i)))) == i32(0) { 141036 goto _18 141037 } 141038 141039 r0 = i32(0) 141040 return 141041 141042 _18: 141043 _i += 1 141044 goto _7 141045 141046 _10: 141047 if _sqlite3ExprCompare(tls, (*XExpr)(unsafe.Pointer(_pSrc.X9)), (*XExpr)(unsafe.Pointer(_pDest.X9)), i32(-1)) == 0 { 141048 goto _19 141049 } 141050 141051 r0 = i32(0) 141052 return 141053 141054 _19: 141055 r0 = i32(1) 141056 return 141057 141058 } 141059 141060 var _xferCompatibleIndexØ00__func__Ø000 [20]int8 // - 141061 141062 func init() { 141063 crt.Xstrncpy(nil, &_xferCompatibleIndexØ00__func__Ø000[0], str(125528), 20) 141064 } 141065 141066 func _autoIncBegin(tls *crt.TLS, _pParse *XParse, _iDb int32, _pTab *XTable) (r0 int32) { // sqlite3.c:108790:1 141067 var _memId int32 // sqlite3.c:108795:7 141068 _ = _memId 141069 var _1_pToplevel *XParse // sqlite3.c:108799:11 141070 _ = _1_pToplevel 141071 var _1_pInfo *XAutoincInfo // sqlite3.c:108800:17 141072 _ = _1_pInfo 141073 _memId = i32(0) 141074 if ((_pTab.X9)&uint32(i32(8))) == uint32(i32(0)) || (((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X6)&i32(268435456)) != i32(0) { 141075 goto _1 141076 } 141077 141078 _1_pToplevel = func() *XParse { 141079 if (*XParse)(unsafe.Pointer(_pParse.X39)) != nil { 141080 return (*XParse)(unsafe.Pointer(_pParse.X39)) 141081 } 141082 return _pParse 141083 }() 141084 _1_pInfo = (*XAutoincInfo)(unsafe.Pointer(_1_pToplevel.X38)) 141085 _4: 141086 if _1_pInfo == nil || (*XTable)(unsafe.Pointer(_1_pInfo.X1)) == _pTab { 141087 goto _5 141088 } 141089 141090 _1_pInfo = (*XAutoincInfo)(unsafe.Pointer(_1_pInfo.X0)) 141091 goto _4 141092 141093 _5: 141094 if _1_pInfo != (*XAutoincInfo)(unsafe.Pointer(uintptr(i32(0)))) { 141095 goto _7 141096 } 141097 141098 _1_pInfo = (*XAutoincInfo)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), uint64(u32(16))))) 141099 if _1_pInfo != (*XAutoincInfo)(unsafe.Pointer(uintptr(i32(0)))) { 141100 goto _8 141101 } 141102 141103 r0 = i32(0) 141104 return 141105 141106 _8: 141107 *(**XAutoincInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(0 /* X0 */))))) = (*XAutoincInfo)(unsafe.Pointer(_1_pToplevel.X38)) 141108 *(**XAutoincInfo)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel)) + uintptr(128 /* X38 */))))) = _1_pInfo 141109 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(4 /* X1 */))))) = _pTab 141110 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(8 /* X2 */))) = _iDb 141111 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel)) + uintptr(44 /* X18 */))) += 1 141112 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pInfo)) + uintptr(12 /* X3 */))) = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel))+uintptr(44 /* X18 */))), 1) 141113 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pToplevel)) + uintptr(44 /* X18 */))) += 1 141114 _7: 141115 _memId = _1_pInfo.X3 141116 _1: 141117 r0 = _memId 141118 return 141119 141120 } 141121 141122 func _autoIncStep(tls *crt.TLS, _pParse *XParse, _memId int32, _regRowid int32) { // sqlite3.c:108879:1 141123 if _memId <= i32(0) { 141124 goto _0 141125 } 141126 141127 _sqlite3VdbeAddOp2(tls, (*XVdbe)(unsafe.Pointer(_pParse.X2)), i32(146), _memId, _regRowid) 141128 _0: 141129 return 141130 141131 } 141132 141133 func _readsTable(tls *crt.TLS, _p *XParse, _iDb int32, _pTab *XTable) (r0 int32) { // sqlite3.c:108733:1 141134 var _v *XVdbe // sqlite3.c:108734:8 141135 _ = _v 141136 var _i int32 // sqlite3.c:108735:7 141137 _ = _i 141138 var _iEnd int32 // sqlite3.c:108736:7 141139 _ = _iEnd 141140 var _pVTab *XVTable // sqlite3.c:108738:10 141141 _ = _pVTab 141142 var _1_pOp *XVdbeOp // sqlite3.c:108742:12 141143 _ = _1_pOp 141144 var _2_pIndex *XIndex // sqlite3.c:108745:13 141145 _ = _2_pIndex 141146 var _2_tnum int32 // sqlite3.c:108746:11 141147 _ = _2_tnum 141148 _v = _sqlite3GetVdbe(tls, _p) 141149 _iEnd = _sqlite3VdbeCurrentAddr(tls, _v) 141150 _pVTab = func() *XVTable { 141151 if (_pTab.X16) != 0 { 141152 return _sqlite3GetVTable(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _pTab) 141153 } 141154 return (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) 141155 }() 141156 _i = i32(1) 141157 _2: 141158 if _i >= _iEnd { 141159 goto _5 141160 } 141161 141162 _1_pOp = _sqlite3VdbeGetOp(tls, _v, _i) 141163 func() int32 { 141164 if _1_pOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 141165 return i32(0) 141166 } 141167 return func() int32 { 141168 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108743), unsafe.Pointer((*int8)(unsafe.Pointer(&_readsTableØ00__func__Ø000))), unsafe.Pointer(str(115512))) 141169 crt.X__builtin_abort(tls) 141170 return i32(0) 141171 }() 141172 }() 141173 if int32(_1_pOp.X0) != i32(105) || (_1_pOp.X5) != _iDb { 141174 goto _9 141175 } 141176 141177 _2_tnum = _1_pOp.X4 141178 if _2_tnum != (_pTab.X7) { 141179 goto _10 141180 } 141181 141182 r0 = i32(1) 141183 return 141184 141185 _10: 141186 _2_pIndex = (*XIndex)(unsafe.Pointer(_pTab.X2)) 141187 _11: 141188 if _2_pIndex == nil { 141189 goto _14 141190 } 141191 141192 if _2_tnum != (_2_pIndex.X11) { 141193 goto _15 141194 } 141195 141196 r0 = i32(1) 141197 return 141198 141199 _15: 141200 _2_pIndex = (*XIndex)(unsafe.Pointer(_2_pIndex.X5)) 141201 goto _11 141202 141203 _14: 141204 _9: 141205 if int32(_1_pOp.X0) != i32(156) || (*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */))))))) != _pVTab { 141206 goto _17 141207 } 141208 141209 func() int32 { 141210 if (*XVTable)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOp)) + uintptr(16 /* X6 */))))))) != (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) { 141211 return i32(0) 141212 } 141213 return func() int32 { 141214 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108758), unsafe.Pointer((*int8)(unsafe.Pointer(&_readsTableØ00__func__Ø000))), unsafe.Pointer(str(125548))) 141215 crt.X__builtin_abort(tls) 141216 return i32(0) 141217 }() 141218 }() 141219 func() int32 { 141220 if int32(_1_pOp.X1) == i32(-8) { 141221 return i32(0) 141222 } 141223 return func() int32 { 141224 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(108759), unsafe.Pointer((*int8)(unsafe.Pointer(&_readsTableØ00__func__Ø000))), unsafe.Pointer(str(74388))) 141225 crt.X__builtin_abort(tls) 141226 return i32(0) 141227 }() 141228 }() 141229 r0 = i32(1) 141230 return 141231 141232 _17: 141233 _i += 1 141234 goto _2 141235 141236 _5: 141237 r0 = i32(0) 141238 return 141239 141240 } 141241 141242 var _readsTableØ00__func__Ø000 [11]int8 // - 141243 141244 func init() { 141245 crt.Xstrncpy(nil, &_readsTableØ00__func__Ø000[0], str(125568), 11) 141246 } 141247 141248 func _sqlite3ExprCodeAndCache(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _target int32) { // sqlite3.c:94877:1 141249 var _v *XVdbe // sqlite3.c:94878:8 141250 _ = _v 141251 var _iMem int32 // sqlite3.c:94879:7 141252 _ = _iMem 141253 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 141254 func() int32 { 141255 if _target > i32(0) { 141256 return i32(0) 141257 } 141258 return func() int32 { 141259 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94881), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeAndCacheØ00__func__Ø000))), unsafe.Pointer(str(105216))) 141260 crt.X__builtin_abort(tls) 141261 return i32(0) 141262 }() 141263 }() 141264 func() int32 { 141265 if int32(_pExpr.X0) != i32(157) { 141266 return i32(0) 141267 } 141268 return func() int32 { 141269 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(94882), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprCodeAndCacheØ00__func__Ø000))), unsafe.Pointer(str(125580))) 141270 crt.X__builtin_abort(tls) 141271 return i32(0) 141272 }() 141273 }() 141274 _sqlite3ExprCode(tls, _pParse, _pExpr, _target) 141275 _iMem = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 141276 _sqlite3VdbeAddOp2(tls, _v, i32(85), _target, _iMem) 141277 _exprToRegister(tls, _pExpr, _iMem) 141278 return 141279 141280 } 141281 141282 var _sqlite3ExprCodeAndCacheØ00__func__Ø000 [24]int8 // - 141283 141284 func init() { 141285 crt.Xstrncpy(nil, &_sqlite3ExprCodeAndCacheØ00__func__Ø000[0], str(125604), 24) 141286 } 141287 141288 func _transferParseError(tls *crt.TLS, _pTo *XParse, _pFrom *XParse) { // sqlite3.c:122955:1 141289 func() int32 { 141290 if ((_pFrom.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pFrom.X16) != 0 { 141291 return i32(0) 141292 } 141293 return func() int32 { 141294 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122956), unsafe.Pointer((*int8)(unsafe.Pointer(&_transferParseErrorØ00__func__Ø000))), unsafe.Pointer(str(125628))) 141295 crt.X__builtin_abort(tls) 141296 return i32(0) 141297 }() 141298 }() 141299 func() int32 { 141300 if ((_pTo.X1) == (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (_pTo.X16) != 0 { 141301 return i32(0) 141302 } 141303 return func() int32 { 141304 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122957), unsafe.Pointer((*int8)(unsafe.Pointer(&_transferParseErrorØ00__func__Ø000))), unsafe.Pointer(str(125664))) 141305 crt.X__builtin_abort(tls) 141306 return i32(0) 141307 }() 141308 }() 141309 if (_pTo.X16) != i32(0) { 141310 goto _6 141311 } 141312 141313 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(4 /* X1 */))) = _pFrom.X1 141314 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(36 /* X16 */))) = _pFrom.X16 141315 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo)) + uintptr(12 /* X3 */))) = _pFrom.X3 141316 goto _7 141317 141318 _6: 141319 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pFrom.X0)), (unsafe.Pointer)(_pFrom.X1)) 141320 _7: 141321 return 141322 141323 } 141324 141325 var _transferParseErrorØ00__func__Ø000 [19]int8 // - 141326 141327 func init() { 141328 crt.Xstrncpy(nil, &_transferParseErrorØ00__func__Ø000[0], str(125696), 19) 141329 } 141330 141331 func _sqlite3VdbeTakeOpArray(tls *crt.TLS, _p *XVdbe, _pnOp *int32, _pnMaxArg *int32) (r0 *XVdbeOp) { // sqlite3.c:72015:1 141332 var _aOp *XVdbeOp // sqlite3.c:72016:10 141333 _ = _aOp 141334 _aOp = (*XVdbeOp)(unsafe.Pointer(_p.X17)) 141335 func() int32 { 141336 if (_aOp != nil) && (((*Xsqlite3)(unsafe.Pointer(_p.X0)).X17) == 0) { 141337 return i32(0) 141338 } 141339 return func() int32 { 141340 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72017), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeTakeOpArrayØ00__func__Ø000))), unsafe.Pointer(str(125716))) 141341 crt.X__builtin_abort(tls) 141342 return i32(0) 141343 }() 141344 }() 141345 func() int32 { 141346 if (_p.X33) == uint32(i32(0)) { 141347 return i32(0) 141348 } 141349 return func() int32 { 141350 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(72020), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeTakeOpArrayØ00__func__Ø000))), unsafe.Pointer(str(125744))) 141351 crt.X__builtin_abort(tls) 141352 return i32(0) 141353 }() 141354 }() 141355 _resolveP2Values(tls, _p, _pnMaxArg) 141356 *_pnOp = _p.X27 141357 *(**XVdbeOp)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(84 /* X17 */))))) = (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) 141358 r0 = _aOp 141359 return 141360 141361 } 141362 141363 var _sqlite3VdbeTakeOpArrayØ00__func__Ø000 [23]int8 // - 141364 141365 func init() { 141366 crt.Xstrncpy(nil, &_sqlite3VdbeTakeOpArrayØ00__func__Ø000[0], str(125772), 23) 141367 } 141368 141369 func _sqlite3CodeDropTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _iDb int32, _isView int32) { // sqlite3.c:101888:1 141370 var _v *XVdbe // sqlite3.c:101889:8 141371 _ = _v 141372 var _db *Xsqlite3 // sqlite3.c:101890:11 141373 _ = _db 141374 var _pTrigger *XTrigger // sqlite3.c:101891:11 141375 _ = _pTrigger 141376 var _pDb *XDb // sqlite3.c:101892:6 141377 _ = _pDb 141378 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 141379 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 141380 _v = _sqlite3GetVdbe(tls, _pParse) 141381 func() int32 { 141382 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 141383 return i32(0) 141384 } 141385 return func() int32 { 141386 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101895), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeDropTableØ00__func__Ø000))), unsafe.Pointer(str(44352))) 141387 crt.X__builtin_abort(tls) 141388 return i32(0) 141389 }() 141390 }() 141391 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 141392 if (_pTab.X16) == 0 { 141393 goto _2 141394 } 141395 141396 _sqlite3VdbeAddOp0(tls, _v, i32(153)) 141397 _2: 141398 _pTrigger = _sqlite3TriggerList(tls, _pParse, _pTab) 141399 _3: 141400 if _pTrigger == nil { 141401 goto _4 141402 } 141403 141404 func() int32 { 141405 if ((*XSchema)(unsafe.Pointer(_pTrigger.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20))) || ((*XSchema)(unsafe.Pointer(_pTrigger.X6)) == (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4))) { 141406 return i32(0) 141407 } 141408 return func() int32 { 141409 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101910), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CodeDropTableØ00__func__Ø000))), unsafe.Pointer(str(125796))) 141410 crt.X__builtin_abort(tls) 141411 return i32(0) 141412 }() 141413 }() 141414 _sqlite3DropTriggerPtr(tls, _pParse, _pTrigger) 141415 _pTrigger = (*XTrigger)(unsafe.Pointer(_pTrigger.X9)) 141416 goto _3 141417 141418 _4: 141419 if ((_pTab.X9) & uint32(i32(8))) == 0 { 141420 goto _8 141421 } 141422 141423 _sqlite3NestedParse(tls, _pParse, str(125872), unsafe.Pointer(_pDb.X0), unsafe.Pointer(_pTab.X0)) 141424 _8: 141425 _sqlite3NestedParse(tls, _pParse, str(125920), unsafe.Pointer(_pDb.X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_pTab.X0)) 141426 if _isView != 0 || (_pTab.X16) != 0 { 141427 goto _10 141428 } 141429 141430 _destroyTable(tls, _pParse, _pTab) 141431 _10: 141432 if (_pTab.X16) == 0 { 141433 goto _11 141434 } 141435 141436 _sqlite3VdbeAddOp4(tls, _v, i32(155), _iDb, i32(0), i32(0), _pTab.X0, i32(0)) 141437 _11: 141438 _sqlite3VdbeAddOp4(tls, _v, i32(139), _iDb, i32(0), i32(0), _pTab.X0, i32(0)) 141439 _sqlite3ChangeCookie(tls, _pParse, _iDb) 141440 _sqliteViewResetAll(tls, _db, _iDb) 141441 return 141442 141443 } 141444 141445 var _sqlite3CodeDropTableØ00__func__Ø000 [21]int8 // - 141446 141447 func init() { 141448 crt.Xstrncpy(nil, &_sqlite3CodeDropTableØ00__func__Ø000[0], str(125976), 21) 141449 } 141450 141451 func _sqlite3DropTriggerPtr(tls *crt.TLS, _pParse *XParse, _pTrigger *XTrigger) { // sqlite3.c:122714:1 141452 var _pTable *XTable // sqlite3.c:122715:11 141453 _ = _pTable 141454 var _v *XVdbe // sqlite3.c:122716:8 141455 _ = _v 141456 var _db *Xsqlite3 // sqlite3.c:122717:11 141457 _ = _db 141458 var _iDb int32 // sqlite3.c:122718:7 141459 _ = _iDb 141460 var _1_code int32 // sqlite3.c:122727:9 141461 _ = _1_code 141462 var _1_zDb *int8 // sqlite3.c:122728:16 141463 _ = _1_zDb 141464 var _1_zTab *int8 // sqlite3.c:122729:16 141465 _ = _1_zTab 141466 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 141467 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTrigger.X6))) 141468 func() int32 { 141469 if (_iDb >= i32(0)) && (_iDb < (_db.X5)) { 141470 return i32(0) 141471 } 141472 return func() int32 { 141473 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122721), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerPtrØ00__func__Ø000))), unsafe.Pointer(str(22608))) 141474 crt.X__builtin_abort(tls) 141475 return i32(0) 141476 }() 141477 }() 141478 _pTable = _tableOfTrigger(tls, _pTrigger) 141479 func() int32 { 141480 if _pTable != nil { 141481 return i32(0) 141482 } 141483 return func() int32 { 141484 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122723), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerPtrØ00__func__Ø000))), unsafe.Pointer(str(99424))) 141485 crt.X__builtin_abort(tls) 141486 return i32(0) 141487 }() 141488 }() 141489 func() int32 { 141490 if ((*XSchema)(unsafe.Pointer(_pTable.X20)) == (*XSchema)(unsafe.Pointer(_pTrigger.X6))) || (_iDb == i32(1)) { 141491 return i32(0) 141492 } 141493 return func() int32 { 141494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerPtrØ00__func__Ø000))), unsafe.Pointer(str(126000))) 141495 crt.X__builtin_abort(tls) 141496 return i32(0) 141497 }() 141498 }() 141499 _1_code = i32(16) 141500 _1_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 141501 _1_zTab = func() *int8 { 141502 if i32(1) != 0 && (_iDb == i32(1)) { 141503 return str(52796) 141504 } 141505 return str(52816) 141506 }() 141507 if _iDb != i32(1) { 141508 goto _11 141509 } 141510 141511 _1_code = i32(14) 141512 _11: 141513 if _sqlite3AuthCheck(tls, _pParse, _1_code, _pTrigger.X0, _pTable.X0, _1_zDb) == 0 && _sqlite3AuthCheck(tls, _pParse, i32(9), _1_zTab, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _1_zDb) == 0 { 141514 goto _13 141515 } 141516 141517 return 141518 141519 _13: 141520 func() int32 { 141521 if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 141522 return i32(0) 141523 } 141524 return func() int32 { 141525 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122740), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerPtrØ00__func__Ø000))), unsafe.Pointer(str(22840))) 141526 crt.X__builtin_abort(tls) 141527 return i32(0) 141528 }() 141529 }() 141530 if store7766888(&_v, _sqlite3GetVdbe(tls, _pParse)) == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 141531 goto _16 141532 } 141533 141534 _sqlite3NestedParse(tls, _pParse, str(126048), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_pTrigger.X0)) 141535 _sqlite3ChangeCookie(tls, _pParse, _iDb) 141536 _sqlite3VdbeAddOp4(tls, _v, i32(141), _iDb, i32(0), i32(0), _pTrigger.X0, i32(0)) 141537 _16: 141538 return 141539 141540 } 141541 141542 var _sqlite3DropTriggerPtrØ00__func__Ø000 [22]int8 // - 141543 141544 func init() { 141545 crt.Xstrncpy(nil, &_sqlite3DropTriggerPtrØ00__func__Ø000[0], str(126100), 22) 141546 } 141547 141548 func _destroyTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable) { // sqlite3.c:101807:1 141549 var _iTab int32 // sqlite3.c:101832:7 141550 _ = _iTab 141551 var _iDestroyed int32 // sqlite3.c:101833:7 141552 _ = _iDestroyed 141553 var _1_pIdx *XIndex // sqlite3.c:101836:11 141554 _ = _1_pIdx 141555 var _1_iLargest int32 // sqlite3.c:101837:9 141556 _ = _1_iLargest 141557 var _3_iIdx int32 // sqlite3.c:101843:11 141558 _ = _3_iIdx 141559 var _6_iDb int32 // sqlite3.c:101852:11 141560 _ = _6_iDb 141561 _iTab = _pTab.X7 141562 _iDestroyed = i32(0) 141563 _0: 141564 _1_iLargest = i32(0) 141565 if _iDestroyed != i32(0) && _iTab >= _iDestroyed { 141566 goto _3 141567 } 141568 141569 _1_iLargest = _iTab 141570 _3: 141571 _1_pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 141572 _4: 141573 if _1_pIdx == nil { 141574 goto _7 141575 } 141576 141577 _3_iIdx = _1_pIdx.X11 141578 func() int32 { 141579 if (*XSchema)(unsafe.Pointer(_1_pIdx.X6)) == (*XSchema)(unsafe.Pointer(_pTab.X20)) { 141580 return i32(0) 141581 } 141582 return func() int32 { 141583 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101844), unsafe.Pointer((*int8)(unsafe.Pointer(&_destroyTableØ00__func__Ø000))), unsafe.Pointer(str(121580))) 141584 crt.X__builtin_abort(tls) 141585 return i32(0) 141586 }() 141587 }() 141588 if _iDestroyed != i32(0) && _3_iIdx >= _iDestroyed || _3_iIdx <= _1_iLargest { 141589 goto _12 141590 } 141591 141592 _1_iLargest = _3_iIdx 141593 _12: 141594 _1_pIdx = (*XIndex)(unsafe.Pointer(_1_pIdx.X5)) 141595 goto _4 141596 141597 _7: 141598 if _1_iLargest != i32(0) { 141599 goto _13 141600 } 141601 141602 return 141603 141604 _13: 141605 _6_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 141606 func() int32 { 141607 if (_6_iDb >= i32(0)) && (_6_iDb < ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X5)) { 141608 return i32(0) 141609 } 141610 return func() int32 { 141611 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101853), unsafe.Pointer((*int8)(unsafe.Pointer(&_destroyTableØ00__func__Ø000))), unsafe.Pointer(str(108128))) 141612 crt.X__builtin_abort(tls) 141613 return i32(0) 141614 }() 141615 }() 141616 _destroyRootPage(tls, _pParse, _1_iLargest, _6_iDb) 141617 _iDestroyed = _1_iLargest 141618 goto _0 141619 141620 } 141621 141622 var _destroyTableØ00__func__Ø000 [13]int8 // - 141623 141624 func init() { 141625 crt.Xstrncpy(nil, &_destroyTableØ00__func__Ø000[0], str(126124), 13) 141626 } 141627 141628 func _destroyRootPage(tls *crt.TLS, _pParse *XParse, _iTable int32, _iDb int32) { // sqlite3.c:101778:1 141629 var _v *XVdbe // sqlite3.c:101779:8 141630 _ = _v 141631 var _r1 int32 // sqlite3.c:101780:7 141632 _ = _r1 141633 _v = _sqlite3GetVdbe(tls, _pParse) 141634 _r1 = _sqlite3GetTempReg(tls, _pParse) 141635 func() int32 { 141636 if _iTable > i32(1) { 141637 return i32(0) 141638 } 141639 return func() int32 { 141640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101781), unsafe.Pointer((*int8)(unsafe.Pointer(&_destroyRootPageØ00__func__Ø000))), unsafe.Pointer(str(126140))) 141641 crt.X__builtin_abort(tls) 141642 return i32(0) 141643 }() 141644 }() 141645 _sqlite3VdbeAddOp3(tls, _v, i32(130), _iTable, _r1, _iDb) 141646 _sqlite3MayAbort(tls, _pParse) 141647 _sqlite3NestedParse(tls, _pParse, str(126152), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(str(52816)), _iTable, _r1, _r1) 141648 _sqlite3ReleaseTempReg(tls, _pParse, _r1) 141649 return 141650 141651 } 141652 141653 var _destroyRootPageØ00__func__Ø000 [16]int8 // - 141654 141655 func init() { 141656 crt.Xstrncpy(nil, &_destroyRootPageØ00__func__Ø000[0], str(126208), 16) 141657 } 141658 141659 func _sqliteViewResetAll(tls *crt.TLS, _db *Xsqlite3, _idx int32) { // sqlite3.c:101712:1 141660 var _i *XHashElem // sqlite3.c:101713:12 141661 _ = _i 141662 var _1_pTab *XTable // sqlite3.c:101717:11 141663 _ = _1_pTab 141664 func() int32 { 141665 if _sqlite3SchemaMutexHeld(tls, _db, _idx, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 141666 return i32(0) 141667 } 141668 return func() int32 { 141669 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101714), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqliteViewResetAllØ00__func__Ø000))), unsafe.Pointer(str(126224))) 141670 crt.X__builtin_abort(tls) 141671 return i32(0) 141672 }() 141673 }() 141674 if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_idx))).X4)).X9) & i32(2)) == i32(2) { 141675 goto _2 141676 } 141677 141678 return 141679 141680 _2: 141681 _i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_idx))).X4) + uintptr(8 /* X2 */))).X2)) 141682 _3: 141683 if _i == nil { 141684 goto _6 141685 } 141686 141687 _1_pTab = (*XTable)(unsafe.Pointer(_i.X2)) 141688 if (*XSelect)(unsafe.Pointer(_1_pTab.X3)) == nil { 141689 goto _7 141690 } 141691 141692 _sqlite3DeleteColumnNames(tls, _db, _1_pTab) 141693 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 141694 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pTab)) + uintptr(42 /* X11 */))) = int16(i32(0)) 141695 _7: 141696 _i = (*XHashElem)(unsafe.Pointer(_i.X0)) 141697 goto _3 141698 141699 _6: 141700 { 141701 p := (*uint16)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_idx))).X4) + uintptr(78 /* X9 */))) 141702 *p = uint16(int32(*p) & i32(-3)) 141703 sink6908 = *p 141704 } 141705 return 141706 141707 } 141708 141709 var _sqliteViewResetAllØ00__func__Ø000 [19]int8 // - 141710 141711 func init() { 141712 crt.Xstrncpy(nil, &_sqliteViewResetAllØ00__func__Ø000[0], str(126260), 19) 141713 } 141714 141715 func _sqlite3CreateView(tls *crt.TLS, _pParse *XParse, _pBegin *XToken, _pName1 *XToken, _pName2 *XToken, _pCNames *XExprList, _pSelect *XSelect, _isTemp int32, _noErr int32) { // sqlite3.c:101526:1 141716 var _p *XTable // sqlite3.c:101536:9 141717 _ = _p 141718 var _n int32 // sqlite3.c:101537:7 141719 _ = _n 141720 var _z *int8 // sqlite3.c:101538:14 141721 _ = _z 141722 var _sEnd XToken // sqlite3.c:101539:9 141723 _ = _sEnd 141724 var _sFix XDbFixer // sqlite3.c:101540:11 141725 _ = _sFix 141726 var _pName *XToken // sqlite3.c:101541:9 141727 _ = _pName 141728 var _iDb int32 // sqlite3.c:101542:7 141729 _ = _iDb 141730 var _db *Xsqlite3 // sqlite3.c:101543:11 141731 _ = _db 141732 _pName = nil 141733 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 141734 if int32(_pParse.X52) <= i32(0) { 141735 goto _0 141736 } 141737 141738 _sqlite3ErrorMsg(tls, _pParse, str(126280)) 141739 goto _create_view_fail 141740 141741 _0: 141742 _sqlite3StartTable(tls, _pParse, _pName1, _pName2, _isTemp, i32(1), i32(0), _noErr) 141743 _p = (*XTable)(unsafe.Pointer(_pParse.X63)) 141744 if _p != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && (_pParse.X16) == 0 { 141745 goto _2 141746 } 141747 141748 goto _create_view_fail 141749 141750 _2: 141751 _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) 141752 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_p.X20))) 141753 _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(118072), _pName) 141754 if _sqlite3FixSelect(tls, &_sFix, _pSelect) == 0 { 141755 goto _3 141756 } 141757 141758 goto _create_view_fail 141759 141760 _3: 141761 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = _sqlite3SelectDup(tls, _db, _pSelect, i32(1)) 141762 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))))) = _sqlite3ExprListDup(tls, _db, _pCNames, i32(1)) 141763 if (_db.X17) == 0 { 141764 goto _4 141765 } 141766 141767 goto _create_view_fail 141768 141769 _4: 141770 _sEnd = _pParse.X51 141771 func() int32 { 141772 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sEnd.X0)) + 1*uintptr(i32(0))))) != i32(0) { 141773 return i32(0) 141774 } 141775 return func() int32 { 141776 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101570), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateViewØ00__func__Ø000))), unsafe.Pointer(str(126316))) 141777 crt.X__builtin_abort(tls) 141778 return i32(0) 141779 }() 141780 }() 141781 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_sEnd.X0)) + 1*uintptr(i32(0))))) == i32(59) { 141782 goto _7 141783 } 141784 141785 { 141786 p := (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(0 /* X0 */))) 141787 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sEnd.X1))) 141788 sink1025 = *p 141789 } 141790 _7: 141791 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(4 /* X1 */))) = uint32(i32(0)) 141792 _n = int32((uintptr(unsafe.Pointer(_sEnd.X0)) - uintptr(unsafe.Pointer(_pBegin.X0))) / 1) 141793 func() int32 { 141794 if _n > i32(0) { 141795 return i32(0) 141796 } 141797 return func() int32 { 141798 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(101576), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3CreateViewØ00__func__Ø000))), unsafe.Pointer(str(1352))) 141799 crt.X__builtin_abort(tls) 141800 return i32(0) 141801 }() 141802 }() 141803 _z = _pBegin.X0 141804 _10: 141805 if (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1))))))))) & i32(1)) == 0 { 141806 goto _11 141807 } 141808 141809 _n -= 1 141810 goto _10 141811 141812 _11: 141813 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1)))) 141814 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sEnd)) + uintptr(4 /* X1 */))) = uint32(i32(1)) 141815 _sqlite3EndTable(tls, _pParse, (*XToken)(unsafe.Pointer(uintptr(i32(0)))), &_sEnd, uint8(i32(0)), (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) 141816 _create_view_fail: 141817 _sqlite3SelectDelete(tls, _db, _pSelect) 141818 _sqlite3ExprListDelete(tls, _db, _pCNames) 141819 return 141820 141821 } 141822 141823 var _sqlite3CreateViewØ00__func__Ø000 [18]int8 // - 141824 141825 func init() { 141826 crt.Xstrncpy(nil, &_sqlite3CreateViewØ00__func__Ø000[0], str(126332), 18) 141827 } 141828 141829 func _parserDoubleLinkSelect(tls *crt.TLS, _pParse *XParse, _p *XSelect) { // sqlite3.c:134925:3 141830 var _1_pNext *XSelect // sqlite3.c:134927:14 141831 _ = _1_pNext 141832 var _1_pLoop *XSelect // sqlite3.c:134927:26 141833 _ = _1_pLoop 141834 var _1_mxSelect int32 // sqlite3.c:134928:11 141835 _ = _1_mxSelect 141836 var _1_cnt int32 // sqlite3.c:134928:21 141837 _ = _1_cnt 141838 if (*XSelect)(unsafe.Pointer(_p.X13)) == nil { 141839 goto _0 141840 } 141841 141842 _1_pNext = nil 141843 _1_cnt = i32(0) 141844 _1_pLoop = _p 141845 _1: 141846 if _1_pLoop == nil { 141847 goto _4 141848 } 141849 141850 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop)) + uintptr(64 /* X14 */))))) = _1_pNext 141851 { 141852 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pLoop)) + uintptr(8 /* X3 */))) 141853 *p = (*p) | uint32(i32(256)) 141854 sink985 = *p 141855 } 141856 *func() *int32 { 141857 *func() **XSelect { _1_pNext = _1_pLoop; return &_1_pLoop }() = (*XSelect)(unsafe.Pointer(_1_pLoop.X13)) 141858 return &_1_cnt 141859 }() += 1 141860 goto _1 141861 141862 _4: 141863 if ((_p.X3)&uint32(i32(1024))) != uint32(i32(0)) || store961(&_1_mxSelect, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(4))))) <= i32(0) || _1_cnt <= _1_mxSelect { 141864 goto _7 141865 } 141866 141867 _sqlite3ErrorMsg(tls, _pParse, str(126352)) 141868 _7: 141869 _0: 141870 return 141871 141872 } 141873 141874 var _yy_reduceØ00__func__Ø000 [10]int8 // - 141875 141876 func init() { 141877 crt.Xstrncpy(nil, &_yy_reduceØ00__func__Ø000[0], str(126388), 10) 141878 } 141879 141880 func _sqlite3ExprListSetSpan(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pSpan *XExprSpan) { // sqlite3.c:92362:1 141881 var _db *Xsqlite3 // sqlite3.c:92367:11 141882 _ = _db 141883 var _1_pItem *T7850641 // sqlite3.c:92370:26 141884 _ = _1_pItem 141885 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 141886 func() int32 { 141887 if (_pList != (*XExprList)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_db.X17) != i32(0)) { 141888 return i32(0) 141889 } 141890 return func() int32 { 141891 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetSpanØ00__func__Ø000))), unsafe.Pointer(str(126400))) 141892 crt.X__builtin_abort(tls) 141893 return i32(0) 141894 }() 141895 }() 141896 if _pList == nil { 141897 goto _3 141898 } 141899 141900 _1_pItem = (*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr((_pList.X0)-i32(1)))) 141901 func() int32 { 141902 if (_pList.X0) > i32(0) { 141903 return i32(0) 141904 } 141905 return func() int32 { 141906 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92371), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetSpanØ00__func__Ø000))), unsafe.Pointer(str(50552))) 141907 crt.X__builtin_abort(tls) 141908 return i32(0) 141909 }() 141910 }() 141911 func() int32 { 141912 if ((_db.X17) != 0) || ((*XExpr)(unsafe.Pointer(_1_pItem.X0)) == (*XExpr)(unsafe.Pointer(_pSpan.X0))) { 141913 return i32(0) 141914 } 141915 return func() int32 { 141916 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92372), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListSetSpanØ00__func__Ø000))), unsafe.Pointer(str(126432))) 141917 crt.X__builtin_abort(tls) 141918 return i32(0) 141919 }() 141920 }() 141921 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_pItem.X2)) 141922 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(8 /* X2 */))) = _sqlite3DbStrNDup(tls, _db, _pSpan.X1, uint64(int32((uintptr(unsafe.Pointer(_pSpan.X2))-uintptr(unsafe.Pointer(_pSpan.X1)))/1))) 141923 _3: 141924 return 141925 141926 } 141927 141928 var _sqlite3ExprListSetSpanØ00__func__Ø000 [23]int8 // - 141929 141930 func init() { 141931 crt.Xstrncpy(nil, &_sqlite3ExprListSetSpanØ00__func__Ø000[0], str(126480), 23) 141932 } 141933 141934 func _sqlite3SrcListShiftJoinType(tls *crt.TLS, _p *XSrcList) { // sqlite3.c:103380:1 141935 var _1_i int32 // sqlite3.c:103382:9 141936 _ = _1_i 141937 if _p == nil { 141938 goto _0 141939 } 141940 141941 _1_i = (_p.X0) - i32(1) 141942 _1: 141943 if _1_i <= i32(0) { 141944 goto _4 141945 } 141946 141947 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 141948 X0 unsafe.Pointer 141949 X1 *int8 141950 X2 *int8 141951 X3 *int8 141952 X4 unsafe.Pointer 141953 X5 unsafe.Pointer 141954 X6 int32 141955 X7 int32 141956 X8 int32 141957 X9 struct { 141958 X0 uint8 141959 X1 int8 141960 } 141961 X10 uint8 141962 X11 int32 141963 X12 unsafe.Pointer 141964 X13 unsafe.Pointer 141965 X14 uint64 141966 X15 struct { 141967 X [0]struct { 141968 X0 *int8 141969 X1 unsafe.Pointer 141970 } 141971 U [4]byte 141972 } 141973 X16 unsafe.Pointer 141974 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+68*uintptr(_1_i)))))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))) = (*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 141975 X0 unsafe.Pointer 141976 X1 *int8 141977 X2 *int8 141978 X3 *int8 141979 X4 unsafe.Pointer 141980 X5 unsafe.Pointer 141981 X6 int32 141982 X7 int32 141983 X8 int32 141984 X9 struct { 141985 X0 uint8 141986 X1 int8 141987 } 141988 X10 uint8 141989 X11 int32 141990 X12 unsafe.Pointer 141991 X13 unsafe.Pointer 141992 X14 uint64 141993 X15 struct { 141994 X [0]struct { 141995 X0 *int8 141996 X1 unsafe.Pointer 141997 } 141998 U [4]byte 141999 } 142000 X16 unsafe.Pointer 142001 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+68*uintptr(_1_i-i32(1)))))) + uintptr(36 /* X9 */))).X0 142002 _1_i -= 1 142003 goto _1 142004 142005 _4: 142006 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 142007 X0 unsafe.Pointer 142008 X1 *int8 142009 X2 *int8 142010 X3 *int8 142011 X4 unsafe.Pointer 142012 X5 unsafe.Pointer 142013 X6 int32 142014 X7 int32 142015 X8 int32 142016 X9 struct { 142017 X0 uint8 142018 X1 int8 142019 } 142020 X10 uint8 142021 X11 int32 142022 X12 unsafe.Pointer 142023 X13 unsafe.Pointer 142024 X14 uint64 142025 X15 struct { 142026 X [0]struct { 142027 X0 *int8 142028 X1 unsafe.Pointer 142029 } 142030 U [4]byte 142031 } 142032 X16 unsafe.Pointer 142033 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))))+uintptr(36 /* X9 */))))) + uintptr(0 /* X0 */))) = uint8(i32(0)) 142034 _0: 142035 return 142036 142037 } 142038 142039 func _sqlite3SrcListIndexedBy(tls *crt.TLS, _pParse *XParse, _p *XSrcList, _pIndexedBy *XToken) { // sqlite3.c:103330:1 142040 var _1_pItem *T7840217 // sqlite3.c:103333:25 142041 _ = _1_pItem 142042 func() int32 { 142043 if _pIndexedBy != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 142044 return i32(0) 142045 } 142046 return func() int32 { 142047 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103331), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListIndexedByØ00__func__Ø000))), unsafe.Pointer(str(126504))) 142048 crt.X__builtin_abort(tls) 142049 return i32(0) 142050 }() 142051 }() 142052 if _p == nil || func() int32 { 142053 if (_p.X0) > i32(0) { 142054 return i32(1) 142055 } 142056 return func() int32 { 142057 func() int32 { 142058 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103332), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListIndexedByØ00__func__Ø000))), unsafe.Pointer(str(5204))) 142059 crt.X__builtin_abort(tls) 142060 return i32(0) 142061 }() 142062 return i32(0) 142063 }() 142064 }() == 0 { 142065 goto _5 142066 } 142067 142068 _1_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 142069 X0 unsafe.Pointer 142070 X1 *int8 142071 X2 *int8 142072 X3 *int8 142073 X4 unsafe.Pointer 142074 X5 unsafe.Pointer 142075 X6 int32 142076 X7 int32 142077 X8 int32 142078 X9 struct { 142079 X0 uint8 142080 X1 int8 142081 } 142082 X10 uint8 142083 X11 int32 142084 X12 unsafe.Pointer 142085 X13 unsafe.Pointer 142086 X14 uint64 142087 X15 struct { 142088 X [0]struct { 142089 X0 *int8 142090 X1 unsafe.Pointer 142091 } 142092 U [4]byte 142093 } 142094 X16 unsafe.Pointer 142095 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 68*uintptr((_p.X0)-i32(1)))) 142096 func() int32 { 142097 if int32((uint32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */))).X1)<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 142098 return i32(0) 142099 } 142100 return func() int32 { 142101 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103334), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListIndexedByØ00__func__Ø000))), unsafe.Pointer(str(126520))) 142102 crt.X__builtin_abort(tls) 142103 return i32(0) 142104 }() 142105 }() 142106 func() int32 { 142107 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(1)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 142108 return i32(0) 142109 } 142110 return func() int32 { 142111 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103335), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListIndexedByØ00__func__Ø000))), unsafe.Pointer(str(126544))) 142112 crt.X__builtin_abort(tls) 142113 return i32(0) 142114 }() 142115 }() 142116 func() int32 { 142117 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 142118 return i32(0) 142119 } 142120 return func() int32 { 142121 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103336), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListIndexedByØ00__func__Ø000))), unsafe.Pointer(str(126572))) 142122 crt.X__builtin_abort(tls) 142123 return i32(0) 142124 }() 142125 }() 142126 if (_pIndexedBy.X1) != uint32(i32(1)) || (_pIndexedBy.X0) != nil { 142127 goto _13 142128 } 142129 142130 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 1, 0) 142131 goto _14 142132 142133 _13: 142134 *(**int8)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(60 /* X15 */))))) = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pIndexedBy) 142135 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(bool2int((*(**int8)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(60 /* X15 */)))))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))))), 2, 1) 142136 _14: 142137 _5: 142138 return 142139 142140 } 142141 142142 var _sqlite3SrcListIndexedByØ00__func__Ø000 [24]int8 // - 142143 142144 func init() { 142145 crt.Xstrncpy(nil, &_sqlite3SrcListIndexedByØ00__func__Ø000[0], str(126596), 24) 142146 } 142147 142148 func _sqlite3SrcListFuncArgs(tls *crt.TLS, _pParse *XParse, _p *XSrcList, _pList *XExprList) { // sqlite3.c:103352:1 142149 var _1_pItem *T7840217 // sqlite3.c:103354:25 142150 _ = _1_pItem 142151 if _p == nil { 142152 goto _0 142153 } 142154 142155 _1_pItem = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 142156 X0 unsafe.Pointer 142157 X1 *int8 142158 X2 *int8 142159 X3 *int8 142160 X4 unsafe.Pointer 142161 X5 unsafe.Pointer 142162 X6 int32 142163 X7 int32 142164 X8 int32 142165 X9 struct { 142166 X0 uint8 142167 X1 int8 142168 } 142169 X10 uint8 142170 X11 int32 142171 X12 unsafe.Pointer 142172 X13 unsafe.Pointer 142173 X14 uint64 142174 X15 struct { 142175 X [0]struct { 142176 X0 *int8 142177 X1 unsafe.Pointer 142178 } 142179 U [4]byte 142180 } 142181 X16 unsafe.Pointer 142182 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))))) + 68*uintptr((_p.X0)-i32(1)))) 142183 func() int32 { 142184 if int32((uint32((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */))).X1)<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 142185 return i32(0) 142186 } 142187 return func() int32 { 142188 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103355), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListFuncArgsØ00__func__Ø000))), unsafe.Pointer(str(126520))) 142189 crt.X__builtin_abort(tls) 142190 return i32(0) 142191 }() 142192 }() 142193 func() int32 { 142194 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(1)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 142195 return i32(0) 142196 } 142197 return func() int32 { 142198 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103356), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListFuncArgsØ00__func__Ø000))), unsafe.Pointer(str(126544))) 142199 crt.X__builtin_abort(tls) 142200 return i32(0) 142201 }() 142202 }() 142203 func() int32 { 142204 if int32((uint32(((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */))).X1)>>uint(i32(2)))<<uint(i32(31)))>>uint(i32(31))) == i32(0) { 142205 return i32(0) 142206 } 142207 return func() int32 { 142208 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103357), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3SrcListFuncArgsØ00__func__Ø000))), unsafe.Pointer(str(126572))) 142209 crt.X__builtin_abort(tls) 142210 return i32(0) 142211 }() 142212 }() 142213 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7840194)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem)) + uintptr(60 /* X15 */))))))) = _pList 142214 storebits973((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840174)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pItem))+uintptr(36 /* X9 */)))))+uintptr(1 /* X1 */))), int8(i32(1)), 4, 2) 142215 goto _7 142216 142217 _0: 142218 _sqlite3ExprListDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pList) 142219 _7: 142220 return 142221 142222 } 142223 142224 var _sqlite3SrcListFuncArgsØ00__func__Ø000 [23]int8 // - 142225 142226 func init() { 142227 crt.Xstrncpy(nil, &_sqlite3SrcListFuncArgsØ00__func__Ø000[0], str(126620), 23) 142228 } 142229 142230 func _sqlite3JoinType(tls *crt.TLS, _pParse *XParse, _pA *XToken, _pB *XToken, _pC *XToken) (r0 int32) { // sqlite3.c:116448:1 142231 var _jointype int32 // sqlite3.c:116449:7 142232 _ = _jointype 142233 var _apAll [3]*XToken // sqlite3.c:116450:9 142234 _ = _apAll 142235 var _p *XToken // sqlite3.c:116451:9 142236 _ = _p 142237 var _i int32 // sqlite3.c:116467:7 142238 _ = _i 142239 var _j int32 // sqlite3.c:116467:10 142240 _ = _j 142241 var _5_zSp *int8 // sqlite3.c:116490:16 142242 _ = _5_zSp 142243 _jointype = i32(0) 142244 *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 4*uintptr(i32(0)))) = _pA 142245 *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 4*uintptr(i32(1)))) = _pB 142246 *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 4*uintptr(i32(2)))) = _pC 142247 _i = i32(0) 142248 _0: 142249 if _i >= i32(3) || (*(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 4*uintptr(_i)))) == nil { 142250 goto _4 142251 } 142252 142253 _p = *(**XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_apAll)) + 4*uintptr(_i))) 142254 _j = i32(0) 142255 _5: 142256 if _j >= i32(7) { 142257 goto _8 142258 } 142259 142260 if (_p.X1) != uint32((*T8786660)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JoinTypeØ00aKeywordØ002))+3*uintptr(_j))).X1) || Xsqlite3_strnicmp(tls, _p.X0, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JoinTypeØ00zKeyTextØ001))+1*uintptr((*T8786660)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JoinTypeØ00aKeywordØ002))+3*uintptr(_j))).X0))), int32(_p.X1)) != i32(0) { 142261 goto _10 142262 } 142263 142264 { 142265 p := &_jointype 142266 *p = (*p) | int32((*T8786660)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3JoinTypeØ00aKeywordØ002))+3*uintptr(_j))).X2) 142267 sink961 = *p 142268 } 142269 goto _8 142270 142271 _10: 142272 _j += 1 142273 goto _5 142274 142275 _8: 142276 if _j < i32(7) { 142277 goto _11 142278 } 142279 142280 { 142281 p := &_jointype 142282 *p = (*p) | i32(64) 142283 sink961 = *p 142284 } 142285 goto _4 142286 142287 _11: 142288 _i += 1 142289 goto _0 142290 142291 _4: 142292 if (_jointype&i32(33)) != i32(33) && (_jointype&i32(64)) == i32(0) { 142293 goto _13 142294 } 142295 142296 _5_zSp = str(126644) 142297 func() int32 { 142298 if _pB != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 142299 return i32(0) 142300 } 142301 return func() int32 { 142302 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116491), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3JoinTypeØ00__func__Ø000))), unsafe.Pointer(str(126648))) 142303 crt.X__builtin_abort(tls) 142304 return i32(0) 142305 }() 142306 }() 142307 if _pC != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 142308 goto _16 142309 } 142310 142311 *(*uintptr)(unsafe.Pointer(&_5_zSp)) += uintptr(1) 142312 _16: 142313 _sqlite3ErrorMsg(tls, _pParse, str(126656), unsafe.Pointer(_pA), unsafe.Pointer(_pB), unsafe.Pointer(_5_zSp), unsafe.Pointer(_pC)) 142314 _jointype = i32(1) 142315 goto _17 142316 142317 _13: 142318 if (_jointype&i32(32)) == i32(0) || (_jointype&i32(24)) == i32(8) { 142319 goto _19 142320 } 142321 142322 _sqlite3ErrorMsg(tls, _pParse, str(126700)) 142323 _jointype = i32(1) 142324 _19: 142325 _17: 142326 r0 = _jointype 142327 return 142328 142329 } 142330 142331 var _sqlite3JoinTypeØ00aKeywordØ002 [7]struct { 142332 X0 uint8 142333 X1 uint8 142334 X2 uint8 142335 } // sqlite3.c:116458:5 142336 142337 func init() { 142338 _sqlite3JoinTypeØ00aKeywordØ002 = [7]struct { 142339 X0 uint8 142340 X1 uint8 142341 X2 uint8 142342 }{T8786660{X0: u8(0), X1: u8(7), X2: u8(4)}, T8786660{X0: u8(6), X1: u8(4), X2: u8(40)}, T8786660{X0: u8(10), X1: u8(5), X2: u8(32)}, T8786660{X0: u8(14), X1: u8(5), X2: u8(48)}, T8786660{X0: u8(19), X1: u8(4), X2: u8(56)}, T8786660{X0: u8(23), X1: u8(5), X2: u8(1)}, T8786660{X0: u8(28), X1: u8(5), X2: u8(3)}} 142343 } 142344 142345 var _sqlite3JoinTypeØ00zKeyTextØ001 [34]int8 // sqlite3.c:116453:21 142346 142347 func init() { 142348 crt.Xstrncpy(nil, &_sqlite3JoinTypeØ00zKeyTextØ001[0], str(126756), 34) 142349 } 142350 142351 var _sqlite3JoinTypeØ00__func__Ø000 [16]int8 // - 142352 142353 func init() { 142354 crt.Xstrncpy(nil, &_sqlite3JoinTypeØ00__func__Ø000[0], str(126792), 16) 142355 } 142356 142357 func _sqlite3ExprListAppendVector(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pColumns *XIdList, _pExpr *XExpr) (r0 *XExprList) { // sqlite3.c:92257:1 142358 var _db *Xsqlite3 // sqlite3.c:92263:11 142359 _ = _db 142360 var _n int32 // sqlite3.c:92264:7 142361 _ = _n 142362 var _i int32 // sqlite3.c:92265:7 142363 _ = _i 142364 var _iFirst int32 // sqlite3.c:92266:7 142365 _ = _iFirst 142366 var _2_pSubExpr *XExpr // sqlite3.c:92284:10 142367 _ = _2_pSubExpr 142368 var _5_pFirst *XExpr // sqlite3.c:92295:12 142369 _ = _5_pFirst 142370 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 142371 _iFirst = func() int32 { 142372 if _pList != nil { 142373 return (_pList.X0) 142374 } 142375 return i32(0) 142376 }() 142377 if func() int32 { 142378 if _pColumns == (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 142379 return func() int32 { 142380 func() int32 { 142381 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92269), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListAppendVectorØ00__func__Ø000))), unsafe.Pointer(str(5204))) 142382 crt.X__builtin_abort(tls) 142383 return i32(0) 142384 }() 142385 return i32(1) 142386 }() 142387 } 142388 return i32(0) 142389 }() == 0 { 142390 goto _4 142391 } 142392 142393 goto _vector_append_error 142394 142395 _4: 142396 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 142397 goto _5 142398 } 142399 142400 goto _vector_append_error 142401 142402 _5: 142403 if int32(_pExpr.X0) == i32(119) || (_pColumns.X1) == store961(&_n, _sqlite3ExprVectorSize(tls, _pExpr)) { 142404 goto _7 142405 } 142406 142407 _sqlite3ErrorMsg(tls, _pParse, str(45340), _pColumns.X1, _n) 142408 goto _vector_append_error 142409 142410 _7: 142411 _i = i32(0) 142412 _8: 142413 if _i >= (_pColumns.X1) { 142414 goto _11 142415 } 142416 142417 _2_pSubExpr = _sqlite3ExprForVectorField(tls, _pParse, _pExpr, _i) 142418 _pList = _sqlite3ExprListAppend(tls, _pParse, _pList, _2_pSubExpr) 142419 if _pList == nil { 142420 goto _12 142421 } 142422 142423 func() int32 { 142424 if (_pList.X0) == ((_iFirst + _i) + i32(1)) { 142425 return i32(0) 142426 } 142427 return func() int32 { 142428 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92287), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListAppendVectorØ00__func__Ø000))), unsafe.Pointer(str(126808))) 142429 crt.X__builtin_abort(tls) 142430 return i32(0) 142431 }() 142432 }() 142433 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr((_pList.X0)-i32(1)))))) + uintptr(4 /* X1 */))) = (*T8304487)(unsafe.Pointer(uintptr(_pColumns.X0) + 8*uintptr(_i))).X0 142434 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8304487)(unsafe.Pointer(uintptr(_pColumns.X0)+8*uintptr(_i))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 142435 _12: 142436 _i += 1 142437 goto _8 142438 142439 _11: 142440 if int32(_pExpr.X0) != i32(119) { 142441 goto _15 142442 } 142443 142444 if _pList == nil || (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1)+20*uintptr(_iFirst))).X0)) == nil { 142445 goto _17 142446 } 142447 142448 _5_pFirst = (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_pList.X1) + 20*uintptr(_iFirst))).X0)) 142449 func() int32 { 142450 if int32(_5_pFirst.X0) == i32(159) { 142451 return i32(0) 142452 } 142453 return func() int32 { 142454 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(92296), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprListAppendVectorØ00__func__Ø000))), unsafe.Pointer(str(126836))) 142455 crt.X__builtin_abort(tls) 142456 return i32(0) 142457 }() 142458 }() 142459 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pFirst)) + uintptr(16 /* X5 */))))) = _pExpr 142460 _pExpr = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 142461 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pFirst)) + uintptr(28 /* X8 */))) = _pColumns.X1 142462 _17: 142463 _15: 142464 _vector_append_error: 142465 _sqlite3ExprDelete(tls, _db, _pExpr) 142466 _sqlite3IdListDelete(tls, _db, _pColumns) 142467 r0 = _pList 142468 return 142469 142470 } 142471 142472 var _sqlite3ExprListAppendVectorØ00__func__Ø000 [28]int8 // - 142473 142474 func init() { 142475 crt.Xstrncpy(nil, &_sqlite3ExprListAppendVectorØ00__func__Ø000[0], str(126868), 28) 142476 } 142477 142478 func _sqlite3IdListAppend(tls *crt.TLS, _db *Xsqlite3, _pList *XIdList, _pToken *XToken) (r0 *XIdList) { // sqlite3.c:103046:1 142479 var _i int32 // sqlite3.c:103047:7 142480 _ = _i 142481 if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 142482 goto _0 142483 } 142484 142485 _pList = (*XIdList)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(8))))) 142486 if _pList != (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) { 142487 goto _1 142488 } 142489 142490 r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 142491 return 142492 142493 _1: 142494 _0: 142495 *(**T8304487)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList)) + uintptr(0 /* X0 */))))) = (*T8304487)(unsafe.Pointer(_sqlite3ArrayAllocate(tls, _db, _pList.X0, int32(u32(8)), (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pList))+uintptr(4 /* X1 */))), &_i))) 142496 if _i >= i32(0) { 142497 goto _2 142498 } 142499 142500 _sqlite3IdListDelete(tls, _db, _pList) 142501 r0 = (*XIdList)(unsafe.Pointer(uintptr(i32(0)))) 142502 return 142503 142504 _2: 142505 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8304487)(unsafe.Pointer(uintptr(_pList.X0)+8*uintptr(_i))))) + uintptr(0 /* X0 */))) = _sqlite3NameFromToken(tls, _db, _pToken) 142506 r0 = _pList 142507 return 142508 142509 } 142510 142511 func _spanSet(tls *crt.TLS, _pOut *XExprSpan, _pStart *XToken, _pEnd *XToken) { // sqlite3.c:134946:3 142512 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(4 /* X1 */))) = _pStart.X0 142513 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pEnd.X0)) + 1*uintptr(_pEnd.X1))) 142514 return 142515 142516 } 142517 142518 func _sqlite3ExprAssignVarNumber(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _n uint32) { // sqlite3.c:91683:1 142519 var _db *Xsqlite3 // sqlite3.c:91684:11 142520 _ = _db 142521 var _z *int8 // sqlite3.c:91685:14 142522 _ = _z 142523 var _x int16 // sqlite3.c:91686:9 142524 _ = _x 142525 var _2_doAdd int32 // sqlite3.c:91699:9 142526 _ = _2_doAdd 142527 var _3_i int64 // sqlite3.c:91703:11 142528 _ = _3_i 142529 var _3_bOk int32 // sqlite3.c:91704:11 142530 _ = _3_bOk 142531 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 142532 if _pExpr != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 142533 goto _0 142534 } 142535 142536 return 142537 142538 _0: 142539 func() int32 { 142540 if ((_pExpr.X2) & uint32(i32(25600))) == uint32(i32(0)) { 142541 return i32(0) 142542 } 142543 return func() int32 { 142544 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91689), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAssignVarNumberØ00__func__Ø000))), unsafe.Pointer(str(126896))) 142545 crt.X__builtin_abort(tls) 142546 return i32(0) 142547 }() 142548 }() 142549 _z = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(8 /* X3 */))))) 142550 func() int32 { 142551 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 142552 return i32(0) 142553 } 142554 return func() int32 { 142555 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91691), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAssignVarNumberØ00__func__Ø000))), unsafe.Pointer(str(46896))) 142556 crt.X__builtin_abort(tls) 142557 return i32(0) 142558 }() 142559 }() 142560 func() int32 { 142561 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(0) { 142562 return i32(0) 142563 } 142564 return func() int32 { 142565 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91692), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAssignVarNumberØ00__func__Ø000))), unsafe.Pointer(str(126960))) 142566 crt.X__builtin_abort(tls) 142567 return i32(0) 142568 }() 142569 }() 142570 func() int32 { 142571 if _n == uint32(_sqlite3Strlen30(tls, _z)) { 142572 return i32(0) 142573 } 142574 return func() int32 { 142575 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91693), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAssignVarNumberØ00__func__Ø000))), unsafe.Pointer(str(126968))) 142576 crt.X__builtin_abort(tls) 142577 return i32(0) 142578 }() 142579 }() 142580 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) != i32(0) { 142581 goto _9 142582 } 142583 142584 func() int32 { 142585 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == i32(63) { 142586 return i32(0) 142587 } 142588 return func() int32 { 142589 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91696), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprAssignVarNumberØ00__func__Ø000))), unsafe.Pointer(str(126992))) 142590 crt.X__builtin_abort(tls) 142591 return i32(0) 142592 }() 142593 }() 142594 _x = preInc955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(408 /* X52 */))), 1) 142595 goto _12 142596 142597 _9: 142598 _2_doAdd = i32(0) 142599 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) != i32(63) { 142600 goto _13 142601 } 142602 142603 if _n != uint32(i32(2)) { 142604 goto _14 142605 } 142606 142607 _3_i = int64(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(1))))) - i32(48)) 142608 _3_bOk = i32(1) 142609 goto _15 142610 142611 _14: 142612 _3_bOk = bool2int(i32(0) == _sqlite3Atoi64(tls, (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(i32(1)))), &_3_i, int32(_n-uint32(i32(1))), uint8(i32(1)))) 142613 _15: 142614 if _3_bOk != i32(0) && _3_i >= int64(i32(1)) && _3_i <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(9))))) { 142615 goto _18 142616 } 142617 142618 _sqlite3ErrorMsg(tls, _pParse, str(127004), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(9))))) 142619 return 142620 142621 _18: 142622 _x = int16(_3_i) 142623 if int32(_x) <= int32(_pParse.X52) { 142624 goto _19 142625 } 142626 142627 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(408 /* X52 */))) = int16(int32(_x)) 142628 _2_doAdd = i32(1) 142629 goto _20 142630 142631 _19: 142632 if _sqlite3VListNumToName(tls, _pParse.X60, int32(_x)) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 142633 goto _21 142634 } 142635 142636 _2_doAdd = i32(1) 142637 _21: 142638 _20: 142639 goto _22 142640 142641 _13: 142642 _x = int16(_sqlite3VListNameToNum(tls, _pParse.X60, _z, int32(_n))) 142643 if int32(_x) != i32(0) { 142644 goto _23 142645 } 142646 142647 _x = preInc955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(408 /* X52 */))), 1) 142648 _2_doAdd = i32(1) 142649 _23: 142650 _22: 142651 if _2_doAdd == 0 { 142652 goto _24 142653 } 142654 142655 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(432 /* X60 */))) = _sqlite3VListAdd(tls, _db, _pParse.X60, _z, int32(_n), int32(_x)) 142656 _24: 142657 _12: 142658 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(32 /* X9 */))) = _x 142659 if int32(_x) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(9))))) { 142660 goto _25 142661 } 142662 142663 _sqlite3ErrorMsg(tls, _pParse, str(127048)) 142664 _25: 142665 return 142666 142667 } 142668 142669 var _sqlite3ExprAssignVarNumberØ00__func__Ø000 [27]int8 // - 142670 142671 func init() { 142672 crt.Xstrncpy(nil, &_sqlite3ExprAssignVarNumberØ00__func__Ø000[0], str(127072), 27) 142673 } 142674 142675 func _sqlite3VListAdd(tls *crt.TLS, _db *Xsqlite3, _pIn *int32, _zName *int8, _nName int32, _iVal int32) (r0 *int32) { // sqlite3.c:29115:1 142676 var _nInt int32 // sqlite3.c:29122:7 142677 _ = _nInt 142678 var _z *int8 // sqlite3.c:29123:8 142679 _ = _z 142680 var _i int32 // sqlite3.c:29124:7 142681 _ = _i 142682 var _1_nAlloc int32 // sqlite3.c:29130:9 142683 _ = _1_nAlloc 142684 var _1_pOut *int32 // sqlite3.c:29131:11 142685 _ = _1_pOut 142686 _nInt = (_nName / i32(4)) + i32(3) 142687 func() int32 { 142688 if (_pIn == (*int32)(unsafe.Pointer(uintptr(i32(0))))) || ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) >= i32(3)) { 142689 return i32(0) 142690 } 142691 return func() int32 { 142692 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29127), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VListAddØ00__func__Ø000))), unsafe.Pointer(str(127100))) 142693 crt.X__builtin_abort(tls) 142694 return i32(0) 142695 }() 142696 }() 142697 if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) && ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))))+_nInt) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) { 142698 goto _4 142699 } 142700 142701 _1_nAlloc = func() int32 { 142702 if _pIn != nil { 142703 return ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) * i32(2)) 142704 } 142705 return i32(10) 142706 }() + _nInt 142707 _1_pOut = (*int32)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pIn), uint64(uint32(_1_nAlloc)*u32(4))))) 142708 if _1_pOut != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 142709 goto _7 142710 } 142711 142712 r0 = _pIn 142713 return 142714 142715 _7: 142716 if _pIn != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 142717 goto _8 142718 } 142719 142720 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pOut)) + 4*uintptr(i32(1)))) = i32(2) 142721 _8: 142722 _pIn = _1_pOut 142723 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0)))) = _1_nAlloc 142724 _4: 142725 _i = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) 142726 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i))) = _iVal 142727 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(1)))) = _nInt 142728 _z = (*int8)(unsafe.Pointer((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(_i+i32(2)))))) 142729 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1)))) = _i + _nInt 142730 func() int32 { 142731 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(1))))) <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIn)) + 4*uintptr(i32(0))))) { 142732 return i32(0) 142733 } 142734 return func() int32 { 142735 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(29142), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VListAddØ00__func__Ø000))), unsafe.Pointer(str(127120))) 142736 crt.X__builtin_abort(tls) 142737 return i32(0) 142738 }() 142739 }() 142740 crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(_zName), uint32(_nName)) 142741 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_nName))) = int8(i32(0)) 142742 r0 = _pIn 142743 return 142744 142745 } 142746 142747 var _sqlite3VListAddØ00__func__Ø000 [16]int8 // - 142748 142749 func init() { 142750 crt.Xstrncpy(nil, &_sqlite3VListAddØ00__func__Ø000[0], str(127136), 16) 142751 } 142752 142753 func _sqlite3ExprFunction(tls *crt.TLS, _pParse *XParse, _pList *XExprList, _pToken *XToken) (r0 *XExpr) { // sqlite3.c:91652:1 142754 var _pNew *XExpr // sqlite3.c:91653:8 142755 _ = _pNew 142756 var _db *Xsqlite3 // sqlite3.c:91654:11 142757 _ = _db 142758 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 142759 func() int32 { 142760 if _pToken != nil { 142761 return i32(0) 142762 } 142763 return func() int32 { 142764 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91655), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprFunctionØ00__func__Ø000))), unsafe.Pointer(str(127152))) 142765 crt.X__builtin_abort(tls) 142766 return i32(0) 142767 }() 142768 }() 142769 _pNew = _sqlite3ExprAlloc(tls, _db, i32(151), _pToken, i32(1)) 142770 if _pNew != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 142771 goto _2 142772 } 142773 142774 _sqlite3ExprListDelete(tls, _db, _pList) 142775 r0 = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 142776 return 142777 142778 _2: 142779 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(20 /* X6 */))))))) = _pList 142780 func() int32 { 142781 if ((_pNew.X2) & uint32(i32(2048))) == uint32(i32(0)) { 142782 return i32(0) 142783 } 142784 return func() int32 { 142785 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91662), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ExprFunctionØ00__func__Ø000))), unsafe.Pointer(str(109756))) 142786 crt.X__builtin_abort(tls) 142787 return i32(0) 142788 }() 142789 }() 142790 _sqlite3ExprSetHeightAndFlags(tls, _pParse, _pNew) 142791 r0 = _pNew 142792 return 142793 142794 } 142795 142796 var _sqlite3ExprFunctionØ00__func__Ø000 [20]int8 // - 142797 142798 func init() { 142799 crt.Xstrncpy(nil, &_sqlite3ExprFunctionØ00__func__Ø000[0], str(127160), 20) 142800 } 142801 142802 func _sqlite3ExprSetHeightAndFlags(tls *crt.TLS, _pParse *XParse, _p *XExpr) { // sqlite3.c:91412:1 142803 if (_pParse.X16) == 0 { 142804 goto _0 142805 } 142806 142807 return 142808 142809 _0: 142810 _exprSetHeight(tls, _p) 142811 _sqlite3ExprCheckHeight(tls, _pParse, _p.X7) 142812 return 142813 142814 } 142815 142816 func _spanBinaryExpr(tls *crt.TLS, _pParse *XParse, _op int32, _pLeft *XExprSpan, _pRight *XExprSpan) { // sqlite3.c:134981:3 142817 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLeft)) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, _op, (*XExpr)(unsafe.Pointer(_pLeft.X0)), (*XExpr)(unsafe.Pointer(_pRight.X0))) 142818 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pLeft)) + uintptr(8 /* X2 */))) = _pRight.X2 142819 return 142820 142821 } 142822 142823 func _exprNot(tls *crt.TLS, _pParse *XParse, _doNot int32, _pSpan *XExprSpan) { // sqlite3.c:134994:3 142824 if _doNot == 0 { 142825 goto _0 142826 } 142827 142828 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSpan)) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, i32(19), (*XExpr)(unsafe.Pointer(_pSpan.X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 142829 _0: 142830 return 142831 142832 } 142833 142834 func _spanUnaryPostfix(tls *crt.TLS, _pParse *XParse, _op int32, _pOperand *XExprSpan, _pPostOp *XToken) { // sqlite3.c:135002:3 142835 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOperand)) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, _op, (*XExpr)(unsafe.Pointer(_pOperand.X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 142836 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOperand)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPostOp.X0)) + 1*uintptr(_pPostOp.X1))) 142837 return 142838 142839 } 142840 142841 func _binaryToUnaryIfNull(tls *crt.TLS, _pParse *XParse, _pY *XExpr, _pA *XExpr, _op int32) { // sqlite3.c:135014:3 142842 var _db *Xsqlite3 // sqlite3.c:135015:13 142843 _ = _db 142844 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 142845 if _pA == nil || _pY == nil || int32(_pY.X0) != i32(101) { 142846 goto _2 142847 } 142848 142849 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(0 /* X0 */))) = uint8(_op) 142850 _sqlite3ExprDelete(tls, _db, (*XExpr)(unsafe.Pointer(_pA.X5))) 142851 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pA)) + uintptr(16 /* X5 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 142852 _2: 142853 return 142854 142855 } 142856 142857 func _spanUnaryPrefix(tls *crt.TLS, _pOut *XExprSpan, _pParse *XParse, _op int32, _pOperand *XExprSpan, _pPreOp *XToken) { // sqlite3.c:135025:3 142858 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(4 /* X1 */))) = _pPreOp.X0 142859 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(0 /* X0 */))))) = _sqlite3PExpr(tls, _pParse, _op, (*XExpr)(unsafe.Pointer(_pOperand.X0)), (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 142860 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X2 */))) = _pOperand.X2 142861 return 142862 142863 } 142864 142865 func _sqlite3PExprAddSelect(tls *crt.TLS, _pParse *XParse, _pExpr *XExpr, _pSelect *XSelect) { // sqlite3.c:91585:1 142866 if _pExpr == nil { 142867 goto _0 142868 } 142869 142870 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer((*T7789635)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(20 /* X6 */))))))) = _pSelect 142871 { 142872 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(4 /* X2 */))) 142873 *p = (*p) | uint32(i32(2099200)) 142874 sink985 = *p 142875 } 142876 _sqlite3ExprSetHeightAndFlags(tls, _pParse, _pExpr) 142877 goto _1 142878 142879 _0: 142880 func() int32 { 142881 if ((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X17) != 0 { 142882 return i32(0) 142883 } 142884 return func() int32 { 142885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(91591), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PExprAddSelectØ00__func__Ø000))), unsafe.Pointer(str(44804))) 142886 crt.X__builtin_abort(tls) 142887 return i32(0) 142888 }() 142889 }() 142890 _sqlite3SelectDelete(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pSelect) 142891 _1: 142892 return 142893 142894 } 142895 142896 var _sqlite3PExprAddSelectØ00__func__Ø000 [22]int8 // - 142897 142898 func init() { 142899 crt.Xstrncpy(nil, &_sqlite3PExprAddSelectØ00__func__Ø000[0], str(127180), 22) 142900 } 142901 142902 func _parserAddExprIdListTerm(tls *crt.TLS, _pParse *XParse, _pPrior *XExprList, _pIdToken *XToken, _hasCollate int32, _sortOrder int32) (r0 *XExprList) { // sqlite3.c:135042:3 142903 var _p *XExprList // sqlite3.c:135049:14 142904 _ = _p 142905 _p = _sqlite3ExprListAppend(tls, _pParse, _pPrior, (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) 142906 if _hasCollate == 0 && _sortOrder == i32(-1) || int32((*T7745808)(unsafe.Pointer(uintptr(_pParse.X0)+uintptr(144 /* X33 */))).X2) != i32(0) { 142907 goto _2 142908 } 142909 142910 _sqlite3ErrorMsg(tls, _pParse, str(127204), _pIdToken.X1, unsafe.Pointer(_pIdToken.X0)) 142911 _2: 142912 _sqlite3ExprListSetName(tls, _pParse, _p, _pIdToken, i32(1)) 142913 r0 = _p 142914 return 142915 142916 } 142917 142918 func _sqlite3DropIndex(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _ifExists int32) { // sqlite3.c:102934:1 142919 var _pIndex *XIndex // sqlite3.c:102935:9 142920 _ = _pIndex 142921 var _v *XVdbe // sqlite3.c:102936:8 142922 _ = _v 142923 var _db *Xsqlite3 // sqlite3.c:102937:11 142924 _ = _db 142925 var _iDb int32 // sqlite3.c:102938:7 142926 _ = _iDb 142927 var _7_code int32 // sqlite3.c:102966:9 142928 _ = _7_code 142929 var _7_pTab *XTable // sqlite3.c:102967:11 142930 _ = _7_pTab 142931 var _7_zDb *int8 // sqlite3.c:102968:16 142932 _ = _7_zDb 142933 var _7_zTab *int8 // sqlite3.c:102969:16 142934 _ = _7_zTab 142935 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 142936 func() int32 { 142937 if (_pParse.X16) == i32(0) { 142938 return i32(0) 142939 } 142940 return func() int32 { 142941 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102940), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropIndexØ00__func__Ø000))), unsafe.Pointer(str(118652))) 142942 crt.X__builtin_abort(tls) 142943 return i32(0) 142944 }() 142945 }() 142946 if (_db.X17) == 0 { 142947 goto _2 142948 } 142949 142950 goto _exit_drop_index 142951 142952 _2: 142953 func() int32 { 142954 if (_pName.X0) == i32(1) { 142955 return i32(0) 142956 } 142957 return func() int32 { 142958 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(102944), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropIndexØ00__func__Ø000))), unsafe.Pointer(str(121216))) 142959 crt.X__builtin_abort(tls) 142960 return i32(0) 142961 }() 142962 }() 142963 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 142964 goto _5 142965 } 142966 142967 goto _exit_drop_index 142968 142969 _5: 142970 _pIndex = _sqlite3FindIndex(tls, _db, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 142971 X0 unsafe.Pointer 142972 X1 *int8 142973 X2 *int8 142974 X3 *int8 142975 X4 unsafe.Pointer 142976 X5 unsafe.Pointer 142977 X6 int32 142978 X7 int32 142979 X8 int32 142980 X9 struct { 142981 X0 uint8 142982 X1 int8 142983 } 142984 X10 uint8 142985 X11 int32 142986 X12 unsafe.Pointer 142987 X13 unsafe.Pointer 142988 X14 uint64 142989 X15 struct { 142990 X [0]struct { 142991 X0 *int8 142992 X1 unsafe.Pointer 142993 } 142994 U [4]byte 142995 } 142996 X16 unsafe.Pointer 142997 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X2, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 142998 X0 unsafe.Pointer 142999 X1 *int8 143000 X2 *int8 143001 X3 *int8 143002 X4 unsafe.Pointer 143003 X5 unsafe.Pointer 143004 X6 int32 143005 X7 int32 143006 X8 int32 143007 X9 struct { 143008 X0 uint8 143009 X1 int8 143010 } 143011 X10 uint8 143012 X11 int32 143013 X12 unsafe.Pointer 143014 X13 unsafe.Pointer 143015 X14 uint64 143016 X15 struct { 143017 X [0]struct { 143018 X0 *int8 143019 X1 unsafe.Pointer 143020 } 143021 U [4]byte 143022 } 143023 X16 unsafe.Pointer 143024 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X1) 143025 if _pIndex != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 143026 goto _6 143027 } 143028 143029 if _ifExists != 0 { 143030 goto _7 143031 } 143032 143033 _sqlite3ErrorMsg(tls, _pParse, str(127244), unsafe.Pointer(_pName), i32(0)) 143034 goto _8 143035 143036 _7: 143037 _sqlite3CodeVerifyNamedSchema(tls, _pParse, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 143038 X0 unsafe.Pointer 143039 X1 *int8 143040 X2 *int8 143041 X3 *int8 143042 X4 unsafe.Pointer 143043 X5 unsafe.Pointer 143044 X6 int32 143045 X7 int32 143046 X8 int32 143047 X9 struct { 143048 X0 uint8 143049 X1 int8 143050 } 143051 X10 uint8 143052 X11 int32 143053 X12 unsafe.Pointer 143054 X13 unsafe.Pointer 143055 X14 uint64 143056 X15 struct { 143057 X [0]struct { 143058 X0 *int8 143059 X1 unsafe.Pointer 143060 } 143061 U [4]byte 143062 } 143063 X16 unsafe.Pointer 143064 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X1) 143065 _8: 143066 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 143067 goto _exit_drop_index 143068 143069 _6: 143070 if int32((uint32(_pIndex.X16)<<uint(i32(30)))>>uint(i32(30))) == i32(0) { 143071 goto _9 143072 } 143073 143074 _sqlite3ErrorMsg(tls, _pParse, str(127264), i32(0)) 143075 goto _exit_drop_index 143076 143077 _9: 143078 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pIndex.X6))) 143079 _7_code = i32(10) 143080 _7_pTab = (*XTable)(unsafe.Pointer(_pIndex.X3)) 143081 _7_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 143082 _7_zTab = func() *int8 { 143083 if i32(1) != 0 && (_iDb == i32(1)) { 143084 return str(52796) 143085 } 143086 return str(52816) 143087 }() 143088 if _sqlite3AuthCheck(tls, _pParse, i32(9), _7_zTab, (*int8)(unsafe.Pointer(uintptr(i32(0)))), _7_zDb) == 0 { 143089 goto _13 143090 } 143091 143092 goto _exit_drop_index 143093 143094 _13: 143095 if i32(1) == 0 || _iDb == 0 { 143096 goto _15 143097 } 143098 143099 _7_code = i32(12) 143100 _15: 143101 if _sqlite3AuthCheck(tls, _pParse, _7_code, _pIndex.X0, _7_pTab.X0, _7_zDb) == 0 { 143102 goto _16 143103 } 143104 143105 goto _exit_drop_index 143106 143107 _16: 143108 _v = _sqlite3GetVdbe(tls, _pParse) 143109 if _v == nil { 143110 goto _17 143111 } 143112 143113 _sqlite3BeginWriteOperation(tls, _pParse, i32(1), _iDb) 143114 _sqlite3NestedParse(tls, _pParse, str(127340), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_pIndex.X0)) 143115 _sqlite3ClearStatTables(tls, _pParse, _iDb, str(98992), _pIndex.X0) 143116 _sqlite3ChangeCookie(tls, _pParse, _iDb) 143117 _destroyRootPage(tls, _pParse, _pIndex.X11, _iDb) 143118 _sqlite3VdbeAddOp4(tls, _v, i32(140), _iDb, i32(0), i32(0), _pIndex.X0, i32(0)) 143119 _17: 143120 _exit_drop_index: 143121 _sqlite3SrcListDelete(tls, _db, _pName) 143122 return 143123 143124 } 143125 143126 var _sqlite3DropIndexØ00__func__Ø000 [17]int8 // - 143127 143128 func init() { 143129 crt.Xstrncpy(nil, &_sqlite3DropIndexØ00__func__Ø000[0], str(127392), 17) 143130 } 143131 143132 func _sqlite3Vacuum(tls *crt.TLS, _pParse *XParse, _pNm *XToken) { // sqlite3.c:124253:1 143133 var _v *XVdbe // sqlite3.c:124254:8 143134 _ = _v 143135 var _iDb int32 // sqlite3.c:124255:7 143136 _ = _iDb 143137 _v = _sqlite3GetVdbe(tls, _pParse) 143138 _iDb = i32(0) 143139 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 143140 goto _0 143141 } 143142 143143 return 143144 143145 _0: 143146 if _pNm == nil { 143147 goto _1 143148 } 143149 143150 _iDb = _sqlite3TwoPartName(tls, _pParse, _pNm, _pNm, &_pNm) 143151 if _iDb >= i32(0) { 143152 goto _2 143153 } 143154 143155 return 143156 143157 _2: 143158 _1: 143159 if _iDb == i32(1) { 143160 goto _3 143161 } 143162 143163 _sqlite3VdbeAddOp1(tls, _v, i32(10), _iDb) 143164 _sqlite3VdbeUsesBtree(tls, _v, _iDb) 143165 _3: 143166 return 143167 143168 } 143169 143170 func _sqlite3Pragma(tls *crt.TLS, _pParse *XParse, _pId1 *XToken, _pId2 *XToken, _pValue *XToken, _minusFlag int32) { // sqlite3.c:113289:1 143171 var _zLeft *int8 // sqlite3.c:113296:8 143172 _ = _zLeft 143173 var _zRight *int8 // sqlite3.c:113297:8 143174 _ = _zRight 143175 var _zDb *int8 // sqlite3.c:113298:14 143176 _ = _zDb 143177 var _pId *XToken // sqlite3.c:113299:9 143178 _ = _pId 143179 var _aFcntl [4]*int8 // sqlite3.c:113300:8 143180 _ = _aFcntl 143181 var _iDb int32 // sqlite3.c:113301:7 143182 _ = _iDb 143183 var _rc int32 // sqlite3.c:113302:7 143184 _ = _rc 143185 var _db *Xsqlite3 // sqlite3.c:113303:11 143186 _ = _db 143187 var _pDb *XDb // sqlite3.c:113304:6 143188 _ = _pDb 143189 var _v *XVdbe // sqlite3.c:113305:8 143190 _ = _v 143191 var _pPragma *XPragmaName // sqlite3.c:113306:20 143192 _ = _pPragma 143193 var _11_aOp *XVdbeOp // sqlite3.c:113426:12 143194 _ = _11_aOp 143195 var _13_size int32 // sqlite3.c:113437:11 143196 _ = _13_size 143197 var _14_pBt *XBtree // sqlite3.c:113459:11 143198 _ = _14_pBt 143199 var _15_size int32 // sqlite3.c:113462:11 143200 _ = _15_size 143201 var _18_pBt *XBtree // sqlite3.c:113485:11 143202 _ = _18_pBt 143203 var _18_b int32 // sqlite3.c:113486:9 143204 _ = _18_b 143205 var _20_ii int32 // sqlite3.c:113492:11 143206 _ = _20_ii 143207 var _22_iReg int32 // sqlite3.c:113520:9 143208 _ = _22_iReg 143209 var _25_zRet *int8 // sqlite3.c:113538:16 143210 _ = _25_zRet 143211 var _25_eMode int32 // sqlite3.c:113539:9 143212 _ = _25_eMode 143213 var _27_pPager *XPager // sqlite3.c:113548:13 143214 _ = _27_pPager 143215 var _28_ii int32 // sqlite3.c:113558:13 143216 _ = _28_ii 143217 var _31_eMode int32 // sqlite3.c:113585:9 143218 _ = _31_eMode 143219 var _31_ii int32 // sqlite3.c:113586:9 143220 _ = _31_ii 143221 var _33_zMode *int8 // sqlite3.c:113593:18 143222 _ = _33_zMode 143223 var _33_n int32 // sqlite3.c:113594:11 143224 _ = _33_n 143225 var _39_pPager *XPager // sqlite3.c:113626:11 143226 _ = _39_pPager 143227 var _39_iLimit int64 // sqlite3.c:113627:9 143228 _ = _39_iLimit 143229 var _41_pBt *XBtree // sqlite3.c:113648:11 143230 _ = _41_pBt 143231 var _43_eAuto int32 // sqlite3.c:113653:11 143232 _ = _43_eAuto 143233 var _44_aOp *XVdbeOp // sqlite3.c:113676:16 143234 _ = _44_aOp 143235 var _44_iAddr int32 // sqlite3.c:113677:13 143236 _ = _44_iAddr 143237 var _45_iLimit int32 // sqlite3.c:113700:9 143238 _ = _45_iLimit 143239 var _45_addr int32 // sqlite3.c:113700:17 143240 _ = _45_addr 143241 var _49_size int32 // sqlite3.c:113732:11 143242 _ = _49_size 143243 var _52_size int32 // sqlite3.c:113768:11 143244 _ = _52_size 143245 var _56_sz int64 // sqlite3.c:113797:19 143246 _ = _56_sz 143247 var _57_ii int32 // sqlite3.c:113801:11 143248 _ = _57_ii 143249 var _68_res int32 // sqlite3.c:113862:13 143250 _ = _68_res 143251 var _76_res int32 // sqlite3.c:113906:13 143252 _ = _76_res 143253 var _84_iLevel int32 // sqlite3.c:113979:13 143254 _ = _84_iLevel 143255 var _87_mask int32 // sqlite3.c:113996:11 143256 _ = _87_mask 143257 var _91_pTab *XTable // sqlite3.c:114041:11 143258 _ = _91_pTab 143259 var _92_i int32 // sqlite3.c:114044:11 143260 _ = _92_i 143261 var _92_k int32 // sqlite3.c:114044:14 143262 _ = _92_k 143263 var _92_nHidden int32 // sqlite3.c:114045:11 143264 _ = _92_nHidden 143265 var _92_pCol *XColumn // sqlite3.c:114046:14 143266 _ = _92_pCol 143267 var _92_pPk *XIndex // sqlite3.c:114047:13 143268 _ = _92_pPk 143269 var _99_pIdx *XIndex // sqlite3.c:114079:11 143270 _ = _99_pIdx 143271 var _99_i *XHashElem // sqlite3.c:114080:14 143272 _ = _99_i 143273 var _100_pTab *XTable // sqlite3.c:114084:13 143274 _ = _100_pTab 143275 var _102_pIdx *XIndex // sqlite3.c:114106:11 143276 _ = _102_pIdx 143277 var _102_pTab *XTable // sqlite3.c:114107:11 143278 _ = _102_pTab 143279 var _103_i int32 // sqlite3.c:114110:11 143280 _ = _103_i 143281 var _103_mx int32 // sqlite3.c:114111:11 143282 _ = _103_mx 143283 var _106_cnum int16 // sqlite3.c:114125:13 143284 _ = _106_cnum 143285 var _108_pIdx *XIndex // sqlite3.c:114141:11 143286 _ = _108_pIdx 143287 var _108_pTab *XTable // sqlite3.c:114142:11 143288 _ = _108_pTab 143289 var _108_i int32 // sqlite3.c:114143:9 143290 _ = _108_i 143291 var _110_azOrigin [3]*int8 // sqlite3.c:114149:20 143292 _ = _110_azOrigin 143293 var _111_i int32 // sqlite3.c:114163:9 143294 _ = _111_i 143295 var _113_i int32 // sqlite3.c:114178:9 143296 _ = _113_i 143297 var _113_p *XHashElem // sqlite3.c:114179:14 143298 _ = _113_p 143299 var _114_pColl *XCollSeq // sqlite3.c:114182:15 143300 _ = _114_pColl 143301 var _115_pFK *XFKey // sqlite3.c:114192:10 143302 _ = _115_pFK 143303 var _115_pTab *XTable // sqlite3.c:114193:11 143304 _ = _115_pTab 143305 var _117_i int32 // sqlite3.c:114198:13 143306 _ = _117_i 143307 var _118_j int32 // sqlite3.c:114202:15 143308 _ = _118_j 143309 var _120_pFK *XFKey // sqlite3.c:114227:10 143310 _ = _120_pFK 143311 var _120_pTab *XTable // sqlite3.c:114228:11 143312 _ = _120_pTab 143313 var _120_pParent *XTable // sqlite3.c:114229:11 143314 _ = _120_pParent 143315 var _120_pIdx *XIndex // sqlite3.c:114230:11 143316 _ = _120_pIdx 143317 var _120_i int32 // sqlite3.c:114231:9 143318 _ = _120_i 143319 var _120_j int32 // sqlite3.c:114232:9 143320 _ = _120_j 143321 var _120_k *XHashElem // sqlite3.c:114233:14 143322 _ = _120_k 143323 var _120_x int32 // sqlite3.c:114234:9 143324 _ = _120_x 143325 var _120_regResult int32 // sqlite3.c:114235:9 143326 _ = _120_regResult 143327 var _120_regKey int32 // sqlite3.c:114236:9 143328 _ = _120_regKey 143329 var _120_regRow int32 // sqlite3.c:114237:9 143330 _ = _120_regRow 143331 var _120_addrTop int32 // sqlite3.c:114238:9 143332 _ = _120_addrTop 143333 var _120_addrOk int32 // sqlite3.c:114239:9 143334 _ = _120_addrOk 143335 var _120_aiCols *int32 // sqlite3.c:114240:9 143336 _ = _120_aiCols 143337 var _131_iKey int32 // sqlite3.c:114293:15 143338 _ = _131_iKey 143339 var _143_i int32 // sqlite3.c:114373:9 143340 _ = _143_i 143341 var _143_j int32 // sqlite3.c:114373:12 143342 _ = _143_j 143343 var _143_addr int32 // sqlite3.c:114373:15 143344 _ = _143_addr 143345 var _143_mxErr int32 // sqlite3.c:114373:21 143346 _ = _143_mxErr 143347 var _143_isQuick int32 // sqlite3.c:114375:9 143348 _ = _143_isQuick 143349 var _146_x *XHashElem // sqlite3.c:114405:16 143350 _ = _146_x 143351 var _146_pTbls *XHash // sqlite3.c:114406:12 143352 _ = _146_pTbls 143353 var _146_aRoot *int32 // sqlite3.c:114407:11 143354 _ = _146_aRoot 143355 var _146_cnt int32 // sqlite3.c:114408:11 143356 _ = _146_cnt 143357 var _146_mxIdx int32 // sqlite3.c:114409:11 143358 _ = _146_mxIdx 143359 var _146_nIdx int32 // sqlite3.c:114410:11 143360 _ = _146_nIdx 143361 var _147_pTab *XTable // sqlite3.c:114425:15 143362 _ = _147_pTab 143363 var _147_pIdx *XIndex // sqlite3.c:114426:15 143364 _ = _147_pIdx 143365 var _149_pTab *XTable // sqlite3.c:114434:15 143366 _ = _149_pTab 143367 var _149_pIdx *XIndex // sqlite3.c:114435:15 143368 _ = _149_pIdx 143369 var _151_pTab *XTable // sqlite3.c:114461:15 143370 _ = _151_pTab 143371 var _151_pIdx *XIndex // sqlite3.c:114462:15 143372 _ = _151_pIdx 143373 var _151_pPk *XIndex // sqlite3.c:114462:22 143374 _ = _151_pPk 143375 var _151_pPrior *XIndex // sqlite3.c:114463:15 143376 _ = _151_pPrior 143377 var _151_loopTop int32 // sqlite3.c:114464:13 143378 _ = _151_loopTop 143379 var _151_iDataCur int32 // sqlite3.c:114465:13 143380 _ = _151_iDataCur 143381 var _151_iIdxCur int32 // sqlite3.c:114465:23 143382 _ = _151_iIdxCur 143383 var _151_r1 int32 // sqlite3.c:114466:13 143384 _ = _151_r1 143385 var _154_zErr *int8 // sqlite3.c:114489:16 143386 _ = _154_zErr 143387 var _154_jmp2 int32 // sqlite3.c:114490:15 143388 _ = _154_jmp2 143389 var _155_addrCkFault int32 // sqlite3.c:114504:15 143390 _ = _155_addrCkFault 143391 var _155_addrCkOk int32 // sqlite3.c:114505:15 143392 _ = _155_addrCkOk 143393 var _155_pCheck *XExprList // sqlite3.c:114506:20 143394 _ = _155_pCheck 143395 var _155_zErr *int8 // sqlite3.c:114507:16 143396 _ = _155_zErr 143397 var _155_k int32 // sqlite3.c:114508:15 143398 _ = _155_k 143399 var _157_jmp2 int32 // sqlite3.c:114526:15 143400 _ = _157_jmp2 143401 var _157_jmp3 int32 // sqlite3.c:114526:21 143402 _ = _157_jmp3 143403 var _157_jmp4 int32 // sqlite3.c:114526:27 143404 _ = _157_jmp4 143405 var _157_jmp5 int32 // sqlite3.c:114526:33 143406 _ = _157_jmp5 143407 var _157_ckUniq int32 // sqlite3.c:114527:15 143408 _ = _157_ckUniq 143409 var _158_uniqOk int32 // sqlite3.c:114548:17 143410 _ = _158_uniqOk 143411 var _158_jmp6 int32 // sqlite3.c:114549:17 143412 _ = _158_jmp6 143413 var _158_kk int32 // sqlite3.c:114550:17 143414 _ = _158_kk 143415 var _159_iCol int32 // sqlite3.c:114552:19 143416 _ = _159_iCol 143417 var _162_aOp *XVdbeOp // sqlite3.c:114597:14 143418 _ = _162_aOp 143419 var _164_pEnc *T8760930 // sqlite3.c:114648:26 143420 _ = _164_pEnc 143421 var _171_iCookie int32 // sqlite3.c:114715:9 143422 _ = _171_iCookie 143423 var _172_aOp *XVdbeOp // sqlite3.c:114723:14 143424 _ = _172_aOp 143425 var _173_aOp *XVdbeOp // sqlite3.c:114738:14 143426 _ = _173_aOp 143427 var _174_i int32 // sqlite3.c:114759:9 143428 _ = _174_i 143429 var _174_zOpt *int8 // sqlite3.c:114760:16 143430 _ = _174_zOpt 143431 var _176_iBt int32 // sqlite3.c:114778:9 143432 _ = _176_iBt 143433 var _176_eMode int32 // sqlite3.c:114779:9 143434 _ = _176_eMode 143435 var _184_iDbLast int32 // sqlite3.c:114880:9 143436 _ = _184_iDbLast 143437 var _184_iTabCur int32 // sqlite3.c:114881:9 143438 _ = _184_iTabCur 143439 var _184_k *XHashElem // sqlite3.c:114882:14 143440 _ = _184_k 143441 var _184_pSchema *XSchema // sqlite3.c:114883:12 143442 _ = _184_pSchema 143443 var _184_pTab *XTable // sqlite3.c:114884:11 143444 _ = _184_pTab 143445 var _184_pIdx *XIndex // sqlite3.c:114885:11 143446 _ = _184_pIdx 143447 var _184_szThreshold int16 // sqlite3.c:114886:12 143448 _ = _184_szThreshold 143449 var _184_zSubSql *int8 // sqlite3.c:114887:10 143450 _ = _184_zSubSql 143451 var _184_opMask uint32 // sqlite3.c:114888:9 143452 _ = _184_opMask 143453 var _192_r1 int32 // sqlite3.c:114926:15 143454 _ = _192_r1 143455 var _196_N int64 // sqlite3.c:114968:19 143456 _ = _196_N 143457 var _198_N int64 // sqlite3.c:114984:19 143458 _ = _198_N 143459 var _200_i int32 // sqlite3.c:115003:9 143460 _ = _200_i 143461 var _201_pBt *XBtree // sqlite3.c:115006:13 143462 _ = _201_pBt 143463 var _201_zState *int8 // sqlite3.c:115007:18 143464 _ = _201_zState 143465 var _201_j int32 // sqlite3.c:115008:11 143466 _ = _201_j 143467 _zLeft = nil 143468 _zRight = nil 143469 _zDb = nil 143470 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 143471 _v = _sqlite3GetVdbe(tls, _pParse) 143472 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 143473 goto _0 143474 } 143475 143476 return 143477 143478 _0: 143479 _sqlite3VdbeRunOnlyOnce(tls, _v) 143480 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(2) 143481 _iDb = _sqlite3TwoPartName(tls, _pParse, _pId1, _pId2, &_pId) 143482 if _iDb >= i32(0) { 143483 goto _1 143484 } 143485 143486 return 143487 143488 _1: 143489 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 143490 if _iDb != i32(1) || _sqlite3OpenTempDatabase(tls, _pParse) == 0 { 143491 goto _3 143492 } 143493 143494 return 143495 143496 _3: 143497 _zLeft = _sqlite3NameFromToken(tls, _db, _pId) 143498 if _zLeft != nil { 143499 goto _4 143500 } 143501 143502 return 143503 143504 _4: 143505 if _minusFlag == 0 { 143506 goto _5 143507 } 143508 143509 _zRight = _sqlite3MPrintf(tls, _db, str(127412), unsafe.Pointer(_pValue)) 143510 goto _6 143511 143512 _5: 143513 _zRight = _sqlite3NameFromToken(tls, _db, _pValue) 143514 _6: 143515 func() int32 { 143516 if _pId2 != nil { 143517 return i32(0) 143518 } 143519 return func() int32 { 143520 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113333), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127416))) 143521 crt.X__builtin_abort(tls) 143522 return i32(0) 143523 }() 143524 }() 143525 _zDb = func() *int8 { 143526 if (_pId2.X1) > uint32(i32(0)) { 143527 return (_pDb.X0) 143528 } 143529 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 143530 }() 143531 if _sqlite3AuthCheck(tls, _pParse, i32(19), _zLeft, _zRight, _zDb) == 0 { 143532 goto _11 143533 } 143534 143535 goto _pragma_out 143536 143537 _11: 143538 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 143539 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(1)))) = _zLeft 143540 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(2)))) = _zRight 143541 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(3)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 143542 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(376 /* X71 */))))) + uintptr(8 /* X2 */))) = i32(0) 143543 _rc = Xsqlite3_file_control(tls, _db, _zDb, i32(14), (unsafe.Pointer)(&_aFcntl)) 143544 if _rc != i32(0) { 143545 goto _12 143546 } 143547 143548 _sqlite3VdbeSetNumCols(tls, _v, i32(1)) 143549 _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0)))), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 143550 _returnSingleText(tls, _v, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0))))) 143551 Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0)))))) 143552 goto _pragma_out 143553 143554 _12: 143555 if _rc == i32(12) { 143556 goto _13 143557 } 143558 143559 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0))))) == nil { 143560 goto _14 143561 } 143562 143563 _sqlite3ErrorMsg(tls, _pParse, str(25612), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0)))))) 143564 Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aFcntl)) + 4*uintptr(i32(0)))))) 143565 _14: 143566 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X16 */))) += 1 143567 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = _rc 143568 goto _pragma_out 143569 143570 _13: 143571 _pPragma = _pragmaLocate(tls, _zLeft) 143572 if _pPragma != (*XPragmaName)(unsafe.Pointer(uintptr(i32(0)))) { 143573 goto _15 143574 } 143575 143576 goto _pragma_out 143577 143578 _15: 143579 if (int32(_pPragma.X2) & i32(1)) == i32(0) { 143580 goto _16 143581 } 143582 143583 if _sqlite3ReadSchema(tls, _pParse) == 0 { 143584 goto _17 143585 } 143586 143587 goto _pragma_out 143588 143589 _17: 143590 _16: 143591 if (int32(_pPragma.X2)&i32(2)) != i32(0) || (int32(_pPragma.X2)&i32(4)) != i32(0) && _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 143592 goto _20 143593 } 143594 143595 _setPragmaResultColumnNames(tls, _v, _pPragma) 143596 _20: 143597 switch int32(_pPragma.X1) { 143598 case i32(0): 143599 goto _51 143600 case i32(1): 143601 goto _29 143602 case i32(2): 143603 goto _38 143604 case i32(4): 143605 goto _31 143606 case i32(5): 143607 goto _32 143608 case i32(6): 143609 goto _48 143610 case i32(7): 143611 goto _44 143612 case i32(8): 143613 goto _52 143614 case i32(9): 143615 goto _36 143616 case i32(10): 143617 goto _43 143618 case i32(11): 143619 goto _22 143620 case i32(12): 143621 goto _50 143622 case i32(13): 143623 goto _46 143624 case i32(14): 143625 goto _45 143626 case i32(15): 143627 goto _30 143628 case i32(16): 143629 goto _41 143630 case i32(17): 143631 goto _42 143632 case i32(18): 143633 goto _49 143634 case i32(19): 143635 goto _27 143636 case i32(20): 143637 goto _28 143638 case i32(22): 143639 goto _26 143640 case i32(23): 143641 goto _25 143642 case i32(24): 143643 goto _33 143644 case i32(25): 143645 goto _56 143646 case i32(26): 143647 goto _23 143648 case i32(27): 143649 goto _24 143650 case i32(28): 143651 goto _55 143652 case i32(29): 143653 goto _58 143654 case i32(30): 143655 goto _37 143656 case i32(31): 143657 goto _39 143658 case i32(32): 143659 goto _34 143660 case i32(33): 143661 goto _35 143662 case i32(34): 143663 goto _59 143664 case i32(35): 143665 goto _54 143666 case i32(36): 143667 goto _53 143668 case i32(41): 143669 goto _60 143670 case i32(42): 143671 goto _47 143672 case i32(43): 143673 goto _40 143674 default: 143675 goto _57 143676 } 143677 143678 _22: 143679 _sqlite3VdbeUsesBtree(tls, _v, _iDb) 143680 if _zRight != nil { 143681 goto _61 143682 } 143683 143684 { 143685 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 143686 *p = (*p) + i32(2) 143687 sink961 = *p 143688 } 143689 _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(9)) 143690 _11_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(9), (*T8124566)(unsafe.Pointer(&_sqlite3PragmaØ00getCacheSizeØ002)), _sqlite3PragmaØ00iLnØ001) 143691 if func() int32 { 143692 if _11_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 143693 return func() int32 { 143694 func() int32 { 143695 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113432), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(5204))) 143696 crt.X__builtin_abort(tls) 143697 return i32(0) 143698 }() 143699 return i32(1) 143700 }() 143701 } 143702 return i32(0) 143703 }() == 0 { 143704 goto _64 143705 } 143706 143707 goto _65 143708 143709 _64: 143710 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_aOp))+24*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb 143711 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_aOp))+24*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb 143712 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_11_aOp))+24*uintptr(i32(6)))))) + uintptr(4 /* X3 */))) = i32(-2000) 143713 goto _66 143714 143715 _61: 143716 _13_size = _sqlite3AbsInt32(tls, _sqlite3Atoi(tls, _zRight)) 143717 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 143718 _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(3), _13_size) 143719 func() int32 { 143720 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 143721 return i32(0) 143722 } 143723 return func() int32 { 143724 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113440), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(54008))) 143725 crt.X__builtin_abort(tls) 143726 return i32(0) 143727 }() 143728 }() 143729 *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(80 /* X10 */))) = _13_size 143730 _sqlite3BtreeSetCacheSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), (*XSchema)(unsafe.Pointer(_pDb.X4)).X10) 143731 _66: 143732 goto _65 143733 143734 _23: 143735 _14_pBt = (*XBtree)(unsafe.Pointer(_pDb.X1)) 143736 func() int32 { 143737 if _14_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 143738 return i32(0) 143739 } 143740 return func() int32 { 143741 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113460), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127424))) 143742 crt.X__builtin_abort(tls) 143743 return i32(0) 143744 }() 143745 }() 143746 if _zRight != nil { 143747 goto _71 143748 } 143749 143750 _15_size = func() int32 { 143751 if func() int32 { 143752 if _14_pBt != nil { 143753 return i32(1) 143754 } 143755 return func() int32 { 143756 func() int32 { 143757 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113462), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(5204))) 143758 crt.X__builtin_abort(tls) 143759 return i32(0) 143760 }() 143761 return i32(0) 143762 }() 143763 }() != 0 { 143764 return _sqlite3BtreeGetPageSize(tls, _14_pBt) 143765 } 143766 return i32(0) 143767 }() 143768 _returnSingleInt(tls, _v, int64(_15_size)) 143769 goto _76 143770 143771 _71: 143772 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(76 /* X27 */))) = _sqlite3Atoi(tls, _zRight) 143773 if i32(7) != _sqlite3BtreeSetPageSize(tls, _14_pBt, _db.X27, i32(-1), i32(0)) { 143774 goto _77 143775 } 143776 143777 _sqlite3OomFault(tls, _db) 143778 _77: 143779 _76: 143780 goto _65 143781 143782 _24: 143783 _18_pBt = (*XBtree)(unsafe.Pointer(_pDb.X1)) 143784 _18_b = i32(-1) 143785 func() int32 { 143786 if _18_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 143787 return i32(0) 143788 } 143789 return func() int32 { 143790 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113487), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127424))) 143791 crt.X__builtin_abort(tls) 143792 return i32(0) 143793 }() 143794 }() 143795 if _zRight == nil { 143796 goto _80 143797 } 143798 143799 _18_b = int32(_sqlite3GetBoolean(tls, _zRight, uint8(i32(0)))) 143800 _80: 143801 if (_pId2.X1) != uint32(i32(0)) || _18_b < i32(0) { 143802 goto _82 143803 } 143804 143805 _20_ii = i32(0) 143806 _83: 143807 if _20_ii >= (_db.X5) { 143808 goto _86 143809 } 143810 143811 _sqlite3BtreeSecureDelete(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_20_ii))).X1)), _18_b) 143812 _20_ii += 1 143813 goto _83 143814 143815 _86: 143816 _82: 143817 _18_b = _sqlite3BtreeSecureDelete(tls, _18_pBt, _18_b) 143818 _returnSingleInt(tls, _v, int64(_18_b)) 143819 goto _65 143820 143821 _25: 143822 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 143823 _22_iReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 143824 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zLeft)) + 1*uintptr(i32(0))))))))) != i32(112) { 143825 goto _87 143826 } 143827 143828 _sqlite3VdbeAddOp2(tls, _v, i32(159), _iDb, _22_iReg) 143829 goto _88 143830 143831 _87: 143832 _sqlite3VdbeAddOp3(tls, _v, i32(160), _iDb, _22_iReg, _sqlite3AbsInt32(tls, _sqlite3Atoi(tls, _zRight))) 143833 _88: 143834 _sqlite3VdbeAddOp2(tls, _v, i32(88), _22_iReg, i32(1)) 143835 goto _65 143836 143837 _26: 143838 _25_zRet = str(94640) 143839 _25_eMode = _getLockingMode(tls, _zRight) 143840 if (_pId2.X1) != uint32(i32(0)) || _25_eMode != i32(-1) { 143841 goto _90 143842 } 143843 143844 _25_eMode = int32(_db.X19) 143845 goto _91 143846 143847 _90: 143848 if (_pId2.X1) != uint32(i32(0)) { 143849 goto _92 143850 } 143851 143852 func() int32 { 143853 if _pDb == (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))) { 143854 return i32(0) 143855 } 143856 return func() int32 { 143857 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113559), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127432))) 143858 crt.X__builtin_abort(tls) 143859 return i32(0) 143860 }() 143861 }() 143862 _28_ii = i32(2) 143863 _95: 143864 if _28_ii >= (_db.X5) { 143865 goto _98 143866 } 143867 143868 _27_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_28_ii))).X1))) 143869 _sqlite3PagerLockingMode(tls, _27_pPager, _25_eMode) 143870 _28_ii += 1 143871 goto _95 143872 143873 _98: 143874 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(67 /* X19 */))) = uint8(_25_eMode) 143875 _92: 143876 _27_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 143877 _25_eMode = _sqlite3PagerLockingMode(tls, _27_pPager, _25_eMode) 143878 _91: 143879 func() int32 { 143880 if (_25_eMode == i32(0)) || (_25_eMode == i32(1)) { 143881 return i32(0) 143882 } 143883 return func() int32 { 143884 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113570), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127452))) 143885 crt.X__builtin_abort(tls) 143886 return i32(0) 143887 }() 143888 }() 143889 if _25_eMode != i32(1) { 143890 goto _102 143891 } 143892 143893 _25_zRet = str(94628) 143894 _102: 143895 _returnSingleText(tls, _v, _25_zRet) 143896 goto _65 143897 143898 _27: 143899 if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 143900 goto _103 143901 } 143902 143903 _31_eMode = i32(-1) 143904 goto _104 143905 143906 _103: 143907 _33_n = _sqlite3Strlen30(tls, _zRight) 143908 _31_eMode = i32(0) 143909 _105: 143910 if store1025(&_33_zMode, _sqlite3JournalModename(tls, _31_eMode)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 143911 goto _108 143912 } 143913 143914 if Xsqlite3_strnicmp(tls, _zRight, _33_zMode, _33_n) != i32(0) { 143915 goto _109 143916 } 143917 143918 goto _108 143919 143920 _109: 143921 _31_eMode += 1 143922 goto _105 143923 143924 _108: 143925 if _33_zMode != nil { 143926 goto _110 143927 } 143928 143929 _31_eMode = i32(-1) 143930 _110: 143931 _104: 143932 if _31_eMode != i32(-1) || (_pId2.X1) != uint32(i32(0)) { 143933 goto _112 143934 } 143935 143936 _iDb = i32(0) 143937 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pId2)) + uintptr(4 /* X1 */))) = uint32(i32(1)) 143938 _112: 143939 _31_ii = (_db.X5) - i32(1) 143940 _113: 143941 if _31_ii < i32(0) { 143942 goto _116 143943 } 143944 143945 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_31_ii))).X1)) == nil || _31_ii != _iDb && (_pId2.X1) != uint32(i32(0)) { 143946 goto _119 143947 } 143948 143949 _sqlite3VdbeUsesBtree(tls, _v, _31_ii) 143950 _sqlite3VdbeAddOp3(tls, _v, i32(9), _31_ii, i32(1), _31_eMode) 143951 _119: 143952 _31_ii -= 1 143953 goto _113 143954 143955 _116: 143956 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) 143957 goto _65 143958 143959 _28: 143960 _39_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 143961 _39_iLimit = i64(-2) 143962 if _zRight == nil { 143963 goto _120 143964 } 143965 143966 _sqlite3DecOrHexToI64(tls, _zRight, &_39_iLimit) 143967 if _39_iLimit >= int64(i32(-1)) { 143968 goto _121 143969 } 143970 143971 _39_iLimit = int64(i32(-1)) 143972 _121: 143973 _120: 143974 _39_iLimit = _sqlite3PagerJournalSizeLimit(tls, _39_pPager, _39_iLimit) 143975 _returnSingleInt(tls, _v, _39_iLimit) 143976 goto _65 143977 143978 _29: 143979 _41_pBt = (*XBtree)(unsafe.Pointer(_pDb.X1)) 143980 func() int32 { 143981 if _41_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 143982 return i32(0) 143983 } 143984 return func() int32 { 143985 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113649), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127424))) 143986 crt.X__builtin_abort(tls) 143987 return i32(0) 143988 }() 143989 }() 143990 if _zRight != nil { 143991 goto _124 143992 } 143993 143994 _returnSingleInt(tls, _v, int64(_sqlite3BtreeGetAutoVacuum(tls, _41_pBt))) 143995 goto _125 143996 143997 _124: 143998 _43_eAuto = _getAutoVacuum(tls, _zRight) 143999 func() int32 { 144000 if (_43_eAuto >= i32(0)) && (_43_eAuto <= i32(2)) { 144001 return i32(0) 144002 } 144003 return func() int32 { 144004 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113654), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127524))) 144005 crt.X__builtin_abort(tls) 144006 return i32(0) 144007 }() 144008 }() 144009 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X20 */))) = int8(uint8(_43_eAuto)) 144010 _rc = _sqlite3BtreeSetAutoVacuum(tls, _41_pBt, _43_eAuto) 144011 if _rc != i32(0) || _43_eAuto != i32(1) && _43_eAuto != i32(2) { 144012 goto _131 144013 } 144014 144015 _44_iAddr = _sqlite3VdbeCurrentAddr(tls, _v) 144016 _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(5)) 144017 _44_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(5), (*T8124566)(unsafe.Pointer(&_sqlite3PragmaØ00setMeta6Ø004)), _sqlite3PragmaØ00iLnØ003) 144018 if func() int32 { 144019 if _44_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 144020 return func() int32 { 144021 func() int32 { 144022 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113680), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(5204))) 144023 crt.X__builtin_abort(tls) 144024 return i32(0) 144025 }() 144026 return i32(1) 144027 }() 144028 } 144029 return i32(0) 144030 }() == 0 { 144031 goto _134 144032 } 144033 144034 goto _65 144035 144036 _134: 144037 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+24*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb 144038 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+24*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb 144039 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+24*uintptr(i32(2)))))) + uintptr(8 /* X4 */))) = _44_iAddr + i32(4) 144040 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+24*uintptr(i32(4)))))) + uintptr(4 /* X3 */))) = _iDb 144041 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_44_aOp))+24*uintptr(i32(4)))))) + uintptr(12 /* X5 */))) = _43_eAuto - i32(1) 144042 _sqlite3VdbeUsesBtree(tls, _v, _iDb) 144043 _131: 144044 _125: 144045 goto _65 144046 144047 _30: 144048 if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3GetInt32(tls, _zRight, &_45_iLimit) != 0 && _45_iLimit > i32(0) { 144049 goto _137 144050 } 144051 144052 _45_iLimit = i32(2147483647) 144053 _137: 144054 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 144055 _sqlite3VdbeAddOp2(tls, _v, i32(77), _45_iLimit, i32(1)) 144056 _45_addr = _sqlite3VdbeAddOp1(tls, _v, i32(70), _iDb) 144057 _sqlite3VdbeAddOp1(tls, _v, i32(88), i32(1)) 144058 _sqlite3VdbeAddOp2(tls, _v, i32(92), i32(1), i32(-1)) 144059 _sqlite3VdbeAddOp2(tls, _v, i32(67), i32(1), _45_addr) 144060 _sqlite3VdbeJumpHere(tls, _v, _45_addr) 144061 goto _65 144062 144063 _31: 144064 func() int32 { 144065 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 144066 return i32(0) 144067 } 144068 return func() int32 { 144069 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113728), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(54008))) 144070 crt.X__builtin_abort(tls) 144071 return i32(0) 144072 }() 144073 }() 144074 if _zRight != nil { 144075 goto _140 144076 } 144077 144078 _returnSingleInt(tls, _v, int64((*XSchema)(unsafe.Pointer(_pDb.X4)).X10)) 144079 goto _141 144080 144081 _140: 144082 _49_size = _sqlite3Atoi(tls, _zRight) 144083 *(*int32)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(80 /* X10 */))) = _49_size 144084 _sqlite3BtreeSetCacheSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), (*XSchema)(unsafe.Pointer(_pDb.X4)).X10) 144085 _141: 144086 goto _65 144087 144088 _32: 144089 func() int32 { 144090 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 144091 return i32(0) 144092 } 144093 return func() int32 { 144094 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113762), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(54008))) 144095 crt.X__builtin_abort(tls) 144096 return i32(0) 144097 }() 144098 }() 144099 if _zRight != nil { 144100 goto _144 144101 } 144102 144103 _returnSingleInt(tls, _v, int64(func() int32 { 144104 if ((_db.X6) & i32(32)) == i32(0) { 144105 return i32(0) 144106 } 144107 return _sqlite3BtreeSetSpillSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), i32(0)) 144108 }())) 144109 goto _147 144110 144111 _144: 144112 _52_size = i32(1) 144113 if _sqlite3GetInt32(tls, _zRight, &_52_size) == 0 { 144114 goto _148 144115 } 144116 144117 _sqlite3BtreeSetSpillSize(tls, (*XBtree)(unsafe.Pointer(_pDb.X1)), _52_size) 144118 _148: 144119 if _sqlite3GetBoolean(tls, _zRight, uint8(bool2int(_52_size != i32(0)))) == 0 { 144120 goto _149 144121 } 144122 144123 { 144124 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 144125 *p = (*p) | i32(32) 144126 sink961 = *p 144127 } 144128 goto _150 144129 144130 _149: 144131 { 144132 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 144133 *p = (*p) & i32(-33) 144134 sink961 = *p 144135 } 144136 _150: 144137 _setAllPagerFlags(tls, _db) 144138 _147: 144139 goto _65 144140 144141 _33: 144142 func() int32 { 144143 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 144144 return i32(0) 144145 } 144146 return func() int32 { 144147 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113799), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(54008))) 144148 crt.X__builtin_abort(tls) 144149 return i32(0) 144150 }() 144151 }() 144152 if _zRight == nil { 144153 goto _153 144154 } 144155 144156 _sqlite3DecOrHexToI64(tls, _zRight, &_56_sz) 144157 if _56_sz >= int64(i32(0)) { 144158 goto _154 144159 } 144160 144161 _56_sz = _sqlite3Config.X17 144162 _154: 144163 if (_pId2.X1) != uint32(i32(0)) { 144164 goto _155 144165 } 144166 144167 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(36 /* X8 */))) = _56_sz 144168 _155: 144169 _57_ii = (_db.X5) - i32(1) 144170 _156: 144171 if _57_ii < i32(0) { 144172 goto _159 144173 } 144174 144175 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_57_ii))).X1)) == nil || _57_ii != _iDb && (_pId2.X1) != uint32(i32(0)) { 144176 goto _162 144177 } 144178 144179 _sqlite3BtreeSetMmapLimit(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_57_ii))).X1)), _56_sz) 144180 _162: 144181 _57_ii -= 1 144182 goto _156 144183 144184 _159: 144185 _153: 144186 _56_sz = int64(i32(-1)) 144187 _rc = Xsqlite3_file_control(tls, _db, _zDb, i32(18), (unsafe.Pointer)(&_56_sz)) 144188 if _rc != i32(0) { 144189 goto _163 144190 } 144191 144192 _returnSingleInt(tls, _v, _56_sz) 144193 goto _164 144194 144195 _163: 144196 if _rc == i32(12) { 144197 goto _165 144198 } 144199 144200 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(36 /* X16 */))) += 1 144201 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(12 /* X3 */))) = _rc 144202 _165: 144203 _164: 144204 goto _65 144205 144206 _34: 144207 if _zRight != nil { 144208 goto _166 144209 } 144210 144211 _returnSingleInt(tls, _v, int64(_db.X16)) 144212 goto _167 144213 144214 _166: 144215 _changeTempStorage(tls, _pParse, _zRight) 144216 _167: 144217 goto _65 144218 144219 _35: 144220 if _zRight != nil { 144221 goto _168 144222 } 144223 144224 _returnSingleText(tls, _v, Xsqlite3_temp_directory) 144225 goto _169 144226 144227 _168: 144228 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRight)) + 1*uintptr(i32(0))))) == 0 { 144229 goto _170 144230 } 144231 144232 _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), _zRight, i32(1), &_68_res) 144233 if _rc == i32(0) && _68_res != i32(0) { 144234 goto _172 144235 } 144236 144237 _sqlite3ErrorMsg(tls, _pParse, str(127548)) 144238 goto _pragma_out 144239 144240 _172: 144241 _170: 144242 if i32(0) == 0 && (i32(1) == 0 || int32(_db.X16) > i32(1)) && i32(0) == 0 { 144243 goto _176 144244 } 144245 144246 _invalidateTempStorage(tls, _pParse) 144247 _176: 144248 Xsqlite3_free(tls, (unsafe.Pointer)(Xsqlite3_temp_directory)) 144249 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRight)) + 1*uintptr(i32(0))))) == 0 { 144250 goto _177 144251 } 144252 144253 Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(_zRight)) 144254 bug20530(Xsqlite3_temp_directory) 144255 goto _178 144256 144257 _177: 144258 Xsqlite3_temp_directory = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 144259 bug20530(Xsqlite3_temp_directory) 144260 _178: 144261 _169: 144262 goto _65 144263 144264 _36: 144265 if _zRight != nil { 144266 goto _179 144267 } 144268 144269 _returnSingleText(tls, _v, Xsqlite3_data_directory) 144270 goto _180 144271 144272 _179: 144273 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRight)) + 1*uintptr(i32(0))))) == 0 { 144274 goto _181 144275 } 144276 144277 _rc = _sqlite3OsAccess(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), _zRight, i32(1), &_76_res) 144278 if _rc == i32(0) && _76_res != i32(0) { 144279 goto _183 144280 } 144281 144282 _sqlite3ErrorMsg(tls, _pParse, str(127548)) 144283 goto _pragma_out 144284 144285 _183: 144286 _181: 144287 Xsqlite3_free(tls, (unsafe.Pointer)(Xsqlite3_data_directory)) 144288 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRight)) + 1*uintptr(i32(0))))) == 0 { 144289 goto _184 144290 } 144291 144292 Xsqlite3_data_directory = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(_zRight)) 144293 bug20530(Xsqlite3_data_directory) 144294 goto _185 144295 144296 _184: 144297 Xsqlite3_data_directory = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 144298 bug20530(Xsqlite3_data_directory) 144299 _185: 144300 _180: 144301 goto _65 144302 144303 _37: 144304 if _zRight != nil { 144305 goto _186 144306 } 144307 144308 _returnSingleInt(tls, _v, int64(int32(_pDb.X2)-i32(1))) 144309 goto _187 144310 144311 _186: 144312 if (_db.X15) != 0 { 144313 goto _188 144314 } 144315 144316 _sqlite3ErrorMsg(tls, _pParse, str(127576)) 144317 goto _189 144318 144319 _188: 144320 if _iDb == i32(1) { 144321 goto _190 144322 } 144323 144324 _84_iLevel = (int32(_getSafetyLevel(tls, _zRight, i32(0), uint8(i32(1)))) + i32(1)) & i32(7) 144325 if _84_iLevel != i32(0) { 144326 goto _191 144327 } 144328 144329 _84_iLevel = i32(1) 144330 _191: 144331 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(8 /* X2 */))) = uint8(_84_iLevel) 144332 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(9 /* X3 */))) = uint8(i32(1)) 144333 _setAllPagerFlags(tls, _db) 144334 _190: 144335 _189: 144336 _187: 144337 goto _65 144338 144339 _38: 144340 if _zRight != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 144341 goto _192 144342 } 144343 144344 _setPragmaResultColumnNames(tls, _v, _pPragma) 144345 _returnSingleInt(tls, _v, int64(bool2int((uint32(_db.X6)&(_pPragma.X5)) != uint32(i32(0))))) 144346 goto _193 144347 144348 _192: 144349 _87_mask = int32(_pPragma.X5) 144350 if int32(_db.X15) != i32(0) { 144351 goto _194 144352 } 144353 144354 { 144355 p := &_87_mask 144356 *p = (*p) & i32(-524289) 144357 sink961 = *p 144358 } 144359 _194: 144360 if _sqlite3GetBoolean(tls, _zRight, uint8(i32(0))) == 0 { 144361 goto _195 144362 } 144363 144364 { 144365 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 144366 *p = (*p) | _87_mask 144367 sink961 = *p 144368 } 144369 goto _196 144370 144371 _195: 144372 { 144373 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 144374 *p = (*p) & (^_87_mask) 144375 sink961 = *p 144376 } 144377 if _87_mask != i32(33554432) { 144378 goto _197 144379 } 144380 144381 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(444 /* X78 */))) = int64(i32(0)) 144382 _197: 144383 _196: 144384 _sqlite3VdbeAddOp0(tls, _v, i32(151)) 144385 _setAllPagerFlags(tls, _db) 144386 _193: 144387 goto _65 144388 144389 _39: 144390 if _zRight == nil { 144391 goto _198 144392 } 144393 144394 _91_pTab = _sqlite3LocateTable(tls, _pParse, uint32(i32(2)), _zRight, _zDb) 144395 if _91_pTab == nil { 144396 goto _199 144397 } 144398 144399 _92_nHidden = i32(0) 144400 _92_pPk = _sqlite3PrimaryKeyIndex(tls, _91_pTab) 144401 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(6) 144402 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 144403 _sqlite3ViewGetColumnNames(tls, _pParse, _91_pTab) 144404 *func() **XColumn { _92_i = i32(0); return &_92_pCol }() = (*XColumn)(unsafe.Pointer(_91_pTab.X1)) 144405 _200: 144406 if _92_i >= int32(_91_pTab.X11) { 144407 goto _203 144408 } 144409 144410 if (int32(_92_pCol.X6) & i32(2)) == i32(0) { 144411 goto _204 144412 } 144413 144414 _92_nHidden += 1 144415 goto _201 144416 144417 _204: 144418 if (int32(_92_pCol.X6) & i32(1)) != i32(0) { 144419 goto _205 144420 } 144421 144422 _92_k = i32(0) 144423 goto _206 144424 144425 _205: 144426 if _92_pPk != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 144427 goto _207 144428 } 144429 144430 _92_k = i32(1) 144431 goto _208 144432 144433 _207: 144434 _92_k = i32(1) 144435 _209: 144436 if _92_k > int32(_91_pTab.X11) || int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_92_pPk.X1)) + 2*uintptr(_92_k-i32(1))))) == _92_i { 144437 goto _213 144438 } 144439 144440 _92_k += 1 144441 goto _209 144442 144443 _213: 144444 _208: 144445 _206: 144446 func() int32 { 144447 if ((*XExpr)(unsafe.Pointer(_92_pCol.X1)) == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32((*XExpr)(unsafe.Pointer(_92_pCol.X1)).X0) == i32(161)) { 144448 return i32(0) 144449 } 144450 return func() int32 { 144451 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114063), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127632))) 144452 crt.X__builtin_abort(tls) 144453 return i32(0) 144454 }() 144455 }() 144456 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127676), _92_i-_92_nHidden, unsafe.Pointer(_92_pCol.X0), unsafe.Pointer(_sqlite3ColumnType(tls, _92_pCol, str(196))), func() int32 { 144457 if (_92_pCol.X3) != 0 { 144458 return i32(1) 144459 } 144460 return i32(0) 144461 }(), unsafe.Pointer(func() *int8 { 144462 if (*XExpr)(unsafe.Pointer(_92_pCol.X1)) != nil { 144463 return (*(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr(_92_pCol.X1) + uintptr(8 /* X3 */)))))) 144464 } 144465 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 144466 }()), _92_k) 144467 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(6)) 144468 _201: 144469 *(*uintptr)(unsafe.Pointer(func() **XColumn { _92_i += 1; return &_92_pCol }())) += uintptr(16) 144470 goto _200 144471 144472 _203: 144473 _199: 144474 _198: 144475 goto _65 144476 144477 _40: 144478 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(5) 144479 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 144480 _99_i = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(8 /* X2 */))).X2)) 144481 _221: 144482 if _99_i == nil { 144483 goto _224 144484 } 144485 144486 _100_pTab = (*XTable)(unsafe.Pointer(_99_i.X2)) 144487 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127684), unsafe.Pointer(_100_pTab.X0), i32(0), int32(_100_pTab.X13), int32(_100_pTab.X12), _100_pTab.X9) 144488 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(5)) 144489 _99_pIdx = (*XIndex)(unsafe.Pointer(_100_pTab.X2)) 144490 _225: 144491 if _99_pIdx == nil { 144492 goto _228 144493 } 144494 144495 _sqlite3VdbeMultiLoad(tls, _v, i32(2), str(127692), unsafe.Pointer(_99_pIdx.X0), int32(_99_pIdx.X12), int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_99_pIdx.X2)) + 2*uintptr(i32(0))))), (uint32((_99_pIdx.X16)>>uint(i32(7)))<<uint(i32(31)))>>uint(i32(31))) 144496 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(5)) 144497 _99_pIdx = (*XIndex)(unsafe.Pointer(_99_pIdx.X5)) 144498 goto _225 144499 144500 _228: 144501 _99_i = (*XHashElem)(unsafe.Pointer(_99_i.X0)) 144502 goto _221 144503 144504 _224: 144505 goto _65 144506 144507 _41: 144508 if _zRight == nil { 144509 goto _229 144510 } 144511 144512 _102_pIdx = _sqlite3FindIndex(tls, _db, _zRight, _zDb) 144513 if _102_pIdx == nil { 144514 goto _230 144515 } 144516 144517 if (_pPragma.X5) == 0 { 144518 goto _231 144519 } 144520 144521 _103_mx = int32(_102_pIdx.X14) 144522 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(6) 144523 goto _232 144524 144525 _231: 144526 _103_mx = int32(_102_pIdx.X13) 144527 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(3) 144528 _232: 144529 _102_pTab = (*XTable)(unsafe.Pointer(_102_pIdx.X3)) 144530 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 144531 func() int32 { 144532 if (_pParse.X18) <= int32(_pPragma.X4) { 144533 return i32(0) 144534 } 144535 return func() int32 { 144536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114123), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127700))) 144537 crt.X__builtin_abort(tls) 144538 return i32(0) 144539 }() 144540 }() 144541 _103_i = i32(0) 144542 _235: 144543 if _103_i >= _103_mx { 144544 goto _238 144545 } 144546 144547 _106_cnum = *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_102_pIdx.X1)) + 2*uintptr(_103_i))) 144548 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127736), _103_i, int32(_106_cnum), unsafe.Pointer(func() *int8 { 144549 if int32(_106_cnum) < i32(0) { 144550 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 144551 } 144552 return ((*XColumn)(unsafe.Pointer(uintptr(_102_pTab.X1) + 16*uintptr(_106_cnum))).X0) 144553 }())) 144554 if (_pPragma.X5) == 0 { 144555 goto _241 144556 } 144557 144558 _sqlite3VdbeMultiLoad(tls, _v, i32(4), str(127740), int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_102_pIdx.X7)) + 1*uintptr(_103_i)))), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_102_pIdx.X8)) + 4*uintptr(_103_i)))), bool2int(_103_i < int32(_102_pIdx.X13))) 144559 _241: 144560 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), _pParse.X18) 144561 _103_i += 1 144562 goto _235 144563 144564 _238: 144565 _230: 144566 _229: 144567 goto _65 144568 144569 _42: 144570 if _zRight == nil { 144571 goto _242 144572 } 144573 144574 _108_pTab = _sqlite3FindTable(tls, _db, _zRight, _zDb) 144575 if _108_pTab == nil { 144576 goto _243 144577 } 144578 144579 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(5) 144580 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 144581 *func() *int32 { _108_pIdx = (*XIndex)(unsafe.Pointer(_108_pTab.X2)); return &_108_i }() = i32(0) 144582 _244: 144583 if _108_pIdx == nil { 144584 goto _247 144585 } 144586 144587 _110_azOrigin = [3]*int8{} 144588 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_110_azOrigin)) + 4*uintptr(i32(0)))) = str(127744) 144589 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_110_azOrigin)) + 4*uintptr(i32(1)))) = str(127748) 144590 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_110_azOrigin)) + 4*uintptr(i32(2)))) = str(98984) 144591 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127752), _108_i, unsafe.Pointer(_108_pIdx.X0), bool2int(int32(_108_pIdx.X15) != i32(0)), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_110_azOrigin)) + 4*uintptr((uint32(_108_pIdx.X16)<<uint(i32(30)))>>uint(i32(30)))))), bool2int((*XExpr)(unsafe.Pointer(_108_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))))) 144592 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(5)) 144593 *func() *int32 { _108_pIdx = (*XIndex)(unsafe.Pointer(_108_pIdx.X5)); return &_108_i }() += 1 144594 goto _244 144595 144596 _247: 144597 _243: 144598 _242: 144599 goto _65 144600 144601 _43: 144602 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(3) 144603 _111_i = i32(0) 144604 _248: 144605 if _111_i >= (_db.X5) { 144606 goto _251 144607 } 144608 144609 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_111_i))).X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 144610 goto _252 144611 } 144612 144613 goto _249 144614 144615 _252: 144616 func() int32 { 144617 if ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_111_i))).X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 144618 return i32(0) 144619 } 144620 return func() int32 { 144621 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114167), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127760))) 144622 crt.X__builtin_abort(tls) 144623 return i32(0) 144624 }() 144625 }() 144626 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127784), _111_i, unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_111_i))).X0), unsafe.Pointer(_sqlite3BtreeGetFilename(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_111_i))).X1))))) 144627 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(3)) 144628 _249: 144629 _111_i += 1 144630 goto _248 144631 144632 _251: 144633 goto _65 144634 144635 _44: 144636 _113_i = i32(0) 144637 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(2) 144638 _113_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(360 /* X70 */))).X2)) 144639 _255: 144640 if _113_p == nil { 144641 goto _258 144642 } 144643 144644 _114_pColl = (*XCollSeq)(unsafe.Pointer(_113_p.X2)) 144645 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127788), postInc961(&_113_i, int32(1)), unsafe.Pointer(_114_pColl.X0)) 144646 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(2)) 144647 _113_p = (*XHashElem)(unsafe.Pointer(_113_p.X0)) 144648 goto _255 144649 144650 _258: 144651 goto _65 144652 144653 _45: 144654 if _zRight == nil { 144655 goto _259 144656 } 144657 144658 _115_pTab = _sqlite3FindTable(tls, _db, _zRight, _zDb) 144659 if _115_pTab == nil { 144660 goto _260 144661 } 144662 144663 _115_pFK = (*XFKey)(unsafe.Pointer(_115_pTab.X4)) 144664 if _115_pFK == nil { 144665 goto _261 144666 } 144667 144668 _117_i = i32(0) 144669 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(8) 144670 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 144671 _262: 144672 if _115_pFK == nil { 144673 goto _263 144674 } 144675 144676 _118_j = i32(0) 144677 _264: 144678 if _118_j >= (_115_pFK.X5) { 144679 goto _267 144680 } 144681 144682 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(127792), _117_i, _118_j, unsafe.Pointer(_115_pFK.X2), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_115_pTab.X1)+16*uintptr((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 144683 X0 int32 144684 X1 *int8 144685 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_115_pFK))+uintptr(36 /* X9 */)))))+8*uintptr(_118_j))).X0))).X0), unsafe.Pointer((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 144686 X0 int32 144687 X1 *int8 144688 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_115_pFK))+uintptr(36 /* X9 */)))))+8*uintptr(_118_j))).X1), unsafe.Pointer(_actionName(tls, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_115_pFK))+uintptr(25 /* X7 */))))) + 1*uintptr(i32(1)))))), unsafe.Pointer(_actionName(tls, *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[2]uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_115_pFK))+uintptr(25 /* X7 */))))) + 1*uintptr(i32(0)))))), unsafe.Pointer(str(127804))) 144689 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(8)) 144690 _118_j += 1 144691 goto _264 144692 144693 _267: 144694 _117_i += 1 144695 _115_pFK = (*XFKey)(unsafe.Pointer(_115_pFK.X1)) 144696 goto _262 144697 144698 _263: 144699 _261: 144700 _260: 144701 _259: 144702 goto _65 144703 144704 _46: 144705 _120_regResult = (_pParse.X18) + i32(1) 144706 { 144707 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) 144708 *p = (*p) + i32(4) 144709 sink961 = *p 144710 } 144711 _120_regKey = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 144712 _120_regRow = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 144713 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 144714 _120_k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(8 /* X2 */))).X2)) 144715 _268: 144716 if _120_k == nil { 144717 goto _269 144718 } 144719 144720 if _zRight == nil { 144721 goto _270 144722 } 144723 144724 _120_pTab = _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _zRight, _zDb) 144725 _120_k = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 144726 goto _271 144727 144728 _270: 144729 _120_pTab = (*XTable)(unsafe.Pointer(_120_k.X2)) 144730 _120_k = (*XHashElem)(unsafe.Pointer(_120_k.X0)) 144731 _271: 144732 if _120_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) && (*XFKey)(unsafe.Pointer(_120_pTab.X4)) != (*XFKey)(unsafe.Pointer(uintptr(i32(0)))) { 144733 goto _273 144734 } 144735 144736 goto _268 144737 144738 _273: 144739 _sqlite3TableLock(tls, _pParse, _iDb, _120_pTab.X7, uint8(i32(0)), _120_pTab.X0) 144740 if (int32(_120_pTab.X11) + _120_regRow) <= (_pParse.X18) { 144741 goto _274 144742 } 144743 144744 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = int32(_120_pTab.X11) + _120_regRow 144745 _274: 144746 _sqlite3OpenTable(tls, _pParse, i32(0), _iDb, _120_pTab, i32(105)) 144747 _sqlite3VdbeLoadString(tls, _v, _120_regResult, _120_pTab.X0) 144748 *func() **XFKey { _120_i = i32(1); return &_120_pFK }() = (*XFKey)(unsafe.Pointer(_120_pTab.X4)) 144749 _275: 144750 if _120_pFK == nil { 144751 goto _278 144752 } 144753 144754 _120_pParent = _sqlite3FindTable(tls, _db, _120_pFK.X2, _zDb) 144755 if _120_pParent != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 144756 goto _279 144757 } 144758 144759 goto _276 144760 144761 _279: 144762 _120_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 144763 _sqlite3TableLock(tls, _pParse, _iDb, _120_pParent.X7, uint8(i32(0)), _120_pParent.X0) 144764 _120_x = _sqlite3FkLocateIndex(tls, _pParse, _120_pParent, _120_pFK, &_120_pIdx, (**int32)(unsafe.Pointer(uintptr(i32(0))))) 144765 if _120_x != i32(0) { 144766 goto _280 144767 } 144768 144769 if _120_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 144770 goto _281 144771 } 144772 144773 _sqlite3OpenTable(tls, _pParse, _120_i, _iDb, _120_pParent, i32(105)) 144774 goto _282 144775 144776 _281: 144777 _sqlite3VdbeAddOp3(tls, _v, i32(105), _120_i, _120_pIdx.X11, _iDb) 144778 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _120_pIdx) 144779 _282: 144780 goto _283 144781 144782 _280: 144783 _120_k = (*XHashElem)(unsafe.Pointer(uintptr(i32(0)))) 144784 goto _278 144785 144786 _283: 144787 _276: 144788 *func() **XFKey { _120_i += 1; return &_120_pFK }() = (*XFKey)(unsafe.Pointer(_120_pFK.X1)) 144789 goto _275 144790 144791 _278: 144792 func() int32 { 144793 if ((_pParse.X16) > i32(0)) || (_120_pFK == (*XFKey)(unsafe.Pointer(uintptr(i32(0))))) { 144794 return i32(0) 144795 } 144796 return func() int32 { 144797 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114279), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127812))) 144798 crt.X__builtin_abort(tls) 144799 return i32(0) 144800 }() 144801 }() 144802 if _120_pFK == nil { 144803 goto _287 144804 } 144805 144806 goto _269 144807 144808 _287: 144809 if (_pParse.X17) >= _120_i { 144810 goto _288 144811 } 144812 144813 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = _120_i 144814 _288: 144815 _120_addrTop = _sqlite3VdbeAddOp1(tls, _v, i32(58), i32(0)) 144816 *func() **XFKey { _120_i = i32(1); return &_120_pFK }() = (*XFKey)(unsafe.Pointer(_120_pTab.X4)) 144817 _289: 144818 if _120_pFK == nil { 144819 goto _292 144820 } 144821 144822 _120_pParent = _sqlite3FindTable(tls, _db, _120_pFK.X2, _zDb) 144823 _120_pIdx = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 144824 _120_aiCols = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 144825 if _120_pParent == nil { 144826 goto _293 144827 } 144828 144829 _120_x = _sqlite3FkLocateIndex(tls, _pParse, _120_pParent, _120_pFK, &_120_pIdx, &_120_aiCols) 144830 func() int32 { 144831 if _120_x == i32(0) { 144832 return i32(0) 144833 } 144834 return func() int32 { 144835 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114289), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127840))) 144836 crt.X__builtin_abort(tls) 144837 return i32(0) 144838 }() 144839 }() 144840 _293: 144841 _120_addrOk = _sqlite3VdbeMakeLabel(tls, _v) 144842 if _120_pParent == nil || _120_pIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 144843 goto _297 144844 } 144845 144846 _131_iKey = (*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 144847 X0 int32 144848 X1 *int8 144849 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_120_pFK))+uintptr(36 /* X9 */))))) + 8*uintptr(i32(0)))).X0 144850 func() int32 { 144851 if (_131_iKey >= i32(0)) && (_131_iKey < int32(_120_pTab.X11)) { 144852 return i32(0) 144853 } 144854 return func() int32 { 144855 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114294), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127848))) 144856 crt.X__builtin_abort(tls) 144857 return i32(0) 144858 }() 144859 }() 144860 if _131_iKey == int32(_120_pTab.X10) { 144861 goto _301 144862 } 144863 144864 _sqlite3VdbeAddOp3(tls, _v, i32(98), i32(0), _131_iKey, _120_regRow) 144865 _sqlite3ColumnDefault(tls, _v, _120_pTab, _131_iKey, _120_regRow) 144866 _sqlite3VdbeAddOp2(tls, _v, i32(34), _120_regRow, _120_addrOk) 144867 goto _302 144868 144869 _301: 144870 _sqlite3VdbeAddOp2(tls, _v, i32(123), i32(0), _120_regRow) 144871 _302: 144872 _sqlite3VdbeAddOp3(tls, _v, i32(32), _120_i, i32(0), _120_regRow) 144873 _sqlite3VdbeGoto(tls, _v, _120_addrOk) 144874 _sqlite3VdbeJumpHere(tls, _v, _sqlite3VdbeCurrentAddr(tls, _v)-i32(2)) 144875 goto _303 144876 144877 _297: 144878 _120_j = i32(0) 144879 _304: 144880 if _120_j >= (_120_pFK.X5) { 144881 goto _307 144882 } 144883 144884 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _120_pTab, i32(0), func() int32 { 144885 if _120_aiCols != nil { 144886 return (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_120_aiCols)) + 4*uintptr(_120_j)))) 144887 } 144888 return ((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 144889 X0 int32 144890 X1 *int8 144891 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_120_pFK))+uintptr(36 /* X9 */))))) + 8*uintptr(_120_j))).X0) 144892 }(), _120_regRow+_120_j) 144893 _sqlite3VdbeAddOp2(tls, _v, i32(34), _120_regRow+_120_j, _120_addrOk) 144894 _120_j += 1 144895 goto _304 144896 144897 _307: 144898 if _120_pParent == nil { 144899 goto _310 144900 } 144901 144902 _sqlite3VdbeAddOp4(tls, _v, i32(100), _120_regRow, _120_pFK.X5, _120_regKey, _sqlite3IndexAffinityStr(tls, _db, _120_pIdx), _120_pFK.X5) 144903 _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _120_i, _120_addrOk, _120_regKey, i32(0)) 144904 _310: 144905 _303: 144906 _sqlite3VdbeAddOp2(tls, _v, i32(123), i32(0), _120_regResult+i32(1)) 144907 _sqlite3VdbeMultiLoad(tls, _v, _120_regResult+i32(2), str(127876), unsafe.Pointer(_120_pFK.X2), _120_i-i32(1)) 144908 _sqlite3VdbeAddOp2(tls, _v, i32(88), _120_regResult, i32(4)) 144909 _sqlite3VdbeResolveLabel(tls, _v, _120_addrOk) 144910 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_120_aiCols)) 144911 *func() **XFKey { _120_i += 1; return &_120_pFK }() = (*XFKey)(unsafe.Pointer(_120_pFK.X1)) 144912 goto _289 144913 144914 _292: 144915 _sqlite3VdbeAddOp2(tls, _v, i32(7), i32(0), _120_addrTop+i32(1)) 144916 _sqlite3VdbeJumpHere(tls, _v, _120_addrTop) 144917 goto _268 144918 144919 _269: 144920 goto _65 144921 144922 _47: 144923 if _zRight == nil { 144924 goto _311 144925 } 144926 144927 if _sqlite3GetBoolean(tls, _zRight, uint8(i32(0))) == 0 { 144928 goto _312 144929 } 144930 144931 _sqlite3ParserTrace(tls, (*unsafe.Pointer)(unsafe.Pointer(Xstdout)), str(127880)) 144932 goto _313 144933 144934 _312: 144935 _sqlite3ParserTrace(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 144936 _313: 144937 _311: 144938 goto _65 144939 144940 _48: 144941 if _zRight == nil { 144942 goto _314 144943 } 144944 144945 _sqlite3RegisterLikeFunctions(tls, _db, int32(_sqlite3GetBoolean(tls, _zRight, uint8(i32(0))))) 144946 _314: 144947 goto _65 144948 144949 _49: 144950 _143_isQuick = bool2int(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zLeft)) + 1*uintptr(i32(0))))))))) == i32(113)) 144951 func() int32 { 144952 if _iDb >= i32(0) { 144953 return i32(0) 144954 } 144955 return func() int32 { 144956 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114386), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(44324))) 144957 crt.X__builtin_abort(tls) 144958 return i32(0) 144959 }() 144960 }() 144961 func() int32 { 144962 if (_iDb == i32(0)) || ((_pId2.X0) != nil) { 144963 return i32(0) 144964 } 144965 return func() int32 { 144966 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114387), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127892))) 144967 crt.X__builtin_abort(tls) 144968 return i32(0) 144969 }() 144970 }() 144971 if (_pId2.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 144972 goto _320 144973 } 144974 144975 _iDb = i32(-1) 144976 _320: 144977 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(6) 144978 _143_mxErr = i32(100) 144979 if _zRight == nil { 144980 goto _321 144981 } 144982 144983 _sqlite3GetInt32(tls, _zRight, &_143_mxErr) 144984 if _143_mxErr > i32(0) { 144985 goto _322 144986 } 144987 144988 _143_mxErr = i32(100) 144989 _322: 144990 _321: 144991 _sqlite3VdbeAddOp2(tls, _v, i32(77), _143_mxErr-i32(1), i32(1)) 144992 _143_i = i32(0) 144993 _323: 144994 if _143_i >= (_db.X5) { 144995 goto _326 144996 } 144997 144998 _146_cnt = i32(0) 144999 _146_mxIdx = i32(0) 145000 goto _327 145001 145002 _327: 145003 if _iDb < i32(0) || _143_i == _iDb { 145004 goto _329 145005 } 145006 145007 goto _324 145008 145009 _329: 145010 _sqlite3CodeVerifySchema(tls, _pParse, _143_i) 145011 func() int32 { 145012 if _sqlite3SchemaMutexHeld(tls, _db, _143_i, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 145013 return i32(0) 145014 } 145015 return func() int32 { 145016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127912))) 145017 crt.X__builtin_abort(tls) 145018 return i32(0) 145019 }() 145020 }() 145021 _146_pTbls = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_143_i))).X4) + uintptr(8 /* X2 */))) 145022 *func() **XHashElem { _146_cnt = i32(0); return &_146_x }() = (*XHashElem)(unsafe.Pointer(_146_pTbls.X2)) 145023 _332: 145024 if _146_x == nil { 145025 goto _335 145026 } 145027 145028 _147_pTab = (*XTable)(unsafe.Pointer(_146_x.X2)) 145029 if ((_147_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 145030 goto _336 145031 } 145032 145033 _146_cnt += 1 145034 _336: 145035 *func() **XIndex { _146_nIdx = i32(0); return &_147_pIdx }() = (*XIndex)(unsafe.Pointer(_147_pTab.X2)) 145036 _337: 145037 if _147_pIdx == nil { 145038 goto _340 145039 } 145040 145041 _146_cnt += 1 145042 *func() *int32 { _147_pIdx = (*XIndex)(unsafe.Pointer(_147_pIdx.X5)); return &_146_nIdx }() += 1 145043 goto _337 145044 145045 _340: 145046 if _146_nIdx <= _146_mxIdx { 145047 goto _341 145048 } 145049 145050 _146_mxIdx = _146_nIdx 145051 _341: 145052 _146_x = (*XHashElem)(unsafe.Pointer(_146_x.X0)) 145053 goto _332 145054 145055 _335: 145056 _146_aRoot = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(4)*uint32(_146_cnt+i32(1)))))) 145057 if _146_aRoot != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 145058 goto _342 145059 } 145060 145061 goto _326 145062 145063 _342: 145064 *func() **XHashElem { _146_cnt = i32(0); return &_146_x }() = (*XHashElem)(unsafe.Pointer(_146_pTbls.X2)) 145065 _343: 145066 if _146_x == nil { 145067 goto _346 145068 } 145069 145070 _149_pTab = (*XTable)(unsafe.Pointer(_146_x.X2)) 145071 if ((_149_pTab.X9) & uint32(i32(32))) != uint32(i32(0)) { 145072 goto _347 145073 } 145074 145075 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_146_aRoot)) + 4*uintptr(postInc961(&_146_cnt, int32(1))))) = _149_pTab.X7 145076 _347: 145077 _149_pIdx = (*XIndex)(unsafe.Pointer(_149_pTab.X2)) 145078 _348: 145079 if _149_pIdx == nil { 145080 goto _351 145081 } 145082 145083 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_146_aRoot)) + 4*uintptr(postInc961(&_146_cnt, int32(1))))) = _149_pIdx.X11 145084 _149_pIdx = (*XIndex)(unsafe.Pointer(_149_pIdx.X5)) 145085 goto _348 145086 145087 _351: 145088 _146_x = (*XHashElem)(unsafe.Pointer(_146_x.X0)) 145089 goto _343 145090 145091 _346: 145092 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_146_aRoot)) + 4*uintptr(_146_cnt))) = i32(0) 145093 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = func() int32 { 145094 if (_pParse.X18) > (i32(8) + _146_mxIdx) { 145095 return (_pParse.X18) 145096 } 145097 return (i32(8) + _146_mxIdx) 145098 }() 145099 _sqlite3VdbeAddOp4(tls, _v, i32(142), i32(2), _146_cnt, i32(1), (*int8)(unsafe.Pointer(_146_aRoot)), i32(-12)) 145100 _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_143_i))) 145101 _143_addr = _sqlite3VdbeAddOp1(tls, _v, i32(34), i32(2)) 145102 _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), i32(3), i32(0), _sqlite3MPrintf(tls, _db, str(127948), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_143_i))).X0)), i32(-1)) 145103 _sqlite3VdbeAddOp3(tls, _v, i32(84), i32(2), i32(4), i32(1)) 145104 _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(4), i32(3), i32(2)) 145105 _integrityCheckResultRow(tls, _v, i32(2)) 145106 _sqlite3VdbeJumpHere(tls, _v, _143_addr) 145107 _146_x = (*XHashElem)(unsafe.Pointer(_146_pTbls.X2)) 145108 _354: 145109 if _146_x == nil { 145110 goto _357 145111 } 145112 145113 _151_pTab = (*XTable)(unsafe.Pointer(_146_x.X2)) 145114 _151_pPrior = (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 145115 _151_r1 = i32(-1) 145116 if (_151_pTab.X7) >= i32(1) { 145117 goto _358 145118 } 145119 145120 goto _355 145121 145122 _358: 145123 if (*XExprList)(unsafe.Pointer(_151_pTab.X6)) != (*XExprList)(unsafe.Pointer(uintptr(i32(0)))) || ((_151_pTab.X9)&uint32(i32(512))) != uint32(i32(0)) || (*XIndex)(unsafe.Pointer(_151_pTab.X2)) != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) && _143_isQuick == 0 { 145124 goto _362 145125 } 145126 145127 goto _355 145128 145129 _362: 145130 _151_pPk = func() *XIndex { 145131 if ((_151_pTab.X9) & uint32(i32(32))) == uint32(i32(0)) { 145132 return (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) 145133 } 145134 return _sqlite3PrimaryKeyIndex(tls, _151_pTab) 145135 }() 145136 _sqlite3ExprCacheClear(tls, _pParse) 145137 _sqlite3OpenTableAndIndices(tls, _pParse, _151_pTab, i32(105), uint8(i32(0)), i32(1), (*uint8)(unsafe.Pointer(uintptr(i32(0)))), &_151_iDataCur, &_151_iIdxCur) 145138 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), i32(7)) 145139 *func() **XIndex { _143_j = i32(0); return &_151_pIdx }() = (*XIndex)(unsafe.Pointer(_151_pTab.X2)) 145140 _365: 145141 if _151_pIdx == nil { 145142 goto _368 145143 } 145144 145145 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), i32(8)+_143_j) 145146 *func() *int32 { _151_pIdx = (*XIndex)(unsafe.Pointer(_151_pIdx.X5)); return &_143_j }() += 1 145147 goto _365 145148 145149 _368: 145150 func() int32 { 145151 if (_pParse.X18) >= (i32(8) + _143_j) { 145152 return i32(0) 145153 } 145154 return func() int32 { 145155 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114483), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127972))) 145156 crt.X__builtin_abort(tls) 145157 return i32(0) 145158 }() 145159 }() 145160 func() int32 { 145161 if _sqlite3NoTempsInRange(tls, _pParse, i32(1), i32(7)+_143_j) != 0 { 145162 return i32(0) 145163 } 145164 return func() int32 { 145165 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114484), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(127992))) 145166 crt.X__builtin_abort(tls) 145167 return i32(0) 145168 }() 145169 }() 145170 _sqlite3VdbeAddOp2(tls, _v, i32(58), _151_iDataCur, i32(0)) 145171 _151_loopTop = _sqlite3VdbeAddOp2(tls, _v, i32(92), i32(7), i32(1)) 145172 _143_j = i32(0) 145173 _373: 145174 if _143_j >= int32(_151_pTab.X11) { 145175 goto _376 145176 } 145177 145178 if _143_j != int32(_151_pTab.X10) { 145179 goto _377 145180 } 145181 145182 goto _374 145183 145184 _377: 145185 if int32((*XColumn)(unsafe.Pointer(uintptr(_151_pTab.X1)+16*uintptr(_143_j))).X3) != i32(0) { 145186 goto _378 145187 } 145188 145189 goto _374 145190 145191 _378: 145192 _sqlite3ExprCodeGetColumnOfTable(tls, _v, _151_pTab, _151_iDataCur, _143_j, i32(3)) 145193 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) 145194 _154_jmp2 = _sqlite3VdbeAddOp1(tls, _v, i32(35), i32(3)) 145195 _154_zErr = _sqlite3MPrintf(tls, _db, str(128028), unsafe.Pointer(_151_pTab.X0), unsafe.Pointer((*XColumn)(unsafe.Pointer(uintptr(_151_pTab.X1)+16*uintptr(_143_j))).X0)) 145196 _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), i32(3), i32(0), _154_zErr, i32(-1)) 145197 _integrityCheckResultRow(tls, _v, i32(3)) 145198 _sqlite3VdbeJumpHere(tls, _v, _154_jmp2) 145199 _374: 145200 _143_j += 1 145201 goto _373 145202 145203 _376: 145204 if (*XExprList)(unsafe.Pointer(_151_pTab.X6)) == nil || ((_db.X6)&i32(8192)) != i32(0) { 145205 goto _380 145206 } 145207 145208 _155_addrCkFault = _sqlite3VdbeMakeLabel(tls, _v) 145209 _155_addrCkOk = _sqlite3VdbeMakeLabel(tls, _v) 145210 _155_pCheck = (*XExprList)(unsafe.Pointer(_151_pTab.X6)) 145211 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(60 /* X22 */))) = _151_iDataCur 145212 _sqlite3ExprCachePush(tls, _pParse) 145213 _155_k = (_155_pCheck.X0) - i32(1) 145214 _381: 145215 if _155_k <= i32(0) { 145216 goto _384 145217 } 145218 145219 _sqlite3ExprIfFalse(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_155_pCheck.X1)+20*uintptr(_155_k))).X0)), _155_addrCkFault, i32(0)) 145220 _155_k -= 1 145221 goto _381 145222 145223 _384: 145224 _sqlite3ExprIfTrue(tls, _pParse, (*XExpr)(unsafe.Pointer((*T7850641)(unsafe.Pointer(uintptr(_155_pCheck.X1)+20*uintptr(i32(0)))).X0)), _155_addrCkOk, i32(16)) 145225 _sqlite3VdbeResolveLabel(tls, _v, _155_addrCkFault) 145226 _155_zErr = _sqlite3MPrintf(tls, _db, str(128048), unsafe.Pointer(_151_pTab.X0)) 145227 _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), i32(3), i32(0), _155_zErr, i32(-1)) 145228 _integrityCheckResultRow(tls, _v, i32(3)) 145229 _sqlite3VdbeResolveLabel(tls, _v, _155_addrCkOk) 145230 _sqlite3ExprCachePop(tls, _pParse) 145231 _380: 145232 *func() **XIndex { _143_j = i32(0); return &_151_pIdx }() = (*XIndex)(unsafe.Pointer(_151_pTab.X2)) 145233 _385: 145234 if _151_pIdx == nil || _143_isQuick != 0 { 145235 goto _389 145236 } 145237 145238 _157_ckUniq = _sqlite3VdbeMakeLabel(tls, _v) 145239 if _151_pPk != _151_pIdx { 145240 goto _390 145241 } 145242 145243 goto _386 145244 145245 _390: 145246 _151_r1 = _sqlite3GenerateIndexKey(tls, _pParse, _151_pIdx, _151_iDataCur, i32(0), i32(0), &_157_jmp3, _151_pPrior, _151_r1) 145247 _151_pPrior = _151_pIdx 145248 _sqlite3VdbeAddOp2(tls, _v, i32(92), i32(8)+_143_j, i32(1)) 145249 _157_jmp2 = _sqlite3VdbeAddOp4Int(tls, _v, i32(31), _151_iIdxCur+_143_j, _157_ckUniq, _151_r1, int32(_151_pIdx.X14)) 145250 _sqlite3VdbeLoadString(tls, _v, i32(3), str(128080)) 145251 _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(7), i32(3), i32(3)) 145252 _sqlite3VdbeLoadString(tls, _v, i32(4), str(128088)) 145253 _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(4), i32(3), i32(3)) 145254 _157_jmp5 = _sqlite3VdbeLoadString(tls, _v, i32(4), _151_pIdx.X0) 145255 _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(4), i32(3), i32(3)) 145256 _157_jmp4 = _integrityCheckResultRow(tls, _v, i32(3)) 145257 _sqlite3VdbeJumpHere(tls, _v, _157_jmp2) 145258 if int32(_151_pIdx.X15) == i32(0) { 145259 goto _391 145260 } 145261 145262 _158_uniqOk = _sqlite3VdbeMakeLabel(tls, _v) 145263 _158_kk = i32(0) 145264 _392: 145265 if _158_kk >= int32(_151_pIdx.X13) { 145266 goto _395 145267 } 145268 145269 _159_iCol = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_151_pIdx.X1)) + 2*uintptr(_158_kk)))) 145270 func() int32 { 145271 if (_159_iCol != i32(-1)) && (_159_iCol < int32(_151_pTab.X11)) { 145272 return i32(0) 145273 } 145274 return func() int32 { 145275 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114553), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(128112))) 145276 crt.X__builtin_abort(tls) 145277 return i32(0) 145278 }() 145279 }() 145280 if _159_iCol < i32(0) || ((*XColumn)(unsafe.Pointer(uintptr(_151_pTab.X1)+16*uintptr(_159_iCol))).X3) == 0 { 145281 goto _400 145282 } 145283 145284 goto _393 145285 145286 _400: 145287 _sqlite3VdbeAddOp2(tls, _v, i32(34), _151_r1+_158_kk, _158_uniqOk) 145288 _393: 145289 _158_kk += 1 145290 goto _392 145291 145292 _395: 145293 _158_jmp6 = _sqlite3VdbeAddOp1(tls, _v, i32(7), _151_iIdxCur+_143_j) 145294 _sqlite3VdbeGoto(tls, _v, _158_uniqOk) 145295 _sqlite3VdbeJumpHere(tls, _v, _158_jmp6) 145296 _sqlite3VdbeAddOp4Int(tls, _v, i32(60), _151_iIdxCur+_143_j, _158_uniqOk, _151_r1, int32(_151_pIdx.X13)) 145297 _sqlite3VdbeLoadString(tls, _v, i32(3), str(128148)) 145298 _sqlite3VdbeGoto(tls, _v, _157_jmp5) 145299 _sqlite3VdbeResolveLabel(tls, _v, _158_uniqOk) 145300 _391: 145301 _sqlite3VdbeJumpHere(tls, _v, _157_jmp4) 145302 _sqlite3ResolvePartIdxLabel(tls, _pParse, _157_jmp3) 145303 _386: 145304 *func() *int32 { _151_pIdx = (*XIndex)(unsafe.Pointer(_151_pIdx.X5)); return &_143_j }() += 1 145305 goto _385 145306 145307 _389: 145308 _sqlite3VdbeAddOp2(tls, _v, i32(7), _151_iDataCur, _151_loopTop) 145309 _sqlite3VdbeJumpHere(tls, _v, _151_loopTop-i32(1)) 145310 if _143_isQuick != 0 { 145311 goto _401 145312 } 145313 145314 _sqlite3VdbeLoadString(tls, _v, i32(2), str(128176)) 145315 *func() **XIndex { _143_j = i32(0); return &_151_pIdx }() = (*XIndex)(unsafe.Pointer(_151_pTab.X2)) 145316 _402: 145317 if _151_pIdx == nil { 145318 goto _405 145319 } 145320 145321 if _151_pPk != _151_pIdx { 145322 goto _406 145323 } 145324 145325 goto _403 145326 145327 _406: 145328 _sqlite3VdbeAddOp2(tls, _v, i32(101), _151_iIdxCur+_143_j, i32(3)) 145329 _143_addr = _sqlite3VdbeAddOp3(tls, _v, i32(37), i32(8)+_143_j, i32(0), i32(3)) 145330 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(144))) 145331 _sqlite3VdbeLoadString(tls, _v, i32(3), _151_pIdx.X0) 145332 _sqlite3VdbeAddOp3(tls, _v, i32(52), i32(3), i32(2), i32(7)) 145333 _integrityCheckResultRow(tls, _v, i32(7)) 145334 _sqlite3VdbeJumpHere(tls, _v, _143_addr) 145335 _403: 145336 *func() *int32 { _151_pIdx = (*XIndex)(unsafe.Pointer(_151_pIdx.X5)); return &_143_j }() += 1 145337 goto _402 145338 145339 _405: 145340 _401: 145341 _355: 145342 _146_x = (*XHashElem)(unsafe.Pointer(_146_x.X0)) 145343 goto _354 145344 145345 _357: 145346 _324: 145347 _143_i += 1 145348 goto _323 145349 145350 _326: 145351 _162_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(4), (*T8124566)(unsafe.Pointer(&_sqlite3PragmaØ00endCodeØ006)), _sqlite3PragmaØ00iLnØ005) 145352 if _162_aOp == nil { 145353 goto _407 145354 } 145355 145356 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_162_aOp))+24*uintptr(i32(0)))))) + uintptr(8 /* X4 */))) = i32(1) - _143_mxErr 145357 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_162_aOp))+24*uintptr(i32(2)))))) + uintptr(1 /* X1 */))) = int8(i32(-2)) 145358 *(**int8)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_162_aOp))+24*uintptr(i32(2)))))) + uintptr(16 /* X6 */))))) = str(128208) 145359 _407: 145360 goto _65 145361 145362 _50: 145363 if _zRight != nil { 145364 goto _408 145365 } 145366 145367 if _sqlite3ReadSchema(tls, _pParse) == 0 { 145368 goto _409 145369 } 145370 145371 goto _pragma_out 145372 145373 _409: 145374 func() int32 { 145375 if int32((*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+8*uintptr(i32(1)))).X1) == i32(1) { 145376 return i32(0) 145377 } 145378 return func() int32 { 145379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114651), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(128212))) 145380 crt.X__builtin_abort(tls) 145381 return i32(0) 145382 }() 145383 }() 145384 func() int32 { 145385 if int32((*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+8*uintptr(i32(2)))).X1) == i32(2) { 145386 return i32(0) 145387 } 145388 return func() int32 { 145389 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114652), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(128252))) 145390 crt.X__builtin_abort(tls) 145391 return i32(0) 145392 }() 145393 }() 145394 func() int32 { 145395 if int32((*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+8*uintptr(i32(3)))).X1) == i32(3) { 145396 return i32(0) 145397 } 145398 return func() int32 { 145399 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114653), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(128300))) 145400 crt.X__builtin_abort(tls) 145401 return i32(0) 145402 }() 145403 }() 145404 _returnSingleText(tls, _v, (*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007))+8*uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X14))).X0) 145405 goto _416 145406 145407 _408: 145408 if (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X4)).X9)&i32(1)) == i32(1) && (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X4)).X9)&i32(4)) != i32(4) { 145409 goto _418 145410 } 145411 145412 _164_pEnc = (*T8760930)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00encnamesØ007)) + 8*uintptr(i32(0)))) 145413 _419: 145414 if (_164_pEnc.X0) == nil { 145415 goto _422 145416 } 145417 145418 if i32(0) != _sqlite3StrICmp(tls, _zRight, _164_pEnc.X0) { 145419 goto _423 145420 } 145421 145422 *(*uint8)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X4) + uintptr(77 /* X8 */))) = store6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(62 /* X14 */))), uint8(func() int32 { 145423 if (_164_pEnc.X1) != 0 { 145424 return int32(_164_pEnc.X1) 145425 } 145426 return i32(2) 145427 }())) 145428 goto _422 145429 145430 _423: 145431 *(*uintptr)(unsafe.Pointer(&_164_pEnc)) += uintptr(8) 145432 goto _419 145433 145434 _422: 145435 if (_164_pEnc.X0) != nil { 145436 goto _426 145437 } 145438 145439 _sqlite3ErrorMsg(tls, _pParse, str(128348), unsafe.Pointer(_zRight)) 145440 _426: 145441 _418: 145442 _416: 145443 goto _65 145444 145445 _51: 145446 _171_iCookie = int32(_pPragma.X5) 145447 _sqlite3VdbeUsesBtree(tls, _v, _iDb) 145448 if _zRight == nil || (int32(_pPragma.X2)&i32(8)) != i32(0) { 145449 goto _428 145450 } 145451 145452 _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(2)) 145453 _172_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(2), (*T8124566)(unsafe.Pointer(&_sqlite3PragmaØ00setCookieØ008)), i32(0)) 145454 if func() int32 { 145455 if _172_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 145456 return func() int32 { 145457 func() int32 { 145458 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114726), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(5204))) 145459 crt.X__builtin_abort(tls) 145460 return i32(0) 145461 }() 145462 return i32(1) 145463 }() 145464 } 145465 return i32(0) 145466 }() == 0 { 145467 goto _431 145468 } 145469 145470 goto _65 145471 145472 _431: 145473 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_172_aOp))+24*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb 145474 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_172_aOp))+24*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb 145475 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_172_aOp))+24*uintptr(i32(1)))))) + uintptr(8 /* X4 */))) = _171_iCookie 145476 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_172_aOp))+24*uintptr(i32(1)))))) + uintptr(12 /* X5 */))) = _sqlite3Atoi(tls, _zRight) 145477 goto _432 145478 145479 _428: 145480 _sqlite3VdbeVerifyNoMallocRequired(tls, _v, i32(3)) 145481 _173_aOp = _sqlite3VdbeAddOpList(tls, _v, i32(3), (*T8124566)(unsafe.Pointer(&_sqlite3PragmaØ00readCookieØ009)), i32(0)) 145482 if func() int32 { 145483 if _173_aOp == (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 145484 return func() int32 { 145485 func() int32 { 145486 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114741), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(5204))) 145487 crt.X__builtin_abort(tls) 145488 return i32(0) 145489 }() 145490 return i32(1) 145491 }() 145492 } 145493 return i32(0) 145494 }() == 0 { 145495 goto _435 145496 } 145497 145498 goto _65 145499 145500 _435: 145501 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_173_aOp))+24*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _iDb 145502 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_173_aOp))+24*uintptr(i32(1)))))) + uintptr(4 /* X3 */))) = _iDb 145503 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_173_aOp))+24*uintptr(i32(1)))))) + uintptr(12 /* X5 */))) = _171_iCookie 145504 _sqlite3VdbeReusable(tls, _v) 145505 _432: 145506 goto _65 145507 145508 _52: 145509 _174_i = i32(0) 145510 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(1) 145511 _436: 145512 if store1025(&_174_zOpt, Xsqlite3_compileoption_get(tls, postInc961(&_174_i, int32(1)))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 145513 goto _437 145514 } 145515 145516 _sqlite3VdbeLoadString(tls, _v, i32(1), _174_zOpt) 145517 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) 145518 goto _436 145519 145520 _437: 145521 _sqlite3VdbeReusable(tls, _v) 145522 goto _65 145523 145524 _53: 145525 _176_iBt = func() int32 { 145526 if (_pId2.X0) != nil { 145527 return _iDb 145528 } 145529 return i32(10) 145530 }() 145531 _176_eMode = i32(0) 145532 if _zRight == nil { 145533 goto _440 145534 } 145535 145536 if _sqlite3StrICmp(tls, _zRight, str(128376)) != i32(0) { 145537 goto _441 145538 } 145539 145540 _176_eMode = i32(1) 145541 goto _442 145542 145543 _441: 145544 if _sqlite3StrICmp(tls, _zRight, str(128384)) != i32(0) { 145545 goto _443 145546 } 145547 145548 _176_eMode = i32(2) 145549 goto _444 145550 145551 _443: 145552 if _sqlite3StrICmp(tls, _zRight, str(94676)) != i32(0) { 145553 goto _445 145554 } 145555 145556 _176_eMode = i32(3) 145557 _445: 145558 _444: 145559 _442: 145560 _440: 145561 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(3) 145562 _sqlite3VdbeAddOp3(tls, _v, i32(8), _176_iBt, _176_eMode, i32(1)) 145563 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(3)) 145564 goto _65 145565 145566 _54: 145567 if _zRight == nil { 145568 goto _446 145569 } 145570 145571 Xsqlite3_wal_autocheckpoint(tls, _db, _sqlite3Atoi(tls, _zRight)) 145572 _446: 145573 _returnSingleInt(tls, _v, int64(func() int32 { 145574 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 145575 f func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32 145576 }{(*(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&struct { 145577 f func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 145578 }{(_db.X51)})))})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct { 145579 f func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32 145580 }{_sqlite3WalDefaultHook})) { 145581 return int32(uintptr(unsafe.Pointer(_db.X52))) 145582 } 145583 return i32(0) 145584 }())) 145585 goto _65 145586 145587 _55: 145588 Xsqlite3_db_release_memory(tls, _db) 145589 goto _65 145590 145591 _56: 145592 if _zRight == nil { 145593 goto _449 145594 } 145595 145596 _184_opMask = uint32(_sqlite3Atoi(tls, _zRight)) 145597 if (_184_opMask & uint32(i32(2))) != uint32(i32(0)) { 145598 goto _450 145599 } 145600 145601 goto _65 145602 145603 _450: 145604 goto _451 145605 145606 _449: 145607 _184_opMask = uint32(i32(65534)) 145608 _451: 145609 _184_iTabCur = postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(40 /* X17 */))), int32(1)) 145610 _184_iDbLast = func() int32 { 145611 if _zDb != nil { 145612 return _iDb 145613 } 145614 return ((_db.X5) - i32(1)) 145615 }() 145616 _454: 145617 if _iDb > _184_iDbLast { 145618 goto _457 145619 } 145620 145621 if _iDb != i32(1) { 145622 goto _458 145623 } 145624 145625 goto _455 145626 145627 _458: 145628 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 145629 _184_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 145630 _184_k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_184_pSchema)) + uintptr(8 /* X2 */))).X2)) 145631 _459: 145632 if _184_k == nil { 145633 goto _462 145634 } 145635 145636 _184_pTab = (*XTable)(unsafe.Pointer(_184_k.X2)) 145637 if ((_184_pTab.X9) & uint32(i32(256))) != uint32(i32(0)) { 145638 goto _463 145639 } 145640 145641 goto _460 145642 145643 _463: 145644 _184_szThreshold = int16(int32(_184_pTab.X12) + i32(46)) 145645 func() int32 { 145646 if int32(_sqlite3LogEst(tls, uint64(i32(25)))) == i32(46) { 145647 return i32(0) 145648 } 145649 return func() int32 { 145650 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114910), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(128392))) 145651 crt.X__builtin_abort(tls) 145652 return i32(0) 145653 }() 145654 }() 145655 _184_pIdx = (*XIndex)(unsafe.Pointer(_184_pTab.X2)) 145656 _466: 145657 if _184_pIdx == nil { 145658 goto _469 145659 } 145660 145661 if ((uint32((_184_pIdx.X16)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) != 0 { 145662 goto _470 145663 } 145664 145665 _184_szThreshold = int16(i32(0)) 145666 goto _469 145667 145668 _470: 145669 _184_pIdx = (*XIndex)(unsafe.Pointer(_184_pIdx.X5)) 145670 goto _466 145671 145672 _469: 145673 if _184_szThreshold == 0 { 145674 goto _471 145675 } 145676 145677 _sqlite3OpenTable(tls, _pParse, _184_iTabCur, _iDb, _184_pTab, i32(105)) 145678 _sqlite3VdbeAddOp3(tls, _v, i32(55), _184_iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, _v)+i32(2))+(_184_opMask&uint32(i32(1)))), int32(_184_szThreshold)) 145679 _471: 145680 _184_zSubSql = _sqlite3MPrintf(tls, _db, str(128416), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(_184_pTab.X0)) 145681 if (_184_opMask & uint32(i32(1))) == 0 { 145682 goto _472 145683 } 145684 145685 _192_r1 = _sqlite3GetTempReg(tls, _pParse) 145686 _sqlite3VdbeAddOp4(tls, _v, i32(97), i32(0), _192_r1, i32(0), _184_zSubSql, i32(-1)) 145687 _sqlite3VdbeAddOp2(tls, _v, i32(88), _192_r1, i32(1)) 145688 goto _473 145689 145690 _472: 145691 _sqlite3VdbeAddOp4(tls, _v, i32(136), i32(0), i32(0), i32(0), _184_zSubSql, i32(-1)) 145692 _473: 145693 _460: 145694 _184_k = (*XHashElem)(unsafe.Pointer(_184_k.X0)) 145695 goto _459 145696 145697 _462: 145698 _455: 145699 _iDb += 1 145700 goto _454 145701 145702 _457: 145703 _sqlite3VdbeAddOp0(tls, _v, i32(151)) 145704 goto _65 145705 145706 _57: 145707 func() int32 { 145708 if int32(_pPragma.X1) == i32(3) { 145709 return i32(0) 145710 } 145711 return func() int32 { 145712 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(114948), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PragmaØ00__func__Ø000))), unsafe.Pointer(str(128436))) 145713 crt.X__builtin_abort(tls) 145714 return i32(0) 145715 }() 145716 }() 145717 if _zRight == nil { 145718 goto _476 145719 } 145720 145721 Xsqlite3_busy_timeout(tls, _db, _sqlite3Atoi(tls, _zRight)) 145722 _476: 145723 _returnSingleInt(tls, _v, int64(_db.X74)) 145724 goto _65 145725 145726 _58: 145727 if _zRight == nil || _sqlite3DecOrHexToI64(tls, _zRight, &_196_N) != i32(0) { 145728 goto _478 145729 } 145730 145731 Xsqlite3_soft_heap_limit64(tls, _196_N) 145732 _478: 145733 _returnSingleInt(tls, _v, Xsqlite3_soft_heap_limit64(tls, int64(i32(-1)))) 145734 goto _65 145735 145736 _59: 145737 if _zRight == nil || _sqlite3DecOrHexToI64(tls, _zRight, &_198_N) != i32(0) || _198_N < int64(i32(0)) { 145738 goto _481 145739 } 145740 145741 Xsqlite3_limit(tls, _db, i32(11), int32(_198_N&int64(i32(2147483647)))) 145742 _481: 145743 _returnSingleInt(tls, _v, int64(Xsqlite3_limit(tls, _db, i32(11), i32(-1)))) 145744 goto _65 145745 145746 _60: 145747 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(2) 145748 _200_i = i32(0) 145749 _482: 145750 if _200_i >= (_db.X5) { 145751 goto _485 145752 } 145753 145754 _201_zState = str(128476) 145755 if ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_200_i))).X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 145756 goto _486 145757 } 145758 145759 goto _483 145760 145761 _486: 145762 _201_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_200_i))).X1)) 145763 if _201_pBt != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) && _sqlite3BtreePager(tls, _201_pBt) != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { 145764 goto _488 145765 } 145766 145767 _201_zState = str(128484) 145768 goto _489 145769 145770 _488: 145771 if Xsqlite3_file_control(tls, _db, func() *int8 { 145772 if _200_i != 0 { 145773 return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_200_i))).X0) 145774 } 145775 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 145776 }(), i32(1), (unsafe.Pointer)(&_201_j)) != i32(0) { 145777 goto _492 145778 } 145779 145780 _201_zState = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3PragmaØ00azLockNameØ0010)) + 4*uintptr(_201_j))) 145781 _492: 145782 _489: 145783 _sqlite3VdbeMultiLoad(tls, _v, i32(1), str(128492), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_200_i))).X0), unsafe.Pointer(_201_zState)) 145784 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(2)) 145785 _483: 145786 _200_i += 1 145787 goto _482 145788 145789 _485: 145790 goto _65 145791 145792 _65: 145793 if (int32(_pPragma.X2)&i32(4)) == 0 || _zRight == nil { 145794 goto _494 145795 } 145796 145797 _sqlite3VdbeVerifyNoResultRow(tls, _v) 145798 _494: 145799 _pragma_out: 145800 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zLeft)) 145801 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zRight)) 145802 return 145803 145804 } 145805 145806 func _sqlite3VdbeRunOnlyOnce(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:71723:1 145807 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 32, 5) 145808 return 145809 145810 } 145811 145812 var _sqlite3PragmaØ00__func__Ø000 [14]int8 // - 145813 145814 func init() { 145815 crt.Xstrncpy(nil, &_sqlite3PragmaØ00__func__Ø000[0], str(128496), 14) 145816 } 145817 145818 func Xsqlite3_file_control(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8, _op int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:143414:12 145819 var _rc int32 // sqlite3.c:143415:7 145820 _ = _rc 145821 var _pBtree *XBtree // sqlite3.c:143416:9 145822 _ = _pBtree 145823 var _1_pPager *XPager // sqlite3.c:143424:11 145824 _ = _1_pPager 145825 var _1_fd *Xsqlite3_file // sqlite3.c:143425:18 145826 _ = _1_fd 145827 _rc = i32(1) 145828 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 145829 goto _0 145830 } 145831 145832 r0 = _sqlite3MisuseError(tls, i32(143419)) 145833 return 145834 145835 _0: 145836 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 145837 _pBtree = _sqlite3DbNameToBtree(tls, _db, _zDbName) 145838 if _pBtree == nil { 145839 goto _1 145840 } 145841 145842 _sqlite3BtreeEnter(tls, _pBtree) 145843 _1_pPager = _sqlite3BtreePager(tls, _pBtree) 145844 func() int32 { 145845 if _1_pPager != (*XPager)(unsafe.Pointer(uintptr(i32(0)))) { 145846 return i32(0) 145847 } 145848 return func() int32 { 145849 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143428), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_file_controlØ00__func__Ø000))), unsafe.Pointer(str(16256))) 145850 crt.X__builtin_abort(tls) 145851 return i32(0) 145852 }() 145853 }() 145854 _1_fd = _sqlite3PagerFile(tls, _1_pPager) 145855 func() int32 { 145856 if _1_fd != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 145857 return i32(0) 145858 } 145859 return func() int32 { 145860 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143430), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_file_controlØ00__func__Ø000))), unsafe.Pointer(str(128512))) 145861 crt.X__builtin_abort(tls) 145862 return i32(0) 145863 }() 145864 }() 145865 if _op != i32(7) { 145866 goto _6 145867 } 145868 145869 *(**Xsqlite3_file)(unsafe.Pointer(_pArg)) = _1_fd 145870 _rc = i32(0) 145871 goto _7 145872 145873 _6: 145874 if _op != i32(27) { 145875 goto _8 145876 } 145877 145878 *(**Xsqlite3_vfs)(unsafe.Pointer(_pArg)) = _sqlite3PagerVfs(tls, _1_pPager) 145879 _rc = i32(0) 145880 goto _9 145881 145882 _8: 145883 if _op != i32(28) { 145884 goto _10 145885 } 145886 145887 *(**Xsqlite3_file)(unsafe.Pointer(_pArg)) = _sqlite3PagerJrnlFile(tls, _1_pPager) 145888 _rc = i32(0) 145889 goto _11 145890 145891 _10: 145892 if (*Xsqlite3_io_methods)(unsafe.Pointer(_1_fd.X0)) == nil { 145893 goto _12 145894 } 145895 145896 _rc = _sqlite3OsFileControl(tls, _1_fd, _op, _pArg) 145897 goto _13 145898 145899 _12: 145900 _rc = i32(12) 145901 _13: 145902 _11: 145903 _9: 145904 _7: 145905 _sqlite3BtreeLeave(tls, _pBtree) 145906 _1: 145907 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 145908 r0 = _rc 145909 return 145910 145911 } 145912 145913 func _sqlite3DbNameToBtree(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8) (r0 *XBtree) { // sqlite3.c:143848:1 145914 var _iDb int32 // sqlite3.c:143849:7 145915 _ = _iDb 145916 _iDb = func() int32 { 145917 if _zDbName != nil { 145918 return _sqlite3FindDbName(tls, _db, _zDbName) 145919 } 145920 return i32(0) 145921 }() 145922 r0 = func() *XBtree { 145923 if _iDb < i32(0) { 145924 return (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 145925 } 145926 return (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X1)) 145927 }() 145928 return 145929 145930 } 145931 145932 var _sqlite3_file_controlØ00__func__Ø000 [21]int8 // - 145933 145934 func init() { 145935 crt.Xstrncpy(nil, &_sqlite3_file_controlØ00__func__Ø000[0], str(128520), 21) 145936 } 145937 145938 func _sqlite3PagerJrnlFile(tls *crt.TLS, _pPager *XPager) (r0 *Xsqlite3_file) { // sqlite3.c:53719:1 145939 r0 = func() *Xsqlite3_file { 145940 if (*XWal)(unsafe.Pointer(_pPager.X60)) != nil { 145941 return _sqlite3WalFile(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) 145942 } 145943 return (*Xsqlite3_file)(unsafe.Pointer(_pPager.X32)) 145944 }() 145945 return 145946 145947 } 145948 145949 func _sqlite3WalFile(tls *crt.TLS, _pWal *XWal) (r0 *Xsqlite3_file) { // sqlite3.c:57935:1 145950 r0 = (*Xsqlite3_file)(unsafe.Pointer(_pWal.X2)) 145951 return 145952 145953 } 145954 145955 func _returnSingleText(tls *crt.TLS, _v *XVdbe, _zValue *int8) { // sqlite3.c:113155:1 145956 if _zValue == nil { 145957 goto _0 145958 } 145959 145960 _sqlite3VdbeLoadString(tls, _v, i32(1), _zValue) 145961 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) 145962 _0: 145963 return 145964 145965 } 145966 145967 func _setPragmaResultColumnNames(tls *crt.TLS, _v *XVdbe, _pPragma *XPragmaName) { // sqlite3.c:113128:1 145968 var _n uint8 // sqlite3.c:113132:6 145969 _ = _n 145970 var _2_i int32 // sqlite3.c:113137:9 145971 _ = _2_i 145972 var _2_j int32 // sqlite3.c:113137:12 145973 _ = _2_j 145974 _n = _pPragma.X4 145975 _sqlite3VdbeSetNumCols(tls, _v, func() int32 { 145976 if int32(_n) == i32(0) { 145977 return i32(1) 145978 } 145979 return int32(_n) 145980 }()) 145981 if int32(_n) != i32(0) { 145982 goto _2 145983 } 145984 145985 _sqlite3VdbeSetColName(tls, _v, i32(0), i32(0), _pPragma.X0, nil) 145986 goto _3 145987 145988 _2: 145989 *func() *int32 { _2_i = i32(0); return &_2_j }() = int32(_pPragma.X3) 145990 _4: 145991 if _2_i >= int32(_n) { 145992 goto _7 145993 } 145994 145995 _sqlite3VdbeSetColName(tls, _v, _2_i, i32(0), *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pragCName)) + 4*uintptr(_2_j))), nil) 145996 *func() *int32 { _2_i += 1; return &_2_j }() += 1 145997 goto _4 145998 145999 _7: 146000 _3: 146001 return 146002 146003 } 146004 146005 func _sqlite3VdbeVerifyNoMallocRequired(tls *crt.TLS, _p *XVdbe, _N int32) { // sqlite3.c:71983:1 146006 func() int32 { 146007 if ((_p.X27) + _N) <= ((*XParse)(unsafe.Pointer(_p.X3)).X19) { 146008 return i32(0) 146009 } 146010 return func() int32 { 146011 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71984), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeVerifyNoMallocRequiredØ00__func__Ø000))), unsafe.Pointer(str(128544))) 146012 crt.X__builtin_abort(tls) 146013 return i32(0) 146014 }() 146015 }() 146016 return 146017 146018 } 146019 146020 var _sqlite3VdbeVerifyNoMallocRequiredØ00__func__Ø000 [34]int8 // - 146021 146022 func init() { 146023 crt.Xstrncpy(nil, &_sqlite3VdbeVerifyNoMallocRequiredØ00__func__Ø000[0], str(128580), 34) 146024 } 146025 146026 var _sqlite3PragmaØ00getCacheSizeØ002 [9]struct { 146027 X0 uint8 146028 X1 int8 146029 X2 int8 146030 X3 int8 146031 } // sqlite3.c:113415:29 146032 146033 func init() { 146034 _sqlite3PragmaØ00getCacheSizeØ002 = [9]struct { 146035 X0 uint8 146036 X1 int8 146037 X2 int8 146038 X3 int8 146039 }{T8124566{X0: u8(2), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(102), X1: i8(0), X2: i8(1), X3: i8(3)}, T8124566{X0: u8(67), X1: i8(1), X2: i8(8), X3: i8(0)}, T8124566{X0: u8(77), X1: i8(0), X2: i8(2), X3: i8(0)}, T8124566{X0: u8(48), X1: i8(1), X2: i8(2), X3: i8(1)}, T8124566{X0: u8(67), X1: i8(1), X2: i8(8), X3: i8(0)}, T8124566{X0: u8(77), X1: i8(0), X2: i8(1), X3: i8(0)}, T8124566{X0: u8(162), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(88), X1: i8(1), X2: i8(1), X3: i8(0)}} 146040 } 146041 146042 var _sqlite3PragmaØ00iLnØ001 int32 // sqlite3.c:113414:22 146043 146044 func _returnSingleInt(tls *crt.TLS, _v *XVdbe, _value int64) { // sqlite3.c:113147:1 146045 _sqlite3VdbeAddOp4Dup8(tls, _v, i32(78), i32(0), i32(1), i32(0), (*uint8)(unsafe.Pointer(&_value)), i32(-10)) 146046 _sqlite3VdbeAddOp2(tls, _v, i32(88), i32(1), i32(1)) 146047 return 146048 146049 } 146050 146051 func _sqlite3BtreeSecureDelete(tls *crt.TLS, _p *XBtree, _newFlag int32) (r0 int32) { // sqlite3.c:61763:1 146052 var _b int32 // sqlite3.c:61764:7 146053 _ = _b 146054 if _p != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 146055 goto _0 146056 } 146057 146058 r0 = i32(0) 146059 return 146060 146061 _0: 146062 _sqlite3BtreeEnter(tls, _p) 146063 if _newFlag < i32(0) { 146064 goto _1 146065 } 146066 146067 { 146068 p := (*uint16)(unsafe.Pointer(uintptr(_p.X1) + uintptr(22 /* X10 */))) 146069 *p = uint16(int32(*p) & i32(-5)) 146070 sink6908 = *p 146071 } 146072 if _newFlag == 0 { 146073 goto _2 146074 } 146075 146076 { 146077 p := (*uint16)(unsafe.Pointer(uintptr(_p.X1) + uintptr(22 /* X10 */))) 146078 *p = uint16(int32(*p) | i32(4)) 146079 sink6908 = *p 146080 } 146081 _2: 146082 _1: 146083 _b = bool2int((int32((*XBtShared)(unsafe.Pointer(_p.X1)).X10) & i32(4)) != i32(0)) 146084 _sqlite3BtreeLeave(tls, _p) 146085 r0 = _b 146086 return 146087 146088 } 146089 146090 func _getLockingMode(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:113042:1 146091 if _z == nil { 146092 goto _0 146093 } 146094 146095 if i32(0) != _sqlite3StrICmp(tls, _z, str(94628)) { 146096 goto _1 146097 } 146098 146099 r0 = i32(1) 146100 return 146101 146102 _1: 146103 if i32(0) != _sqlite3StrICmp(tls, _z, str(94640)) { 146104 goto _2 146105 } 146106 146107 r0 = i32(0) 146108 return 146109 146110 _2: 146111 _0: 146112 r0 = i32(-1) 146113 return 146114 146115 } 146116 146117 func _sqlite3PagerLockingMode(tls *crt.TLS, _pPager *XPager, _eMode int32) (r0 int32) { // sqlite3.c:53970:1 146118 func() int32 { 146119 if ((_eMode == i32(-1)) || (_eMode == i32(0))) || (_eMode == i32(1)) { 146120 return i32(0) 146121 } 146122 return func() int32 { 146123 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53971), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerLockingModeØ00__func__Ø000))), unsafe.Pointer(str(128616))) 146124 crt.X__builtin_abort(tls) 146125 return i32(0) 146126 }() 146127 }() 146128 i32(0) 146129 i32(0) 146130 func() int32 { 146131 if ((_pPager.X1) != 0) || (i32(0) == _sqlite3WalHeapMemory(tls, (*XWal)(unsafe.Pointer(_pPager.X60)))) { 146132 return i32(0) 146133 } 146134 return func() int32 { 146135 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53976), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerLockingModeØ00__func__Ø000))), unsafe.Pointer(str(128720))) 146136 crt.X__builtin_abort(tls) 146137 return i32(0) 146138 }() 146139 }() 146140 if _eMode < i32(0) || (_pPager.X10) != 0 || _sqlite3WalHeapMemory(tls, (*XWal)(unsafe.Pointer(_pPager.X60))) != 0 { 146141 goto _9 146142 } 146143 146144 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(4 /* X1 */))) = uint8(_eMode) 146145 _9: 146146 r0 = int32(_pPager.X1) 146147 return 146148 146149 } 146150 146151 var _sqlite3PagerLockingModeØ00__func__Ø000 [24]int8 // - 146152 146153 func init() { 146154 crt.Xstrncpy(nil, &_sqlite3PagerLockingModeØ00__func__Ø000[0], str(128784), 24) 146155 } 146156 146157 func _sqlite3WalHeapMemory(tls *crt.TLS, _pWal *XWal) (r0 int32) { // sqlite3.c:57866:1 146158 r0 = bool2int((_pWal != nil) && (int32(_pWal.X11) == i32(2))) 146159 return 146160 146161 } 146162 146163 func _sqlite3PagerJournalSizeLimit(tls *crt.TLS, _pPager *XPager, _iLimit int64) (r0 int64) { // sqlite3.c:54123:1 146164 if _iLimit < int64(i32(-1)) { 146165 goto _0 146166 } 146167 146168 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager)) + uintptr(160 /* X50 */))) = _iLimit 146169 _sqlite3WalLimit(tls, (*XWal)(unsafe.Pointer(_pPager.X60)), _iLimit) 146170 _0: 146171 r0 = _pPager.X50 146172 return 146173 146174 } 146175 146176 func _sqlite3WalLimit(tls *crt.TLS, _pWal *XWal, _iLimit int64) { // sqlite3.c:55753:1 146177 if _pWal == nil { 146178 goto _0 146179 } 146180 146181 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWal)) + uintptr(16 /* X4 */))) = _iLimit 146182 _0: 146183 return 146184 146185 } 146186 146187 func _getAutoVacuum(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:113057:1 146188 var _i int32 // sqlite3.c:113058:7 146189 _ = _i 146190 if i32(0) != _sqlite3StrICmp(tls, _z, str(45260)) { 146191 goto _0 146192 } 146193 146194 r0 = i32(0) 146195 return 146196 146197 _0: 146198 if i32(0) != _sqlite3StrICmp(tls, _z, str(128376)) { 146199 goto _1 146200 } 146201 146202 r0 = i32(1) 146203 return 146204 146205 _1: 146206 if i32(0) != _sqlite3StrICmp(tls, _z, str(128808)) { 146207 goto _2 146208 } 146209 146210 r0 = i32(2) 146211 return 146212 146213 _2: 146214 _i = _sqlite3Atoi(tls, _z) 146215 r0 = int32(uint8(func() int32 { 146216 if (_i >= i32(0)) && (_i <= i32(2)) { 146217 return _i 146218 } 146219 return i32(0) 146220 }())) 146221 return 146222 146223 } 146224 146225 var _sqlite3PragmaØ00setMeta6Ø004 [5]struct { 146226 X0 uint8 146227 X1 int8 146228 X2 int8 146229 X3 int8 146230 } // sqlite3.c:113669:33 146231 146232 func init() { 146233 _sqlite3PragmaØ00setMeta6Ø004 = [5]struct { 146234 X0 uint8 146235 X1 int8 146236 X2 int8 146237 X3 int8 146238 }{T8124566{X0: u8(2), X1: i8(0), X2: i8(1), X3: i8(0)}, T8124566{X0: u8(102), X1: i8(0), X2: i8(1), X3: i8(4)}, T8124566{X0: u8(21), X1: i8(1), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(76), X1: i8(0), X2: i8(2), X3: i8(0)}, T8124566{X0: u8(103), X1: i8(0), X2: i8(7), X3: i8(0)}} 146239 } 146240 146241 var _sqlite3PragmaØ00iLnØ003 int32 // sqlite3.c:113668:26 146242 146243 func _setAllPagerFlags(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:113171:1 146244 var _1_pDb *XDb // sqlite3.c:113173:8 146245 _ = _1_pDb 146246 var _1_n int32 // sqlite3.c:113174:9 146247 _ = _1_n 146248 if (_db.X15) == 0 { 146249 goto _0 146250 } 146251 146252 _1_pDb = (*XDb)(unsafe.Pointer(_db.X4)) 146253 _1_n = _db.X5 146254 i32(0) 146255 i32(0) 146256 i32(0) 146257 i32(0) 146258 func() int32 { 146259 if (int32(_1_pDb.X2) & i32(7)) == int32(_1_pDb.X2) { 146260 return i32(0) 146261 } 146262 return func() int32 { 146263 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113180), unsafe.Pointer((*int8)(unsafe.Pointer(&_setAllPagerFlagsØ00__func__Ø000))), unsafe.Pointer(str(128820))) 146264 crt.X__builtin_abort(tls) 146265 return i32(0) 146266 }() 146267 }() 146268 _3: 146269 if postInc961(&_1_n, int32(-1)) <= i32(0) { 146270 goto _4 146271 } 146272 146273 if (*XBtree)(unsafe.Pointer(_1_pDb.X1)) == nil { 146274 goto _5 146275 } 146276 146277 _sqlite3BtreeSetPagerFlags(tls, (*XBtree)(unsafe.Pointer(_1_pDb.X1)), uint32(int32(_1_pDb.X2)|((_db.X6)&i32(56)))) 146278 _5: 146279 *(*uintptr)(unsafe.Pointer(&_1_pDb)) += uintptr(16) 146280 goto _3 146281 146282 _4: 146283 _0: 146284 return 146285 146286 } 146287 146288 var _setAllPagerFlagsØ00__func__Ø000 [17]int8 // - 146289 146290 func init() { 146291 crt.Xstrncpy(nil, &_setAllPagerFlagsØ00__func__Ø000[0], str(128884), 17) 146292 } 146293 146294 func _sqlite3BtreeSetMmapLimit(tls *crt.TLS, _p *XBtree, _szMmap int64) (r0 int32) { // sqlite3.c:61617:1 146295 var _pBt *XBtShared // sqlite3.c:61618:12 146296 _ = _pBt 146297 _pBt = (*XBtShared)(unsafe.Pointer(_p.X1)) 146298 func() int32 { 146299 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) != 0 { 146300 return i32(0) 146301 } 146302 return func() int32 { 146303 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(61619), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreeSetMmapLimitØ00__func__Ø000))), unsafe.Pointer(str(8940))) 146304 crt.X__builtin_abort(tls) 146305 return i32(0) 146306 }() 146307 }() 146308 _sqlite3BtreeEnter(tls, _p) 146309 _sqlite3PagerSetMmapLimit(tls, (*XPager)(unsafe.Pointer(_pBt.X0)), _szMmap) 146310 _sqlite3BtreeLeave(tls, _p) 146311 r0 = i32(0) 146312 return 146313 146314 } 146315 146316 var _sqlite3BtreeSetMmapLimitØ00__func__Ø000 [25]int8 // - 146317 146318 func init() { 146319 crt.Xstrncpy(nil, &_sqlite3BtreeSetMmapLimitØ00__func__Ø000[0], str(128904), 25) 146320 } 146321 146322 func _changeTempStorage(tls *crt.TLS, _pParse *XParse, _zStorageType *int8) (r0 int32) { // sqlite3.c:113113:1 146323 var _ts int32 // sqlite3.c:113114:7 146324 _ = _ts 146325 var _db *Xsqlite3 // sqlite3.c:113115:11 146326 _ = _db 146327 _ts = _getTempStore(tls, _zStorageType) 146328 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 146329 if int32(_db.X16) != _ts { 146330 goto _0 146331 } 146332 146333 r0 = i32(0) 146334 return 146335 146336 _0: 146337 if _invalidateTempStorage(tls, _pParse) == i32(0) { 146338 goto _1 146339 } 146340 146341 r0 = i32(1) 146342 return 146343 146344 _1: 146345 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(64 /* X16 */))) = uint8(_ts) 146346 r0 = i32(0) 146347 return 146348 146349 } 146350 146351 func _getTempStore(tls *crt.TLS, _z *int8) (r0 int32) { // sqlite3.c:113073:1 146352 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) < i32(48) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) > i32(50) { 146353 goto _1 146354 } 146355 146356 r0 = int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) - i32(48) 146357 return 146358 146359 _1: 146360 if _sqlite3StrICmp(tls, _z, str(99076)) != i32(0) { 146361 goto _3 146362 } 146363 146364 r0 = i32(1) 146365 return 146366 146367 _3: 146368 if _sqlite3StrICmp(tls, _z, str(94648)) != i32(0) { 146369 goto _5 146370 } 146371 146372 r0 = i32(2) 146373 return 146374 146375 _5: 146376 r0 = i32(0) 146377 return 146378 146379 } 146380 146381 func _invalidateTempStorage(tls *crt.TLS, _pParse *XParse) (r0 int32) { // sqlite3.c:113091:1 146382 var _db *Xsqlite3 // sqlite3.c:113092:11 146383 _ = _db 146384 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 146385 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X1)) == (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 146386 goto _0 146387 } 146388 146389 if (_db.X15) != 0 && _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X1))) == 0 { 146390 goto _2 146391 } 146392 146393 _sqlite3ErrorMsg(tls, _pParse, str(128932)) 146394 r0 = i32(1) 146395 return 146396 146397 _2: 146398 _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X1))) 146399 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))))) + uintptr(4 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 146400 _sqlite3ResetAllSchemasOfConnection(tls, _db) 146401 _0: 146402 r0 = i32(0) 146403 return 146404 146405 } 146406 146407 var Xsqlite3_temp_directory *int8 // sqlite3.c:5521:17 146408 146409 var Xsqlite3_data_directory *int8 // sqlite3.c:5558:17 146410 146411 func _sqlite3VdbeMultiLoad(tls *crt.TLS, _p *XVdbe, _iDest int32, _zTypes *int8, args ...interface{}) { // sqlite3.c:71575:1 146412 var _ap []interface{} // sqlite3.c:71576:11 146413 _ = _ap 146414 var _i int32 // sqlite3.c:71577:7 146415 _ = _i 146416 var _c int8 // sqlite3.c:71578:8 146417 _ = _c 146418 var _2_z *int8 // sqlite3.c:71582:18 146419 _ = _2_z 146420 _ap = args 146421 _i = i32(0) 146422 _0: 146423 if int32(store973(&_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zTypes)) + 1*uintptr(_i))))) == i32(0) { 146424 goto _3 146425 } 146426 146427 if int32(_c) != i32(115) { 146428 goto _4 146429 } 146430 146431 _2_z = (*int8)(crt.VAPointer(&_ap)) 146432 _sqlite3VdbeAddOp4(tls, _p, func() int32 { 146433 if _2_z == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 146434 return i32(80) 146435 } 146436 return i32(97) 146437 }(), i32(0), postInc961(&_iDest, int32(1)), i32(0), _2_z, i32(0)) 146438 goto _7 146439 146440 _4: 146441 func() int32 { 146442 if int32(_c) == i32(105) { 146443 return i32(0) 146444 } 146445 return func() int32 { 146446 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71585), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeMultiLoadØ00__func__Ø000))), unsafe.Pointer(str(128996))) 146447 crt.X__builtin_abort(tls) 146448 return i32(0) 146449 }() 146450 }() 146451 _sqlite3VdbeAddOp2(tls, _p, i32(77), crt.VAInt32(&_ap), postInc961(&_iDest, int32(1))) 146452 _7: 146453 _i += 1 146454 goto _0 146455 146456 _3: 146457 _ap = nil 146458 return 146459 146460 } 146461 146462 var _sqlite3VdbeMultiLoadØ00__func__Ø000 [21]int8 // - 146463 146464 func init() { 146465 crt.Xstrncpy(nil, &_sqlite3VdbeMultiLoadØ00__func__Ø000[0], str(129004), 21) 146466 } 146467 146468 func _actionName(tls *crt.TLS, _action uint8) (r0 *int8) { // sqlite3.c:113199:1 146469 var _zName *int8 // sqlite3.c:113200:14 146470 _ = _zName 146471 switch int32(_action) { 146472 case i32(6): 146473 goto _4 146474 case i32(7): 146475 goto _1 146476 case i32(8): 146477 goto _2 146478 case i32(9): 146479 goto _3 146480 default: 146481 goto _5 146482 } 146483 146484 _1: 146485 _zName = str(129028) 146486 goto _6 146487 146488 _2: 146489 _zName = str(129040) 146490 goto _6 146491 146492 _3: 146493 _zName = str(26488) 146494 goto _6 146495 146496 _4: 146497 _zName = str(26660) 146498 goto _6 146499 146500 _5: 146501 _zName = str(129052) 146502 func() int32 { 146503 if int32(_action) == i32(0) { 146504 return i32(0) 146505 } 146506 return func() int32 { 146507 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(113207), unsafe.Pointer((*int8)(unsafe.Pointer(&_actionNameØ00__func__Ø000))), unsafe.Pointer(str(129064))) 146508 crt.X__builtin_abort(tls) 146509 return i32(0) 146510 }() 146511 }() 146512 goto _6 146513 146514 _6: 146515 r0 = _zName 146516 return 146517 146518 } 146519 146520 var _actionNameØ00__func__Ø000 [11]int8 // - 146521 146522 func init() { 146523 crt.Xstrncpy(nil, &_actionNameØ00__func__Ø000[0], str(129080), 11) 146524 } 146525 146526 func _sqlite3ParserTrace(tls *crt.TLS, _TraceFILE *unsafe.Pointer, _zTracePrompt *int8) { // sqlite3.c:135872:1 146527 _yyTraceFILE = _TraceFILE 146528 bug20530(_yyTraceFILE) 146529 _yyTracePrompt = _zTracePrompt 146530 bug20530(_yyTracePrompt) 146531 if _yyTraceFILE != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 146532 goto _0 146533 } 146534 146535 _yyTracePrompt = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 146536 bug20530(_yyTracePrompt) 146537 goto _1 146538 146539 _0: 146540 if _yyTracePrompt != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 146541 goto _2 146542 } 146543 146544 _yyTraceFILE = (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) 146545 bug20530(_yyTraceFILE) 146546 _2: 146547 _1: 146548 return 146549 146550 } 146551 146552 func _sqlite3RegisterLikeFunctions(tls *crt.TLS, _db *Xsqlite3, _caseSensitive int32) { // sqlite3.c:106974:1 146553 var _pInfo *T8650382 // sqlite3.c:106975:22 146554 _ = _pInfo 146555 if _caseSensitive == 0 { 146556 goto _0 146557 } 146558 146559 _pInfo = &_likeInfoAlt 146560 goto _1 146561 146562 _0: 146563 _pInfo = &_likeInfoNorm 146564 _1: 146565 _sqlite3CreateFunc(tls, _db, str(7812), i32(2), i32(1), (unsafe.Pointer)(_pInfo), _likeFunc, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) 146566 _sqlite3CreateFunc(tls, _db, str(7812), i32(3), i32(1), (unsafe.Pointer)(_pInfo), _likeFunc, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) 146567 _sqlite3CreateFunc(tls, _db, str(7804), i32(2), i32(1), (unsafe.Pointer)(&_globInfo), _likeFunc, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) 146568 _setLikeOptFlag(tls, _db, str(7804), uint8(i32(12))) 146569 _setLikeOptFlag(tls, _db, str(7812), uint8(func() int32 { 146570 if _caseSensitive != 0 { 146571 return i32(12) 146572 } 146573 return i32(4) 146574 }())) 146575 return 146576 146577 } 146578 146579 func _likeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106096:1 146580 var _zA *uint8 // sqlite3.c:106101:23 146581 _ = _zA 146582 var _zB *uint8 // sqlite3.c:106101:28 146583 _ = _zB 146584 var _escape uint32 // sqlite3.c:106102:7 146585 _ = _escape 146586 var _nPat int32 // sqlite3.c:106103:7 146587 _ = _nPat 146588 var _db *Xsqlite3 // sqlite3.c:106104:11 146589 _ = _db 146590 var _pInfo *T8650382 // sqlite3.c:106105:22 146591 _ = _pInfo 146592 var _2_zEsc *uint8 // sqlite3.c:106137:25 146593 _ = _2_zEsc 146594 _db = Xsqlite3_context_db_handle(tls, _context) 146595 _pInfo = (*T8650382)(unsafe.Pointer(Xsqlite3_user_data(tls, _context))) 146596 _zB = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 146597 _zA = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 146598 _nPat = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 146599 if _nPat <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(8))))) { 146600 goto _0 146601 } 146602 146603 Xsqlite3_result_error(tls, _context, str(129092), i32(-1)) 146604 return 146605 146606 _0: 146607 func() int32 { 146608 if _zB == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 146609 return i32(0) 146610 } 146611 return func() int32 { 146612 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106131), unsafe.Pointer((*int8)(unsafe.Pointer(&_likeFuncØ00__func__Ø000))), unsafe.Pointer(str(129128))) 146613 crt.X__builtin_abort(tls) 146614 return i32(0) 146615 }() 146616 }() 146617 if _argc != i32(3) { 146618 goto _3 146619 } 146620 146621 _2_zEsc = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) 146622 if _2_zEsc != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 146623 goto _4 146624 } 146625 146626 return 146627 146628 _4: 146629 if _sqlite3Utf8CharLen(tls, (*int8)(unsafe.Pointer(_2_zEsc)), i32(-1)) == i32(1) { 146630 goto _5 146631 } 146632 146633 Xsqlite3_result_error(tls, _context, str(129160), i32(-1)) 146634 return 146635 146636 _5: 146637 _escape = _sqlite3Utf8Read(tls, &_2_zEsc) 146638 goto _6 146639 146640 _3: 146641 _escape = uint32(_pInfo.X2) 146642 _6: 146643 if _zA == nil || _zB == nil { 146644 goto _8 146645 } 146646 146647 Xsqlite3_result_int(tls, _context, bool2int(_patternCompare(tls, _zB, _zA, _pInfo, _escape) == i32(0))) 146648 _8: 146649 return 146650 146651 } 146652 146653 func Xsqlite3_user_data(tls *crt.TLS, _p *Xsqlite3_context) (r0 unsafe.Pointer) { // sqlite3.c:76706:12 146654 func() int32 { 146655 if (_p != nil) && ((*XFuncDef)(unsafe.Pointer(_p.X1)) != nil) { 146656 return i32(0) 146657 } 146658 return func() int32 { 146659 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76707), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_user_dataØ00__func__Ø000))), unsafe.Pointer(str(129208))) 146660 crt.X__builtin_abort(tls) 146661 return i32(0) 146662 }() 146663 }() 146664 r0 = (*XFuncDef)(unsafe.Pointer(_p.X1)).X2 146665 return 146666 146667 } 146668 146669 var _sqlite3_user_dataØ00__func__Ø000 [18]int8 // - 146670 146671 func init() { 146672 crt.Xstrncpy(nil, &_sqlite3_user_dataØ00__func__Ø000[0], str(129224), 18) 146673 } 146674 146675 var _likeFuncØ00__func__Ø000 [9]int8 // - 146676 146677 func init() { 146678 crt.Xstrncpy(nil, &_likeFuncØ00__func__Ø000[0], str(129244), 9) 146679 } 146680 146681 func Xsqlite3_result_int(tls *crt.TLS, _pCtx *Xsqlite3_context, _iVal int32) { // sqlite3.c:76372:12 146682 func() int32 { 146683 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 146684 return i32(0) 146685 } 146686 return func() int32 { 146687 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76373), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_intØ00__func__Ø000))), unsafe.Pointer(str(6312))) 146688 crt.X__builtin_abort(tls) 146689 return i32(0) 146690 }() 146691 }() 146692 _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), int64(_iVal)) 146693 return 146694 146695 } 146696 146697 var _sqlite3_result_intØ00__func__Ø000 [19]int8 // - 146698 146699 func init() { 146700 crt.Xstrncpy(nil, &_sqlite3_result_intØ00__func__Ø000[0], str(129256), 19) 146701 } 146702 146703 func _setLikeOptFlag(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _flagVal uint8) { // sqlite3.c:106961:1 146704 var _pDef *XFuncDef // sqlite3.c:106962:11 146705 _ = _pDef 146706 _pDef = _sqlite3FindFunction(tls, _db, _zName, i32(2), uint8(i32(1)), uint8(i32(0))) 146707 if func() int32 { 146708 if _pDef != nil { 146709 return i32(1) 146710 } 146711 return func() int32 { 146712 func() int32 { 146713 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106964), unsafe.Pointer((*int8)(unsafe.Pointer(&_setLikeOptFlagØ00__func__Ø000))), unsafe.Pointer(str(5204))) 146714 crt.X__builtin_abort(tls) 146715 return i32(0) 146716 }() 146717 return i32(0) 146718 }() 146719 }() == 0 { 146720 goto _2 146721 } 146722 146723 { 146724 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDef)) + uintptr(2 /* X1 */))) 146725 *p = uint16(int32(*p) | int32(_flagVal)) 146726 sink6908 = *p 146727 } 146728 _2: 146729 return 146730 146731 } 146732 146733 var _setLikeOptFlagØ00__func__Ø000 [15]int8 // - 146734 146735 func init() { 146736 crt.Xstrncpy(nil, &_setLikeOptFlagØ00__func__Ø000[0], str(129276), 15) 146737 } 146738 146739 func _integrityCheckResultRow(tls *crt.TLS, _v *XVdbe, _regResult int32) (r0 int32) { // sqlite3.c:113265:1 146740 var _addr int32 // sqlite3.c:113266:7 146741 _ = _addr 146742 _sqlite3VdbeAddOp2(tls, _v, i32(88), _regResult, i32(1)) 146743 _addr = _sqlite3VdbeAddOp3(tls, _v, i32(67), i32(1), _sqlite3VdbeCurrentAddr(tls, _v)+i32(2), i32(1)) 146744 _sqlite3VdbeAddOp2(tls, _v, i32(76), i32(0), i32(0)) 146745 r0 = _addr 146746 return 146747 146748 } 146749 146750 func _sqlite3NoTempsInRange(tls *crt.TLS, _pParse *XParse, _iFirst int32, _iLast int32) (r0 int32) { // sqlite3.c:95858:1 146751 var _i int32 // sqlite3.c:95859:7 146752 _ = _i 146753 if (_pParse.X14) <= i32(0) || ((_pParse.X15)+(_pParse.X14)) >= _iLast || (_pParse.X15) < _iFirst { 146754 goto _2 146755 } 146756 146757 r0 = i32(0) 146758 return 146759 146760 _2: 146761 _i = i32(0) 146762 _3: 146763 if _i >= int32(_pParse.X7) { 146764 goto _6 146765 } 146766 146767 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(360 /* X49 */))))) + 4*uintptr(_i)))) < _iFirst || (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[8]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(360 /* X49 */))))) + 4*uintptr(_i)))) > _iLast { 146768 goto _8 146769 } 146770 146771 r0 = i32(0) 146772 return 146773 146774 _8: 146775 _i += 1 146776 goto _3 146777 146778 _6: 146779 r0 = i32(1) 146780 return 146781 146782 } 146783 146784 var _sqlite3PragmaØ00endCodeØ006 [4]struct { 146785 X0 uint8 146786 X1 int8 146787 X2 int8 146788 X3 int8 146789 } // sqlite3.c:114591:31 146790 146791 func init() { 146792 _sqlite3PragmaØ00endCodeØ006 = [4]struct { 146793 X0 uint8 146794 X1 int8 146795 X2 int8 146796 X3 int8 146797 }{T8124566{X0: u8(92), X1: i8(1), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(68), X1: i8(1), X2: i8(4), X3: i8(0)}, T8124566{X0: u8(97), X1: i8(0), X2: i8(3), X3: i8(0)}, T8124566{X0: u8(88), X1: i8(3), X2: i8(1), X3: i8(0)}} 146798 } 146799 146800 var _sqlite3PragmaØ00iLnØ005 int32 // sqlite3.c:114590:24 146801 146802 var _sqlite3PragmaØ00encnamesØ007 [9]struct { 146803 X0 *int8 146804 X1 uint8 146805 } // sqlite3.c:114637:7 146806 146807 func init() { 146808 _sqlite3PragmaØ00encnamesØ007 = [9]struct { 146809 X0 *int8 146810 X1 uint8 146811 }{T8760930{X0: str(129292), X1: u8(1)}, T8760930{X0: str(129300), X1: u8(1)}, T8760930{X0: str(129308), X1: u8(2)}, T8760930{X0: str(129320), X1: u8(3)}, T8760930{X0: str(129332), X1: u8(2)}, T8760930{X0: str(129340), X1: u8(3)}, T8760930{X0: str(129348), X1: u8(0)}, T8760930{X0: str(129356), X1: u8(0)}, T8760930{}} 146812 } 146813 146814 var _sqlite3PragmaØ00setCookieØ008 [2]struct { 146815 X0 uint8 146816 X1 int8 146817 X2 int8 146818 X3 int8 146819 } // sqlite3.c:114719:31 146820 146821 func init() { 146822 _sqlite3PragmaØ00setCookieØ008 = [2]struct { 146823 X0 uint8 146824 X1 int8 146825 X2 int8 146826 X3 int8 146827 }{T8124566{X0: u8(2), X1: i8(0), X2: i8(1), X3: i8(0)}, T8124566{X0: u8(103), X1: i8(0), X2: i8(0), X3: i8(0)}} 146828 } 146829 146830 var _sqlite3PragmaØ00readCookieØ009 [3]struct { 146831 X0 uint8 146832 X1 int8 146833 X2 int8 146834 X3 int8 146835 } // sqlite3.c:114733:31 146836 146837 func init() { 146838 _sqlite3PragmaØ00readCookieØ009 = [3]struct { 146839 X0 uint8 146840 X1 int8 146841 X2 int8 146842 X3 int8 146843 }{T8124566{X0: u8(2), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(102), X1: i8(0), X2: i8(1), X3: i8(0)}, T8124566{X0: u8(88), X1: i8(1), X2: i8(1), X3: i8(0)}} 146844 } 146845 146846 func _sqlite3VdbeReusable(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:71730:1 146847 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(0)), 32, 5) 146848 return 146849 146850 } 146851 146852 func Xsqlite3_compileoption_get(tls *crt.TLS, _N int32) (r0 *int8) { // sqlite3.c:17881:12 146853 if _N < i32(0) || _N >= i32(7) { 146854 goto _1 146855 } 146856 146857 r0 = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azCompileOpt)) + 4*uintptr(_N))) 146858 return 146859 146860 _1: 146861 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 146862 return 146863 146864 } 146865 146866 var _azCompileOpt [7]*int8 // sqlite3.c:17454:19 146867 146868 func init() { 146869 _azCompileOpt = [7]*int8{str(129364), str(129384), str(129392), str(129416), str(129444), str(129464), str(129480)} 146870 } 146871 146872 func Xsqlite3_wal_autocheckpoint(tls *crt.TLS, _db *Xsqlite3, _nFrame int32) (r0 int32) { // sqlite3.c:141936:12 146873 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 146874 goto _0 146875 } 146876 146877 r0 = _sqlite3MisuseError(tls, i32(141942)) 146878 return 146879 146880 _0: 146881 if _nFrame <= i32(0) { 146882 goto _1 146883 } 146884 146885 Xsqlite3_wal_hook(tls, _db, _sqlite3WalDefaultHook, (unsafe.Pointer)(uintptr(_nFrame))) 146886 goto _2 146887 146888 _1: 146889 Xsqlite3_wal_hook(tls, _db, nil, (unsafe.Pointer)(uintptr(i32(0)))) 146890 _2: 146891 r0 = i32(0) 146892 return 146893 146894 } 146895 146896 func Xsqlite3_wal_hook(tls *crt.TLS, _db *Xsqlite3, _xCallback func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32, _pArg unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:141957:12 146897 var _pRet unsafe.Pointer // sqlite3.c:141963:8 146898 _ = _pRet 146899 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 146900 goto _0 146901 } 146902 146903 _sqlite3MisuseError(tls, i32(141966)) 146904 r0 = (unsafe.Pointer)(uintptr(i32(0))) 146905 return 146906 146907 _0: 146908 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 146909 _pRet = _db.X52 146910 *(*func(*crt.TLS, unsafe.Pointer, *Xsqlite3, *int8, int32) int32)(unsafe.Pointer((*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(220 /* X51 */))))) = _xCallback 146911 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(224 /* X52 */))) = _pArg 146912 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 146913 r0 = _pRet 146914 return 146915 146916 } 146917 146918 func _sqlite3WalDefaultHook(tls *crt.TLS, _pClientData unsafe.Pointer, _db *Xsqlite3, _zDb *int8, _nFrame int32) (r0 int32) { // sqlite3.c:141910:1 146919 if _nFrame < int32(uintptr(unsafe.Pointer(_pClientData))) { 146920 goto _0 146921 } 146922 146923 _sqlite3BeginBenignMalloc(tls) 146924 Xsqlite3_wal_checkpoint(tls, _db, _zDb) 146925 _sqlite3EndBenignMalloc(tls) 146926 _0: 146927 r0 = i32(0) 146928 return 146929 146930 } 146931 146932 func Xsqlite3_wal_checkpoint(tls *crt.TLS, _db *Xsqlite3, _zDb *int8) (r0 int32) { // sqlite3.c:142046:12 146933 r0 = Xsqlite3_wal_checkpoint_v2(tls, _db, _zDb, i32(0), (*int32)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 146934 return 146935 146936 } 146937 146938 func Xsqlite3_wal_checkpoint_v2(tls *crt.TLS, _db *Xsqlite3, _zDb *int8, _eMode int32, _pnLog *int32, _pnCkpt *int32) (r0 int32) { // sqlite3.c:141984:12 146939 var _rc int32 // sqlite3.c:141994:7 146940 _ = _rc 146941 var _iDb int32 // sqlite3.c:141995:7 146942 _ = _iDb 146943 _iDb = i32(10) 146944 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 146945 goto _0 146946 } 146947 146948 r0 = _sqlite3MisuseError(tls, i32(141998)) 146949 return 146950 146951 _0: 146952 if _pnLog == nil { 146953 goto _1 146954 } 146955 146956 *_pnLog = i32(-1) 146957 _1: 146958 if _pnCkpt == nil { 146959 goto _2 146960 } 146961 146962 *_pnCkpt = i32(-1) 146963 _2: 146964 i32(0) 146965 i32(0) 146966 i32(0) 146967 i32(0) 146968 if _eMode >= i32(0) && _eMode <= i32(3) { 146969 goto _4 146970 } 146971 146972 r0 = i32(21) 146973 return 146974 146975 _4: 146976 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 146977 if _zDb == nil || (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zDb)) + 1*uintptr(i32(0))))) == 0 { 146978 goto _6 146979 } 146980 146981 _iDb = _sqlite3FindDbName(tls, _db, _zDb) 146982 _6: 146983 if _iDb >= i32(0) { 146984 goto _7 146985 } 146986 146987 _rc = i32(1) 146988 _sqlite3ErrorWithMsg(tls, _db, i32(1), str(129496), unsafe.Pointer(_zDb)) 146989 goto _8 146990 146991 _7: 146992 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746641)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(376 /* X71 */))))) + uintptr(8 /* X2 */))) = i32(0) 146993 _rc = _sqlite3Checkpoint(tls, _db, _iDb, _eMode, _pnLog, _pnCkpt) 146994 _sqlite3Error(tls, _db, _rc) 146995 _8: 146996 _rc = _sqlite3ApiExit(tls, _db, _rc) 146997 if (_db.X34) != i32(0) { 146998 goto _9 146999 } 147000 147001 *(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */))))) = i32(0) 147002 _9: 147003 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 147004 r0 = _rc 147005 return 147006 147007 } 147008 147009 func Xsqlite3_db_release_memory(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140637:12 147010 var _i int32 // sqlite3.c:140638:7 147011 _ = _i 147012 var _1_pBt *XBtree // sqlite3.c:140646:11 147013 _ = _1_pBt 147014 var _2_pPager *XPager // sqlite3.c:140648:13 147015 _ = _2_pPager 147016 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 147017 goto _0 147018 } 147019 147020 r0 = _sqlite3MisuseError(tls, i32(140641)) 147021 return 147022 147023 _0: 147024 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 147025 _sqlite3BtreeEnterAll(tls, _db) 147026 _i = i32(0) 147027 _1: 147028 if _i >= (_db.X5) { 147029 goto _4 147030 } 147031 147032 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 147033 if _1_pBt == nil { 147034 goto _5 147035 } 147036 147037 _2_pPager = _sqlite3BtreePager(tls, _1_pBt) 147038 _sqlite3PagerShrink(tls, _2_pPager) 147039 _5: 147040 _i += 1 147041 goto _1 147042 147043 _4: 147044 _sqlite3BtreeLeaveAll(tls, _db) 147045 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 147046 r0 = i32(0) 147047 return 147048 147049 } 147050 147051 func _sqlite3PagerShrink(tls *crt.TLS, _pPager *XPager) { // sqlite3.c:50366:1 147052 _sqlite3PcacheShrink(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 147053 return 147054 147055 } 147056 147057 func _sqlite3PcacheShrink(tls *crt.TLS, _pCache *XPCache) { // sqlite3.c:44922:1 147058 func() int32 { 147059 if (_pCache.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 147060 return i32(0) 147061 } 147062 return func() int32 { 147063 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(44923), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PcacheShrinkØ00__func__Ø000))), unsafe.Pointer(str(16356))) 147064 crt.X__builtin_abort(tls) 147065 return i32(0) 147066 }() 147067 }() 147068 ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X12)(tls, _pCache.X12) 147069 return 147070 147071 } 147072 147073 var _sqlite3PcacheShrinkØ00__func__Ø000 [20]int8 // - 147074 147075 func init() { 147076 crt.Xstrncpy(nil, &_sqlite3PcacheShrinkØ00__func__Ø000[0], str(129520), 20) 147077 } 147078 147079 func Xsqlite3_soft_heap_limit64(tls *crt.TLS, _n int64) (r0 int64) { // sqlite3.c:24285:12 147080 var _priorLimit int64 // sqlite3.c:24286:17 147081 _ = _priorLimit 147082 var _excess int64 // sqlite3.c:24287:17 147083 _ = _excess 147084 var _nUsed int64 // sqlite3.c:24288:17 147085 _ = _nUsed 147086 var _rc int32 // sqlite3.c:24290:7 147087 _ = _rc 147088 _rc = Xsqlite3_initialize(tls) 147089 if _rc == 0 { 147090 goto _0 147091 } 147092 147093 r0 = int64(i32(-1)) 147094 return 147095 147096 _0: 147097 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 147098 _priorLimit = _mem0.X1 147099 if _n >= int64(i32(0)) { 147100 goto _1 147101 } 147102 147103 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 147104 r0 = _priorLimit 147105 return 147106 147107 _1: 147108 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(4 /* X1 */))) = _n 147109 _nUsed = _sqlite3StatusValue(tls, i32(0)) 147110 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_mem0)) + uintptr(24 /* X5 */))) = bool2int((_n > int64(i32(0))) && (_n <= _nUsed)) 147111 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_mem0.X0))) 147112 _excess = Xsqlite3_memory_used(tls) - _n 147113 if _excess <= int64(i32(0)) { 147114 goto _3 147115 } 147116 147117 Xsqlite3_release_memory(tls, int32(_excess&int64(i32(2147483647)))) 147118 _3: 147119 r0 = _priorLimit 147120 return 147121 147122 } 147123 147124 func Xsqlite3_memory_used(tls *crt.TLS) (r0 int64) { // sqlite3.c:24376:12 147125 var _res int64 // sqlite3.c:24377:17 147126 _ = _res 147127 var _mx int64 // sqlite3.c:24377:22 147128 _ = _mx 147129 Xsqlite3_status64(tls, i32(0), &_res, &_mx, i32(0)) 147130 r0 = _res 147131 return 147132 147133 } 147134 147135 func Xsqlite3_status64(tls *crt.TLS, _op int32, _pCurrent *int64, _pHighwater *int64, _resetFlag int32) (r0 int32) { // sqlite3.c:18582:12 147136 var _pMutex *Xsqlite3_mutex // sqlite3.c:18588:17 147137 _ = _pMutex 147138 if _op >= i32(0) && _op < i32(10) { 147139 goto _1 147140 } 147141 147142 r0 = _sqlite3MisuseError(tls, i32(18591)) 147143 return 147144 147145 _1: 147146 if _pCurrent != (*int64)(unsafe.Pointer(uintptr(i32(0)))) && _pHighwater != (*int64)(unsafe.Pointer(uintptr(i32(0)))) { 147147 goto _3 147148 } 147149 147150 r0 = _sqlite3MisuseError(tls, i32(18594)) 147151 return 147152 147153 _3: 147154 _pMutex = func() *Xsqlite3_mutex { 147155 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_statMutex)) + 1*uintptr(_op)))) != 0 { 147156 return _sqlite3Pcache1Mutex(tls) 147157 } 147158 return _sqlite3MallocMutex(tls) 147159 }() 147160 Xsqlite3_mutex_enter(tls, _pMutex) 147161 *_pCurrent = int64(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op)))) 147162 *_pHighwater = int64(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(40 /* X1 */))))) + 4*uintptr(_op)))) 147163 if _resetFlag == 0 { 147164 goto _6 147165 } 147166 147167 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(40 /* X1 */))))) + 4*uintptr(_op))) = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[10]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Stat))+uintptr(0 /* X0 */))))) + 4*uintptr(_op))) 147168 _6: 147169 Xsqlite3_mutex_leave(tls, _pMutex) 147170 147171 r0 = i32(0) 147172 return 147173 147174 } 147175 147176 func Xsqlite3_limit(tls *crt.TLS, _db *Xsqlite3, _limitId int32, _newLimit int32) (r0 int32) { // sqlite3.c:142385:12 147177 var _oldLimit int32 // sqlite3.c:142386:7 147178 _ = _oldLimit 147179 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 147180 goto _0 147181 } 147182 147183 _sqlite3MisuseError(tls, i32(142390)) 147184 r0 = i32(-1) 147185 return 147186 147187 _0: 147188 func() int32 { 147189 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(0))))) == i32(1000000000) { 147190 return i32(0) 147191 } 147192 return func() int32 { 147193 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142400), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129540))) 147194 crt.X__builtin_abort(tls) 147195 return i32(0) 147196 }() 147197 }() 147198 func() int32 { 147199 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(1))))) == i32(1000000000) { 147200 return i32(0) 147201 } 147202 return func() int32 { 147203 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142401), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129592))) 147204 crt.X__builtin_abort(tls) 147205 return i32(0) 147206 }() 147207 }() 147208 func() int32 { 147209 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(2))))) == i32(2000) { 147210 return i32(0) 147211 } 147212 return func() int32 { 147213 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142402), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129652))) 147214 crt.X__builtin_abort(tls) 147215 return i32(0) 147216 }() 147217 }() 147218 func() int32 { 147219 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(3))))) == i32(1000) { 147220 return i32(0) 147221 } 147222 return func() int32 { 147223 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142403), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129704))) 147224 crt.X__builtin_abort(tls) 147225 return i32(0) 147226 }() 147227 }() 147228 func() int32 { 147229 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(4))))) == i32(500) { 147230 return i32(0) 147231 } 147232 return func() int32 { 147233 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142404), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129764))) 147234 crt.X__builtin_abort(tls) 147235 return i32(0) 147236 }() 147237 }() 147238 func() int32 { 147239 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(5))))) == i32(250000000) { 147240 return i32(0) 147241 } 147242 return func() int32 { 147243 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142405), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129836))) 147244 crt.X__builtin_abort(tls) 147245 return i32(0) 147246 }() 147247 }() 147248 func() int32 { 147249 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(6))))) == i32(127) { 147250 return i32(0) 147251 } 147252 return func() int32 { 147253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142406), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129892))) 147254 crt.X__builtin_abort(tls) 147255 return i32(0) 147256 }() 147257 }() 147258 func() int32 { 147259 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(7))))) == i32(10) { 147260 return i32(0) 147261 } 147262 return func() int32 { 147263 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142407), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(129956))) 147264 crt.X__builtin_abort(tls) 147265 return i32(0) 147266 }() 147267 }() 147268 func() int32 { 147269 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(8))))) == i32(50000) { 147270 return i32(0) 147271 } 147272 return func() int32 { 147273 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142408), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(130012))) 147274 crt.X__builtin_abort(tls) 147275 return i32(0) 147276 }() 147277 }() 147278 func() int32 { 147279 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(9))))) == i32(999) { 147280 return i32(0) 147281 } 147282 return func() int32 { 147283 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142410), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(130092))) 147284 crt.X__builtin_abort(tls) 147285 return i32(0) 147286 }() 147287 }() 147288 func() int32 { 147289 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(10))))) == i32(1000) { 147290 return i32(0) 147291 } 147292 return func() int32 { 147293 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142411), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(130164))) 147294 crt.X__builtin_abort(tls) 147295 return i32(0) 147296 }() 147297 }() 147298 func() int32 { 147299 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(i32(11))))) == i32(8) { 147300 return i32(0) 147301 } 147302 return func() int32 { 147303 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142412), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_limitØ00__func__Ø000))), unsafe.Pointer(str(130232))) 147304 crt.X__builtin_abort(tls) 147305 return i32(0) 147306 }() 147307 }() 147308 i32(0) 147309 if _limitId >= i32(0) && _limitId < i32(12) { 147310 goto _26 147311 } 147312 147313 r0 = i32(-1) 147314 return 147315 147316 _26: 147317 _oldLimit = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(_limitId))) 147318 if _newLimit < i32(0) { 147319 goto _27 147320 } 147321 147322 if _newLimit <= (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(_limitId)))) { 147323 goto _28 147324 } 147325 147326 _newLimit = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aHardLimit)) + 4*uintptr(_limitId))) 147327 _28: 147328 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(_limitId))) = _newLimit 147329 _27: 147330 r0 = _oldLimit 147331 return 147332 147333 } 147334 147335 var _aHardLimit [12]int32 // sqlite3.c:142322:18 147336 147337 func init() { 147338 _aHardLimit = [12]int32{i32(1000000000), i32(1000000000), i32(2000), i32(1000), i32(500), i32(250000000), i32(127), i32(10), i32(50000), i32(999), i32(1000), i32(8)} 147339 } 147340 147341 var _sqlite3_limitØ00__func__Ø000 [14]int8 // - 147342 147343 func init() { 147344 crt.Xstrncpy(nil, &_sqlite3_limitØ00__func__Ø000[0], str(130300), 14) 147345 } 147346 147347 var _sqlite3PragmaØ00azLockNameØ0010 [5]*int8 // sqlite3.c:115000:23 147348 147349 func init() { 147350 _sqlite3PragmaØ00azLockNameØ0010 = [5]*int8{str(130316), str(130328), str(130336), str(130348), str(94628)} 147351 } 147352 147353 func _sqlite3VdbeVerifyNoResultRow(tls *crt.TLS, _p *XVdbe) { // sqlite3.c:71996:1 147354 var _i int32 // sqlite3.c:71997:7 147355 _ = _i 147356 _i = i32(0) 147357 _0: 147358 if _i >= (_p.X27) { 147359 goto _3 147360 } 147361 147362 func() int32 { 147363 if int32((*XVdbeOp)(unsafe.Pointer(uintptr(_p.X17)+24*uintptr(_i))).X0) != i32(88) { 147364 return i32(0) 147365 } 147366 return func() int32 { 147367 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(71999), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VdbeVerifyNoResultRowØ00__func__Ø000))), unsafe.Pointer(str(130356))) 147368 crt.X__builtin_abort(tls) 147369 return i32(0) 147370 }() 147371 }() 147372 _i += 1 147373 goto _0 147374 147375 _3: 147376 return 147377 147378 } 147379 147380 var _sqlite3VdbeVerifyNoResultRowØ00__func__Ø000 [29]int8 // - 147381 147382 func init() { 147383 crt.Xstrncpy(nil, &_sqlite3VdbeVerifyNoResultRowØ00__func__Ø000[0], str(130388), 29) 147384 } 147385 147386 func _sqlite3FinishTrigger(tls *crt.TLS, _pParse *XParse, _pStepList *XTriggerStep, _pAll *XToken) { // sqlite3.c:122450:1 147387 var _pTrig *XTrigger // sqlite3.c:122455:11 147388 _ = _pTrig 147389 var _zName *int8 // sqlite3.c:122456:8 147390 _ = _zName 147391 var _db *Xsqlite3 // sqlite3.c:122457:11 147392 _ = _db 147393 var _sFix XDbFixer // sqlite3.c:122458:11 147394 _ = _sFix 147395 var _iDb int32 // sqlite3.c:122459:7 147396 _ = _iDb 147397 var _nameToken XToken // sqlite3.c:122460:9 147398 _ = _nameToken 147399 var _3_v *XVdbe // sqlite3.c:122483:10 147400 _ = _3_v 147401 var _3_z *int8 // sqlite3.c:122484:10 147402 _ = _3_z 147403 var _4_pLink *XTrigger // sqlite3.c:122502:13 147404 _ = _4_pLink 147405 var _4_pHash *XHash // sqlite3.c:122503:10 147406 _ = _4_pHash 147407 var _6_pTab *XTable // sqlite3.c:122509:13 147408 _ = _6_pTab 147409 _pTrig = (*XTrigger)(unsafe.Pointer(_pParse.X64)) 147410 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 147411 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(448 /* X64 */))))) = (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) 147412 if func() int32 { 147413 if (_pParse.X16) != 0 { 147414 return func() int32 { 147415 func() int32 { 147416 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122463), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishTriggerØ00__func__Ø000))), unsafe.Pointer(str(5204))) 147417 crt.X__builtin_abort(tls) 147418 return i32(0) 147419 }() 147420 return i32(1) 147421 }() 147422 } 147423 return i32(0) 147424 }() == 0 && _pTrig != nil { 147425 goto _3 147426 } 147427 147428 goto _triggerfinish_cleanup 147429 147430 _3: 147431 _zName = _pTrig.X0 147432 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTrig.X6))) 147433 *(**XTriggerStep)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrig)) + uintptr(28 /* X8 */))))) = _pStepList 147434 _4: 147435 if _pStepList == nil { 147436 goto _5 147437 } 147438 147439 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pStepList)) + uintptr(4 /* X2 */))))) = _pTrig 147440 _pStepList = (*XTriggerStep)(unsafe.Pointer(_pStepList.X8)) 147441 goto _4 147442 147443 _5: 147444 _sqlite3TokenInit(tls, &_nameToken, _pTrig.X0) 147445 _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(24844), &_nameToken) 147446 if _sqlite3FixTriggerStep(tls, &_sFix, (*XTriggerStep)(unsafe.Pointer(_pTrig.X8))) == 0 && _sqlite3FixExpr(tls, &_sFix, (*XExpr)(unsafe.Pointer(_pTrig.X4))) == 0 { 147447 goto _7 147448 } 147449 147450 goto _triggerfinish_cleanup 147451 147452 _7: 147453 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 147454 goto _8 147455 } 147456 147457 _3_v = _sqlite3GetVdbe(tls, _pParse) 147458 if _3_v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 147459 goto _9 147460 } 147461 147462 goto _triggerfinish_cleanup 147463 147464 _9: 147465 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 147466 _3_z = _sqlite3DbStrNDup(tls, _db, _pAll.X0, uint64(_pAll.X1)) 147467 _sqlite3NestedParse(tls, _pParse, str(130420), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_zName), unsafe.Pointer(_pTrig.X1), unsafe.Pointer(_3_z)) 147468 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_z)) 147469 _sqlite3ChangeCookie(tls, _pParse, _iDb) 147470 _sqlite3VdbeAddParseSchemaOp(tls, _3_v, _iDb, _sqlite3MPrintf(tls, _db, str(130484), unsafe.Pointer(_zName))) 147471 _8: 147472 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 147473 goto _10 147474 } 147475 147476 _4_pLink = _pTrig 147477 _4_pHash = (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4) + uintptr(40 /* X4 */))) 147478 func() int32 { 147479 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 147480 return i32(0) 147481 } 147482 return func() int32 { 147483 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122504), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishTriggerØ00__func__Ø000))), unsafe.Pointer(str(54008))) 147484 crt.X__builtin_abort(tls) 147485 return i32(0) 147486 }() 147487 }() 147488 _pTrig = (*XTrigger)(unsafe.Pointer(_sqlite3HashInsert(tls, _4_pHash, _zName, (unsafe.Pointer)(_pTrig)))) 147489 if _pTrig == nil { 147490 goto _13 147491 } 147492 147493 _sqlite3OomFault(tls, _db) 147494 goto _14 147495 147496 _13: 147497 if (*XSchema)(unsafe.Pointer(_4_pLink.X6)) != (*XSchema)(unsafe.Pointer(_4_pLink.X7)) { 147498 goto _15 147499 } 147500 147501 _6_pTab = (*XTable)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr(_4_pLink.X7)+uintptr(8 /* X2 */))), _4_pLink.X1))) 147502 func() int32 { 147503 if _6_pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 147504 return i32(0) 147505 } 147506 return func() int32 { 147507 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122511), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishTriggerØ00__func__Ø000))), unsafe.Pointer(str(45992))) 147508 crt.X__builtin_abort(tls) 147509 return i32(0) 147510 }() 147511 }() 147512 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_4_pLink)) + uintptr(32 /* X9 */))))) = (*XTrigger)(unsafe.Pointer(_6_pTab.X19)) 147513 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_pTab)) + uintptr(68 /* X19 */))))) = _4_pLink 147514 _15: 147515 _14: 147516 _10: 147517 _triggerfinish_cleanup: 147518 _sqlite3DeleteTrigger(tls, _db, _pTrig) 147519 func() int32 { 147520 if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == nil { 147521 return i32(0) 147522 } 147523 return func() int32 { 147524 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122519), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3FinishTriggerØ00__func__Ø000))), unsafe.Pointer(str(130516))) 147525 crt.X__builtin_abort(tls) 147526 return i32(0) 147527 }() 147528 }() 147529 _sqlite3DeleteTriggerStep(tls, _db, _pStepList) 147530 return 147531 147532 } 147533 147534 var _sqlite3FinishTriggerØ00__func__Ø000 [21]int8 // - 147535 147536 func init() { 147537 crt.Xstrncpy(nil, &_sqlite3FinishTriggerØ00__func__Ø000[0], str(130540), 21) 147538 } 147539 147540 func _sqlite3FixTriggerStep(tls *crt.TLS, _pFix *XDbFixer, _pStep *XTriggerStep) (r0 int32) { // sqlite3.c:99166:1 147541 _0: 147542 if _pStep == nil { 147543 goto _1 147544 } 147545 147546 if _sqlite3FixSelect(tls, _pFix, (*XSelect)(unsafe.Pointer(_pStep.X3))) == 0 { 147547 goto _2 147548 } 147549 147550 r0 = i32(1) 147551 return 147552 147553 _2: 147554 if _sqlite3FixExpr(tls, _pFix, (*XExpr)(unsafe.Pointer(_pStep.X5))) == 0 { 147555 goto _3 147556 } 147557 147558 r0 = i32(1) 147559 return 147560 147561 _3: 147562 if _sqlite3FixExprList(tls, _pFix, (*XExprList)(unsafe.Pointer(_pStep.X6))) == 0 { 147563 goto _4 147564 } 147565 147566 r0 = i32(1) 147567 return 147568 147569 _4: 147570 _pStep = (*XTriggerStep)(unsafe.Pointer(_pStep.X8)) 147571 goto _0 147572 147573 _1: 147574 r0 = i32(0) 147575 return 147576 147577 } 147578 147579 func _sqlite3BeginTrigger(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _tr_tm int32, _op int32, _pColumns *XIdList, _pTableName *XSrcList, _pWhen *XExpr, _isTemp int32, _noErr int32) { // sqlite3.c:122262:1 147580 var _pTrigger *XTrigger // sqlite3.c:122274:11 147581 _ = _pTrigger 147582 var _pTab *XTable // sqlite3.c:122275:9 147583 _ = _pTab 147584 var _zName *int8 // sqlite3.c:122276:8 147585 _ = _zName 147586 var _db *Xsqlite3 // sqlite3.c:122277:11 147587 _ = _db 147588 var _iDb int32 // sqlite3.c:122278:7 147589 _ = _iDb 147590 var _pName *XToken // sqlite3.c:122279:9 147591 _ = _pName 147592 var _sFix XDbFixer // sqlite3.c:122280:11 147593 _ = _sFix 147594 var _19_iTabDb int32 // sqlite3.c:122396:9 147595 _ = _19_iTabDb 147596 var _19_code int32 // sqlite3.c:122397:9 147597 _ = _19_code 147598 var _19_zDb *int8 // sqlite3.c:122398:16 147599 _ = _19_zDb 147600 var _19_zDbTrig *int8 // sqlite3.c:122399:16 147601 _ = _19_zDbTrig 147602 _pTrigger = nil 147603 _zName = nil 147604 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 147605 func() int32 { 147606 if _pName1 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 147607 return i32(0) 147608 } 147609 return func() int32 { 147610 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122282), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(130564))) 147611 crt.X__builtin_abort(tls) 147612 return i32(0) 147613 }() 147614 }() 147615 func() int32 { 147616 if _pName2 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 147617 return i32(0) 147618 } 147619 return func() int32 { 147620 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122283), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(117748))) 147621 crt.X__builtin_abort(tls) 147622 return i32(0) 147623 }() 147624 }() 147625 func() int32 { 147626 if ((_op == i32(108)) || (_op == i32(110))) || (_op == i32(109)) { 147627 return i32(0) 147628 } 147629 return func() int32 { 147630 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122284), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(130576))) 147631 crt.X__builtin_abort(tls) 147632 return i32(0) 147633 }() 147634 }() 147635 func() int32 { 147636 if (_op > i32(0)) && (_op < i32(255)) { 147637 return i32(0) 147638 } 147639 return func() int32 { 147640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122285), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(130624))) 147641 crt.X__builtin_abort(tls) 147642 return i32(0) 147643 }() 147644 }() 147645 if _isTemp == 0 { 147646 goto _11 147647 } 147648 147649 if (_pName2.X1) <= uint32(i32(0)) { 147650 goto _12 147651 } 147652 147653 _sqlite3ErrorMsg(tls, _pParse, str(130640)) 147654 goto _trigger_cleanup 147655 147656 _12: 147657 _iDb = i32(1) 147658 _pName = _pName1 147659 goto _13 147660 147661 _11: 147662 _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pName) 147663 if _iDb >= i32(0) { 147664 goto _14 147665 } 147666 147667 goto _trigger_cleanup 147668 147669 _14: 147670 _13: 147671 if _pTableName != nil && (_db.X17) == 0 { 147672 goto _16 147673 } 147674 147675 goto _trigger_cleanup 147676 147677 _16: 147678 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) == 0 || _iDb == i32(1) { 147679 goto _18 147680 } 147681 147682 _sqlite3DbFree(tls, _db, (unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 147683 X0 unsafe.Pointer 147684 X1 *int8 147685 X2 *int8 147686 X3 *int8 147687 X4 unsafe.Pointer 147688 X5 unsafe.Pointer 147689 X6 int32 147690 X7 int32 147691 X8 int32 147692 X9 struct { 147693 X0 uint8 147694 X1 int8 147695 } 147696 X10 uint8 147697 X11 int32 147698 X12 unsafe.Pointer 147699 X13 unsafe.Pointer 147700 X14 uint64 147701 X15 struct { 147702 X [0]struct { 147703 X0 *int8 147704 X1 unsafe.Pointer 147705 } 147706 U [4]byte 147707 } 147708 X16 unsafe.Pointer 147709 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTableName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X1)) 147710 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 147711 X0 unsafe.Pointer 147712 X1 *int8 147713 X2 *int8 147714 X3 *int8 147715 X4 unsafe.Pointer 147716 X5 unsafe.Pointer 147717 X6 int32 147718 X7 int32 147719 X8 int32 147720 X9 struct { 147721 X0 uint8 147722 X1 int8 147723 } 147724 X10 uint8 147725 X11 int32 147726 X12 unsafe.Pointer 147727 X13 unsafe.Pointer 147728 X14 uint64 147729 X15 struct { 147730 X [0]struct { 147731 X0 *int8 147732 X1 unsafe.Pointer 147733 } 147734 U [4]byte 147735 } 147736 X16 unsafe.Pointer 147737 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTableName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))))) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 147738 _18: 147739 _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTableName) 147740 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X2) != i32(0) || (_pName2.X1) != uint32(i32(0)) || _pTab == nil || (*XSchema)(unsafe.Pointer(_pTab.X20)) != (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))).X4)) { 147741 goto _22 147742 } 147743 147744 _iDb = i32(1) 147745 _22: 147746 if (_db.X17) == 0 { 147747 goto _23 147748 } 147749 147750 goto _trigger_cleanup 147751 147752 _23: 147753 func() int32 { 147754 if (_pTableName.X0) == i32(1) { 147755 return i32(0) 147756 } 147757 return func() int32 { 147758 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122331), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(130688))) 147759 crt.X__builtin_abort(tls) 147760 return i32(0) 147761 }() 147762 }() 147763 _sqlite3FixInit(tls, &_sFix, _pParse, _iDb, str(24844), _pName) 147764 if _sqlite3FixSrcList(tls, &_sFix, _pTableName) == 0 { 147765 goto _26 147766 } 147767 147768 goto _trigger_cleanup 147769 147770 _26: 147771 _pTab = _sqlite3SrcListLookup(tls, _pParse, _pTableName) 147772 if _pTab != nil { 147773 goto _27 147774 } 147775 147776 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))).X1) != i32(1) { 147777 goto _28 147778 } 147779 147780 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(144 /* X33 */))))) + uintptr(6 /* X3 */))) = uint8(i32(1)) 147781 _28: 147782 goto _trigger_cleanup 147783 147784 _27: 147785 if (_pTab.X16) == 0 { 147786 goto _29 147787 } 147788 147789 _sqlite3ErrorMsg(tls, _pParse, str(130708)) 147790 goto _trigger_cleanup 147791 147792 _29: 147793 _zName = _sqlite3NameFromToken(tls, _db, _pName) 147794 if _zName != nil && i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { 147795 goto _31 147796 } 147797 147798 goto _trigger_cleanup 147799 147800 _31: 147801 func() int32 { 147802 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 147803 return i32(0) 147804 } 147805 return func() int32 { 147806 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122363), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(54008))) 147807 crt.X__builtin_abort(tls) 147808 return i32(0) 147809 }() 147810 }() 147811 if _sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X4)+uintptr(40 /* X4 */))), _zName) == nil { 147812 goto _34 147813 } 147814 147815 if _noErr != 0 { 147816 goto _35 147817 } 147818 147819 _sqlite3ErrorMsg(tls, _pParse, str(130752), unsafe.Pointer(_pName)) 147820 goto _36 147821 147822 _35: 147823 func() int32 { 147824 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) == 0 { 147825 return i32(0) 147826 } 147827 return func() int32 { 147828 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122368), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(118844))) 147829 crt.X__builtin_abort(tls) 147830 return i32(0) 147831 }() 147832 }() 147833 _sqlite3CodeVerifySchema(tls, _pParse, _iDb) 147834 _36: 147835 goto _trigger_cleanup 147836 147837 _34: 147838 if Xsqlite3_strnicmp(tls, _pTab.X0, str(117888), i32(7)) != i32(0) { 147839 goto _39 147840 } 147841 147842 _sqlite3ErrorMsg(tls, _pParse, str(130780)) 147843 goto _trigger_cleanup 147844 147845 _39: 147846 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil || _tr_tm == i32(77) { 147847 goto _41 147848 } 147849 147850 _sqlite3ErrorMsg(tls, _pParse, str(130820), unsafe.Pointer(func() *int8 { 147851 if _tr_tm == i32(63) { 147852 return str(26476) 147853 } 147854 return str(26448) 147855 }()), unsafe.Pointer(_pTableName), i32(0)) 147856 goto _trigger_cleanup 147857 147858 _41: 147859 if (*XSelect)(unsafe.Pointer(_pTab.X3)) != nil || _tr_tm != i32(77) { 147860 goto _45 147861 } 147862 147863 _sqlite3ErrorMsg(tls, _pParse, str(130860), unsafe.Pointer(_pTableName), i32(0)) 147864 goto _trigger_cleanup 147865 147866 _45: 147867 _19_iTabDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 147868 _19_code = i32(7) 147869 _19_zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_19_iTabDb))).X0 147870 _19_zDbTrig = func() *int8 { 147871 if _isTemp != 0 { 147872 return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(i32(1)))).X0) 147873 } 147874 return _19_zDb 147875 }() 147876 if _19_iTabDb != i32(1) && _isTemp == 0 { 147877 goto _49 147878 } 147879 147880 _19_code = i32(5) 147881 _49: 147882 if _sqlite3AuthCheck(tls, _pParse, _19_code, _zName, _pTab.X0, _19_zDbTrig) == 0 { 147883 goto _50 147884 } 147885 147886 goto _trigger_cleanup 147887 147888 _50: 147889 if _sqlite3AuthCheck(tls, _pParse, i32(18), func() *int8 { 147890 if i32(1) != 0 && (_19_iTabDb == i32(1)) { 147891 return str(52796) 147892 } 147893 return str(52816) 147894 }(), (*int8)(unsafe.Pointer(uintptr(i32(0)))), _19_zDb) == 0 { 147895 goto _54 147896 } 147897 147898 goto _trigger_cleanup 147899 147900 _54: 147901 if _tr_tm != i32(77) { 147902 goto _55 147903 } 147904 147905 _tr_tm = i32(63) 147906 _55: 147907 _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(36))))) 147908 if _pTrigger != (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { 147909 goto _56 147910 } 147911 147912 goto _trigger_cleanup 147913 147914 _56: 147915 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(0 /* X0 */))) = _zName 147916 _zName = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 147917 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(4 /* X1 */))) = _sqlite3DbStrDup(tls, _db, (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 147918 X0 unsafe.Pointer 147919 X1 *int8 147920 X2 *int8 147921 X3 *int8 147922 X4 unsafe.Pointer 147923 X5 unsafe.Pointer 147924 X6 int32 147925 X7 int32 147926 X8 int32 147927 X9 struct { 147928 X0 uint8 147929 X1 int8 147930 } 147931 X10 uint8 147932 X11 int32 147933 X12 unsafe.Pointer 147934 X13 unsafe.Pointer 147935 X14 uint64 147936 X15 struct { 147937 X [0]struct { 147938 X0 *int8 147939 X1 unsafe.Pointer 147940 } 147941 U [4]byte 147942 } 147943 X16 unsafe.Pointer 147944 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTableName))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0)))).X2) 147945 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(20 /* X6 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 147946 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(24 /* X7 */))))) = (*XSchema)(unsafe.Pointer(_pTab.X20)) 147947 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(8 /* X2 */))) = uint8(_op) 147948 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(9 /* X3 */))) = uint8(func() int32 { 147949 if _tr_tm == i32(63) { 147950 return i32(1) 147951 } 147952 return i32(2) 147953 }()) 147954 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(12 /* X4 */))))) = _sqlite3ExprDup(tls, _db, _pWhen, i32(1)) 147955 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTrigger)) + uintptr(16 /* X5 */))))) = _sqlite3IdListDup(tls, _db, _pColumns) 147956 func() int32 { 147957 if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == (*XTrigger)(unsafe.Pointer(uintptr(i32(0)))) { 147958 return i32(0) 147959 } 147960 return func() int32 { 147961 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122431), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(25700))) 147962 crt.X__builtin_abort(tls) 147963 return i32(0) 147964 }() 147965 }() 147966 *(**XTrigger)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(448 /* X64 */))))) = _pTrigger 147967 _trigger_cleanup: 147968 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) 147969 _sqlite3SrcListDelete(tls, _db, _pTableName) 147970 _sqlite3IdListDelete(tls, _db, _pColumns) 147971 _sqlite3ExprDelete(tls, _db, _pWhen) 147972 if (*XTrigger)(unsafe.Pointer(_pParse.X64)) != nil { 147973 goto _61 147974 } 147975 147976 _sqlite3DeleteTrigger(tls, _db, _pTrigger) 147977 goto _62 147978 147979 _61: 147980 func() int32 { 147981 if (*XTrigger)(unsafe.Pointer(_pParse.X64)) == _pTrigger { 147982 return i32(0) 147983 } 147984 return func() int32 { 147985 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122442), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BeginTriggerØ00__func__Ø000))), unsafe.Pointer(str(130908))) 147986 crt.X__builtin_abort(tls) 147987 return i32(0) 147988 }() 147989 }() 147990 _62: 147991 return 147992 147993 } 147994 147995 var _sqlite3BeginTriggerØ00__func__Ø000 [20]int8 // - 147996 147997 func init() { 147998 crt.Xstrncpy(nil, &_sqlite3BeginTriggerØ00__func__Ø000[0], str(130940), 20) 147999 } 148000 148001 func _sqlite3TriggerUpdateStep(tls *crt.TLS, _db *Xsqlite3, _pTableName *XToken, _pEList *XExprList, _pWhere *XExpr, _orconf uint8) (r0 *XTriggerStep) { // sqlite3.c:122602:1 148002 var _pTriggerStep *XTriggerStep // sqlite3.c:122609:15 148003 _ = _pTriggerStep 148004 _pTriggerStep = _triggerStepAllocate(tls, _db, uint8(i32(110)), _pTableName) 148005 if _pTriggerStep == nil { 148006 goto _0 148007 } 148008 148009 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(20 /* X6 */))))) = _sqlite3ExprListDup(tls, _db, _pEList, i32(1)) 148010 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(16 /* X5 */))))) = _sqlite3ExprDup(tls, _db, _pWhere, i32(1)) 148011 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = _orconf 148012 _0: 148013 _sqlite3ExprListDelete(tls, _db, _pEList) 148014 _sqlite3ExprDelete(tls, _db, _pWhere) 148015 r0 = _pTriggerStep 148016 return 148017 148018 } 148019 148020 func _triggerStepAllocate(tls *crt.TLS, _db *Xsqlite3, _op uint8, _pName *XToken) (r0 *XTriggerStep) { // sqlite3.c:122548:1 148021 var _pTriggerStep *XTriggerStep // sqlite3.c:122553:15 148022 _ = _pTriggerStep 148023 var _1_z *int8 // sqlite3.c:122557:10 148024 _ = _1_z 148025 _pTriggerStep = (*XTriggerStep)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64((u32(36)+(_pName.X1))+uint32(i32(1)))))) 148026 if _pTriggerStep == nil { 148027 goto _0 148028 } 148029 148030 _1_z = (*int8)(unsafe.Pointer((*XTriggerStep)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + 36*uintptr(i32(1)))))) 148031 crt.Xmemcpy(tls, (unsafe.Pointer)(_1_z), (unsafe.Pointer)(_pName.X0), _pName.X1) 148032 _sqlite3Dequote(tls, _1_z) 148033 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(12 /* X4 */))) = _1_z 148034 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(0 /* X0 */))) = _op 148035 _0: 148036 r0 = _pTriggerStep 148037 return 148038 148039 } 148040 148041 func _sqlite3TriggerInsertStep(tls *crt.TLS, _db *Xsqlite3, _pTableName *XToken, _pColumn *XIdList, _pSelect *XSelect, _orconf uint8) (r0 *XTriggerStep) { // sqlite3.c:122573:1 148042 var _pTriggerStep *XTriggerStep // sqlite3.c:122580:15 148043 _ = _pTriggerStep 148044 func() int32 { 148045 if (_pSelect != (*XSelect)(unsafe.Pointer(uintptr(i32(0))))) || ((_db.X17) != 0) { 148046 return i32(0) 148047 } 148048 return func() int32 { 148049 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122582), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3TriggerInsertStepØ00__func__Ø000))), unsafe.Pointer(str(130960))) 148050 crt.X__builtin_abort(tls) 148051 return i32(0) 148052 }() 148053 }() 148054 _pTriggerStep = _triggerStepAllocate(tls, _db, uint8(i32(108)), _pTableName) 148055 if _pTriggerStep == nil { 148056 goto _3 148057 } 148058 148059 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(8 /* X3 */))))) = _sqlite3SelectDup(tls, _db, _pSelect, i32(1)) 148060 *(**XIdList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(24 /* X7 */))))) = _pColumn 148061 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = _orconf 148062 goto _4 148063 148064 _3: 148065 _sqlite3IdListDelete(tls, _db, _pColumn) 148066 _4: 148067 _sqlite3SelectDelete(tls, _db, _pSelect) 148068 r0 = _pTriggerStep 148069 return 148070 148071 } 148072 148073 var _sqlite3TriggerInsertStepØ00__func__Ø000 [25]int8 // - 148074 148075 func init() { 148076 crt.Xstrncpy(nil, &_sqlite3TriggerInsertStepØ00__func__Ø000[0], str(130996), 25) 148077 } 148078 148079 func _sqlite3TriggerDeleteStep(tls *crt.TLS, _db *Xsqlite3, _pTableName *XToken, _pWhere *XExpr) (r0 *XTriggerStep) { // sqlite3.c:122627:1 148080 var _pTriggerStep *XTriggerStep // sqlite3.c:122632:15 148081 _ = _pTriggerStep 148082 _pTriggerStep = _triggerStepAllocate(tls, _db, uint8(i32(109)), _pTableName) 148083 if _pTriggerStep == nil { 148084 goto _0 148085 } 148086 148087 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(16 /* X5 */))))) = _sqlite3ExprDup(tls, _db, _pWhere, i32(1)) 148088 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = uint8(i32(10)) 148089 _0: 148090 _sqlite3ExprDelete(tls, _db, _pWhere) 148091 r0 = _pTriggerStep 148092 return 148093 148094 } 148095 148096 func _sqlite3TriggerSelectStep(tls *crt.TLS, _db *Xsqlite3, _pSelect *XSelect) (r0 *XTriggerStep) { // sqlite3.c:122530:1 148097 var _pTriggerStep *XTriggerStep // sqlite3.c:122531:15 148098 _ = _pTriggerStep 148099 _pTriggerStep = (*XTriggerStep)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(36))))) 148100 if _pTriggerStep != (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) { 148101 goto _0 148102 } 148103 148104 _sqlite3SelectDelete(tls, _db, _pSelect) 148105 r0 = (*XTriggerStep)(unsafe.Pointer(uintptr(i32(0)))) 148106 return 148107 148108 _0: 148109 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(0 /* X0 */))) = uint8(i32(119)) 148110 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(8 /* X3 */))))) = _pSelect 148111 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTriggerStep)) + uintptr(1 /* X1 */))) = uint8(i32(10)) 148112 r0 = _pTriggerStep 148113 return 148114 148115 } 148116 148117 func _sqlite3DropTrigger(tls *crt.TLS, _pParse *XParse, _pName *XSrcList, _noErr int32) { // sqlite3.c:122664:1 148118 var _pTrigger *XTrigger // sqlite3.c:122665:11 148119 _ = _pTrigger 148120 var _i int32 // sqlite3.c:122666:7 148121 _ = _i 148122 var _zDb *int8 // sqlite3.c:122667:14 148123 _ = _zDb 148124 var _zName *int8 // sqlite3.c:122668:14 148125 _ = _zName 148126 var _db *Xsqlite3 // sqlite3.c:122669:11 148127 _ = _db 148128 var _2_j int32 // sqlite3.c:122681:9 148129 _ = _2_j 148130 _pTrigger = nil 148131 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 148132 if (_db.X17) == 0 { 148133 goto _0 148134 } 148135 148136 goto _drop_trigger_cleanup 148137 148138 _0: 148139 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 148140 goto _1 148141 } 148142 148143 goto _drop_trigger_cleanup 148144 148145 _1: 148146 func() int32 { 148147 if (_pName.X0) == i32(1) { 148148 return i32(0) 148149 } 148150 return func() int32 { 148151 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122676), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerØ00__func__Ø000))), unsafe.Pointer(str(121216))) 148152 crt.X__builtin_abort(tls) 148153 return i32(0) 148154 }() 148155 }() 148156 _zDb = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 148157 X0 unsafe.Pointer 148158 X1 *int8 148159 X2 *int8 148160 X3 *int8 148161 X4 unsafe.Pointer 148162 X5 unsafe.Pointer 148163 X6 int32 148164 X7 int32 148165 X8 int32 148166 X9 struct { 148167 X0 uint8 148168 X1 int8 148169 } 148170 X10 uint8 148171 X11 int32 148172 X12 unsafe.Pointer 148173 X13 unsafe.Pointer 148174 X14 uint64 148175 X15 struct { 148176 X [0]struct { 148177 X0 *int8 148178 X1 unsafe.Pointer 148179 } 148180 U [4]byte 148181 } 148182 X16 unsafe.Pointer 148183 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X1 148184 _zName = (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 148185 X0 unsafe.Pointer 148186 X1 *int8 148187 X2 *int8 148188 X3 *int8 148189 X4 unsafe.Pointer 148190 X5 unsafe.Pointer 148191 X6 int32 148192 X7 int32 148193 X8 int32 148194 X9 struct { 148195 X0 uint8 148196 X1 int8 148197 } 148198 X10 uint8 148199 X11 int32 148200 X12 unsafe.Pointer 148201 X13 unsafe.Pointer 148202 X14 uint64 148203 X15 struct { 148204 X [0]struct { 148205 X0 *int8 148206 X1 unsafe.Pointer 148207 } 148208 U [4]byte 148209 } 148210 X16 unsafe.Pointer 148211 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pName))+uintptr(8 /* X2 */))))) + 68*uintptr(i32(0)))).X2 148212 func() int32 { 148213 if (_zDb != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 148214 return i32(0) 148215 } 148216 return func() int32 { 148217 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122679), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerØ00__func__Ø000))), unsafe.Pointer(str(63328))) 148218 crt.X__builtin_abort(tls) 148219 return i32(0) 148220 }() 148221 }() 148222 _i = i32(0) 148223 _7: 148224 if _i >= (_db.X5) { 148225 goto _10 148226 } 148227 148228 _2_j = func() int32 { 148229 if _i < i32(2) { 148230 return (_i ^ i32(1)) 148231 } 148232 return _i 148233 }() 148234 if _zDb == nil || _sqlite3StrICmp(tls, (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_2_j))).X0, _zDb) == 0 { 148235 goto _14 148236 } 148237 148238 goto _8 148239 148240 _14: 148241 func() int32 { 148242 if _sqlite3SchemaMutexHeld(tls, _db, _2_j, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 148243 return i32(0) 148244 } 148245 return func() int32 { 148246 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122683), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3DropTriggerØ00__func__Ø000))), unsafe.Pointer(str(63380))) 148247 crt.X__builtin_abort(tls) 148248 return i32(0) 148249 }() 148250 }() 148251 _pTrigger = (*XTrigger)(unsafe.Pointer(_sqlite3HashFind(tls, (*XHash)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_2_j))).X4)+uintptr(40 /* X4 */))), _zName))) 148252 if _pTrigger == nil { 148253 goto _17 148254 } 148255 148256 goto _10 148257 148258 _17: 148259 _8: 148260 _i += 1 148261 goto _7 148262 148263 _10: 148264 if _pTrigger != nil { 148265 goto _18 148266 } 148267 148268 if _noErr != 0 { 148269 goto _19 148270 } 148271 148272 _sqlite3ErrorMsg(tls, _pParse, str(131024), unsafe.Pointer(_pName), i32(0)) 148273 goto _20 148274 148275 _19: 148276 _sqlite3CodeVerifyNamedSchema(tls, _pParse, _zDb) 148277 _20: 148278 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(17 /* X5 */))) = uint8(i32(1)) 148279 goto _drop_trigger_cleanup 148280 148281 _18: 148282 _sqlite3DropTriggerPtr(tls, _pParse, _pTrigger) 148283 _drop_trigger_cleanup: 148284 _sqlite3SrcListDelete(tls, _db, _pName) 148285 return 148286 148287 } 148288 148289 var _sqlite3DropTriggerØ00__func__Ø000 [19]int8 // - 148290 148291 func init() { 148292 crt.Xstrncpy(nil, &_sqlite3DropTriggerØ00__func__Ø000[0], str(131044), 19) 148293 } 148294 148295 func _sqlite3Attach(tls *crt.TLS, _pParse *XParse, _p *XExpr, _pDbname *XExpr, _pKey *XExpr) { // sqlite3.c:99008:1 148296 _codeAttach(tls, _pParse, i32(24), &_sqlite3AttachØ00attach_funcØ001, _p, _p, _pDbname, _pKey) 148297 return 148298 148299 } 148300 148301 func _codeAttach(tls *crt.TLS, _pParse *XParse, _type int32, _pFunc *XFuncDef, _pAuthArg *XExpr, _pFilename *XExpr, _pDbname *XExpr, _pKey *XExpr) { // sqlite3.c:98915:1 148302 var _rc int32 // sqlite3.c:98924:7 148303 _ = _rc 148304 var _sName XNameContext // sqlite3.c:98925:15 148305 _ = _sName 148306 var _v *XVdbe // sqlite3.c:98926:8 148307 _ = _v 148308 var _db *Xsqlite3 // sqlite3.c:98927:10 148309 _ = _db 148310 var _regArgs int32 // sqlite3.c:98928:7 148311 _ = _regArgs 148312 var _2_zAuthArg *int8 // sqlite3.c:98944:10 148313 _ = _2_zAuthArg 148314 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 148315 if (_pParse.X16) == 0 { 148316 goto _0 148317 } 148318 148319 goto _attach_end 148320 148321 _0: 148322 crt.Xmemset(tls, (unsafe.Pointer)(&_sName), i32(0), u32(32)) 148323 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sName)) + uintptr(0 /* X0 */))))) = _pParse 148324 if i32(0) == store961(&_rc, _resolveAttachExpr(tls, &_sName, _pFilename)) && i32(0) == store961(&_rc, _resolveAttachExpr(tls, &_sName, _pDbname)) && i32(0) == store961(&_rc, _resolveAttachExpr(tls, &_sName, _pKey)) { 148325 goto _3 148326 } 148327 148328 goto _attach_end 148329 148330 _3: 148331 if _pAuthArg == nil { 148332 goto _4 148333 } 148334 148335 if int32(_pAuthArg.X0) != i32(97) { 148336 goto _5 148337 } 148338 148339 _2_zAuthArg = *(**int8)(unsafe.Pointer((*T7851846)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuthArg)) + uintptr(8 /* X3 */))))) 148340 goto _6 148341 148342 _5: 148343 _2_zAuthArg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 148344 _6: 148345 _rc = _sqlite3AuthCheck(tls, _pParse, _type, _2_zAuthArg, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 148346 if _rc == i32(0) { 148347 goto _7 148348 } 148349 148350 goto _attach_end 148351 148352 _7: 148353 _4: 148354 _v = _sqlite3GetVdbe(tls, _pParse) 148355 _regArgs = _sqlite3GetTempRange(tls, _pParse, i32(4)) 148356 _sqlite3ExprCode(tls, _pParse, _pFilename, _regArgs) 148357 _sqlite3ExprCode(tls, _pParse, _pDbname, _regArgs+i32(1)) 148358 _sqlite3ExprCode(tls, _pParse, _pKey, _regArgs+i32(2)) 148359 func() int32 { 148360 if (_v != nil) || ((_db.X17) != 0) { 148361 return i32(0) 148362 } 148363 return func() int32 { 148364 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98964), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAttachØ00__func__Ø000))), unsafe.Pointer(str(131064))) 148365 crt.X__builtin_abort(tls) 148366 return i32(0) 148367 }() 148368 }() 148369 if _v == nil { 148370 goto _11 148371 } 148372 148373 _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(0), (_regArgs+i32(3))-int32(_pFunc.X0), _regArgs+i32(3), (*int8)(unsafe.Pointer(_pFunc)), i32(-4)) 148374 func() int32 { 148375 if (int32(_pFunc.X0) == i32(-1)) || ((int32(_pFunc.X0) & i32(255)) == int32(_pFunc.X0)) { 148376 return i32(0) 148377 } 148378 return func() int32 { 148379 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98968), unsafe.Pointer((*int8)(unsafe.Pointer(&_codeAttachØ00__func__Ø000))), unsafe.Pointer(str(131088))) 148380 crt.X__builtin_abort(tls) 148381 return i32(0) 148382 }() 148383 }() 148384 _sqlite3VdbeChangeP5(tls, _v, uint16(uint8(_pFunc.X0))) 148385 _sqlite3VdbeAddOp1(tls, _v, i32(151), bool2int(_type == i32(24))) 148386 _11: 148387 _attach_end: 148388 _sqlite3ExprDelete(tls, _db, _pFilename) 148389 _sqlite3ExprDelete(tls, _db, _pDbname) 148390 _sqlite3ExprDelete(tls, _db, _pKey) 148391 return 148392 148393 } 148394 148395 func _resolveAttachExpr(tls *crt.TLS, _pName *XNameContext, _pExpr *XExpr) (r0 int32) { // sqlite3.c:98636:1 148396 var _rc int32 // sqlite3.c:98638:7 148397 _ = _rc 148398 _rc = i32(0) 148399 if _pExpr == nil { 148400 goto _0 148401 } 148402 148403 if int32(_pExpr.X0) == i32(55) { 148404 goto _1 148405 } 148406 148407 _rc = _sqlite3ResolveExprNames(tls, _pName, _pExpr) 148408 goto _2 148409 148410 _1: 148411 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pExpr)) + uintptr(0 /* X0 */))) = uint8(i32(97)) 148412 _2: 148413 _0: 148414 r0 = _rc 148415 return 148416 148417 } 148418 148419 var _codeAttachØ00__func__Ø000 [11]int8 // - 148420 148421 func init() { 148422 crt.Xstrncpy(nil, &_codeAttachØ00__func__Ø000[0], str(131140), 11) 148423 } 148424 148425 var _sqlite3AttachØ00attach_funcØ001 XFuncDef // sqlite3.c:99009:24 148426 148427 func init() { 148428 _sqlite3AttachØ00attach_funcØ001 = XFuncDef{X0: i8(3), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 148429 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 148430 }{_attachFunc})), X5: nil, X6: str(131152), X7: T7789635{}} 148431 } 148432 148433 func _attachFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:98660:1 148434 var _i int32 // sqlite3.c:98665:7 148435 _ = _i 148436 var _rc int32 // sqlite3.c:98666:7 148437 _ = _rc 148438 var _db *Xsqlite3 // sqlite3.c:98667:11 148439 _ = _db 148440 var _zName *int8 // sqlite3.c:98668:14 148441 _ = _zName 148442 var _zFile *int8 // sqlite3.c:98669:14 148443 _ = _zFile 148444 var _zPath *int8 // sqlite3.c:98670:8 148445 _ = _zPath 148446 var _zErr *int8 // sqlite3.c:98671:8 148447 _ = _zErr 148448 var _flags uint32 // sqlite3.c:98672:16 148449 _ = _flags 148450 var _aNew *XDb // sqlite3.c:98673:6 148451 _ = _aNew 148452 var _zErrDyn *int8 // sqlite3.c:98674:8 148453 _ = _zErrDyn 148454 var _pVfs *Xsqlite3_vfs // sqlite3.c:98675:15 148455 _ = _pVfs 148456 var _3_z *int8 // sqlite3.c:98701:10 148457 _ = _3_z 148458 var _9_pPager *XPager // sqlite3.c:98746:11 148459 _ = _9_pPager 148460 var _14_iDb int32 // sqlite3.c:98825:9 148461 _ = _14_iDb 148462 _rc = i32(0) 148463 _db = Xsqlite3_context_db_handle(tls, _context) 148464 _zPath = nil 148465 _zErr = nil 148466 _zErrDyn = nil 148467 148468 _zFile = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 148469 _zName = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))))) 148470 if _zFile != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 148471 goto _0 148472 } 148473 148474 _zFile = str(196) 148475 _0: 148476 if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 148477 goto _1 148478 } 148479 148480 _zName = str(196) 148481 _1: 148482 if (_db.X5) < ((*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(7))))) + i32(2)) { 148483 goto _2 148484 } 148485 148486 _zErrDyn = _sqlite3MPrintf(tls, _db, str(131168), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(7))))) 148487 goto _attach_error 148488 148489 _2: 148490 if (_db.X15) != 0 { 148491 goto _3 148492 } 148493 148494 _zErrDyn = _sqlite3MPrintf(tls, _db, str(131208)) 148495 goto _attach_error 148496 148497 _3: 148498 _i = i32(0) 148499 _4: 148500 if _i >= (_db.X5) { 148501 goto _7 148502 } 148503 148504 _3_z = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X0 148505 func() int32 { 148506 if (_3_z != nil) && (_zName != nil) { 148507 return i32(0) 148508 } 148509 return func() int32 { 148510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98702), unsafe.Pointer((*int8)(unsafe.Pointer(&_attachFuncØ00__func__Ø000))), unsafe.Pointer(str(131252))) 148511 crt.X__builtin_abort(tls) 148512 return i32(0) 148513 }() 148514 }() 148515 if _sqlite3StrICmp(tls, _3_z, _zName) != i32(0) { 148516 goto _11 148517 } 148518 148519 _zErrDyn = _sqlite3MPrintf(tls, _db, str(131264), unsafe.Pointer(_zName)) 148520 goto _attach_error 148521 148522 _11: 148523 _i += 1 148524 goto _4 148525 148526 _7: 148527 if (*XDb)(unsafe.Pointer(_db.X4)) != (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(388 /* X72 */))))) { 148528 goto _12 148529 } 148530 148531 _aNew = (*XDb)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(48))))) 148532 if _aNew != (*XDb)(unsafe.Pointer(uintptr(i32(0)))) { 148533 goto _13 148534 } 148535 148536 return 148537 148538 _13: 148539 crt.Xmemcpy(tls, (unsafe.Pointer)(_aNew), _db.X4, u32(32)) 148540 goto _14 148541 148542 _12: 148543 _aNew = (*XDb)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, _db.X4, uint64(u32(16)*uint32((_db.X5)+i32(1)))))) 148544 if _aNew != (*XDb)(unsafe.Pointer(uintptr(i32(0)))) { 148545 goto _15 148546 } 148547 148548 return 148549 148550 _15: 148551 _14: 148552 *(**XDb)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(16 /* X4 */))))) = _aNew 148553 _aNew = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_db.X5))) 148554 crt.Xmemset(tls, (unsafe.Pointer)(_aNew), i32(0), u32(16)) 148555 _flags = _db.X9 148556 _rc = _sqlite3ParseUri(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)).X4, _zFile, &_flags, &_pVfs, &_zPath, &_zErr) 148557 if _rc == i32(0) { 148558 goto _16 148559 } 148560 148561 if _rc != i32(7) { 148562 goto _17 148563 } 148564 148565 _sqlite3OomFault(tls, _db) 148566 _17: 148567 Xsqlite3_result_error(tls, _context, _zErr, i32(-1)) 148568 Xsqlite3_free(tls, (unsafe.Pointer)(_zErr)) 148569 return 148570 148571 _16: 148572 func() int32 { 148573 if _pVfs != nil { 148574 return i32(0) 148575 } 148576 return func() int32 { 148577 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98736), unsafe.Pointer((*int8)(unsafe.Pointer(&_attachFuncØ00__func__Ø000))), unsafe.Pointer(str(131296))) 148578 crt.X__builtin_abort(tls) 148579 return i32(0) 148580 }() 148581 }() 148582 { 148583 p := &_flags 148584 *p = (*p) | uint32(i32(256)) 148585 sink985 = *p 148586 } 148587 _rc = _sqlite3BtreeOpen(tls, _pVfs, _zPath, _db, (**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew))+uintptr(4 /* X1 */))))), i32(0), int32(_flags)) 148588 Xsqlite3_free(tls, (unsafe.Pointer)(_zPath)) 148589 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(20 /* X5 */))) += 1 148590 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(73 /* X25 */))) = uint8(i32(0)) 148591 if _rc != i32(19) { 148592 goto _20 148593 } 148594 148595 _rc = i32(1) 148596 _zErrDyn = _sqlite3MPrintf(tls, _db, str(131304)) 148597 goto _21 148598 148599 _20: 148600 if _rc != i32(0) { 148601 goto _22 148602 } 148603 148604 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew)) + uintptr(12 /* X4 */))))) = _sqlite3SchemaGet(tls, _db, (*XBtree)(unsafe.Pointer(_aNew.X1))) 148605 if (*XSchema)(unsafe.Pointer(_aNew.X4)) != nil { 148606 goto _23 148607 } 148608 148609 _rc = _sqlite3NomemError(tls, i32(98749)) 148610 goto _24 148611 148612 _23: 148613 if ((*XSchema)(unsafe.Pointer(_aNew.X4)).X7) == 0 || int32((*XSchema)(unsafe.Pointer(_aNew.X4)).X8) == int32(_db.X14) { 148614 goto _26 148615 } 148616 148617 _zErrDyn = _sqlite3MPrintf(tls, _db, str(52912)) 148618 _rc = i32(1) 148619 _26: 148620 _24: 148621 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_aNew.X1))) 148622 _9_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer(_aNew.X1))) 148623 _sqlite3PagerLockingMode(tls, _9_pPager, int32(_db.X19)) 148624 _sqlite3BtreeSecureDelete(tls, (*XBtree)(unsafe.Pointer(_aNew.X1)), _sqlite3BtreeSecureDelete(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1)), i32(-1))) 148625 _sqlite3BtreeSetPagerFlags(tls, (*XBtree)(unsafe.Pointer(_aNew.X1)), uint32(i32(3)|((_db.X6)&i32(56)))) 148626 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_aNew.X1))) 148627 _22: 148628 _21: 148629 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew)) + uintptr(8 /* X2 */))) = uint8(i32(3)) 148630 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aNew)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _zName) 148631 if _rc != i32(0) || (_aNew.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 148632 goto _28 148633 } 148634 148635 _rc = _sqlite3NomemError(tls, i32(98769)) 148636 _28: 148637 if _rc != i32(0) { 148638 goto _29 148639 } 148640 148641 _sqlite3BtreeEnterAll(tls, _db) 148642 _rc = _sqlite3Init(tls, _db, &_zErrDyn) 148643 _sqlite3BtreeLeaveAll(tls, _db) 148644 _29: 148645 if _rc == 0 { 148646 goto _30 148647 } 148648 148649 _14_iDb = (_db.X5) - i32(1) 148650 func() int32 { 148651 if _14_iDb >= i32(2) { 148652 return i32(0) 148653 } 148654 return func() int32 { 148655 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98826), unsafe.Pointer((*int8)(unsafe.Pointer(&_attachFuncØ00__func__Ø000))), unsafe.Pointer(str(131336))) 148656 crt.X__builtin_abort(tls) 148657 return i32(0) 148658 }() 148659 }() 148660 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_14_iDb))).X1)) == nil { 148661 goto _33 148662 } 148663 148664 _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_14_iDb))).X1))) 148665 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_14_iDb))))) + uintptr(4 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 148666 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_14_iDb))))) + uintptr(12 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) 148667 _33: 148668 _sqlite3ResetAllSchemasOfConnection(tls, _db) 148669 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(20 /* X5 */))) = _14_iDb 148670 if _rc != i32(7) && _rc != i32(3082) { 148671 goto _35 148672 } 148673 148674 _sqlite3OomFault(tls, _db) 148675 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrDyn)) 148676 _zErrDyn = _sqlite3MPrintf(tls, _db, str(62796)) 148677 goto _36 148678 148679 _35: 148680 if _zErrDyn != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 148681 goto _37 148682 } 148683 148684 _zErrDyn = _sqlite3MPrintf(tls, _db, str(131344), unsafe.Pointer(_zFile)) 148685 _37: 148686 _36: 148687 goto _attach_error 148688 148689 _30: 148690 return 148691 148692 _attach_error: 148693 if _zErrDyn == nil { 148694 goto _38 148695 } 148696 148697 Xsqlite3_result_error(tls, _context, _zErrDyn, i32(-1)) 148698 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrDyn)) 148699 _38: 148700 if _rc == 0 { 148701 goto _39 148702 } 148703 148704 Xsqlite3_result_error_code(tls, _context, _rc) 148705 _39: 148706 return 148707 148708 } 148709 148710 var _attachFuncØ00__func__Ø000 [11]int8 // - 148711 148712 func init() { 148713 crt.Xstrncpy(nil, &_attachFuncØ00__func__Ø000[0], str(131372), 11) 148714 } 148715 148716 func _sqlite3ParseUri(tls *crt.TLS, _zDefaultVfs *int8, _zUri *int8, _pFlags *uint32, _ppVfs **Xsqlite3_vfs, _pzFile **int8, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:142453:1 148717 var _rc int32 // sqlite3.c:142461:7 148718 _ = _rc 148719 var _flags uint32 // sqlite3.c:142462:16 148720 _ = _flags 148721 var _zVfs *int8 // sqlite3.c:142463:14 148722 _ = _zVfs 148723 var _zFile *int8 // sqlite3.c:142464:8 148724 _ = _zFile 148725 var _c int8 // sqlite3.c:142465:8 148726 _ = _c 148727 var _nUri int32 // sqlite3.c:142466:7 148728 _ = _nUri 148729 var _1_zOpt *int8 // sqlite3.c:142474:10 148730 _ = _1_zOpt 148731 var _1_eState int32 // sqlite3.c:142475:9 148732 _ = _1_eState 148733 var _1_iIn int32 // sqlite3.c:142476:9 148734 _ = _1_iIn 148735 var _1_iOut int32 // sqlite3.c:142477:9 148736 _ = _1_iOut 148737 var _1_nByte uint64 // sqlite3.c:142478:9 148738 _ = _1_nByte 148739 var _5_octet int32 // sqlite3.c:142532:13 148740 _ = _5_octet 148741 var _13_nOpt int32 // sqlite3.c:142586:11 148742 _ = _13_nOpt 148743 var _13_zVal *int8 // sqlite3.c:142587:12 148744 _ = _13_zVal 148745 var _13_nVal int32 // sqlite3.c:142588:11 148746 _ = _13_nVal 148747 var _15_aMode *T8304487 // sqlite3.c:142596:11 148748 _ = _15_aMode 148749 var _15_zModeType *int8 // sqlite3.c:142597:14 148750 _ = _15_zModeType 148751 var _15_mask int32 // sqlite3.c:142598:13 148752 _ = _15_mask 148753 var _15_limit int32 // sqlite3.c:142599:13 148754 _ = _15_limit 148755 var _18_i int32 // sqlite3.c:142630:15 148756 _ = _18_i 148757 var _18_mode int32 // sqlite3.c:142631:15 148758 _ = _18_mode 148759 var _19_z *int8 // sqlite3.c:142633:24 148760 _ = _19_z 148761 _rc = i32(0) 148762 _flags = *_pFlags 148763 _zVfs = _zDefaultVfs 148764 _nUri = _sqlite3Strlen30(tls, _zUri) 148765 func() int32 { 148766 if (*_pzErrMsg) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 148767 return i32(0) 148768 } 148769 return func() int32 { 148770 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142468), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ParseUriØ00__func__Ø000))), unsafe.Pointer(str(131384))) 148771 crt.X__builtin_abort(tls) 148772 return i32(0) 148773 }() 148774 }() 148775 if (_flags&uint32(i32(64))) == 0 && (_sqlite3Config.X3) == 0 || _nUri < i32(5) || crt.Xmemcmp(tls, (unsafe.Pointer)(_zUri), (unsafe.Pointer)(str(131400)), uint32(i32(5))) != i32(0) { 148776 goto _5 148777 } 148778 148779 _1_iOut = i32(0) 148780 _1_nByte = uint64(_nUri + i32(2)) 148781 { 148782 p := &_flags 148783 *p = (*p) | uint32(i32(64)) 148784 sink985 = *p 148785 } 148786 _1_iIn = i32(0) 148787 _6: 148788 if _1_iIn >= _nUri { 148789 goto _9 148790 } 148791 148792 { 148793 p := &_1_nByte 148794 *p = (*p) + uint64(bool2int(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn)))) == i32(38))) 148795 sink992 = *p 148796 } 148797 _1_iIn += 1 148798 goto _6 148799 148800 _9: 148801 _zFile = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, _1_nByte))) 148802 if _zFile != nil { 148803 goto _10 148804 } 148805 148806 r0 = _sqlite3NomemError(tls, i32(142486)) 148807 return 148808 148809 _10: 148810 _1_iIn = i32(5) 148811 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(i32(5))))) != i32(47) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(i32(6))))) != i32(47) { 148812 goto _12 148813 } 148814 148815 _1_iIn = i32(7) 148816 _13: 148817 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn)))) == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn)))) == i32(47) { 148818 goto _14 148819 } 148820 148821 _1_iIn += 1 148822 goto _13 148823 148824 _14: 148825 if _1_iIn == i32(7) || _1_iIn == i32(16) && crt.Xmemcmp(tls, (unsafe.Pointer)(str(131408)), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri))+1*uintptr(i32(7))))), uint32(i32(9))) == 0 { 148826 goto _18 148827 } 148828 148829 *_pzErrMsg = Xsqlite3_mprintf(tls, str(131420), _1_iIn-i32(7), unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri))+1*uintptr(i32(7)))))) 148830 _rc = i32(1) 148831 goto _parse_uri_out 148832 148833 _18: 148834 _12: 148835 _1_eState = i32(0) 148836 _19: 148837 if int32(store973(&_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn))))) == i32(0) || int32(_c) == i32(35) { 148838 goto _20 148839 } 148840 148841 _1_iIn += 1 148842 if int32(_c) != i32(37) || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn))))))))&i32(8)) == 0 || (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn+i32(1)))))))))&i32(8)) == 0 { 148843 goto _24 148844 } 148845 148846 _5_octet = int32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(postInc961(&_1_iIn, int32(1)))))))) << uint(i32(4)) 148847 { 148848 p := &_5_octet 148849 *p = (*p) + int32(_sqlite3HexToInt(tls, int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(postInc961(&_1_iIn, int32(1)))))))) 148850 sink961 = *p 148851 } 148852 func() int32 { 148853 if (_5_octet >= i32(0)) && (_5_octet < i32(256)) { 148854 return i32(0) 148855 } 148856 return func() int32 { 148857 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142535), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ParseUriØ00__func__Ø000))), unsafe.Pointer(str(131448))) 148858 crt.X__builtin_abort(tls) 148859 return i32(0) 148860 }() 148861 }() 148862 if _5_octet != i32(0) { 148863 goto _28 148864 } 148865 148866 _29: 148867 if int32(store973(&_c, *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn))))) == i32(0) || int32(_c) == i32(35) || _1_eState == i32(0) && int32(_c) == i32(63) || _1_eState == i32(1) && (int32(_c) == i32(61) || int32(_c) == i32(38)) || _1_eState == i32(2) && int32(_c) == i32(38) { 148868 goto _30 148869 } 148870 148871 _1_iIn += 1 148872 goto _29 148873 148874 _30: 148875 goto _19 148876 148877 _28: 148878 _c = int8(_5_octet) 148879 goto _39 148880 148881 _24: 148882 if _1_eState != i32(1) || int32(_c) != i32(38) && int32(_c) != i32(61) { 148883 goto _42 148884 } 148885 148886 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_1_iOut-i32(1))))) != i32(0) { 148887 goto _43 148888 } 148889 148890 _44: 148891 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn)))) == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn)))) == i32(35) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUri)) + 1*uintptr(_1_iIn-i32(1))))) == i32(38) { 148892 goto _45 148893 } 148894 148895 _1_iIn += 1 148896 goto _44 148897 148898 _45: 148899 goto _19 148900 148901 _43: 148902 if int32(_c) != i32(38) { 148903 goto _48 148904 } 148905 148906 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) 148907 goto _49 148908 148909 _48: 148910 _1_eState = i32(2) 148911 _49: 148912 _c = int8(i32(0)) 148913 goto _50 148914 148915 _42: 148916 if (_1_eState != i32(0) || int32(_c) != i32(63)) && (_1_eState != i32(2) || int32(_c) != i32(38)) { 148917 goto _54 148918 } 148919 148920 _c = int8(i32(0)) 148921 _1_eState = i32(1) 148922 _54: 148923 _50: 148924 _39: 148925 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = _c 148926 goto _19 148927 148928 _20: 148929 if _1_eState != i32(1) { 148930 goto _55 148931 } 148932 148933 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) 148934 _55: 148935 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) 148936 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(postInc961(&_1_iOut, int32(1))))) = int8(i32(0)) 148937 _1_zOpt = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_sqlite3Strlen30(tls, _zFile)+i32(1)))) 148938 _56: 148939 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zOpt)) + 1*uintptr(i32(0))))) == 0 { 148940 goto _57 148941 } 148942 148943 _13_nOpt = _sqlite3Strlen30(tls, _1_zOpt) 148944 _13_zVal = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_zOpt)) + 1*uintptr(_13_nOpt+i32(1)))) 148945 _13_nVal = _sqlite3Strlen30(tls, _13_zVal) 148946 if _13_nOpt != i32(3) || crt.Xmemcmp(tls, (unsafe.Pointer)(str(131472)), (unsafe.Pointer)(_1_zOpt), uint32(i32(3))) != i32(0) { 148947 goto _59 148948 } 148949 148950 _zVfs = _13_zVal 148951 goto _60 148952 148953 _59: 148954 _15_aMode = (*T8304487)(unsafe.Pointer(uintptr(i32(0)))) 148955 _15_zModeType = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 148956 _15_mask = i32(0) 148957 _15_limit = i32(0) 148958 if _13_nOpt != i32(5) || crt.Xmemcmp(tls, (unsafe.Pointer)(str(131476)), (unsafe.Pointer)(_1_zOpt), uint32(i32(5))) != i32(0) { 148959 goto _62 148960 } 148961 148962 _15_mask = i32(393216) 148963 _15_aMode = (*T8304487)(unsafe.Pointer(&_sqlite3ParseUriØ00aCacheModeØ001)) 148964 _15_limit = _15_mask 148965 _15_zModeType = str(131476) 148966 _62: 148967 if _13_nOpt != i32(4) || crt.Xmemcmp(tls, (unsafe.Pointer)(str(131484)), (unsafe.Pointer)(_1_zOpt), uint32(i32(4))) != i32(0) { 148968 goto _64 148969 } 148970 148971 _15_mask = i32(135) 148972 _15_aMode = (*T8304487)(unsafe.Pointer(&_sqlite3ParseUriØ00aOpenModeØ002)) 148973 _15_limit = int32(uint32(_15_mask) & _flags) 148974 _15_zModeType = str(131492) 148975 _64: 148976 if _15_aMode == nil { 148977 goto _65 148978 } 148979 148980 _18_mode = i32(0) 148981 _18_i = i32(0) 148982 _66: 148983 if ((*T8304487)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_aMode)) + 8*uintptr(_18_i))).X0) == nil { 148984 goto _69 148985 } 148986 148987 _19_z = (*T8304487)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_aMode)) + 8*uintptr(_18_i))).X0 148988 if _13_nVal != _sqlite3Strlen30(tls, _19_z) || i32(0) != crt.Xmemcmp(tls, (unsafe.Pointer)(_13_zVal), (unsafe.Pointer)(_19_z), uint32(_13_nVal)) { 148989 goto _71 148990 } 148991 148992 _18_mode = (*T8304487)(unsafe.Pointer(uintptr((unsafe.Pointer)(_15_aMode)) + 8*uintptr(_18_i))).X1 148993 goto _69 148994 148995 _71: 148996 _18_i += 1 148997 goto _66 148998 148999 _69: 149000 if _18_mode != i32(0) { 149001 goto _72 149002 } 149003 149004 *_pzErrMsg = Xsqlite3_mprintf(tls, str(131500), unsafe.Pointer(_15_zModeType), unsafe.Pointer(_13_zVal)) 149005 _rc = i32(1) 149006 goto _parse_uri_out 149007 149008 _72: 149009 if (_18_mode & i32(-129)) <= _15_limit { 149010 goto _73 149011 } 149012 149013 *_pzErrMsg = Xsqlite3_mprintf(tls, str(131520), unsafe.Pointer(_15_zModeType), unsafe.Pointer(_13_zVal)) 149014 _rc = i32(3) 149015 goto _parse_uri_out 149016 149017 _73: 149018 _flags = (_flags & uint32(^_15_mask)) | uint32(_18_mode) 149019 _65: 149020 _60: 149021 _1_zOpt = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_zVal)) + 1*uintptr(_13_nVal+i32(1)))) 149022 goto _56 149023 149024 _57: 149025 goto _74 149026 149027 _5: 149028 _zFile = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_nUri+i32(2))))) 149029 if _zFile != nil { 149030 goto _75 149031 } 149032 149033 r0 = _sqlite3NomemError(tls, i32(142659)) 149034 return 149035 149036 _75: 149037 if _nUri == 0 { 149038 goto _76 149039 } 149040 149041 crt.Xmemcpy(tls, (unsafe.Pointer)(_zFile), (unsafe.Pointer)(_zUri), uint32(_nUri)) 149042 _76: 149043 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_nUri))) = int8(i32(0)) 149044 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zFile)) + 1*uintptr(_nUri+i32(1)))) = int8(i32(0)) 149045 { 149046 p := &_flags 149047 *p = (*p) & uint32(i32(-65)) 149048 sink985 = *p 149049 } 149050 _74: 149051 *_ppVfs = Xsqlite3_vfs_find(tls, _zVfs) 149052 if (*_ppVfs) != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { 149053 goto _77 149054 } 149055 149056 *_pzErrMsg = Xsqlite3_mprintf(tls, str(131544), unsafe.Pointer(_zVfs)) 149057 _rc = i32(1) 149058 _77: 149059 _parse_uri_out: 149060 if _rc == i32(0) { 149061 goto _78 149062 } 149063 149064 Xsqlite3_free(tls, (unsafe.Pointer)(_zFile)) 149065 _zFile = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 149066 _78: 149067 *_pFlags = _flags 149068 *_pzFile = _zFile 149069 r0 = _rc 149070 return 149071 149072 } 149073 149074 var _sqlite3ParseUriØ00__func__Ø000 [16]int8 // - 149075 149076 func init() { 149077 crt.Xstrncpy(nil, &_sqlite3ParseUriØ00__func__Ø000[0], str(131560), 16) 149078 } 149079 149080 var _sqlite3ParseUriØ00aCacheModeØ001 [3]struct { 149081 X0 *int8 149082 X1 int32 149083 } // sqlite3.c:142602:34 149084 149085 func init() { 149086 _sqlite3ParseUriØ00aCacheModeØ001 = [3]struct { 149087 X0 *int8 149088 X1 int32 149089 }{T8304487{X0: str(130328), X1: i32(131072)}, T8304487{X0: str(131576), X1: i32(262144)}, T8304487{}} 149090 } 149091 149092 var _sqlite3ParseUriØ00aOpenModeØ002 [5]struct { 149093 X0 *int8 149094 X1 int32 149095 } // sqlite3.c:142614:34 149096 149097 func init() { 149098 _sqlite3ParseUriØ00aOpenModeØ002 = [5]struct { 149099 X0 *int8 149100 X1 int32 149101 }{T8304487{X0: str(131584), X1: i32(1)}, T8304487{X0: str(131588), X1: i32(2)}, T8304487{X0: str(131592), X1: i32(6)}, T8304487{X0: str(94648), X1: i32(128)}, T8304487{}} 149102 } 149103 149104 func _sqlite3SchemaGet(tls *crt.TLS, _db *Xsqlite3, _pBt *XBtree) (r0 *XSchema) { // sqlite3.c:104368:1 149105 var _p *XSchema // sqlite3.c:104369:10 149106 _ = _p 149107 if _pBt == nil { 149108 goto _0 149109 } 149110 149111 _p = (*XSchema)(unsafe.Pointer(_sqlite3BtreeSchema(tls, _pBt, int32(u32(84)), _sqlite3SchemaClear))) 149112 goto _1 149113 149114 _0: 149115 _p = (*XSchema)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))), uint64(u32(84))))) 149116 _1: 149117 if _p != nil { 149118 goto _2 149119 } 149120 149121 _sqlite3OomFault(tls, _db) 149122 goto _3 149123 149124 _2: 149125 if i32(0) != int32(_p.X7) { 149126 goto _4 149127 } 149128 149129 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))) 149130 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(24 /* X3 */)))) 149131 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(40 /* X4 */)))) 149132 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(56 /* X5 */)))) 149133 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(77 /* X8 */))) = uint8(i32(1)) 149134 _4: 149135 _3: 149136 r0 = _p 149137 return 149138 149139 } 149140 149141 func Xsqlite3_result_error_code(tls *crt.TLS, _pCtx *Xsqlite3_context, _errCode int32) { // sqlite3.c:76461:12 149142 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(20 /* X5 */))) = _errCode 149143 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 149144 if (*XVdbe)(unsafe.Pointer(_pCtx.X3)) == nil { 149145 goto _0 149146 } 149147 149148 *(*int32)(unsafe.Pointer(uintptr(_pCtx.X3) + uintptr(132 /* X28 */))) = _errCode 149149 _0: 149150 if (int32((*XMem)(unsafe.Pointer(_pCtx.X0)).X1) & i32(1)) == 0 { 149151 goto _1 149152 } 149153 149154 _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _sqlite3ErrStr(tls, _errCode), i32(-1), uint8(i32(1)), nil) 149155 _1: 149156 return 149157 149158 } 149159 149160 func _sqlite3Detach(tls *crt.TLS, _pParse *XParse, _pDbname *XExpr) { // sqlite3.c:98989:1 149161 _codeAttach(tls, _pParse, i32(25), &_sqlite3DetachØ00detach_funcØ001, _pDbname, (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), (*XExpr)(unsafe.Pointer(uintptr(i32(0)))), _pDbname) 149162 return 149163 149164 } 149165 149166 var _sqlite3DetachØ00detach_funcØ001 XFuncDef // sqlite3.c:98990:24 149167 149168 func init() { 149169 _sqlite3DetachØ00detach_funcØ001 = XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 149170 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 149171 }{_detachFunc})), X5: nil, X6: str(131596), X7: T7789635{}} 149172 } 149173 149174 func _detachFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:98863:1 149175 var _zName *int8 // sqlite3.c:98868:14 149176 _ = _zName 149177 var _db *Xsqlite3 // sqlite3.c:98869:11 149178 _ = _db 149179 var _i int32 // sqlite3.c:98870:7 149180 _ = _i 149181 var _pDb *XDb // sqlite3.c:98871:6 149182 _ = _pDb 149183 var _zErr [128]int8 // sqlite3.c:98872:8 149184 _ = _zErr 149185 _zName = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 149186 _db = Xsqlite3_context_db_handle(tls, _context) 149187 _pDb = nil 149188 149189 if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 149190 goto _0 149191 } 149192 149193 _zName = str(196) 149194 _0: 149195 _i = i32(0) 149196 _1: 149197 if _i >= (_db.X5) { 149198 goto _4 149199 } 149200 149201 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))) 149202 if (*XBtree)(unsafe.Pointer(_pDb.X1)) != (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) { 149203 goto _5 149204 } 149205 149206 goto _2 149207 149208 _5: 149209 if _sqlite3StrICmp(tls, _pDb.X0, _zName) != i32(0) { 149210 goto _6 149211 } 149212 149213 goto _4 149214 149215 _6: 149216 _2: 149217 _i += 1 149218 goto _1 149219 149220 _4: 149221 if _i < (_db.X5) { 149222 goto _7 149223 } 149224 149225 Xsqlite3_snprintf(tls, int32(u32(128)), (*int8)(unsafe.Pointer(&_zErr)), str(131612), unsafe.Pointer(_zName)) 149226 goto _detach_error 149227 149228 _7: 149229 if _i >= i32(2) { 149230 goto _8 149231 } 149232 149233 Xsqlite3_snprintf(tls, int32(u32(128)), (*int8)(unsafe.Pointer(&_zErr)), str(131636), unsafe.Pointer(_zName)) 149234 goto _detach_error 149235 149236 _8: 149237 if (_db.X15) != 0 { 149238 goto _9 149239 } 149240 149241 Xsqlite3_snprintf(tls, int32(u32(128)), (*int8)(unsafe.Pointer(&_zErr)), str(131664)) 149242 goto _detach_error 149243 149244 _9: 149245 if _sqlite3BtreeIsInReadTrans(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) == 0 && _sqlite3BtreeIsInBackup(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) == 0 { 149246 goto _11 149247 } 149248 149249 Xsqlite3_snprintf(tls, int32(u32(128)), (*int8)(unsafe.Pointer(&_zErr)), str(131708), unsafe.Pointer(_zName)) 149250 goto _detach_error 149251 149252 _11: 149253 _sqlite3BtreeClose(tls, (*XBtree)(unsafe.Pointer(_pDb.X1))) 149254 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(4 /* X1 */))))) = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 149255 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDb)) + uintptr(12 /* X4 */))))) = (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) 149256 _sqlite3CollapseDatabaseArray(tls, _db) 149257 return 149258 149259 _detach_error: 149260 Xsqlite3_result_error(tls, _context, (*int8)(unsafe.Pointer(&_zErr)), i32(-1)) 149261 return 149262 149263 } 149264 149265 func _sqlite3Reindex(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken) { // sqlite3.c:103743:1 149266 var _pColl *XCollSeq // sqlite3.c:103744:11 149267 _ = _pColl 149268 var _z *int8 // sqlite3.c:103745:8 149269 _ = _z 149270 var _zDb *int8 // sqlite3.c:103746:14 149271 _ = _zDb 149272 var _pTab *XTable // sqlite3.c:103747:9 149273 _ = _pTab 149274 var _pIndex *XIndex // sqlite3.c:103748:9 149275 _ = _pIndex 149276 var _iDb int32 // sqlite3.c:103749:7 149277 _ = _iDb 149278 var _db *Xsqlite3 // sqlite3.c:103750:11 149279 _ = _db 149280 var _pObjName *XToken // sqlite3.c:103751:9 149281 _ = _pObjName 149282 var _3_zColl *int8 // sqlite3.c:103763:10 149283 _ = _3_zColl 149284 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 149285 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 149286 goto _0 149287 } 149288 149289 return 149290 149291 _0: 149292 if _pName1 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 149293 goto _1 149294 } 149295 149296 _reindexDatabases(tls, _pParse, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 149297 return 149298 149299 _1: 149300 if func() int32 { 149301 if _pName2 == (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 149302 return func() int32 { 149303 func() int32 { 149304 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103762), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReindexØ00__func__Ø000))), unsafe.Pointer(str(5204))) 149305 crt.X__builtin_abort(tls) 149306 return i32(0) 149307 }() 149308 return i32(1) 149309 }() 149310 } 149311 return i32(0) 149312 }() == 0 && (_pName2.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 149313 goto _6 149314 } 149315 149316 func() int32 { 149317 if (_pName1.X0) != nil { 149318 return i32(0) 149319 } 149320 return func() int32 { 149321 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103764), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3ReindexØ00__func__Ø000))), unsafe.Pointer(str(131732))) 149322 crt.X__builtin_abort(tls) 149323 return i32(0) 149324 }() 149325 }() 149326 _3_zColl = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName1) 149327 if _3_zColl != nil { 149328 goto _9 149329 } 149330 149331 return 149332 149333 _9: 149334 _pColl = _sqlite3FindCollSeq(tls, _db, _db.X14, _3_zColl, i32(0)) 149335 if _pColl == nil { 149336 goto _10 149337 } 149338 149339 _reindexDatabases(tls, _pParse, _3_zColl) 149340 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_zColl)) 149341 return 149342 149343 _10: 149344 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_3_zColl)) 149345 _6: 149346 _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pObjName) 149347 if _iDb >= i32(0) { 149348 goto _11 149349 } 149350 149351 return 149352 149353 _11: 149354 _z = _sqlite3NameFromToken(tls, _db, _pObjName) 149355 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 149356 goto _12 149357 } 149358 149359 return 149360 149361 _12: 149362 _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 149363 _pTab = _sqlite3FindTable(tls, _db, _z, _zDb) 149364 if _pTab == nil { 149365 goto _13 149366 } 149367 149368 _reindexTable(tls, _pParse, _pTab, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 149369 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) 149370 return 149371 149372 _13: 149373 _pIndex = _sqlite3FindIndex(tls, _db, _z, _zDb) 149374 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) 149375 if _pIndex == nil { 149376 goto _14 149377 } 149378 149379 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 149380 _sqlite3RefillIndex(tls, _pParse, _pIndex, i32(-1)) 149381 return 149382 149383 _14: 149384 _sqlite3ErrorMsg(tls, _pParse, str(131744)) 149385 return 149386 149387 } 149388 149389 func _reindexDatabases(tls *crt.TLS, _pParse *XParse, _zColl *int8) { // sqlite3.c:103711:1 149390 var _pDb *XDb // sqlite3.c:103712:6 149391 _ = _pDb 149392 var _iDb int32 // sqlite3.c:103713:7 149393 _ = _iDb 149394 var _db *Xsqlite3 // sqlite3.c:103714:11 149395 _ = _db 149396 var _k *XHashElem // sqlite3.c:103715:12 149397 _ = _k 149398 var _pTab *XTable // sqlite3.c:103716:9 149399 _ = _pTab 149400 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 149401 func() int32 { 149402 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 149403 return i32(0) 149404 } 149405 return func() int32 { 149406 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103718), unsafe.Pointer((*int8)(unsafe.Pointer(&_reindexDatabasesØ00__func__Ø000))), unsafe.Pointer(str(9480))) 149407 crt.X__builtin_abort(tls) 149408 return i32(0) 149409 }() 149410 }() 149411 *func() **XDb { _iDb = i32(0); return &_pDb }() = (*XDb)(unsafe.Pointer(_db.X4)) 149412 _2: 149413 if _iDb >= (_db.X5) { 149414 goto _5 149415 } 149416 149417 func() int32 { 149418 if _pDb != (*XDb)(unsafe.Pointer(uintptr(i32(0)))) { 149419 return i32(0) 149420 } 149421 return func() int32 { 149422 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103720), unsafe.Pointer((*int8)(unsafe.Pointer(&_reindexDatabasesØ00__func__Ø000))), unsafe.Pointer(str(131792))) 149423 crt.X__builtin_abort(tls) 149424 return i32(0) 149425 }() 149426 }() 149427 _k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr(_pDb.X4) + uintptr(8 /* X2 */))).X2)) 149428 _8: 149429 if _k == nil { 149430 goto _11 149431 } 149432 149433 _pTab = (*XTable)(unsafe.Pointer(_k.X2)) 149434 _reindexTable(tls, _pParse, _pTab, _zColl) 149435 _k = (*XHashElem)(unsafe.Pointer(_k.X0)) 149436 goto _8 149437 149438 _11: 149439 *(*uintptr)(unsafe.Pointer(func() **XDb { _iDb += 1; return &_pDb }())) += uintptr(16) 149440 goto _2 149441 149442 _5: 149443 return 149444 149445 } 149446 149447 var _reindexDatabasesØ00__func__Ø000 [17]int8 // - 149448 149449 func init() { 149450 crt.Xstrncpy(nil, &_reindexDatabasesØ00__func__Ø000[0], str(131800), 17) 149451 } 149452 149453 func _reindexTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _zColl *int8) { // sqlite3.c:103692:1 149454 var _pIndex *XIndex // sqlite3.c:103693:9 149455 _ = _pIndex 149456 var _2_iDb int32 // sqlite3.c:103697:11 149457 _ = _2_iDb 149458 _pIndex = (*XIndex)(unsafe.Pointer(_pTab.X2)) 149459 _0: 149460 if _pIndex == nil { 149461 goto _3 149462 } 149463 149464 if _zColl != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _collationMatch(tls, _zColl, _pIndex) == 0 { 149465 goto _5 149466 } 149467 149468 _2_iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 149469 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _2_iDb) 149470 _sqlite3RefillIndex(tls, _pParse, _pIndex, i32(-1)) 149471 _5: 149472 _pIndex = (*XIndex)(unsafe.Pointer(_pIndex.X5)) 149473 goto _0 149474 149475 _3: 149476 return 149477 149478 } 149479 149480 func _collationMatch(tls *crt.TLS, _zColl *int8, _pIndex *XIndex) (r0 int32) { // sqlite3.c:103673:1 149481 var _i int32 // sqlite3.c:103674:7 149482 _ = _i 149483 var _1_z *int8 // sqlite3.c:103677:16 149484 _ = _1_z 149485 func() int32 { 149486 if _zColl != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 149487 return i32(0) 149488 } 149489 return func() int32 { 149490 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103675), unsafe.Pointer((*int8)(unsafe.Pointer(&_collationMatchØ00__func__Ø000))), unsafe.Pointer(str(131820))) 149491 crt.X__builtin_abort(tls) 149492 return i32(0) 149493 }() 149494 }() 149495 _i = i32(0) 149496 _2: 149497 if _i >= int32(_pIndex.X14) { 149498 goto _5 149499 } 149500 149501 _1_z = *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X8)) + 4*uintptr(_i))) 149502 func() int32 { 149503 if (_1_z != (*int8)(unsafe.Pointer(uintptr(i32(0))))) || (int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i)))) < i32(0)) { 149504 return i32(0) 149505 } 149506 return func() int32 { 149507 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103678), unsafe.Pointer((*int8)(unsafe.Pointer(&_collationMatchØ00__func__Ø000))), unsafe.Pointer(str(131832))) 149508 crt.X__builtin_abort(tls) 149509 return i32(0) 149510 }() 149511 }() 149512 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIndex.X1)) + 2*uintptr(_i)))) < i32(0) || i32(0) != _sqlite3StrICmp(tls, _1_z, _zColl) { 149513 goto _10 149514 } 149515 149516 r0 = i32(1) 149517 return 149518 149519 _10: 149520 _i += 1 149521 goto _2 149522 149523 _5: 149524 r0 = i32(0) 149525 return 149526 149527 } 149528 149529 var _collationMatchØ00__func__Ø000 [15]int8 // - 149530 149531 func init() { 149532 crt.Xstrncpy(nil, &_collationMatchØ00__func__Ø000[0], str(131864), 15) 149533 } 149534 149535 var _sqlite3ReindexØ00__func__Ø000 [15]int8 // - 149536 149537 func init() { 149538 crt.Xstrncpy(nil, &_sqlite3ReindexØ00__func__Ø000[0], str(131880), 15) 149539 } 149540 149541 func _sqlite3Analyze(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken) { // sqlite3.c:98054:1 149542 var _db *Xsqlite3 // sqlite3.c:98055:11 149543 _ = _db 149544 var _iDb int32 // sqlite3.c:98056:7 149545 _ = _iDb 149546 var _i int32 // sqlite3.c:98057:7 149547 _ = _i 149548 var _z *int8 // sqlite3.c:98058:8 149549 _ = _z 149550 var _zDb *int8 // sqlite3.c:98058:12 149551 _ = _zDb 149552 var _pTab *XTable // sqlite3.c:98059:9 149553 _ = _pTab 149554 var _pIdx *XIndex // sqlite3.c:98060:9 149555 _ = _pIdx 149556 var _pTableName *XToken // sqlite3.c:98061:9 149557 _ = _pTableName 149558 var _v *XVdbe // sqlite3.c:98062:8 149559 _ = _v 149560 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 149561 func() int32 { 149562 if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { 149563 return i32(0) 149564 } 149565 return func() int32 { 149566 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98066), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AnalyzeØ00__func__Ø000))), unsafe.Pointer(str(131896))) 149567 crt.X__builtin_abort(tls) 149568 return i32(0) 149569 }() 149570 }() 149571 if i32(0) == _sqlite3ReadSchema(tls, _pParse) { 149572 goto _2 149573 } 149574 149575 return 149576 149577 _2: 149578 func() int32 { 149579 if (_pName2 != (*XToken)(unsafe.Pointer(uintptr(i32(0))))) || (_pName1 == (*XToken)(unsafe.Pointer(uintptr(i32(0))))) { 149580 return i32(0) 149581 } 149582 return func() int32 { 149583 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98071), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AnalyzeØ00__func__Ø000))), unsafe.Pointer(str(131936))) 149584 crt.X__builtin_abort(tls) 149585 return i32(0) 149586 }() 149587 }() 149588 if _pName1 != (*XToken)(unsafe.Pointer(uintptr(i32(0)))) { 149589 goto _6 149590 } 149591 149592 _i = i32(0) 149593 _7: 149594 if _i >= (_db.X5) { 149595 goto _10 149596 } 149597 149598 if _i != i32(1) { 149599 goto _11 149600 } 149601 149602 goto _8 149603 149604 _11: 149605 _analyzeDatabase(tls, _pParse, _i) 149606 _8: 149607 _i += 1 149608 goto _7 149609 149610 _10: 149611 goto _12 149612 149613 _6: 149614 if (_pName2.X1) != uint32(i32(0)) || store961(&_iDb, _sqlite3FindDb(tls, _db, _pName1)) < i32(0) { 149615 goto _14 149616 } 149617 149618 _analyzeDatabase(tls, _pParse, _iDb) 149619 goto _15 149620 149621 _14: 149622 _iDb = _sqlite3TwoPartName(tls, _pParse, _pName1, _pName2, &_pTableName) 149623 if _iDb < i32(0) { 149624 goto _16 149625 } 149626 149627 _zDb = func() *int8 { 149628 if (_pName2.X1) != 0 { 149629 return ((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0) 149630 } 149631 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 149632 }() 149633 _z = _sqlite3NameFromToken(tls, _db, _pTableName) 149634 if _z == nil { 149635 goto _19 149636 } 149637 149638 if store7988862(&_pIdx, _sqlite3FindIndex(tls, _db, _z, _zDb)) == (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) { 149639 goto _20 149640 } 149641 149642 _analyzeTable(tls, _pParse, (*XTable)(unsafe.Pointer(_pIdx.X3)), _pIdx) 149643 goto _21 149644 149645 _20: 149646 if store7765325(&_pTab, _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _z, _zDb)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 149647 goto _22 149648 } 149649 149650 _analyzeTable(tls, _pParse, _pTab, (*XIndex)(unsafe.Pointer(uintptr(i32(0))))) 149651 _22: 149652 _21: 149653 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_z)) 149654 _19: 149655 _16: 149656 _15: 149657 _12: 149658 if int32(_db.X26) != i32(0) || store7766888(&_v, _sqlite3GetVdbe(tls, _pParse)) == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 149659 goto _24 149660 } 149661 149662 _sqlite3VdbeAddOp0(tls, _v, i32(151)) 149663 _24: 149664 return 149665 149666 } 149667 149668 var _sqlite3AnalyzeØ00__func__Ø000 [15]int8 // - 149669 149670 func init() { 149671 crt.Xstrncpy(nil, &_sqlite3AnalyzeØ00__func__Ø000[0], str(131960), 15) 149672 } 149673 149674 func _analyzeDatabase(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:97996:1 149675 var _db *Xsqlite3 // sqlite3.c:97997:11 149676 _ = _db 149677 var _pSchema *XSchema // sqlite3.c:97998:10 149678 _ = _pSchema 149679 var _k *XHashElem // sqlite3.c:97999:12 149680 _ = _k 149681 var _iStatCur int32 // sqlite3.c:98000:7 149682 _ = _iStatCur 149683 var _iMem int32 // sqlite3.c:98001:7 149684 _ = _iMem 149685 var _iTab int32 // sqlite3.c:98002:7 149686 _ = _iTab 149687 var _1_pTab *XTable // sqlite3.c:98012:11 149688 _ = _1_pTab 149689 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 149690 _pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 149691 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 149692 _iStatCur = _pParse.X17 149693 { 149694 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) 149695 *p = (*p) + i32(3) 149696 sink961 = *p 149697 } 149698 _openStatTable(tls, _pParse, _iDb, _iStatCur, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 149699 _iMem = (_pParse.X18) + i32(1) 149700 _iTab = _pParse.X17 149701 func() int32 { 149702 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 149703 return i32(0) 149704 } 149705 return func() int32 { 149706 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98010), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeDatabaseØ00__func__Ø000))), unsafe.Pointer(str(54008))) 149707 crt.X__builtin_abort(tls) 149708 return i32(0) 149709 }() 149710 }() 149711 _k = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSchema)) + uintptr(8 /* X2 */))).X2)) 149712 _2: 149713 if _k == nil { 149714 goto _5 149715 } 149716 149717 _1_pTab = (*XTable)(unsafe.Pointer(_k.X2)) 149718 _analyzeOneTable(tls, _pParse, _1_pTab, (*XIndex)(unsafe.Pointer(uintptr(i32(0)))), _iStatCur, _iMem, _iTab) 149719 _k = (*XHashElem)(unsafe.Pointer(_k.X0)) 149720 goto _2 149721 149722 _5: 149723 _loadAnalysis(tls, _pParse, _iDb) 149724 return 149725 149726 } 149727 149728 func _openStatTable(tls *crt.TLS, _pParse *XParse, _iDb int32, _iStatCur int32, _zWhere *int8, _zWhereType *int8) { // sqlite3.c:96859:1 149729 var _i int32 // sqlite3.c:96882:7 149730 _ = _i 149731 var _db *Xsqlite3 // sqlite3.c:96883:11 149732 _ = _db 149733 var _pDb *XDb // sqlite3.c:96884:6 149734 _ = _pDb 149735 var _v *XVdbe // sqlite3.c:96885:8 149736 _ = _v 149737 var _aRoot [3]int32 // sqlite3.c:96886:7 149738 _ = _aRoot 149739 var _aCreateTbl [3]uint8 // sqlite3.c:96887:6 149740 _ = _aCreateTbl 149741 var _1_zTab *int8 // sqlite3.c:96898:16 149742 _ = _1_zTab 149743 var _1_pStat *XTable // sqlite3.c:96899:11 149744 _ = _1_pStat 149745 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 149746 _v = _sqlite3GetVdbe(tls, _pParse) 149747 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 149748 goto _0 149749 } 149750 149751 return 149752 149753 _0: 149754 func() int32 { 149755 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 149756 return i32(0) 149757 } 149758 return func() int32 { 149759 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96890), unsafe.Pointer((*int8)(unsafe.Pointer(&_openStatTableØ00__func__Ø000))), unsafe.Pointer(str(9480))) 149760 crt.X__builtin_abort(tls) 149761 return i32(0) 149762 }() 149763 }() 149764 func() int32 { 149765 if _sqlite3VdbeDb(tls, _v) == _db { 149766 return i32(0) 149767 } 149768 return func() int32 { 149769 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96891), unsafe.Pointer((*int8)(unsafe.Pointer(&_openStatTableØ00__func__Ø000))), unsafe.Pointer(str(131976))) 149770 crt.X__builtin_abort(tls) 149771 return i32(0) 149772 }() 149773 }() 149774 _pDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))) 149775 _i = i32(0) 149776 _5: 149777 if _i >= i32(3) { 149778 goto _8 149779 } 149780 149781 _1_zTab = (*T8494069)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001)) + 8*uintptr(_i))).X0 149782 if store7765325(&_1_pStat, _sqlite3FindTable(tls, _db, _1_zTab, _pDb.X0)) != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 149783 goto _9 149784 } 149785 149786 if ((*T8494069)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001)) + 8*uintptr(_i))).X1) == nil { 149787 goto _10 149788 } 149789 149790 _sqlite3NestedParse(tls, _pParse, str(132000), unsafe.Pointer(_pDb.X0), unsafe.Pointer(_1_zTab), unsafe.Pointer((*T8494069)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001))+8*uintptr(_i))).X1)) 149791 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))) = _pParse.X32 149792 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCreateTbl)) + 1*uintptr(_i))) = uint8(i32(16)) 149793 _10: 149794 goto _11 149795 149796 _9: 149797 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))) = _1_pStat.X7 149798 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCreateTbl)) + 1*uintptr(_i))) = uint8(i32(0)) 149799 _sqlite3TableLock(tls, _pParse, _iDb, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))), uint8(i32(1)), _1_zTab) 149800 if _zWhere == nil { 149801 goto _12 149802 } 149803 149804 _sqlite3NestedParse(tls, _pParse, str(121412), unsafe.Pointer(_pDb.X0), unsafe.Pointer(_1_zTab), unsafe.Pointer(_zWhereType), unsafe.Pointer(_zWhere)) 149805 goto _13 149806 149807 _12: 149808 _sqlite3VdbeAddOp2(tls, _v, i32(131), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))), _iDb) 149809 _13: 149810 _11: 149811 _i += 1 149812 goto _5 149813 149814 _8: 149815 _i = i32(0) 149816 _14: 149817 if ((*T8494069)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001)) + 8*uintptr(_i))).X1) == nil { 149818 goto _17 149819 } 149820 149821 func() int32 { 149822 if _i < i32(3) { 149823 return i32(0) 149824 } 149825 return func() int32 { 149826 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96933), unsafe.Pointer((*int8)(unsafe.Pointer(&_openStatTableØ00__func__Ø000))), unsafe.Pointer(str(132024))) 149827 crt.X__builtin_abort(tls) 149828 return i32(0) 149829 }() 149830 }() 149831 _sqlite3VdbeAddOp4Int(tls, _v, i32(106), _iStatCur+_i, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aRoot)) + 4*uintptr(_i))), _iDb, i32(3)) 149832 _sqlite3VdbeChangeP5(tls, _v, uint16(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aCreateTbl)) + 1*uintptr(_i))))) 149833 _sqlite3VdbeComment(tls, _v, (*T8494069)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_openStatTableØ00aTableØ001))+8*uintptr(_i))).X0) 149834 _i += 1 149835 goto _14 149836 149837 _17: 149838 return 149839 149840 } 149841 149842 var _openStatTableØ00__func__Ø000 [14]int8 // - 149843 149844 func init() { 149845 crt.Xstrncpy(nil, &_openStatTableØ00__func__Ø000[0], str(132044), 14) 149846 } 149847 149848 var _openStatTableØ00aTableØ001 [3]struct { 149849 X0 *int8 149850 X1 *int8 149851 } // sqlite3.c:96869:5 149852 149853 func init() { 149854 _openStatTableØ00aTableØ001 = [3]struct { 149855 X0 *int8 149856 X1 *int8 149857 }{T8494069{X0: str(91408), X1: str(132060)}, T8494069{X0: str(132076), X1: nil}, T8494069{X0: str(132092), X1: nil}} 149858 } 149859 149860 var _analyzeDatabaseØ00__func__Ø000 [16]int8 // - 149861 149862 func init() { 149863 crt.Xstrncpy(nil, &_analyzeDatabaseØ00__func__Ø000[0], str(132108), 16) 149864 } 149865 149866 func _analyzeOneTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pOnlyIdx *XIndex, _iStatCur int32, _iMem int32, _iTab int32) { // sqlite3.c:97660:1 149867 var _db *Xsqlite3 // sqlite3.c:97668:11 149868 _ = _db 149869 var _pIdx *XIndex // sqlite3.c:97669:9 149870 _ = _pIdx 149871 var _iIdxCur int32 // sqlite3.c:97670:7 149872 _ = _iIdxCur 149873 var _iTabCur int32 // sqlite3.c:97671:7 149874 _ = _iTabCur 149875 var _v *XVdbe // sqlite3.c:97672:8 149876 _ = _v 149877 var _i int32 // sqlite3.c:97673:7 149878 _ = _i 149879 var _jZeroRows int32 // sqlite3.c:97674:7 149880 _ = _jZeroRows 149881 var _iDb int32 // sqlite3.c:97675:7 149882 _ = _iDb 149883 var _needTableCnt uint8 // sqlite3.c:97676:6 149884 _ = _needTableCnt 149885 var _regNewRowid int32 // sqlite3.c:97677:7 149886 _ = _regNewRowid 149887 var _regStat4 int32 // sqlite3.c:97678:7 149888 _ = _regStat4 149889 var _regChng int32 // sqlite3.c:97679:7 149890 _ = _regChng 149891 var _regTemp int32 // sqlite3.c:97683:7 149892 _ = _regTemp 149893 var _regTabname int32 // sqlite3.c:97684:7 149894 _ = _regTabname 149895 var _regIdxname int32 // sqlite3.c:97685:7 149896 _ = _regIdxname 149897 var _regStat1 int32 // sqlite3.c:97686:7 149898 _ = _regStat1 149899 var _regPrev int32 // sqlite3.c:97687:7 149900 _ = _regPrev 149901 var _5_nCol int32 // sqlite3.c:97725:9 149902 _ = _5_nCol 149903 var _5_addrRewind int32 // sqlite3.c:97726:9 149904 _ = _5_addrRewind 149905 var _5_addrNextRow int32 // sqlite3.c:97727:9 149906 _ = _5_addrNextRow 149907 var _5_zIdxName *int8 // sqlite3.c:97728:16 149908 _ = _5_zIdxName 149909 var _5_nColTest int32 // sqlite3.c:97729:9 149910 _ = _5_nColTest 149911 var _8_endDistinctTest int32 // sqlite3.c:97824:11 149912 _ = _8_endDistinctTest 149913 var _8_aGotoChng *int32 // sqlite3.c:97825:11 149914 _ = _8_aGotoChng 149915 var _10_pColl *int8 // sqlite3.c:97849:14 149916 _ = _10_pColl 149917 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 149918 _jZeroRows = i32(-1) 149919 _needTableCnt = u8(1) 149920 _regNewRowid = postInc961(&_iMem, int32(1)) 149921 _regStat4 = postInc961(&_iMem, int32(1)) 149922 _regChng = postInc961(&_iMem, int32(1)) 149923 _regTemp = postInc961(&_iMem, int32(1)) 149924 _regTabname = postInc961(&_iMem, int32(1)) 149925 _regIdxname = postInc961(&_iMem, int32(1)) 149926 _regStat1 = postInc961(&_iMem, int32(1)) 149927 _regPrev = _iMem 149928 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = func() int32 { 149929 if (_pParse.X18) > _iMem { 149930 return (_pParse.X18) 149931 } 149932 return _iMem 149933 }() 149934 _v = _sqlite3GetVdbe(tls, _pParse) 149935 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) && func() int32 { 149936 if _pTab == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 149937 return func() int32 { 149938 func() int32 { 149939 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97691), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(5204))) 149940 crt.X__builtin_abort(tls) 149941 return i32(0) 149942 }() 149943 return i32(1) 149944 }() 149945 } 149946 return i32(0) 149947 }() == 0 { 149948 goto _5 149949 } 149950 149951 return 149952 149953 _5: 149954 if (_pTab.X7) != i32(0) { 149955 goto _6 149956 } 149957 149958 return 149959 149960 _6: 149961 if Xsqlite3_strlike(tls, str(132124), _pTab.X0, uint32(i32(0))) != i32(0) { 149962 goto _7 149963 } 149964 149965 return 149966 149967 _7: 149968 func() int32 { 149969 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 149970 return i32(0) 149971 } 149972 return func() int32 { 149973 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97702), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(9480))) 149974 crt.X__builtin_abort(tls) 149975 return i32(0) 149976 }() 149977 }() 149978 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 149979 func() int32 { 149980 if _iDb >= i32(0) { 149981 return i32(0) 149982 } 149983 return func() int32 { 149984 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97704), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(44324))) 149985 crt.X__builtin_abort(tls) 149986 return i32(0) 149987 }() 149988 }() 149989 func() int32 { 149990 if _sqlite3SchemaMutexHeld(tls, _db, _iDb, (*XSchema)(unsafe.Pointer(uintptr(i32(0))))) != 0 { 149991 return i32(0) 149992 } 149993 return func() int32 { 149994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97705), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(54008))) 149995 crt.X__builtin_abort(tls) 149996 return i32(0) 149997 }() 149998 }() 149999 if _sqlite3AuthCheck(tls, _pParse, i32(28), _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_iDb))).X0) == 0 { 150000 goto _14 150001 } 150002 150003 return 150004 150005 _14: 150006 _sqlite3TableLock(tls, _pParse, _iDb, _pTab.X7, uint8(i32(0)), _pTab.X0) 150007 _iTabCur = postInc961(&_iTab, int32(1)) 150008 _iIdxCur = postInc961(&_iTab, int32(1)) 150009 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = func() int32 { 150010 if (_pParse.X17) > _iTab { 150011 return (_pParse.X17) 150012 } 150013 return _iTab 150014 }() 150015 _sqlite3OpenTable(tls, _pParse, _iTabCur, _iDb, _pTab, i32(105)) 150016 _sqlite3VdbeLoadString(tls, _v, _regTabname, _pTab.X0) 150017 _pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 150018 _17: 150019 if _pIdx == nil { 150020 goto _20 150021 } 150022 150023 if _pOnlyIdx == nil || _pOnlyIdx == _pIdx { 150024 goto _22 150025 } 150026 150027 goto _18 150028 150029 _22: 150030 if (*XExpr)(unsafe.Pointer(_pIdx.X9)) != (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) { 150031 goto _23 150032 } 150033 150034 _needTableCnt = uint8(i32(0)) 150035 _23: 150036 if ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) || int32((uint32(_pIdx.X16)<<uint(i32(30)))>>uint(i32(30))) != i32(2) { 150037 goto _25 150038 } 150039 150040 _5_nCol = int32(_pIdx.X13) 150041 _5_zIdxName = _pTab.X0 150042 _5_nColTest = _5_nCol - i32(1) 150043 goto _26 150044 150045 _25: 150046 _5_nCol = int32(_pIdx.X14) 150047 _5_zIdxName = _pIdx.X0 150048 _5_nColTest = func() int32 { 150049 if ((uint32((_pIdx.X16)>>uint(i32(3))) << uint(i32(31))) >> uint(i32(31))) != 0 { 150050 return (int32(_pIdx.X13) - i32(1)) 150051 } 150052 return (_5_nCol - i32(1)) 150053 }() 150054 _26: 150055 _sqlite3VdbeLoadString(tls, _v, _regIdxname, _5_zIdxName) 150056 _sqlite3VdbeComment(tls, _v, str(132136), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_5_zIdxName)) 150057 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = func() int32 { 150058 if (_pParse.X18) > (_regPrev + _5_nColTest) { 150059 return (_pParse.X18) 150060 } 150061 return (_regPrev + _5_nColTest) 150062 }() 150063 func() int32 { 150064 if _iDb == _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pIdx.X6))) { 150065 return i32(0) 150066 } 150067 return func() int32 { 150068 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97786), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(132156))) 150069 crt.X__builtin_abort(tls) 150070 return i32(0) 150071 }() 150072 }() 150073 _sqlite3VdbeAddOp3(tls, _v, i32(105), _iIdxCur, _pIdx.X11, _iDb) 150074 _sqlite3VdbeSetP4KeyInfo(tls, _pParse, _pIdx) 150075 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pIdx.X0)) 150076 _sqlite3VdbeAddOp2(tls, _v, i32(77), _5_nCol, _regStat4+i32(1)) 150077 _sqlite3VdbeAddOp2(tls, _v, i32(77), int32(_pIdx.X13), _regStat4+i32(2)) 150078 _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(0), _regStat4+i32(1), _regStat4, (*int8)(unsafe.Pointer(&_statInitFuncdef)), i32(-4)) 150079 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) 150080 _5_addrRewind = _sqlite3VdbeAddOp1(tls, _v, i32(58), _iIdxCur) 150081 _sqlite3VdbeAddOp2(tls, _v, i32(77), i32(0), _regChng) 150082 _5_addrNextRow = _sqlite3VdbeCurrentAddr(tls, _v) 150083 if _5_nColTest <= i32(0) { 150084 goto _33 150085 } 150086 150087 _8_endDistinctTest = _sqlite3VdbeMakeLabel(tls, _v) 150088 _8_aGotoChng = (*int32)(unsafe.Pointer(_sqlite3DbMallocRawNN(tls, _db, uint64(u32(4)*uint32(_5_nColTest))))) 150089 if _8_aGotoChng != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 150090 goto _34 150091 } 150092 150093 goto _18 150094 150095 _34: 150096 _sqlite3VdbeAddOp0(tls, _v, i32(13)) 150097 _5_addrNextRow = _sqlite3VdbeCurrentAddr(tls, _v) 150098 if _5_nColTest != i32(1) || int32(_pIdx.X13) != i32(1) || int32(_pIdx.X15) == i32(0) { 150099 goto _37 150100 } 150101 150102 _sqlite3VdbeAddOp2(tls, _v, i32(35), _regPrev, _8_endDistinctTest) 150103 _37: 150104 _i = i32(0) 150105 _38: 150106 if _i >= _5_nColTest { 150107 goto _41 150108 } 150109 150110 _10_pColl = (*int8)(unsafe.Pointer(_sqlite3LocateCollSeq(tls, _pParse, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pIdx.X8)) + 4*uintptr(_i)))))) 150111 _sqlite3VdbeAddOp2(tls, _v, i32(77), _i, _regChng) 150112 _sqlite3VdbeAddOp3(tls, _v, i32(98), _iIdxCur, _i, _regTemp) 150113 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aGotoChng)) + 4*uintptr(_i))) = _sqlite3VdbeAddOp4(tls, _v, i32(36), _regTemp, i32(0), _regPrev+_i, _10_pColl, i32(-3)) 150114 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(128))) 150115 _i += 1 150116 goto _38 150117 150118 _41: 150119 _sqlite3VdbeAddOp2(tls, _v, i32(77), _5_nColTest, _regChng) 150120 _sqlite3VdbeGoto(tls, _v, _8_endDistinctTest) 150121 _sqlite3VdbeJumpHere(tls, _v, _5_addrNextRow-i32(1)) 150122 _i = i32(0) 150123 _42: 150124 if _i >= _5_nColTest { 150125 goto _45 150126 } 150127 150128 _sqlite3VdbeJumpHere(tls, _v, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_aGotoChng)) + 4*uintptr(_i)))) 150129 _sqlite3VdbeAddOp3(tls, _v, i32(98), _iIdxCur, _i, _regPrev+_i) 150130 _i += 1 150131 goto _42 150132 150133 _45: 150134 _sqlite3VdbeResolveLabel(tls, _v, _8_endDistinctTest) 150135 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_8_aGotoChng)) 150136 _33: 150137 func() int32 { 150138 if _regChng == (_regStat4 + i32(1)) { 150139 return i32(0) 150140 } 150141 return func() int32 { 150142 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97902), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(132204))) 150143 crt.X__builtin_abort(tls) 150144 return i32(0) 150145 }() 150146 }() 150147 _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(1), _regStat4, _regTemp, (*int8)(unsafe.Pointer(&_statPushFuncdef)), i32(-4)) 150148 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(2))) 150149 _sqlite3VdbeAddOp2(tls, _v, i32(7), _iIdxCur, _5_addrNextRow) 150150 _callStatGet(tls, _v, _regStat4, i32(0), _regStat1) 150151 func() int32 { 150152 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(str(132228))) + 1*uintptr(i32(0))))) == i32(66) { 150153 return i32(0) 150154 } 150155 return func() int32 { 150156 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97910), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(132232))) 150157 crt.X__builtin_abort(tls) 150158 return i32(0) 150159 }() 150160 }() 150161 _sqlite3VdbeAddOp4(tls, _v, i32(100), _regTabname, i32(3), _regTemp, str(132228), i32(0)) 150162 _sqlite3VdbeAddOp2(tls, _v, i32(115), _iStatCur, _regNewRowid) 150163 _sqlite3VdbeAddOp3(tls, _v, i32(116), _iStatCur, _regTemp, _regNewRowid) 150164 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 150165 _sqlite3VdbeJumpHere(tls, _v, _5_addrRewind) 150166 _18: 150167 _pIdx = (*XIndex)(unsafe.Pointer(_pIdx.X5)) 150168 goto _17 150169 150170 _20: 150171 if _pOnlyIdx != (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) || _needTableCnt == 0 { 150172 goto _51 150173 } 150174 150175 _sqlite3VdbeComment(tls, _v, str(25612), unsafe.Pointer(_pTab.X0)) 150176 _sqlite3VdbeAddOp2(tls, _v, i32(101), _iTabCur, _regStat1) 150177 _jZeroRows = _sqlite3VdbeAddOp1(tls, _v, i32(22), _regStat1) 150178 _sqlite3VdbeAddOp2(tls, _v, i32(80), i32(0), _regIdxname) 150179 func() int32 { 150180 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(str(132228))) + 1*uintptr(i32(0))))) == i32(66) { 150181 return i32(0) 150182 } 150183 return func() int32 { 150184 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97972), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeOneTableØ00__func__Ø000))), unsafe.Pointer(str(132232))) 150185 crt.X__builtin_abort(tls) 150186 return i32(0) 150187 }() 150188 }() 150189 _sqlite3VdbeAddOp4(tls, _v, i32(100), _regTabname, i32(3), _regTemp, str(132228), i32(0)) 150190 _sqlite3VdbeAddOp2(tls, _v, i32(115), _iStatCur, _regNewRowid) 150191 _sqlite3VdbeAddOp3(tls, _v, i32(116), _iStatCur, _regTemp, _regNewRowid) 150192 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(8))) 150193 _sqlite3VdbeJumpHere(tls, _v, _jZeroRows) 150194 _51: 150195 return 150196 150197 } 150198 150199 var _analyzeOneTableØ00__func__Ø000 [16]int8 // - 150200 150201 func init() { 150202 crt.Xstrncpy(nil, &_analyzeOneTableØ00__func__Ø000[0], str(132260), 16) 150203 } 150204 150205 var _statInitFuncdef XFuncDef // sqlite3.c:97164:22 150206 150207 func init() { 150208 _statInitFuncdef = XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 150209 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 150210 }{_statInit})), X5: nil, X6: str(132276), X7: T7789635{}} 150211 } 150212 150213 func _statInit(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:97082:1 150214 var _p *XStat4Accum // sqlite3.c:97087:14 150215 _ = _p 150216 var _nCol int32 // sqlite3.c:97088:7 150217 _ = _nCol 150218 var _nKeyCol int32 // sqlite3.c:97089:7 150219 _ = _nKeyCol 150220 var _nColUp int32 // sqlite3.c:97090:7 150221 _ = _nColUp 150222 var _n int32 // sqlite3.c:97091:7 150223 _ = _n 150224 var _db *Xsqlite3 // sqlite3.c:97092:11 150225 _ = _db 150226 150227 _nCol = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 150228 func() int32 { 150229 if _nCol > i32(0) { 150230 return i32(0) 150231 } 150232 return func() int32 { 150233 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97100), unsafe.Pointer((*int8)(unsafe.Pointer(&_statInitØ00__func__Ø000))), unsafe.Pointer(str(132288))) 150234 crt.X__builtin_abort(tls) 150235 return i32(0) 150236 }() 150237 }() 150238 _nColUp = (_nCol + i32(1)) & i32(-2) 150239 _nKeyCol = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 150240 func() int32 { 150241 if _nKeyCol <= _nCol { 150242 return i32(0) 150243 } 150244 return func() int32 { 150245 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97103), unsafe.Pointer((*int8)(unsafe.Pointer(&_statInitØ00__func__Ø000))), unsafe.Pointer(str(132296))) 150246 crt.X__builtin_abort(tls) 150247 return i32(0) 150248 }() 150249 }() 150250 func() int32 { 150251 if _nKeyCol > i32(0) { 150252 return i32(0) 150253 } 150254 return func() int32 { 150255 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97104), unsafe.Pointer((*int8)(unsafe.Pointer(&_statInitØ00__func__Ø000))), unsafe.Pointer(str(113108))) 150256 crt.X__builtin_abort(tls) 150257 return i32(0) 150258 }() 150259 }() 150260 _n = int32((u32(60) + (u32(4) * uint32(_nColUp))) + (u32(4) * uint32(_nColUp))) 150261 _db = Xsqlite3_context_db_handle(tls, _context) 150262 _p = (*XStat4Accum)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(_n)))) 150263 if _p != (*XStat4Accum)(unsafe.Pointer(uintptr(i32(0)))) { 150264 goto _6 150265 } 150266 150267 Xsqlite3_result_error_nomem(tls, _context) 150268 return 150269 150270 _6: 150271 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(56 /* X13 */))))) = _db 150272 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = uint32(i32(0)) 150273 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _nCol 150274 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) = _nKeyCol 150275 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))))) + uintptr(4 /* X1 */))) = (*uint32)(unsafe.Pointer((*XStat4Accum)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 60*uintptr(i32(1)))))) 150276 *(**uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))))) + uintptr(0 /* X0 */))) = (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X1)) + 4*uintptr(_nColUp))) 150277 Xsqlite3_result_blob(tls, _context, (unsafe.Pointer)(_p), int32(u32(60)), _stat4Destructor) 150278 return 150279 150280 } 150281 150282 var _statInitØ00__func__Ø000 [9]int8 // - 150283 150284 func init() { 150285 crt.Xstrncpy(nil, &_statInitØ00__func__Ø000[0], str(132312), 9) 150286 } 150287 150288 func Xsqlite3_result_blob(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n int32, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76330:12 150289 func() int32 { 150290 if _n >= i32(0) { 150291 return i32(0) 150292 } 150293 return func() int32 { 150294 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76336), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_blobØ00__func__Ø000))), unsafe.Pointer(str(132324))) 150295 crt.X__builtin_abort(tls) 150296 return i32(0) 150297 }() 150298 }() 150299 func() int32 { 150300 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 150301 return i32(0) 150302 } 150303 return func() int32 { 150304 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76337), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_blobØ00__func__Ø000))), unsafe.Pointer(str(6312))) 150305 crt.X__builtin_abort(tls) 150306 return i32(0) 150307 }() 150308 }() 150309 _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(0)), _xDel) 150310 return 150311 150312 } 150313 150314 var _sqlite3_result_blobØ00__func__Ø000 [20]int8 // - 150315 150316 func init() { 150317 crt.Xstrncpy(nil, &_sqlite3_result_blobØ00__func__Ø000[0], str(132332), 20) 150318 } 150319 150320 func _stat4Destructor(tls *crt.TLS, _pOld unsafe.Pointer) { // sqlite3.c:97048:1 150321 var _p *XStat4Accum // sqlite3.c:97049:14 150322 _ = _p 150323 _p = (*XStat4Accum)(unsafe.Pointer(_pOld)) 150324 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_p.X13)), (unsafe.Pointer)(_p)) 150325 return 150326 150327 } 150328 150329 var _statPushFuncdef XFuncDef // sqlite3.c:97480:22 150330 150331 func init() { 150332 _statPushFuncdef = XFuncDef{X0: i8(2), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 150333 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 150334 }{_statPush})), X5: nil, X6: str(132352), X7: T7789635{}} 150335 } 150336 150337 func _statPush(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:97411:1 150338 var _i int32 // sqlite3.c:97416:7 150339 _ = _i 150340 var _p *XStat4Accum // sqlite3.c:97419:14 150341 _ = _p 150342 var _iChng int32 // sqlite3.c:97420:7 150343 _ = _iChng 150344 _p = (*XStat4Accum)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 150345 _iChng = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 150346 150347 func() int32 { 150348 if (_p.X2) > i32(0) { 150349 return i32(0) 150350 } 150351 return func() int32 { 150352 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97424), unsafe.Pointer((*int8)(unsafe.Pointer(&_statPushØ00__func__Ø000))), unsafe.Pointer(str(132364))) 150353 crt.X__builtin_abort(tls) 150354 return i32(0) 150355 }() 150356 }() 150357 func() int32 { 150358 if _iChng < (_p.X2) { 150359 return i32(0) 150360 } 150361 return func() int32 { 150362 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97425), unsafe.Pointer((*int8)(unsafe.Pointer(&_statPushØ00__func__Ø000))), unsafe.Pointer(str(132376))) 150363 crt.X__builtin_abort(tls) 150364 return i32(0) 150365 }() 150366 }() 150367 if (_p.X0) != uint32(i32(0)) { 150368 goto _4 150369 } 150370 150371 _i = i32(0) 150372 _5: 150373 if _i >= (_p.X2) { 150374 goto _8 150375 } 150376 150377 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X0)) + 4*uintptr(_i))) = uint32(i32(1)) 150378 _i += 1 150379 goto _5 150380 150381 _8: 150382 goto _9 150383 150384 _4: 150385 _samplePushPrevious(tls, _p, _iChng) 150386 _i = i32(0) 150387 _10: 150388 if _i >= _iChng { 150389 goto _13 150390 } 150391 150392 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X0)) + 4*uintptr(_i))) += 1 150393 _i += 1 150394 goto _10 150395 150396 _13: 150397 _i = _iChng 150398 _14: 150399 if _i >= (_p.X2) { 150400 goto _17 150401 } 150402 150403 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X1)) + 4*uintptr(_i))) += 1 150404 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X0)) + 4*uintptr(_i))) = uint32(i32(1)) 150405 _i += 1 150406 goto _14 150407 150408 _17: 150409 _9: 150410 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 150411 return 150412 150413 } 150414 150415 var _statPushØ00__func__Ø000 [9]int8 // - 150416 150417 func init() { 150418 crt.Xstrncpy(nil, &_statPushØ00__func__Ø000[0], str(132392), 9) 150419 } 150420 150421 func _samplePushPrevious(tls *crt.TLS, _p *XStat4Accum, _iChng int32) { // sqlite3.c:97335:1 150422 150423 return 150424 150425 } 150426 150427 func _callStatGet(tls *crt.TLS, _v *XVdbe, _regStat4 int32, _iParam int32, _regOut int32) { // sqlite3.c:97642:1 150428 func() int32 { 150429 if (_regOut != _regStat4) && (_regOut != (_regStat4 + i32(1))) { 150430 return i32(0) 150431 } 150432 return func() int32 { 150433 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97643), unsafe.Pointer((*int8)(unsafe.Pointer(&_callStatGetØ00__func__Ø000))), unsafe.Pointer(str(132404))) 150434 crt.X__builtin_abort(tls) 150435 return i32(0) 150436 }() 150437 }() 150438 func() int32 { 150439 if _iParam == i32(0) { 150440 return i32(0) 150441 } 150442 return func() int32 { 150443 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97647), unsafe.Pointer((*int8)(unsafe.Pointer(&_callStatGetØ00__func__Ø000))), unsafe.Pointer(str(132444))) 150444 crt.X__builtin_abort(tls) 150445 return i32(0) 150446 }() 150447 }() 150448 _sqlite3VdbeAddOp4(tls, _v, i32(90), i32(0), _regStat4, _regOut, (*int8)(unsafe.Pointer(&_statGetFuncdef)), i32(-4)) 150449 _sqlite3VdbeChangeP5(tls, _v, uint16(i32(1))) 150450 return 150451 150452 } 150453 150454 var _callStatGetØ00__func__Ø000 [12]int8 // - 150455 150456 func init() { 150457 crt.Xstrncpy(nil, &_callStatGetØ00__func__Ø000[0], str(132468), 12) 150458 } 150459 150460 var _statGetFuncdef XFuncDef // sqlite3.c:97631:22 150461 150462 func init() { 150463 _statGetFuncdef = XFuncDef{X0: i8(1), X1: u16(1), X2: nil, X3: nil, X4: *(*func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer))(unsafe.Pointer(&struct { 150464 f func(*crt.TLS, *Xsqlite3_context, int32, **XMem) 150465 }{_statGet})), X5: nil, X6: str(132480), X7: T7789635{}} 150466 } 150467 150468 func _statGet(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:97516:1 150469 var _p *XStat4Accum // sqlite3.c:97521:14 150470 _ = _p 150471 var _1_z *int8 // sqlite3.c:97556:10 150472 _ = _1_z 150473 var _1_i int32 // sqlite3.c:97557:9 150474 _ = _1_i 150475 var _1_zRet *int8 // sqlite3.c:97559:10 150476 _ = _1_zRet 150477 var _3_nDistinct uint64 // sqlite3.c:97568:11 150478 _ = _3_nDistinct 150479 var _3_iVal uint64 // sqlite3.c:97569:11 150480 _ = _3_iVal 150481 _p = (*XStat4Accum)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 150482 func() int32 { 150483 if _argc == i32(1) { 150484 return i32(0) 150485 } 150486 return func() int32 { 150487 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97532), unsafe.Pointer((*int8)(unsafe.Pointer(&_statGetØ00__func__Ø000))), unsafe.Pointer(str(132492))) 150488 crt.X__builtin_abort(tls) 150489 return i32(0) 150490 }() 150491 }() 150492 _1_zRet = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(((_p.X3)+i32(1))*i32(25))))) 150493 if _1_zRet != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 150494 goto _2 150495 } 150496 150497 Xsqlite3_result_error_nomem(tls, _context) 150498 return 150499 150500 _2: 150501 Xsqlite3_snprintf(tls, i32(24), _1_zRet, str(132500), uint64(_p.X0)) 150502 _1_z = (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_1_zRet)) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_sqlite3Strlen30(tls, _1_zRet)))))))) 150503 _1_i = i32(0) 150504 _3: 150505 if _1_i >= (_p.X3) { 150506 goto _6 150507 } 150508 150509 _3_nDistinct = uint64((*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X1)) + 4*uintptr(_1_i)))) + uint32(i32(1))) 150510 _3_iVal = ((uint64(_p.X0) + _3_nDistinct) - uint64(i32(1))) / _3_nDistinct 150511 Xsqlite3_snprintf(tls, i32(24), _1_z, str(132508), _3_iVal) 150512 { 150513 p := &_1_z 150514 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_sqlite3Strlen30(tls, _1_z)))) 150515 sink1025 = *p 150516 } 150517 func() int32 { 150518 if (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T8494329)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))).X0)) + 4*uintptr(_1_i)))) != 0 { 150519 return i32(0) 150520 } 150521 return func() int32 { 150522 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97572), unsafe.Pointer((*int8)(unsafe.Pointer(&_statGetØ00__func__Ø000))), unsafe.Pointer(str(132516))) 150523 crt.X__builtin_abort(tls) 150524 return i32(0) 150525 }() 150526 }() 150527 _1_i += 1 150528 goto _3 150529 150530 _6: 150531 func() int32 { 150532 if (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_z)) + 1*uintptr(i32(0))))) == i32(0)) && (uintptr(unsafe.Pointer(_1_z)) > uintptr(unsafe.Pointer(_1_zRet))) { 150533 return i32(0) 150534 } 150535 return func() int32 { 150536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(97574), unsafe.Pointer((*int8)(unsafe.Pointer(&_statGetØ00__func__Ø000))), unsafe.Pointer(str(132536))) 150537 crt.X__builtin_abort(tls) 150538 return i32(0) 150539 }() 150540 }() 150541 Xsqlite3_result_text(tls, _context, _1_zRet, i32(-1), Xsqlite3_free) 150542 return 150543 150544 } 150545 150546 var _statGetØ00__func__Ø000 [8]int8 // - 150547 150548 func init() { 150549 crt.Xstrncpy(nil, &_statGetØ00__func__Ø000[0], str(132560), 8) 150550 } 150551 150552 func _loadAnalysis(tls *crt.TLS, _pParse *XParse, _iDb int32) { // sqlite3.c:97986:1 150553 var _v *XVdbe // sqlite3.c:97987:8 150554 _ = _v 150555 _v = _sqlite3GetVdbe(tls, _pParse) 150556 if _v == nil { 150557 goto _0 150558 } 150559 150560 _sqlite3VdbeAddOp1(tls, _v, i32(138), _iDb) 150561 _0: 150562 return 150563 150564 } 150565 150566 func _analyzeTable(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _pOnlyIdx *XIndex) { // sqlite3.c:98023:1 150567 var _iDb int32 // sqlite3.c:98024:7 150568 _ = _iDb 150569 var _iStatCur int32 // sqlite3.c:98025:7 150570 _ = _iStatCur 150571 func() int32 { 150572 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 150573 return i32(0) 150574 } 150575 return func() int32 { 150576 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98027), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeTableØ00__func__Ø000))), unsafe.Pointer(str(45992))) 150577 crt.X__builtin_abort(tls) 150578 return i32(0) 150579 }() 150580 }() 150581 func() int32 { 150582 if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { 150583 return i32(0) 150584 } 150585 return func() int32 { 150586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(98028), unsafe.Pointer((*int8)(unsafe.Pointer(&_analyzeTableØ00__func__Ø000))), unsafe.Pointer(str(131896))) 150587 crt.X__builtin_abort(tls) 150588 return i32(0) 150589 }() 150590 }() 150591 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 150592 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 150593 _iStatCur = _pParse.X17 150594 { 150595 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) 150596 *p = (*p) + i32(3) 150597 sink961 = *p 150598 } 150599 if _pOnlyIdx == nil { 150600 goto _4 150601 } 150602 150603 _openStatTable(tls, _pParse, _iDb, _iStatCur, _pOnlyIdx.X0, str(98992)) 150604 goto _5 150605 150606 _4: 150607 _openStatTable(tls, _pParse, _iDb, _iStatCur, _pTab.X0, str(98988)) 150608 _5: 150609 _analyzeOneTable(tls, _pParse, _pTab, _pOnlyIdx, _iStatCur, (_pParse.X18)+i32(1), _pParse.X17) 150610 _loadAnalysis(tls, _pParse, _iDb) 150611 return 150612 150613 } 150614 150615 var _analyzeTableØ00__func__Ø000 [13]int8 // - 150616 150617 func init() { 150618 crt.Xstrncpy(nil, &_analyzeTableØ00__func__Ø000[0], str(132568), 13) 150619 } 150620 150621 func _sqlite3AlterRenameTable(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList, _pName *XToken) { // sqlite3.c:96265:1 150622 var _iDb int32 // sqlite3.c:96270:7 150623 _ = _iDb 150624 var _zDb *int8 // sqlite3.c:96271:8 150625 _ = _zDb 150626 var _pTab *XTable // sqlite3.c:96272:9 150627 _ = _pTab 150628 var _zName *int8 // sqlite3.c:96273:8 150629 _ = _zName 150630 var _db *Xsqlite3 // sqlite3.c:96274:11 150631 _ = _db 150632 var _nTabName int32 // sqlite3.c:96275:7 150633 _ = _nTabName 150634 var _zTabName *int8 // sqlite3.c:96276:14 150635 _ = _zTabName 150636 var _v *XVdbe // sqlite3.c:96277:8 150637 _ = _v 150638 var _zWhere *int8 // sqlite3.c:96279:8 150639 _ = _zWhere 150640 var _pVTab *XVTable // sqlite3.c:96281:10 150641 _ = _pVTab 150642 var _savedDbFlags int32 // sqlite3.c:96282:7 150643 _ = _savedDbFlags 150644 var _10_i int32 // sqlite3.c:96363:9 150645 _ = _10_i 150646 var _15_p *XFKey // sqlite3.c:96442:10 150647 _ = _15_p 150648 var _16_pFrom *XTable // sqlite3.c:96444:13 150649 _ = _16_pFrom 150650 _zName = nil 150651 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 150652 _zWhere = nil 150653 _pVTab = nil 150654 _savedDbFlags = _db.X6 150655 if func() int32 { 150656 if (_db.X17) != 0 { 150657 return func() int32 { 150658 func() int32 { 150659 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96285), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterRenameTableØ00__func__Ø000))), unsafe.Pointer(str(5204))) 150660 crt.X__builtin_abort(tls) 150661 return i32(0) 150662 }() 150663 return i32(1) 150664 }() 150665 } 150666 return i32(0) 150667 }() == 0 { 150668 goto _2 150669 } 150670 150671 goto _exit_rename_table 150672 150673 _2: 150674 func() int32 { 150675 if (_pSrc.X0) == i32(1) { 150676 return i32(0) 150677 } 150678 return func() int32 { 150679 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96286), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterRenameTableØ00__func__Ø000))), unsafe.Pointer(str(132584))) 150680 crt.X__builtin_abort(tls) 150681 return i32(0) 150682 }() 150683 }() 150684 func() int32 { 150685 if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { 150686 return i32(0) 150687 } 150688 return func() int32 { 150689 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96287), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterRenameTableØ00__func__Ø000))), unsafe.Pointer(str(131896))) 150690 crt.X__builtin_abort(tls) 150691 return i32(0) 150692 }() 150693 }() 150694 _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 150695 X0 unsafe.Pointer 150696 X1 *int8 150697 X2 *int8 150698 X3 *int8 150699 X4 unsafe.Pointer 150700 X5 unsafe.Pointer 150701 X6 int32 150702 X7 int32 150703 X8 int32 150704 X9 struct { 150705 X0 uint8 150706 X1 int8 150707 } 150708 X10 uint8 150709 X11 int32 150710 X12 unsafe.Pointer 150711 X13 unsafe.Pointer 150712 X14 uint64 150713 X15 struct { 150714 X [0]struct { 150715 X0 *int8 150716 X1 unsafe.Pointer 150717 } 150718 U [4]byte 150719 } 150720 X16 unsafe.Pointer 150721 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))) 150722 if _pTab != nil { 150723 goto _7 150724 } 150725 150726 goto _exit_rename_table 150727 150728 _7: 150729 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 150730 _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 150731 { 150732 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 150733 *p = (*p) | i32(2097152) 150734 sink961 = *p 150735 } 150736 _zName = _sqlite3NameFromToken(tls, _db, _pName) 150737 if _zName != nil { 150738 goto _8 150739 } 150740 150741 goto _exit_rename_table 150742 150743 _8: 150744 if _sqlite3FindTable(tls, _db, _zName, _zDb) == nil && _sqlite3FindIndex(tls, _db, _zName, _zDb) == nil { 150745 goto _10 150746 } 150747 150748 _sqlite3ErrorMsg(tls, _pParse, str(132600), unsafe.Pointer(_zName)) 150749 goto _exit_rename_table 150750 150751 _10: 150752 if i32(0) == _isSystemTable(tls, _pParse, _pTab.X0) { 150753 goto _11 150754 } 150755 150756 goto _exit_rename_table 150757 150758 _11: 150759 if i32(0) == _sqlite3CheckObjectName(tls, _pParse, _zName) { 150760 goto _12 150761 } 150762 150763 goto _exit_rename_table 150764 150765 _12: 150766 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 150767 goto _13 150768 } 150769 150770 _sqlite3ErrorMsg(tls, _pParse, str(132660), unsafe.Pointer(_pTab.X0)) 150771 goto _exit_rename_table 150772 150773 _13: 150774 if _sqlite3AuthCheck(tls, _pParse, i32(26), _zDb, _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 150775 goto _14 150776 } 150777 150778 goto _exit_rename_table 150779 150780 _14: 150781 if _sqlite3ViewGetColumnNames(tls, _pParse, _pTab) == 0 { 150782 goto _15 150783 } 150784 150785 goto _exit_rename_table 150786 150787 _15: 150788 if (_pTab.X16) == 0 { 150789 goto _16 150790 } 150791 150792 _pVTab = _sqlite3GetVTable(tls, _db, _pTab) 150793 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 150794 f func(*crt.TLS, *Xsqlite3_vtab, *int8) int32 150795 }{(*(*func(*crt.TLS, *Xsqlite3_vtab, *int8) int32)(unsafe.Pointer(&struct { 150796 f func(*crt.TLS, unsafe.Pointer, *int8) int32 150797 }{((*Xsqlite3_module)(unsafe.Pointer((*Xsqlite3_vtab)(unsafe.Pointer(_pVTab.X2)).X0)).X19)})))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 150798 f func(*crt.TLS, *Xsqlite3_vtab, *int8) int32 150799 }{nil})) { 150800 goto _17 150801 } 150802 150803 _pVTab = (*XVTable)(unsafe.Pointer(uintptr(i32(0)))) 150804 _17: 150805 _16: 150806 _v = _sqlite3GetVdbe(tls, _pParse) 150807 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 150808 goto _18 150809 } 150810 150811 goto _exit_rename_table 150812 150813 _18: 150814 _sqlite3BeginWriteOperation(tls, _pParse, bool2int(_pVTab != (*XVTable)(unsafe.Pointer(uintptr(i32(0))))), _iDb) 150815 _sqlite3ChangeCookie(tls, _pParse, _iDb) 150816 if _pVTab == nil { 150817 goto _19 150818 } 150819 150820 _10_i = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 150821 _sqlite3VdbeLoadString(tls, _v, _10_i, _zName) 150822 _sqlite3VdbeAddOp4(tls, _v, i32(158), _10_i, i32(0), i32(0), (*int8)(unsafe.Pointer(_pVTab)), i32(-8)) 150823 _sqlite3MayAbort(tls, _pParse) 150824 _19: 150825 _zTabName = _pTab.X0 150826 _nTabName = _sqlite3Utf8CharLen(tls, _zTabName, i32(-1)) 150827 if ((_db.X6) & i32(524288)) == 0 { 150828 goto _20 150829 } 150830 150831 if store1025(&_zWhere, _whereForeignKeys(tls, _pParse, _pTab)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 150832 goto _21 150833 } 150834 150835 _sqlite3NestedParse(tls, _pParse, str(132688), unsafe.Pointer(_zDb), unsafe.Pointer(str(52816)), unsafe.Pointer(_zTabName), unsafe.Pointer(_zName), unsafe.Pointer(_zWhere)) 150836 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zWhere)) 150837 _21: 150838 _20: 150839 _sqlite3NestedParse(tls, _pParse, str(132760), unsafe.Pointer(_zDb), unsafe.Pointer(str(52816)), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zName), _nTabName, unsafe.Pointer(_zTabName)) 150840 if _sqlite3FindTable(tls, _db, str(117732), _zDb) == nil { 150841 goto _22 150842 } 150843 150844 _sqlite3NestedParse(tls, _pParse, str(133144), unsafe.Pointer(_zDb), unsafe.Pointer(_zName), unsafe.Pointer(_pTab.X0)) 150845 _22: 150846 if store1025(&_zWhere, _whereTempTriggers(tls, _pParse, _pTab)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 150847 goto _23 150848 } 150849 150850 _sqlite3NestedParse(tls, _pParse, str(133204), unsafe.Pointer(_zName), unsafe.Pointer(_zName), unsafe.Pointer(_zWhere)) 150851 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zWhere)) 150852 _23: 150853 if ((_db.X6) & i32(524288)) == 0 { 150854 goto _24 150855 } 150856 150857 _15_p = _sqlite3FkReferences(tls, _pTab) 150858 _25: 150859 if _15_p == nil { 150860 goto _28 150861 } 150862 150863 _16_pFrom = (*XTable)(unsafe.Pointer(_15_p.X0)) 150864 if _16_pFrom == _pTab { 150865 goto _29 150866 } 150867 150868 _reloadTableSchema(tls, _pParse, (*XTable)(unsafe.Pointer(_15_p.X0)), _16_pFrom.X0) 150869 _29: 150870 _15_p = (*XFKey)(unsafe.Pointer(_15_p.X3)) 150871 goto _25 150872 150873 _28: 150874 _24: 150875 _reloadTableSchema(tls, _pParse, _pTab, _zName) 150876 _exit_rename_table: 150877 _sqlite3SrcListDelete(tls, _db, _pSrc) 150878 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) 150879 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) = _savedDbFlags 150880 return 150881 150882 } 150883 150884 var _sqlite3AlterRenameTableØ00__func__Ø000 [24]int8 // - 150885 150886 func init() { 150887 crt.Xstrncpy(nil, &_sqlite3AlterRenameTableØ00__func__Ø000[0], str(133296), 24) 150888 } 150889 150890 func _isSystemTable(tls *crt.TLS, _pParse *XParse, _zName *int8) (r0 int32) { // sqlite3.c:96253:1 150891 if _sqlite3Strlen30(tls, _zName) <= i32(6) || i32(0) != Xsqlite3_strnicmp(tls, _zName, str(117888), i32(7)) { 150892 goto _1 150893 } 150894 150895 _sqlite3ErrorMsg(tls, _pParse, str(133320), unsafe.Pointer(_zName)) 150896 r0 = i32(1) 150897 return 150898 150899 _1: 150900 r0 = i32(0) 150901 return 150902 150903 } 150904 150905 func _whereForeignKeys(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 *int8) { // sqlite3.c:96154:1 150906 var _p *XFKey // sqlite3.c:96155:8 150907 _ = _p 150908 var _zWhere *int8 // sqlite3.c:96156:8 150909 _ = _zWhere 150910 _zWhere = nil 150911 _p = _sqlite3FkReferences(tls, _pTab) 150912 _0: 150913 if _p == nil { 150914 goto _3 150915 } 150916 150917 _zWhere = _whereOrName(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _zWhere, (*XTable)(unsafe.Pointer(_p.X0)).X0) 150918 _p = (*XFKey)(unsafe.Pointer(_p.X3)) 150919 goto _0 150920 150921 _3: 150922 r0 = _zWhere 150923 return 150924 150925 } 150926 150927 func _whereOrName(tls *crt.TLS, _db *Xsqlite3, _zWhere *int8, _zConstant *int8) (r0 *int8) { // sqlite3.c:96136:1 150928 var _zNew *int8 // sqlite3.c:96137:8 150929 _ = _zNew 150930 if _zWhere != nil { 150931 goto _0 150932 } 150933 150934 _zNew = _sqlite3MPrintf(tls, _db, str(133348), unsafe.Pointer(_zConstant)) 150935 goto _1 150936 150937 _0: 150938 _zNew = _sqlite3MPrintf(tls, _db, str(133356), unsafe.Pointer(_zWhere), unsafe.Pointer(_zConstant)) 150939 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zWhere)) 150940 _1: 150941 r0 = _zNew 150942 return 150943 150944 } 150945 150946 func _whereTempTriggers(tls *crt.TLS, _pParse *XParse, _pTab *XTable) (r0 *int8) { // sqlite3.c:96170:1 150947 var _pTrig *XTrigger // sqlite3.c:96171:11 150948 _ = _pTrig 150949 var _zWhere *int8 // sqlite3.c:96172:8 150950 _ = _zWhere 150951 var _pTempSchema *XSchema // sqlite3.c:96173:16 150952 _ = _pTempSchema 150953 var _1_db *Xsqlite3 // sqlite3.c:96181:13 150954 _ = _1_db 150955 var _4_zNew *int8 // sqlite3.c:96189:10 150956 _ = _4_zNew 150957 _zWhere = nil 150958 _pTempSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4) + 16*uintptr(i32(1)))).X4)) 150959 if (*XSchema)(unsafe.Pointer(_pTab.X20)) == _pTempSchema { 150960 goto _0 150961 } 150962 150963 _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 150964 _pTrig = _sqlite3TriggerList(tls, _pParse, _pTab) 150965 _1: 150966 if _pTrig == nil { 150967 goto _4 150968 } 150969 150970 if (*XSchema)(unsafe.Pointer(_pTrig.X6)) != _pTempSchema { 150971 goto _5 150972 } 150973 150974 _zWhere = _whereOrName(tls, _1_db, _zWhere, _pTrig.X0) 150975 _5: 150976 _pTrig = (*XTrigger)(unsafe.Pointer(_pTrig.X9)) 150977 goto _1 150978 150979 _4: 150980 _0: 150981 if _zWhere == nil { 150982 goto _6 150983 } 150984 150985 _4_zNew = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(133372), unsafe.Pointer(_zWhere)) 150986 _sqlite3DbFree(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (unsafe.Pointer)(_zWhere)) 150987 _zWhere = _4_zNew 150988 _6: 150989 r0 = _zWhere 150990 return 150991 150992 } 150993 150994 func _reloadTableSchema(tls *crt.TLS, _pParse *XParse, _pTab *XTable, _zName *int8) { // sqlite3.c:96204:1 150995 var _v *XVdbe // sqlite3.c:96205:8 150996 _ = _v 150997 var _zWhere *int8 // sqlite3.c:96206:8 150998 _ = _zWhere 150999 var _iDb int32 // sqlite3.c:96207:7 151000 _ = _iDb 151001 var _pTrig *XTrigger // sqlite3.c:96209:11 151002 _ = _pTrig 151003 var _1_iTrigDb int32 // sqlite3.c:96221:9 151004 _ = _1_iTrigDb 151005 _v = _sqlite3GetVdbe(tls, _pParse) 151006 if func() int32 { 151007 if _v == (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 151008 return func() int32 { 151009 func() int32 { 151010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96213), unsafe.Pointer((*int8)(unsafe.Pointer(&_reloadTableSchemaØ00__func__Ø000))), unsafe.Pointer(str(5204))) 151011 crt.X__builtin_abort(tls) 151012 return i32(0) 151013 }() 151014 return i32(1) 151015 }() 151016 } 151017 return i32(0) 151018 }() == 0 { 151019 goto _2 151020 } 151021 151022 return 151023 151024 _2: 151025 func() int32 { 151026 if _sqlite3BtreeHoldsAllMutexes(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0))) != 0 { 151027 return i32(0) 151028 } 151029 return func() int32 { 151030 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96214), unsafe.Pointer((*int8)(unsafe.Pointer(&_reloadTableSchemaØ00__func__Ø000))), unsafe.Pointer(str(131896))) 151031 crt.X__builtin_abort(tls) 151032 return i32(0) 151033 }() 151034 }() 151035 _iDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTab.X20))) 151036 func() int32 { 151037 if _iDb >= i32(0) { 151038 return i32(0) 151039 } 151040 return func() int32 { 151041 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96216), unsafe.Pointer((*int8)(unsafe.Pointer(&_reloadTableSchemaØ00__func__Ø000))), unsafe.Pointer(str(44324))) 151042 crt.X__builtin_abort(tls) 151043 return i32(0) 151044 }() 151045 }() 151046 _pTrig = _sqlite3TriggerList(tls, _pParse, _pTab) 151047 _7: 151048 if _pTrig == nil { 151049 goto _10 151050 } 151051 151052 _1_iTrigDb = _sqlite3SchemaToIndex(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), (*XSchema)(unsafe.Pointer(_pTrig.X6))) 151053 func() int32 { 151054 if (_1_iTrigDb == _iDb) || (_1_iTrigDb == i32(1)) { 151055 return i32(0) 151056 } 151057 return func() int32 { 151058 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96222), unsafe.Pointer((*int8)(unsafe.Pointer(&_reloadTableSchemaØ00__func__Ø000))), unsafe.Pointer(str(133396))) 151059 crt.X__builtin_abort(tls) 151060 return i32(0) 151061 }() 151062 }() 151063 _sqlite3VdbeAddOp4(tls, _v, i32(141), _1_iTrigDb, i32(0), i32(0), _pTrig.X0, i32(0)) 151064 _pTrig = (*XTrigger)(unsafe.Pointer(_pTrig.X9)) 151065 goto _7 151066 151067 _10: 151068 _sqlite3VdbeAddOp4(tls, _v, i32(139), _iDb, i32(0), i32(0), _pTab.X0, i32(0)) 151069 _zWhere = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), str(133424), unsafe.Pointer(_zName)) 151070 if _zWhere != nil { 151071 goto _14 151072 } 151073 151074 return 151075 151076 _14: 151077 _sqlite3VdbeAddParseSchemaOp(tls, _v, _iDb, _zWhere) 151078 if store1025(&_zWhere, _whereTempTriggers(tls, _pParse, _pTab)) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 151079 goto _15 151080 } 151081 151082 _sqlite3VdbeAddParseSchemaOp(tls, _v, i32(1), _zWhere) 151083 _15: 151084 return 151085 151086 } 151087 151088 var _reloadTableSchemaØ00__func__Ø000 [18]int8 // - 151089 151090 func init() { 151091 crt.Xstrncpy(nil, &_reloadTableSchemaØ00__func__Ø000[0], str(133436), 18) 151092 } 151093 151094 func _sqlite3AlterFinishAddColumn(tls *crt.TLS, _pParse *XParse, _pColDef *XToken) { // sqlite3.c:96469:1 151095 var _pNew *XTable // sqlite3.c:96470:9 151096 _ = _pNew 151097 var _pTab *XTable // sqlite3.c:96471:9 151098 _ = _pTab 151099 var _iDb int32 // sqlite3.c:96472:7 151100 _ = _iDb 151101 var _zDb *int8 // sqlite3.c:96473:14 151102 _ = _zDb 151103 var _zTab *int8 // sqlite3.c:96474:14 151104 _ = _zTab 151105 var _zCol *int8 // sqlite3.c:96475:8 151106 _ = _zCol 151107 var _pCol *XColumn // sqlite3.c:96476:10 151108 _ = _pCol 151109 var _pDflt *XExpr // sqlite3.c:96477:8 151110 _ = _pDflt 151111 var _db *Xsqlite3 // sqlite3.c:96478:11 151112 _ = _db 151113 var _v *XVdbe // sqlite3.c:96479:8 151114 _ = _v 151115 var _r1 int32 // sqlite3.c:96480:7 151116 _ = _r1 151117 var _7_pVal *XMem // sqlite3.c:96540:19 151118 _ = _7_pVal 151119 var _7_rc int32 // sqlite3.c:96541:9 151120 _ = _7_rc 151121 var _10_zEnd *int8 // sqlite3.c:96558:10 151122 _ = _10_zEnd 151123 var _10_savedDbFlags int32 // sqlite3.c:96559:9 151124 _ = _10_savedDbFlags 151125 _v = (*XVdbe)(unsafe.Pointer(_pParse.X2)) 151126 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 151127 if (_pParse.X16) == 0 && (_db.X17) == 0 { 151128 goto _1 151129 } 151130 151131 return 151132 151133 _1: 151134 func() int32 { 151135 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 151136 return i32(0) 151137 } 151138 return func() int32 { 151139 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96484), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(44352))) 151140 crt.X__builtin_abort(tls) 151141 return i32(0) 151142 }() 151143 }() 151144 _pNew = (*XTable)(unsafe.Pointer(_pParse.X63)) 151145 func() int32 { 151146 if _pNew != nil { 151147 return i32(0) 151148 } 151149 return func() int32 { 151150 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96486), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(133456))) 151151 crt.X__builtin_abort(tls) 151152 return i32(0) 151153 }() 151154 }() 151155 func() int32 { 151156 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 151157 return i32(0) 151158 } 151159 return func() int32 { 151160 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96488), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(9480))) 151161 crt.X__builtin_abort(tls) 151162 return i32(0) 151163 }() 151164 }() 151165 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pNew.X20))) 151166 _zDb = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X0 151167 _zTab = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew.X0)) + 1*uintptr(i32(16)))) 151168 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pNew.X1) + 16*uintptr(int32(_pNew.X11)-i32(1)))) 151169 _pDflt = (*XExpr)(unsafe.Pointer(_pCol.X1)) 151170 _pTab = _sqlite3FindTable(tls, _db, _zTab, _zDb) 151171 func() int32 { 151172 if _pTab != nil { 151173 return i32(0) 151174 } 151175 return func() int32 { 151176 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96495), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(99588))) 151177 crt.X__builtin_abort(tls) 151178 return i32(0) 151179 }() 151180 }() 151181 if _sqlite3AuthCheck(tls, _pParse, i32(26), _zDb, _pTab.X0, (*int8)(unsafe.Pointer(uintptr(i32(0))))) == 0 { 151182 goto _10 151183 } 151184 151185 return 151186 151187 _10: 151188 func() int32 { 151189 if (_pDflt == (*XExpr)(unsafe.Pointer(uintptr(i32(0))))) || (int32(_pDflt.X0) == i32(161)) { 151190 return i32(0) 151191 } 151192 return func() int32 { 151193 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96508), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(133464))) 151194 crt.X__builtin_abort(tls) 151195 return i32(0) 151196 }() 151197 }() 151198 if _pDflt == nil || int32((*XExpr)(unsafe.Pointer(_pDflt.X4)).X0) != i32(101) { 151199 goto _15 151200 } 151201 151202 _pDflt = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 151203 _15: 151204 if (int32(_pCol.X6) & i32(1)) == 0 { 151205 goto _16 151206 } 151207 151208 _sqlite3ErrorMsg(tls, _pParse, str(133496)) 151209 return 151210 151211 _16: 151212 if (*XIndex)(unsafe.Pointer(_pNew.X2)) == nil { 151213 goto _17 151214 } 151215 151216 _sqlite3ErrorMsg(tls, _pParse, str(133528)) 151217 return 151218 151219 _17: 151220 if ((_db.X6)&i32(524288)) == 0 || (*XFKey)(unsafe.Pointer(_pNew.X4)) == nil || _pDflt == nil { 151221 goto _20 151222 } 151223 151224 _sqlite3ErrorMsg(tls, _pParse, str(133556)) 151225 return 151226 151227 _20: 151228 if (_pCol.X3) == 0 || _pDflt != nil { 151229 goto _22 151230 } 151231 151232 _sqlite3ErrorMsg(tls, _pParse, str(133616)) 151233 return 151234 151235 _22: 151236 if _pDflt == nil { 151237 goto _23 151238 } 151239 151240 _7_pVal = nil 151241 _7_rc = _sqlite3ValueFromExpr(tls, _db, _pDflt, uint8(i32(1)), uint8(i32(65)), &_7_pVal) 151242 func() int32 { 151243 if (_7_rc == i32(0)) || (_7_rc == i32(7)) { 151244 return i32(0) 151245 } 151246 return func() int32 { 151247 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96543), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(5396))) 151248 crt.X__builtin_abort(tls) 151249 return i32(0) 151250 }() 151251 }() 151252 if _7_rc == i32(0) { 151253 goto _27 151254 } 151255 151256 func() int32 { 151257 if int32(_db.X17) == i32(1) { 151258 return i32(0) 151259 } 151260 return func() int32 { 151261 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96545), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterFinishAddColumnØ00__func__Ø000))), unsafe.Pointer(str(133672))) 151262 crt.X__builtin_abort(tls) 151263 return i32(0) 151264 }() 151265 }() 151266 return 151267 151268 _27: 151269 if _7_pVal != nil { 151270 goto _30 151271 } 151272 151273 _sqlite3ErrorMsg(tls, _pParse, str(133696)) 151274 return 151275 151276 _30: 151277 _sqlite3ValueFree(tls, _7_pVal) 151278 _23: 151279 _zCol = _sqlite3DbStrNDup(tls, _db, _pColDef.X0, uint64(_pColDef.X1)) 151280 if _zCol == nil { 151281 goto _31 151282 } 151283 151284 _10_zEnd = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zCol)) + 1*uintptr((_pColDef.X1)-uint32(i32(1))))) 151285 _10_savedDbFlags = _db.X6 151286 _32: 151287 if uintptr(unsafe.Pointer(_10_zEnd)) <= uintptr(unsafe.Pointer(_zCol)) || int32(*_10_zEnd) != i32(59) && (int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*_10_zEnd)))))&i32(1)) == 0 { 151288 goto _33 151289 } 151290 151291 *postInc1025(&_10_zEnd, -1) = int8(i32(0)) 151292 goto _32 151293 151294 _33: 151295 { 151296 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 151297 *p = (*p) | i32(2097152) 151298 sink961 = *p 151299 } 151300 _sqlite3NestedParse(tls, _pParse, str(133744), unsafe.Pointer(_zDb), unsafe.Pointer(str(52816)), _pNew.X15, unsafe.Pointer(_zCol), (_pNew.X15)+i32(1), unsafe.Pointer(_zTab)) 151301 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zCol)) 151302 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) = _10_savedDbFlags 151303 _31: 151304 _r1 = _sqlite3GetTempReg(tls, _pParse) 151305 _sqlite3VdbeAddOp3(tls, _v, i32(102), _iDb, _r1, i32(2)) 151306 _sqlite3VdbeUsesBtree(tls, _v, _iDb) 151307 _sqlite3VdbeAddOp2(tls, _v, i32(92), _r1, i32(-2)) 151308 _sqlite3VdbeAddOp2(tls, _v, i32(67), _r1, _sqlite3VdbeCurrentAddr(tls, _v)+i32(2)) 151309 _sqlite3VdbeAddOp3(tls, _v, i32(103), _iDb, i32(2), i32(3)) 151310 _sqlite3ReleaseTempReg(tls, _pParse, _r1) 151311 _reloadTableSchema(tls, _pParse, _pTab, _pTab.X0) 151312 return 151313 151314 } 151315 151316 var _sqlite3AlterFinishAddColumnØ00__func__Ø000 [28]int8 // - 151317 151318 func init() { 151319 crt.Xstrncpy(nil, &_sqlite3AlterFinishAddColumnØ00__func__Ø000[0], str(133856), 28) 151320 } 151321 151322 func _sqlite3AlterBeginAddColumn(tls *crt.TLS, _pParse *XParse, _pSrc *XSrcList) { // sqlite3.c:96607:1 151323 var _pNew *XTable // sqlite3.c:96608:9 151324 _ = _pNew 151325 var _pTab *XTable // sqlite3.c:96609:9 151326 _ = _pTab 151327 var _v *XVdbe // sqlite3.c:96610:8 151328 _ = _v 151329 var _iDb int32 // sqlite3.c:96611:7 151330 _ = _iDb 151331 var _i int32 // sqlite3.c:96612:7 151332 _ = _i 151333 var _nAlloc int32 // sqlite3.c:96613:7 151334 _ = _nAlloc 151335 var _db *Xsqlite3 // sqlite3.c:96614:11 151336 _ = _db 151337 var _5_pCol *XColumn // sqlite3.c:96665:12 151338 _ = _5_pCol 151339 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 151340 func() int32 { 151341 if (*XTable)(unsafe.Pointer(_pParse.X63)) == (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 151342 return i32(0) 151343 } 151344 return func() int32 { 151345 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96617), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterBeginAddColumnØ00__func__Ø000))), unsafe.Pointer(str(25676))) 151346 crt.X__builtin_abort(tls) 151347 return i32(0) 151348 }() 151349 }() 151350 func() int32 { 151351 if _sqlite3BtreeHoldsAllMutexes(tls, _db) != 0 { 151352 return i32(0) 151353 } 151354 return func() int32 { 151355 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96618), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterBeginAddColumnØ00__func__Ø000))), unsafe.Pointer(str(9480))) 151356 crt.X__builtin_abort(tls) 151357 return i32(0) 151358 }() 151359 }() 151360 if (_db.X17) == 0 { 151361 goto _4 151362 } 151363 151364 goto _exit_begin_add_column 151365 151366 _4: 151367 _pTab = _sqlite3LocateTableItem(tls, _pParse, uint32(i32(0)), (*T7840217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 151368 X0 unsafe.Pointer 151369 X1 *int8 151370 X2 *int8 151371 X3 *int8 151372 X4 unsafe.Pointer 151373 X5 unsafe.Pointer 151374 X6 int32 151375 X7 int32 151376 X8 int32 151377 X9 struct { 151378 X0 uint8 151379 X1 int8 151380 } 151381 X10 uint8 151382 X11 int32 151383 X12 unsafe.Pointer 151384 X13 unsafe.Pointer 151385 X14 uint64 151386 X15 struct { 151387 X [0]struct { 151388 X0 *int8 151389 X1 unsafe.Pointer 151390 } 151391 U [4]byte 151392 } 151393 X16 unsafe.Pointer 151394 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pSrc))+uintptr(8 /* X2 */)))))+68*uintptr(i32(0))))) 151395 if _pTab != nil { 151396 goto _5 151397 } 151398 151399 goto _exit_begin_add_column 151400 151401 _5: 151402 if (_pTab.X16) == 0 { 151403 goto _6 151404 } 151405 151406 _sqlite3ErrorMsg(tls, _pParse, str(133884)) 151407 goto _exit_begin_add_column 151408 151409 _6: 151410 if (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 151411 goto _7 151412 } 151413 151414 _sqlite3ErrorMsg(tls, _pParse, str(133920)) 151415 goto _exit_begin_add_column 151416 151417 _7: 151418 if i32(0) == _isSystemTable(tls, _pParse, _pTab.X0) { 151419 goto _8 151420 } 151421 151422 goto _exit_begin_add_column 151423 151424 _8: 151425 func() int32 { 151426 if (_pTab.X15) > i32(0) { 151427 return i32(0) 151428 } 151429 return func() int32 { 151430 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96639), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterBeginAddColumnØ00__func__Ø000))), unsafe.Pointer(str(133952))) 151431 crt.X__builtin_abort(tls) 151432 return i32(0) 151433 }() 151434 }() 151435 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 151436 _pNew = (*XTable)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(80))))) 151437 if _pNew != nil { 151438 goto _11 151439 } 151440 151441 goto _exit_begin_add_column 151442 151443 _11: 151444 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(444 /* X63 */))))) = _pNew 151445 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 151446 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(42 /* X11 */))) = _pTab.X11 151447 func() int32 { 151448 if int32(_pNew.X11) > i32(0) { 151449 return i32(0) 151450 } 151451 return func() int32 { 151452 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96654), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterBeginAddColumnØ00__func__Ø000))), unsafe.Pointer(str(133976))) 151453 crt.X__builtin_abort(tls) 151454 return i32(0) 151455 }() 151456 }() 151457 _nAlloc = (((int32(_pNew.X11) - i32(1)) / i32(8)) * i32(8)) + i32(8) 151458 func() int32 { 151459 if ((_nAlloc >= int32(_pNew.X11)) && ((_nAlloc % i32(8)) == i32(0))) && ((_nAlloc - int32(_pNew.X11)) < i32(8)) { 151460 return i32(0) 151461 } 151462 return func() int32 { 151463 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96656), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterBeginAddColumnØ00__func__Ø000))), unsafe.Pointer(str(133992))) 151464 crt.X__builtin_abort(tls) 151465 return i32(0) 151466 }() 151467 }() 151468 *(**XColumn)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))))) = (*XColumn)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(16)*uint32(_nAlloc))))) 151469 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) = _sqlite3MPrintf(tls, _db, str(134052), unsafe.Pointer(_pTab.X0)) 151470 if (*XColumn)(unsafe.Pointer(_pNew.X1)) != nil && (_pNew.X0) != nil { 151471 goto _19 151472 } 151473 151474 func() int32 { 151475 if (_db.X17) != 0 { 151476 return i32(0) 151477 } 151478 return func() int32 { 151479 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(96660), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AlterBeginAddColumnØ00__func__Ø000))), unsafe.Pointer(str(50476))) 151480 crt.X__builtin_abort(tls) 151481 return i32(0) 151482 }() 151483 }() 151484 goto _exit_begin_add_column 151485 151486 _19: 151487 crt.Xmemcpy(tls, _pNew.X1, _pTab.X1, u32(16)*uint32(_pNew.X11)) 151488 _i = i32(0) 151489 _22: 151490 if _i >= int32(_pNew.X11) { 151491 goto _25 151492 } 151493 151494 _5_pCol = (*XColumn)(unsafe.Pointer(uintptr(_pNew.X1) + 16*uintptr(_i))) 151495 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pCol)) + uintptr(0 /* X0 */))) = _sqlite3DbStrDup(tls, _db, _5_pCol.X0) 151496 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pCol)) + uintptr(8 /* X2 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 151497 *(**XExpr)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pCol)) + uintptr(4 /* X1 */))))) = (*XExpr)(unsafe.Pointer(uintptr(i32(0)))) 151498 _i += 1 151499 goto _22 151500 151501 _25: 151502 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(72 /* X20 */))))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_iDb))).X4)) 151503 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(52 /* X15 */))) = _pTab.X15 151504 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X8 */))) = uint32(i32(1)) 151505 _sqlite3BeginWriteOperation(tls, _pParse, i32(0), _iDb) 151506 _v = _sqlite3GetVdbe(tls, _pParse) 151507 if _v != nil { 151508 goto _26 151509 } 151510 151511 goto _exit_begin_add_column 151512 151513 _26: 151514 _sqlite3ChangeCookie(tls, _pParse, _iDb) 151515 _exit_begin_add_column: 151516 _sqlite3SrcListDelete(tls, _db, _pSrc) 151517 return 151518 151519 } 151520 151521 var _sqlite3AlterBeginAddColumnØ00__func__Ø000 [27]int8 // - 151522 151523 func init() { 151524 crt.Xstrncpy(nil, &_sqlite3AlterBeginAddColumnØ00__func__Ø000[0], str(134072), 27) 151525 } 151526 151527 func _sqlite3VtabFinishParse(tls *crt.TLS, _pParse *XParse, _pEnd *XToken) { // sqlite3.c:124909:1 151528 var _pTab *XTable // sqlite3.c:124910:9 151529 _ = _pTab 151530 var _db *Xsqlite3 // sqlite3.c:124911:11 151531 _ = _db 151532 var _1_zStmt *int8 // sqlite3.c:124925:10 151533 _ = _1_zStmt 151534 var _1_zWhere *int8 // sqlite3.c:124926:10 151535 _ = _1_zWhere 151536 var _1_iDb int32 // sqlite3.c:124927:9 151537 _ = _1_iDb 151538 var _1_iReg int32 // sqlite3.c:124928:9 151539 _ = _1_iReg 151540 var _1_v *XVdbe // sqlite3.c:124929:10 151541 _ = _1_v 151542 var _3_pOld *XTable // sqlite3.c:124975:11 151543 _ = _3_pOld 151544 var _3_pSchema *XSchema // sqlite3.c:124976:12 151545 _ = _3_pSchema 151546 var _3_zName *int8 // sqlite3.c:124977:16 151547 _ = _3_zName 151548 _pTab = (*XTable)(unsafe.Pointer(_pParse.X63)) 151549 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 151550 if _pTab != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 151551 goto _0 151552 } 151553 151554 return 151555 151556 _0: 151557 _addArgumentToVtab(tls, _pParse) 151558 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X66 */))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 151559 if (_pTab.X16) >= i32(1) { 151560 goto _1 151561 } 151562 151563 return 151564 151565 _1: 151566 if ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(144 /* X33 */))).X2) != 0 { 151567 goto _2 151568 } 151569 151570 if _pEnd == nil { 151571 goto _3 151572 } 151573 151574 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))))) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer(_pEnd.X0))-uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))).X0)))/1)) + (_pEnd.X1) 151575 _3: 151576 _1_zStmt = _sqlite3MPrintf(tls, _db, str(134100), unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))))) 151577 _1_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 151578 _sqlite3NestedParse(tls, _pParse, str(134124), unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_1_iDb))).X0), unsafe.Pointer(str(52816)), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_pTab.X0), unsafe.Pointer(_1_zStmt), _pParse.X31) 151579 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_1_zStmt)) 151580 _1_v = _sqlite3GetVdbe(tls, _pParse) 151581 _sqlite3ChangeCookie(tls, _pParse, _1_iDb) 151582 _sqlite3VdbeAddOp0(tls, _1_v, i32(151)) 151583 _1_zWhere = _sqlite3MPrintf(tls, _db, str(134212), unsafe.Pointer(_pTab.X0)) 151584 _sqlite3VdbeAddParseSchemaOp(tls, _1_v, _1_iDb, _1_zWhere) 151585 _1_iReg = preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(44 /* X18 */))), 1) 151586 _sqlite3VdbeLoadString(tls, _1_v, _1_iReg, _pTab.X0) 151587 _sqlite3VdbeAddOp2(tls, _1_v, i32(154), _1_iDb, _1_iReg) 151588 goto _4 151589 151590 _2: 151591 _3_pSchema = (*XSchema)(unsafe.Pointer(_pTab.X20)) 151592 _3_zName = _pTab.X0 151593 func() int32 { 151594 if _sqlite3SchemaMutexHeld(tls, _db, i32(0), _3_pSchema) != 0 { 151595 return i32(0) 151596 } 151597 return func() int32 { 151598 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124978), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabFinishParseØ00__func__Ø000))), unsafe.Pointer(str(134240))) 151599 crt.X__builtin_abort(tls) 151600 return i32(0) 151601 }() 151602 }() 151603 _3_pOld = (*XTable)(unsafe.Pointer(_sqlite3HashInsert(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pSchema))+uintptr(8 /* X2 */))), _3_zName, (unsafe.Pointer)(_pTab)))) 151604 if _3_pOld == nil { 151605 goto _7 151606 } 151607 151608 _sqlite3OomFault(tls, _db) 151609 func() int32 { 151610 if _pTab == _3_pOld { 151611 return i32(0) 151612 } 151613 return func() int32 { 151614 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124982), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabFinishParseØ00__func__Ø000))), unsafe.Pointer(str(134280))) 151615 crt.X__builtin_abort(tls) 151616 return i32(0) 151617 }() 151618 }() 151619 return 151620 151621 _7: 151622 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(444 /* X63 */))))) = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 151623 _4: 151624 return 151625 151626 } 151627 151628 func _addArgumentToVtab(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:124896:1 151629 var _1_z *int8 // sqlite3.c:124898:16 151630 _ = _1_z 151631 var _1_n int32 // sqlite3.c:124899:9 151632 _ = _1_n 151633 var _1_db *Xsqlite3 // sqlite3.c:124900:13 151634 _ = _1_db 151635 if ((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X66 */))).X0) == nil || (*XTable)(unsafe.Pointer(_pParse.X63)) == nil { 151636 goto _1 151637 } 151638 151639 _1_z = (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(456 /* X66 */))).X0 151640 _1_n = int32((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(456 /* X66 */))).X1) 151641 _1_db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 151642 _addModuleArgument(tls, _1_db, (*XTable)(unsafe.Pointer(_pParse.X63)), _sqlite3DbStrNDup(tls, _1_db, _1_z, uint64(_1_n))) 151643 _1: 151644 return 151645 151646 } 151647 151648 var _sqlite3VtabFinishParseØ00__func__Ø000 [23]int8 // - 151649 151650 func init() { 151651 crt.Xstrncpy(nil, &_sqlite3VtabFinishParseØ00__func__Ø000[0], str(134292), 23) 151652 } 151653 151654 func _sqlite3VtabBeginParse(tls *crt.TLS, _pParse *XParse, _pName1 *XToken, _pName2 *XToken, _pModuleName *XToken, _ifNotExists int32) { // sqlite3.c:124847:1 151655 var _iDb int32 // sqlite3.c:124854:7 151656 _ = _iDb 151657 var _pTable *XTable // sqlite3.c:124855:9 151658 _ = _pTable 151659 var _db *Xsqlite3 // sqlite3.c:124856:11 151660 _ = _db 151661 _sqlite3StartTable(tls, _pParse, _pName1, _pName2, i32(0), i32(0), i32(1), _ifNotExists) 151662 _pTable = (*XTable)(unsafe.Pointer(_pParse.X63)) 151663 if _pTable != (*XTable)(unsafe.Pointer(uintptr(i32(0)))) { 151664 goto _0 151665 } 151666 151667 return 151668 151669 _0: 151670 func() int32 { 151671 if (*XIndex)(unsafe.Pointer(uintptr(i32(0)))) == (*XIndex)(unsafe.Pointer(_pTable.X2)) { 151672 return i32(0) 151673 } 151674 return func() int32 { 151675 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124861), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabBeginParseØ00__func__Ø000))), unsafe.Pointer(str(134316))) 151676 crt.X__builtin_abort(tls) 151677 return i32(0) 151678 }() 151679 }() 151680 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 151681 _iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTable.X20))) 151682 func() int32 { 151683 if _iDb >= i32(0) { 151684 return i32(0) 151685 } 151686 return func() int32 { 151687 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124865), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabBeginParseØ00__func__Ø000))), unsafe.Pointer(str(44324))) 151688 crt.X__builtin_abort(tls) 151689 return i32(0) 151690 }() 151691 }() 151692 func() int32 { 151693 if (_pTable.X16) == i32(0) { 151694 return i32(0) 151695 } 151696 return func() int32 { 151697 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124867), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabBeginParseØ00__func__Ø000))), unsafe.Pointer(str(134336))) 151698 crt.X__builtin_abort(tls) 151699 return i32(0) 151700 }() 151701 }() 151702 _addModuleArgument(tls, _db, _pTable, _sqlite3NameFromToken(tls, _db, _pModuleName)) 151703 _addModuleArgument(tls, _db, _pTable, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 151704 _addModuleArgument(tls, _db, _pTable, _sqlite3DbStrDup(tls, _db, _pTable.X0)) 151705 func() int32 { 151706 if ((((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(392 /* X50 */))).X0) == (_pName2.X0)) && ((_pName2.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))))) || ((((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(392 /* X50 */))).X0) == (_pName1.X0)) && ((_pName2.X0) == (*int8)(unsafe.Pointer(uintptr(i32(0)))))) { 151707 return i32(0) 151708 } 151709 return func() int32 { 151710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(124871), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabBeginParseØ00__func__Ø000))), unsafe.Pointer(str(134360))) 151711 crt.X__builtin_abort(tls) 151712 return i32(0) 151713 }() 151714 }() 151715 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))))) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pModuleName.X0))+1*uintptr(_pModuleName.X1))))) - uintptr(unsafe.Pointer((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(392 /* X50 */))).X0))) / 1)) 151716 if (_pTable.X17) == nil { 151717 goto _12 151718 } 151719 151720 _sqlite3AuthCheck(tls, _pParse, i32(29), _pTable.X0, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTable.X17)) + 4*uintptr(i32(0)))), (*XDb)(unsafe.Pointer(uintptr((*Xsqlite3)(unsafe.Pointer(_pParse.X0)).X4)+16*uintptr(_iDb))).X0) 151721 _12: 151722 return 151723 151724 } 151725 151726 var _sqlite3VtabBeginParseØ00__func__Ø000 [22]int8 // - 151727 151728 func init() { 151729 crt.Xstrncpy(nil, &_sqlite3VtabBeginParseØ00__func__Ø000[0], str(134464), 22) 151730 } 151731 151732 func _sqlite3VtabArgInit(tls *crt.TLS, _pParse *XParse) { // sqlite3.c:124993:1 151733 _addArgumentToVtab(tls, _pParse) 151734 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X66 */))))) + uintptr(0 /* X0 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 151735 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse))+uintptr(456 /* X66 */))))) + uintptr(4 /* X1 */))) = uint32(i32(0)) 151736 return 151737 151738 } 151739 151740 func _sqlite3VtabArgExtend(tls *crt.TLS, _pParse *XParse, _p *XToken) { // sqlite3.c:125003:1 151741 var _pArg *XToken // sqlite3.c:125004:9 151742 _ = _pArg 151743 _pArg = (*XToken)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(456 /* X66 */))) 151744 if (_pArg.X0) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 151745 goto _0 151746 } 151747 151748 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(0 /* X0 */))) = _p.X0 151749 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(4 /* X1 */))) = _p.X1 151750 goto _1 151751 151752 _0: 151753 func() int32 { 151754 if uintptr(unsafe.Pointer(_pArg.X0)) <= uintptr(unsafe.Pointer(_p.X0)) { 151755 return i32(0) 151756 } 151757 return func() int32 { 151758 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125009), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3VtabArgExtendØ00__func__Ø000))), unsafe.Pointer(str(134488))) 151759 crt.X__builtin_abort(tls) 151760 return i32(0) 151761 }() 151762 }() 151763 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pArg)) + uintptr(4 /* X1 */))) = uint32(int32((uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0))+1*uintptr(_p.X1))))) - uintptr(unsafe.Pointer(_pArg.X0))) / 1)) 151764 _1: 151765 return 151766 151767 } 151768 151769 var _sqlite3VtabArgExtendØ00__func__Ø000 [21]int8 // - 151770 151771 func init() { 151772 crt.Xstrncpy(nil, &_sqlite3VtabArgExtendØ00__func__Ø000[0], str(134504), 21) 151773 } 151774 151775 func _sqlite3WithAdd(tls *crt.TLS, _pParse *XParse, _pWith *XWith, _pName *XToken, _pArglist *XExprList, _pQuery *XSelect) (r0 *XWith) { // sqlite3.c:103835:1 151776 var _db *Xsqlite3 // sqlite3.c:103842:11 151777 _ = _db 151778 var _pNew *XWith // sqlite3.c:103843:8 151779 _ = _pNew 151780 var _zName *int8 // sqlite3.c:103844:8 151781 _ = _zName 151782 var _1_i int32 // sqlite3.c:103850:9 151783 _ = _1_i 151784 var _4_nByte int32 // sqlite3.c:103859:9 151785 _ = _4_nByte 151786 _db = (*Xsqlite3)(unsafe.Pointer(_pParse.X0)) 151787 _zName = _sqlite3NameFromToken(tls, (*Xsqlite3)(unsafe.Pointer(_pParse.X0)), _pName) 151788 if _zName == nil || _pWith == nil { 151789 goto _1 151790 } 151791 151792 _1_i = i32(0) 151793 _2: 151794 if _1_i >= (_pWith.X0) { 151795 goto _5 151796 } 151797 151798 if _sqlite3StrICmp(tls, _zName, (*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 151799 X0 *int8 151800 X1 unsafe.Pointer 151801 X2 unsafe.Pointer 151802 X3 *int8 151803 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pWith))+uintptr(8 /* X2 */)))))+16*uintptr(_1_i))).X0) != i32(0) { 151804 goto _6 151805 } 151806 151807 _sqlite3ErrorMsg(tls, _pParse, str(134528), unsafe.Pointer(_zName)) 151808 _6: 151809 _1_i += 1 151810 goto _2 151811 151812 _5: 151813 _1: 151814 if _pWith == nil { 151815 goto _7 151816 } 151817 151818 _4_nByte = int32(u32(24) + (u32(16) * uint32(_pWith.X0))) 151819 _pNew = (*XWith)(unsafe.Pointer(_sqlite3DbRealloc(tls, _db, (unsafe.Pointer)(_pWith), uint64(_4_nByte)))) 151820 goto _8 151821 151822 _7: 151823 _pNew = (*XWith)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(24))))) 151824 _8: 151825 func() int32 { 151826 if ((_pNew != (*XWith)(unsafe.Pointer(uintptr(i32(0))))) && (_zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))))) || ((_db.X17) != 0) { 151827 return i32(0) 151828 } 151829 return func() int32 { 151830 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(103864), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3WithAddØ00__func__Ø000))), unsafe.Pointer(str(134560))) 151831 crt.X__builtin_abort(tls) 151832 return i32(0) 151833 }() 151834 }() 151835 if (_db.X17) == 0 { 151836 goto _13 151837 } 151838 151839 _sqlite3ExprListDelete(tls, _db, _pArglist) 151840 _sqlite3SelectDelete(tls, _db, _pQuery) 151841 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zName)) 151842 _pNew = _pWith 151843 goto _14 151844 151845 _13: 151846 *(**XSelect)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 151847 X0 *int8 151848 X1 unsafe.Pointer 151849 X2 unsafe.Pointer 151850 X3 *int8 151851 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X2 */)))))+16*uintptr(_pNew.X0))))) + uintptr(8 /* X2 */))))) = _pQuery 151852 *(**XExprList)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 151853 X0 *int8 151854 X1 unsafe.Pointer 151855 X2 unsafe.Pointer 151856 X3 *int8 151857 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X2 */)))))+16*uintptr(_pNew.X0))))) + uintptr(4 /* X1 */))))) = _pArglist 151858 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 151859 X0 *int8 151860 X1 unsafe.Pointer 151861 X2 unsafe.Pointer 151862 X3 *int8 151863 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X2 */)))))+16*uintptr(_pNew.X0))))) + uintptr(0 /* X0 */))) = _zName 151864 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7850050)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 151865 X0 *int8 151866 X1 unsafe.Pointer 151867 X2 unsafe.Pointer 151868 X3 *int8 151869 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew))+uintptr(8 /* X2 */)))))+16*uintptr(_pNew.X0))))) + uintptr(12 /* X3 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 151870 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(0 /* X0 */))) += 1 151871 _14: 151872 r0 = _pNew 151873 return 151874 151875 } 151876 151877 var _sqlite3WithAddØ00__func__Ø000 [15]int8 // - 151878 151879 func init() { 151880 crt.Xstrncpy(nil, &_sqlite3WithAddØ00__func__Ø000[0], str(134604), 15) 151881 } 151882 151883 func _yy_find_reduce_action(tls *crt.TLS, _stateno int32, _iLookAhead uint8) (r0 int32) { // sqlite3.c:136611:1 151884 var _i int32 // sqlite3.c:136615:7 151885 _ = _i 151886 func() int32 { 151887 if _stateno <= i32(324) { 151888 return i32(0) 151889 } 151890 return func() int32 { 151891 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136621), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_reduce_actionØ00__func__Ø000))), unsafe.Pointer(str(134620))) 151892 crt.X__builtin_abort(tls) 151893 return i32(0) 151894 }() 151895 }() 151896 _i = int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_reduce_ofst)) + 2*uintptr(_stateno)))) 151897 func() int32 { 151898 if _i != i32(-130) { 151899 return i32(0) 151900 } 151901 return func() int32 { 151902 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136624), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_reduce_actionØ00__func__Ø000))), unsafe.Pointer(str(134648))) 151903 crt.X__builtin_abort(tls) 151904 return i32(0) 151905 }() 151906 }() 151907 func() int32 { 151908 if int32(_iLookAhead) != i32(252) { 151909 return i32(0) 151910 } 151911 return func() int32 { 151912 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136625), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_reduce_actionØ00__func__Ø000))), unsafe.Pointer(str(28348))) 151913 crt.X__builtin_abort(tls) 151914 return i32(0) 151915 }() 151916 }() 151917 { 151918 p := &_i 151919 *p = (*p) + int32(_iLookAhead) 151920 sink961 = *p 151921 } 151922 func() int32 { 151923 if (_i >= i32(0)) && (_i < i32(1567)) { 151924 return i32(0) 151925 } 151926 return func() int32 { 151927 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136632), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_reduce_actionØ00__func__Ø000))), unsafe.Pointer(str(134672))) 151928 crt.X__builtin_abort(tls) 151929 return i32(0) 151930 }() 151931 }() 151932 func() int32 { 151933 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_lookahead)) + 1*uintptr(_i)))) == int32(_iLookAhead) { 151934 return i32(0) 151935 } 151936 return func() int32 { 151937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(136633), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_find_reduce_actionØ00__func__Ø000))), unsafe.Pointer(str(134700))) 151938 crt.X__builtin_abort(tls) 151939 return i32(0) 151940 }() 151941 }() 151942 r0 = int32(*(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_yy_action)) + 2*uintptr(_i)))) 151943 return 151944 151945 } 151946 151947 var _yy_find_reduce_actionØ00__func__Ø000 [22]int8 // - 151948 151949 func init() { 151950 crt.Xstrncpy(nil, &_yy_find_reduce_actionØ00__func__Ø000[0], str(134728), 22) 151951 } 151952 151953 var _yy_reduce_ofst [325]int16 // sqlite3.c:135602:20 151954 151955 func init() { 151956 _yy_reduce_ofst = [325]int16{i16(-29), i16(566), i16(525), i16(605), i16(-49), i16(307), i16(491), i16(533), i16(668), i16(435), i16(601), i16(644), i16(148), i16(747), i16(786), i16(795), i16(419), i16(788), i16(827), i16(790), i16(454), i16(832), i16(889), i16(495), i16(824), i16(734), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(783), i16(898), i16(905), i16(907), i16(911), i16(921), i16(933), i16(936), i16(940), i16(943), i16(947), i16(950), i16(952), i16(955), i16(958), i16(962), i16(965), i16(969), i16(974), i16(977), i16(980), i16(984), i16(988), i16(991), i16(993), i16(996), i16(999), i16(1002), i16(1006), i16(1010), i16(1018), i16(1021), i16(1024), i16(1028), i16(1032), i16(1034), i16(1036), i16(1040), i16(1046), i16(1051), i16(1058), i16(1062), i16(1064), i16(1068), i16(1070), i16(1073), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(76), i16(855), i16(36), i16(523), i16(235), i16(416), i16(777), i16(76), i16(278), i16(76), i16(76), i16(76), i16(76), i16(700), i16(700), i16(700), i16(150), i16(220), i16(147), i16(217), i16(221), i16(306), i16(306), i16(611), i16(5), i16(535), i16(556), i16(620), i16(720), i16(872), i16(897), i16(116), i16(864), i16(349), i16(1035), i16(1037), i16(404), i16(1047), i16(992), i16(-129), i16(1050), i16(492), i16(62), i16(722), i16(879), i16(1072), i16(1089), i16(808), i16(1066), i16(1094), i16(1095), i16(1096), i16(1097), i16(1098), i16(776), i16(1054), i16(557), i16(57), i16(112), i16(131), i16(167), i16(182), i16(250), i16(272), i16(291), i16(331), i16(364), i16(438), i16(497), i16(517), i16(591), i16(653), i16(690), i16(739), i16(775), i16(798), i16(892), i16(908), i16(924), i16(930), i16(1015), i16(1063), i16(1069), i16(355), i16(784), i16(799), i16(981), i16(1101), i16(926), i16(1151), i16(1161), i16(1162), i16(945), i16(1164), i16(1166), i16(1128), i16(1168), i16(1171), i16(1172), i16(250), i16(1173), i16(1174), i16(1175), i16(1178), i16(1180), i16(1181), i16(1088), i16(1102), i16(1119), i16(1124), i16(1126), i16(926), i16(1131), i16(1139), i16(1188), i16(1140), i16(1129), i16(1130), i16(1103), i16(1144), i16(1107), i16(1179), i16(1156), i16(1167), i16(1182), i16(1134), i16(1122), i16(1183), i16(1184), i16(1150), i16(1153), i16(1197), i16(1111), i16(1202), i16(1203), i16(1123), i16(1125), i16(1205), i16(1147), i16(1185), i16(1169), i16(1186), i16(1190), i16(1191), i16(1192), i16(1213), i16(1217), i16(1193), i16(1157), i16(1196), i16(1198), i16(1194), i16(1220), i16(1218), i16(1145), i16(1154), i16(1229), i16(1231), i16(1233), i16(1216), i16(1237), i16(1240), i16(1241), i16(1244), i16(1222), i16(1227), i16(1230), i16(1232), i16(1223), i16(1235), i16(1236), i16(1245), i16(1249), i16(1226), i16(1250), i16(1254), i16(1199), i16(1201), i16(1204), i16(1207), i16(1209), i16(1211), i16(1214), i16(1212), i16(1255), i16(1208), i16(1259), i16(1215), i16(1256), i16(1200), i16(1206), i16(1260), i16(1247), i16(1261), i16(1263), i16(1262), i16(1266), i16(1278), i16(1282), i16(1292), i16(1294), i16(1297), i16(1298), i16(1299), i16(1300), i16(1221), i16(1224), i16(1228), i16(1288), i16(1291), i16(1276), i16(1277), i16(1295)} 151957 } 151958 151959 func _yy_accept(tls *crt.TLS, _yypParser *XyyParser) { // sqlite3.c:138414:1 151960 var _pParse *XParse // sqlite3.c:138417:3 151961 _ = _pParse 151962 _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) 151963 if _yyTraceFILE == nil { 151964 goto _0 151965 } 151966 151967 crt.Xfprintf(tls, _yyTraceFILE, str(134752), unsafe.Pointer(_yyTracePrompt)) 151968 _0: 151969 func() int32 { 151970 if (*XyyStackEntry)(unsafe.Pointer(_yypParser.X0)) == (*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser))+uintptr(8 /* X2 */))))) { 151971 return i32(0) 151972 } 151973 return func() int32 { 151974 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138426), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_acceptØ00__func__Ø000))), unsafe.Pointer(str(134764))) 151975 crt.X__builtin_abort(tls) 151976 return i32(0) 151977 }() 151978 }() 151979 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(4 /* X1 */))))) = _pParse 151980 return 151981 151982 } 151983 151984 var _yy_acceptØ00__func__Ø000 [10]int8 // - 151985 151986 func init() { 151987 crt.Xstrncpy(nil, &_yy_acceptØ00__func__Ø000[0], str(134804), 10) 151988 } 151989 151990 func _yy_syntax_error(tls *crt.TLS, _yypParser *XyyParser, _yymajor int32, _yyminor XToken) { // sqlite3.c:138395:1 151991 var _pParse *XParse // sqlite3.c:138400:3 151992 _ = _pParse 151993 _pParse = (*XParse)(unsafe.Pointer(_yypParser.X1)) 151994 151995 func() int32 { 151996 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yyminor.X0)) + 1*uintptr(i32(0))))) != 0 { 151997 return i32(0) 151998 } 151999 return func() int32 { 152000 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(138405), unsafe.Pointer((*int8)(unsafe.Pointer(&_yy_syntax_errorØ00__func__Ø000))), unsafe.Pointer(str(134816))) 152001 crt.X__builtin_abort(tls) 152002 return i32(0) 152003 }() 152004 }() 152005 _sqlite3ErrorMsg(tls, _pParse, str(28756), unsafe.Pointer(&_yyminor)) 152006 *(**XParse)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_yypParser)) + uintptr(4 /* X1 */))))) = _pParse 152007 return 152008 152009 } 152010 152011 var _yy_syntax_errorØ00__func__Ø000 [16]int8 // - 152012 152013 func init() { 152014 crt.Xstrncpy(nil, &_yy_syntax_errorØ00__func__Ø000[0], str(134828), 16) 152015 } 152016 152017 func _sqlite3ParserFinalize(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:136505:1 152018 var _pParser *XyyParser // sqlite3.c:136506:12 152019 _ = _pParser 152020 _pParser = (*XyyParser)(unsafe.Pointer(_p)) 152021 _0: 152022 if uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer(_pParser.X0)))) <= uintptr(unsafe.Pointer((*XyyStackEntry)(unsafe.Pointer((*[100]XyyStackEntry)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParser))+uintptr(8 /* X2 */))))))) { 152023 goto _1 152024 } 152025 152026 _yy_pop_parser_stack(tls, _pParser) 152027 goto _0 152028 152029 _1: 152030 return 152031 152032 } 152033 152034 func Xsqlite3_enable_shared_cache(tls *crt.TLS, _enable int32) (r0 int32) { // sqlite3.c:59047:12 152035 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(220 /* X26 */))) = _enable 152036 r0 = i32(0) 152037 return 152038 152039 } 152040 152041 func Xsqlite3_errcode(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142210:12 152042 if _db == nil || _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { 152043 goto _1 152044 } 152045 152046 r0 = _sqlite3MisuseError(tls, i32(142212)) 152047 return 152048 152049 _1: 152050 if _db != nil && (_db.X17) == 0 { 152051 goto _3 152052 } 152053 152054 r0 = _sqlite3NomemError(tls, i32(142215)) 152055 return 152056 152057 _3: 152058 r0 = (_db.X10) & (_db.X11) 152059 return 152060 152061 } 152062 152063 func Xsqlite3_errmsg16(tls *crt.TLS, _db *Xsqlite3) (r0 unsafe.Pointer) { // sqlite3.c:142165:12 152064 var _z unsafe.Pointer // sqlite3.c:142178:14 152065 _ = _z 152066 if _db != nil { 152067 goto _0 152068 } 152069 152070 r0 = (unsafe.Pointer)(&_sqlite3_errmsg16Ø00outOfMemØ001) 152071 return 152072 152073 _0: 152074 if _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { 152075 goto _1 152076 } 152077 152078 r0 = (unsafe.Pointer)(&_sqlite3_errmsg16Ø00misuseØ002) 152079 return 152080 152081 _1: 152082 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 152083 if (_db.X17) == 0 { 152084 goto _2 152085 } 152086 152087 _z = (unsafe.Pointer)(&_sqlite3_errmsg16Ø00outOfMemØ001) 152088 goto _3 152089 152090 _2: 152091 _z = Xsqlite3_value_text16(tls, (*XMem)(unsafe.Pointer(_db.X56))) 152092 if unsafe.Pointer(_z) != (unsafe.Pointer)(uintptr(i32(0))) { 152093 goto _4 152094 } 152095 152096 _sqlite3ErrorWithMsg(tls, _db, _db.X10, _sqlite3ErrStr(tls, _db.X10)) 152097 _z = Xsqlite3_value_text16(tls, (*XMem)(unsafe.Pointer(_db.X56))) 152098 _4: 152099 _sqlite3OomClear(tls, _db) 152100 _3: 152101 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 152102 r0 = _z 152103 return 152104 152105 } 152106 152107 var _sqlite3_errmsg16Ø00outOfMemØ001 [14]uint16 // sqlite3.c:142166:20 152108 152109 func init() { 152110 _sqlite3_errmsg16Ø00outOfMemØ001 = [14]uint16{u16(111), u16(117), u16(116), u16(32), u16(111), u16(102), u16(32), u16(109), u16(101), u16(109), u16(111), u16(114), u16(121), u16(0)} 152111 } 152112 152113 var _sqlite3_errmsg16Ø00misuseØ002 [39]uint16 // sqlite3.c:142169:20 152114 152115 func init() { 152116 _sqlite3_errmsg16Ø00misuseØ002 = [39]uint16{u16(108), u16(105), u16(98), u16(114), u16(97), u16(114), u16(121), u16(32), u16(114), u16(111), u16(117), u16(116), u16(105), u16(110), u16(101), u16(32), u16(99), u16(97), u16(108), u16(108), u16(101), u16(100), u16(32), u16(111), u16(117), u16(116), u16(32), u16(111), u16(102), u16(32), u16(115), u16(101), u16(113), u16(117), u16(101), u16(110), u16(99), u16(101), u16(0)} 152117 } 152118 152119 func Xsqlite3_expired(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76032:12 152120 var _p *XVdbe // sqlite3.c:76033:8 152121 _ = _p 152122 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 152123 r0 = bool2int((_p == (*XVdbe)(unsafe.Pointer(uintptr(i32(0))))) || (((uint32(_p.X32) << uint(i32(31))) >> uint(i32(31))) != 0)) 152124 return 152125 152126 } 152127 152128 func Xsqlite3_free_table(tls *crt.TLS, _azResult **int8) { // sqlite3.c:122166:12 152129 var _1_i int32 // sqlite3.c:122170:9 152130 _ = _1_i 152131 var _1_n int32 // sqlite3.c:122170:12 152132 _ = _1_n 152133 if _azResult == nil { 152134 goto _0 152135 } 152136 152137 *(*uintptr)(unsafe.Pointer(&_azResult)) += uintptr(4294967292) 152138 func() int32 { 152139 if _azResult != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 152140 return i32(0) 152141 } 152142 return func() int32 { 152143 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(122172), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_free_tableØ00__func__Ø000))), unsafe.Pointer(str(134844))) 152144 crt.X__builtin_abort(tls) 152145 return i32(0) 152146 }() 152147 }() 152148 _1_n = int32(uintptr(unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azResult)) + 4*uintptr(i32(0))))))) 152149 _1_i = i32(1) 152150 _3: 152151 if _1_i >= _1_n { 152152 goto _6 152153 } 152154 152155 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azResult)) + 4*uintptr(_1_i)))) == nil { 152156 goto _7 152157 } 152158 152159 Xsqlite3_free(tls, (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azResult)) + 4*uintptr(_1_i))))) 152160 _7: 152161 _1_i += 1 152162 goto _3 152163 152164 _6: 152165 Xsqlite3_free(tls, (unsafe.Pointer)(_azResult)) 152166 _0: 152167 return 152168 152169 } 152170 152171 var _sqlite3_free_tableØ00__func__Ø000 [19]int8 // - 152172 152173 func init() { 152174 crt.Xstrncpy(nil, &_sqlite3_free_tableØ00__func__Ø000[0], str(134856), 19) 152175 } 152176 152177 func Xsqlite3_get_autocommit(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:143202:12 152178 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 152179 goto _0 152180 } 152181 152182 _sqlite3MisuseError(tls, i32(143205)) 152183 r0 = i32(0) 152184 return 152185 152186 _0: 152187 r0 = int32(_db.X15) 152188 return 152189 152190 } 152191 152192 func Xsqlite3_get_auxdata(tls *crt.TLS, _pCtx *Xsqlite3_context, _iArg int32) (r0 unsafe.Pointer) { // sqlite3.c:76812:12 152193 var _pAuxData *XAuxData // sqlite3.c:76813:11 152194 _ = _pAuxData 152195 func() int32 { 152196 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 152197 return i32(0) 152198 } 152199 return func() int32 { 152200 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76815), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_get_auxdataØ00__func__Ø000))), unsafe.Pointer(str(6312))) 152201 crt.X__builtin_abort(tls) 152202 return i32(0) 152203 }() 152204 }() 152205 func() int32 { 152206 if (*XVdbe)(unsafe.Pointer(_pCtx.X3)) != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 152207 return i32(0) 152208 } 152209 return func() int32 { 152210 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76819), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_get_auxdataØ00__func__Ø000))), unsafe.Pointer(str(134876))) 152211 crt.X__builtin_abort(tls) 152212 return i32(0) 152213 }() 152214 }() 152215 _pAuxData = (*XAuxData)(unsafe.Pointer((*XVdbe)(unsafe.Pointer(_pCtx.X3)).X43)) 152216 _4: 152217 if _pAuxData == nil { 152218 goto _7 152219 } 152220 152221 if (_pAuxData.X0) != (_pCtx.X4) || (_pAuxData.X1) != _iArg { 152222 goto _9 152223 } 152224 152225 goto _7 152226 152227 _9: 152228 _pAuxData = (*XAuxData)(unsafe.Pointer(_pAuxData.X4)) 152229 goto _4 152230 152231 _7: 152232 r0 = func() unsafe.Pointer { 152233 if _pAuxData != nil { 152234 return unsafe.Pointer(_pAuxData.X2) 152235 } 152236 return (unsafe.Pointer)(uintptr(i32(0))) 152237 }() 152238 return 152239 152240 } 152241 152242 var _sqlite3_get_auxdataØ00__func__Ø000 [20]int8 // - 152243 152244 func init() { 152245 crt.Xstrncpy(nil, &_sqlite3_get_auxdataØ00__func__Ø000[0], str(134892), 20) 152246 } 152247 152248 func Xsqlite3_get_table(tls *crt.TLS, _db *Xsqlite3, _zSql *int8, _pazResult ***int8, _pnRow *int32, _pnColumn *int32, _pzErrMsg **int8) (r0 int32) { // sqlite3.c:122097:12 152249 var _rc int32 // sqlite3.c:122105:7 152250 _ = _rc 152251 var _res XTabResult // sqlite3.c:122106:13 152252 _ = _res 152253 var _6_azNew **int8 // sqlite3.c:122148:10 152254 _ = _6_azNew 152255 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _pazResult != (***int8)(unsafe.Pointer(uintptr(i32(0)))) { 152256 goto _1 152257 } 152258 152259 r0 = _sqlite3MisuseError(tls, i32(122109)) 152260 return 152261 152262 _1: 152263 *_pazResult = (**int8)(unsafe.Pointer(uintptr(i32(0)))) 152264 if _pnColumn == nil { 152265 goto _2 152266 } 152267 152268 *_pnColumn = i32(0) 152269 _2: 152270 if _pnRow == nil { 152271 goto _3 152272 } 152273 152274 *_pnRow = i32(0) 152275 _3: 152276 if _pzErrMsg == nil { 152277 goto _4 152278 } 152279 152280 *_pzErrMsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 152281 _4: 152282 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 152283 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(12 /* X3 */))) = uint32(i32(0)) 152284 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(16 /* X4 */))) = uint32(i32(0)) 152285 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(20 /* X5 */))) = uint32(i32(1)) 152286 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(8 /* X2 */))) = uint32(i32(20)) 152287 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(24 /* X6 */))) = i32(0) 152288 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(0 /* X0 */))) = (**int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(u32(4)*(_res.X2))))) 152289 if (_res.X0) != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 152290 goto _5 152291 } 152292 152293 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = i32(7) 152294 r0 = _sqlite3NomemError(tls, i32(122124)) 152295 return 152296 152297 _5: 152298 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0)) + 4*uintptr(i32(0)))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 152299 _rc = Xsqlite3_exec(tls, _db, _zSql, _sqlite3_get_table_cb, (unsafe.Pointer)(&_res), _pzErrMsg) 152300 i32(0) 152301 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0)) + 4*uintptr(i32(0)))) = (*int8)(unsafe.Pointer((unsafe.Pointer)(uintptr(int32(_res.X5))))) 152302 if (_rc & i32(255)) != i32(4) { 152303 goto _6 152304 } 152305 152306 Xsqlite3_free_table(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0))+4*uintptr(i32(1))))) 152307 if (_res.X1) == nil { 152308 goto _7 152309 } 152310 152311 if _pzErrMsg == nil { 152312 goto _8 152313 } 152314 152315 Xsqlite3_free(tls, (unsafe.Pointer)(*_pzErrMsg)) 152316 *_pzErrMsg = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(_res.X1)) 152317 _8: 152318 Xsqlite3_free(tls, (unsafe.Pointer)(_res.X1)) 152319 _7: 152320 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = _res.X6 152321 r0 = _res.X6 152322 return 152323 152324 _6: 152325 Xsqlite3_free(tls, (unsafe.Pointer)(_res.X1)) 152326 if _rc == i32(0) { 152327 goto _9 152328 } 152329 152330 Xsqlite3_free_table(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0))+4*uintptr(i32(1))))) 152331 r0 = _rc 152332 return 152333 152334 _9: 152335 if (_res.X2) <= (_res.X5) { 152336 goto _10 152337 } 152338 152339 _6_azNew = (**int8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_res.X0), uint64(u32(4)*(_res.X5))))) 152340 if _6_azNew != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 152341 goto _11 152342 } 152343 152344 Xsqlite3_free_table(tls, (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0))+4*uintptr(i32(1))))) 152345 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(48 /* X10 */))) = i32(7) 152346 r0 = _sqlite3NomemError(tls, i32(122153)) 152347 return 152348 152349 _11: 152350 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_res)) + uintptr(0 /* X0 */))) = _6_azNew 152351 _10: 152352 *_pazResult = (**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_res.X0)) + 4*uintptr(i32(1)))) 152353 if _pnColumn == nil { 152354 goto _12 152355 } 152356 152357 *_pnColumn = int32(_res.X4) 152358 _12: 152359 if _pnRow == nil { 152360 goto _13 152361 } 152362 152363 *_pnRow = int32(_res.X3) 152364 _13: 152365 r0 = _rc 152366 return 152367 152368 } 152369 152370 func _sqlite3_get_table_cb(tls *crt.TLS, _pArg unsafe.Pointer, _nCol int32, _argv **int8, _colv **int8) (r0 int32) { // sqlite3.c:122023:1 152371 var _p *XTabResult // sqlite3.c:122024:13 152372 _ = _p 152373 var _need int32 // sqlite3.c:122025:7 152374 _ = _need 152375 var _i int32 // sqlite3.c:122026:7 152376 _ = _i 152377 var _z *int8 // sqlite3.c:122027:8 152378 _ = _z 152379 var _3_azNew **int8 // sqlite3.c:122038:10 152380 _ = _3_azNew 152381 var _10_n int32 // sqlite3.c:122071:13 152382 _ = _10_n 152383 _p = (*XTabResult)(unsafe.Pointer(_pArg)) 152384 if (_p.X3) != uint32(i32(0)) || _argv == (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 152385 goto _1 152386 } 152387 152388 _need = _nCol * i32(2) 152389 goto _2 152390 152391 _1: 152392 _need = _nCol 152393 _2: 152394 if ((_p.X5) + uint32(_need)) <= (_p.X2) { 152395 goto _3 152396 } 152397 152398 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = ((_p.X2) * uint32(i32(2))) + uint32(_need) 152399 _3_azNew = (**int8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_p.X0), uint64(u32(4)*(_p.X2))))) 152400 if _3_azNew != (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 152401 goto _4 152402 } 152403 152404 goto _malloc_failed 152405 152406 _4: 152407 *(***int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = _3_azNew 152408 _3: 152409 if (_p.X3) != uint32(i32(0)) { 152410 goto _5 152411 } 152412 152413 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(_nCol) 152414 _i = i32(0) 152415 _6: 152416 if _i >= _nCol { 152417 goto _9 152418 } 152419 152420 _z = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_colv)) + 4*uintptr(_i))))) 152421 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 152422 goto _10 152423 } 152424 152425 goto _malloc_failed 152426 152427 _10: 152428 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 4*uintptr(postInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))), uint32(1))))) = _z 152429 _i += 1 152430 goto _6 152431 152432 _9: 152433 goto _11 152434 152435 _5: 152436 if int32(_p.X4) == _nCol { 152437 goto _12 152438 } 152439 152440 Xsqlite3_free(tls, (unsafe.Pointer)(_p.X1)) 152441 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = Xsqlite3_mprintf(tls, str(134912)) 152442 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = i32(1) 152443 r0 = i32(1) 152444 return 152445 152446 _12: 152447 _11: 152448 if _argv == (**int8)(unsafe.Pointer(uintptr(i32(0)))) { 152449 goto _13 152450 } 152451 152452 _i = i32(0) 152453 _14: 152454 if _i >= _nCol { 152455 goto _17 152456 } 152457 152458 if (*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))) != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 152459 goto _18 152460 } 152461 152462 _z = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 152463 goto _19 152464 152465 _18: 152466 _10_n = _sqlite3Strlen30(tls, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))) + i32(1) 152467 _z = (*int8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64(_10_n)))) 152468 if _z != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 152469 goto _20 152470 } 152471 152472 goto _malloc_failed 152473 152474 _20: 152475 crt.Xmemcpy(tls, (unsafe.Pointer)(_z), (unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))), uint32(_10_n)) 152476 _19: 152477 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 4*uintptr(postInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(20 /* X5 */))), uint32(1))))) = _z 152478 _i += 1 152479 goto _14 152480 152481 _17: 152482 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) += 1 152483 _13: 152484 r0 = i32(0) 152485 return 152486 152487 _malloc_failed: 152488 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))) = _sqlite3NomemError(tls, i32(122083)) 152489 r0 = i32(1) 152490 return 152491 152492 } 152493 152494 func Xsqlite3_interrupt(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:141487:12 152495 if _sqlite3SafetyCheckOk(tls, _db) != 0 || _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) && (_db.X28) == uint32(i32(1691352191)) { 152496 goto _2 152497 } 152498 152499 _sqlite3MisuseError(tls, i32(141490)) 152500 return 152501 152502 _2: 152503 *(*int32)(unsafe.Pointer((*T7746332)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(244 /* X57 */))))) = i32(1) 152504 return 152505 152506 } 152507 152508 func Xsqlite3_last_insert_rowid(tls *crt.TLS, _db *Xsqlite3) (r0 int64) { // sqlite3.c:140817:12 152509 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 152510 goto _0 152511 } 152512 152513 _sqlite3MisuseError(tls, i32(140820)) 152514 r0 = int64(i32(0)) 152515 return 152516 152517 _0: 152518 r0 = _db.X7 152519 return 152520 152521 } 152522 152523 func Xsqlite3_libversion(tls *crt.TLS) (r0 *int8) { // sqlite3.c:139948:12 152524 r0 = (*int8)(unsafe.Pointer(&Xsqlite3_version)) 152525 return 152526 152527 } 152528 152529 var Xsqlite3_version [7]int8 // sqlite3.c:435:23 152530 152531 func init() { 152532 crt.Xstrncpy(nil, &Xsqlite3_version[0], str(134980), 7) 152533 } 152534 152535 func Xsqlite3_libversion_number(tls *crt.TLS) (r0 int32) { // sqlite3.c:139959:12 152536 r0 = i32(3018000) 152537 return 152538 152539 } 152540 152541 func Xsqlite3_open(tls *crt.TLS, _zFilename *int8, _ppDb **Xsqlite3) (r0 int32) { // sqlite3.c:143021:12 152542 r0 = _openDatabase(tls, _zFilename, _ppDb, uint32(i32(6)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 152543 return 152544 152545 } 152546 152547 func _openDatabase(tls *crt.TLS, _zFilename *int8, _ppDb **Xsqlite3, _flags uint32, _zVfs *int8) (r0 int32) { // sqlite3.c:142689:1 152548 var _db *Xsqlite3 // sqlite3.c:142695:11 152549 _ = _db 152550 var _rc int32 // sqlite3.c:142696:7 152551 _ = _rc 152552 var _isThreadsafe int32 // sqlite3.c:142697:7 152553 _ = _isThreadsafe 152554 var _zOpen *int8 // sqlite3.c:142698:8 152555 _ = _zOpen 152556 var _zErrMsg *int8 // sqlite3.c:142699:8 152557 _ = _zErrMsg 152558 _zOpen = nil 152559 _zErrMsg = nil 152560 if _ppDb != (**Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 152561 goto _0 152562 } 152563 152564 r0 = _sqlite3MisuseError(tls, i32(142702)) 152565 return 152566 152567 _0: 152568 *_ppDb = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 152569 _rc = Xsqlite3_initialize(tls) 152570 if _rc == 0 { 152571 goto _1 152572 } 152573 152574 r0 = _rc 152575 return 152576 152577 _1: 152578 i32(0) 152579 i32(0) 152580 i32(0) 152581 if ((i32(1) << uint(int32(_flags&uint32(i32(7))))) & i32(70)) != i32(0) { 152582 goto _2 152583 } 152584 152585 r0 = _sqlite3MisuseError(tls, i32(142727)) 152586 return 152587 152588 _2: 152589 if (_sqlite3Config.X1) != i32(0) { 152590 goto _3 152591 } 152592 152593 _isThreadsafe = i32(0) 152594 goto _4 152595 152596 _3: 152597 if (_flags & uint32(i32(32768))) == 0 { 152598 goto _5 152599 } 152600 152601 _isThreadsafe = i32(0) 152602 goto _6 152603 152604 _5: 152605 if (_flags & uint32(i32(65536))) == 0 { 152606 goto _7 152607 } 152608 152609 _isThreadsafe = i32(1) 152610 goto _8 152611 152612 _7: 152613 _isThreadsafe = _sqlite3Config.X2 152614 _8: 152615 _6: 152616 _4: 152617 if (_flags & uint32(i32(262144))) == 0 { 152618 goto _9 152619 } 152620 152621 { 152622 p := &_flags 152623 *p = (*p) & uint32(i32(-131073)) 152624 sink985 = *p 152625 } 152626 goto _10 152627 152628 _9: 152629 if (_sqlite3Config.X26) == 0 { 152630 goto _11 152631 } 152632 152633 { 152634 p := &_flags 152635 *p = (*p) | uint32(i32(131072)) 152636 sink985 = *p 152637 } 152638 _11: 152639 _10: 152640 { 152641 p := &_flags 152642 *p = (*p) & uint32(i32(-655129)) 152643 sink985 = *p 152644 } 152645 _db = (*Xsqlite3)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(456))))) 152646 if _db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 152647 goto _12 152648 } 152649 152650 goto _opendb_out 152651 152652 _12: 152653 if _isThreadsafe == 0 { 152654 goto _13 152655 } 152656 152657 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(12 /* X3 */))))) = _sqlite3MutexAlloc(tls, i32(1)) 152658 if (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 152659 goto _14 152660 } 152661 152662 Xsqlite3_free(tls, (unsafe.Pointer)(_db)) 152663 _db = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 152664 goto _opendb_out 152665 152666 _14: 152667 _13: 152668 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 152669 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(52 /* X11 */))) = i32(255) 152670 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(20 /* X5 */))) = i32(2) 152671 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(80 /* X28 */))) = u32(4030429446) 152672 *(**XDb)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(16 /* X4 */))))) = (*XDb)(unsafe.Pointer((*[2]XDb)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(388 /* X72 */))))) 152673 i32(0) 152674 crt.Xmemcpy(tls, (unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */)))), (unsafe.Pointer)(&_aHardLimit), u32(48)) 152675 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(11)))) = i32(0) 152676 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(63 /* X15 */))) = uint8(i32(1)) 152677 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(68 /* X20 */))) = int8(i32(-1)) 152678 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(36 /* X8 */))) = _sqlite3Config.X17 152679 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(76 /* X27 */))) = i32(0) 152680 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(140 /* X32 */))) = i32(2147483647) 152681 { 152682 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 152683 *p = (*p) | i32(17825888) 152684 sink961 = *p 152685 } 152686 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(360 /* X70 */)))) 152687 _sqlite3HashInit(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(316 /* X65 */)))) 152688 _createCollation(tls, _db, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(i32(1)), (unsafe.Pointer)(uintptr(i32(0))), _binCollFunc, nil) 152689 _createCollation(tls, _db, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(i32(3)), (unsafe.Pointer)(uintptr(i32(0))), _binCollFunc, nil) 152690 _createCollation(tls, _db, (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(i32(2)), (unsafe.Pointer)(uintptr(i32(0))), _binCollFunc, nil) 152691 _createCollation(tls, _db, str(108856), uint8(i32(1)), (unsafe.Pointer)(uintptr(i32(0))), _nocaseCollatingFunc, nil) 152692 _createCollation(tls, _db, str(134988), uint8(i32(1)), (unsafe.Pointer)(uintptr(u32(1))), _binCollFunc, nil) 152693 if (_db.X17) == 0 { 152694 goto _15 152695 } 152696 152697 goto _opendb_out 152698 152699 _15: 152700 *(**XCollSeq)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(8 /* X2 */))))) = _sqlite3FindCollSeq(tls, _db, uint8(i32(1)), (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)), i32(0)) 152701 func() int32 { 152702 if (*XCollSeq)(unsafe.Pointer(_db.X2)) != (*XCollSeq)(unsafe.Pointer(uintptr(i32(0)))) { 152703 return i32(0) 152704 } 152705 return func() int32 { 152706 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142846), unsafe.Pointer((*int8)(unsafe.Pointer(&_openDatabaseØ00__func__Ø000))), unsafe.Pointer(str(134996))) 152707 crt.X__builtin_abort(tls) 152708 return i32(0) 152709 }() 152710 }() 152711 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(44 /* X9 */))) = _flags 152712 _rc = _sqlite3ParseUri(tls, _zVfs, _zFilename, &_flags, (**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(0 /* X0 */))))), &_zOpen, &_zErrMsg) 152713 if _rc == i32(0) { 152714 goto _18 152715 } 152716 152717 if _rc != i32(7) { 152718 goto _19 152719 } 152720 152721 _sqlite3OomFault(tls, _db) 152722 _19: 152723 _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { 152724 if _zErrMsg != nil { 152725 return str(25612) 152726 } 152727 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 152728 }(), unsafe.Pointer(_zErrMsg)) 152729 Xsqlite3_free(tls, (unsafe.Pointer)(_zErrMsg)) 152730 goto _opendb_out 152731 152732 _18: 152733 _rc = _sqlite3BtreeOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_db.X0)), _zOpen, _db, (**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0))))))+uintptr(4 /* X1 */))))), i32(0), int32(_flags|uint32(i32(256)))) 152734 if _rc == i32(0) { 152735 goto _22 152736 } 152737 152738 if _rc != i32(3082) { 152739 goto _23 152740 } 152741 152742 _rc = _sqlite3NomemError(tls, i32(142863)) 152743 _23: 152744 _sqlite3Error(tls, _db, _rc) 152745 goto _opendb_out 152746 152747 _22: 152748 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1))) 152749 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))))) + uintptr(12 /* X4 */))))) = _sqlite3SchemaGet(tls, _db, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1))) 152750 if (_db.X17) != 0 { 152751 goto _24 152752 } 152753 152754 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(62 /* X14 */))) = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(i32(0)))).X4)).X8 152755 _24: 152756 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))).X1))) 152757 *(**XSchema)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))))) + uintptr(12 /* X4 */))))) = _sqlite3SchemaGet(tls, _db, (*XBtree)(unsafe.Pointer(uintptr(i32(0))))) 152758 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = str(97640) 152759 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))))) + uintptr(8 /* X2 */))) = uint8(i32(3)) 152760 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))))) + uintptr(0 /* X0 */))) = str(24852) 152761 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(1)))))) + uintptr(8 /* X2 */))) = uint8(i32(1)) 152762 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(80 /* X28 */))) = u32(2687084183) 152763 if (_db.X17) == 0 { 152764 goto _25 152765 } 152766 152767 goto _opendb_out 152768 152769 _25: 152770 _sqlite3Error(tls, _db, i32(0)) 152771 _sqlite3RegisterPerConnectionBuiltinFunctions(tls, _db) 152772 _rc = Xsqlite3_errcode(tls, _db) 152773 if _rc != i32(0) { 152774 goto _26 152775 } 152776 152777 _sqlite3AutoLoadExtensions(tls, _db) 152778 _rc = Xsqlite3_errcode(tls, _db) 152779 if _rc == i32(0) { 152780 goto _27 152781 } 152782 152783 goto _opendb_out 152784 152785 _27: 152786 _26: 152787 if _rc == 0 { 152788 goto _28 152789 } 152790 152791 _sqlite3Error(tls, _db, _rc) 152792 _28: 152793 _setupLookaside(tls, _db, (unsafe.Pointer)(uintptr(i32(0))), _sqlite3Config.X7, _sqlite3Config.X8) 152794 Xsqlite3_wal_autocheckpoint(tls, _db, i32(1000)) 152795 _opendb_out: 152796 if _db == nil { 152797 goto _29 152798 } 152799 152800 func() int32 { 152801 if (((*Xsqlite3_mutex)(unsafe.Pointer(_db.X3)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0))))) || (_isThreadsafe == i32(0))) || ((_sqlite3Config.X2) == i32(0)) { 152802 return i32(0) 152803 } 152804 return func() int32 { 152805 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142979), unsafe.Pointer((*int8)(unsafe.Pointer(&_openDatabaseØ00__func__Ø000))), unsafe.Pointer(str(135016))) 152806 crt.X__builtin_abort(tls) 152807 return i32(0) 152808 }() 152809 }() 152810 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 152811 _29: 152812 _rc = Xsqlite3_errcode(tls, _db) 152813 func() int32 { 152814 if (_db != (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) || (_rc == i32(7)) { 152815 return i32(0) 152816 } 152817 return func() int32 { 152818 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(142984), unsafe.Pointer((*int8)(unsafe.Pointer(&_openDatabaseØ00__func__Ø000))), unsafe.Pointer(str(135088))) 152819 crt.X__builtin_abort(tls) 152820 return i32(0) 152821 }() 152822 }() 152823 if _rc != i32(7) { 152824 goto _37 152825 } 152826 152827 Xsqlite3_close(tls, _db) 152828 _db = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 152829 goto _38 152830 152831 _37: 152832 if _rc == i32(0) { 152833 goto _39 152834 } 152835 152836 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(80 /* X28 */))) = uint32(i32(1266094736)) 152837 _39: 152838 _38: 152839 *_ppDb = _db 152840 Xsqlite3_free(tls, (unsafe.Pointer)(_zOpen)) 152841 r0 = _rc & i32(255) 152842 return 152843 152844 } 152845 152846 func _binCollFunc(tls *crt.TLS, _padFlag unsafe.Pointer, _nKey1 int32, _pKey1 unsafe.Pointer, _nKey2 int32, _pKey2 unsafe.Pointer) (r0 int32) { // sqlite3.c:140763:1 152847 var _rc int32 // sqlite3.c:140768:7 152848 _ = _rc 152849 var _n int32 // sqlite3.c:140768:11 152850 _ = _n 152851 _n = func() int32 { 152852 if _nKey1 < _nKey2 { 152853 return _nKey1 152854 } 152855 return _nKey2 152856 }() 152857 _rc = crt.Xmemcmp(tls, _pKey1, _pKey2, uint32(_n)) 152858 if _rc != i32(0) { 152859 goto _2 152860 } 152861 152862 if _padFlag == nil || _allSpaces(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pKey1))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_n))))))), _nKey1-_n) == 0 || _allSpaces(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(_pKey2))))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_n))))))), _nKey2-_n) == 0 { 152863 goto _5 152864 } 152865 152866 goto _6 152867 152868 _5: 152869 _rc = _nKey1 - _nKey2 152870 _6: 152871 _2: 152872 r0 = _rc 152873 return 152874 152875 } 152876 152877 func _allSpaces(tls *crt.TLS, _z *int8, _n int32) (r0 int32) { // sqlite3.c:140751:1 152878 _0: 152879 if _n <= i32(0) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(_n-i32(1))))) != i32(32) { 152880 goto _1 152881 } 152882 152883 _n -= 1 152884 goto _0 152885 152886 _1: 152887 r0 = bool2int(_n == i32(0)) 152888 return 152889 152890 } 152891 152892 func _nocaseCollatingFunc(tls *crt.TLS, _NotUsed unsafe.Pointer, _nKey1 int32, _pKey1 unsafe.Pointer, _nKey2 int32, _pKey2 unsafe.Pointer) (r0 int32) { // sqlite3.c:140800:1 152893 var _r int32 // sqlite3.c:140805:7 152894 _ = _r 152895 _r = Xsqlite3_strnicmp(tls, (*int8)(unsafe.Pointer(_pKey1)), (*int8)(unsafe.Pointer(_pKey2)), func() int32 { 152896 if _nKey1 < _nKey2 { 152897 return _nKey1 152898 } 152899 return _nKey2 152900 }()) 152901 152902 if i32(0) != _r { 152903 goto _2 152904 } 152905 152906 _r = _nKey1 - _nKey2 152907 _2: 152908 r0 = _r 152909 return 152910 152911 } 152912 152913 var _openDatabaseØ00__func__Ø000 [13]int8 // - 152914 152915 func init() { 152916 crt.Xstrncpy(nil, &_openDatabaseØ00__func__Ø000[0], str(135116), 13) 152917 } 152918 152919 func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:106950:1 152920 var _rc int32 // sqlite3.c:106951:7 152921 _ = _rc 152922 _rc = Xsqlite3_overload_function(tls, _db, str(26252), i32(2)) 152923 func() int32 { 152924 if (_rc == i32(7)) || (_rc == i32(0)) { 152925 return i32(0) 152926 } 152927 return func() int32 { 152928 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106952), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3RegisterPerConnectionBuiltinFunctionsØ00__func__Ø000))), unsafe.Pointer(str(135132))) 152929 crt.X__builtin_abort(tls) 152930 return i32(0) 152931 }() 152932 }() 152933 if _rc != i32(7) { 152934 goto _3 152935 } 152936 152937 _sqlite3OomFault(tls, _db) 152938 _3: 152939 return 152940 152941 } 152942 152943 func Xsqlite3_overload_function(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _nArg int32) (r0 int32) { // sqlite3.c:141700:12 152944 var _rc int32 // sqlite3.c:141705:7 152945 _ = _rc 152946 _rc = i32(0) 152947 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) && _nArg >= i32(-2) { 152948 goto _2 152949 } 152950 152951 r0 = _sqlite3MisuseError(tls, i32(141709)) 152952 return 152953 152954 _2: 152955 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 152956 if _sqlite3FindFunction(tls, _db, _zName, _nArg, uint8(i32(1)), uint8(i32(0))) != (*XFuncDef)(unsafe.Pointer(uintptr(i32(0)))) { 152957 goto _3 152958 } 152959 152960 _rc = _sqlite3CreateFunc(tls, _db, _zName, _nArg, i32(1), (unsafe.Pointer)(uintptr(i32(0))), _sqlite3InvalidFunction, nil, nil, (*XFuncDestructor)(unsafe.Pointer(uintptr(i32(0))))) 152961 _3: 152962 _rc = _sqlite3ApiExit(tls, _db, _rc) 152963 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 152964 r0 = _rc 152965 return 152966 152967 } 152968 152969 func _sqlite3InvalidFunction(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:76757:1 152970 var _zName *int8 // sqlite3.c:76762:14 152971 _ = _zName 152972 var _zErr *int8 // sqlite3.c:76763:8 152973 _ = _zErr 152974 _zName = (*XFuncDef)(unsafe.Pointer(_context.X1)).X6 152975 func() **XMem { ; return _NotUsed2 }() 152976 _zErr = Xsqlite3_mprintf(tls, str(135168), unsafe.Pointer(_zName)) 152977 Xsqlite3_result_error(tls, _context, _zErr, i32(-1)) 152978 Xsqlite3_free(tls, (unsafe.Pointer)(_zErr)) 152979 return 152980 152981 } 152982 152983 var _sqlite3RegisterPerConnectionBuiltinFunctionsØ00__func__Ø000 [45]int8 // - 152984 152985 func init() { 152986 crt.Xstrncpy(nil, &_sqlite3RegisterPerConnectionBuiltinFunctionsØ00__func__Ø000[0], str(135220), 45) 152987 } 152988 152989 func _sqlite3AutoLoadExtensions(tls *crt.TLS, _db *Xsqlite3) { // sqlite3.c:112300:1 152990 var _i uint32 // sqlite3.c:112301:7 152991 _ = _i 152992 var _go int32 // sqlite3.c:112302:7 152993 _ = _go 152994 var _rc int32 // sqlite3.c:112303:7 152995 _ = _rc 152996 var _xInit func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32 // sqlite3.c:112304:25 152997 _ = _xInit 152998 var _2_zErrmsg *int8 // sqlite3.c:112312:10 152999 _ = _2_zErrmsg 153000 var _2_mutex *Xsqlite3_mutex // sqlite3.c:112314:19 153001 _ = _2_mutex 153002 var _2_pThunk *Xsqlite3_api_routines // sqlite3.c:112319:32 153003 _ = _2_pThunk 153004 _go = i32(1) 153005 if (_sqlite3Autoext.X0) != uint32(i32(0)) { 153006 goto _0 153007 } 153008 153009 return 153010 153011 _0: 153012 _i = uint32(i32(0)) 153013 _1: 153014 if _go == 0 { 153015 goto _4 153016 } 153017 153018 _2_mutex = _sqlite3MutexAlloc(tls, i32(2)) 153019 _2_pThunk = &_sqlite3Apis 153020 Xsqlite3_mutex_enter(tls, _2_mutex) 153021 if _i < (_sqlite3Autoext.X0) { 153022 goto _5 153023 } 153024 153025 _xInit = nil 153026 _go = i32(0) 153027 goto _6 153028 153029 _5: 153030 _xInit = *(*func(*crt.TLS, *Xsqlite3, **int8, *Xsqlite3_api_routines) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{(*(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 4*uintptr(_i))))})) 153031 _6: 153032 Xsqlite3_mutex_leave(tls, _2_mutex) 153033 _2_zErrmsg = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 153034 if _xInit == nil || store961(&_rc, _xInit(tls, _db, &_2_zErrmsg, _2_pThunk)) == i32(0) { 153035 goto _8 153036 } 153037 153038 _sqlite3ErrorWithMsg(tls, _db, _rc, str(135268), unsafe.Pointer(_2_zErrmsg)) 153039 _go = i32(0) 153040 _8: 153041 Xsqlite3_free(tls, (unsafe.Pointer)(_2_zErrmsg)) 153042 _i += 1 153043 goto _1 153044 153045 _4: 153046 return 153047 153048 } 153049 153050 var _sqlite3Autoext T8745302 // sqlite3.c:112184:3 153051 153052 func _setupLookaside(tls *crt.TLS, _db *Xsqlite3, _pBuf unsafe.Pointer, _sz int32, _cnt int32) (r0 int32) { // sqlite3.c:140564:1 153053 var _pStart unsafe.Pointer // sqlite3.c:140566:8 153054 _ = _pStart 153055 var _6_i int32 // sqlite3.c:140598:9 153056 _ = _6_i 153057 var _6_p *Xsqlite3_file // sqlite3.c:140599:19 153058 _ = _6_p 153059 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3) == 0 { 153060 goto _0 153061 } 153062 153063 r0 = i32(5) 153064 return 153065 153066 _0: 153067 if ((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X2) == 0 { 153068 goto _1 153069 } 153070 153071 Xsqlite3_free(tls, (*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))).X7) 153072 _1: 153073 _sz = _sz & i32(-8) 153074 if _sz > i32(4) { 153075 goto _2 153076 } 153077 153078 _sz = i32(0) 153079 _2: 153080 if _cnt >= i32(0) { 153081 goto _3 153082 } 153083 153084 _cnt = i32(0) 153085 _3: 153086 if _sz != i32(0) && _cnt != i32(0) { 153087 goto _5 153088 } 153089 153090 _sz = i32(0) 153091 _pStart = (unsafe.Pointer)(uintptr(i32(0))) 153092 goto _6 153093 153094 _5: 153095 if unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { 153096 goto _7 153097 } 153098 153099 _sqlite3BeginBenignMalloc(tls) 153100 _pStart = _sqlite3Malloc(tls, uint64(_sz*_cnt)) 153101 _sqlite3EndBenignMalloc(tls) 153102 if _pStart == nil { 153103 goto _8 153104 } 153105 153106 _cnt = _sqlite3MallocSize(tls, _pStart) / _sz 153107 _8: 153108 goto _9 153109 153110 _7: 153111 _pStart = _pBuf 153112 _9: 153113 _6: 153114 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(32 /* X7 */))) = _pStart 153115 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(28 /* X6 */))))) = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) 153116 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(4 /* X1 */))) = uint16(_sz) 153117 if _pStart == nil { 153118 goto _10 153119 } 153120 153121 func() int32 { 153122 if _sz > i32(4) { 153123 return i32(0) 153124 } 153125 return func() int32 { 153126 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(140600), unsafe.Pointer((*int8)(unsafe.Pointer(&_setupLookasideØ00__func__Ø000))), unsafe.Pointer(str(135308))) 153127 crt.X__builtin_abort(tls) 153128 return i32(0) 153129 }() 153130 }() 153131 _6_p = (*Xsqlite3_file)(unsafe.Pointer(_pStart)) 153132 _6_i = _cnt - i32(1) 153133 _13: 153134 if _6_i < i32(0) { 153135 goto _16 153136 } 153137 153138 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_p)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X6)) 153139 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(28 /* X6 */))))) = _6_p 153140 _6_p = (*Xsqlite3_file)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_p)) + 1*uintptr(_sz))))) 153141 _6_i -= 1 153142 goto _13 153143 153144 _16: 153145 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(36 /* X8 */))) = (unsafe.Pointer)(_6_p) 153146 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) = uint32(i32(0)) 153147 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(6 /* X2 */))) = uint8(func() int32 { 153148 if unsafe.Pointer(_pBuf) == (unsafe.Pointer)(uintptr(i32(0))) { 153149 return i32(1) 153150 } 153151 return i32(0) 153152 }()) 153153 goto _19 153154 153155 _10: 153156 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(32 /* X7 */))) = (unsafe.Pointer)(_db) 153157 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(36 /* X8 */))) = (unsafe.Pointer)(_db) 153158 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(0 /* X0 */))) = uint32(i32(1)) 153159 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(6 /* X2 */))) = uint8(i32(0)) 153160 _19: 153161 r0 = i32(0) 153162 return 153163 153164 } 153165 153166 var _setupLookasideØ00__func__Ø000 [15]int8 // - 153167 153168 func init() { 153169 crt.Xstrncpy(nil, &_setupLookasideØ00__func__Ø000[0], str(135344), 15) 153170 } 153171 153172 func Xsqlite3_open16(tls *crt.TLS, _zFilename unsafe.Pointer, _ppDb **Xsqlite3) (r0 int32) { // sqlite3.c:143041:12 153173 var _zFilename8 *int8 // sqlite3.c:143045:14 153174 _ = _zFilename8 153175 var _pVal *XMem // sqlite3.c:143046:17 153176 _ = _pVal 153177 var _rc int32 // sqlite3.c:143047:7 153178 _ = _rc 153179 if _ppDb != (**Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) { 153180 goto _0 153181 } 153182 153183 r0 = _sqlite3MisuseError(tls, i32(143050)) 153184 return 153185 153186 _0: 153187 *_ppDb = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 153188 _rc = Xsqlite3_initialize(tls) 153189 if _rc == 0 { 153190 goto _1 153191 } 153192 153193 r0 = _rc 153194 return 153195 153196 _1: 153197 if unsafe.Pointer(_zFilename) != (unsafe.Pointer)(uintptr(i32(0))) { 153198 goto _2 153199 } 153200 153201 _zFilename = (unsafe.Pointer)(str(135360)) 153202 _2: 153203 _pVal = _sqlite3ValueNew(tls, (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0))))) 153204 _sqlite3ValueSetStr(tls, _pVal, i32(-1), _zFilename, uint8(i32(2)), nil) 153205 _zFilename8 = (*int8)(unsafe.Pointer(_sqlite3ValueText(tls, _pVal, uint8(i32(1))))) 153206 if _zFilename8 == nil { 153207 goto _3 153208 } 153209 153210 _rc = _openDatabase(tls, _zFilename8, _ppDb, uint32(i32(6)), (*int8)(unsafe.Pointer(uintptr(i32(0))))) 153211 func() int32 { 153212 if ((*_ppDb) != nil) || (_rc == i32(7)) { 153213 return i32(0) 153214 } 153215 return func() int32 { 153216 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143064), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_open16Ø00__func__Ø000))), unsafe.Pointer(str(135364))) 153217 crt.X__builtin_abort(tls) 153218 return i32(0) 153219 }() 153220 }() 153221 if _rc != i32(0) || (int32((*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr((*_ppDb).X4)+16*uintptr(i32(0)))).X4)).X9)&i32(1)) == i32(1) { 153222 goto _8 153223 } 153224 153225 *(*uint8)(unsafe.Pointer(uintptr((*XDb)(unsafe.Pointer(uintptr((*_ppDb).X4)+16*uintptr(i32(0)))).X4) + uintptr(77 /* X8 */))) = store6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_ppDb))+uintptr(62 /* X14 */))), uint8(i32(2))) 153226 _8: 153227 goto _9 153228 153229 _3: 153230 _rc = _sqlite3NomemError(tls, i32(143069)) 153231 _9: 153232 _sqlite3ValueFree(tls, _pVal) 153233 r0 = _rc & i32(255) 153234 return 153235 153236 } 153237 153238 var _sqlite3_open16Ø00__func__Ø000 [15]int8 // - 153239 153240 func init() { 153241 crt.Xstrncpy(nil, &_sqlite3_open16Ø00__func__Ø000[0], str(135392), 15) 153242 } 153243 153244 func Xsqlite3_prepare16(tls *crt.TLS, _db *Xsqlite3, _zSql unsafe.Pointer, _nBytes int32, _ppStmt *unsafe.Pointer, _pzTail *unsafe.Pointer) (r0 int32) { // sqlite3.c:116219:12 153245 var _rc int32 // sqlite3.c:116226:7 153246 _ = _rc 153247 _rc = _sqlite3Prepare16(tls, _db, _zSql, _nBytes, i32(0), _ppStmt, _pzTail) 153248 func() int32 { 153249 if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 153250 return i32(0) 153251 } 153252 return func() int32 { 153253 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116228), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_prepare16Ø00__func__Ø000))), unsafe.Pointer(str(53272))) 153254 crt.X__builtin_abort(tls) 153255 return i32(0) 153256 }() 153257 }() 153258 r0 = _rc 153259 return 153260 153261 } 153262 153263 func _sqlite3Prepare16(tls *crt.TLS, _db *Xsqlite3, _zSql unsafe.Pointer, _nBytes int32, _saveSqlFlag int32, _ppStmt *unsafe.Pointer, _pzTail *unsafe.Pointer) (r0 int32) { // sqlite3.c:116161:1 153264 var _zSql8 *int8 // sqlite3.c:116173:8 153265 _ = _zSql8 153266 var _zTail8 *int8 // sqlite3.c:116174:14 153267 _ = _zTail8 153268 var _rc int32 // sqlite3.c:116175:7 153269 _ = _rc 153270 var _2_sz int32 // sqlite3.c:116185:9 153271 _ = _2_sz 153272 var _2_z *int8 // sqlite3.c:116186:16 153273 _ = _2_z 153274 var _5_chars_parsed int32 // sqlite3.c:116202:9 153275 _ = _5_chars_parsed 153276 _zTail8 = nil 153277 _rc = i32(0) 153278 if _ppStmt != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 153279 goto _0 153280 } 153281 153282 r0 = _sqlite3MisuseError(tls, i32(116178)) 153283 return 153284 153285 _0: 153286 *_ppStmt = (unsafe.Pointer)(uintptr(i32(0))) 153287 if _sqlite3SafetyCheckOk(tls, _db) != 0 && unsafe.Pointer(_zSql) != (unsafe.Pointer)(uintptr(i32(0))) { 153288 goto _2 153289 } 153290 153291 r0 = _sqlite3MisuseError(tls, i32(116182)) 153292 return 153293 153294 _2: 153295 if _nBytes < i32(0) { 153296 goto _3 153297 } 153298 153299 _2_z = (*int8)(unsafe.Pointer(_zSql)) 153300 _2_sz = i32(0) 153301 _4: 153302 if _2_sz >= _nBytes || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_z)) + 1*uintptr(_2_sz)))) == i32(0) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_2_z)) + 1*uintptr(_2_sz+i32(1))))) == i32(0) { 153303 goto _9 153304 } 153305 153306 { 153307 p := &_2_sz 153308 *p = (*p) + i32(2) 153309 sink961 = *p 153310 } 153311 goto _4 153312 153313 _9: 153314 _nBytes = _2_sz 153315 _3: 153316 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153317 _zSql8 = _sqlite3Utf16to8(tls, _db, _zSql, _nBytes, uint8(i32(2))) 153318 if _zSql8 == nil { 153319 goto _10 153320 } 153321 153322 _rc = _sqlite3LockAndPrepare(tls, _db, _zSql8, i32(-1), _saveSqlFlag, (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))), _ppStmt, &_zTail8) 153323 _10: 153324 if _zTail8 == nil || _pzTail == nil { 153325 goto _12 153326 } 153327 153328 _5_chars_parsed = _sqlite3Utf8CharLen(tls, _zSql8, int32((uintptr(unsafe.Pointer(_zTail8))-uintptr(unsafe.Pointer(_zSql8)))/1)) 153329 *_pzTail = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_zSql)))) + uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_sqlite3Utf16ByteLen(tls, _zSql, _5_chars_parsed))))))))) 153330 _12: 153331 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zSql8)) 153332 _rc = _sqlite3ApiExit(tls, _db, _rc) 153333 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153334 r0 = _rc 153335 return 153336 153337 } 153338 153339 func _sqlite3Utf16ByteLen(tls *crt.TLS, _zIn unsafe.Pointer, _nChar int32) (r0 int32) { // sqlite3.c:27539:1 153340 var _c int32 // sqlite3.c:27540:7 153341 _ = _c 153342 var _z *uint8 // sqlite3.c:27541:23 153343 _ = _z 153344 var _n int32 // sqlite3.c:27542:7 153345 _ = _n 153346 var _4_c2 int32 // sqlite3.c:27546:7 153347 _ = _4_c2 153348 var _8_c2 int32 // sqlite3.c:27551:7 153349 _ = _8_c2 153350 _z = (*uint8)(unsafe.Pointer(_zIn)) 153351 _n = i32(0) 153352 goto _0 153353 153354 _0: 153355 _7: 153356 if _n >= _nChar { 153357 goto _8 153358 } 153359 153360 _c = int32(*postInc6921(&_z, 1)) 153361 { 153362 p := &_c 153363 *p = (*p) + (int32(*postInc6921(&_z, 1)) << uint(i32(8))) 153364 sink961 = *p 153365 } 153366 if _c < i32(55296) || _c >= i32(57344) || i32(1) == 0 { 153367 goto _11 153368 } 153369 153370 _8_c2 = int32(*postInc6921(&_z, 1)) 153371 { 153372 p := &_8_c2 153373 *p = (*p) + (int32(*postInc6921(&_z, 1)) << uint(i32(8))) 153374 sink961 = *p 153375 } 153376 _c = ((_8_c2 & i32(1023)) + ((_c & i32(63)) << uint(i32(10)))) + (((_c & i32(960)) + i32(64)) << uint(i32(10))) 153377 _11: 153378 _n += 1 153379 goto _7 153380 153381 _8: 153382 r0 = int32((uintptr(unsafe.Pointer(_z)) - uintptr(unsafe.Pointer((*uint8)(unsafe.Pointer(_zIn))))) / 1) 153383 return 153384 153385 } 153386 153387 var _sqlite3_prepare16Ø00__func__Ø000 [18]int8 // - 153388 153389 func init() { 153390 crt.Xstrncpy(nil, &_sqlite3_prepare16Ø00__func__Ø000[0], str(135408), 18) 153391 } 153392 153393 func Xsqlite3_profile(tls *crt.TLS, _db *Xsqlite3, _xProfile func(*crt.TLS, unsafe.Pointer, *int8, uint64), _pArg unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:141783:12 153394 var _pOld unsafe.Pointer // sqlite3.c:141788:8 153395 _ = _pOld 153396 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 153397 goto _0 153398 } 153399 153400 _sqlite3MisuseError(tls, i32(141792)) 153401 r0 = (unsafe.Pointer)(uintptr(i32(0))) 153402 return 153403 153404 _0: 153405 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153406 _pOld = _db.X44 153407 *(*func(*crt.TLS, unsafe.Pointer, *int8, uint64))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(188 /* X43 */))) = _xProfile 153408 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(192 /* X44 */))) = _pArg 153409 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153410 r0 = _pOld 153411 return 153412 153413 } 153414 153415 func Xsqlite3_progress_handler(tls *crt.TLS, _db *Xsqlite3, _nOps int32, _xProgress func(*crt.TLS, unsafe.Pointer) int32, _pArg unsafe.Pointer) { // sqlite3.c:141440:12 153416 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 153417 goto _0 153418 } 153419 153420 _sqlite3MisuseError(tls, i32(141448)) 153421 return 153422 153423 _0: 153424 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153425 if _nOps <= i32(0) { 153426 goto _1 153427 } 153428 153429 *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(300 /* X61 */))) = _xProgress 153430 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(308 /* X63 */))) = uint32(_nOps) 153431 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(304 /* X62 */))) = _pArg 153432 goto _2 153433 153434 _1: 153435 *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(300 /* X61 */))) = nil 153436 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(308 /* X63 */))) = uint32(i32(0)) 153437 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(304 /* X62 */))) = (unsafe.Pointer)(uintptr(i32(0))) 153438 _2: 153439 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153440 return 153441 153442 } 153443 153444 func Xsqlite3_realloc(tls *crt.TLS, _pOld unsafe.Pointer, _n int32) (r0 unsafe.Pointer) { // sqlite3.c:24748:12 153445 if Xsqlite3_initialize(tls) == 0 { 153446 goto _0 153447 } 153448 153449 r0 = (unsafe.Pointer)(uintptr(i32(0))) 153450 return 153451 153452 _0: 153453 if _n >= i32(0) { 153454 goto _1 153455 } 153456 153457 _n = i32(0) 153458 _1: 153459 r0 = _sqlite3Realloc(tls, _pOld, uint64(_n)) 153460 return 153461 153462 } 153463 153464 func Xsqlite3_result_error16(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n int32) { // sqlite3.c:76365:12 153465 func() int32 { 153466 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153467 return i32(0) 153468 } 153469 return func() int32 { 153470 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76366), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_error16Ø00__func__Ø000))), unsafe.Pointer(str(6312))) 153471 crt.X__builtin_abort(tls) 153472 return i32(0) 153473 }() 153474 }() 153475 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(20 /* X5 */))) = i32(1) 153476 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 153477 _sqlite3VdbeMemSetStr(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(2)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 153478 return 153479 153480 } 153481 153482 var _sqlite3_result_error16Ø00__func__Ø000 [23]int8 // - 153483 153484 func init() { 153485 crt.Xstrncpy(nil, &_sqlite3_result_error16Ø00__func__Ø000[0], str(135428), 23) 153486 } 153487 153488 func Xsqlite3_result_int64(tls *crt.TLS, _pCtx *Xsqlite3_context, _iVal int64) { // sqlite3.c:76376:12 153489 func() int32 { 153490 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153491 return i32(0) 153492 } 153493 return func() int32 { 153494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76377), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_int64Ø00__func__Ø000))), unsafe.Pointer(str(6312))) 153495 crt.X__builtin_abort(tls) 153496 return i32(0) 153497 }() 153498 }() 153499 _sqlite3VdbeMemSetInt64(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _iVal) 153500 return 153501 153502 } 153503 153504 var _sqlite3_result_int64Ø00__func__Ø000 [21]int8 // - 153505 153506 func init() { 153507 crt.Xstrncpy(nil, &_sqlite3_result_int64Ø00__func__Ø000[0], str(135452), 21) 153508 } 153509 153510 func Xsqlite3_result_null(tls *crt.TLS, _pCtx *Xsqlite3_context) { // sqlite3.c:76380:12 153511 func() int32 { 153512 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153513 return i32(0) 153514 } 153515 return func() int32 { 153516 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76381), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_nullØ00__func__Ø000))), unsafe.Pointer(str(6312))) 153517 crt.X__builtin_abort(tls) 153518 return i32(0) 153519 }() 153520 }() 153521 _sqlite3VdbeMemSetNull(tls, (*XMem)(unsafe.Pointer(_pCtx.X0))) 153522 return 153523 153524 } 153525 153526 var _sqlite3_result_nullØ00__func__Ø000 [20]int8 // - 153527 153528 func init() { 153529 crt.Xstrncpy(nil, &_sqlite3_result_nullØ00__func__Ø000[0], str(135476), 20) 153530 } 153531 153532 func Xsqlite3_result_text16(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n int32, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76416:12 153533 func() int32 { 153534 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153535 return i32(0) 153536 } 153537 return func() int32 { 153538 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76422), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_text16Ø00__func__Ø000))), unsafe.Pointer(str(6312))) 153539 crt.X__builtin_abort(tls) 153540 return i32(0) 153541 }() 153542 }() 153543 _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(2)), _xDel) 153544 return 153545 153546 } 153547 153548 var _sqlite3_result_text16Ø00__func__Ø000 [22]int8 // - 153549 153550 func init() { 153551 crt.Xstrncpy(nil, &_sqlite3_result_text16Ø00__func__Ø000[0], str(135496), 22) 153552 } 153553 153554 func Xsqlite3_result_text16be(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n int32, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76425:12 153555 func() int32 { 153556 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153557 return i32(0) 153558 } 153559 return func() int32 { 153560 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76431), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_text16beØ00__func__Ø000))), unsafe.Pointer(str(6312))) 153561 crt.X__builtin_abort(tls) 153562 return i32(0) 153563 }() 153564 }() 153565 _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(3)), _xDel) 153566 return 153567 153568 } 153569 153570 var _sqlite3_result_text16beØ00__func__Ø000 [24]int8 // - 153571 153572 func init() { 153573 crt.Xstrncpy(nil, &_sqlite3_result_text16beØ00__func__Ø000[0], str(135520), 24) 153574 } 153575 153576 func Xsqlite3_result_text16le(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n int32, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76434:12 153577 func() int32 { 153578 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153579 return i32(0) 153580 } 153581 return func() int32 { 153582 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76440), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_text16leØ00__func__Ø000))), unsafe.Pointer(str(6312))) 153583 crt.X__builtin_abort(tls) 153584 return i32(0) 153585 }() 153586 }() 153587 _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), _n, uint8(i32(2)), _xDel) 153588 return 153589 153590 } 153591 153592 var _sqlite3_result_text16leØ00__func__Ø000 [24]int8 // - 153593 153594 func init() { 153595 crt.Xstrncpy(nil, &_sqlite3_result_text16leØ00__func__Ø000[0], str(135544), 24) 153596 } 153597 153598 func Xsqlite3_rollback_hook(tls *crt.TLS, _db *Xsqlite3, _xCallback func(*crt.TLS, unsafe.Pointer), _pArg unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:141861:12 153599 var _pRet unsafe.Pointer // sqlite3.c:141866:8 153600 _ = _pRet 153601 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 153602 goto _0 153603 } 153604 153605 _sqlite3MisuseError(tls, i32(141870)) 153606 r0 = (unsafe.Pointer)(uintptr(i32(0))) 153607 return 153608 153609 _0: 153610 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153611 _pRet = _db.X47 153612 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(208 /* X48 */))) = _xCallback 153613 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(204 /* X47 */))) = _pArg 153614 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153615 r0 = _pRet 153616 return 153617 153618 } 153619 153620 func Xsqlite3_set_authorizer(tls *crt.TLS, _db *Xsqlite3, _xAuth func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:99257:12 153621 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 153622 goto _0 153623 } 153624 153625 r0 = _sqlite3MisuseError(tls, i32(99263)) 153626 return 153627 153628 _0: 153629 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153630 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(292 /* X59 */))) = _xAuth 153631 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(296 /* X60 */))) = _pArg 153632 _sqlite3ExpirePreparedStatements(tls, _db) 153633 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153634 r0 = i32(0) 153635 return 153636 153637 } 153638 153639 func Xsqlite3_set_auxdata(tls *crt.TLS, _pCtx *Xsqlite3_context, _iArg int32, _pAux unsafe.Pointer, _xDelete func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76833:12 153640 var _pAuxData *XAuxData // sqlite3.c:76839:11 153641 _ = _pAuxData 153642 var _pVdbe *XVdbe // sqlite3.c:76840:8 153643 _ = _pVdbe 153644 _pVdbe = (*XVdbe)(unsafe.Pointer(_pCtx.X3)) 153645 func() int32 { 153646 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 153647 return i32(0) 153648 } 153649 return func() int32 { 153650 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76842), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_set_auxdataØ00__func__Ø000))), unsafe.Pointer(str(6312))) 153651 crt.X__builtin_abort(tls) 153652 return i32(0) 153653 }() 153654 }() 153655 if _iArg >= i32(0) { 153656 goto _2 153657 } 153658 153659 goto _failed 153660 153661 _2: 153662 func() int32 { 153663 if _pVdbe != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 153664 return i32(0) 153665 } 153666 return func() int32 { 153667 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76847), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_set_auxdataØ00__func__Ø000))), unsafe.Pointer(str(44052))) 153668 crt.X__builtin_abort(tls) 153669 return i32(0) 153670 }() 153671 }() 153672 _pAuxData = (*XAuxData)(unsafe.Pointer(_pVdbe.X43)) 153673 _5: 153674 if _pAuxData == nil { 153675 goto _8 153676 } 153677 153678 if (_pAuxData.X0) != (_pCtx.X4) || (_pAuxData.X1) != _iArg { 153679 goto _10 153680 } 153681 153682 goto _8 153683 153684 _10: 153685 _pAuxData = (*XAuxData)(unsafe.Pointer(_pAuxData.X4)) 153686 goto _5 153687 153688 _8: 153689 if _pAuxData != (*XAuxData)(unsafe.Pointer(uintptr(i32(0)))) { 153690 goto _11 153691 } 153692 153693 _pAuxData = (*XAuxData)(unsafe.Pointer(_sqlite3DbMallocZero(tls, (*Xsqlite3)(unsafe.Pointer(_pVdbe.X0)), uint64(u32(20))))) 153694 if _pAuxData != nil { 153695 goto _12 153696 } 153697 153698 goto _failed 153699 153700 _12: 153701 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(0 /* X0 */))) = _pCtx.X4 153702 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(4 /* X1 */))) = _iArg 153703 *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(16 /* X4 */))))) = (*XAuxData)(unsafe.Pointer(_pVdbe.X43)) 153704 *(**XAuxData)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe)) + uintptr(200 /* X43 */))))) = _pAuxData 153705 if int32(_pCtx.X7) != i32(0) { 153706 goto _13 153707 } 153708 153709 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(20 /* X5 */))) = i32(0) 153710 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCtx)) + uintptr(25 /* X7 */))) = uint8(i32(1)) 153711 _13: 153712 goto _14 153713 153714 _11: 153715 if (_pAuxData.X3) == nil { 153716 goto _15 153717 } 153718 153719 (_pAuxData.X3)(tls, _pAuxData.X2) 153720 _15: 153721 _14: 153722 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(8 /* X2 */))) = _pAux 153723 *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAuxData)) + uintptr(12 /* X3 */))) = _xDelete 153724 return 153725 153726 _failed: 153727 if _xDelete == nil { 153728 goto _16 153729 } 153730 153731 _xDelete(tls, _pAux) 153732 _16: 153733 return 153734 153735 } 153736 153737 var _sqlite3_set_auxdataØ00__func__Ø000 [20]int8 // - 153738 153739 func init() { 153740 crt.Xstrncpy(nil, &_sqlite3_set_auxdataØ00__func__Ø000[0], str(135568), 20) 153741 } 153742 153743 func Xsqlite3_table_column_metadata(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8, _zTableName *int8, _zColumnName *int8, _pzDataType **int8, _pzCollSeq **int8, _pNotNull *int32, _pPrimaryKey *int32, _pAutoinc *int32) (r0 int32) { // sqlite3.c:143267:12 153744 var _rc int32 // sqlite3.c:143278:7 153745 _ = _rc 153746 var _zErrMsg *int8 // sqlite3.c:143279:8 153747 _ = _zErrMsg 153748 var _pTab *XTable // sqlite3.c:143280:9 153749 _ = _pTab 153750 var _pCol *XColumn // sqlite3.c:143281:10 153751 _ = _pCol 153752 var _iCol int32 // sqlite3.c:143282:7 153753 _ = _iCol 153754 var _zDataType *int8 // sqlite3.c:143283:14 153755 _ = _zDataType 153756 var _zCollSeq *int8 // sqlite3.c:143284:14 153757 _ = _zCollSeq 153758 var _notnull int32 // sqlite3.c:143285:7 153759 _ = _notnull 153760 var _primarykey int32 // sqlite3.c:143286:7 153761 _ = _primarykey 153762 var _autoinc int32 // sqlite3.c:143287:7 153763 _ = _autoinc 153764 _zErrMsg = nil 153765 _pTab = nil 153766 _pCol = nil 153767 _iCol = i32(0) 153768 _zDataType = nil 153769 _zCollSeq = nil 153770 _notnull = i32(0) 153771 _primarykey = i32(0) 153772 _autoinc = i32(0) 153773 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zTableName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 153774 goto _1 153775 } 153776 153777 r0 = _sqlite3MisuseError(tls, i32(143292)) 153778 return 153779 153780 _1: 153781 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153782 _sqlite3BtreeEnterAll(tls, _db) 153783 _rc = _sqlite3Init(tls, _db, &_zErrMsg) 153784 if i32(0) == _rc { 153785 goto _2 153786 } 153787 153788 goto _error_out 153789 153790 _2: 153791 _pTab = _sqlite3FindTable(tls, _db, _zTableName, _zDbName) 153792 if _pTab != nil && (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 153793 goto _4 153794 } 153795 153796 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 153797 goto _error_out 153798 153799 _4: 153800 if _zColumnName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 153801 goto _5 153802 } 153803 153804 goto _6 153805 153806 _5: 153807 _iCol = i32(0) 153808 _7: 153809 if _iCol >= int32(_pTab.X11) { 153810 goto _10 153811 } 153812 153813 _pCol = (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))) 153814 if i32(0) != _sqlite3StrICmp(tls, _pCol.X0, _zColumnName) { 153815 goto _11 153816 } 153817 153818 goto _10 153819 153820 _11: 153821 _iCol += 1 153822 goto _7 153823 153824 _10: 153825 if _iCol != int32(_pTab.X11) { 153826 goto _12 153827 } 153828 153829 if ((_pTab.X9)&uint32(i32(32))) != uint32(i32(0)) || _sqlite3IsRowid(tls, _zColumnName) == 0 { 153830 goto _14 153831 } 153832 153833 _iCol = int32(_pTab.X10) 153834 _pCol = func() *XColumn { 153835 if _iCol >= i32(0) { 153836 return (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1) + 16*uintptr(_iCol))) 153837 } 153838 return (*XColumn)(unsafe.Pointer(uintptr(i32(0)))) 153839 }() 153840 goto _17 153841 153842 _14: 153843 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 153844 goto _error_out 153845 153846 _17: 153847 _12: 153848 _6: 153849 if _pCol == nil { 153850 goto _18 153851 } 153852 153853 _zDataType = _sqlite3ColumnType(tls, _pCol, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 153854 _zCollSeq = _pCol.X2 153855 _notnull = bool2int(int32(_pCol.X3) != i32(0)) 153856 _primarykey = bool2int((int32(_pCol.X6) & i32(1)) != i32(0)) 153857 _autoinc = bool2int((int32(_pTab.X10) == _iCol) && (((_pTab.X9) & uint32(i32(8))) != uint32(i32(0)))) 153858 goto _20 153859 153860 _18: 153861 _zDataType = str(27044) 153862 _primarykey = i32(1) 153863 _20: 153864 if _zCollSeq != nil { 153865 goto _21 153866 } 153867 153868 _zCollSeq = (*int8)(unsafe.Pointer(&_sqlite3StrBINARY)) 153869 _21: 153870 _error_out: 153871 _sqlite3BtreeLeaveAll(tls, _db) 153872 if _pzDataType == nil { 153873 goto _22 153874 } 153875 153876 *_pzDataType = _zDataType 153877 _22: 153878 if _pzCollSeq == nil { 153879 goto _23 153880 } 153881 153882 *_pzCollSeq = _zCollSeq 153883 _23: 153884 if _pNotNull == nil { 153885 goto _24 153886 } 153887 153888 *_pNotNull = _notnull 153889 _24: 153890 if _pPrimaryKey == nil { 153891 goto _25 153892 } 153893 153894 *_pPrimaryKey = _primarykey 153895 _25: 153896 if _pAutoinc == nil { 153897 goto _26 153898 } 153899 153900 *_pAutoinc = _autoinc 153901 _26: 153902 if i32(0) != _rc || _pTab != nil { 153903 goto _28 153904 } 153905 153906 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) 153907 _zErrMsg = _sqlite3MPrintf(tls, _db, str(135588), unsafe.Pointer(_zTableName), unsafe.Pointer(_zColumnName)) 153908 _rc = i32(1) 153909 _28: 153910 _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { 153911 if _zErrMsg != nil { 153912 return str(25612) 153913 } 153914 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 153915 }(), unsafe.Pointer(_zErrMsg)) 153916 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErrMsg)) 153917 _rc = _sqlite3ApiExit(tls, _db, _rc) 153918 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153919 r0 = _rc 153920 return 153921 153922 } 153923 153924 func Xsqlite3_thread_cleanup(tls *crt.TLS) { // sqlite3.c:143259:12 153925 return 153926 153927 } 153928 153929 func Xsqlite3_total_changes(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140858:12 153930 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 153931 goto _0 153932 } 153933 153934 _sqlite3MisuseError(tls, i32(140861)) 153935 r0 = i32(0) 153936 return 153937 153938 _0: 153939 r0 = _db.X30 153940 return 153941 153942 } 153943 153944 func Xsqlite3_trace(tls *crt.TLS, _db *Xsqlite3, _xTrace func(*crt.TLS, unsafe.Pointer, *int8), _pArg unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:141732:12 153945 var _pOld unsafe.Pointer // sqlite3.c:141733:8 153946 _ = _pOld 153947 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 153948 goto _0 153949 } 153950 153951 _sqlite3MisuseError(tls, i32(141737)) 153952 r0 = (unsafe.Pointer)(uintptr(i32(0))) 153953 return 153954 153955 _0: 153956 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153957 _pOld = _db.X42 153958 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(72 /* X24 */))) = uint8(func() int32 { 153959 if _xTrace != nil { 153960 return i32(128) 153961 } 153962 return i32(0) 153963 }()) 153964 *(*func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(180 /* X41 */))) = *(*func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 153965 f func(*crt.TLS, unsafe.Pointer, *int8) 153966 }{_xTrace})) 153967 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(184 /* X42 */))) = _pArg 153968 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 153969 r0 = _pOld 153970 return 153971 153972 } 153973 153974 func Xsqlite3_transfer_bindings(tls *crt.TLS, _pFromStmt unsafe.Pointer, _pToStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77524:12 153975 var _pFrom *XVdbe // sqlite3.c:77525:8 153976 _ = _pFrom 153977 var _pTo *XVdbe // sqlite3.c:77526:8 153978 _ = _pTo 153979 _pFrom = (*XVdbe)(unsafe.Pointer(_pFromStmt)) 153980 _pTo = (*XVdbe)(unsafe.Pointer(_pToStmt)) 153981 if int32(_pFrom.X4) == int32(_pTo.X4) { 153982 goto _0 153983 } 153984 153985 r0 = i32(1) 153986 return 153987 153988 _0: 153989 func() int32 { 153990 if (((uint32((_pTo.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_pTo.X41) == uint32(i32(0))) { 153991 return i32(0) 153992 } 153993 return func() int32 { 153994 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77530), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_transfer_bindingsØ00__func__Ø000))), unsafe.Pointer(str(135616))) 153995 crt.X__builtin_abort(tls) 153996 return i32(0) 153997 }() 153998 }() 153999 if (_pTo.X41) == 0 { 154000 goto _4 154001 } 154002 154003 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pTo))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 154004 _4: 154005 func() int32 { 154006 if (((uint32((_pFrom.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_pFrom.X41) == uint32(i32(0))) { 154007 return i32(0) 154008 } 154009 return func() int32 { 154010 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77534), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_transfer_bindingsØ00__func__Ø000))), unsafe.Pointer(str(135652))) 154011 crt.X__builtin_abort(tls) 154012 return i32(0) 154013 }() 154014 }() 154015 if (_pFrom.X41) == 0 { 154016 goto _8 154017 } 154018 154019 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFrom))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 154020 _8: 154021 r0 = _sqlite3TransferBindings(tls, _pFromStmt, _pToStmt) 154022 return 154023 154024 } 154025 154026 var _sqlite3_transfer_bindingsØ00__func__Ø000 [26]int8 // - 154027 154028 func init() { 154029 crt.Xstrncpy(nil, &_sqlite3_transfer_bindingsØ00__func__Ø000[0], str(135692), 26) 154030 } 154031 154032 func Xsqlite3_update_hook(tls *crt.TLS, _db *Xsqlite3, _xCallback func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), _pArg unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:141836:12 154033 var _pRet unsafe.Pointer // sqlite3.c:141841:8 154034 _ = _pRet 154035 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 154036 goto _0 154037 } 154038 154039 _sqlite3MisuseError(tls, i32(141845)) 154040 r0 = (unsafe.Pointer)(uintptr(i32(0))) 154041 return 154042 154043 _0: 154044 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154045 _pRet = _db.X49 154046 *(*func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64))(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(216 /* X50 */))) = _xCallback 154047 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(212 /* X49 */))) = _pArg 154048 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154049 r0 = _pRet 154050 return 154051 154052 } 154053 154054 func Xsqlite3_value_numeric_type(tls *crt.TLS, _pVal *XMem) (r0 int32) { // sqlite3.c:78418:12 154055 var _eType int32 // sqlite3.c:78419:7 154056 _ = _eType 154057 var _1_pMem *XMem // sqlite3.c:78421:9 154058 _ = _1_pMem 154059 _eType = Xsqlite3_value_type(tls, _pVal) 154060 if _eType != i32(3) { 154061 goto _0 154062 } 154063 154064 _1_pMem = _pVal 154065 _applyNumericAffinity(tls, _1_pMem, i32(0)) 154066 _eType = Xsqlite3_value_type(tls, _pVal) 154067 _0: 154068 r0 = _eType 154069 return 154070 154071 } 154072 154073 func Xsqlite3_value_text16be(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76213:12 154074 r0 = _sqlite3ValueText(tls, _pVal, uint8(i32(3))) 154075 return 154076 154077 } 154078 154079 func Xsqlite3_value_text16le(tls *crt.TLS, _pVal *XMem) (r0 unsafe.Pointer) { // sqlite3.c:76216:12 154080 r0 = _sqlite3ValueText(tls, _pVal, uint8(i32(2))) 154081 return 154082 154083 } 154084 154085 func Xsqlite3_prepare16_v2(tls *crt.TLS, _db *Xsqlite3, _zSql unsafe.Pointer, _nBytes int32, _ppStmt *unsafe.Pointer, _pzTail *unsafe.Pointer) (r0 int32) { // sqlite3.c:116231:12 154086 var _rc int32 // sqlite3.c:116238:7 154087 _ = _rc 154088 _rc = _sqlite3Prepare16(tls, _db, _zSql, _nBytes, i32(1), _ppStmt, _pzTail) 154089 func() int32 { 154090 if ((_rc == i32(0)) || (_ppStmt == (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))))) || (unsafe.Pointer(*_ppStmt) == (unsafe.Pointer)(uintptr(i32(0)))) { 154091 return i32(0) 154092 } 154093 return func() int32 { 154094 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(116240), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_prepare16_v2Ø00__func__Ø000))), unsafe.Pointer(str(53272))) 154095 crt.X__builtin_abort(tls) 154096 return i32(0) 154097 }() 154098 }() 154099 r0 = _rc 154100 return 154101 154102 } 154103 154104 var _sqlite3_prepare16_v2Ø00__func__Ø000 [21]int8 // - 154105 154106 func init() { 154107 crt.Xstrncpy(nil, &_sqlite3_prepare16_v2Ø00__func__Ø000[0], str(135720), 21) 154108 } 154109 154110 func Xsqlite3_clear_bindings(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:76149:12 154111 var _i int32 // sqlite3.c:76150:7 154112 _ = _i 154113 var _rc int32 // sqlite3.c:76151:7 154114 _ = _rc 154115 var _p *XVdbe // sqlite3.c:76152:8 154116 _ = _p 154117 var _mutex *Xsqlite3_mutex // sqlite3.c:76154:17 154118 _ = _mutex 154119 _rc = i32(0) 154120 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 154121 _mutex = (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XVdbe)(unsafe.Pointer(_pStmt)).X0)).X3)) 154122 Xsqlite3_mutex_enter(tls, _mutex) 154123 _i = i32(0) 154124 _0: 154125 if _i >= int32(_p.X4) { 154126 goto _3 154127 } 154128 154129 _sqlite3VdbeMemRelease(tls, (*XMem)(unsafe.Pointer(uintptr(_p.X24)+48*uintptr(_i)))) 154130 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_p.X24)+48*uintptr(_i))))) + uintptr(8 /* X1 */))) = uint16(i32(1)) 154131 _i += 1 154132 goto _0 154133 154134 _3: 154135 func() int32 { 154136 if (((uint32((_p.X32)>>uint(i32(9))) << uint(i32(31))) >> uint(i32(31))) != 0) || ((_p.X41) == uint32(i32(0))) { 154137 return i32(0) 154138 } 154139 return func() int32 { 154140 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76161), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_clear_bindingsØ00__func__Ø000))), unsafe.Pointer(str(8288))) 154141 crt.X__builtin_abort(tls) 154142 return i32(0) 154143 }() 154144 }() 154145 if (_p.X41) == 0 { 154146 goto _7 154147 } 154148 154149 storebits955((*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(140 /* X32 */))), int16(i32(1)), 1, 0) 154150 _7: 154151 Xsqlite3_mutex_leave(tls, _mutex) 154152 r0 = _rc 154153 return 154154 154155 } 154156 154157 var _sqlite3_clear_bindingsØ00__func__Ø000 [23]int8 // - 154158 154159 func init() { 154160 crt.Xstrncpy(nil, &_sqlite3_clear_bindingsØ00__func__Ø000[0], str(135744), 23) 154161 } 154162 154163 func Xsqlite3_create_module_v2(tls *crt.TLS, _db *Xsqlite3, _zName *int8, _pModule *Xsqlite3_module, _pAux unsafe.Pointer, _xDestroy func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:124636:12 154164 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 154165 goto _1 154166 } 154167 154168 r0 = _sqlite3MisuseError(tls, i32(124644)) 154169 return 154170 154171 _1: 154172 r0 = _createModule(tls, _db, _zName, _pModule, _pAux, _xDestroy) 154173 return 154174 154175 } 154176 154177 func Xsqlite3_blob_bytes(tls *crt.TLS, _pBlob unsafe.Pointer) (r0 int32) { // sqlite3.c:85801:12 154178 var _p *XIncrblob // sqlite3.c:85802:12 154179 _ = _p 154180 _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) 154181 r0 = func() int32 { 154182 if (_p != nil) && ((_p.X4) != nil) { 154183 return (_p.X0) 154184 } 154185 return i32(0) 154186 }() 154187 return 154188 154189 } 154190 154191 func Xsqlite3_blob_close(tls *crt.TLS, _pBlob unsafe.Pointer) (r0 int32) { // sqlite3.c:85691:12 154192 var _p *XIncrblob // sqlite3.c:85692:12 154193 _ = _p 154194 var _rc int32 // sqlite3.c:85693:7 154195 _ = _rc 154196 var _db *Xsqlite3 // sqlite3.c:85694:11 154197 _ = _db 154198 _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) 154199 if _p == nil { 154200 goto _0 154201 } 154202 154203 _db = (*Xsqlite3)(unsafe.Pointer(_p.X5)) 154204 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154205 _rc = Xsqlite3_finalize(tls, _p.X4) 154206 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_p)) 154207 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154208 goto _1 154209 154210 _0: 154211 _rc = i32(0) 154212 _1: 154213 r0 = _rc 154214 return 154215 154216 } 154217 154218 func Xsqlite3_blob_open(tls *crt.TLS, _db *Xsqlite3, _zDb *int8, _zTable *int8, _zColumn *int8, _iRow int64, _wrFlag int32, _ppBlob *unsafe.Pointer) (r0 int32) { // sqlite3.c:85455:12 154219 var _nAttempt int32 // sqlite3.c:85464:7 154220 _ = _nAttempt 154221 var _iCol int32 // sqlite3.c:85465:7 154222 _ = _iCol 154223 var _rc int32 // sqlite3.c:85466:7 154224 _ = _rc 154225 var _zErr *int8 // sqlite3.c:85467:8 154226 _ = _zErr 154227 var _pTab *XTable // sqlite3.c:85468:9 154228 _ = _pTab 154229 var _pParse *XParse // sqlite3.c:85469:9 154230 _ = _pParse 154231 var _pBlob *XIncrblob // sqlite3.c:85470:12 154232 _ = _pBlob 154233 var _12_zFault *int8 // sqlite3.c:85545:18 154234 _ = _12_zFault 154235 var _12_pIdx *XIndex // sqlite3.c:85546:13 154236 _ = _12_pIdx 154237 var _13_pFKey *XFKey // sqlite3.c:85553:14 154238 _ = _13_pFKey 154239 var _14_j int32 // sqlite3.c:85555:15 154240 _ = _14_j 154241 var _17_j int32 // sqlite3.c:85565:13 154242 _ = _17_j 154243 var _21_v *XVdbe // sqlite3.c:85611:12 154244 _ = _21_v 154245 var _21_iDb int32 // sqlite3.c:85612:11 154246 _ = _21_iDb 154247 var _21_aOp *XVdbeOp // sqlite3.c:85613:14 154248 _ = _21_aOp 154249 _nAttempt = i32(0) 154250 _rc = i32(0) 154251 _zErr = nil 154252 _pParse = nil 154253 _pBlob = nil 154254 if _ppBlob != (*unsafe.Pointer)(unsafe.Pointer(uintptr(i32(0)))) { 154255 goto _0 154256 } 154257 154258 r0 = _sqlite3MisuseError(tls, i32(85474)) 154259 return 154260 154261 _0: 154262 *_ppBlob = (unsafe.Pointer)(uintptr(i32(0))) 154263 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _zTable != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 154264 goto _2 154265 } 154266 154267 r0 = _sqlite3MisuseError(tls, i32(85480)) 154268 return 154269 154270 _2: 154271 _wrFlag = bool2int(_wrFlag != 0) 154272 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154273 _pBlob = (*XIncrblob)(unsafe.Pointer(_sqlite3DbMallocZero(tls, _db, uint64(u32(32))))) 154274 if _pBlob != nil { 154275 goto _3 154276 } 154277 154278 goto _blob_open_out 154279 154280 _3: 154281 _pParse = (*XParse)(unsafe.Pointer(_sqlite3DbMallocRaw(tls, _db, uint64(u32(484))))) 154282 if _pParse != nil { 154283 goto _4 154284 } 154285 154286 goto _blob_open_out 154287 154288 _4: 154289 _5: 154290 crt.Xmemset(tls, (unsafe.Pointer)(_pParse), i32(0), u32(484)) 154291 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(0 /* X0 */))))) = _db 154292 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 154293 _zErr = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 154294 _sqlite3BtreeEnterAll(tls, _db) 154295 _pTab = _sqlite3LocateTable(tls, _pParse, uint32(i32(0)), _zTable, _zDb) 154296 if _pTab == nil || (_pTab.X16) == 0 { 154297 goto _7 154298 } 154299 154300 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 154301 _sqlite3ErrorMsg(tls, _pParse, str(135768), unsafe.Pointer(_zTable)) 154302 _7: 154303 if _pTab == nil || ((_pTab.X9)&uint32(i32(32))) == uint32(i32(0)) { 154304 goto _9 154305 } 154306 154307 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 154308 _sqlite3ErrorMsg(tls, _pParse, str(135800), unsafe.Pointer(_zTable)) 154309 _9: 154310 if _pTab == nil || (*XSelect)(unsafe.Pointer(_pTab.X3)) == nil { 154311 goto _11 154312 } 154313 154314 _pTab = (*XTable)(unsafe.Pointer(uintptr(i32(0)))) 154315 _sqlite3ErrorMsg(tls, _pParse, str(135836), unsafe.Pointer(_zTable)) 154316 _11: 154317 if _pTab != nil { 154318 goto _12 154319 } 154320 154321 if (_pParse.X1) == nil { 154322 goto _13 154323 } 154324 154325 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 154326 _zErr = _pParse.X1 154327 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 154328 _13: 154329 _rc = i32(1) 154330 _sqlite3BtreeLeaveAll(tls, _db) 154331 goto _blob_open_out 154332 154333 _12: 154334 *(**XTable)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(28 /* X7 */))))) = _pTab 154335 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(24 /* X6 */))) = (*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20)))))).X0 154336 _iCol = i32(0) 154337 _14: 154338 if _iCol >= int32(_pTab.X11) { 154339 goto _17 154340 } 154341 154342 if _sqlite3StrICmp(tls, (*XColumn)(unsafe.Pointer(uintptr(_pTab.X1)+16*uintptr(_iCol))).X0, _zColumn) != i32(0) { 154343 goto _18 154344 } 154345 154346 goto _17 154347 154348 _18: 154349 _iCol += 1 154350 goto _14 154351 154352 _17: 154353 if _iCol != int32(_pTab.X11) { 154354 goto _19 154355 } 154356 154357 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 154358 _zErr = _sqlite3MPrintf(tls, _db, str(135860), unsafe.Pointer(_zColumn)) 154359 _rc = i32(1) 154360 _sqlite3BtreeLeaveAll(tls, _db) 154361 goto _blob_open_out 154362 154363 _19: 154364 if _wrFlag == 0 { 154365 goto _20 154366 } 154367 154368 _12_zFault = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 154369 if ((_db.X6) & i32(524288)) == 0 { 154370 goto _21 154371 } 154372 154373 _13_pFKey = (*XFKey)(unsafe.Pointer(_pTab.X4)) 154374 _22: 154375 if _13_pFKey == nil { 154376 goto _25 154377 } 154378 154379 _14_j = i32(0) 154380 _26: 154381 if _14_j >= (_13_pFKey.X5) { 154382 goto _29 154383 } 154384 154385 if ((*T8257744)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]struct { 154386 X0 int32 154387 X1 *int8 154388 })(unsafe.Pointer(uintptr((unsafe.Pointer)(_13_pFKey))+uintptr(36 /* X9 */))))) + 8*uintptr(_14_j))).X0) != _iCol { 154389 goto _30 154390 } 154391 154392 _12_zFault = str(135884) 154393 _30: 154394 _14_j += 1 154395 goto _26 154396 154397 _29: 154398 _13_pFKey = (*XFKey)(unsafe.Pointer(_13_pFKey.X1)) 154399 goto _22 154400 154401 _25: 154402 _21: 154403 _12_pIdx = (*XIndex)(unsafe.Pointer(_pTab.X2)) 154404 _31: 154405 if _12_pIdx == nil { 154406 goto _34 154407 } 154408 154409 _17_j = i32(0) 154410 _35: 154411 if _17_j >= int32(_12_pIdx.X13) { 154412 goto _38 154413 } 154414 154415 if int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pIdx.X1)) + 2*uintptr(_17_j)))) != _iCol && int32(*(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pIdx.X1)) + 2*uintptr(_17_j)))) != i32(-2) { 154416 goto _40 154417 } 154418 154419 _12_zFault = str(135896) 154420 _40: 154421 _17_j += 1 154422 goto _35 154423 154424 _38: 154425 _12_pIdx = (*XIndex)(unsafe.Pointer(_12_pIdx.X5)) 154426 goto _31 154427 154428 _34: 154429 if _12_zFault == nil { 154430 goto _41 154431 } 154432 154433 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 154434 _zErr = _sqlite3MPrintf(tls, _db, str(135904), unsafe.Pointer(_12_zFault)) 154435 _rc = i32(1) 154436 _sqlite3BtreeLeaveAll(tls, _db) 154437 goto _blob_open_out 154438 154439 _41: 154440 _20: 154441 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(16 /* X4 */))) = (unsafe.Pointer)(_sqlite3VdbeCreate(tls, _pParse)) 154442 func() int32 { 154443 if ((_pBlob.X4) != nil) || ((_db.X17) != 0) { 154444 return i32(0) 154445 } 154446 return func() int32 { 154447 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85583), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_blob_openØ00__func__Ø000))), unsafe.Pointer(str(135940))) 154448 crt.X__builtin_abort(tls) 154449 return i32(0) 154450 }() 154451 }() 154452 if (_pBlob.X4) == nil { 154453 goto _45 154454 } 154455 154456 _21_v = (*XVdbe)(unsafe.Pointer(_pBlob.X4)) 154457 _21_iDb = _sqlite3SchemaToIndex(tls, _db, (*XSchema)(unsafe.Pointer(_pTab.X20))) 154458 _sqlite3VdbeAddOp4Int(tls, _21_v, i32(2), _21_iDb, _wrFlag, (*XSchema)(unsafe.Pointer(_pTab.X20)).X0, (*XSchema)(unsafe.Pointer(_pTab.X20)).X1) 154459 _sqlite3VdbeChangeP5(tls, _21_v, uint16(i32(1))) 154460 _21_aOp = _sqlite3VdbeAddOpList(tls, _21_v, i32(6), (*T8124566)(unsafe.Pointer(&_sqlite3_blob_openØ00openBlobØ002)), _sqlite3_blob_openØ00iLnØ001) 154461 _sqlite3VdbeUsesBtree(tls, _21_v, _21_iDb) 154462 if int32(_db.X17) != i32(0) { 154463 goto _46 154464 } 154465 154466 func() int32 { 154467 if _21_aOp != (*XVdbeOp)(unsafe.Pointer(uintptr(i32(0)))) { 154468 return i32(0) 154469 } 154470 return func() int32 { 154471 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85625), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_blob_openØ00__func__Ø000))), unsafe.Pointer(str(135976))) 154472 crt.X__builtin_abort(tls) 154473 return i32(0) 154474 }() 154475 }() 154476 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(0)))))) + uintptr(4 /* X3 */))) = _21_iDb 154477 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(0)))))) + uintptr(8 /* X4 */))) = _pTab.X7 154478 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(0)))))) + uintptr(12 /* X5 */))) = _wrFlag 154479 _sqlite3VdbeChangeP4(tls, _21_v, i32(1), _pTab.X0, i32(0)) 154480 _46: 154481 if int32(_db.X17) != i32(0) { 154482 goto _49 154483 } 154484 154485 if _wrFlag == 0 { 154486 goto _50 154487 } 154488 154489 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(1)))))) + uintptr(0 /* X0 */))) = uint8(i32(106)) 154490 _50: 154491 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(1)))))) + uintptr(8 /* X4 */))) = _pTab.X7 154492 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(1)))))) + uintptr(12 /* X5 */))) = _21_iDb 154493 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(1)))))) + uintptr(1 /* X1 */))) = int8(i32(-11)) 154494 *(*int32)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(1)))))) + uintptr(16 /* X6 */))))) = int32(_pTab.X11) + i32(1) 154495 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XVdbeOp)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_aOp))+24*uintptr(i32(3)))))) + uintptr(8 /* X4 */))) = int32(_pTab.X11) 154496 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(408 /* X52 */))) = int16(i32(0)) 154497 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(44 /* X18 */))) = i32(1) 154498 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pParse)) + uintptr(40 /* X17 */))) = i32(1) 154499 _sqlite3VdbeMakeReady(tls, _21_v, _pParse) 154500 _49: 154501 _45: 154502 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(8 /* X2 */))) = uint16(_iCol) 154503 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBlob)) + uintptr(20 /* X5 */))))) = _db 154504 _sqlite3BtreeLeaveAll(tls, _db) 154505 if (_db.X17) == 0 { 154506 goto _51 154507 } 154508 154509 goto _blob_open_out 154510 154511 _51: 154512 _rc = _blobSeekToRow(tls, _pBlob, _iRow, &_zErr) 154513 if (preInc961(&_nAttempt, 1) < i32(50)) && (_rc == i32(17)) { 154514 goto _5 154515 } 154516 154517 _blob_open_out: 154518 if _rc != i32(0) || int32(_db.X17) != i32(0) { 154519 goto _54 154520 } 154521 154522 *_ppBlob = (unsafe.Pointer)(_pBlob) 154523 goto _55 154524 154525 _54: 154526 if _pBlob == nil || (_pBlob.X4) == nil { 154527 goto _57 154528 } 154529 154530 _sqlite3VdbeFinalize(tls, (*XVdbe)(unsafe.Pointer(_pBlob.X4))) 154531 _57: 154532 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pBlob)) 154533 _55: 154534 _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { 154535 if _zErr != nil { 154536 return str(25612) 154537 } 154538 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 154539 }(), unsafe.Pointer(_zErr)) 154540 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_zErr)) 154541 _sqlite3ParserReset(tls, _pParse) 154542 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_pParse)) 154543 _rc = _sqlite3ApiExit(tls, _db, _rc) 154544 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154545 r0 = _rc 154546 return 154547 154548 } 154549 154550 var _sqlite3_blob_openØ00__func__Ø000 [18]int8 // - 154551 154552 func init() { 154553 crt.Xstrncpy(nil, &_sqlite3_blob_openØ00__func__Ø000[0], str(135984), 18) 154554 } 154555 154556 var _sqlite3_blob_openØ00openBlobØ002 [6]struct { 154557 X0 uint8 154558 X1 int8 154559 X2 int8 154560 X3 int8 154561 } // sqlite3.c:85602:31 154562 154563 func init() { 154564 _sqlite3_blob_openØ00openBlobØ002 = [6]struct { 154565 X0 uint8 154566 X1 int8 154567 X2 int8 154568 X3 int8 154569 }{T8124566{X0: u8(152), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(105), X1: i8(0), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(33), X1: i8(0), X2: i8(5), X3: i8(1)}, T8124566{X0: u8(98), X1: i8(0), X2: i8(0), X3: i8(1)}, T8124566{X0: u8(88), X1: i8(1), X2: i8(0), X3: i8(0)}, T8124566{X0: u8(76), X1: i8(0), X2: i8(0), X3: i8(0)}} 154570 } 154571 154572 var _sqlite3_blob_openØ00iLnØ001 int32 // sqlite3.c:85601:24 154573 154574 func _blobSeekToRow(tls *crt.TLS, _p *XIncrblob, _iRow int64, _pzErr **int8) (r0 int32) { // sqlite3.c:85391:1 154575 var _rc int32 // sqlite3.c:85392:7 154576 _ = _rc 154577 var _zErr *int8 // sqlite3.c:85393:8 154578 _ = _zErr 154579 var _v *XVdbe // sqlite3.c:85394:8 154580 _ = _v 154581 var _3_pC *XVdbeCursor // sqlite3.c:85413:16 154582 _ = _3_pC 154583 var _3_type uint32 // sqlite3.c:85414:9 154584 _ = _3_type 154585 _zErr = nil 154586 _v = (*XVdbe)(unsafe.Pointer(_p.X4)) 154587 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_v.X18)+48*uintptr(i32(1)))))) + uintptr(8 /* X1 */))) = uint16(i32(4)) 154588 *(*int64)(unsafe.Pointer((*T7779217)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XMem)(unsafe.Pointer(uintptr(_v.X18)+48*uintptr(i32(1)))))) + uintptr(0 /* X0 */))))) = _iRow 154589 if (_v.X9) <= i32(3) { 154590 goto _0 154591 } 154592 154593 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(36 /* X9 */))) = i32(3) 154594 _rc = _sqlite3VdbeExec(tls, _v) 154595 goto _1 154596 154597 _0: 154598 _rc = Xsqlite3_step(tls, _p.X4) 154599 _1: 154600 if _rc != i32(100) { 154601 goto _2 154602 } 154603 154604 _3_pC = *(**XVdbeCursor)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v.X23)) + 4*uintptr(i32(0)))) 154605 _3_type = func() uint32 { 154606 if int32(_3_pC.X19) > int32(_p.X2) { 154607 return (*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pC))+uintptr(80 /* X25 */))))) + 4*uintptr(_p.X2)))) 154608 } 154609 return uint32(i32(0)) 154610 }() 154611 if _3_type >= uint32(i32(12)) { 154612 goto _5 154613 } 154614 154615 _zErr = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5)), str(136004), unsafe.Pointer(func() *int8 { 154616 if _3_type == uint32(i32(0)) { 154617 return str(136036) 154618 } 154619 return func() *int8 { 154620 if _3_type == uint32(i32(7)) { 154621 return str(45240) 154622 } 154623 return str(45232) 154624 }() 154625 }())) 154626 _rc = i32(1) 154627 Xsqlite3_finalize(tls, _p.X4) 154628 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = (unsafe.Pointer)(uintptr(i32(0))) 154629 goto _10 154630 154631 _5: 154632 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))) = int32(*(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[1]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pC))+uintptr(80 /* X25 */))))) + 4*uintptr(int32(_p.X2)+int32(_3_pC.X18))))) 154633 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) = int32(_sqlite3VdbeSerialTypeLen(tls, _3_type)) 154634 *(**XBtCursor)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))))) = (*XBtCursor)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8150862)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pC)) + uintptr(36 /* X14 */))))))) 154635 _sqlite3BtreeIncrblobCursor(tls, (*XBtCursor)(unsafe.Pointer(_p.X3))) 154636 _10: 154637 _2: 154638 if _rc != i32(100) { 154639 goto _11 154640 } 154641 154642 _rc = i32(0) 154643 goto _12 154644 154645 _11: 154646 if (_p.X4) == nil { 154647 goto _13 154648 } 154649 154650 _rc = Xsqlite3_finalize(tls, _p.X4) 154651 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = (unsafe.Pointer)(uintptr(i32(0))) 154652 if _rc != i32(0) { 154653 goto _14 154654 } 154655 154656 _zErr = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5)), str(136044), _iRow) 154657 _rc = i32(1) 154658 goto _15 154659 154660 _14: 154661 _zErr = _sqlite3MPrintf(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5)), str(25612), unsafe.Pointer(Xsqlite3_errmsg(tls, (*Xsqlite3)(unsafe.Pointer(_p.X5))))) 154662 _15: 154663 _13: 154664 _12: 154665 func() int32 { 154666 if (_rc != i32(0)) || (_zErr == (*int8)(unsafe.Pointer(uintptr(i32(0))))) { 154667 return i32(0) 154668 } 154669 return func() int32 { 154670 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85445), unsafe.Pointer((*int8)(unsafe.Pointer(&_blobSeekToRowØ00__func__Ø000))), unsafe.Pointer(str(136064))) 154671 crt.X__builtin_abort(tls) 154672 return i32(0) 154673 }() 154674 }() 154675 func() int32 { 154676 if (_rc != i32(100)) && (_rc != i32(101)) { 154677 return i32(0) 154678 } 154679 return func() int32 { 154680 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85446), unsafe.Pointer((*int8)(unsafe.Pointer(&_blobSeekToRowØ00__func__Ø000))), unsafe.Pointer(str(136092))) 154681 crt.X__builtin_abort(tls) 154682 return i32(0) 154683 }() 154684 }() 154685 *_pzErr = _zErr 154686 r0 = _rc 154687 return 154688 154689 } 154690 154691 func _sqlite3BtreeIncrblobCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:68733:1 154692 { 154693 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCur)) + uintptr(60 /* X10 */))) 154694 *p = uint8(int32(*p) | i32(16)) 154695 sink6915 = *p 154696 } 154697 *(*uint8)(unsafe.Pointer(uintptr(_pCur.X0) + uintptr(11 /* X5 */))) = uint8(i32(1)) 154698 return 154699 154700 } 154701 154702 var _blobSeekToRowØ00__func__Ø000 [14]int8 // - 154703 154704 func init() { 154705 crt.Xstrncpy(nil, &_blobSeekToRowØ00__func__Ø000[0], str(136128), 14) 154706 } 154707 154708 func Xsqlite3_blob_read(tls *crt.TLS, _pBlob unsafe.Pointer, _z unsafe.Pointer, _n int32, _iOffset int32) (r0 int32) { // sqlite3.c:85784:12 154709 r0 = _blobReadWrite(tls, _pBlob, _z, _n, _iOffset, _sqlite3BtreePayloadChecked) 154710 return 154711 154712 } 154713 154714 func _blobReadWrite(tls *crt.TLS, _pBlob unsafe.Pointer, _z unsafe.Pointer, _n int32, _iOffset int32, _xCall func(*crt.TLS, *XBtCursor, uint32, uint32, unsafe.Pointer) int32) (r0 int32) { // sqlite3.c:85711:1 154715 var _rc int32 // sqlite3.c:85718:7 154716 _ = _rc 154717 var _p *XIncrblob // sqlite3.c:85719:12 154718 _ = _p 154719 var _v *XVdbe // sqlite3.c:85720:8 154720 _ = _v 154721 var _db *Xsqlite3 // sqlite3.c:85721:11 154722 _ = _db 154723 _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) 154724 if _p != (*XIncrblob)(unsafe.Pointer(uintptr(i32(0)))) { 154725 goto _0 154726 } 154727 154728 r0 = _sqlite3MisuseError(tls, i32(85723)) 154729 return 154730 154731 _0: 154732 _db = (*Xsqlite3)(unsafe.Pointer(_p.X5)) 154733 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154734 _v = (*XVdbe)(unsafe.Pointer(_p.X4)) 154735 if _n >= i32(0) && _iOffset >= i32(0) && (int64(_iOffset)+int64(_n)) <= int64(_p.X0) { 154736 goto _3 154737 } 154738 154739 _rc = i32(1) 154740 goto _4 154741 154742 _3: 154743 if _v != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 154744 goto _5 154745 } 154746 154747 _rc = i32(4) 154748 goto _6 154749 154750 _5: 154751 func() int32 { 154752 if _db == (*Xsqlite3)(unsafe.Pointer(_v.X0)) { 154753 return i32(0) 154754 } 154755 return func() int32 { 154756 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85740), unsafe.Pointer((*int8)(unsafe.Pointer(&_blobReadWriteØ00__func__Ø000))), unsafe.Pointer(str(136144))) 154757 crt.X__builtin_abort(tls) 154758 return i32(0) 154759 }() 154760 }() 154761 _sqlite3BtreeEnterCursor(tls, (*XBtCursor)(unsafe.Pointer(_p.X3))) 154762 _rc = _xCall(tls, (*XBtCursor)(unsafe.Pointer(_p.X3)), uint32(_iOffset+(_p.X1)), uint32(_n), _z) 154763 _sqlite3BtreeLeaveCursor(tls, (*XBtCursor)(unsafe.Pointer(_p.X3))) 154764 if _rc != i32(4) { 154765 goto _9 154766 } 154767 154768 _sqlite3VdbeFinalize(tls, _v) 154769 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = (unsafe.Pointer)(uintptr(i32(0))) 154770 goto _10 154771 154772 _9: 154773 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_v)) + uintptr(40 /* X10 */))) = _rc 154774 _10: 154775 _6: 154776 _4: 154777 _sqlite3Error(tls, _db, _rc) 154778 _rc = _sqlite3ApiExit(tls, _db, _rc) 154779 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 154780 r0 = _rc 154781 return 154782 154783 } 154784 154785 var _blobReadWriteØ00__func__Ø000 [14]int8 // - 154786 154787 func init() { 154788 crt.Xstrncpy(nil, &_blobReadWriteØ00__func__Ø000[0], str(136156), 14) 154789 } 154790 154791 func _sqlite3BtreeEnterCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:58945:1 154792 _sqlite3BtreeEnter(tls, (*XBtree)(unsafe.Pointer(_pCur.X0))) 154793 return 154794 154795 } 154796 154797 func _sqlite3BtreeLeaveCursor(tls *crt.TLS, _pCur *XBtCursor) { // sqlite3.c:58949:1 154798 _sqlite3BtreeLeave(tls, (*XBtree)(unsafe.Pointer(_pCur.X0))) 154799 return 154800 154801 } 154802 154803 func _sqlite3BtreePayloadChecked(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf unsafe.Pointer) (r0 int32) { // sqlite3.c:63705:1 154804 if int32(_pCur.X12) != i32(1) { 154805 goto _0 154806 } 154807 154808 func() int32 { 154809 if _cursorOwnsBtShared(tls, _pCur) != 0 { 154810 return i32(0) 154811 } 154812 return func() int32 { 154813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63707), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePayloadCheckedØ00__func__Ø000))), unsafe.Pointer(str(76036))) 154814 crt.X__builtin_abort(tls) 154815 return i32(0) 154816 }() 154817 }() 154818 r0 = _accessPayload(tls, _pCur, _offset, _amt, (*uint8)(unsafe.Pointer(_pBuf)), i32(0)) 154819 return 154820 154821 _0: 154822 r0 = _accessPayloadChecked(tls, _pCur, _offset, _amt, _pBuf) 154823 return 154824 154825 } 154826 154827 var _sqlite3BtreePayloadCheckedØ00__func__Ø000 [27]int8 // - 154828 154829 func init() { 154830 crt.Xstrncpy(nil, &_sqlite3BtreePayloadCheckedØ00__func__Ø000[0], str(136172), 27) 154831 } 154832 154833 func _accessPayloadChecked(tls *crt.TLS, _pCur *XBtCursor, _offset uint32, _amt uint32, _pBuf unsafe.Pointer) (r0 int32) { // sqlite3.c:63691:1 154834 var _rc int32 // sqlite3.c:63697:7 154835 _ = _rc 154836 if int32(_pCur.X12) != i32(0) { 154837 goto _0 154838 } 154839 154840 r0 = i32(4) 154841 return 154842 154843 _0: 154844 func() int32 { 154845 if _cursorOwnsBtShared(tls, _pCur) != 0 { 154846 return i32(0) 154847 } 154848 return func() int32 { 154849 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(63701), unsafe.Pointer((*int8)(unsafe.Pointer(&_accessPayloadCheckedØ00__func__Ø000))), unsafe.Pointer(str(76036))) 154850 crt.X__builtin_abort(tls) 154851 return i32(0) 154852 }() 154853 }() 154854 _rc = _btreeRestoreCursorPosition(tls, _pCur) 154855 r0 = func() int32 { 154856 if _rc != 0 { 154857 return _rc 154858 } 154859 return _accessPayload(tls, _pCur, _offset, _amt, (*uint8)(unsafe.Pointer(_pBuf)), i32(0)) 154860 }() 154861 return 154862 154863 } 154864 154865 var _accessPayloadCheckedØ00__func__Ø000 [21]int8 // - 154866 154867 func init() { 154868 crt.Xstrncpy(nil, &_accessPayloadCheckedØ00__func__Ø000[0], str(136200), 21) 154869 } 154870 154871 func Xsqlite3_blob_write(tls *crt.TLS, _pBlob unsafe.Pointer, _z unsafe.Pointer, _n int32, _iOffset int32) (r0 int32) { // sqlite3.c:85791:12 154872 r0 = _blobReadWrite(tls, _pBlob, _z, _n, _iOffset, _sqlite3BtreePutData) 154873 return 154874 154875 } 154876 154877 func _sqlite3BtreePutData(tls *crt.TLS, _pCsr *XBtCursor, _offset uint32, _amt uint32, _z unsafe.Pointer) (r0 int32) { // sqlite3.c:68685:1 154878 var _rc int32 // sqlite3.c:68686:7 154879 _ = _rc 154880 func() int32 { 154881 if _cursorOwnsBtShared(tls, _pCsr) != 0 { 154882 return i32(0) 154883 } 154884 return func() int32 { 154885 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68687), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136224))) 154886 crt.X__builtin_abort(tls) 154887 return i32(0) 154888 }() 154889 }() 154890 func() int32 { 154891 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XBtree)(unsafe.Pointer(_pCsr.X0)).X0)).X3))) != 0 { 154892 return i32(0) 154893 } 154894 return func() int32 { 154895 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68688), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136252))) 154896 crt.X__builtin_abort(tls) 154897 return i32(0) 154898 }() 154899 }() 154900 func() int32 { 154901 if (int32(_pCsr.X10) & i32(16)) != 0 { 154902 return i32(0) 154903 } 154904 return func() int32 { 154905 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68689), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136296))) 154906 crt.X__builtin_abort(tls) 154907 return i32(0) 154908 }() 154909 }() 154910 _rc = func() int32 { 154911 if int32(_pCsr.X12) >= i32(3) { 154912 return _btreeRestoreCursorPosition(tls, _pCsr) 154913 } 154914 return i32(0) 154915 }() 154916 if _rc == i32(0) { 154917 goto _8 154918 } 154919 154920 r0 = _rc 154921 return 154922 154923 _8: 154924 func() int32 { 154925 if int32(_pCsr.X12) != i32(3) { 154926 return i32(0) 154927 } 154928 return func() int32 { 154929 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68695), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136328))) 154930 crt.X__builtin_abort(tls) 154931 return i32(0) 154932 }() 154933 }() 154934 if int32(_pCsr.X12) == i32(1) { 154935 goto _11 154936 } 154937 154938 r0 = i32(4) 154939 return 154940 154941 _11: 154942 _rc = _saveAllCursors(tls, (*XBtShared)(unsafe.Pointer(_pCsr.X1)), _pCsr.X7, _pCsr) 154943 func() int32 { 154944 if _rc == i32(0) { 154945 return i32(0) 154946 } 154947 return func() int32 { 154948 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68709), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(15360))) 154949 crt.X__builtin_abort(tls) 154950 return i32(0) 154951 }() 154952 }() 154953 if (int32(_pCsr.X10) & i32(1)) != i32(0) { 154954 goto _14 154955 } 154956 154957 r0 = i32(8) 154958 return 154959 154960 _14: 154961 func() int32 { 154962 if ((int32((*XBtShared)(unsafe.Pointer(_pCsr.X1)).X10) & i32(1)) == i32(0)) && (int32((*XBtShared)(unsafe.Pointer(_pCsr.X1)).X8) == i32(2)) { 154963 return i32(0) 154964 } 154965 return func() int32 { 154966 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68721), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136364))) 154967 crt.X__builtin_abort(tls) 154968 return i32(0) 154969 }() 154970 }() 154971 func() int32 { 154972 if _hasSharedCacheTableLock(tls, (*XBtree)(unsafe.Pointer(_pCsr.X0)), _pCsr.X7, i32(0), i32(2)) != 0 { 154973 return i32(0) 154974 } 154975 return func() int32 { 154976 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68723), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136448))) 154977 crt.X__builtin_abort(tls) 154978 return i32(0) 154979 }() 154980 }() 154981 func() int32 { 154982 if _hasReadConflicts(tls, (*XBtree)(unsafe.Pointer(_pCsr.X0)), _pCsr.X7) == 0 { 154983 return i32(0) 154984 } 154985 return func() int32 { 154986 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136508))) 154987 crt.X__builtin_abort(tls) 154988 return i32(0) 154989 }() 154990 }() 154991 func() int32 { 154992 if ((*(**XMemPage)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[20]unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCsr))+uintptr(116 /* X19 */))))) + 4*uintptr(_pCsr.X14)))).X2) != 0 { 154993 return i32(0) 154994 } 154995 return func() int32 { 154996 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(68725), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3BtreePutDataØ00__func__Ø000))), unsafe.Pointer(str(136556))) 154997 crt.X__builtin_abort(tls) 154998 return i32(0) 154999 }() 155000 }() 155001 r0 = _accessPayload(tls, _pCsr, _offset, _amt, (*uint8)(unsafe.Pointer(_z)), i32(1)) 155002 return 155003 155004 } 155005 155006 var _sqlite3BtreePutDataØ00__func__Ø000 [20]int8 // - 155007 155008 func init() { 155009 crt.Xstrncpy(nil, &_sqlite3BtreePutDataØ00__func__Ø000[0], str(136592), 20) 155010 } 155011 155012 func Xsqlite3_memory_highwater(tls *crt.TLS, _resetFlag int32) (r0 int64) { // sqlite3.c:24387:12 155013 var _res int64 // sqlite3.c:24388:17 155014 _ = _res 155015 var _mx int64 // sqlite3.c:24388:22 155016 _ = _mx 155017 Xsqlite3_status64(tls, i32(0), &_res, &_mx, _resetFlag) 155018 r0 = _mx 155019 return 155020 155021 } 155022 155023 func Xsqlite3_mutex_alloc(tls *crt.TLS, _id int32) (r0 *Xsqlite3_mutex) { // sqlite3.c:22804:12 155024 if _id > i32(1) || Xsqlite3_initialize(tls) == 0 { 155025 goto _1 155026 } 155027 155028 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 155029 return 155030 155031 _1: 155032 if _id <= i32(1) || _sqlite3MutexInit(tls) == 0 { 155033 goto _3 155034 } 155035 155036 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 155037 return 155038 155039 _3: 155040 func() int32 { 155041 if (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { 155042 f func(*crt.TLS, int32) unsafe.Pointer 155043 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X2)}))) != nil { 155044 return i32(0) 155045 } 155046 return func() int32 { 155047 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(22809), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_mutex_allocØ00__func__Ø000))), unsafe.Pointer(str(3536))) 155048 crt.X__builtin_abort(tls) 155049 return i32(0) 155050 }() 155051 }() 155052 r0 = (*(*func(*crt.TLS, int32) *Xsqlite3_mutex)(unsafe.Pointer(&struct { 155053 f func(*crt.TLS, int32) unsafe.Pointer 155054 }{((*Xsqlite3_mutex_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(72 /* X11 */))).X2)})))(tls, _id) 155055 return 155056 155057 } 155058 155059 var _sqlite3_mutex_allocØ00__func__Ø000 [20]int8 // - 155060 155061 func init() { 155062 crt.Xstrncpy(nil, &_sqlite3_mutex_allocØ00__func__Ø000[0], str(136612), 20) 155063 } 155064 155065 func Xsqlite3_open_v2(tls *crt.TLS, _filename *int8, _ppDb **Xsqlite3, _flags int32, _zVfs *int8) (r0 int32) { // sqlite3.c:143028:12 155066 r0 = _openDatabase(tls, _filename, _ppDb, uint32(_flags), _zVfs) 155067 return 155068 155069 } 155070 155071 func Xsqlite3_sleep(tls *crt.TLS, _ms int32) (r0 int32) { // sqlite3.c:143385:12 155072 var _pVfs *Xsqlite3_vfs // sqlite3.c:143386:15 155073 _ = _pVfs 155074 var _rc int32 // sqlite3.c:143387:7 155075 _ = _rc 155076 _pVfs = Xsqlite3_vfs_find(tls, (*int8)(unsafe.Pointer(uintptr(i32(0))))) 155077 if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { 155078 goto _0 155079 } 155080 155081 r0 = i32(0) 155082 return 155083 155084 _0: 155085 _rc = _sqlite3OsSleep(tls, _pVfs, i32(1000)*_ms) / i32(1000) 155086 r0 = _rc 155087 return 155088 155089 } 155090 155091 func Xsqlite3_soft_heap_limit(tls *crt.TLS, _n int32) { // sqlite3.c:24307:12 155092 if _n >= i32(0) { 155093 goto _0 155094 } 155095 155096 _n = i32(0) 155097 _0: 155098 Xsqlite3_soft_heap_limit64(tls, int64(_n)) 155099 return 155100 155101 } 155102 155103 func Xsqlite3_vfs_register(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _makeDflt int32) (r0 int32) { // sqlite3.c:20430:12 155104 var _mutex *Xsqlite3_mutex // sqlite3.c:20431:29 155105 _ = _mutex 155106 var _rc int32 // sqlite3.c:20433:7 155107 _ = _rc 155108 _rc = Xsqlite3_initialize(tls) 155109 if _rc == 0 { 155110 goto _0 155111 } 155112 155113 r0 = _rc 155114 return 155115 155116 _0: 155117 if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { 155118 goto _1 155119 } 155120 155121 r0 = _sqlite3MisuseError(tls, i32(20437)) 155122 return 155123 155124 _1: 155125 _mutex = _sqlite3MutexAlloc(tls, i32(2)) 155126 Xsqlite3_mutex_enter(tls, _mutex) 155127 _vfsUnlink(tls, _pVfs) 155128 if _makeDflt == 0 && _vfsList != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { 155129 goto _3 155130 } 155131 155132 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVfs)) + uintptr(12 /* X3 */))))) = _vfsList 155133 _vfsList = _pVfs 155134 bug20530(_vfsList) 155135 goto _4 155136 155137 _3: 155138 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVfs)) + uintptr(12 /* X3 */))))) = (*Xsqlite3_vfs)(unsafe.Pointer(_vfsList.X3)) 155139 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_vfsList)) + uintptr(12 /* X3 */))))) = _pVfs 155140 _4: 155141 func() int32 { 155142 if _vfsList != nil { 155143 return i32(0) 155144 } 155145 return func() int32 { 155146 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(20450), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_vfs_registerØ00__func__Ø000))), unsafe.Pointer(str(136632))) 155147 crt.X__builtin_abort(tls) 155148 return i32(0) 155149 }() 155150 }() 155151 Xsqlite3_mutex_leave(tls, _mutex) 155152 r0 = i32(0) 155153 return 155154 155155 } 155156 155157 func _vfsUnlink(tls *crt.TLS, _pVfs *Xsqlite3_vfs) { // sqlite3.c:20408:1 155158 var _3_p *Xsqlite3_vfs // sqlite3.c:20415:17 155159 _ = _3_p 155160 func() int32 { 155161 if Xsqlite3_mutex_held(tls, _sqlite3MutexAlloc(tls, i32(2))) != 0 { 155162 return i32(0) 155163 } 155164 return func() int32 { 155165 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(20409), unsafe.Pointer((*int8)(unsafe.Pointer(&_vfsUnlinkØ00__func__Ø000))), unsafe.Pointer(str(136640))) 155166 crt.X__builtin_abort(tls) 155167 return i32(0) 155168 }() 155169 }() 155170 if _pVfs != (*Xsqlite3_vfs)(unsafe.Pointer(uintptr(i32(0)))) { 155171 goto _2 155172 } 155173 155174 goto _3 155175 155176 _2: 155177 if _vfsList != _pVfs { 155178 goto _4 155179 } 155180 155181 _vfsList = (*Xsqlite3_vfs)(unsafe.Pointer(_pVfs.X3)) 155182 bug20530(_vfsList) 155183 goto _5 155184 155185 _4: 155186 if _vfsList == nil { 155187 goto _6 155188 } 155189 155190 _3_p = _vfsList 155191 _7: 155192 if (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) == nil || (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) == _pVfs { 155193 goto _8 155194 } 155195 155196 _3_p = (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) 155197 goto _7 155198 155199 _8: 155200 if (*Xsqlite3_vfs)(unsafe.Pointer(_3_p.X3)) != _pVfs { 155201 goto _10 155202 } 155203 155204 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_p)) + uintptr(12 /* X3 */))))) = (*Xsqlite3_vfs)(unsafe.Pointer(_pVfs.X3)) 155205 _10: 155206 _6: 155207 _5: 155208 _3: 155209 return 155210 155211 } 155212 155213 var _vfsUnlinkØ00__func__Ø000 [10]int8 // - 155214 155215 func init() { 155216 crt.Xstrncpy(nil, &_vfsUnlinkØ00__func__Ø000[0], str(136708), 10) 155217 } 155218 155219 var _sqlite3_vfs_registerØ00__func__Ø000 [21]int8 // - 155220 155221 func init() { 155222 crt.Xstrncpy(nil, &_sqlite3_vfs_registerØ00__func__Ø000[0], str(136720), 21) 155223 } 155224 155225 func Xsqlite3_vfs_unregister(tls *crt.TLS, _pVfs *Xsqlite3_vfs) (r0 int32) { // sqlite3.c:20458:12 155226 var _mutex *Xsqlite3_mutex // sqlite3.c:20460:17 155227 _ = _mutex 155228 _mutex = _sqlite3MutexAlloc(tls, i32(2)) 155229 Xsqlite3_mutex_enter(tls, _mutex) 155230 _vfsUnlink(tls, _pVfs) 155231 Xsqlite3_mutex_leave(tls, _mutex) 155232 r0 = i32(0) 155233 return 155234 155235 } 155236 155237 func Xsqlite3_threadsafe(tls *crt.TLS) (r0 int32) { // sqlite3.c:139965:12 155238 r0 = i32(1) 155239 return 155240 155241 } 155242 155243 func Xsqlite3_result_zeroblob(tls *crt.TLS, _pCtx *Xsqlite3_context, _n int32) { // sqlite3.c:76448:12 155244 func() int32 { 155245 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 155246 return i32(0) 155247 } 155248 return func() int32 { 155249 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76449), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_zeroblobØ00__func__Ø000))), unsafe.Pointer(str(6312))) 155250 crt.X__builtin_abort(tls) 155251 return i32(0) 155252 }() 155253 }() 155254 _sqlite3VdbeMemSetZeroBlob(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), _n) 155255 return 155256 155257 } 155258 155259 var _sqlite3_result_zeroblobØ00__func__Ø000 [24]int8 // - 155260 155261 func init() { 155262 crt.Xstrncpy(nil, &_sqlite3_result_zeroblobØ00__func__Ø000[0], str(136744), 24) 155263 } 155264 155265 func Xsqlite3_test_control(tls *crt.TLS, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:143454:12 155266 var _rc int32 // sqlite3.c:143455:7 155267 _ = _rc 155268 var _ap []interface{} // sqlite3.c:143459:11 155269 _ = _ap 155270 var _5_sz int32 // sqlite3.c:143500:11 155271 _ = _5_sz 155272 var _5_aProg *int32 // sqlite3.c:143501:11 155273 _ = _5_aProg 155274 var _7_xBenignBegin func(*crt.TLS) // sqlite3.c:143536:21 155275 _ = _7_xBenignBegin 155276 var _7_xBenignEnd func(*crt.TLS) // sqlite3.c:143537:21 155277 _ = _7_xBenignEnd 155278 var _9_newVal uint32 // sqlite3.c:143560:22 155279 _ = _9_newVal 155280 var _10_x int32 // sqlite3.c:143579:20 155281 _ = _10_x 155282 var _11_x int32 // sqlite3.c:143614:11 155283 _ = _11_x 155284 var _13_db *Xsqlite3 // sqlite3.c:143641:15 155285 _ = _13_db 155286 var _13_x int32 // sqlite3.c:143642:11 155287 _ = _13_x 155288 var _14_db *Xsqlite3 // sqlite3.c:143659:15 155289 _ = _14_db 155290 var _15_zWord *int8 // sqlite3.c:143675:18 155291 _ = _15_zWord 155292 var _15_n int32 // sqlite3.c:143676:11 155293 _ = _15_n 155294 var _16_pFree unsafe.Pointer // sqlite3.c:143688:12 155295 _ = _16_pFree 155296 var _16_ppNew *unsafe.Pointer // sqlite3.c:143688:20 155297 _ = _16_ppNew 155298 var _16_sz int32 // sqlite3.c:143689:11 155299 _ = _16_sz 155300 var _21_db *Xsqlite3 // sqlite3.c:143748:15 155301 _ = _21_db 155302 var _23_db *Xsqlite3 // sqlite3.c:143780:15 155303 _ = _23_db 155304 _rc = i32(0) 155305 _ap = args 155306 switch _op { 155307 case i32(5): 155308 goto _1 155309 case i32(6): 155310 goto _2 155311 case i32(7): 155312 goto _3 155313 case i32(8): 155314 goto _4 155315 case i32(9): 155316 goto _5 155317 case i32(10): 155318 goto _6 155319 case i32(11): 155320 goto _7 155321 case i32(12): 155322 goto _8 155323 case i32(13): 155324 goto _9 155325 case i32(14): 155326 goto _11 155327 case i32(15): 155328 goto _12 155329 case i32(16): 155330 goto _13 155331 case i32(17): 155332 goto _14 155333 case i32(18): 155334 goto _15 155335 case i32(19): 155336 goto _17 155337 case i32(20): 155338 goto _16 155339 case i32(21): 155340 goto _18 155341 case i32(22): 155342 goto _10 155343 case i32(23): 155344 goto _20 155345 case i32(24): 155346 goto _19 155347 case i32(25): 155348 goto _21 155349 default: 155350 goto _22 155351 } 155352 155353 _1: 155354 _sqlite3PrngSaveState(tls) 155355 goto _22 155356 155357 _2: 155358 _sqlite3PrngRestoreState(tls) 155359 goto _22 155360 155361 _3: 155362 Xsqlite3_randomness(tls, i32(0), (unsafe.Pointer)(uintptr(i32(0)))) 155363 goto _22 155364 155365 _4: 155366 _5_sz = crt.VAInt32(&_ap) 155367 _5_aProg = (*int32)(crt.VAPointer(&_ap)) 155368 _rc = _sqlite3BitvecBuiltinTest(tls, _5_sz, _5_aProg) 155369 goto _22 155370 155371 _5: 155372 *(*func(*crt.TLS, int32) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(264 /* X37 */))) = crt.VAOther(&_ap).(func(*crt.TLS, int32) int32) 155373 _rc = _sqlite3FaultSim(tls, i32(0)) 155374 goto _22 155375 155376 _6: 155377 _7_xBenignBegin = crt.VAOther(&_ap).(func(*crt.TLS)) 155378 _7_xBenignEnd = crt.VAOther(&_ap).(func(*crt.TLS)) 155379 _sqlite3BenignMallocHooks(tls, _7_xBenignBegin, _7_xBenignEnd) 155380 goto _22 155381 155382 _7: 155383 _rc = _sqlite3PendingByte 155384 _9_newVal = crt.VAUint32(&_ap) 155385 if _9_newVal == 0 { 155386 goto _23 155387 } 155388 155389 _sqlite3PendingByte = int32(_9_newVal) 155390 bug20530(_sqlite3PendingByte) 155391 _23: 155392 goto _22 155393 155394 _8: 155395 _10_x = i32(0) 155396 func() int32 { 155397 if store961(&_10_x, crt.VAInt32(&_ap)) != i32(0) { 155398 return i32(0) 155399 } 155400 return func() int32 { 155401 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143580), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_test_controlØ00__func__Ø000))), unsafe.Pointer(str(136768))) 155402 crt.X__builtin_abort(tls) 155403 return i32(0) 155404 }() 155405 }() 155406 _rc = _10_x 155407 goto _22 155408 155409 _9: 155410 _11_x = crt.VAInt32(&_ap) 155411 _rc = func() int32 { 155412 if _11_x != 0 { 155413 return i32(1) 155414 } 155415 return func() int32 { 155416 func() int32 { 155417 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(143615), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_test_controlØ00__func__Ø000))), unsafe.Pointer(str(5204))) 155418 crt.X__builtin_abort(tls) 155419 return i32(0) 155420 }() 155421 return i32(0) 155422 }() 155423 }() 155424 goto _22 155425 155426 _10: 155427 _rc = i32(123410) 155428 goto _22 155429 155430 _11: 155431 _13_db = (*Xsqlite3)(crt.VAPointer(&_ap)) 155432 _13_x = crt.VAInt32(&_ap) 155433 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_13_db.X3))) 155434 _sqlite3BtreeSetPageSize(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_13_db.X4)+16*uintptr(i32(0)))).X1)), i32(0), _13_x, i32(0)) 155435 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_13_db.X3))) 155436 goto _22 155437 155438 _12: 155439 _14_db = (*Xsqlite3)(crt.VAPointer(&_ap)) 155440 *(*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_14_db)) + uintptr(60 /* X13 */))) = uint16(crt.VAInt32(&_ap) & i32(65535)) 155441 goto _22 155442 155443 _13: 155444 _15_zWord = (*int8)(crt.VAPointer(&_ap)) 155445 _15_n = _sqlite3Strlen30(tls, _15_zWord) 155446 _rc = func() int32 { 155447 if _sqlite3KeywordCode(tls, (*uint8)(unsafe.Pointer(_15_zWord)), _15_n) != i32(55) { 155448 return i32(124) 155449 } 155450 return i32(0) 155451 }() 155452 goto _22 155453 155454 _14: 155455 _16_sz = crt.VAInt32(&_ap) 155456 _16_ppNew = (*unsafe.Pointer)(crt.VAPointer(&_ap)) 155457 _16_pFree = crt.VAPointer(&_ap) 155458 if _16_sz == 0 { 155459 goto _30 155460 } 155461 155462 *_16_ppNew = _sqlite3ScratchMalloc(tls, _16_sz) 155463 _30: 155464 _sqlite3ScratchFree(tls, _16_pFree) 155465 goto _22 155466 155467 _15: 155468 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(268 /* X38 */))) = crt.VAInt32(&_ap) 155469 goto _22 155470 155471 _16: 155472 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(24 /* X6 */))) = crt.VAInt32(&_ap) 155473 goto _22 155474 155475 _17: 155476 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(272 /* X39 */))) = crt.VAInt32(&_ap) 155477 goto _22 155478 155479 _18: 155480 goto _22 155481 155482 _19: 155483 _21_db = (*Xsqlite3)(crt.VAPointer(&_ap)) 155484 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_21_db)) + uintptr(140 /* X32 */))) = crt.VAInt32(&_ap) 155485 goto _22 155486 155487 _20: 155488 if (_sqlite3Config.X28) != i32(0) { 155489 goto _31 155490 } 155491 155492 _rc = i32(1) 155493 _31: 155494 goto _22 155495 155496 _21: 155497 _23_db = (*Xsqlite3)(crt.VAPointer(&_ap)) 155498 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_23_db.X3))) 155499 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(144 /* X33 */))))) + uintptr(4 /* X1 */))) = uint8(_sqlite3FindDbName(tls, _23_db, (*int8)(crt.VAPointer(&_ap)))) 155500 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(144 /* X33 */))))) + uintptr(5 /* X2 */))) = store6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(144 /* X33 */)))))+uintptr(7 /* X4 */))), uint8(crt.VAInt32(&_ap))) 155501 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(144 /* X33 */))))) + uintptr(0 /* X0 */))) = crt.VAInt32(&_ap) 155502 if int32((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(144 /* X33 */))).X2) != i32(0) || ((*T7745808)(unsafe.Pointer(uintptr((unsafe.Pointer)(_23_db))+uintptr(144 /* X33 */))).X0) <= i32(0) { 155503 goto _33 155504 } 155505 155506 _sqlite3ResetAllSchemasOfConnection(tls, _23_db) 155507 _33: 155508 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_23_db.X3))) 155509 goto _22 155510 155511 _22: 155512 _ap = nil 155513 r0 = _rc 155514 return 155515 155516 } 155517 155518 func _sqlite3PrngSaveState(tls *crt.TLS) { // sqlite3.c:26787:1 155519 crt.Xmemcpy(tls, (unsafe.Pointer)(&_sqlite3SavedPrng), (unsafe.Pointer)(&_sqlite3Prng), u32(259)) 155520 return 155521 155522 } 155523 155524 var _sqlite3SavedPrng T7853307 // sqlite3.c:26786:42 155525 155526 func _sqlite3PrngRestoreState(tls *crt.TLS) { // sqlite3.c:26794:1 155527 crt.Xmemcpy(tls, (unsafe.Pointer)(&_sqlite3Prng), (unsafe.Pointer)(&_sqlite3SavedPrng), u32(259)) 155528 return 155529 155530 } 155531 155532 func _sqlite3BitvecBuiltinTest(tls *crt.TLS, _sz int32, _aOp *int32) (r0 int32) { // sqlite3.c:44001:1 155533 var _pBitvec *XBitvec // sqlite3.c:44002:10 155534 _ = _pBitvec 155535 var _pV *uint8 // sqlite3.c:44003:17 155536 _ = _pV 155537 var _rc int32 // sqlite3.c:44004:7 155538 _ = _rc 155539 var _i int32 // sqlite3.c:44005:7 155540 _ = _i 155541 var _nx int32 // sqlite3.c:44005:10 155542 _ = _nx 155543 var _pc int32 // sqlite3.c:44005:14 155544 _ = _pc 155545 var _op int32 // sqlite3.c:44005:18 155546 _ = _op 155547 var _pTmpSpace unsafe.Pointer // sqlite3.c:44006:8 155548 _ = _pTmpSpace 155549 _pBitvec = nil 155550 _pV = nil 155551 _rc = i32(-1) 155552 _pBitvec = _sqlite3BitvecCreate(tls, uint32(_sz)) 155553 _pV = (*uint8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(((_sz+i32(7))/i32(8))+i32(1))))) 155554 _pTmpSpace = Xsqlite3_malloc64(tls, uint64(i32(512))) 155555 if _pBitvec != (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))) && _pV != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && unsafe.Pointer(_pTmpSpace) != (unsafe.Pointer)(uintptr(i32(0))) { 155556 goto _2 155557 } 155558 155559 goto _bitvec_end 155560 155561 _2: 155562 _sqlite3BitvecSet(tls, (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(1))) 155563 _sqlite3BitvecClear(tls, (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(1)), _pTmpSpace) 155564 _pc = i32(0) 155565 _3: 155566 if store961(&_op, *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc)))) == i32(0) { 155567 goto _4 155568 } 155569 155570 switch _op { 155571 case i32(1): 155572 goto _6 155573 case i32(2): 155574 goto _7 155575 case i32(3): 155576 goto _9 155577 case i32(4): 155578 goto _10 155579 case i32(5): 155580 goto _8 155581 default: 155582 goto _11 155583 } 155584 155585 _6: 155586 _7: 155587 _8: 155588 _nx = i32(4) 155589 _i = (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc+i32(2))))) - i32(1) 155590 { 155591 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc+i32(2)))) 155592 *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp)) + 4*uintptr(_pc+i32(3))))) 155593 sink961 = *p 155594 } 155595 goto _12 155596 155597 _9: 155598 _10: 155599 _11: 155600 _nx = i32(2) 155601 Xsqlite3_randomness(tls, int32(u32(4)), (unsafe.Pointer)(&_i)) 155602 goto _12 155603 155604 _12: 155605 if preInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aOp))+4*uintptr(_pc+i32(1)))), -1) <= i32(0) { 155606 goto _13 155607 } 155608 155609 _nx = i32(0) 155610 _13: 155611 { 155612 p := &_pc 155613 *p = (*p) + _nx 155614 sink961 = *p 155615 } 155616 _i = (_i & i32(2147483647)) % _sz 155617 if (_op & i32(1)) == i32(0) { 155618 goto _14 155619 } 155620 155621 { 155622 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pV)) + 1*uintptr((_i+i32(1))>>uint(i32(3))))) 155623 *p = uint8(int32(*p) | (i32(1) << uint((_i+i32(1))&i32(7)))) 155624 sink6915 = *p 155625 } 155626 if _op == i32(5) { 155627 goto _15 155628 } 155629 155630 if _sqlite3BitvecSet(tls, _pBitvec, uint32(_i+i32(1))) == 0 { 155631 goto _16 155632 } 155633 155634 goto _bitvec_end 155635 155636 _16: 155637 _15: 155638 goto _17 155639 155640 _14: 155641 { 155642 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pV)) + 1*uintptr((_i+i32(1))>>uint(i32(3))))) 155643 *p = uint8(int32(*p) & (^(i32(1) << uint((_i+i32(1))&i32(7))))) 155644 sink6915 = *p 155645 } 155646 _sqlite3BitvecClear(tls, _pBitvec, uint32(_i+i32(1)), _pTmpSpace) 155647 _17: 155648 goto _3 155649 155650 _4: 155651 _rc = int32(uint32((_sqlite3BitvecTest(tls, (*XBitvec)(unsafe.Pointer(uintptr(i32(0)))), uint32(i32(0)))+_sqlite3BitvecTest(tls, _pBitvec, uint32(_sz+i32(1))))+_sqlite3BitvecTest(tls, _pBitvec, uint32(i32(0)))) + (_sqlite3BitvecSize(tls, _pBitvec) - uint32(_sz))) 155652 _i = i32(1) 155653 _18: 155654 if _i > _sz { 155655 goto _21 155656 } 155657 155658 if bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pV)) + 1*uintptr(_i>>uint(i32(3))))))&(i32(1)<<uint(_i&i32(7)))) != i32(0)) == _sqlite3BitvecTest(tls, _pBitvec, uint32(_i)) { 155659 goto _22 155660 } 155661 155662 _rc = _i 155663 goto _21 155664 155665 _22: 155666 _i += 1 155667 goto _18 155668 155669 _21: 155670 _bitvec_end: 155671 Xsqlite3_free(tls, _pTmpSpace) 155672 Xsqlite3_free(tls, (unsafe.Pointer)(_pV)) 155673 _sqlite3BitvecDestroy(tls, _pBitvec) 155674 r0 = _rc 155675 return 155676 155677 } 155678 155679 func _sqlite3BenignMallocHooks(tls *crt.TLS, _xBenignBegin func(*crt.TLS), _xBenignEnd func(*crt.TLS)) { // sqlite3.c:20529:1 155680 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Hooks)) + uintptr(0 /* X0 */))) = _xBenignBegin 155681 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Hooks)) + uintptr(4 /* X1 */))) = _xBenignEnd 155682 return 155683 155684 } 155685 155686 var _sqlite3_test_controlØ00__func__Ø000 [21]int8 // - 155687 155688 func init() { 155689 crt.Xstrncpy(nil, &_sqlite3_test_controlØ00__func__Ø000[0], str(136792), 21) 155690 } 155691 155692 func Xsqlite3_extended_result_codes(tls *crt.TLS, _db *Xsqlite3, _onoff int32) (r0 int32) { // sqlite3.c:143401:12 155693 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 155694 goto _0 155695 } 155696 155697 r0 = _sqlite3MisuseError(tls, i32(143403)) 155698 return 155699 155700 _0: 155701 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 155702 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(52 /* X11 */))) = int32(func() uint32 { 155703 if _onoff != 0 { 155704 return u32(4294967295) 155705 } 155706 return uint32(i32(255)) 155707 }()) 155708 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 155709 r0 = i32(0) 155710 return 155711 155712 } 155713 155714 func Xsqlite3_next_stmt(tls *crt.TLS, _pDb *Xsqlite3, _pStmt unsafe.Pointer) (r0 unsafe.Pointer) { // sqlite3.c:77574:12 155715 var _pNext unsafe.Pointer // sqlite3.c:77575:16 155716 _ = _pNext 155717 if _sqlite3SafetyCheckOk(tls, _pDb) != 0 { 155718 goto _0 155719 } 155720 155721 _sqlite3MisuseError(tls, i32(77578)) 155722 r0 = (unsafe.Pointer)(uintptr(i32(0))) 155723 return 155724 155725 _0: 155726 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pDb.X3))) 155727 if unsafe.Pointer(_pStmt) != (unsafe.Pointer)(uintptr(i32(0))) { 155728 goto _1 155729 } 155730 155731 _pNext = _pDb.X1 155732 goto _2 155733 155734 _1: 155735 _pNext = (*XVdbe)(unsafe.Pointer(_pStmt)).X2 155736 _2: 155737 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pDb.X3))) 155738 r0 = _pNext 155739 return 155740 155741 } 155742 155743 func Xsqlite3_status(tls *crt.TLS, _op int32, _pCurrent *int32, _pHighwater *int32, _resetFlag int32) (r0 int32) { // sqlite3.c:18607:12 155744 var _iCur int64 // sqlite3.c:18608:17 155745 _ = _iCur 155746 var _iHwtr int64 // sqlite3.c:18608:27 155747 _ = _iHwtr 155748 var _rc int32 // sqlite3.c:18609:7 155749 _ = _rc 155750 _iCur = i64(0) 155751 _iHwtr = i64(0) 155752 if _pCurrent != (*int32)(unsafe.Pointer(uintptr(i32(0)))) && _pHighwater != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 155753 goto _1 155754 } 155755 155756 r0 = _sqlite3MisuseError(tls, i32(18611)) 155757 return 155758 155759 _1: 155760 _rc = Xsqlite3_status64(tls, _op, &_iCur, &_iHwtr, _resetFlag) 155761 if _rc != i32(0) { 155762 goto _2 155763 } 155764 155765 *_pCurrent = int32(_iCur) 155766 *_pHighwater = int32(_iHwtr) 155767 _2: 155768 r0 = _rc 155769 return 155770 155771 } 155772 155773 func Xsqlite3_backup_init(tls *crt.TLS, _pDestDb *Xsqlite3, _zDestDb *int8, _pSrcDb *Xsqlite3, _zSrcDb *int8) (r0 *Xsqlite3_backup) { // sqlite3.c:68956:12 155774 var _p *Xsqlite3_backup // sqlite3.c:68962:18 155775 _ = _p 155776 if _sqlite3SafetyCheckOk(tls, _pSrcDb) != 0 && _sqlite3SafetyCheckOk(tls, _pDestDb) != 0 { 155777 goto _1 155778 } 155779 155780 _sqlite3MisuseError(tls, i32(68966)) 155781 r0 = (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) 155782 return 155783 155784 _1: 155785 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pSrcDb.X3))) 155786 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pDestDb.X3))) 155787 if _pSrcDb != _pDestDb { 155788 goto _2 155789 } 155790 155791 _sqlite3ErrorWithMsg(tls, _pDestDb, i32(1), str(136816)) 155792 _p = (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) 155793 goto _3 155794 155795 _2: 155796 _p = (*Xsqlite3_backup)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(48))))) 155797 if _p != nil { 155798 goto _4 155799 } 155800 155801 _sqlite3Error(tls, _pDestDb, _sqlite3NomemError(tls, i32(68994))) 155802 _4: 155803 _3: 155804 if _p == nil { 155805 goto _5 155806 } 155807 155808 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X6 */))))) = _findBtree(tls, _pDestDb, _pSrcDb, _zSrcDb) 155809 *(**XBtree)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = _findBtree(tls, _pDestDb, _pDestDb, _zDestDb) 155810 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pDestDb 155811 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(20 /* X5 */))))) = _pSrcDb 155812 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X4 */))) = uint32(i32(1)) 155813 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(40 /* X10 */))) = i32(0) 155814 if (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) != (*XBtree)(unsafe.Pointer(_p.X6)) && (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) != (*XBtree)(unsafe.Pointer(_p.X1)) && _checkReadTransaction(tls, _pDestDb, (*XBtree)(unsafe.Pointer(_p.X1))) == i32(0) { 155815 goto _8 155816 } 155817 155818 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 155819 _p = (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) 155820 _8: 155821 _5: 155822 if _p == nil { 155823 goto _9 155824 } 155825 155826 *(*int32)(unsafe.Pointer(uintptr(_p.X6) + uintptr(16 /* X7 */))) += 1 155827 _9: 155828 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pDestDb.X3))) 155829 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pSrcDb.X3))) 155830 r0 = _p 155831 return 155832 155833 } 155834 155835 func _findBtree(tls *crt.TLS, _pErrorDb *Xsqlite3, _pDb *Xsqlite3, _zDb *int8) (r0 *XBtree) { // sqlite3.c:68897:1 155836 var _i int32 // sqlite3.c:68898:7 155837 _ = _i 155838 var _1_sParse XParse // sqlite3.c:68901:11 155839 _ = _1_sParse 155840 var _1_rc int32 // sqlite3.c:68902:9 155841 _ = _1_rc 155842 _i = _sqlite3FindDbName(tls, _pDb, _zDb) 155843 if _i != i32(1) { 155844 goto _0 155845 } 155846 155847 _1_rc = i32(0) 155848 crt.Xmemset(tls, (unsafe.Pointer)(&_1_sParse), i32(0), u32(484)) 155849 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_sParse)) + uintptr(0 /* X0 */))))) = _pDb 155850 if _sqlite3OpenTempDatabase(tls, &_1_sParse) == 0 { 155851 goto _1 155852 } 155853 155854 _sqlite3ErrorWithMsg(tls, _pErrorDb, _1_sParse.X3, str(25612), unsafe.Pointer(_1_sParse.X1)) 155855 _1_rc = i32(1) 155856 _1: 155857 _sqlite3DbFree(tls, _pErrorDb, (unsafe.Pointer)(_1_sParse.X1)) 155858 _sqlite3ParserReset(tls, &_1_sParse) 155859 if _1_rc == 0 { 155860 goto _2 155861 } 155862 155863 r0 = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 155864 return 155865 155866 _2: 155867 _0: 155868 if _i >= i32(0) { 155869 goto _3 155870 } 155871 155872 _sqlite3ErrorWithMsg(tls, _pErrorDb, i32(1), str(136856), unsafe.Pointer(_zDb)) 155873 r0 = (*XBtree)(unsafe.Pointer(uintptr(i32(0)))) 155874 return 155875 155876 _3: 155877 r0 = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_pDb.X4) + 16*uintptr(_i))).X1)) 155878 return 155879 155880 } 155881 155882 func _checkReadTransaction(tls *crt.TLS, _db *Xsqlite3, _p *XBtree) (r0 int32) { // sqlite3.c:68940:1 155883 if _sqlite3BtreeIsInReadTrans(tls, _p) == 0 { 155884 goto _0 155885 } 155886 155887 _sqlite3ErrorWithMsg(tls, _db, i32(1), str(136876)) 155888 r0 = i32(1) 155889 return 155890 155891 _0: 155892 r0 = i32(0) 155893 return 155894 155895 } 155896 155897 func Xsqlite3_backup_pagecount(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:69483:12 155898 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { 155899 goto _0 155900 } 155901 155902 _sqlite3MisuseError(tls, i32(69486)) 155903 r0 = i32(0) 155904 return 155905 155906 _0: 155907 r0 = int32(_p.X9) 155908 return 155909 155910 } 155911 155912 func Xsqlite3_backup_remaining(tls *crt.TLS, _p *Xsqlite3_backup) (r0 int32) { // sqlite3.c:69469:12 155913 if _p != (*Xsqlite3_backup)(unsafe.Pointer(uintptr(i32(0)))) { 155914 goto _0 155915 } 155916 155917 _sqlite3MisuseError(tls, i32(69472)) 155918 r0 = i32(0) 155919 return 155920 155921 _0: 155922 r0 = int32(_p.X8) 155923 return 155924 155925 } 155926 155927 func Xsqlite3_compileoption_used(tls *crt.TLS, _zOptName *int8) (r0 int32) { // sqlite3.c:17853:12 155928 var _i int32 // sqlite3.c:17854:7 155929 _ = _i 155930 var _n int32 // sqlite3.c:17854:10 155931 _ = _n 155932 if _zOptName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 155933 goto _0 155934 } 155935 155936 _sqlite3MisuseError(tls, i32(17858)) 155937 r0 = i32(0) 155938 return 155939 155940 _0: 155941 if Xsqlite3_strnicmp(tls, _zOptName, str(136908), i32(7)) != i32(0) { 155942 goto _1 155943 } 155944 155945 { 155946 p := &_zOptName 155947 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(i32(7)))) 155948 sink1025 = *p 155949 } 155950 _1: 155951 _n = _sqlite3Strlen30(tls, _zOptName) 155952 _i = i32(0) 155953 _2: 155954 if _i >= i32(7) { 155955 goto _5 155956 } 155957 155958 if Xsqlite3_strnicmp(tls, _zOptName, *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azCompileOpt)) + 4*uintptr(_i))), _n) != i32(0) || _sqlite3IsIdChar(tls, uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_azCompileOpt)) + 4*uintptr(_i))))) + 1*uintptr(_n))))) != i32(0) { 155959 goto _7 155960 } 155961 155962 r0 = i32(1) 155963 return 155964 155965 _7: 155966 _i += 1 155967 goto _2 155968 155969 _5: 155970 r0 = i32(0) 155971 return 155972 155973 } 155974 155975 func _sqlite3IsIdChar(tls *crt.TLS, _c uint8) (r0 int32) { // sqlite3.c:139088:1 155976 r0 = bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(_c)))) & i32(70)) != i32(0)) 155977 return 155978 155979 } 155980 155981 func Xsqlite3_db_config(tls *crt.TLS, _db *Xsqlite3, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:140690:12 155982 var _ap []interface{} // sqlite3.c:140691:11 155983 _ = _ap 155984 var _rc int32 // sqlite3.c:140692:7 155985 _ = _rc 155986 var _3_pBuf unsafe.Pointer // sqlite3.c:140701:12 155987 _ = _3_pBuf 155988 var _3_sz int32 // sqlite3.c:140702:11 155989 _ = _3_sz 155990 var _3_cnt int32 // sqlite3.c:140703:11 155991 _ = _3_cnt 155992 var _4_i uint32 // sqlite3.c:140718:20 155993 _ = _4_i 155994 var _6_onoff int32 // sqlite3.c:140722:15 155995 _ = _6_onoff 155996 var _6_pRes *int32 // sqlite3.c:140723:15 155997 _ = _6_pRes 155998 var _6_oldFlags int32 // sqlite3.c:140724:15 155999 _ = _6_oldFlags 156000 _ap = args 156001 switch _op { 156002 case i32(1000): 156003 goto _1 156004 case i32(1001): 156005 goto _2 156006 default: 156007 goto _3 156008 } 156009 156010 _1: 156011 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(i32(0)))))) + uintptr(0 /* X0 */))) = (*int8)(crt.VAPointer(&_ap)) 156012 _rc = i32(0) 156013 goto _4 156014 156015 _2: 156016 _3_pBuf = crt.VAPointer(&_ap) 156017 _3_sz = crt.VAInt32(&_ap) 156018 _3_cnt = crt.VAInt32(&_ap) 156019 _rc = _setupLookaside(tls, _db, _3_pBuf, _3_sz, _3_cnt) 156020 goto _4 156021 156022 _3: 156023 _rc = i32(1) 156024 _4_i = uint32(i32(0)) 156025 _5: 156026 if _4_i >= uint32(i32(5)) { 156027 goto _8 156028 } 156029 156030 if ((*T9025128)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X0) != _op { 156031 goto _9 156032 } 156033 156034 _6_onoff = crt.VAInt32(&_ap) 156035 _6_pRes = (*int32)(crt.VAPointer(&_ap)) 156036 _6_oldFlags = _db.X6 156037 if _6_onoff <= i32(0) { 156038 goto _10 156039 } 156040 156041 { 156042 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 156043 *p = int32(uint32(*p) | ((*T9025128)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X1)) 156044 sink961 = *p 156045 } 156046 goto _11 156047 156048 _10: 156049 if _6_onoff != i32(0) { 156050 goto _12 156051 } 156052 156053 { 156054 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(24 /* X6 */))) 156055 *p = int32(uint32(*p) & (^((*T9025128)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X1))) 156056 sink961 = *p 156057 } 156058 _12: 156059 _11: 156060 if _6_oldFlags == (_db.X6) { 156061 goto _13 156062 } 156063 156064 _sqlite3ExpirePreparedStatements(tls, _db) 156065 _13: 156066 if _6_pRes == nil { 156067 goto _14 156068 } 156069 156070 *_6_pRes = bool2int((uint32(_db.X6) & ((*T9025128)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_db_configØ00aFlagOpØ001)) + 8*uintptr(_4_i))).X1)) != uint32(i32(0))) 156071 _14: 156072 _rc = i32(0) 156073 goto _8 156074 156075 _9: 156076 _4_i += 1 156077 goto _5 156078 156079 _8: 156080 goto _4 156081 156082 _4: 156083 _ap = nil 156084 r0 = _rc 156085 return 156086 156087 } 156088 156089 var _sqlite3_db_configØ00aFlagOpØ001 [5]struct { 156090 X0 int32 156091 X1 uint32 156092 } // sqlite3.c:140711:9 156093 156094 func init() { 156095 _sqlite3_db_configØ00aFlagOpØ001 = [5]struct { 156096 X0 int32 156097 X1 uint32 156098 }{T9025128{X0: i32(1002), X1: u32(524288)}, T9025128{X0: i32(1003), X1: u32(16777216)}, T9025128{X0: i32(1004), X1: u32(1073741824)}, T9025128{X0: i32(1005), X1: u32(4194304)}, T9025128{X0: i32(1006), X1: u32(2147483648)}} 156099 } 156100 156101 func Xsqlite3_db_mutex(tls *crt.TLS, _db *Xsqlite3) (r0 *Xsqlite3_mutex) { // sqlite3.c:140623:12 156102 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 156103 goto _0 156104 } 156105 156106 _sqlite3MisuseError(tls, i32(140626)) 156107 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) 156108 return 156109 156110 _0: 156111 r0 = (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3)) 156112 return 156113 156114 } 156115 156116 func Xsqlite3_db_status(tls *crt.TLS, _db *Xsqlite3, _op int32, _pCurrent *int32, _pHighwater *int32, _resetFlag int32) (r0 int32) { // sqlite3.c:18624:12 156117 var _rc int32 // sqlite3.c:18631:7 156118 _ = _rc 156119 var _7_totalUsed int32 // sqlite3.c:18671:11 156120 _ = _7_totalUsed 156121 var _7_i int32 // sqlite3.c:18672:11 156122 _ = _7_i 156123 var _8_pBt *XBtree // sqlite3.c:18675:15 156124 _ = _8_pBt 156125 var _9_pPager *XPager // sqlite3.c:18677:17 156126 _ = _9_pPager 156127 var _9_nByte int32 // sqlite3.c:18678:15 156128 _ = _9_nByte 156129 var _11_i int32 // sqlite3.c:18697:11 156130 _ = _11_i 156131 var _11_nByte int32 // sqlite3.c:18698:11 156132 _ = _11_nByte 156133 var _12_pSchema *XSchema // sqlite3.c:18703:16 156134 _ = _12_pSchema 156135 var _13_p *XHashElem // sqlite3.c:18705:20 156136 _ = _13_p 156137 var _16_pVdbe *XVdbe // sqlite3.c:18740:19 156138 _ = _16_pVdbe 156139 var _16_nByte int32 // sqlite3.c:18741:11 156140 _ = _16_nByte 156141 var _18_i int32 // sqlite3.c:18764:11 156142 _ = _18_i 156143 var _18_nRet int32 // sqlite3.c:18765:11 156144 _ = _18_nRet 156145 var _20_pPager *XPager // sqlite3.c:18771:17 156146 _ = _20_pPager 156147 _rc = i32(0) 156148 if _sqlite3SafetyCheckOk(tls, _db) != 0 && _pCurrent != (*int32)(unsafe.Pointer(uintptr(i32(0)))) && _pHighwater != (*int32)(unsafe.Pointer(uintptr(i32(0)))) { 156149 goto _2 156150 } 156151 156152 r0 = _sqlite3MisuseError(tls, i32(18634)) 156153 return 156154 156155 _2: 156156 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 156157 switch _op { 156158 case i32(0): 156159 goto _4 156160 case i32(1): 156161 goto _9 156162 case i32(2): 156163 goto _10 156164 case i32(3): 156165 goto _11 156166 case i32(4): 156167 goto _5 156168 case i32(5): 156169 goto _6 156170 case i32(6): 156171 goto _7 156172 case i32(7): 156173 goto _12 156174 case i32(8): 156175 goto _13 156176 case i32(9): 156177 goto _14 156178 case i32(10): 156179 goto _15 156180 case i32(11): 156181 goto _8 156182 default: 156183 goto _16 156184 } 156185 156186 _4: 156187 *_pCurrent = (*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3 156188 *_pHighwater = (*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X4 156189 if _resetFlag == 0 { 156190 goto _17 156191 } 156192 156193 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */))))) + uintptr(12 /* X4 */))) = (*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(252 /* X58 */))).X3 156194 _17: 156195 goto _18 156196 156197 _5: 156198 _6: 156199 _7: 156200 func() int32 { 156201 if (_op - i32(4)) >= i32(0) { 156202 return i32(0) 156203 } 156204 return func() int32 { 156205 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18654), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_db_statusØ00__func__Ø000))), unsafe.Pointer(str(136916))) 156206 crt.X__builtin_abort(tls) 156207 return i32(0) 156208 }() 156209 }() 156210 func() int32 { 156211 if (_op - i32(4)) < i32(3) { 156212 return i32(0) 156213 } 156214 return func() int32 { 156215 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18655), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_db_statusØ00__func__Ø000))), unsafe.Pointer(str(136956))) 156216 crt.X__builtin_abort(tls) 156217 return i32(0) 156218 }() 156219 }() 156220 *_pCurrent = i32(0) 156221 *_pHighwater = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(_op-i32(4)))) 156222 if _resetFlag == 0 { 156223 goto _23 156224 } 156225 156226 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7746362)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(252 /* X58 */)))))+uintptr(16 /* X5 */))))) + 4*uintptr(_op-i32(4)))) = i32(0) 156227 _23: 156228 goto _18 156229 156230 _8: 156231 _9: 156232 _7_totalUsed = i32(0) 156233 _sqlite3BtreeEnterAll(tls, _db) 156234 _7_i = i32(0) 156235 _24: 156236 if _7_i >= (_db.X5) { 156237 goto _27 156238 } 156239 156240 _8_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_7_i))).X1)) 156241 if _8_pBt == nil { 156242 goto _28 156243 } 156244 156245 _9_pPager = _sqlite3BtreePager(tls, _8_pBt) 156246 _9_nByte = _sqlite3PagerMemUsed(tls, _9_pPager) 156247 if _op != i32(11) { 156248 goto _29 156249 } 156250 156251 _9_nByte = _9_nByte / _sqlite3BtreeConnectionCount(tls, _8_pBt) 156252 _29: 156253 { 156254 p := &_7_totalUsed 156255 *p = (*p) + _9_nByte 156256 sink961 = *p 156257 } 156258 _28: 156259 _7_i += 1 156260 goto _24 156261 156262 _27: 156263 _sqlite3BtreeLeaveAll(tls, _db) 156264 *_pCurrent = _7_totalUsed 156265 *_pHighwater = i32(0) 156266 goto _18 156267 156268 _10: 156269 _11_nByte = i32(0) 156270 _sqlite3BtreeEnterAll(tls, _db) 156271 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(452 /* X79 */))) = &_11_nByte 156272 _11_i = i32(0) 156273 _30: 156274 if _11_i >= (_db.X5) { 156275 goto _33 156276 } 156277 156278 _12_pSchema = (*XSchema)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_11_i))).X4)) 156279 if func() int32 { 156280 if _12_pSchema != (*XSchema)(unsafe.Pointer(uintptr(i32(0)))) { 156281 return i32(1) 156282 } 156283 return func() int32 { 156284 func() int32 { 156285 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(18704), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_db_statusØ00__func__Ø000))), unsafe.Pointer(str(5204))) 156286 crt.X__builtin_abort(tls) 156287 return i32(0) 156288 }() 156289 return i32(0) 156290 }() 156291 }() == 0 { 156292 goto _36 156293 } 156294 156295 { 156296 p := &_11_nByte 156297 *p = int32(uint32(*p) + (uint32(((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config))+uintptr(40 /* X10 */))).X4)(tls, int32(u32(16)))) * (((((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(8 /* X2 */))).X1) + ((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(40 /* X4 */))).X1)) + ((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(24 /* X3 */))).X1)) + ((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(56 /* X5 */))).X1)))) 156298 sink961 = *p 156299 } 156300 { 156301 p := &_11_nByte 156302 *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(8 /* X2 */))).X3)) 156303 sink961 = *p 156304 } 156305 { 156306 p := &_11_nByte 156307 *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(40 /* X4 */))).X3)) 156308 sink961 = *p 156309 } 156310 { 156311 p := &_11_nByte 156312 *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(24 /* X3 */))).X3)) 156313 sink961 = *p 156314 } 156315 { 156316 p := &_11_nByte 156317 *p = int32(uint64(*p) + Xsqlite3_msize(tls, (*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema))+uintptr(56 /* X5 */))).X3)) 156318 sink961 = *p 156319 } 156320 _13_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(40 /* X4 */))).X2)) 156321 _37: 156322 if _13_p == nil { 156323 goto _40 156324 } 156325 156326 _sqlite3DeleteTrigger(tls, _db, (*XTrigger)(unsafe.Pointer(_13_p.X2))) 156327 _13_p = (*XHashElem)(unsafe.Pointer(_13_p.X0)) 156328 goto _37 156329 156330 _40: 156331 _13_p = (*XHashElem)(unsafe.Pointer((*XHash)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_pSchema)) + uintptr(8 /* X2 */))).X2)) 156332 _41: 156333 if _13_p == nil { 156334 goto _44 156335 } 156336 156337 _sqlite3DeleteTable(tls, _db, (*XTable)(unsafe.Pointer(_13_p.X2))) 156338 _13_p = (*XHashElem)(unsafe.Pointer(_13_p.X0)) 156339 goto _41 156340 156341 _44: 156342 _36: 156343 _11_i += 1 156344 goto _30 156345 156346 _33: 156347 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(452 /* X79 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 156348 _sqlite3BtreeLeaveAll(tls, _db) 156349 *_pHighwater = i32(0) 156350 *_pCurrent = _11_nByte 156351 goto _18 156352 156353 _11: 156354 _16_nByte = i32(0) 156355 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(452 /* X79 */))) = &_16_nByte 156356 _16_pVdbe = (*XVdbe)(unsafe.Pointer(_db.X1)) 156357 _45: 156358 if _16_pVdbe == nil { 156359 goto _48 156360 } 156361 156362 _sqlite3VdbeClearObject(tls, _db, _16_pVdbe) 156363 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_16_pVdbe)) 156364 _16_pVdbe = (*XVdbe)(unsafe.Pointer(_16_pVdbe.X2)) 156365 goto _45 156366 156367 _48: 156368 *(**int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(452 /* X79 */))) = (*int32)(unsafe.Pointer(uintptr(i32(0)))) 156369 *_pHighwater = i32(0) 156370 *_pCurrent = _16_nByte 156371 goto _18 156372 156373 _12: 156374 _13: 156375 _14: 156376 _18_nRet = i32(0) 156377 i32(0) 156378 i32(0) 156379 _18_i = i32(0) 156380 _49: 156381 if _18_i >= (_db.X5) { 156382 goto _52 156383 } 156384 156385 if (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_18_i))).X1)) == nil { 156386 goto _53 156387 } 156388 156389 _20_pPager = _sqlite3BtreePager(tls, (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4)+16*uintptr(_18_i))).X1))) 156390 _sqlite3PagerCacheStat(tls, _20_pPager, _op, _resetFlag, &_18_nRet) 156391 _53: 156392 _18_i += 1 156393 goto _49 156394 156395 _52: 156396 *_pHighwater = i32(0) 156397 *_pCurrent = _18_nRet 156398 goto _18 156399 156400 _15: 156401 *_pHighwater = i32(0) 156402 *_pCurrent = bool2int(((_db.X78) > int64(i32(0))) || ((_db.X77) > int64(i32(0)))) 156403 goto _18 156404 156405 _16: 156406 _rc = i32(1) 156407 _18: 156408 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 156409 r0 = _rc 156410 return 156411 156412 } 156413 156414 var _sqlite3_db_statusØ00__func__Ø000 [18]int8 // - 156415 156416 func init() { 156417 crt.Xstrncpy(nil, &_sqlite3_db_statusØ00__func__Ø000[0], str(136996), 18) 156418 } 156419 156420 func _sqlite3PagerMemUsed(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:53455:1 156421 var _perPageSize int32 // sqlite3.c:53456:7 156422 _ = _perPageSize 156423 _perPageSize = int32((uint32((_pPager.X48)+int32(_pPager.X44)) + u32(40)) + u32(20)) 156424 r0 = ((_perPageSize * _sqlite3PcachePagecount(tls, (*XPCache)(unsafe.Pointer(_pPager.X59)))) + _sqlite3MallocSize(tls, (unsafe.Pointer)(_pPager))) + (_pPager.X48) 156425 return 156426 156427 } 156428 156429 func Xsqlite3_msize(tls *crt.TLS, _p unsafe.Pointer) (r0 uint64) { // sqlite3.c:24630:12 156430 i32(0) 156431 i32(0) 156432 r0 = uint64(func() int32 { 156433 if _p != nil { 156434 return ((*Xsqlite3_mem_methods)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(40 /* X10 */))).X3)(tls, _p) 156435 } 156436 return i32(0) 156437 }()) 156438 return 156439 156440 } 156441 156442 func _sqlite3PagerCacheStat(tls *crt.TLS, _pPager *XPager, _eStat int32, _reset int32, _pnVal *int32) { // sqlite3.c:53498:1 156443 func() int32 { 156444 if ((_eStat == i32(7)) || (_eStat == i32(8))) || (_eStat == i32(9)) { 156445 return i32(0) 156446 } 156447 return func() int32 { 156448 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(53500), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerCacheStatØ00__func__Ø000))), unsafe.Pointer(str(137016))) 156449 crt.X__builtin_abort(tls) 156450 return i32(0) 156451 }() 156452 }() 156453 i32(0) 156454 i32(0) 156455 i32(0) 156456 { 156457 p := _pnVal 156458 *p = (*p) + (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(184 /* X55 */))))) + 4*uintptr(_eStat-i32(7))))) 156459 sink961 = *p 156460 } 156461 if _reset == 0 { 156462 goto _4 156463 } 156464 156465 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[3]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPager))+uintptr(184 /* X55 */))))) + 4*uintptr(_eStat-i32(7)))) = i32(0) 156466 _4: 156467 return 156468 156469 } 156470 156471 var _sqlite3PagerCacheStatØ00__func__Ø000 [22]int8 // - 156472 156473 func init() { 156474 crt.Xstrncpy(nil, &_sqlite3PagerCacheStatØ00__func__Ø000[0], str(137124), 22) 156475 } 156476 156477 func Xsqlite3_extended_errcode(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142219:12 156478 if _db == nil || _sqlite3SafetyCheckSickOrOk(tls, _db) != 0 { 156479 goto _1 156480 } 156481 156482 r0 = _sqlite3MisuseError(tls, i32(142221)) 156483 return 156484 156485 _1: 156486 if _db != nil && (_db.X17) == 0 { 156487 goto _3 156488 } 156489 156490 r0 = _sqlite3NomemError(tls, i32(142224)) 156491 return 156492 156493 _3: 156494 r0 = _db.X10 156495 return 156496 156497 } 156498 156499 func Xsqlite3_sourceid(tls *crt.TLS) (r0 *int8) { // sqlite3.c:139954:12 156500 r0 = str(137148) 156501 return 156502 156503 } 156504 156505 func Xsqlite3_stmt_status(tls *crt.TLS, _pStmt unsafe.Pointer, _op int32, _resetFlag int32) (r0 int32) { // sqlite3.c:77595:12 156506 var _pVdbe *XVdbe // sqlite3.c:77596:8 156507 _ = _pVdbe 156508 var _v uint32 // sqlite3.c:77597:7 156509 _ = _v 156510 _pVdbe = (*XVdbe)(unsafe.Pointer(_pStmt)) 156511 if _pStmt != nil { 156512 goto _0 156513 } 156514 156515 _sqlite3MisuseError(tls, i32(77600)) 156516 r0 = i32(0) 156517 return 156518 156519 _0: 156520 _v = *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe))+uintptr(152 /* X35 */))))) + 4*uintptr(_op))) 156521 if _resetFlag == 0 { 156522 goto _1 156523 } 156524 156525 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[5]uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pVdbe))+uintptr(152 /* X35 */))))) + 4*uintptr(_op))) = uint32(i32(0)) 156526 _1: 156527 r0 = int32(_v) 156528 return 156529 156530 } 156531 156532 func Xsqlite3_blob_reopen(tls *crt.TLS, _pBlob unsafe.Pointer, _iRow int64) (r0 int32) { // sqlite3.c:85816:12 156533 var _rc int32 // sqlite3.c:85817:7 156534 _ = _rc 156535 var _p *XIncrblob // sqlite3.c:85818:12 156536 _ = _p 156537 var _db *Xsqlite3 // sqlite3.c:85819:11 156538 _ = _db 156539 var _2_zErr *int8 // sqlite3.c:85831:10 156540 _ = _2_zErr 156541 _p = (*XIncrblob)(unsafe.Pointer(_pBlob)) 156542 if _p != (*XIncrblob)(unsafe.Pointer(uintptr(i32(0)))) { 156543 goto _0 156544 } 156545 156546 r0 = _sqlite3MisuseError(tls, i32(85821)) 156547 return 156548 156549 _0: 156550 _db = (*Xsqlite3)(unsafe.Pointer(_p.X5)) 156551 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 156552 if unsafe.Pointer(_p.X4) != (unsafe.Pointer)(uintptr(i32(0))) { 156553 goto _1 156554 } 156555 156556 _rc = i32(4) 156557 goto _2 156558 156559 _1: 156560 _rc = _blobSeekToRow(tls, _p, _iRow, &_2_zErr) 156561 if _rc == i32(0) { 156562 goto _3 156563 } 156564 156565 _sqlite3ErrorWithMsg(tls, _db, _rc, func() *int8 { 156566 if _2_zErr != nil { 156567 return str(25612) 156568 } 156569 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 156570 }(), unsafe.Pointer(_2_zErr)) 156571 _sqlite3DbFree(tls, _db, (unsafe.Pointer)(_2_zErr)) 156572 _3: 156573 func() int32 { 156574 if _rc != i32(17) { 156575 return i32(0) 156576 } 156577 return func() int32 { 156578 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85837), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_blob_reopenØ00__func__Ø000))), unsafe.Pointer(str(137236))) 156579 crt.X__builtin_abort(tls) 156580 return i32(0) 156581 }() 156582 }() 156583 _2: 156584 _rc = _sqlite3ApiExit(tls, _db, _rc) 156585 func() int32 { 156586 if (_rc == i32(0)) || (unsafe.Pointer(_p.X4) == (unsafe.Pointer)(uintptr(i32(0)))) { 156587 return i32(0) 156588 } 156589 return func() int32 { 156590 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(85841), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_blob_reopenØ00__func__Ø000))), unsafe.Pointer(str(137256))) 156591 crt.X__builtin_abort(tls) 156592 return i32(0) 156593 }() 156594 }() 156595 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 156596 r0 = _rc 156597 return 156598 156599 } 156600 156601 var _sqlite3_blob_reopenØ00__func__Ø000 [20]int8 // - 156602 156603 func init() { 156604 crt.Xstrncpy(nil, &_sqlite3_blob_reopenØ00__func__Ø000[0], str(137288), 20) 156605 } 156606 156607 func Xsqlite3_vtab_config(tls *crt.TLS, _db *Xsqlite3, _op int32, args ...interface{}) (r0 int32) { // sqlite3.c:125733:12 156608 var _ap []interface{} // sqlite3.c:125734:11 156609 _ = _ap 156610 var _rc int32 // sqlite3.c:125735:7 156611 _ = _rc 156612 var _2_p *XVtabCtx // sqlite3.c:125744:15 156613 _ = _2_p 156614 _rc = i32(0) 156615 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 156616 goto _0 156617 } 156618 156619 r0 = _sqlite3MisuseError(tls, i32(125738)) 156620 return 156621 156622 _0: 156623 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 156624 _ap = args 156625 switch _op { 156626 case i32(1): 156627 goto _2 156628 default: 156629 goto _3 156630 } 156631 156632 _2: 156633 _2_p = (*XVtabCtx)(unsafe.Pointer(_db.X66)) 156634 if _2_p != nil { 156635 goto _4 156636 } 156637 156638 _rc = _sqlite3MisuseError(tls, i32(125746)) 156639 goto _5 156640 156641 _4: 156642 func() int32 { 156643 if ((*XTable)(unsafe.Pointer(_2_p.X1)) == (*XTable)(unsafe.Pointer(uintptr(i32(0))))) || ((*XTable)(unsafe.Pointer(_2_p.X1)).X16) != 0 { 156644 return i32(0) 156645 } 156646 return func() int32 { 156647 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125748), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_vtab_configØ00__func__Ø000))), unsafe.Pointer(str(137308))) 156648 crt.X__builtin_abort(tls) 156649 return i32(0) 156650 }() 156651 }() 156652 *(*uint8)(unsafe.Pointer(uintptr(_2_p.X0) + uintptr(16 /* X4 */))) = uint8(crt.VAInt32(&_ap)) 156653 _5: 156654 goto _9 156655 156656 _3: 156657 _rc = _sqlite3MisuseError(tls, i32(125754)) 156658 goto _9 156659 156660 _9: 156661 _ap = nil 156662 if _rc == i32(0) { 156663 goto _10 156664 } 156665 156666 _sqlite3Error(tls, _db, _rc) 156667 _10: 156668 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 156669 r0 = _rc 156670 return 156671 156672 } 156673 156674 var _sqlite3_vtab_configØ00__func__Ø000 [20]int8 // - 156675 156676 func init() { 156677 crt.Xstrncpy(nil, &_sqlite3_vtab_configØ00__func__Ø000[0], str(137344), 20) 156678 } 156679 156680 func Xsqlite3_vtab_on_conflict(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:125715:12 156681 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 156682 goto _0 156683 } 156684 156685 r0 = _sqlite3MisuseError(tls, i32(125720)) 156686 return 156687 156688 _0: 156689 i32(0) 156690 i32(0) 156691 func() int32 { 156692 if (int32(_db.X22) >= i32(1)) && (int32(_db.X22) <= i32(5)) { 156693 return i32(0) 156694 } 156695 return func() int32 { 156696 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(125724), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_vtab_on_conflictØ00__func__Ø000))), unsafe.Pointer(str(137364))) 156697 crt.X__builtin_abort(tls) 156698 return i32(0) 156699 }() 156700 }() 156701 r0 = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3_vtab_on_conflictØ00aMapØ001)) + 1*uintptr(int32(_db.X22)-i32(1))))) 156702 return 156703 156704 } 156705 156706 var _sqlite3_vtab_on_conflictØ00__func__Ø000 [25]int8 // - 156707 156708 func init() { 156709 crt.Xstrncpy(nil, &_sqlite3_vtab_on_conflictØ00__func__Ø000[0], str(137412), 25) 156710 } 156711 156712 var _sqlite3_vtab_on_conflictØ00aMapØ001 [5]uint8 // sqlite3.c:125716:30 156713 156714 func init() { 156715 _sqlite3_vtab_on_conflictØ00aMapØ001 = [5]uint8{1, 4, 3, 2, 5} 156716 } 156717 156718 func Xsqlite3_close_v2(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:141010:12 156719 r0 = _sqlite3Close(tls, _db, i32(1)) 156720 return 156721 156722 } 156723 156724 func Xsqlite3_db_filename(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8) (r0 *int8) { // sqlite3.c:143857:12 156725 var _pBt *XBtree // sqlite3.c:143858:9 156726 _ = _pBt 156727 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 156728 goto _0 156729 } 156730 156731 _sqlite3MisuseError(tls, i32(143861)) 156732 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 156733 return 156734 156735 _0: 156736 _pBt = _sqlite3DbNameToBtree(tls, _db, _zDbName) 156737 r0 = func() *int8 { 156738 if _pBt != nil { 156739 return _sqlite3BtreeGetFilename(tls, _pBt) 156740 } 156741 return (*int8)(unsafe.Pointer(uintptr(i32(0)))) 156742 }() 156743 return 156744 156745 } 156746 156747 func Xsqlite3_db_readonly(tls *crt.TLS, _db *Xsqlite3, _zDbName *int8) (r0 int32) { // sqlite3.c:143873:12 156748 var _pBt *XBtree // sqlite3.c:143874:9 156749 _ = _pBt 156750 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 156751 goto _0 156752 } 156753 156754 _sqlite3MisuseError(tls, i32(143877)) 156755 r0 = i32(-1) 156756 return 156757 156758 _0: 156759 _pBt = _sqlite3DbNameToBtree(tls, _db, _zDbName) 156760 r0 = func() int32 { 156761 if _pBt != nil { 156762 return _sqlite3BtreeIsReadonly(tls, _pBt) 156763 } 156764 return i32(-1) 156765 }() 156766 return 156767 156768 } 156769 156770 func Xsqlite3_errstr(tls *crt.TLS, _rc int32) (r0 *int8) { // sqlite3.c:142237:12 156771 r0 = _sqlite3ErrStr(tls, _rc) 156772 return 156773 156774 } 156775 156776 func Xsqlite3_stmt_readonly(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 int32) { // sqlite3.c:77556:12 156777 r0 = int32(func() uint32 { 156778 if _pStmt != nil { 156779 return ((uint32(((*XVdbe)(unsafe.Pointer(_pStmt)).X32)>>uint(i32(7))) << uint(i32(31))) >> uint(i32(31))) 156780 } 156781 return uint32(i32(1)) 156782 }()) 156783 return 156784 156785 } 156786 156787 func Xsqlite3_uri_int64(tls *crt.TLS, _zFilename *int8, _zParam *int8, _bDflt int64) (r0 int64) { // sqlite3.c:143832:12 156788 var _z *int8 // sqlite3.c:143837:14 156789 _ = _z 156790 var _v int64 // sqlite3.c:143838:17 156791 _ = _v 156792 _z = Xsqlite3_uri_parameter(tls, _zFilename, _zParam) 156793 if _z == nil || _sqlite3DecOrHexToI64(tls, _z, &_v) != i32(0) { 156794 goto _1 156795 } 156796 156797 _bDflt = _v 156798 _1: 156799 r0 = _bDflt 156800 return 156801 156802 } 156803 156804 func Xsqlite3_auto_extension(tls *crt.TLS, _xInit func(*crt.TLS)) (r0 int32) { // sqlite3.c:112206:12 156805 var _rc int32 // sqlite3.c:112209:7 156806 _ = _rc 156807 var _2_i uint32 // sqlite3.c:112217:9 156808 _ = _2_i 156809 var _2_mutex *Xsqlite3_mutex // sqlite3.c:112219:19 156810 _ = _2_mutex 156811 var _4_nByte uint64 // sqlite3.c:112227:11 156812 _ = _4_nByte 156813 var _4_aNew *func(*crt.TLS) // sqlite3.c:112228:12 156814 _ = _4_aNew 156815 _rc = i32(0) 156816 _rc = Xsqlite3_initialize(tls) 156817 if _rc == 0 { 156818 goto _0 156819 } 156820 156821 r0 = _rc 156822 return 156823 156824 _0: 156825 _2_mutex = _sqlite3MutexAlloc(tls, i32(2)) 156826 Xsqlite3_mutex_enter(tls, _2_mutex) 156827 _2_i = uint32(i32(0)) 156828 _2: 156829 if _2_i >= (_sqlite3Autoext.X0) { 156830 goto _5 156831 } 156832 156833 if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{(*(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 4*uintptr(_2_i))))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_xInit})) { 156834 goto _6 156835 } 156836 156837 goto _5 156838 156839 _6: 156840 _2_i += 1 156841 goto _2 156842 156843 _5: 156844 if _2_i != (_sqlite3Autoext.X0) { 156845 goto _7 156846 } 156847 156848 _4_nByte = uint64(((_sqlite3Autoext.X0) + uint32(i32(1))) * u32(4)) 156849 _4_aNew = (*func(*crt.TLS))(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_sqlite3Autoext.X1), _4_nByte))) 156850 if _4_aNew != (*func(*crt.TLS))(unsafe.Pointer(uintptr(i32(0)))) { 156851 goto _8 156852 } 156853 156854 _rc = _sqlite3NomemError(tls, i32(112231)) 156855 goto _9 156856 156857 _8: 156858 *(**func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(4 /* X1 */))) = _4_aNew 156859 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 4*uintptr(_sqlite3Autoext.X0))) = _xInit 156860 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(0 /* X0 */))) += 1 156861 _9: 156862 _7: 156863 Xsqlite3_mutex_leave(tls, _2_mutex) 156864 func() int32 { 156865 if (_rc & i32(255)) == _rc { 156866 return i32(0) 156867 } 156868 return func() int32 { 156869 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(112239), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_auto_extensionØ00__func__Ø000))), unsafe.Pointer(str(25616))) 156870 crt.X__builtin_abort(tls) 156871 return i32(0) 156872 }() 156873 }() 156874 r0 = _rc 156875 return 156876 156877 } 156878 156879 var _sqlite3_auto_extensionØ00__func__Ø000 [23]int8 // - 156880 156881 func init() { 156882 crt.Xstrncpy(nil, &_sqlite3_auto_extensionØ00__func__Ø000[0], str(137440), 23) 156883 } 156884 156885 func Xsqlite3_bind_blob64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _zData unsafe.Pointer, _nData uint64, _xDel func(*crt.TLS, unsafe.Pointer)) (r0 int32) { // sqlite3.c:77322:12 156886 func() int32 { 156887 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156888 f func(*crt.TLS, unsafe.Pointer) 156889 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156890 f func(*crt.TLS, unsafe.Pointer) 156891 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 156892 f func(*crt.TLS, unsafe.Pointer) int32 156893 }{_sqlite3MallocSize})))})) { 156894 return i32(0) 156895 } 156896 return func() int32 { 156897 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77329), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_bind_blob64Ø00__func__Ø000))), unsafe.Pointer(str(137464))) 156898 crt.X__builtin_abort(tls) 156899 return i32(0) 156900 }() 156901 }() 156902 if _nData <= uint64(i32(2147483647)) { 156903 goto _2 156904 } 156905 156906 r0 = _invokeValueDestructor(tls, _zData, _xDel, (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0))))) 156907 return 156908 156909 _2: 156910 r0 = _bindText(tls, _pStmt, _i, _zData, int32(_nData), _xDel, uint8(i32(0))) 156911 return 156912 156913 } 156914 156915 var _sqlite3_bind_blob64Ø00__func__Ø000 [20]int8 // - 156916 156917 func init() { 156918 crt.Xstrncpy(nil, &_sqlite3_bind_blob64Ø00__func__Ø000[0], str(137488), 20) 156919 } 156920 156921 func _invokeValueDestructor(tls *crt.TLS, _p unsafe.Pointer, _xDel func(*crt.TLS, unsafe.Pointer), _pCtx *Xsqlite3_context) (r0 int32) { // sqlite3.c:76314:1 156922 func() int32 { 156923 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156924 f func(*crt.TLS, unsafe.Pointer) 156925 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156926 f func(*crt.TLS, unsafe.Pointer) 156927 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 156928 f func(*crt.TLS, unsafe.Pointer) int32 156929 }{_sqlite3MallocSize})))})) { 156930 return i32(0) 156931 } 156932 return func() int32 { 156933 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76319), unsafe.Pointer((*int8)(unsafe.Pointer(&_invokeValueDestructorØ00__func__Ø000))), unsafe.Pointer(str(137464))) 156934 crt.X__builtin_abort(tls) 156935 return i32(0) 156936 }() 156937 }() 156938 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156939 f func(*crt.TLS, unsafe.Pointer) 156940 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156941 f func(*crt.TLS, unsafe.Pointer) 156942 }{nil})) { 156943 goto _2 156944 } 156945 156946 goto _3 156947 156948 _2: 156949 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156950 f func(*crt.TLS, unsafe.Pointer) 156951 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156952 f func(*crt.TLS, unsafe.Pointer) 156953 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295})))})) { 156954 goto _4 156955 } 156956 156957 goto _5 156958 156959 _4: 156960 _xDel(tls, _p) 156961 _5: 156962 _3: 156963 if _pCtx == nil { 156964 goto _6 156965 } 156966 156967 Xsqlite3_result_error_toobig(tls, _pCtx) 156968 _6: 156969 r0 = i32(18) 156970 return 156971 156972 } 156973 156974 var _invokeValueDestructorØ00__func__Ø000 [22]int8 // - 156975 156976 func init() { 156977 crt.Xstrncpy(nil, &_invokeValueDestructorØ00__func__Ø000[0], str(137508), 22) 156978 } 156979 156980 func Xsqlite3_bind_text64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _zData *int8, _nData uint64, _xDel func(*crt.TLS, unsafe.Pointer), _enc uint8) (r0 int32) { // sqlite3.c:77377:12 156981 func() int32 { 156982 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156983 f func(*crt.TLS, unsafe.Pointer) 156984 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 156985 f func(*crt.TLS, unsafe.Pointer) 156986 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 156987 f func(*crt.TLS, unsafe.Pointer) int32 156988 }{_sqlite3MallocSize})))})) { 156989 return i32(0) 156990 } 156991 return func() int32 { 156992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77385), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_bind_text64Ø00__func__Ø000))), unsafe.Pointer(str(137464))) 156993 crt.X__builtin_abort(tls) 156994 return i32(0) 156995 }() 156996 }() 156997 if _nData <= uint64(i32(2147483647)) { 156998 goto _2 156999 } 157000 157001 r0 = _invokeValueDestructor(tls, (unsafe.Pointer)(_zData), _xDel, (*Xsqlite3_context)(unsafe.Pointer(uintptr(i32(0))))) 157002 return 157003 157004 _2: 157005 if int32(_enc) != i32(4) { 157006 goto _4 157007 } 157008 157009 _enc = uint8(i32(2)) 157010 _4: 157011 r0 = _bindText(tls, _pStmt, _i, (unsafe.Pointer)(_zData), int32(_nData), _xDel, _enc) 157012 return 157013 157014 } 157015 157016 var _sqlite3_bind_text64Ø00__func__Ø000 [20]int8 // - 157017 157018 func init() { 157019 crt.Xstrncpy(nil, &_sqlite3_bind_text64Ø00__func__Ø000[0], str(137532), 20) 157020 } 157021 157022 func Xsqlite3_cancel_auto_extension(tls *crt.TLS, _xInit func(*crt.TLS)) (r0 int32) { // sqlite3.c:112253:12 157023 var _mutex *Xsqlite3_mutex // sqlite3.c:112257:17 157024 _ = _mutex 157025 var _i int32 // sqlite3.c:112259:7 157026 _ = _i 157027 var _n int32 // sqlite3.c:112260:7 157028 _ = _n 157029 _mutex = _sqlite3MutexAlloc(tls, i32(2)) 157030 _n = i32(0) 157031 Xsqlite3_mutex_enter(tls, _mutex) 157032 _i = int32(_sqlite3Autoext.X0) - i32(1) 157033 _0: 157034 if _i < i32(0) { 157035 goto _3 157036 } 157037 157038 if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{(*(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 4*uintptr(_i))))})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_xInit})) { 157039 goto _4 157040 } 157041 157042 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(0 /* X0 */))) -= 1 157043 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 4*uintptr(_i))) = *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(_sqlite3Autoext.X1)) + 4*uintptr(_sqlite3Autoext.X0))) 157044 _n += 1 157045 goto _3 157046 157047 _4: 157048 _i -= 1 157049 goto _0 157050 157051 _3: 157052 Xsqlite3_mutex_leave(tls, _mutex) 157053 r0 = _n 157054 return 157055 157056 } 157057 157058 func Xsqlite3_reset_auto_extension(tls *crt.TLS) { // sqlite3.c:112278:12 157059 var _1_mutex *Xsqlite3_mutex // sqlite3.c:112284:19 157060 _ = _1_mutex 157061 if Xsqlite3_initialize(tls) != i32(0) { 157062 goto _0 157063 } 157064 157065 _1_mutex = _sqlite3MutexAlloc(tls, i32(2)) 157066 Xsqlite3_mutex_enter(tls, _1_mutex) 157067 Xsqlite3_free(tls, (unsafe.Pointer)(_sqlite3Autoext.X1)) 157068 *(**func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(4 /* X1 */))) = (*func(*crt.TLS))(unsafe.Pointer(uintptr(i32(0)))) 157069 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Autoext)) + uintptr(0 /* X0 */))) = uint32(i32(0)) 157070 Xsqlite3_mutex_leave(tls, _1_mutex) 157071 _0: 157072 return 157073 157074 } 157075 157076 func Xsqlite3_result_blob64(tls *crt.TLS, _pCtx *Xsqlite3_context, _z unsafe.Pointer, _n uint64, _xDel func(*crt.TLS, unsafe.Pointer)) { // sqlite3.c:76340:12 157077 func() int32 { 157078 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 157079 return i32(0) 157080 } 157081 return func() int32 { 157082 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76346), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_blob64Ø00__func__Ø000))), unsafe.Pointer(str(6312))) 157083 crt.X__builtin_abort(tls) 157084 return i32(0) 157085 }() 157086 }() 157087 func() int32 { 157088 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 157089 f func(*crt.TLS, unsafe.Pointer) 157090 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 157091 f func(*crt.TLS, unsafe.Pointer) 157092 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 157093 f func(*crt.TLS, unsafe.Pointer) int32 157094 }{_sqlite3MallocSize})))})) { 157095 return i32(0) 157096 } 157097 return func() int32 { 157098 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76347), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_blob64Ø00__func__Ø000))), unsafe.Pointer(str(137464))) 157099 crt.X__builtin_abort(tls) 157100 return i32(0) 157101 }() 157102 }() 157103 if _n <= uint64(i32(2147483647)) { 157104 goto _4 157105 } 157106 157107 _invokeValueDestructor(tls, _z, _xDel, _pCtx) 157108 goto _5 157109 157110 _4: 157111 _setResultStrOrError(tls, _pCtx, (*int8)(unsafe.Pointer(_z)), int32(_n), uint8(i32(0)), _xDel) 157112 _5: 157113 return 157114 157115 } 157116 157117 var _sqlite3_result_blob64Ø00__func__Ø000 [22]int8 // - 157118 157119 func init() { 157120 crt.Xstrncpy(nil, &_sqlite3_result_blob64Ø00__func__Ø000[0], str(137552), 22) 157121 } 157122 157123 func Xsqlite3_result_text64(tls *crt.TLS, _pCtx *Xsqlite3_context, _z *int8, _n uint64, _xDel func(*crt.TLS, unsafe.Pointer), _enc uint8) { // sqlite3.c:76399:12 157124 func() int32 { 157125 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer((*XMem)(unsafe.Pointer(_pCtx.X0)).X9)).X3))) != 0 { 157126 return i32(0) 157127 } 157128 return func() int32 { 157129 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76406), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_text64Ø00__func__Ø000))), unsafe.Pointer(str(6312))) 157130 crt.X__builtin_abort(tls) 157131 return i32(0) 157132 }() 157133 }() 157134 func() int32 { 157135 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 157136 f func(*crt.TLS, unsafe.Pointer) 157137 }{_xDel})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 157138 f func(*crt.TLS, unsafe.Pointer) 157139 }{(*(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 157140 f func(*crt.TLS, unsafe.Pointer) int32 157141 }{_sqlite3MallocSize})))})) { 157142 return i32(0) 157143 } 157144 return func() int32 { 157145 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76407), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_text64Ø00__func__Ø000))), unsafe.Pointer(str(137464))) 157146 crt.X__builtin_abort(tls) 157147 return i32(0) 157148 }() 157149 }() 157150 if int32(_enc) != i32(4) { 157151 goto _4 157152 } 157153 157154 _enc = uint8(i32(2)) 157155 _4: 157156 if _n <= uint64(i32(2147483647)) { 157157 goto _5 157158 } 157159 157160 _invokeValueDestructor(tls, (unsafe.Pointer)(_z), _xDel, _pCtx) 157161 goto _6 157162 157163 _5: 157164 _setResultStrOrError(tls, _pCtx, _z, int32(_n), _enc, _xDel) 157165 _6: 157166 return 157167 157168 } 157169 157170 var _sqlite3_result_text64Ø00__func__Ø000 [22]int8 // - 157171 157172 func init() { 157173 crt.Xstrncpy(nil, &_sqlite3_result_text64Ø00__func__Ø000[0], str(137576), 22) 157174 } 157175 157176 func Xsqlite3_value_dup(tls *crt.TLS, _pOrig *XMem) (r0 *XMem) { // sqlite3.c:76264:12 157177 var _pNew *XMem // sqlite3.c:76265:17 157178 _ = _pNew 157179 if _pOrig != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 157180 goto _0 157181 } 157182 157183 r0 = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 157184 return 157185 157186 _0: 157187 _pNew = (*XMem)(unsafe.Pointer(Xsqlite3_malloc(tls, int32(u32(48))))) 157188 if _pNew != (*XMem)(unsafe.Pointer(uintptr(i32(0)))) { 157189 goto _1 157190 } 157191 157192 r0 = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 157193 return 157194 157195 _1: 157196 crt.Xmemset(tls, (unsafe.Pointer)(_pNew), i32(0), u32(48)) 157197 crt.Xmemcpy(tls, (unsafe.Pointer)(_pNew), (unsafe.Pointer)(_pOrig), u32(20)) 157198 { 157199 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) 157200 *p = uint16(int32(*p) & i32(-1025)) 157201 sink6908 = *p 157202 } 157203 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(32 /* X9 */))))) = (*Xsqlite3)(unsafe.Pointer(uintptr(i32(0)))) 157204 if (int32(_pNew.X1) & i32(18)) == 0 { 157205 goto _2 157206 } 157207 157208 { 157209 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) 157210 *p = uint16(int32(*p) & i32(-3073)) 157211 sink6908 = *p 157212 } 157213 { 157214 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(8 /* X1 */))) 157215 *p = uint16(int32(*p) | i32(4096)) 157216 sink6908 = *p 157217 } 157218 if _sqlite3VdbeMemMakeWriteable(tls, _pNew) == i32(0) { 157219 goto _3 157220 } 157221 157222 _sqlite3ValueFree(tls, _pNew) 157223 _pNew = (*XMem)(unsafe.Pointer(uintptr(i32(0)))) 157224 _3: 157225 _2: 157226 r0 = _pNew 157227 return 157228 157229 } 157230 157231 func Xsqlite3_value_free(tls *crt.TLS, _pOld *XMem) { // sqlite3.c:76287:12 157232 _sqlite3ValueFree(tls, _pOld) 157233 return 157234 157235 } 157236 157237 func Xsqlite3_result_zeroblob64(tls *crt.TLS, _pCtx *Xsqlite3_context, _n uint64) (r0 int32) { // sqlite3.c:76452:12 157238 var _pOut *XMem // sqlite3.c:76453:7 157239 _ = _pOut 157240 _pOut = (*XMem)(unsafe.Pointer(_pCtx.X0)) 157241 func() int32 { 157242 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pOut.X9)).X3))) != 0 { 157243 return i32(0) 157244 } 157245 return func() int32 { 157246 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76454), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_zeroblob64Ø00__func__Ø000))), unsafe.Pointer(str(137600))) 157247 crt.X__builtin_abort(tls) 157248 return i32(0) 157249 }() 157250 }() 157251 if _n <= uint64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_pOut.X9)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 157252 goto _2 157253 } 157254 157255 r0 = i32(18) 157256 return 157257 157258 _2: 157259 _sqlite3VdbeMemSetZeroBlob(tls, (*XMem)(unsafe.Pointer(_pCtx.X0)), int32(_n)) 157260 r0 = i32(0) 157261 return 157262 157263 } 157264 157265 var _sqlite3_result_zeroblob64Ø00__func__Ø000 [26]int8 // - 157266 157267 func init() { 157268 crt.Xstrncpy(nil, &_sqlite3_result_zeroblob64Ø00__func__Ø000[0], str(137636), 26) 157269 } 157270 157271 func Xsqlite3_bind_zeroblob64(tls *crt.TLS, _pStmt unsafe.Pointer, _i int32, _n uint64) (r0 int32) { // sqlite3.c:77445:12 157272 var _rc int32 // sqlite3.c:77446:7 157273 _ = _rc 157274 var _p *XVdbe // sqlite3.c:77447:8 157275 _ = _p 157276 _p = (*XVdbe)(unsafe.Pointer(_pStmt)) 157277 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 157278 if _n <= uint64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr(_p.X0)+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 157279 goto _0 157280 } 157281 157282 _rc = i32(18) 157283 goto _1 157284 157285 _0: 157286 func() int32 { 157287 if (_n & uint64(i32(2147483647))) == _n { 157288 return i32(0) 157289 } 157290 return func() int32 { 157291 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(77452), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_bind_zeroblob64Ø00__func__Ø000))), unsafe.Pointer(str(137664))) 157292 crt.X__builtin_abort(tls) 157293 return i32(0) 157294 }() 157295 }() 157296 _rc = Xsqlite3_bind_zeroblob(tls, _pStmt, _i, int32(_n)) 157297 _1: 157298 _rc = _sqlite3ApiExit(tls, (*Xsqlite3)(unsafe.Pointer(_p.X0)), _rc) 157299 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_p.X0)).X3))) 157300 r0 = _rc 157301 return 157302 157303 } 157304 157305 var _sqlite3_bind_zeroblob64Ø00__func__Ø000 [24]int8 // - 157306 157307 func init() { 157308 crt.Xstrncpy(nil, &_sqlite3_bind_zeroblob64Ø00__func__Ø000[0], str(137684), 24) 157309 } 157310 157311 func Xsqlite3_value_subtype(tls *crt.TLS, _pVal *XMem) (r0 uint32) { // sqlite3.c:76202:12 157312 var _pMem *XMem // sqlite3.c:76203:7 157313 _ = _pMem 157314 _pMem = _pVal 157315 r0 = uint32(func() int32 { 157316 if (int32(_pMem.X1) & i32(32768)) != 0 { 157317 return int32(_pMem.X3) 157318 } 157319 return i32(0) 157320 }()) 157321 return 157322 157323 } 157324 157325 func Xsqlite3_result_subtype(tls *crt.TLS, _pCtx *Xsqlite3_context, _eSubtype uint32) { // sqlite3.c:76384:12 157326 var _pOut *XMem // sqlite3.c:76385:7 157327 _ = _pOut 157328 _pOut = (*XMem)(unsafe.Pointer(_pCtx.X0)) 157329 func() int32 { 157330 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_pOut.X9)).X3))) != 0 { 157331 return i32(0) 157332 } 157333 return func() int32 { 157334 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(76386), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_result_subtypeØ00__func__Ø000))), unsafe.Pointer(str(137600))) 157335 crt.X__builtin_abort(tls) 157336 return i32(0) 157337 }() 157338 }() 157339 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(11 /* X3 */))) = uint8(_eSubtype & uint32(i32(255))) 157340 { 157341 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOut)) + uintptr(8 /* X1 */))) 157342 *p = uint16(int32(*p) | i32(32768)) 157343 sink6908 = *p 157344 } 157345 return 157346 157347 } 157348 157349 var _sqlite3_result_subtypeØ00__func__Ø000 [23]int8 // - 157350 157351 func init() { 157352 crt.Xstrncpy(nil, &_sqlite3_result_subtypeØ00__func__Ø000[0], str(137708), 23) 157353 } 157354 157355 func Xsqlite3_db_cacheflush(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:140661:12 157356 var _i int32 // sqlite3.c:140662:7 157357 _ = _i 157358 var _rc int32 // sqlite3.c:140663:7 157359 _ = _rc 157360 var _bSeenBusy int32 // sqlite3.c:140664:7 157361 _ = _bSeenBusy 157362 var _1_pBt *XBtree // sqlite3.c:140672:11 157363 _ = _1_pBt 157364 var _2_pPager *XPager // sqlite3.c:140674:13 157365 _ = _2_pPager 157366 _rc = i32(0) 157367 _bSeenBusy = i32(0) 157368 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 157369 goto _0 157370 } 157371 157372 r0 = _sqlite3MisuseError(tls, i32(140667)) 157373 return 157374 157375 _0: 157376 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 157377 _sqlite3BtreeEnterAll(tls, _db) 157378 _i = i32(0) 157379 _1: 157380 if _rc != i32(0) || _i >= (_db.X5) { 157381 goto _5 157382 } 157383 157384 _1_pBt = (*XBtree)(unsafe.Pointer((*XDb)(unsafe.Pointer(uintptr(_db.X4) + 16*uintptr(_i))).X1)) 157385 if _1_pBt == nil || _sqlite3BtreeIsInTrans(tls, _1_pBt) == 0 { 157386 goto _7 157387 } 157388 157389 _2_pPager = _sqlite3BtreePager(tls, _1_pBt) 157390 _rc = _sqlite3PagerFlush(tls, _2_pPager) 157391 if _rc != i32(5) { 157392 goto _8 157393 } 157394 157395 _bSeenBusy = i32(1) 157396 _rc = i32(0) 157397 _8: 157398 _7: 157399 _i += 1 157400 goto _1 157401 157402 _5: 157403 _sqlite3BtreeLeaveAll(tls, _db) 157404 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 157405 r0 = func() int32 { 157406 if (_rc == i32(0)) && _bSeenBusy != 0 { 157407 return i32(5) 157408 } 157409 return _rc 157410 }() 157411 return 157412 157413 } 157414 157415 func _sqlite3PagerFlush(tls *crt.TLS, _pPager *XPager) (r0 int32) { // sqlite3.c:51440:1 157416 var _rc int32 // sqlite3.c:51441:7 157417 _ = _rc 157418 var _1_pList *XPgHdr // sqlite3.c:51443:11 157419 _ = _1_pList 157420 var _2_pNext *XPgHdr // sqlite3.c:51446:13 157421 _ = _2_pNext 157422 _rc = _pPager.X26 157423 if (_pPager.X13) != 0 { 157424 goto _0 157425 } 157426 157427 _1_pList = _sqlite3PcacheDirtyList(tls, (*XPCache)(unsafe.Pointer(_pPager.X59))) 157428 func() int32 { 157429 if _assert_pager_state(tls, _pPager) != 0 { 157430 return i32(0) 157431 } 157432 return func() int32 { 157433 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(51444), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3PagerFlushØ00__func__Ø000))), unsafe.Pointer(str(11184))) 157434 crt.X__builtin_abort(tls) 157435 return i32(0) 157436 }() 157437 }() 157438 _3: 157439 if _rc != i32(0) || _1_pList == nil { 157440 goto _4 157441 } 157442 157443 _2_pNext = (*XPgHdr)(unsafe.Pointer(_1_pList.X3)) 157444 if int32(_1_pList.X7) != i32(0) { 157445 goto _6 157446 } 157447 157448 _rc = _pagerStress(tls, (unsafe.Pointer)(_pPager), _1_pList) 157449 _6: 157450 _1_pList = _2_pNext 157451 goto _3 157452 157453 _4: 157454 _0: 157455 r0 = _rc 157456 return 157457 157458 } 157459 157460 var _sqlite3PagerFlushØ00__func__Ø000 [18]int8 // - 157461 157462 func init() { 157463 crt.Xstrncpy(nil, &_sqlite3PagerFlushØ00__func__Ø000[0], str(137732), 18) 157464 } 157465 157466 func Xsqlite3_system_errno(tls *crt.TLS, _db *Xsqlite3) (r0 int32) { // sqlite3.c:142228:12 157467 r0 = func() int32 { 157468 if _db != nil { 157469 return (_db.X12) 157470 } 157471 return i32(0) 157472 }() 157473 return 157474 157475 } 157476 157477 func Xsqlite3_trace_v2(tls *crt.TLS, _db *Xsqlite3, _mTrace uint32, _xTrace func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:141753:12 157478 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 157479 goto _0 157480 } 157481 157482 r0 = _sqlite3MisuseError(tls, i32(141761)) 157483 return 157484 157485 _0: 157486 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 157487 if _mTrace != uint32(i32(0)) { 157488 goto _1 157489 } 157490 157491 _xTrace = nil 157492 _1: 157493 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 157494 f func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 157495 }{_xTrace})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 157496 f func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 157497 }{nil})) { 157498 goto _2 157499 } 157500 157501 _mTrace = uint32(i32(0)) 157502 _2: 157503 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(72 /* X24 */))) = uint8(_mTrace) 157504 *(*func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(180 /* X41 */))) = _xTrace 157505 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(184 /* X42 */))) = _pArg 157506 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 157507 r0 = i32(0) 157508 return 157509 157510 } 157511 157512 func Xsqlite3_expanded_sql(tls *crt.TLS, _pStmt unsafe.Pointer) (r0 *int8) { // sqlite3.c:77626:12 157513 var _z *int8 // sqlite3.c:77630:8 157514 _ = _z 157515 var _zSql *int8 // sqlite3.c:77631:14 157516 _ = _zSql 157517 var _1_p *XVdbe // sqlite3.c:77633:10 157518 _ = _1_p 157519 _z = nil 157520 _zSql = Xsqlite3_sql(tls, _pStmt) 157521 if _zSql == nil { 157522 goto _0 157523 } 157524 157525 _1_p = (*XVdbe)(unsafe.Pointer(_pStmt)) 157526 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_1_p.X0)).X3))) 157527 _z = _sqlite3VdbeExpandSql(tls, _1_p, _zSql) 157528 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*Xsqlite3)(unsafe.Pointer(_1_p.X0)).X3))) 157529 _0: 157530 r0 = _z 157531 return 157532 157533 } 157534 157535 func Xsqlite3_set_last_insert_rowid(tls *crt.TLS, _db *Xsqlite3, _iRowid int64) { // sqlite3.c:140830:12 157536 if _sqlite3SafetyCheckOk(tls, _db) != 0 { 157537 goto _0 157538 } 157539 157540 _sqlite3MisuseError(tls, i32(140833)) 157541 return 157542 157543 _0: 157544 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 157545 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db)) + uintptr(28 /* X7 */))) = _iRowid 157546 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_db.X3))) 157547 return 157548 157549 } 157550 157551 func _compileoptionusedFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106225:1 157552 var _zOptName *int8 // sqlite3.c:106230:14 157553 _ = _zOptName 157554 func() int32 { 157555 if _argc == i32(1) { 157556 return i32(0) 157557 } 157558 return func() int32 { 157559 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106231), unsafe.Pointer((*int8)(unsafe.Pointer(&_compileoptionusedFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 157560 crt.X__builtin_abort(tls) 157561 return i32(0) 157562 }() 157563 }() 157564 157565 if store1025(&_zOptName, (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 157566 goto _2 157567 } 157568 157569 Xsqlite3_result_int(tls, _context, Xsqlite3_compileoption_used(tls, _zOptName)) 157570 _2: 157571 return 157572 157573 } 157574 157575 var _compileoptionusedFuncØ00__func__Ø000 [22]int8 // - 157576 157577 func init() { 157578 crt.Xstrncpy(nil, &_compileoptionusedFuncØ00__func__Ø000[0], str(137752), 22) 157579 } 157580 157581 func _compileoptiongetFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106249:1 157582 var _n int32 // sqlite3.c:106254:7 157583 _ = _n 157584 func() int32 { 157585 if _argc == i32(1) { 157586 return i32(0) 157587 } 157588 return func() int32 { 157589 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106255), unsafe.Pointer((*int8)(unsafe.Pointer(&_compileoptiongetFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 157590 crt.X__builtin_abort(tls) 157591 return i32(0) 157592 }() 157593 }() 157594 157595 _n = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 157596 Xsqlite3_result_text(tls, _context, Xsqlite3_compileoption_get(tls, _n), i32(-1), nil) 157597 return 157598 157599 } 157600 157601 var _compileoptiongetFuncØ00__func__Ø000 [21]int8 // - 157602 157603 func init() { 157604 crt.Xstrncpy(nil, &_compileoptiongetFuncØ00__func__Ø000[0], str(137776), 21) 157605 } 157606 157607 func _versionFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:106177:1 157608 func() **XMem { ; return _NotUsed2 }() 157609 Xsqlite3_result_text(tls, _context, Xsqlite3_libversion(tls), i32(-1), nil) 157610 return 157611 157612 } 157613 157614 func _trimFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106546:1 157615 var _zIn *uint8 // sqlite3.c:106551:23 157616 _ = _zIn 157617 var _zCharSet *uint8 // sqlite3.c:106552:23 157618 _ = _zCharSet 157619 var _nIn int32 // sqlite3.c:106553:7 157620 _ = _nIn 157621 var _flags int32 // sqlite3.c:106554:7 157622 _ = _flags 157623 var _i int32 // sqlite3.c:106555:7 157624 _ = _i 157625 var _aLen *uint8 // sqlite3.c:106556:17 157626 _ = _aLen 157627 var _azChar **uint8 // sqlite3.c:106557:17 157628 _ = _azChar 157629 var _nChar int32 // sqlite3.c:106558:7 157630 _ = _nChar 157631 var _4_z *uint8 // sqlite3.c:106577:25 157632 _ = _4_z 157633 var _17_len int32 // sqlite3.c:106598:13 157634 _ = _17_len 157635 var _20_len int32 // sqlite3.c:106610:13 157636 _ = _20_len 157637 _aLen = nil 157638 _azChar = nil 157639 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != i32(5) { 157640 goto _0 157641 } 157642 157643 return 157644 157645 _0: 157646 _zIn = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 157647 if _zIn != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 157648 goto _1 157649 } 157650 157651 return 157652 157653 _1: 157654 _nIn = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 157655 func() int32 { 157656 if _zIn == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 157657 return i32(0) 157658 } 157659 return func() int32 { 157660 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106566), unsafe.Pointer((*int8)(unsafe.Pointer(&_trimFuncØ00__func__Ø000))), unsafe.Pointer(str(137800))) 157661 crt.X__builtin_abort(tls) 157662 return i32(0) 157663 }() 157664 }() 157665 if _argc != i32(1) { 157666 goto _4 157667 } 157668 157669 _nChar = i32(1) 157670 _aLen = (*uint8)(unsafe.Pointer(&_trimFuncØ00lenOneØ001)) 157671 _azChar = (**uint8)(unsafe.Pointer(&_trimFuncØ00azOneØ002)) 157672 _zCharSet = (*uint8)(unsafe.Pointer(uintptr(i32(0)))) 157673 goto _5 157674 157675 _4: 157676 if store6921(&_zCharSet, Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1)))))) != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 157677 goto _6 157678 } 157679 157680 return 157681 157682 _6: 157683 *func() *int32 { _4_z = _zCharSet; return &_nChar }() = i32(0) 157684 _8: 157685 if (*_4_z) == 0 { 157686 goto _11 157687 } 157688 157689 if int32(*postInc6921(&_4_z, 1)) < i32(192) { 157690 goto _12 157691 } 157692 157693 _13: 157694 if (int32(*_4_z) & i32(192)) != i32(128) { 157695 goto _14 157696 } 157697 157698 *(*uintptr)(unsafe.Pointer(&_4_z)) += uintptr(1) 157699 goto _13 157700 157701 _14: 157702 _12: 157703 _nChar += 1 157704 goto _8 157705 157706 _11: 157707 if _nChar <= i32(0) { 157708 goto _15 157709 } 157710 157711 _azChar = (**uint8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_nChar)*int64(u32(5))))) 157712 if _azChar != (**uint8)(unsafe.Pointer(uintptr(i32(0)))) { 157713 goto _16 157714 } 157715 157716 return 157717 157718 _16: 157719 _aLen = (*uint8)(unsafe.Pointer((**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 4*uintptr(_nChar))))) 157720 *func() *int32 { _4_z = _zCharSet; return &_nChar }() = i32(0) 157721 _17: 157722 if (*_4_z) == 0 { 157723 goto _20 157724 } 157725 157726 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 4*uintptr(_nChar))) = _4_z 157727 if int32(*postInc6921(&_4_z, 1)) < i32(192) { 157728 goto _21 157729 } 157730 157731 _22: 157732 if (int32(*_4_z) & i32(192)) != i32(128) { 157733 goto _23 157734 } 157735 157736 *(*uintptr)(unsafe.Pointer(&_4_z)) += uintptr(1) 157737 goto _22 157738 157739 _23: 157740 _21: 157741 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLen)) + 1*uintptr(_nChar))) = uint8(int32((uintptr(unsafe.Pointer(_4_z)) - uintptr(unsafe.Pointer(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 4*uintptr(_nChar)))))) / 1)) 157742 _nChar += 1 157743 goto _17 157744 157745 _20: 157746 _15: 157747 _5: 157748 if _nChar <= i32(0) { 157749 goto _24 157750 } 157751 157752 _flags = int32(uintptr(unsafe.Pointer(Xsqlite3_user_data(tls, _context)))) 157753 if (_flags & i32(1)) == 0 { 157754 goto _25 157755 } 157756 157757 _26: 157758 if _nIn <= i32(0) { 157759 goto _27 157760 } 157761 157762 _17_len = i32(0) 157763 _i = i32(0) 157764 _28: 157765 if _i >= _nChar { 157766 goto _31 157767 } 157768 157769 _17_len = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLen)) + 1*uintptr(_i)))) 157770 if _17_len > _nIn || crt.Xmemcmp(tls, (unsafe.Pointer)(_zIn), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 4*uintptr(_i)))), uint32(_17_len)) != i32(0) { 157771 goto _33 157772 } 157773 157774 goto _31 157775 157776 _33: 157777 _i += 1 157778 goto _28 157779 157780 _31: 157781 if _i < _nChar { 157782 goto _34 157783 } 157784 157785 goto _27 157786 157787 _34: 157788 { 157789 p := &_zIn 157790 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_17_len))) 157791 sink6921 = *p 157792 } 157793 { 157794 p := &_nIn 157795 *p = (*p) - _17_len 157796 sink961 = *p 157797 } 157798 goto _26 157799 157800 _27: 157801 _25: 157802 if (_flags & i32(2)) == 0 { 157803 goto _35 157804 } 157805 157806 _36: 157807 if _nIn <= i32(0) { 157808 goto _37 157809 } 157810 157811 _20_len = i32(0) 157812 _i = i32(0) 157813 _38: 157814 if _i >= _nChar { 157815 goto _41 157816 } 157817 157818 _20_len = int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_aLen)) + 1*uintptr(_i)))) 157819 if _20_len > _nIn || crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zIn))+1*uintptr(_nIn-_20_len)))), (unsafe.Pointer)(*(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_azChar)) + 4*uintptr(_i)))), uint32(_20_len)) != i32(0) { 157820 goto _43 157821 } 157822 157823 goto _41 157824 157825 _43: 157826 _i += 1 157827 goto _38 157828 157829 _41: 157830 if _i < _nChar { 157831 goto _44 157832 } 157833 157834 goto _37 157835 157836 _44: 157837 { 157838 p := &_nIn 157839 *p = (*p) - _20_len 157840 sink961 = *p 157841 } 157842 goto _36 157843 157844 _37: 157845 _35: 157846 if _zCharSet == nil { 157847 goto _45 157848 } 157849 157850 Xsqlite3_free(tls, (unsafe.Pointer)(_azChar)) 157851 _45: 157852 _24: 157853 Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(_zIn)), _nIn, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 157854 return 157855 157856 } 157857 157858 var _trimFuncØ00__func__Ø000 [9]int8 // - 157859 157860 func init() { 157861 crt.Xstrncpy(nil, &_trimFuncØ00__func__Ø000[0], str(137836), 9) 157862 } 157863 157864 var _trimFuncØ00lenOneØ001 [1]uint8 // sqlite3.c:106568:32 157865 157866 func init() { 157867 _trimFuncØ00lenOneØ001 = [1]uint8{1} 157868 } 157869 157870 var _trimFuncØ00azOneØ002 [1]*uint8 // sqlite3.c:106569:26 157871 157872 func init() { 157873 _trimFuncØ00azOneØ002 = [1]*uint8{(*byte)(unsafe.Pointer(str(126644)))} 157874 } 157875 157876 func _contextMalloc(tls *crt.TLS, _context *Xsqlite3_context, _nByte int64) (r0 unsafe.Pointer) { // sqlite3.c:105689:1 157877 var _z *int8 // sqlite3.c:105690:8 157878 _ = _z 157879 var _db *Xsqlite3 // sqlite3.c:105691:11 157880 _ = _db 157881 _db = Xsqlite3_context_db_handle(tls, _context) 157882 func() int32 { 157883 if _nByte > int64(i32(0)) { 157884 return i32(0) 157885 } 157886 return func() int32 { 157887 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105692), unsafe.Pointer((*int8)(unsafe.Pointer(&_contextMallocØ00__func__Ø000))), unsafe.Pointer(str(137848))) 157888 crt.X__builtin_abort(tls) 157889 return i32(0) 157890 }() 157891 }() 157892 if _nByte <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 157893 goto _2 157894 } 157895 157896 Xsqlite3_result_error_toobig(tls, _context) 157897 _z = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 157898 goto _3 157899 157900 _2: 157901 _z = (*int8)(unsafe.Pointer(_sqlite3Malloc(tls, uint64(_nByte)))) 157902 if _z != nil { 157903 goto _4 157904 } 157905 157906 Xsqlite3_result_error_nomem(tls, _context) 157907 _4: 157908 _3: 157909 r0 = (unsafe.Pointer)(_z) 157910 return 157911 157912 } 157913 157914 var _contextMallocØ00__func__Ø000 [14]int8 // - 157915 157916 func init() { 157917 crt.Xstrncpy(nil, &_contextMallocØ00__func__Ø000[0], str(137856), 14) 157918 } 157919 157920 func _minmaxFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105332:1 157921 var _i int32 // sqlite3.c:105337:7 157922 _ = _i 157923 var _mask int32 // sqlite3.c:105338:7 157924 _ = _mask 157925 var _iBest int32 // sqlite3.c:105339:7 157926 _ = _iBest 157927 var _pColl *XCollSeq // sqlite3.c:105340:11 157928 _ = _pColl 157929 func() int32 { 157930 if _argc > i32(1) { 157931 return i32(0) 157932 } 157933 return func() int32 { 157934 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105342), unsafe.Pointer((*int8)(unsafe.Pointer(&_minmaxFuncØ00__func__Ø000))), unsafe.Pointer(str(137872))) 157935 crt.X__builtin_abort(tls) 157936 return i32(0) 157937 }() 157938 }() 157939 _mask = func() int32 { 157940 if unsafe.Pointer(Xsqlite3_user_data(tls, _context)) == (unsafe.Pointer)(uintptr(i32(0))) { 157941 return i32(0) 157942 } 157943 return i32(-1) 157944 }() 157945 _pColl = _sqlite3GetFuncCollSeq(tls, _context) 157946 func() int32 { 157947 if _pColl != nil { 157948 return i32(0) 157949 } 157950 return func() int32 { 157951 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105345), unsafe.Pointer((*int8)(unsafe.Pointer(&_minmaxFuncØ00__func__Ø000))), unsafe.Pointer(str(137880))) 157952 crt.X__builtin_abort(tls) 157953 return i32(0) 157954 }() 157955 }() 157956 func() int32 { 157957 if (_mask == i32(-1)) || (_mask == i32(0)) { 157958 return i32(0) 157959 } 157960 return func() int32 { 157961 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105346), unsafe.Pointer((*int8)(unsafe.Pointer(&_minmaxFuncØ00__func__Ø000))), unsafe.Pointer(str(137888))) 157962 crt.X__builtin_abort(tls) 157963 return i32(0) 157964 }() 157965 }() 157966 _iBest = i32(0) 157967 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != i32(5) { 157968 goto _9 157969 } 157970 157971 return 157972 157973 _9: 157974 _i = i32(1) 157975 _10: 157976 if _i >= _argc { 157977 goto _13 157978 } 157979 157980 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))) != i32(5) { 157981 goto _14 157982 } 157983 157984 return 157985 157986 _14: 157987 if (_sqlite3MemCompare(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_iBest))), *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i))), _pColl) ^ _mask) < i32(0) { 157988 goto _15 157989 } 157990 157991 _iBest = _i 157992 _15: 157993 _i += 1 157994 goto _10 157995 157996 _13: 157997 Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_iBest)))) 157998 return 157999 158000 } 158001 158002 var _minmaxFuncØ00__func__Ø000 [11]int8 // - 158003 158004 func init() { 158005 crt.Xstrncpy(nil, &_minmaxFuncØ00__func__Ø000[0], str(137908), 11) 158006 } 158007 158008 func _sqlite3GetFuncCollSeq(tls *crt.TLS, _context *Xsqlite3_context) (r0 *XCollSeq) { // sqlite3.c:105312:1 158009 var _pOp *XVdbeOp // sqlite3.c:105313:10 158010 _ = _pOp 158011 func() int32 { 158012 if (*XVdbe)(unsafe.Pointer(_context.X3)) != (*XVdbe)(unsafe.Pointer(uintptr(i32(0)))) { 158013 return i32(0) 158014 } 158015 return func() int32 { 158016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105314), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetFuncCollSeqØ00__func__Ø000))), unsafe.Pointer(str(137920))) 158017 crt.X__builtin_abort(tls) 158018 return i32(0) 158019 }() 158020 }() 158021 _pOp = (*XVdbeOp)(unsafe.Pointer(uintptr((*XVdbe)(unsafe.Pointer(_context.X3)).X17) + 24*uintptr((_context.X4)-i32(1)))) 158022 func() int32 { 158023 if int32(_pOp.X0) == i32(89) { 158024 return i32(0) 158025 } 158026 return func() int32 { 158027 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105316), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetFuncCollSeqØ00__func__Ø000))), unsafe.Pointer(str(137940))) 158028 crt.X__builtin_abort(tls) 158029 return i32(0) 158030 }() 158031 }() 158032 func() int32 { 158033 if int32(_pOp.X1) == i32(-3) { 158034 return i32(0) 158035 } 158036 return func() int32 { 158037 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105317), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3GetFuncCollSeqØ00__func__Ø000))), unsafe.Pointer(str(66132))) 158038 crt.X__builtin_abort(tls) 158039 return i32(0) 158040 }() 158041 }() 158042 r0 = (*XCollSeq)(unsafe.Pointer(*(*unsafe.Pointer)(unsafe.Pointer((*T8104821)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pOp)) + uintptr(16 /* X6 */))))))) 158043 return 158044 158045 } 158046 158047 var _sqlite3GetFuncCollSeqØ00__func__Ø000 [22]int8 // - 158048 158049 func init() { 158050 crt.Xstrncpy(nil, &_sqlite3GetFuncCollSeqØ00__func__Ø000[0], str(137964), 22) 158051 } 158052 158053 func _minmaxStep(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:106846:1 158054 var _pArg *XMem // sqlite3.c:106851:7 158055 _ = _pArg 158056 var _pBest *XMem // sqlite3.c:106852:7 158057 _ = _pBest 158058 var _2_max int32 // sqlite3.c:106861:9 158059 _ = _2_max 158060 var _2_cmp int32 // sqlite3.c:106862:9 158061 _ = _2_cmp 158062 var _2_pColl *XCollSeq // sqlite3.c:106863:13 158063 _ = _2_pColl 158064 _pArg = *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))) 158065 158066 _pBest = (*XMem)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u32(48))))) 158067 if _pBest != nil { 158068 goto _0 158069 } 158070 158071 return 158072 158073 _0: 158074 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != i32(5) { 158075 goto _1 158076 } 158077 158078 if (_pBest.X1) == 0 { 158079 goto _2 158080 } 158081 158082 _sqlite3SkipAccumulatorLoad(tls, _context) 158083 _2: 158084 goto _3 158085 158086 _1: 158087 if (_pBest.X1) == 0 { 158088 goto _4 158089 } 158090 158091 _2_pColl = _sqlite3GetFuncCollSeq(tls, _context) 158092 _2_max = bool2int(Xsqlite3_user_data(tls, _context) != (unsafe.Pointer)(uintptr(i32(0)))) 158093 _2_cmp = _sqlite3MemCompare(tls, _pBest, _pArg, _2_pColl) 158094 if (_2_max == 0 || _2_cmp >= i32(0)) && (_2_max != 0 || _2_cmp <= i32(0)) { 158095 goto _8 158096 } 158097 158098 _sqlite3VdbeMemCopy(tls, _pBest, _pArg) 158099 goto _9 158100 158101 _8: 158102 _sqlite3SkipAccumulatorLoad(tls, _context) 158103 _9: 158104 goto _10 158105 158106 _4: 158107 *(**Xsqlite3)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pBest)) + uintptr(32 /* X9 */))))) = Xsqlite3_context_db_handle(tls, _context) 158108 _sqlite3VdbeMemCopy(tls, _pBest, _pArg) 158109 _10: 158110 _3: 158111 return 158112 158113 } 158114 158115 func _sqlite3SkipAccumulatorLoad(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:105325:1 158116 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_context)) + uintptr(24 /* X6 */))) = uint8(i32(1)) 158117 return 158118 158119 } 158120 158121 func _minMaxFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106884:1 158122 var _pRes *XMem // sqlite3.c:106885:17 158123 _ = _pRes 158124 _pRes = (*XMem)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) 158125 if _pRes == nil { 158126 goto _0 158127 } 158128 158129 if (_pRes.X1) == 0 { 158130 goto _1 158131 } 158132 158133 Xsqlite3_result_value(tls, _context, _pRes) 158134 _1: 158135 _sqlite3VdbeMemRelease(tls, _pRes) 158136 _0: 158137 return 158138 158139 } 158140 158141 func _typeofFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:105362:1 158142 var _z *int8 // sqlite3.c:105367:14 158143 _ = _z 158144 _z = nil 158145 158146 switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 158147 case i32(1): 158148 goto _1 158149 case i32(2): 158150 goto _3 158151 case i32(3): 158152 goto _2 158153 case i32(4): 158154 goto _4 158155 default: 158156 goto _5 158157 } 158158 158159 _1: 158160 _z = str(45232) 158161 goto _6 158162 158163 _2: 158164 _z = str(45216) 158165 goto _6 158166 158167 _3: 158168 _z = str(45240) 158169 goto _6 158170 158171 _4: 158172 _z = str(45208) 158173 goto _6 158174 158175 _5: 158176 _z = str(136036) 158177 goto _6 158178 158179 _6: 158180 Xsqlite3_result_text(tls, _context, _z, i32(-1), nil) 158181 return 158182 158183 } 158184 158185 func _lengthFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105383:1 158186 var _len int32 // sqlite3.c:105388:7 158187 _ = _len 158188 var _3_z *uint8 // sqlite3.c:105400:27 158189 _ = _3_z 158190 func() int32 { 158191 if _argc == i32(1) { 158192 return i32(0) 158193 } 158194 return func() int32 { 158195 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105390), unsafe.Pointer((*int8)(unsafe.Pointer(&_lengthFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 158196 crt.X__builtin_abort(tls) 158197 return i32(0) 158198 }() 158199 }() 158200 158201 switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 158202 case i32(1): 158203 goto _4 158204 case i32(2): 158205 goto _5 158206 case i32(3): 158207 goto _6 158208 case i32(4): 158209 goto _3 158210 default: 158211 goto _7 158212 } 158213 158214 _3: 158215 _4: 158216 _5: 158217 Xsqlite3_result_int(tls, _context, Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))))) 158218 goto _8 158219 158220 _6: 158221 _3_z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158222 if _3_z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 158223 goto _9 158224 } 158225 158226 return 158227 158228 _9: 158229 _len = i32(0) 158230 _10: 158231 if (*_3_z) == 0 { 158232 goto _11 158233 } 158234 158235 _len += 1 158236 if int32(*postInc6921(&_3_z, 1)) < i32(192) { 158237 goto _12 158238 } 158239 158240 _13: 158241 if (int32(*_3_z) & i32(192)) != i32(128) { 158242 goto _14 158243 } 158244 158245 *(*uintptr)(unsafe.Pointer(&_3_z)) += uintptr(1) 158246 goto _13 158247 158248 _14: 158249 _12: 158250 goto _10 158251 158252 _11: 158253 Xsqlite3_result_int(tls, _context, _len) 158254 goto _8 158255 158256 _7: 158257 Xsqlite3_result_null(tls, _context) 158258 goto _8 158259 158260 _8: 158261 return 158262 158263 } 158264 158265 var _lengthFuncØ00__func__Ø000 [11]int8 // - 158266 158267 func init() { 158268 crt.Xstrncpy(nil, &_lengthFuncØ00__func__Ø000[0], str(137988), 11) 158269 } 158270 158271 func _instrFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105472:1 158272 var _zHaystack *uint8 // sqlite3.c:105477:23 158273 _ = _zHaystack 158274 var _zNeedle *uint8 // sqlite3.c:105478:23 158275 _ = _zNeedle 158276 var _nHaystack int32 // sqlite3.c:105479:7 158277 _ = _nHaystack 158278 var _nNeedle int32 // sqlite3.c:105480:7 158279 _ = _nNeedle 158280 var _typeHaystack int32 // sqlite3.c:105481:7 158281 _ = _typeHaystack 158282 var _typeNeedle int32 // sqlite3.c:105481:21 158283 _ = _typeNeedle 158284 var _N int32 // sqlite3.c:105482:7 158285 _ = _N 158286 var _isText int32 // sqlite3.c:105483:7 158287 _ = _isText 158288 _N = i32(1) 158289 158290 _typeHaystack = Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158291 _typeNeedle = Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 158292 if _typeHaystack != i32(5) && _typeNeedle != i32(5) { 158293 goto _1 158294 } 158295 158296 return 158297 158298 _1: 158299 _nHaystack = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158300 _nNeedle = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 158301 if _nNeedle <= i32(0) { 158302 goto _2 158303 } 158304 158305 if _typeHaystack != i32(4) || _typeNeedle != i32(4) { 158306 goto _4 158307 } 158308 158309 _zHaystack = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 158310 _zNeedle = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))))) 158311 _isText = i32(0) 158312 goto _5 158313 158314 _4: 158315 _zHaystack = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158316 _zNeedle = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 158317 _isText = i32(1) 158318 _5: 158319 if _zNeedle != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) && (_nHaystack == 0 || _zHaystack != (*uint8)(unsafe.Pointer(uintptr(i32(0))))) { 158320 goto _8 158321 } 158322 158323 return 158324 158325 _8: 158326 _9: 158327 if _nNeedle > _nHaystack || crt.Xmemcmp(tls, (unsafe.Pointer)(_zHaystack), (unsafe.Pointer)(_zNeedle), uint32(_nNeedle)) == i32(0) { 158328 goto _10 158329 } 158330 158331 _N += 1 158332 _12: 158333 _nHaystack -= 1 158334 *(*uintptr)(unsafe.Pointer(&_zHaystack)) += uintptr(1) 158335 if _isText != 0 && ((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zHaystack)) + 1*uintptr(i32(0))))) & i32(192)) == i32(128)) { 158336 goto _12 158337 } 158338 158339 goto _9 158340 158341 _10: 158342 if _nNeedle <= _nHaystack { 158343 goto _14 158344 } 158345 158346 _N = i32(0) 158347 _14: 158348 _2: 158349 Xsqlite3_result_int(tls, _context, _N) 158350 return 158351 158352 } 158353 158354 func _printfFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105517:1 158355 var _x XPrintfArguments // sqlite3.c:105522:19 158356 _ = _x 158357 var _str XStrAccum // sqlite3.c:105523:12 158358 _ = _str 158359 var _zFormat *int8 // sqlite3.c:105524:14 158360 _ = _zFormat 158361 var _n int32 // sqlite3.c:105525:7 158362 _ = _n 158363 var _db *Xsqlite3 // sqlite3.c:105526:11 158364 _ = _db 158365 _db = Xsqlite3_context_db_handle(tls, _context) 158366 if _argc < i32(1) || store1025(&_zFormat, (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))))))) == (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 158367 goto _1 158368 } 158369 158370 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(0 /* X0 */))) = _argc - i32(1) 158371 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(4 /* X1 */))) = i32(0) 158372 *(***XMem)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_x)) + uintptr(8 /* X2 */))))) = (**XMem)(unsafe.Pointer(uintptr(unsafe.Pointer(_argv)) + uintptr(unsafe.Pointer((**XMem)(unsafe.Pointer(uintptr(unsafe.Pointer((**XMem)(unsafe.Pointer(uintptr(i32(1))))))*uintptr(unsafe.Pointer((**XMem)(unsafe.Pointer(uintptr(4))))))))))) 158373 _sqlite3StrAccumInit(tls, &_str, _db, (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0), *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) 158374 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_str)) + uintptr(25 /* X7 */))) = uint8(i32(2)) 158375 _sqlite3XPrintf(tls, &_str, _zFormat, unsafe.Pointer(&_x)) 158376 _n = int32(_str.X3) 158377 Xsqlite3_result_text(tls, _context, _sqlite3StrAccumFinish(tls, &_str), _n, *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 158378 f func(*crt.TLS, unsafe.Pointer) int32 158379 }{_sqlite3MallocSize}))) 158380 _1: 158381 return 158382 158383 } 158384 158385 func _unicodeFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106355:1 158386 var _z *uint8 // sqlite3.c:106360:23 158387 _ = _z 158388 _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158389 158390 if _z == nil || (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z)) + 1*uintptr(i32(0))))) == 0 { 158391 goto _1 158392 } 158393 158394 Xsqlite3_result_int(tls, _context, int32(_sqlite3Utf8Read(tls, &_z))) 158395 _1: 158396 return 158397 158398 } 158399 158400 func _charFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106370:1 158401 var _z *uint8 // sqlite3.c:106375:17 158402 _ = _z 158403 var _zOut *uint8 // sqlite3.c:106375:21 158404 _ = _zOut 158405 var _i int32 // sqlite3.c:106376:7 158406 _ = _i 158407 var _2_x int64 // sqlite3.c:106383:19 158408 _ = _2_x 158409 var _2_c uint32 // sqlite3.c:106384:14 158410 _ = _2_c 158411 _zOut = store6921(&_z, (*uint8)(unsafe.Pointer(Xsqlite3_malloc64(tls, uint64((_argc*i32(4))+i32(1)))))) 158412 if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 158413 goto _0 158414 } 158415 158416 Xsqlite3_result_error_nomem(tls, _context) 158417 return 158418 158419 _0: 158420 _i = i32(0) 158421 _1: 158422 if _i >= _argc { 158423 goto _4 158424 } 158425 158426 _2_x = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(_i)))) 158427 if _2_x >= int64(i32(0)) && _2_x <= int64(i32(1114111)) { 158428 goto _6 158429 } 158430 158431 _2_x = int64(i32(65533)) 158432 _6: 158433 _2_c = uint32(_2_x & int64(i32(2097151))) 158434 if _2_c >= uint32(i32(128)) { 158435 goto _7 158436 } 158437 158438 *postInc6921(&_zOut, 1) = uint8(_2_c & uint32(i32(255))) 158439 goto _8 158440 158441 _7: 158442 if _2_c >= uint32(i32(2048)) { 158443 goto _9 158444 } 158445 158446 *postInc6921(&_zOut, 1) = uint8(i32(192) + int32(uint8((_2_c>>uint(i32(6)))&uint32(i32(31))))) 158447 *postInc6921(&_zOut, 1) = uint8(i32(128) + int32(uint8(_2_c&uint32(i32(63))))) 158448 goto _10 158449 158450 _9: 158451 if _2_c >= uint32(i32(65536)) { 158452 goto _11 158453 } 158454 158455 *postInc6921(&_zOut, 1) = uint8(i32(224) + int32(uint8((_2_c>>uint(i32(12)))&uint32(i32(15))))) 158456 *postInc6921(&_zOut, 1) = uint8(i32(128) + int32(uint8((_2_c>>uint(i32(6)))&uint32(i32(63))))) 158457 *postInc6921(&_zOut, 1) = uint8(i32(128) + int32(uint8(_2_c&uint32(i32(63))))) 158458 goto _12 158459 158460 _11: 158461 *postInc6921(&_zOut, 1) = uint8(i32(240) + int32(uint8((_2_c>>uint(i32(18)))&uint32(i32(7))))) 158462 *postInc6921(&_zOut, 1) = uint8(i32(128) + int32(uint8((_2_c>>uint(i32(12)))&uint32(i32(63))))) 158463 *postInc6921(&_zOut, 1) = uint8(i32(128) + int32(uint8((_2_c>>uint(i32(6)))&uint32(i32(63))))) 158464 *postInc6921(&_zOut, 1) = uint8(i32(128) + int32(uint8(_2_c&uint32(i32(63))))) 158465 _12: 158466 _10: 158467 _8: 158468 _i += 1 158469 goto _1 158470 158471 _4: 158472 Xsqlite3_result_text64(tls, _context, (*int8)(unsafe.Pointer(_z)), uint64(int32((uintptr(unsafe.Pointer(_zOut))-uintptr(unsafe.Pointer(_z)))/1)), Xsqlite3_free, uint8(i32(1))) 158473 return 158474 158475 } 158476 158477 func _absFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105423:1 158478 var _2_iVal int64 // sqlite3.c:105428:11 158479 _ = _2_iVal 158480 var _6_rVal float64 // sqlite3.c:105453:14 158481 _ = _6_rVal 158482 func() int32 { 158483 if _argc == i32(1) { 158484 return i32(0) 158485 } 158486 return func() int32 { 158487 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105424), unsafe.Pointer((*int8)(unsafe.Pointer(&_absFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 158488 crt.X__builtin_abort(tls) 158489 return i32(0) 158490 }() 158491 }() 158492 158493 switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 158494 case i32(1): 158495 goto _3 158496 case i32(5): 158497 goto _4 158498 default: 158499 goto _5 158500 } 158501 158502 _3: 158503 _2_iVal = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158504 if _2_iVal >= int64(i32(0)) { 158505 goto _6 158506 } 158507 158508 if _2_iVal != i64(-9223372036854775808) { 158509 goto _7 158510 } 158511 158512 Xsqlite3_result_error(tls, _context, str(138000), i32(-1)) 158513 return 158514 158515 _7: 158516 _2_iVal = -_2_iVal 158517 _6: 158518 Xsqlite3_result_int64(tls, _context, _2_iVal) 158519 goto _8 158520 158521 _4: 158522 Xsqlite3_result_null(tls, _context) 158523 goto _8 158524 158525 _5: 158526 _6_rVal = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158527 if _6_rVal >= float64(i32(0)) { 158528 goto _9 158529 } 158530 158531 _6_rVal = -_6_rVal 158532 _9: 158533 Xsqlite3_result_double(tls, _context, _6_rVal) 158534 goto _8 158535 158536 _8: 158537 return 158538 158539 } 158540 158541 var _absFuncØ00__func__Ø000 [8]int8 // - 158542 158543 func init() { 158544 crt.Xstrncpy(nil, &_absFuncØ00__func__Ø000[0], str(138020), 8) 158545 } 158546 158547 func _roundFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105648:1 158548 var _n int32 // sqlite3.c:105649:7 158549 _ = _n 158550 var _r float64 // sqlite3.c:105650:10 158551 _ = _r 158552 var _zBuf *int8 // sqlite3.c:105651:8 158553 _ = _zBuf 158554 _n = i32(0) 158555 func() int32 { 158556 if (_argc == i32(1)) || (_argc == i32(2)) { 158557 return i32(0) 158558 } 158559 return func() int32 { 158560 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105652), unsafe.Pointer((*int8)(unsafe.Pointer(&_roundFuncØ00__func__Ø000))), unsafe.Pointer(str(138028))) 158561 crt.X__builtin_abort(tls) 158562 return i32(0) 158563 }() 158564 }() 158565 if _argc != i32(2) { 158566 goto _3 158567 } 158568 158569 if i32(5) != Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) { 158570 goto _4 158571 } 158572 158573 return 158574 158575 _4: 158576 _n = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 158577 if _n <= i32(30) { 158578 goto _5 158579 } 158580 158581 _n = i32(30) 158582 _5: 158583 if _n >= i32(0) { 158584 goto _6 158585 } 158586 158587 _n = i32(0) 158588 _6: 158589 _3: 158590 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != i32(5) { 158591 goto _7 158592 } 158593 158594 return 158595 158596 _7: 158597 _r = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158598 if _n != i32(0) || _r < float64(i32(0)) || _r >= float64(i64(9223372036854775806)) { 158599 goto _10 158600 } 158601 158602 _r = float64(int64(_r + (0.5))) 158603 goto _11 158604 158605 _10: 158606 if _n != i32(0) || _r >= float64(i32(0)) || (-_r) >= float64(i64(9223372036854775806)) { 158607 goto _14 158608 } 158609 158610 _r = -float64(int64((-_r) + (0.5))) 158611 goto _15 158612 158613 _14: 158614 _zBuf = Xsqlite3_mprintf(tls, str(138048), _n, _r) 158615 if _zBuf != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 158616 goto _16 158617 } 158618 158619 Xsqlite3_result_error_nomem(tls, _context) 158620 return 158621 158622 _16: 158623 _sqlite3AtoF(tls, _zBuf, &_r, _sqlite3Strlen30(tls, _zBuf), uint8(i32(1))) 158624 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 158625 _15: 158626 _11: 158627 Xsqlite3_result_double(tls, _context, _r) 158628 return 158629 158630 } 158631 158632 var _roundFuncØ00__func__Ø000 [10]int8 // - 158633 158634 func init() { 158635 crt.Xstrncpy(nil, &_roundFuncØ00__func__Ø000[0], str(138056), 10) 158636 } 158637 158638 func _upperFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105710:1 158639 var _z1 *int8 // sqlite3.c:105711:8 158640 _ = _z1 158641 var _z2 *int8 // sqlite3.c:105712:14 158642 _ = _z2 158643 var _i int32 // sqlite3.c:105713:7 158644 _ = _i 158645 var _n int32 // sqlite3.c:105713:10 158646 _ = _n 158647 158648 _z2 = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 158649 _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158650 func() int32 { 158651 if _z2 == (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) { 158652 return i32(0) 158653 } 158654 return func() int32 { 158655 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105718), unsafe.Pointer((*int8)(unsafe.Pointer(&_upperFuncØ00__func__Ø000))), unsafe.Pointer(str(138068))) 158656 crt.X__builtin_abort(tls) 158657 return i32(0) 158658 }() 158659 }() 158660 if _z2 == nil { 158661 goto _2 158662 } 158663 158664 _z1 = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_n)+int64(i32(1))))) 158665 if _z1 == nil { 158666 goto _3 158667 } 158668 158669 _i = i32(0) 158670 _4: 158671 if _i >= _n { 158672 goto _7 158673 } 158674 158675 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z1)) + 1*uintptr(_i))) = int8(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z2)) + 1*uintptr(_i)))) & (^(int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z2)) + 1*uintptr(_i)))))))) & i32(32)))) 158676 _i += 1 158677 goto _4 158678 158679 _7: 158680 Xsqlite3_result_text(tls, _context, _z1, _n, Xsqlite3_free) 158681 _3: 158682 _2: 158683 return 158684 158685 } 158686 158687 var _upperFuncØ00__func__Ø000 [10]int8 // - 158688 158689 func init() { 158690 crt.Xstrncpy(nil, &_upperFuncØ00__func__Ø000[0], str(138108), 10) 158691 } 158692 158693 func _lowerFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105729:1 158694 var _z1 *int8 // sqlite3.c:105730:8 158695 _ = _z1 158696 var _z2 *int8 // sqlite3.c:105731:14 158697 _ = _z2 158698 var _i int32 // sqlite3.c:105732:7 158699 _ = _i 158700 var _n int32 // sqlite3.c:105732:10 158701 _ = _n 158702 158703 _z2 = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 158704 _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158705 func() int32 { 158706 if _z2 == (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) { 158707 return i32(0) 158708 } 158709 return func() int32 { 158710 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105737), unsafe.Pointer((*int8)(unsafe.Pointer(&_lowerFuncØ00__func__Ø000))), unsafe.Pointer(str(138068))) 158711 crt.X__builtin_abort(tls) 158712 return i32(0) 158713 }() 158714 }() 158715 if _z2 == nil { 158716 goto _2 158717 } 158718 158719 _z1 = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_n)+int64(i32(1))))) 158720 if _z1 == nil { 158721 goto _3 158722 } 158723 158724 _i = i32(0) 158725 _4: 158726 if _i >= _n { 158727 goto _7 158728 } 158729 158730 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z1)) + 1*uintptr(_i))) = int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3UpperToLower)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z2)) + 1*uintptr(_i)))))))) 158731 _i += 1 158732 goto _4 158733 158734 _7: 158735 Xsqlite3_result_text(tls, _context, _z1, _n, Xsqlite3_free) 158736 _3: 158737 _2: 158738 return 158739 158740 } 158741 158742 var _lowerFuncØ00__func__Ø000 [10]int8 // - 158743 158744 func init() { 158745 crt.Xstrncpy(nil, &_lowerFuncØ00__func__Ø000[0], str(138120), 10) 158746 } 158747 158748 func _hexFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106411:1 158749 var _i int32 // sqlite3.c:106416:7 158750 _ = _i 158751 var _n int32 // sqlite3.c:106416:10 158752 _ = _n 158753 var _pBlob *uint8 // sqlite3.c:106417:23 158754 _ = _pBlob 158755 var _zHex *int8 // sqlite3.c:106418:8 158756 _ = _zHex 158757 var _z *int8 // sqlite3.c:106418:15 158758 _ = _z 158759 var _2_c uint8 // sqlite3.c:106427:21 158760 _ = _2_c 158761 func() int32 { 158762 if _argc == i32(1) { 158763 return i32(0) 158764 } 158765 return func() int32 { 158766 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106419), unsafe.Pointer((*int8)(unsafe.Pointer(&_hexFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 158767 crt.X__builtin_abort(tls) 158768 return i32(0) 158769 }() 158770 }() 158771 158772 _pBlob = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 158773 _n = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158774 func() int32 { 158775 if _pBlob == (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) { 158776 return i32(0) 158777 } 158778 return func() int32 { 158779 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106423), unsafe.Pointer((*int8)(unsafe.Pointer(&_hexFuncØ00__func__Ø000))), unsafe.Pointer(str(138132))) 158780 crt.X__builtin_abort(tls) 158781 return i32(0) 158782 }() 158783 }() 158784 _z = store1025(&_zHex, (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, (int64(_n)*int64(i32(2)))+int64(i32(1)))))) 158785 if _zHex == nil { 158786 goto _4 158787 } 158788 158789 _i = i32(0) 158790 _5: 158791 if _i >= _n { 158792 goto _8 158793 } 158794 158795 _2_c = *_pBlob 158796 *postInc1025(&_z, 1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_hexdigits)) + 1*uintptr((int32(_2_c)>>uint(i32(4)))&i32(15)))) 158797 *postInc1025(&_z, 1) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_hexdigits)) + 1*uintptr(int32(_2_c)&i32(15)))) 158798 *(*uintptr)(unsafe.Pointer(func() **uint8 { _i += 1; return &_pBlob }())) += uintptr(1) 158799 goto _5 158800 158801 _8: 158802 *_z = int8(i32(0)) 158803 Xsqlite3_result_text(tls, _context, _zHex, _n*i32(2), Xsqlite3_free) 158804 _4: 158805 return 158806 158807 } 158808 158809 var _hexFuncØ00__func__Ø000 [8]int8 // - 158810 158811 func init() { 158812 crt.Xstrncpy(nil, &_hexFuncØ00__func__Ø000[0], str(138168), 8) 158813 } 158814 158815 var _hexdigits [16]int8 // sqlite3.c:106267:19 158816 158817 func init() { 158818 _hexdigits = [16]int8{48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70} 158819 } 158820 158821 func _randomFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105762:1 158822 var _r int64 // sqlite3.c:105767:16 158823 _ = _r 158824 func() **XMem { ; return _NotUsed2 }() 158825 Xsqlite3_randomness(tls, int32(u32(8)), (unsafe.Pointer)(&_r)) 158826 if _r >= int64(i32(0)) { 158827 goto _0 158828 } 158829 158830 _r = -(_r & i64(9223372036854775807)) 158831 _0: 158832 Xsqlite3_result_int64(tls, _context, _r) 158833 return 158834 158835 } 158836 158837 func _randomBlob(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105788:1 158838 var _n int32 // sqlite3.c:105793:7 158839 _ = _n 158840 var _p *uint8 // sqlite3.c:105794:17 158841 _ = _p 158842 func() int32 { 158843 if _argc == i32(1) { 158844 return i32(0) 158845 } 158846 return func() int32 { 158847 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105795), unsafe.Pointer((*int8)(unsafe.Pointer(&_randomBlobØ00__func__Ø000))), unsafe.Pointer(str(132492))) 158848 crt.X__builtin_abort(tls) 158849 return i32(0) 158850 }() 158851 }() 158852 158853 _n = Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158854 if _n >= i32(1) { 158855 goto _2 158856 } 158857 158858 _n = i32(1) 158859 _2: 158860 _p = (*uint8)(unsafe.Pointer(_contextMalloc(tls, _context, int64(_n)))) 158861 if _p == nil { 158862 goto _3 158863 } 158864 158865 Xsqlite3_randomness(tls, _n, (unsafe.Pointer)(_p)) 158866 Xsqlite3_result_blob(tls, _context, (unsafe.Pointer)(_p), _n, Xsqlite3_free) 158867 _3: 158868 return 158869 158870 } 158871 158872 var _randomBlobØ00__func__Ø000 [11]int8 // - 158873 158874 func init() { 158875 crt.Xstrncpy(nil, &_randomBlobØ00__func__Ø000[0], str(138176), 11) 158876 } 158877 158878 func _nullifFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _argv **XMem) { // sqlite3.c:106161:1 158879 var _pColl *XCollSeq // sqlite3.c:106166:11 158880 _ = _pColl 158881 _pColl = _sqlite3GetFuncCollSeq(tls, _context) 158882 158883 if _sqlite3MemCompare(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0)))), *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1)))), _pColl) == i32(0) { 158884 goto _0 158885 } 158886 158887 Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158888 _0: 158889 return 158890 158891 } 158892 158893 func _sourceidFunc(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:106193:1 158894 func() **XMem { ; return _NotUsed2 }() 158895 Xsqlite3_result_text(tls, _context, Xsqlite3_sourceid(tls), i32(-1), nil) 158896 return 158897 158898 } 158899 158900 func _errlogFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106209:1 158901 158902 Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))), str(25612), unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))))) 158903 return 158904 158905 } 158906 158907 func _quoteFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106279:1 158908 var _2_r1 float64 // sqlite3.c:106284:14 158909 _ = _2_r1 158910 var _2_r2 float64 // sqlite3.c:106284:18 158911 _ = _2_r2 158912 var _2_zBuf [50]int8 // sqlite3.c:106285:12 158913 _ = _2_zBuf 158914 var _5_zText *int8 // sqlite3.c:106300:12 158915 _ = _5_zText 158916 var _5_zBlob *int8 // sqlite3.c:106301:18 158917 _ = _5_zBlob 158918 var _5_nBlob int32 // sqlite3.c:106302:11 158919 _ = _5_nBlob 158920 var _6_i int32 // sqlite3.c:106306:13 158921 _ = _6_i 158922 var _8_i int32 // sqlite3.c:106321:11 158923 _ = _8_i 158924 var _8_j int32 // sqlite3.c:106321:13 158925 _ = _8_j 158926 var _8_n uint64 // sqlite3.c:106322:11 158927 _ = _8_n 158928 var _8_zArg *uint8 // sqlite3.c:106323:27 158929 _ = _8_zArg 158930 var _8_z *int8 // sqlite3.c:106324:12 158931 _ = _8_z 158932 func() int32 { 158933 if _argc == i32(1) { 158934 return i32(0) 158935 } 158936 return func() int32 { 158937 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106280), unsafe.Pointer((*int8)(unsafe.Pointer(&_quoteFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 158938 crt.X__builtin_abort(tls) 158939 return i32(0) 158940 }() 158941 }() 158942 158943 switch Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 158944 case i32(1): 158945 goto _4 158946 case i32(2): 158947 goto _3 158948 case i32(3): 158949 goto _6 158950 case i32(4): 158951 goto _5 158952 default: 158953 goto _7 158954 } 158955 158956 _3: 158957 _2_r1 = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158958 Xsqlite3_snprintf(tls, int32(u32(50)), (*int8)(unsafe.Pointer(&_2_zBuf)), str(5996), _2_r1) 158959 _sqlite3AtoF(tls, (*int8)(unsafe.Pointer(&_2_zBuf)), &_2_r2, i32(20), uint8(i32(1))) 158960 if _2_r1 == _2_r2 { 158961 goto _8 158962 } 158963 158964 Xsqlite3_snprintf(tls, int32(u32(50)), (*int8)(unsafe.Pointer(&_2_zBuf)), str(138188), _2_r1) 158965 _8: 158966 Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(&_2_zBuf)), i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 158967 goto _9 158968 158969 _4: 158970 Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158971 goto _9 158972 158973 _5: 158974 _5_zText = nil 158975 _5_zBlob = (*int8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 158976 _5_nBlob = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 158977 func() int32 { 158978 if _5_zBlob == (*int8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) { 158979 return i32(0) 158980 } 158981 return func() int32 { 158982 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106303), unsafe.Pointer((*int8)(unsafe.Pointer(&_quoteFuncØ00__func__Ø000))), unsafe.Pointer(str(138196))) 158983 crt.X__builtin_abort(tls) 158984 return i32(0) 158985 }() 158986 }() 158987 _5_zText = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, (int64(i32(2))*int64(_5_nBlob))+int64(i32(4))))) 158988 if _5_zText == nil { 158989 goto _12 158990 } 158991 158992 _6_i = i32(0) 158993 _13: 158994 if _6_i >= _5_nBlob { 158995 goto _16 158996 } 158997 158998 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr((_6_i*i32(2))+i32(2)))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_hexdigits)) + 1*uintptr((int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zBlob)) + 1*uintptr(_6_i))))>>uint(i32(4)))&i32(15)))) 158999 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr((_6_i*i32(2))+i32(3)))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_hexdigits)) + 1*uintptr(int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zBlob)) + 1*uintptr(_6_i))))&i32(15)))) 159000 _6_i += 1 159001 goto _13 159002 159003 _16: 159004 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr((_5_nBlob*i32(2))+i32(2)))) = int8(i32(39)) 159005 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr((_5_nBlob*i32(2))+i32(3)))) = int8(i32(0)) 159006 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr(i32(0)))) = int8(i32(88)) 159007 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_zText)) + 1*uintptr(i32(1)))) = int8(i32(39)) 159008 Xsqlite3_result_text(tls, _context, _5_zText, i32(-1), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 159009 Xsqlite3_free(tls, (unsafe.Pointer)(_5_zText)) 159010 _12: 159011 goto _9 159012 159013 _6: 159014 _8_zArg = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159015 if _8_zArg != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159016 goto _17 159017 } 159018 159019 return 159020 159021 _17: 159022 *func() *uint64 { _8_i = i32(0); return &_8_n }() = uint64(i32(0)) 159023 _18: 159024 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) == 0 { 159025 goto _21 159026 } 159027 159028 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) != i32(39) { 159029 goto _22 159030 } 159031 159032 _8_n += 1 159033 _22: 159034 _8_i += 1 159035 goto _18 159036 159037 _21: 159038 _8_z = (*int8)(unsafe.Pointer(_contextMalloc(tls, _context, (int64(_8_i)+int64(_8_n))+int64(i32(3))))) 159039 if _8_z == nil { 159040 goto _23 159041 } 159042 159043 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(i32(0)))) = int8(i32(39)) 159044 *func() *int32 { _8_i = i32(0); return &_8_j }() = i32(1) 159045 _24: 159046 if (*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) == 0 { 159047 goto _27 159048 } 159049 159050 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(postInc961(&_8_j, int32(1))))) = int8(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) 159051 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_zArg)) + 1*uintptr(_8_i)))) != i32(39) { 159052 goto _28 159053 } 159054 159055 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(postInc961(&_8_j, int32(1))))) = int8(i32(39)) 159056 _28: 159057 _8_i += 1 159058 goto _24 159059 159060 _27: 159061 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(postInc961(&_8_j, int32(1))))) = int8(i32(39)) 159062 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_8_z)) + 1*uintptr(_8_j))) = int8(i32(0)) 159063 Xsqlite3_result_text(tls, _context, _8_z, _8_j, Xsqlite3_free) 159064 _23: 159065 goto _9 159066 159067 _7: 159068 func() int32 { 159069 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) == i32(5) { 159070 return i32(0) 159071 } 159072 return func() int32 { 159073 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106344), unsafe.Pointer((*int8)(unsafe.Pointer(&_quoteFuncØ00__func__Ø000))), unsafe.Pointer(str(138232))) 159074 crt.X__builtin_abort(tls) 159075 return i32(0) 159076 }() 159077 }() 159078 Xsqlite3_result_text(tls, _context, str(200), i32(4), nil) 159079 goto _9 159080 159081 _9: 159082 return 159083 159084 } 159085 159086 var _quoteFuncØ00__func__Ø000 [10]int8 // - 159087 159088 func init() { 159089 crt.Xstrncpy(nil, &_quoteFuncØ00__func__Ø000[0], str(138276), 10) 159090 } 159091 159092 func _last_insert_rowid(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105812:1 159093 var _db *Xsqlite3 // sqlite3.c:105817:11 159094 _ = _db 159095 _db = Xsqlite3_context_db_handle(tls, _context) 159096 func() **XMem { ; return _NotUsed2 }() 159097 Xsqlite3_result_int64(tls, _context, Xsqlite3_last_insert_rowid(tls, _db)) 159098 return 159099 159100 } 159101 159102 func _changes(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105832:1 159103 var _db *Xsqlite3 // sqlite3.c:105837:11 159104 _ = _db 159105 _db = Xsqlite3_context_db_handle(tls, _context) 159106 func() **XMem { ; return _NotUsed2 }() 159107 Xsqlite3_result_int(tls, _context, Xsqlite3_changes(tls, _db)) 159108 return 159109 159110 } 159111 159112 func _total_changes(tls *crt.TLS, _context *Xsqlite3_context, _NotUsed int32, _NotUsed2 **XMem) { // sqlite3.c:105846:1 159113 var _db *Xsqlite3 // sqlite3.c:105851:11 159114 _ = _db 159115 _db = Xsqlite3_context_db_handle(tls, _context) 159116 func() **XMem { ; return _NotUsed2 }() 159117 Xsqlite3_result_int(tls, _context, Xsqlite3_total_changes(tls, _db)) 159118 return 159119 159120 } 159121 159122 func _replaceFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106462:1 159123 var _zStr *uint8 // sqlite3.c:106467:23 159124 _ = _zStr 159125 var _zPattern *uint8 // sqlite3.c:106468:23 159126 _ = _zPattern 159127 var _zRep *uint8 // sqlite3.c:106469:23 159128 _ = _zRep 159129 var _zOut *uint8 // sqlite3.c:106470:17 159130 _ = _zOut 159131 var _nStr int32 // sqlite3.c:106471:7 159132 _ = _nStr 159133 var _nPattern int32 // sqlite3.c:106472:7 159134 _ = _nPattern 159135 var _nRep int32 // sqlite3.c:106473:7 159136 _ = _nRep 159137 var _nOut int64 // sqlite3.c:106474:7 159138 _ = _nOut 159139 var _loopLimit int32 // sqlite3.c:106475:7 159140 _ = _loopLimit 159141 var _i int32 // sqlite3.c:106476:7 159142 _ = _i 159143 var _j int32 // sqlite3.c:106476:10 159144 _ = _j 159145 var _6_zOld *uint8 // sqlite3.c:106512:10 159146 _ = _6_zOld 159147 var _6_db *Xsqlite3 // sqlite3.c:106513:15 159148 _ = _6_db 159149 func() int32 { 159150 if _argc == i32(3) { 159151 return i32(0) 159152 } 159153 return func() int32 { 159154 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106478), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(53092))) 159155 crt.X__builtin_abort(tls) 159156 return i32(0) 159157 }() 159158 }() 159159 159160 _zStr = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159161 if _zStr != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159162 goto _2 159163 } 159164 159165 return 159166 159167 _2: 159168 _nStr = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159169 func() int32 { 159170 if _zStr == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 159171 return i32(0) 159172 } 159173 return func() int32 { 159174 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106483), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138288))) 159175 crt.X__builtin_abort(tls) 159176 return i32(0) 159177 }() 159178 }() 159179 _zPattern = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 159180 if _zPattern != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159181 goto _5 159182 } 159183 159184 func() int32 { 159185 if (Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) == i32(5)) || ((Xsqlite3_context_db_handle(tls, _context).X17) != 0) { 159186 return i32(0) 159187 } 159188 return func() int32 { 159189 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106486), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138324))) 159190 crt.X__builtin_abort(tls) 159191 return i32(0) 159192 }() 159193 }() 159194 return 159195 159196 _5: 159197 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) != i32(0) { 159198 goto _9 159199 } 159200 159201 func() int32 { 159202 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) != i32(5) { 159203 return i32(0) 159204 } 159205 return func() int32 { 159206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106491), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138420))) 159207 crt.X__builtin_abort(tls) 159208 return i32(0) 159209 }() 159210 }() 159211 Xsqlite3_result_value(tls, _context, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159212 return 159213 159214 _9: 159215 _nPattern = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 159216 func() int32 { 159217 if _zPattern == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) { 159218 return i32(0) 159219 } 159220 return func() int32 { 159221 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106496), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138464))) 159222 crt.X__builtin_abort(tls) 159223 return i32(0) 159224 }() 159225 }() 159226 _zRep = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) 159227 if _zRep != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159228 goto _14 159229 } 159230 159231 return 159232 159233 _14: 159234 _nRep = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) 159235 func() int32 { 159236 if _zRep == Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) { 159237 return i32(0) 159238 } 159239 return func() int32 { 159240 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106500), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138504))) 159241 crt.X__builtin_abort(tls) 159242 return i32(0) 159243 }() 159244 }() 159245 _nOut = int64(_nStr + i32(1)) 159246 func() int32 { 159247 if _nOut < int64(i32(1000000000)) { 159248 return i32(0) 159249 } 159250 return func() int32 { 159251 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106502), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138540))) 159252 crt.X__builtin_abort(tls) 159253 return i32(0) 159254 }() 159255 }() 159256 _zOut = (*uint8)(unsafe.Pointer(_contextMalloc(tls, _context, _nOut))) 159257 if _zOut != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159258 goto _19 159259 } 159260 159261 return 159262 159263 _19: 159264 _loopLimit = _nStr - _nPattern 159265 _i = store961(&_j, i32(0)) 159266 _20: 159267 if _i > _loopLimit { 159268 goto _23 159269 } 159270 159271 if int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStr)) + 1*uintptr(_i)))) == int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPattern)) + 1*uintptr(i32(0))))) && crt.Xmemcmp(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStr))+1*uintptr(_i)))), (unsafe.Pointer)(_zPattern), uint32(_nPattern)) == 0 { 159272 goto _25 159273 } 159274 159275 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(postInc961(&_j, int32(1))))) = *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStr)) + 1*uintptr(_i))) 159276 goto _26 159277 159278 _25: 159279 _6_db = Xsqlite3_context_db_handle(tls, _context) 159280 { 159281 p := &_nOut 159282 *p = (*p) + int64(_nRep-_nPattern) 159283 sink967 = *p 159284 } 159285 if (_nOut - int64(i32(1))) <= int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_6_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) { 159286 goto _27 159287 } 159288 159289 Xsqlite3_result_error_toobig(tls, _context) 159290 Xsqlite3_free(tls, (unsafe.Pointer)(_zOut)) 159291 return 159292 159293 _27: 159294 _6_zOld = _zOut 159295 _zOut = (*uint8)(unsafe.Pointer(Xsqlite3_realloc64(tls, (unsafe.Pointer)(_zOut), uint64(int32(_nOut))))) 159296 if _zOut != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159297 goto _28 159298 } 159299 159300 Xsqlite3_result_error_nomem(tls, _context) 159301 Xsqlite3_free(tls, (unsafe.Pointer)(_6_zOld)) 159302 return 159303 159304 _28: 159305 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_j)))), (unsafe.Pointer)(_zRep), uint32(_nRep)) 159306 { 159307 p := &_j 159308 *p = (*p) + _nRep 159309 sink961 = *p 159310 } 159311 { 159312 p := &_i 159313 *p = (*p) + (_nPattern - i32(1)) 159314 sink961 = *p 159315 } 159316 _26: 159317 _i += 1 159318 goto _20 159319 159320 _23: 159321 func() int32 { 159322 if int64(((_j+_nStr)-_i)+i32(1)) == _nOut { 159323 return i32(0) 159324 } 159325 return func() int32 { 159326 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106534), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138564))) 159327 crt.X__builtin_abort(tls) 159328 return i32(0) 159329 }() 159330 }() 159331 crt.Xmemcpy(tls, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut))+1*uintptr(_j)))), (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zStr))+1*uintptr(_i)))), uint32(_nStr-_i)) 159332 { 159333 p := &_j 159334 *p = (*p) + (_nStr - _i) 159335 sink961 = *p 159336 } 159337 func() int32 { 159338 if int64(_j) <= _nOut { 159339 return i32(0) 159340 } 159341 return func() int32 { 159342 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106537), unsafe.Pointer((*int8)(unsafe.Pointer(&_replaceFuncØ00__func__Ø000))), unsafe.Pointer(str(138584))) 159343 crt.X__builtin_abort(tls) 159344 return i32(0) 159345 }() 159346 }() 159347 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zOut)) + 1*uintptr(_j))) = uint8(i32(0)) 159348 Xsqlite3_result_text(tls, _context, (*int8)(unsafe.Pointer(_zOut)), _j, Xsqlite3_free) 159349 return 159350 159351 } 159352 159353 var _replaceFuncØ00__func__Ø000 [12]int8 // - 159354 159355 func init() { 159356 crt.Xstrncpy(nil, &_replaceFuncØ00__func__Ø000[0], str(138592), 12) 159357 } 159358 159359 func _zeroblobFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106439:1 159360 var _n int64 // sqlite3.c:106444:7 159361 _ = _n 159362 var _rc int32 // sqlite3.c:106445:7 159363 _ = _rc 159364 func() int32 { 159365 if _argc == i32(1) { 159366 return i32(0) 159367 } 159368 return func() int32 { 159369 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106446), unsafe.Pointer((*int8)(unsafe.Pointer(&_zeroblobFuncØ00__func__Ø000))), unsafe.Pointer(str(132492))) 159370 crt.X__builtin_abort(tls) 159371 return i32(0) 159372 }() 159373 }() 159374 159375 _n = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159376 if _n >= int64(i32(0)) { 159377 goto _2 159378 } 159379 159380 _n = int64(i32(0)) 159381 _2: 159382 _rc = Xsqlite3_result_zeroblob64(tls, _context, uint64(_n)) 159383 if _rc == 0 { 159384 goto _3 159385 } 159386 159387 Xsqlite3_result_error_code(tls, _context, _rc) 159388 _3: 159389 return 159390 159391 } 159392 159393 var _zeroblobFuncØ00__func__Ø000 [13]int8 // - 159394 159395 func init() { 159396 crt.Xstrncpy(nil, &_zeroblobFuncØ00__func__Ø000[0], str(138604), 13) 159397 } 159398 159399 func _substrFunc(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:105553:1 159400 var _z *uint8 // sqlite3.c:105558:23 159401 _ = _z 159402 var _z2 *uint8 // sqlite3.c:105559:23 159403 _ = _z2 159404 var _len int32 // sqlite3.c:105560:7 159405 _ = _len 159406 var _p0type int32 // sqlite3.c:105561:7 159407 _ = _p0type 159408 var _p1 int64 // sqlite3.c:105562:7 159409 _ = _p1 159410 var _p2 int64 // sqlite3.c:105562:11 159411 _ = _p2 159412 var _negP2 int32 // sqlite3.c:105563:7 159413 _ = _negP2 159414 _negP2 = i32(0) 159415 func() int32 { 159416 if (_argc == i32(3)) || (_argc == i32(2)) { 159417 return i32(0) 159418 } 159419 return func() int32 { 159420 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105565), unsafe.Pointer((*int8)(unsafe.Pointer(&_substrFuncØ00__func__Ø000))), unsafe.Pointer(str(138620))) 159421 crt.X__builtin_abort(tls) 159422 return i32(0) 159423 }() 159424 }() 159425 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) != i32(5) && (_argc != i32(3) || Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2))))) != i32(5)) { 159426 goto _5 159427 } 159428 159429 return 159430 159431 _5: 159432 _p0type = Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159433 _p1 = int64(Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1)))))) 159434 if _p0type != i32(4) { 159435 goto _6 159436 } 159437 159438 _len = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159439 _z = (*uint8)(unsafe.Pointer(Xsqlite3_value_blob(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 159440 if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159441 goto _7 159442 } 159443 159444 return 159445 159446 _7: 159447 func() int32 { 159448 if _len == Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) { 159449 return i32(0) 159450 } 159451 return func() int32 { 159452 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105577), unsafe.Pointer((*int8)(unsafe.Pointer(&_substrFuncØ00__func__Ø000))), unsafe.Pointer(str(138640))) 159453 crt.X__builtin_abort(tls) 159454 return i32(0) 159455 }() 159456 }() 159457 goto _10 159458 159459 _6: 159460 _z = Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159461 if _z != (*uint8)(unsafe.Pointer(uintptr(i32(0)))) { 159462 goto _11 159463 } 159464 159465 return 159466 159467 _11: 159468 _len = i32(0) 159469 if _p1 >= int64(i32(0)) { 159470 goto _12 159471 } 159472 159473 _z2 = _z 159474 _13: 159475 if (*_z2) == 0 { 159476 goto _16 159477 } 159478 159479 if int32(*postInc6921(&_z2, 1)) < i32(192) { 159480 goto _17 159481 } 159482 159483 _18: 159484 if (int32(*_z2) & i32(192)) != i32(128) { 159485 goto _19 159486 } 159487 159488 *(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1) 159489 goto _18 159490 159491 _19: 159492 _17: 159493 _len += 1 159494 goto _13 159495 159496 _16: 159497 _12: 159498 _10: 159499 if _argc != i32(3) { 159500 goto _20 159501 } 159502 159503 _p2 = int64(Xsqlite3_value_int(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(2)))))) 159504 if _p2 >= int64(i32(0)) { 159505 goto _21 159506 } 159507 159508 _p2 = -_p2 159509 _negP2 = i32(1) 159510 _21: 159511 goto _22 159512 159513 _20: 159514 _p2 = int64(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(Xsqlite3_context_db_handle(tls, _context)))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) 159515 _22: 159516 if _p1 >= int64(i32(0)) { 159517 goto _23 159518 } 159519 159520 { 159521 p := &_p1 159522 *p = (*p) + int64(_len) 159523 sink967 = *p 159524 } 159525 if _p1 >= int64(i32(0)) { 159526 goto _24 159527 } 159528 159529 { 159530 p := &_p2 159531 *p = (*p) + _p1 159532 sink967 = *p 159533 } 159534 if _p2 >= int64(i32(0)) { 159535 goto _25 159536 } 159537 159538 _p2 = int64(i32(0)) 159539 _25: 159540 _p1 = int64(i32(0)) 159541 _24: 159542 goto _26 159543 159544 _23: 159545 if _p1 <= int64(i32(0)) { 159546 goto _27 159547 } 159548 159549 _p1 -= 1 159550 goto _28 159551 159552 _27: 159553 if _p2 <= int64(i32(0)) { 159554 goto _29 159555 } 159556 159557 _p2 -= 1 159558 _29: 159559 _28: 159560 _26: 159561 if _negP2 == 0 { 159562 goto _30 159563 } 159564 159565 { 159566 p := &_p1 159567 *p = (*p) - _p2 159568 sink967 = *p 159569 } 159570 if _p1 >= int64(i32(0)) { 159571 goto _31 159572 } 159573 159574 { 159575 p := &_p2 159576 *p = (*p) + _p1 159577 sink967 = *p 159578 } 159579 _p1 = int64(i32(0)) 159580 _31: 159581 _30: 159582 func() int32 { 159583 if (_p1 >= int64(i32(0))) && (_p2 >= int64(i32(0))) { 159584 return i32(0) 159585 } 159586 return func() int32 { 159587 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(105624), unsafe.Pointer((*int8)(unsafe.Pointer(&_substrFuncØ00__func__Ø000))), unsafe.Pointer(str(138676))) 159588 crt.X__builtin_abort(tls) 159589 return i32(0) 159590 }() 159591 }() 159592 if _p0type == i32(4) { 159593 goto _35 159594 } 159595 159596 _36: 159597 if (*_z) == 0 || _p1 == 0 { 159598 goto _37 159599 } 159600 159601 if int32(*postInc6921(&_z, 1)) < i32(192) { 159602 goto _39 159603 } 159604 159605 _40: 159606 if (int32(*_z) & i32(192)) != i32(128) { 159607 goto _41 159608 } 159609 159610 *(*uintptr)(unsafe.Pointer(&_z)) += uintptr(1) 159611 goto _40 159612 159613 _41: 159614 _39: 159615 _p1 -= 1 159616 goto _36 159617 159618 _37: 159619 _z2 = _z 159620 _42: 159621 if (*_z2) == 0 || _p2 == 0 { 159622 goto _46 159623 } 159624 159625 if int32(*postInc6921(&_z2, 1)) < i32(192) { 159626 goto _47 159627 } 159628 159629 _48: 159630 if (int32(*_z2) & i32(192)) != i32(128) { 159631 goto _49 159632 } 159633 159634 *(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1) 159635 goto _48 159636 159637 _49: 159638 _47: 159639 _p2 -= 1 159640 goto _42 159641 159642 _46: 159643 Xsqlite3_result_text64(tls, _context, (*int8)(unsafe.Pointer(_z)), uint64(int32((uintptr(unsafe.Pointer(_z2))-uintptr(unsafe.Pointer(_z)))/1)), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295})), uint8(i32(1))) 159644 goto _50 159645 159646 _35: 159647 if (_p1 + _p2) <= int64(_len) { 159648 goto _51 159649 } 159650 159651 _p2 = int64(_len) - _p1 159652 if _p2 >= int64(i32(0)) { 159653 goto _52 159654 } 159655 159656 _p2 = int64(i32(0)) 159657 _52: 159658 _51: 159659 Xsqlite3_result_blob64(tls, _context, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_z))+1*uintptr(_p1)))), uint64(_p2), *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct{ f uintptr }{4294967295}))) 159660 _50: 159661 return 159662 159663 } 159664 159665 var _substrFuncØ00__func__Ø000 [11]int8 // - 159666 159667 func init() { 159668 crt.Xstrncpy(nil, &_substrFuncØ00__func__Ø000[0], str(138692), 11) 159669 } 159670 159671 func _sumStep(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106761:1 159672 var _p *XSumCtx // sqlite3.c:106762:10 159673 _ = _p 159674 var _type int32 // sqlite3.c:106763:7 159675 _ = _type 159676 var _2_v int64 // sqlite3.c:106771:11 159677 _ = _2_v 159678 func() int32 { 159679 if _argc == i32(1) { 159680 return i32(0) 159681 } 159682 return func() int32 { 159683 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106764), unsafe.Pointer((*int8)(unsafe.Pointer(&_sumStepØ00__func__Ø000))), unsafe.Pointer(str(132492))) 159684 crt.X__builtin_abort(tls) 159685 return i32(0) 159686 }() 159687 }() 159688 159689 _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u32(28))))) 159690 _type = Xsqlite3_value_numeric_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159691 if _p == nil || _type == i32(5) { 159692 goto _3 159693 } 159694 159695 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X2 */))) += 1 159696 if _type != i32(1) { 159697 goto _4 159698 } 159699 159700 _2_v = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159701 { 159702 p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 159703 *p = (*p) + float64(_2_v) 159704 sink6895 = *p 159705 } 159706 if (int32(_p.X4)|int32(_p.X3)) != i32(0) || _sqlite3AddInt64(tls, (*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X1 */))), _2_v) == 0 { 159707 goto _6 159708 } 159709 159710 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(24 /* X3 */))) = uint8(i32(1)) 159711 _6: 159712 goto _7 159713 159714 _4: 159715 { 159716 p := (*float64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) 159717 *p = (*p) + Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159718 sink6895 = *p 159719 } 159720 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(25 /* X4 */))) = uint8(i32(1)) 159721 _7: 159722 _3: 159723 return 159724 159725 } 159726 159727 var _sumStepØ00__func__Ø000 [8]int8 // - 159728 159729 func init() { 159730 crt.Xstrncpy(nil, &_sumStepØ00__func__Ø000[0], str(138704), 8) 159731 } 159732 159733 func _sumFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106782:1 159734 var _p *XSumCtx // sqlite3.c:106783:10 159735 _ = _p 159736 _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) 159737 if _p == nil || (_p.X2) <= int64(i32(0)) { 159738 goto _1 159739 } 159740 159741 if (_p.X3) == 0 { 159742 goto _2 159743 } 159744 159745 Xsqlite3_result_error(tls, _context, str(138000), i32(-1)) 159746 goto _3 159747 159748 _2: 159749 if (_p.X4) == 0 { 159750 goto _4 159751 } 159752 159753 Xsqlite3_result_double(tls, _context, _p.X0) 159754 goto _5 159755 159756 _4: 159757 Xsqlite3_result_int64(tls, _context, _p.X1) 159758 _5: 159759 _3: 159760 _1: 159761 return 159762 159763 } 159764 159765 func _totalFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106802:1 159766 var _p *XSumCtx // sqlite3.c:106803:10 159767 _ = _p 159768 _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) 159769 Xsqlite3_result_double(tls, _context, func() float64 { 159770 if _p != nil { 159771 return (_p.X0) 159772 } 159773 return float64(0) 159774 }()) 159775 return 159776 159777 } 159778 159779 func _avgFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106795:1 159780 var _p *XSumCtx // sqlite3.c:106796:10 159781 _ = _p 159782 _p = (*XSumCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) 159783 if _p == nil || (_p.X2) <= int64(i32(0)) { 159784 goto _1 159785 } 159786 159787 Xsqlite3_result_double(tls, _context, (_p.X0)/float64(_p.X2)) 159788 _1: 159789 return 159790 159791 } 159792 159793 func _countStep(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106821:1 159794 var _p *XCountCtx // sqlite3.c:106822:12 159795 _ = _p 159796 _p = (*XCountCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u32(8))))) 159797 if _argc != i32(0) && i32(5) == Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) || _p == nil { 159798 goto _2 159799 } 159800 159801 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))) += 1 159802 _2: 159803 func() int32 { 159804 if (((_argc == i32(1)) || (_p == (*XCountCtx)(unsafe.Pointer(uintptr(i32(0)))))) || ((_p.X0) > int64(i32(2147483647)))) || ((_p.X0) == int64(Xsqlite3_aggregate_count(tls, _context))) { 159805 return i32(0) 159806 } 159807 return func() int32 { 159808 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106833), unsafe.Pointer((*int8)(unsafe.Pointer(&_countStepØ00__func__Ø000))), unsafe.Pointer(str(138712))) 159809 crt.X__builtin_abort(tls) 159810 return i32(0) 159811 }() 159812 }() 159813 return 159814 159815 } 159816 159817 var _countStepØ00__func__Ø000 [10]int8 // - 159818 159819 func init() { 159820 crt.Xstrncpy(nil, &_countStepØ00__func__Ø000[0], str(138792), 10) 159821 } 159822 159823 func _countFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106837:1 159824 var _p *XCountCtx // sqlite3.c:106838:12 159825 _ = _p 159826 _p = (*XCountCtx)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) 159827 Xsqlite3_result_int64(tls, _context, func() int64 { 159828 if _p != nil { 159829 return (_p.X0) 159830 } 159831 return int64(i32(0)) 159832 }()) 159833 return 159834 159835 } 159836 159837 func _groupConcatStep(tls *crt.TLS, _context *Xsqlite3_context, _argc int32, _argv **XMem) { // sqlite3.c:106898:1 159838 var _zVal *int8 // sqlite3.c:106903:14 159839 _ = _zVal 159840 var _pAccum *XStrAccum // sqlite3.c:106904:12 159841 _ = _pAccum 159842 var _zSep *int8 // sqlite3.c:106905:14 159843 _ = _zSep 159844 var _nVal int32 // sqlite3.c:106906:7 159845 _ = _nVal 159846 var _nSep int32 // sqlite3.c:106906:13 159847 _ = _nSep 159848 var _1_db *Xsqlite3 // sqlite3.c:106912:13 159849 _ = _1_db 159850 var _1_firstTerm int32 // sqlite3.c:106913:9 159851 _ = _1_firstTerm 159852 func() int32 { 159853 if (_argc == i32(1)) || (_argc == i32(2)) { 159854 return i32(0) 159855 } 159856 return func() int32 { 159857 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(106907), unsafe.Pointer((*int8)(unsafe.Pointer(&_groupConcatStepØ00__func__Ø000))), unsafe.Pointer(str(138028))) 159858 crt.X__builtin_abort(tls) 159859 return i32(0) 159860 }() 159861 }() 159862 if Xsqlite3_value_type(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) != i32(5) { 159863 goto _3 159864 } 159865 159866 return 159867 159868 _3: 159869 _pAccum = (*XStrAccum)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, int32(u32(28))))) 159870 if _pAccum == nil { 159871 goto _4 159872 } 159873 159874 _1_db = Xsqlite3_context_db_handle(tls, _context) 159875 _1_firstTerm = bool2int((_pAccum.X5) == uint32(i32(0))) 159876 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pAccum)) + uintptr(20 /* X5 */))) = uint32(*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*[12]int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_db))+uintptr(92 /* X31 */))))) + 4*uintptr(i32(0))))) 159877 if _1_firstTerm != 0 { 159878 goto _5 159879 } 159880 159881 if _argc != i32(2) { 159882 goto _6 159883 } 159884 159885 _zSep = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))))) 159886 _nSep = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(1))))) 159887 goto _7 159888 159889 _6: 159890 _zSep = str(113828) 159891 _nSep = i32(1) 159892 _7: 159893 if _zSep == nil { 159894 goto _8 159895 } 159896 159897 _sqlite3StrAccumAppend(tls, _pAccum, _zSep, _nSep) 159898 _8: 159899 _5: 159900 _zVal = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))))) 159901 _nVal = Xsqlite3_value_bytes(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_argv)) + 4*uintptr(i32(0))))) 159902 if _zVal == nil { 159903 goto _9 159904 } 159905 159906 _sqlite3StrAccumAppend(tls, _pAccum, _zVal, _nVal) 159907 _9: 159908 _4: 159909 return 159910 159911 } 159912 159913 var _groupConcatStepØ00__func__Ø000 [16]int8 // - 159914 159915 func init() { 159916 crt.Xstrncpy(nil, &_groupConcatStepØ00__func__Ø000[0], str(138804), 16) 159917 } 159918 159919 func _groupConcatFinalize(tls *crt.TLS, _context *Xsqlite3_context) { // sqlite3.c:106930:1 159920 var _pAccum *XStrAccum // sqlite3.c:106931:12 159921 _ = _pAccum 159922 _pAccum = (*XStrAccum)(unsafe.Pointer(Xsqlite3_aggregate_context(tls, _context, i32(0)))) 159923 if _pAccum == nil { 159924 goto _0 159925 } 159926 159927 if int32(_pAccum.X6) != i32(2) { 159928 goto _1 159929 } 159930 159931 Xsqlite3_result_error_toobig(tls, _context) 159932 goto _2 159933 159934 _1: 159935 if int32(_pAccum.X6) != i32(1) { 159936 goto _3 159937 } 159938 159939 Xsqlite3_result_error_nomem(tls, _context) 159940 goto _4 159941 159942 _3: 159943 Xsqlite3_result_text(tls, _context, _sqlite3StrAccumFinish(tls, _pAccum), i32(-1), Xsqlite3_free) 159944 _4: 159945 _2: 159946 _0: 159947 return 159948 159949 } 159950 159951 func _sqlite3PcacheInitialize(tls *crt.TLS) (r0 int32) { // sqlite3.c:44339:1 159952 if *(*unsafe.Pointer)(unsafe.Pointer(&struct { 159953 f func(*crt.TLS, unsafe.Pointer) int32 159954 }{((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct { 159955 f func(*crt.TLS, unsafe.Pointer) int32 159956 }{nil})) { 159957 goto _0 159958 } 159959 159960 _sqlite3PCacheSetDefault(tls) 159961 _0: 159962 r0 = ((*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config)) + uintptr(108 /* X12 */))).X2)(tls, (*Xsqlite3_pcache_methods2)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3Config))+uintptr(108 /* X12 */))).X1) 159963 return 159964 159965 } 159966 159967 func _sqlite3PCacheSetDefault(tls *crt.TLS) { // sqlite3.c:46128:1 159968 Xsqlite3_config(tls, i32(18), unsafe.Pointer(&_sqlite3PCacheSetDefaultØ00defaultMethodsØ001)) 159969 return 159970 159971 } 159972 159973 var _sqlite3PCacheSetDefaultØ00defaultMethodsØ001 Xsqlite3_pcache_methods2 // sqlite3.c:46129:40 159974 159975 func init() { 159976 _sqlite3PCacheSetDefaultØ00defaultMethodsØ001 = Xsqlite3_pcache_methods2{X0: i32(1), X1: nil, X2: _pcache1Init, X3: _pcache1Shutdown, X4: _pcache1Create, X5: _pcache1Cachesize, X6: _pcache1Pagecount, X7: *(*func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer)(unsafe.Pointer(&struct { 159977 f func(*crt.TLS, unsafe.Pointer, uint32, int32) *Xsqlite3_pcache_page 159978 }{_pcache1Fetch})), X8: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&struct { 159979 f func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, int32) 159980 }{_pcache1Unpin})), X9: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32))(unsafe.Pointer(&struct { 159981 f func(*crt.TLS, unsafe.Pointer, *Xsqlite3_pcache_page, uint32, uint32) 159982 }{_pcache1Rekey})), X10: _pcache1Truncate, X11: _pcache1Destroy, X12: _pcache1Shrink} 159983 } 159984 159985 func _pcache1Init(tls *crt.TLS, _NotUsed unsafe.Pointer) (r0 int32) { // sqlite3.c:45642:1 159986 159987 func() int32 { 159988 if (_pcache1_g.X1) == i32(0) { 159989 return i32(0) 159990 } 159991 return func() int32 { 159992 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45644), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1InitØ00__func__Ø000))), unsafe.Pointer(str(138820))) 159993 crt.X__builtin_abort(tls) 159994 return i32(0) 159995 }() 159996 }() 159997 crt.Xmemset(tls, (unsafe.Pointer)(&_pcache1_g), i32(0), u32(100)) 159998 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(56 /* X2 */))) = bool2int((unsafe.Pointer(_sqlite3Config.X22) == (unsafe.Pointer)(uintptr(i32(0)))) || ((_sqlite3Config.X1) > i32(0))) 159999 if (_sqlite3Config.X1) == 0 { 160000 goto _3 160001 } 160002 160003 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(0 /* X0 */))))) + uintptr(0 /* X0 */))))) = _sqlite3MutexAlloc(tls, i32(6)) 160004 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(84 /* X9 */))))) = _sqlite3MutexAlloc(tls, i32(7)) 160005 _3: 160006 if (_pcache1_g.X2) == 0 || (_sqlite3Config.X24) == i32(0) || unsafe.Pointer(_sqlite3Config.X22) != (unsafe.Pointer)(uintptr(i32(0))) { 160007 goto _6 160008 } 160009 160010 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(60 /* X3 */))) = _sqlite3Config.X24 160011 goto _7 160012 160013 _6: 160014 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(60 /* X3 */))) = i32(0) 160015 _7: 160016 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(0 /* X0 */))))) + uintptr(12 /* X3 */))) = uint32(i32(10)) 160017 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(52 /* X1 */))) = i32(1) 160018 r0 = i32(0) 160019 return 160020 160021 } 160022 160023 var _pcache1InitØ00__func__Ø000 [12]int8 // - 160024 160025 func init() { 160026 crt.Xstrncpy(nil, &_pcache1InitØ00__func__Ø000[0], str(138840), 12) 160027 } 160028 160029 func _pcache1Shutdown(tls *crt.TLS, _NotUsed unsafe.Pointer) { // sqlite3.c:45695:1 160030 160031 func() int32 { 160032 if (_pcache1_g.X1) != i32(0) { 160033 return i32(0) 160034 } 160035 return func() int32 { 160036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45697), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1ShutdownØ00__func__Ø000))), unsafe.Pointer(str(138852))) 160037 crt.X__builtin_abort(tls) 160038 return i32(0) 160039 }() 160040 }() 160041 crt.Xmemset(tls, (unsafe.Pointer)(&_pcache1_g), i32(0), u32(100)) 160042 return 160043 160044 } 160045 160046 var _pcache1ShutdownØ00__func__Ø000 [16]int8 // - 160047 160048 func init() { 160049 crt.Xstrncpy(nil, &_pcache1ShutdownØ00__func__Ø000[0], str(138872), 16) 160050 } 160051 160052 func _pcache1Create(tls *crt.TLS, _szPage int32, _szExtra int32, _bPurgeable int32) (r0 unsafe.Pointer) { // sqlite3.c:45709:1 160053 var _pCache *XPCache1 // sqlite3.c:45710:11 160054 _ = _pCache 160055 var _pGroup *XPGroup // sqlite3.c:45711:10 160056 _ = _pGroup 160057 var _sz int32 // sqlite3.c:45712:7 160058 _ = _sz 160059 func() int32 { 160060 if (((_szPage & (_szPage - i32(1))) == i32(0)) && (_szPage >= i32(512))) && (_szPage <= i32(65536)) { 160061 return i32(0) 160062 } 160063 return func() int32 { 160064 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45714), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1CreateØ00__func__Ø000))), unsafe.Pointer(str(138888))) 160065 crt.X__builtin_abort(tls) 160066 return i32(0) 160067 }() 160068 }() 160069 func() int32 { 160070 if _szExtra < i32(300) { 160071 return i32(0) 160072 } 160073 return func() int32 { 160074 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45715), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1CreateØ00__func__Ø000))), unsafe.Pointer(str(138948))) 160075 crt.X__builtin_abort(tls) 160076 return i32(0) 160077 }() 160078 }() 160079 _sz = int32(u32(60) + (u32(52) * uint32(_pcache1_g.X2))) 160080 _pCache = (*XPCache1)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_sz)))) 160081 if _pCache == nil { 160082 goto _6 160083 } 160084 160085 if (_pcache1_g.X2) == 0 { 160086 goto _7 160087 } 160088 160089 _pGroup = (*XPGroup)(unsafe.Pointer((*XPCache1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + 60*uintptr(i32(1)))))) 160090 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(12 /* X3 */))) = uint32(i32(10)) 160091 goto _8 160092 160093 _7: 160094 _pGroup = (*XPGroup)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(0 /* X0 */))) 160095 _8: 160096 if int32((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */))).X4) != i32(0) { 160097 goto _9 160098 } 160099 160100 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */))))) + uintptr(14 /* X4 */))) = uint8(i32(1)) 160101 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */))))) + uintptr(28 /* X8 */))))) = store7895078((**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */)))))+uintptr(24 /* X7 */))))), (*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */)))) 160102 _9: 160103 *(**XPGroup)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(0 /* X0 */))))) = _pGroup 160104 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(4 /* X1 */))) = _szPage 160105 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(8 /* X2 */))) = _szExtra 160106 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(12 /* X3 */))) = int32(uint32(_szPage+_szExtra) + u32(32)) 160107 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(16 /* X4 */))) = func() int32 { 160108 if _bPurgeable != 0 { 160109 return i32(1) 160110 } 160111 return i32(0) 160112 }() 160113 func() int32 { 160114 if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160115 return i32(0) 160116 } 160117 return func() int32 { 160118 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45735), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1CreateØ00__func__Ø000))), unsafe.Pointer(str(138964))) 160119 crt.X__builtin_abort(tls) 160120 return i32(0) 160121 }() 160122 }() 160123 _pcache1ResizeHash(tls, _pCache) 160124 if _bPurgeable == 0 { 160125 goto _14 160126 } 160127 160128 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(20 /* X5 */))) = uint32(i32(10)) 160129 { 160130 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(8 /* X2 */))) 160131 *p = (*p) + (_pCache.X5) 160132 sink985 = *p 160133 } 160134 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(12 /* X3 */))) = ((_pGroup.X1) + uint32(i32(10))) - (_pGroup.X2) 160135 _14: 160136 func() int32 { 160137 if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160138 return i32(0) 160139 } 160140 return func() int32 { 160141 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45742), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1CreateØ00__func__Ø000))), unsafe.Pointer(str(138964))) 160142 crt.X__builtin_abort(tls) 160143 return i32(0) 160144 }() 160145 }() 160146 if (_pCache.X11) != uint32(i32(0)) { 160147 goto _17 160148 } 160149 160150 _pcache1Destroy(tls, (unsafe.Pointer)(_pCache)) 160151 _pCache = (*XPCache1)(unsafe.Pointer(uintptr(i32(0)))) 160152 _17: 160153 _6: 160154 r0 = (unsafe.Pointer)(_pCache) 160155 return 160156 160157 } 160158 160159 var _pcache1CreateØ00__func__Ø000 [14]int8 // - 160160 160161 func init() { 160162 crt.Xstrncpy(nil, &_pcache1CreateØ00__func__Ø000[0], str(138984), 14) 160163 } 160164 160165 func _pcache1ResizeHash(tls *crt.TLS, _p *XPCache1) { // sqlite3.c:45479:1 160166 var _apNew **XPgHdr1 // sqlite3.c:45480:10 160167 _ = _apNew 160168 var _nNew uint32 // sqlite3.c:45481:16 160169 _ = _nNew 160170 var _i uint32 // sqlite3.c:45482:16 160171 _ = _i 160172 var _5_pPage *XPgHdr1 // sqlite3.c:45498:14 160173 _ = _5_pPage 160174 var _5_pNext *XPgHdr1 // sqlite3.c:45499:14 160175 _ = _5_pNext 160176 var _6_h uint32 // sqlite3.c:45501:22 160177 _ = _6_h 160178 func() int32 { 160179 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_p.X0)).X0))) != 0 { 160180 return i32(0) 160181 } 160182 return func() int32 { 160183 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45484), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1ResizeHashØ00__func__Ø000))), unsafe.Pointer(str(139000))) 160184 crt.X__builtin_abort(tls) 160185 return i32(0) 160186 }() 160187 }() 160188 _nNew = (_p.X11) * uint32(i32(2)) 160189 if _nNew >= uint32(i32(256)) { 160190 goto _2 160191 } 160192 160193 _nNew = uint32(i32(256)) 160194 _2: 160195 func() int32 { 160196 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_p.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160197 return i32(0) 160198 } 160199 return func() int32 { 160200 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45491), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1ResizeHashØ00__func__Ø000))), unsafe.Pointer(str(139040))) 160201 crt.X__builtin_abort(tls) 160202 return i32(0) 160203 }() 160204 }() 160205 if (_p.X11) == 0 { 160206 goto _5 160207 } 160208 160209 _sqlite3BeginBenignMalloc(tls) 160210 _5: 160211 _apNew = (**XPgHdr1)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(4)*_nNew)))) 160212 if (_p.X11) == 0 { 160213 goto _6 160214 } 160215 160216 _sqlite3EndBenignMalloc(tls) 160217 _6: 160218 func() int32 { 160219 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_p.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160220 return i32(0) 160221 } 160222 return func() int32 { 160223 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45495), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1ResizeHashØ00__func__Ø000))), unsafe.Pointer(str(139040))) 160224 crt.X__builtin_abort(tls) 160225 return i32(0) 160226 }() 160227 }() 160228 if _apNew == nil { 160229 goto _9 160230 } 160231 160232 _i = uint32(i32(0)) 160233 _10: 160234 if _i >= (_p.X11) { 160235 goto _13 160236 } 160237 160238 _5_pNext = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X12)) + 4*uintptr(_i))) 160239 _14: 160240 if store7895078(&_5_pPage, _5_pNext) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { 160241 goto _15 160242 } 160243 160244 _6_h = (_5_pPage.X1) % _nNew 160245 _5_pNext = (*XPgHdr1)(unsafe.Pointer(_5_pPage.X5)) 160246 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pPage)) + uintptr(16 /* X5 */))))) = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apNew)) + 4*uintptr(_6_h))) 160247 *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_apNew)) + 4*uintptr(_6_h))) = _5_pPage 160248 goto _14 160249 160250 _15: 160251 _i += 1 160252 goto _10 160253 160254 _13: 160255 Xsqlite3_free(tls, (unsafe.Pointer)(_p.X12)) 160256 *(***XPgHdr1)(unsafe.Pointer((**unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(48 /* X12 */))))) = _apNew 160257 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(44 /* X11 */))) = _nNew 160258 _9: 160259 return 160260 160261 } 160262 160263 var _pcache1ResizeHashØ00__func__Ø000 [18]int8 // - 160264 160265 func init() { 160266 crt.Xstrncpy(nil, &_pcache1ResizeHashØ00__func__Ø000[0], str(139064), 18) 160267 } 160268 160269 func _pcache1Destroy(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:46105:1 160270 var _pCache *XPCache1 // sqlite3.c:46106:11 160271 _ = _pCache 160272 var _pGroup *XPGroup // sqlite3.c:46107:10 160273 _ = _pGroup 160274 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 160275 _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) 160276 func() int32 { 160277 if (_pCache.X4) != 0 || (((_pCache.X6) == uint32(i32(0))) && ((_pCache.X5) == uint32(i32(0)))) { 160278 return i32(0) 160279 } 160280 return func() int32 { 160281 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46108), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1DestroyØ00__func__Ø000))), unsafe.Pointer(str(139084))) 160282 crt.X__builtin_abort(tls) 160283 return i32(0) 160284 }() 160285 }() 160286 func() int32 { 160287 if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160288 return i32(0) 160289 } 160290 return func() int32 { 160291 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46109), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1DestroyØ00__func__Ø000))), unsafe.Pointer(str(138964))) 160292 crt.X__builtin_abort(tls) 160293 return i32(0) 160294 }() 160295 }() 160296 if (_pCache.X10) == 0 { 160297 goto _6 160298 } 160299 160300 _pcache1TruncateUnsafe(tls, _pCache, uint32(i32(0))) 160301 _6: 160302 func() int32 { 160303 if (_pGroup.X1) >= (_pCache.X6) { 160304 return i32(0) 160305 } 160306 return func() int32 { 160307 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46111), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1DestroyØ00__func__Ø000))), unsafe.Pointer(str(139144))) 160308 crt.X__builtin_abort(tls) 160309 return i32(0) 160310 }() 160311 }() 160312 { 160313 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(4 /* X1 */))) 160314 *p = (*p) - (_pCache.X6) 160315 sink985 = *p 160316 } 160317 func() int32 { 160318 if (_pGroup.X2) >= (_pCache.X5) { 160319 return i32(0) 160320 } 160321 return func() int32 { 160322 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46113), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1DestroyØ00__func__Ø000))), unsafe.Pointer(str(139180))) 160323 crt.X__builtin_abort(tls) 160324 return i32(0) 160325 }() 160326 }() 160327 { 160328 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(8 /* X2 */))) 160329 *p = (*p) - (_pCache.X5) 160330 sink985 = *p 160331 } 160332 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(12 /* X3 */))) = ((_pGroup.X1) + uint32(i32(10))) - (_pGroup.X2) 160333 _pcache1EnforceMaxPage(tls, _pCache) 160334 func() int32 { 160335 if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160336 return i32(0) 160337 } 160338 return func() int32 { 160339 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46117), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1DestroyØ00__func__Ø000))), unsafe.Pointer(str(138964))) 160340 crt.X__builtin_abort(tls) 160341 return i32(0) 160342 }() 160343 }() 160344 Xsqlite3_free(tls, _pCache.X14) 160345 Xsqlite3_free(tls, (unsafe.Pointer)(_pCache.X12)) 160346 Xsqlite3_free(tls, (unsafe.Pointer)(_pCache)) 160347 return 160348 160349 } 160350 160351 var _pcache1DestroyØ00__func__Ø000 [15]int8 // - 160352 160353 func init() { 160354 crt.Xstrncpy(nil, &_pcache1DestroyØ00__func__Ø000[0], str(139216), 15) 160355 } 160356 160357 func _pcache1TruncateUnsafe(tls *crt.TLS, _pCache *XPCache1, _iLimit uint32) { // sqlite3.c:45591:1 160358 var _nPage int32 // sqlite3.c:45595:17 160359 _ = _nPage 160360 var _h uint32 // sqlite3.c:45596:16 160361 _ = _h 160362 var _iStop uint32 // sqlite3.c:45596:19 160363 _ = _iStop 160364 var _3_pp **XPgHdr1 // sqlite3.c:45615:12 160365 _ = _3_pp 160366 var _3_pPage *XPgHdr1 // sqlite3.c:45616:12 160367 _ = _3_pPage 160368 _nPage = i32(0) 160369 func() int32 { 160370 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { 160371 return i32(0) 160372 } 160373 return func() int32 { 160374 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45597), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateUnsafeØ00__func__Ø000))), unsafe.Pointer(str(139232))) 160375 crt.X__builtin_abort(tls) 160376 return i32(0) 160377 }() 160378 }() 160379 func() int32 { 160380 if (_pCache.X8) >= _iLimit { 160381 return i32(0) 160382 } 160383 return func() int32 { 160384 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45598), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateUnsafeØ00__func__Ø000))), unsafe.Pointer(str(139276))) 160385 crt.X__builtin_abort(tls) 160386 return i32(0) 160387 }() 160388 }() 160389 func() int32 { 160390 if (_pCache.X11) > uint32(i32(0)) { 160391 return i32(0) 160392 } 160393 return func() int32 { 160394 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45599), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateUnsafeØ00__func__Ø000))), unsafe.Pointer(str(139304))) 160395 crt.X__builtin_abort(tls) 160396 return i32(0) 160397 }() 160398 }() 160399 if ((_pCache.X8) - _iLimit) >= (_pCache.X11) { 160400 goto _6 160401 } 160402 160403 _h = _iLimit % (_pCache.X11) 160404 _iStop = (_pCache.X8) % (_pCache.X11) 160405 _nPage = i32(-10) 160406 goto _7 160407 160408 _6: 160409 _h = (_pCache.X11) / uint32(i32(2)) 160410 _iStop = _h - uint32(i32(1)) 160411 _7: 160412 _8: 160413 func() int32 { 160414 if _h < (_pCache.X11) { 160415 return i32(0) 160416 } 160417 return func() int32 { 160418 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45617), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateUnsafeØ00__func__Ø000))), unsafe.Pointer(str(139324))) 160419 crt.X__builtin_abort(tls) 160420 return i32(0) 160421 }() 160422 }() 160423 _3_pp = (**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_h))) 160424 _13: 160425 if store7895078(&_3_pPage, *_3_pp) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { 160426 goto _14 160427 } 160428 160429 if (_3_pPage.X1) < _iLimit { 160430 goto _15 160431 } 160432 160433 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(40 /* X10 */))) -= 1 160434 *_3_pp = (*XPgHdr1)(unsafe.Pointer(_3_pPage.X5)) 160435 if (_3_pPage.X2) != 0 { 160436 goto _16 160437 } 160438 160439 _pcache1PinPage(tls, _3_pPage) 160440 _16: 160441 _pcache1FreePage(tls, _3_pPage) 160442 goto _17 160443 160444 _15: 160445 _3_pp = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_3_pPage)) + uintptr(16 /* X5 */))))) 160446 if _nPage < i32(0) { 160447 goto _18 160448 } 160449 160450 _nPage += 1 160451 _18: 160452 _17: 160453 goto _13 160454 160455 _14: 160456 if _h != _iStop { 160457 goto _19 160458 } 160459 160460 goto _10 160461 160462 _19: 160463 _h = (_h + uint32(i32(1))) % (_pCache.X11) 160464 goto _8 160465 160466 _10: 160467 func() int32 { 160468 if (_nPage < i32(0)) || ((_pCache.X10) == uint32(_nPage)) { 160469 return i32(0) 160470 } 160471 return func() int32 { 160472 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45633), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateUnsafeØ00__func__Ø000))), unsafe.Pointer(str(139340))) 160473 crt.X__builtin_abort(tls) 160474 return i32(0) 160475 }() 160476 }() 160477 return 160478 160479 } 160480 160481 var _pcache1TruncateUnsafeØ00__func__Ø000 [22]int8 // - 160482 160483 func init() { 160484 crt.Xstrncpy(nil, &_pcache1TruncateUnsafeØ00__func__Ø000[0], str(139384), 22) 160485 } 160486 160487 func _pcache1PinPage(tls *crt.TLS, _pPage *XPgHdr1) (r0 *XPgHdr1) { // sqlite3.c:45520:1 160488 var _pCache *XPCache1 // sqlite3.c:45521:11 160489 _ = _pCache 160490 func() int32 { 160491 if _pPage != (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { 160492 return i32(0) 160493 } 160494 return func() int32 { 160495 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45523), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(16648))) 160496 crt.X__builtin_abort(tls) 160497 return i32(0) 160498 }() 160499 }() 160500 func() int32 { 160501 if int32(_pPage.X2) == i32(0) { 160502 return i32(0) 160503 } 160504 return func() int32 { 160505 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45524), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(139408))) 160506 crt.X__builtin_abort(tls) 160507 return i32(0) 160508 }() 160509 }() 160510 _pCache = (*XPCache1)(unsafe.Pointer(_pPage.X6)) 160511 func() int32 { 160512 if (*XPgHdr1)(unsafe.Pointer(_pPage.X7)) != nil { 160513 return i32(0) 160514 } 160515 return func() int32 { 160516 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45526), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(139428))) 160517 crt.X__builtin_abort(tls) 160518 return i32(0) 160519 }() 160520 }() 160521 func() int32 { 160522 if (*XPgHdr1)(unsafe.Pointer(_pPage.X8)) != nil { 160523 return i32(0) 160524 } 160525 return func() int32 { 160526 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45527), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(139444))) 160527 crt.X__builtin_abort(tls) 160528 return i32(0) 160529 }() 160530 }() 160531 func() int32 { 160532 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { 160533 return i32(0) 160534 } 160535 return func() int32 { 160536 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45528), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(139232))) 160537 crt.X__builtin_abort(tls) 160538 return i32(0) 160539 }() 160540 }() 160541 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X8) + uintptr(24 /* X7 */))))) = (*XPgHdr1)(unsafe.Pointer(_pPage.X7)) 160542 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr(_pPage.X7) + uintptr(28 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(_pPage.X8)) 160543 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X7 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 160544 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(28 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 160545 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X2 */))) = uint8(i32(1)) 160546 func() int32 { 160547 if int32(_pPage.X4) == i32(0) { 160548 return i32(0) 160549 } 160550 return func() int32 { 160551 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45534), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(139460))) 160552 crt.X__builtin_abort(tls) 160553 return i32(0) 160554 }() 160555 }() 160556 func() int32 { 160557 if int32((*XPgHdr1)(unsafe.Pointer(uintptr(_pCache.X0)+uintptr(20 /* X5 */))).X4) == i32(1) { 160558 return i32(0) 160559 } 160560 return func() int32 { 160561 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45535), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PinPageØ00__func__Ø000))), unsafe.Pointer(str(139480))) 160562 crt.X__builtin_abort(tls) 160563 return i32(0) 160564 }() 160565 }() 160566 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(36 /* X9 */))) -= 1 160567 r0 = _pPage 160568 return 160569 160570 } 160571 160572 var _pcache1PinPageØ00__func__Ø000 [15]int8 // - 160573 160574 func init() { 160575 crt.Xstrncpy(nil, &_pcache1PinPageØ00__func__Ø000[0], str(139512), 15) 160576 } 160577 160578 func _pcache1FreePage(tls *crt.TLS, _p *XPgHdr1) { // sqlite3.c:45410:1 160579 var _pCache *XPCache1 // sqlite3.c:45411:11 160580 _ = _pCache 160581 func() int32 { 160582 if _p != (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) { 160583 return i32(0) 160584 } 160585 return func() int32 { 160586 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45412), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FreePageØ00__func__Ø000))), unsafe.Pointer(str(824))) 160587 crt.X__builtin_abort(tls) 160588 return i32(0) 160589 }() 160590 }() 160591 _pCache = (*XPCache1)(unsafe.Pointer(_p.X6)) 160592 func() int32 { 160593 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer((*XPCache1)(unsafe.Pointer(_p.X6)).X0)).X0))) != 0 { 160594 return i32(0) 160595 } 160596 return func() int32 { 160597 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45414), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FreePageØ00__func__Ø000))), unsafe.Pointer(str(139528))) 160598 crt.X__builtin_abort(tls) 160599 return i32(0) 160600 }() 160601 }() 160602 if (_p.X3) == 0 { 160603 goto _4 160604 } 160605 160606 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))))) = (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) 160607 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(52 /* X13 */))))) = _p 160608 goto _5 160609 160610 _4: 160611 _pcache1Free(tls, (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))).X0) 160612 _5: 160613 if (_pCache.X4) == 0 { 160614 goto _6 160615 } 160616 160617 *(*uint32)(unsafe.Pointer(uintptr(_pCache.X0) + uintptr(16 /* X4 */))) -= 1 160618 _6: 160619 return 160620 160621 } 160622 160623 var _pcache1FreePageØ00__func__Ø000 [16]int8 // - 160624 160625 func init() { 160626 crt.Xstrncpy(nil, &_pcache1FreePageØ00__func__Ø000[0], str(139576), 16) 160627 } 160628 160629 func _pcache1EnforceMaxPage(tls *crt.TLS, _pCache *XPCache1) { // sqlite3.c:45566:1 160630 var _pGroup *XPGroup // sqlite3.c:45567:10 160631 _ = _pGroup 160632 var _p *XPgHdr1 // sqlite3.c:45568:10 160633 _ = _p 160634 _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) 160635 func() int32 { 160636 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0))) != 0 { 160637 return i32(0) 160638 } 160639 return func() int32 { 160640 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45569), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1EnforceMaxPageØ00__func__Ø000))), unsafe.Pointer(str(139592))) 160641 crt.X__builtin_abort(tls) 160642 return i32(0) 160643 }() 160644 }() 160645 _2: 160646 if (_pGroup.X4) <= (_pGroup.X1) || int32(store7895078(&_p, (*XPgHdr1)(unsafe.Pointer((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */))).X8))).X4) != i32(0) { 160647 goto _3 160648 } 160649 160650 func() int32 { 160651 if (*XPGroup)(unsafe.Pointer((*XPCache1)(unsafe.Pointer(_p.X6)).X0)) == _pGroup { 160652 return i32(0) 160653 } 160654 return func() int32 { 160655 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45573), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1EnforceMaxPageØ00__func__Ø000))), unsafe.Pointer(str(139628))) 160656 crt.X__builtin_abort(tls) 160657 return i32(0) 160658 }() 160659 }() 160660 func() int32 { 160661 if int32(_p.X2) == i32(0) { 160662 return i32(0) 160663 } 160664 return func() int32 { 160665 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45574), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1EnforceMaxPageØ00__func__Ø000))), unsafe.Pointer(str(139656))) 160666 crt.X__builtin_abort(tls) 160667 return i32(0) 160668 }() 160669 }() 160670 _pcache1PinPage(tls, _p) 160671 _pcache1RemoveFromHash(tls, _p, i32(1)) 160672 goto _2 160673 160674 _3: 160675 if (_pCache.X10) != uint32(i32(0)) || (_pCache.X14) == nil { 160676 goto _10 160677 } 160678 160679 Xsqlite3_free(tls, _pCache.X14) 160680 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(56 /* X14 */))) = (unsafe.Pointer)(store7895078((**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache))+uintptr(52 /* X13 */))))), (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))))) 160681 _10: 160682 return 160683 160684 } 160685 160686 var _pcache1EnforceMaxPageØ00__func__Ø000 [22]int8 // - 160687 160688 func init() { 160689 crt.Xstrncpy(nil, &_pcache1EnforceMaxPageØ00__func__Ø000[0], str(139672), 22) 160690 } 160691 160692 func _pcache1RemoveFromHash(tls *crt.TLS, _pPage *XPgHdr1, _freeFlag int32) { // sqlite3.c:45548:1 160693 var _h uint32 // sqlite3.c:45549:16 160694 _ = _h 160695 var _pCache *XPCache1 // sqlite3.c:45550:11 160696 _ = _pCache 160697 var _pp **XPgHdr1 // sqlite3.c:45551:10 160698 _ = _pp 160699 _pCache = (*XPCache1)(unsafe.Pointer(_pPage.X6)) 160700 func() int32 { 160701 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { 160702 return i32(0) 160703 } 160704 return func() int32 { 160705 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45553), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1RemoveFromHashØ00__func__Ø000))), unsafe.Pointer(str(139232))) 160706 crt.X__builtin_abort(tls) 160707 return i32(0) 160708 }() 160709 }() 160710 _h = (_pPage.X1) % (_pCache.X11) 160711 _pp = (**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_h))) 160712 _2: 160713 if (*_pp) == _pPage { 160714 goto _5 160715 } 160716 160717 _pp = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(16 /* X5 */))))) 160718 goto _2 160719 160720 _5: 160721 *_pp = (*XPgHdr1)(unsafe.Pointer((*_pp).X5)) 160722 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(40 /* X10 */))) -= 1 160723 if _freeFlag == 0 { 160724 goto _6 160725 } 160726 160727 _pcache1FreePage(tls, _pPage) 160728 _6: 160729 return 160730 160731 } 160732 160733 var _pcache1RemoveFromHashØ00__func__Ø000 [22]int8 // - 160734 160735 func init() { 160736 crt.Xstrncpy(nil, &_pcache1RemoveFromHashØ00__func__Ø000[0], str(139696), 22) 160737 } 160738 160739 func _pcache1Cachesize(tls *crt.TLS, _p unsafe.Pointer, _nMax int32) { // sqlite3.c:45756:1 160740 var _pCache *XPCache1 // sqlite3.c:45757:11 160741 _ = _pCache 160742 var _1_pGroup *XPGroup // sqlite3.c:45759:12 160743 _ = _1_pGroup 160744 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 160745 if (_pCache.X4) == 0 { 160746 goto _0 160747 } 160748 160749 _1_pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) 160750 func() int32 { 160751 if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160752 return i32(0) 160753 } 160754 return func() int32 { 160755 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45760), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1CachesizeØ00__func__Ø000))), unsafe.Pointer(str(138964))) 160756 crt.X__builtin_abort(tls) 160757 return i32(0) 160758 }() 160759 }() 160760 { 160761 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(4 /* X1 */))) 160762 *p = (*p) + (uint32(_nMax) - (_pCache.X6)) 160763 sink985 = *p 160764 } 160765 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(12 /* X3 */))) = ((_1_pGroup.X1) + uint32(i32(10))) - (_1_pGroup.X2) 160766 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(24 /* X6 */))) = uint32(_nMax) 160767 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(28 /* X7 */))) = ((_pCache.X6) * uint32(i32(9))) / uint32(i32(10)) 160768 _pcache1EnforceMaxPage(tls, _pCache) 160769 func() int32 { 160770 if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160771 return i32(0) 160772 } 160773 return func() int32 { 160774 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45766), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1CachesizeØ00__func__Ø000))), unsafe.Pointer(str(138964))) 160775 crt.X__builtin_abort(tls) 160776 return i32(0) 160777 }() 160778 }() 160779 _0: 160780 return 160781 160782 } 160783 160784 var _pcache1CachesizeØ00__func__Ø000 [17]int8 // - 160785 160786 func init() { 160787 crt.Xstrncpy(nil, &_pcache1CachesizeØ00__func__Ø000[0], str(139720), 17) 160788 } 160789 160790 func _pcache1Pagecount(tls *crt.TLS, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:45792:1 160791 var _n int32 // sqlite3.c:45793:7 160792 _ = _n 160793 var _pCache *XPCache1 // sqlite3.c:45794:11 160794 _ = _pCache 160795 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 160796 func() int32 { 160797 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160798 return i32(0) 160799 } 160800 return func() int32 { 160801 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45795), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PagecountØ00__func__Ø000))), unsafe.Pointer(str(139740))) 160802 crt.X__builtin_abort(tls) 160803 return i32(0) 160804 }() 160805 }() 160806 _n = int32(_pCache.X10) 160807 func() int32 { 160808 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 160809 return i32(0) 160810 } 160811 return func() int32 { 160812 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45797), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1PagecountØ00__func__Ø000))), unsafe.Pointer(str(139740))) 160813 crt.X__builtin_abort(tls) 160814 return i32(0) 160815 }() 160816 }() 160817 r0 = _n 160818 return 160819 160820 } 160821 160822 var _pcache1PagecountØ00__func__Ø000 [17]int8 // - 160823 160824 func init() { 160825 crt.Xstrncpy(nil, &_pcache1PagecountØ00__func__Ø000[0], str(139768), 17) 160826 } 160827 160828 func _pcache1Fetch(tls *crt.TLS, _p unsafe.Pointer, _iKey uint32, _createFlag int32) (r0 *Xsqlite3_pcache_page) { // sqlite3.c:45983:1 160829 var _pCache *XPCache1 // sqlite3.c:45989:11 160830 _ = _pCache 160831 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 160832 i32(0) 160833 func() int32 { 160834 if (_pCache.X4) != 0 || (_createFlag != i32(1)) { 160835 return i32(0) 160836 } 160837 return func() int32 { 160838 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45993), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchØ00__func__Ø000))), unsafe.Pointer(str(139788))) 160839 crt.X__builtin_abort(tls) 160840 return i32(0) 160841 }() 160842 }() 160843 func() int32 { 160844 if (_pCache.X4) != 0 || ((_pCache.X5) == uint32(i32(0))) { 160845 return i32(0) 160846 } 160847 return func() int32 { 160848 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45994), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchØ00__func__Ø000))), unsafe.Pointer(str(139824))) 160849 crt.X__builtin_abort(tls) 160850 return i32(0) 160851 }() 160852 }() 160853 func() int32 { 160854 if ((_pCache.X4) == i32(0)) || ((_pCache.X5) == uint32(i32(10))) { 160855 return i32(0) 160856 } 160857 return func() int32 { 160858 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45995), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchØ00__func__Ø000))), unsafe.Pointer(str(139864))) 160859 crt.X__builtin_abort(tls) 160860 return i32(0) 160861 }() 160862 }() 160863 func() int32 { 160864 if ((_pCache.X5) == uint32(i32(0))) || (_pCache.X4) != 0 { 160865 return i32(0) 160866 } 160867 return func() int32 { 160868 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45996), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchØ00__func__Ø000))), unsafe.Pointer(str(139908))) 160869 crt.X__builtin_abort(tls) 160870 return i32(0) 160871 }() 160872 }() 160873 func() int32 { 160874 if (_pCache.X11) > uint32(i32(0)) { 160875 return i32(0) 160876 } 160877 return func() int32 { 160878 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45997), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchØ00__func__Ø000))), unsafe.Pointer(str(139948))) 160879 crt.X__builtin_abort(tls) 160880 return i32(0) 160881 }() 160882 }() 160883 r0 = (*Xsqlite3_pcache_page)(unsafe.Pointer(_pcache1FetchNoMutex(tls, _p, _iKey, _createFlag))) 160884 return 160885 160886 } 160887 160888 var _pcache1FetchØ00__func__Ø000 [13]int8 // - 160889 160890 func init() { 160891 crt.Xstrncpy(nil, &_pcache1FetchØ00__func__Ø000[0], str(139964), 13) 160892 } 160893 160894 func _pcache1FetchNoMutex(tls *crt.TLS, _p unsafe.Pointer, _iKey uint32, _createFlag int32) (r0 *XPgHdr1) { // sqlite3.c:45938:1 160895 var _pCache *XPCache1 // sqlite3.c:45943:11 160896 _ = _pCache 160897 var _pPage *XPgHdr1 // sqlite3.c:45944:10 160898 _ = _pPage 160899 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 160900 _pPage = nil 160901 _pPage = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_iKey%(_pCache.X11)))) 160902 _0: 160903 if _pPage == nil || (_pPage.X1) == _iKey { 160904 goto _1 160905 } 160906 160907 _pPage = (*XPgHdr1)(unsafe.Pointer(_pPage.X5)) 160908 goto _0 160909 160910 _1: 160911 if _pPage == nil { 160912 goto _3 160913 } 160914 160915 if (_pPage.X2) != 0 { 160916 goto _4 160917 } 160918 160919 r0 = _pcache1PinPage(tls, _pPage) 160920 return 160921 160922 _4: 160923 r0 = _pPage 160924 return 160925 160926 _3: 160927 if _createFlag == 0 { 160928 goto _7 160929 } 160930 160931 r0 = _pcache1FetchStage2(tls, _pCache, _iKey, _createFlag) 160932 return 160933 160934 _7: 160935 r0 = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 160936 return 160937 160938 } 160939 160940 func _pcache1FetchStage2(tls *crt.TLS, _pCache *XPCache1, _iKey uint32, _createFlag int32) (r0 *XPgHdr1) { // sqlite3.c:45810:1 160941 var _nPinned uint32 // sqlite3.c:45815:16 160942 _ = _nPinned 160943 var _pGroup *XPGroup // sqlite3.c:45816:10 160944 _ = _pGroup 160945 var _pPage *XPgHdr1 // sqlite3.c:45817:10 160946 _ = _pPage 160947 var _2_pOther *XPCache1 // sqlite3.c:45840:13 160948 _ = _2_pOther 160949 var _6_h uint32 // sqlite3.c:45862:18 160950 _ = _6_h 160951 _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) 160952 _pPage = nil 160953 func() int32 { 160954 if (_pCache.X10) >= (_pCache.X9) { 160955 return i32(0) 160956 } 160957 return func() int32 { 160958 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45820), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchStage2Ø00__func__Ø000))), unsafe.Pointer(str(139980))) 160959 crt.X__builtin_abort(tls) 160960 return i32(0) 160961 }() 160962 }() 160963 _nPinned = (_pCache.X10) - (_pCache.X9) 160964 func() int32 { 160965 if (_pGroup.X3) == (((_pGroup.X1) + uint32(i32(10))) - (_pGroup.X2)) { 160966 return i32(0) 160967 } 160968 return func() int32 { 160969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45822), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchStage2Ø00__func__Ø000))), unsafe.Pointer(str(140020))) 160970 crt.X__builtin_abort(tls) 160971 return i32(0) 160972 }() 160973 }() 160974 func() int32 { 160975 if (_pCache.X7) == (((_pCache.X6) * uint32(i32(9))) / uint32(i32(10))) { 160976 return i32(0) 160977 } 160978 return func() int32 { 160979 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45823), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchStage2Ø00__func__Ø000))), unsafe.Pointer(str(140084))) 160980 crt.X__builtin_abort(tls) 160981 return i32(0) 160982 }() 160983 }() 160984 if _createFlag != i32(1) || _nPinned < (_pGroup.X3) && _nPinned < (_pCache.X7) && (_pcache1UnderMemoryPressure(tls, _pCache) == 0 || (_pCache.X9) >= _nPinned) { 160985 goto _10 160986 } 160987 160988 r0 = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 160989 return 160990 160991 _10: 160992 if (_pCache.X10) < (_pCache.X11) { 160993 goto _11 160994 } 160995 160996 _pcache1ResizeHash(tls, _pCache) 160997 _11: 160998 func() int32 { 160999 if ((_pCache.X11) > uint32(i32(0))) && ((**XPgHdr1)(unsafe.Pointer(_pCache.X12)) != nil) { 161000 return i32(0) 161001 } 161002 return func() int32 { 161003 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45833), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchStage2Ø00__func__Ø000))), unsafe.Pointer(str(140120))) 161004 crt.X__builtin_abort(tls) 161005 return i32(0) 161006 }() 161007 }() 161008 if (_pCache.X4) == 0 || ((*XPgHdr1)(unsafe.Pointer((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */))).X8)).X4) != 0 || ((_pCache.X10)+uint32(i32(1))) < (_pCache.X6) && _pcache1UnderMemoryPressure(tls, _pCache) == 0 { 161009 goto _18 161010 } 161011 161012 _pPage = (*XPgHdr1)(unsafe.Pointer((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(20 /* X5 */))).X8)) 161013 func() int32 { 161014 if int32(_pPage.X2) == i32(0) { 161015 return i32(0) 161016 } 161017 return func() int32 { 161018 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45842), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1FetchStage2Ø00__func__Ø000))), unsafe.Pointer(str(139408))) 161019 crt.X__builtin_abort(tls) 161020 return i32(0) 161021 }() 161022 }() 161023 _pcache1RemoveFromHash(tls, _pPage, i32(0)) 161024 _pcache1PinPage(tls, _pPage) 161025 _2_pOther = (*XPCache1)(unsafe.Pointer(_pPage.X6)) 161026 if (_2_pOther.X3) == (_pCache.X3) { 161027 goto _21 161028 } 161029 161030 _pcache1FreePage(tls, _pPage) 161031 _pPage = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 161032 goto _22 161033 161034 _21: 161035 { 161036 p := (*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(16 /* X4 */))) 161037 *p = (*p) - uint32((_2_pOther.X4)-(_pCache.X4)) 161038 sink985 = *p 161039 } 161040 _22: 161041 _18: 161042 if _pPage != nil { 161043 goto _23 161044 } 161045 161046 _pPage = _pcache1AllocPage(tls, _pCache, bool2int(_createFlag == i32(1))) 161047 _23: 161048 if _pPage == nil { 161049 goto _24 161050 } 161051 161052 _6_h = _iKey % (_pCache.X11) 161053 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(40 /* X10 */))) += 1 161054 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(8 /* X1 */))) = _iKey 161055 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X5 */))))) = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_6_h))) 161056 *(**XPCache1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(20 /* X6 */))))) = _pCache 161057 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(28 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 161058 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(24 /* X7 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 161059 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X2 */))) = uint8(i32(1)) 161060 *(*unsafe.Pointer)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(0 /* X0 */))).X1)) = (unsafe.Pointer)(uintptr(i32(0))) 161061 *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_6_h))) = _pPage 161062 if _iKey <= (_pCache.X8) { 161063 goto _25 161064 } 161065 161066 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(32 /* X8 */))) = _iKey 161067 _25: 161068 _24: 161069 r0 = _pPage 161070 return 161071 161072 } 161073 161074 var _pcache1FetchStage2Ø00__func__Ø000 [19]int8 // - 161075 161076 func init() { 161077 crt.Xstrncpy(nil, &_pcache1FetchStage2Ø00__func__Ø000[0], str(140156), 19) 161078 } 161079 161080 func _pcache1UnderMemoryPressure(tls *crt.TLS, _pCache *XPCache1) (r0 int32) { // sqlite3.c:45462:1 161081 if (_pcache1_g.X5) == 0 || ((_pCache.X1)+(_pCache.X2)) > (_pcache1_g.X4) { 161082 goto _1 161083 } 161084 161085 r0 = _pcache1_g.X12 161086 return 161087 161088 _1: 161089 r0 = _sqlite3HeapNearlyFull(tls) 161090 return 161091 161092 } 161093 161094 func _pcache1AllocPage(tls *crt.TLS, _pCache *XPCache1, _benignMalloc int32) (r0 *XPgHdr1) { // sqlite3.c:45360:1 161095 var _p *XPgHdr1 // sqlite3.c:45361:10 161096 _ = _p 161097 var _pPg unsafe.Pointer // sqlite3.c:45362:8 161098 _ = _pPg 161099 _p = nil 161100 func() int32 { 161101 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0))) != 0 { 161102 return i32(0) 161103 } 161104 return func() int32 { 161105 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45364), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1AllocPageØ00__func__Ø000))), unsafe.Pointer(str(139232))) 161106 crt.X__builtin_abort(tls) 161107 return i32(0) 161108 }() 161109 }() 161110 if (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) == nil && ((_pCache.X10) != uint32(i32(0)) || _pcache1InitBulk(tls, _pCache) == 0) { 161111 goto _4 161112 } 161113 161114 _p = (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) 161115 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(52 /* X13 */))))) = (*XPgHdr1)(unsafe.Pointer(_p.X5)) 161116 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(16 /* X5 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 161117 goto _5 161118 161119 _4: 161120 if _benignMalloc == 0 { 161121 goto _6 161122 } 161123 161124 _sqlite3BeginBenignMalloc(tls) 161125 _6: 161126 _pPg = _pcache1Alloc(tls, _pCache.X3) 161127 _p = (*XPgHdr1)(unsafe.Pointer((*uint8)(unsafe.Pointer(uintptr(_pPg) + 1*uintptr(_pCache.X1))))) 161128 if _benignMalloc == 0 { 161129 goto _7 161130 } 161131 161132 _sqlite3EndBenignMalloc(tls) 161133 _7: 161134 if unsafe.Pointer(_pPg) != (unsafe.Pointer)(uintptr(i32(0))) { 161135 goto _8 161136 } 161137 161138 r0 = (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0)))) 161139 return 161140 161141 _8: 161142 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))))) + uintptr(0 /* X0 */))) = _pPg 161143 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(0 /* X0 */))))) + uintptr(4 /* X1 */))) = (unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + 32*uintptr(i32(1))))) 161144 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(13 /* X3 */))) = uint8(i32(0)) 161145 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(14 /* X4 */))) = uint8(i32(0)) 161146 _5: 161147 if (_pCache.X4) == 0 { 161148 goto _9 161149 } 161150 161151 *(*uint32)(unsafe.Pointer(uintptr(_pCache.X0) + uintptr(16 /* X4 */))) += 1 161152 _9: 161153 r0 = _p 161154 return 161155 161156 } 161157 161158 var _pcache1AllocPageØ00__func__Ø000 [17]int8 // - 161159 161160 func init() { 161161 crt.Xstrncpy(nil, &_pcache1AllocPageØ00__func__Ø000[0], str(140176), 17) 161162 } 161163 161164 func _pcache1InitBulk(tls *crt.TLS, _pCache *XPCache1) (r0 int32) { // sqlite3.c:45229:1 161165 var _szBulk int64 // sqlite3.c:45230:7 161166 _ = _szBulk 161167 var _zBulk *int8 // sqlite3.c:45231:8 161168 _ = _zBulk 161169 var _4_nBulk int32 // sqlite3.c:45247:9 161170 _ = _4_nBulk 161171 var _4_i int32 // sqlite3.c:45248:9 161172 _ = _4_i 161173 var _5_pX *XPgHdr1 // sqlite3.c:45250:14 161174 _ = _5_pX 161175 if (_pcache1_g.X3) != i32(0) { 161176 goto _0 161177 } 161178 161179 r0 = i32(0) 161180 return 161181 161182 _0: 161183 if (_pCache.X6) >= uint32(i32(3)) { 161184 goto _1 161185 } 161186 161187 r0 = i32(0) 161188 return 161189 161190 _1: 161191 _sqlite3BeginBenignMalloc(tls) 161192 if (_pcache1_g.X3) <= i32(0) { 161193 goto _2 161194 } 161195 161196 _szBulk = int64(_pCache.X3) * int64(_pcache1_g.X3) 161197 goto _3 161198 161199 _2: 161200 _szBulk = int64(i32(-1024)) * int64(_pcache1_g.X3) 161201 _3: 161202 if _szBulk <= (int64(_pCache.X3) * int64(_pCache.X6)) { 161203 goto _4 161204 } 161205 161206 _szBulk = int64(_pCache.X3) * int64(_pCache.X6) 161207 _4: 161208 _zBulk = (*int8)(unsafe.Pointer(store1008((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache))+uintptr(56 /* X14 */))), _sqlite3Malloc(tls, uint64(_szBulk))))) 161209 _sqlite3EndBenignMalloc(tls) 161210 if _zBulk == nil { 161211 goto _5 161212 } 161213 161214 _4_nBulk = _sqlite3MallocSize(tls, (unsafe.Pointer)(_zBulk)) / (_pCache.X3) 161215 _4_i = i32(0) 161216 _6: 161217 if _4_i >= _4_nBulk { 161218 goto _9 161219 } 161220 161221 _5_pX = (*XPgHdr1)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBulk)) + 1*uintptr(_pCache.X1))))) 161222 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX))+uintptr(0 /* X0 */))))) + uintptr(0 /* X0 */))) = (unsafe.Pointer)(_zBulk) 161223 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX))+uintptr(0 /* X0 */))))) + uintptr(4 /* X1 */))) = (unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + 32*uintptr(i32(1))))) 161224 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + uintptr(13 /* X3 */))) = uint8(i32(1)) 161225 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + uintptr(14 /* X4 */))) = uint8(i32(0)) 161226 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_5_pX)) + uintptr(16 /* X5 */))))) = (*XPgHdr1)(unsafe.Pointer(_pCache.X13)) 161227 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(52 /* X13 */))))) = _5_pX 161228 { 161229 p := &_zBulk 161230 *p = (*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_pCache.X3))) 161231 sink1025 = *p 161232 } 161233 _4_i += 1 161234 goto _6 161235 161236 _9: 161237 _5: 161238 r0 = bool2int((*XPgHdr1)(unsafe.Pointer(_pCache.X13)) != (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0))))) 161239 return 161240 161241 } 161242 161243 func _pcache1Unpin(tls *crt.TLS, _p unsafe.Pointer, _pPg *Xsqlite3_pcache_page, _reuseUnlikely int32) { // sqlite3.c:46014:1 161244 var _pCache *XPCache1 // sqlite3.c:46019:11 161245 _ = _pCache 161246 var _pPage *XPgHdr1 // sqlite3.c:46020:10 161247 _ = _pPage 161248 var _pGroup *XPGroup // sqlite3.c:46021:10 161249 _ = _pGroup 161250 var _2_ppFirst **XPgHdr1 // sqlite3.c:46036:12 161251 _ = _2_ppFirst 161252 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 161253 _pPage = (*XPgHdr1)(unsafe.Pointer(_pPg)) 161254 _pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) 161255 func() int32 { 161256 if (*XPCache1)(unsafe.Pointer(_pPage.X6)) == _pCache { 161257 return i32(0) 161258 } 161259 return func() int32 { 161260 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46023), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1UnpinØ00__func__Ø000))), unsafe.Pointer(str(140196))) 161261 crt.X__builtin_abort(tls) 161262 return i32(0) 161263 }() 161264 }() 161265 func() int32 { 161266 if (*Xsqlite3_mutex)(unsafe.Pointer(_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161267 return i32(0) 161268 } 161269 return func() int32 { 161270 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46024), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1UnpinØ00__func__Ø000))), unsafe.Pointer(str(138964))) 161271 crt.X__builtin_abort(tls) 161272 return i32(0) 161273 }() 161274 }() 161275 func() int32 { 161276 if ((*XPgHdr1)(unsafe.Pointer(_pPage.X8)) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0))))) && ((*XPgHdr1)(unsafe.Pointer(_pPage.X7)) == (*XPgHdr1)(unsafe.Pointer(uintptr(i32(0))))) { 161277 return i32(0) 161278 } 161279 return func() int32 { 161280 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46029), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1UnpinØ00__func__Ø000))), unsafe.Pointer(str(140220))) 161281 crt.X__builtin_abort(tls) 161282 return i32(0) 161283 }() 161284 }() 161285 func() int32 { 161286 if int32(_pPage.X2) == i32(1) { 161287 return i32(0) 161288 } 161289 return func() int32 { 161290 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46030), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1UnpinØ00__func__Ø000))), unsafe.Pointer(str(140264))) 161291 crt.X__builtin_abort(tls) 161292 return i32(0) 161293 }() 161294 }() 161295 if _reuseUnlikely == 0 && (_pGroup.X4) <= (_pGroup.X1) { 161296 goto _10 161297 } 161298 161299 _pcache1RemoveFromHash(tls, _pPage, i32(1)) 161300 goto _11 161301 161302 _10: 161303 _2_ppFirst = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup))+uintptr(20 /* X5 */))))) + uintptr(24 /* X7 */))))) 161304 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(28 /* X8 */))))) = (*XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pGroup)) + uintptr(20 /* X5 */))) 161305 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(store7895078((**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage))+uintptr(24 /* X7 */))))), *_2_ppFirst))) + uintptr(28 /* X8 */))))) = _pPage 161306 *_2_ppFirst = _pPage 161307 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(36 /* X9 */))) += 1 161308 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(12 /* X2 */))) = uint8(i32(0)) 161309 _11: 161310 func() int32 { 161311 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161312 return i32(0) 161313 } 161314 return func() int32 { 161315 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46044), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1UnpinØ00__func__Ø000))), unsafe.Pointer(str(139740))) 161316 crt.X__builtin_abort(tls) 161317 return i32(0) 161318 }() 161319 }() 161320 return 161321 161322 } 161323 161324 var _pcache1UnpinØ00__func__Ø000 [13]int8 // - 161325 161326 func init() { 161327 crt.Xstrncpy(nil, &_pcache1UnpinØ00__func__Ø000[0], str(140284), 13) 161328 } 161329 161330 func _pcache1Rekey(tls *crt.TLS, _p unsafe.Pointer, _pPg *Xsqlite3_pcache_page, _iOld uint32, _iNew uint32) { // sqlite3.c:46050:1 161331 var _pCache *XPCache1 // sqlite3.c:46056:11 161332 _ = _pCache 161333 var _pPage *XPgHdr1 // sqlite3.c:46057:10 161334 _ = _pPage 161335 var _pp **XPgHdr1 // sqlite3.c:46058:10 161336 _ = _pp 161337 var _h uint32 // sqlite3.c:46059:16 161338 _ = _h 161339 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 161340 _pPage = (*XPgHdr1)(unsafe.Pointer(_pPg)) 161341 func() int32 { 161342 if (_pPage.X1) == _iOld { 161343 return i32(0) 161344 } 161345 return func() int32 { 161346 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46060), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1RekeyØ00__func__Ø000))), unsafe.Pointer(str(140300))) 161347 crt.X__builtin_abort(tls) 161348 return i32(0) 161349 }() 161350 }() 161351 func() int32 { 161352 if (*XPCache1)(unsafe.Pointer(_pPage.X6)) == _pCache { 161353 return i32(0) 161354 } 161355 return func() int32 { 161356 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46061), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1RekeyØ00__func__Ø000))), unsafe.Pointer(str(140196))) 161357 crt.X__builtin_abort(tls) 161358 return i32(0) 161359 }() 161360 }() 161361 func() int32 { 161362 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161363 return i32(0) 161364 } 161365 return func() int32 { 161366 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46063), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1RekeyØ00__func__Ø000))), unsafe.Pointer(str(139740))) 161367 crt.X__builtin_abort(tls) 161368 return i32(0) 161369 }() 161370 }() 161371 _h = _iOld % (_pCache.X11) 161372 _pp = (**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_h))) 161373 _6: 161374 if (*_pp) == _pPage { 161375 goto _7 161376 } 161377 161378 _pp = (**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(16 /* X5 */))))) 161379 goto _6 161380 161381 _7: 161382 *_pp = (*XPgHdr1)(unsafe.Pointer(_pPage.X5)) 161383 _h = _iNew % (_pCache.X11) 161384 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(8 /* X1 */))) = _iNew 161385 *(**XPgHdr1)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pPage)) + uintptr(16 /* X5 */))))) = *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_h))) 161386 *(**XPgHdr1)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache.X12)) + 4*uintptr(_h))) = _pPage 161387 if _iNew <= (_pCache.X8) { 161388 goto _8 161389 } 161390 161391 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(32 /* X8 */))) = _iNew 161392 _8: 161393 func() int32 { 161394 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161395 return i32(0) 161396 } 161397 return func() int32 { 161398 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46080), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1RekeyØ00__func__Ø000))), unsafe.Pointer(str(139740))) 161399 crt.X__builtin_abort(tls) 161400 return i32(0) 161401 }() 161402 }() 161403 return 161404 161405 } 161406 161407 var _pcache1RekeyØ00__func__Ø000 [13]int8 // - 161408 161409 func init() { 161410 crt.Xstrncpy(nil, &_pcache1RekeyØ00__func__Ø000[0], str(140320), 13) 161411 } 161412 161413 func _pcache1Truncate(tls *crt.TLS, _p unsafe.Pointer, _iLimit uint32) { // sqlite3.c:46090:1 161414 var _pCache *XPCache1 // sqlite3.c:46091:11 161415 _ = _pCache 161416 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 161417 func() int32 { 161418 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161419 return i32(0) 161420 } 161421 return func() int32 { 161422 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46092), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateØ00__func__Ø000))), unsafe.Pointer(str(139740))) 161423 crt.X__builtin_abort(tls) 161424 return i32(0) 161425 }() 161426 }() 161427 if _iLimit > (_pCache.X8) { 161428 goto _2 161429 } 161430 161431 _pcache1TruncateUnsafe(tls, _pCache, _iLimit) 161432 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pCache)) + uintptr(32 /* X8 */))) = _iLimit - uint32(i32(1)) 161433 _2: 161434 func() int32 { 161435 if (*Xsqlite3_mutex)(unsafe.Pointer((*XPGroup)(unsafe.Pointer(_pCache.X0)).X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161436 return i32(0) 161437 } 161438 return func() int32 { 161439 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(46097), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1TruncateØ00__func__Ø000))), unsafe.Pointer(str(139740))) 161440 crt.X__builtin_abort(tls) 161441 return i32(0) 161442 }() 161443 }() 161444 return 161445 161446 } 161447 161448 var _pcache1TruncateØ00__func__Ø000 [16]int8 // - 161449 161450 func init() { 161451 crt.Xstrncpy(nil, &_pcache1TruncateØ00__func__Ø000[0], str(140336), 16) 161452 } 161453 161454 func _pcache1Shrink(tls *crt.TLS, _p unsafe.Pointer) { // sqlite3.c:45775:1 161455 var _pCache *XPCache1 // sqlite3.c:45776:11 161456 _ = _pCache 161457 var _1_pGroup *XPGroup // sqlite3.c:45778:12 161458 _ = _1_pGroup 161459 var _1_savedMaxPage int32 // sqlite3.c:45779:9 161460 _ = _1_savedMaxPage 161461 _pCache = (*XPCache1)(unsafe.Pointer(_p)) 161462 if (_pCache.X4) == 0 { 161463 goto _0 161464 } 161465 161466 _1_pGroup = (*XPGroup)(unsafe.Pointer(_pCache.X0)) 161467 func() int32 { 161468 if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161469 return i32(0) 161470 } 161471 return func() int32 { 161472 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45780), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1ShrinkØ00__func__Ø000))), unsafe.Pointer(str(138964))) 161473 crt.X__builtin_abort(tls) 161474 return i32(0) 161475 }() 161476 }() 161477 _1_savedMaxPage = int32(_1_pGroup.X1) 161478 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(4 /* X1 */))) = uint32(i32(0)) 161479 _pcache1EnforceMaxPage(tls, _pCache) 161480 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_pGroup)) + uintptr(4 /* X1 */))) = uint32(_1_savedMaxPage) 161481 func() int32 { 161482 if (*Xsqlite3_mutex)(unsafe.Pointer(_1_pGroup.X0)) == (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 161483 return i32(0) 161484 } 161485 return func() int32 { 161486 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(45785), unsafe.Pointer((*int8)(unsafe.Pointer(&_pcache1ShrinkØ00__func__Ø000))), unsafe.Pointer(str(138964))) 161487 crt.X__builtin_abort(tls) 161488 return i32(0) 161489 }() 161490 }() 161491 _0: 161492 return 161493 161494 } 161495 161496 var _pcache1ShrinkØ00__func__Ø000 [14]int8 // - 161497 161498 func init() { 161499 crt.Xstrncpy(nil, &_pcache1ShrinkØ00__func__Ø000[0], str(140352), 14) 161500 } 161501 161502 func _sqlite3OsInit(tls *crt.TLS) (r0 int32) { // sqlite3.c:20367:1 161503 var _p unsafe.Pointer // sqlite3.c:20368:8 161504 _ = _p 161505 _p = Xsqlite3_malloc(tls, i32(10)) 161506 if unsafe.Pointer(_p) != (unsafe.Pointer)(uintptr(i32(0))) { 161507 goto _0 161508 } 161509 161510 r0 = _sqlite3NomemError(tls, i32(20369)) 161511 return 161512 161513 _0: 161514 Xsqlite3_free(tls, _p) 161515 r0 = Xsqlite3_os_init(tls) 161516 return 161517 161518 } 161519 161520 func Xsqlite3_os_init(tls *crt.TLS) (r0 int32) { // sqlite3.c:43520:12 161521 i32(0) 161522 crt.Xmemset(tls, (unsafe.Pointer)(&_winSysInfo), i32(0), u32(36)) 161523 (*(*func(*crt.TLS, *crt.XSYSTEM_INFO))(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(28)))).X1)})))(tls, &_winSysInfo) 161524 func() int32 { 161525 if (_winSysInfo.X7) > uint32(i32(0)) { 161526 return i32(0) 161527 } 161528 return func() int32 { 161529 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43633), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_os_initØ00__func__Ø000))), unsafe.Pointer(str(140368))) 161530 crt.X__builtin_abort(tls) 161531 return i32(0) 161532 }() 161533 }() 161534 func() int32 { 161535 if (_winSysInfo.X1) > uint32(i32(0)) { 161536 return i32(0) 161537 } 161538 return func() int32 { 161539 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43634), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3_os_initØ00__func__Ø000))), unsafe.Pointer(str(140408))) 161540 crt.X__builtin_abort(tls) 161541 return i32(0) 161542 }() 161543 }() 161544 Xsqlite3_vfs_register(tls, &_sqlite3_os_initØ00winVfsØ001, i32(1)) 161545 Xsqlite3_vfs_register(tls, &_sqlite3_os_initØ00winLongPathVfsØ002, i32(0)) 161546 Xsqlite3_vfs_register(tls, &_sqlite3_os_initØ00winNolockVfsØ003, i32(0)) 161547 Xsqlite3_vfs_register(tls, &_sqlite3_os_initØ00winLongPathNolockVfsØ004, i32(0)) 161548 r0 = i32(0) 161549 return 161550 161551 } 161552 161553 var _winSysInfo crt.XSYSTEM_INFO // sqlite3.c:41269:20 161554 161555 var _sqlite3_os_initØ00__func__Ø000 [16]int8 // - 161556 161557 func init() { 161558 crt.Xstrncpy(nil, &_sqlite3_os_initØ00__func__Ø000[0], str(140432), 16) 161559 } 161560 161561 var _sqlite3_os_initØ00winVfsØ001 Xsqlite3_vfs // sqlite3.c:43521:22 161562 161563 func init() { 161564 _sqlite3_os_initØ00winVfsØ001 = Xsqlite3_vfs{X0: i32(3), X1: i32(72), X2: i32(1040), X3: nil, X4: str(140448), X5: unsafe.Pointer(&_winAppData), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { 161565 f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 161566 }{_winOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { 161567 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 161568 }{_winDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { 161569 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 161570 }{_winAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { 161571 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 161572 }{_winFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 161573 f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer 161574 }{_winDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { 161575 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) 161576 }{_winDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 161577 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) 161578 }{_winDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { 161579 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) 161580 }{_winDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 161581 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 161582 }{_winRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 161583 f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 161584 }{_winSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { 161585 f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 161586 }{_winCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 161587 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 161588 }{_winGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 161589 f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 161590 }{_winCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { 161591 f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 161592 }{_winSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 161593 f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) 161594 }{_winGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { 161595 f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 161596 }{_winNextSystemCall}))} 161597 } 161598 161599 var _winAppData XwinVfsAppData // sqlite3.c:42194:22 161600 161601 func init() { 161602 _winAppData = XwinVfsAppData{X0: unsafe.Pointer(&_winIoMethod), X1: nil, X2: i32(0)} 161603 } 161604 161605 var _winIoMethod Xsqlite3_io_methods // sqlite3.c:42146:33 161606 161607 func init() { 161608 _winIoMethod = Xsqlite3_io_methods{X0: i32(3), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161609 f func(*crt.TLS, *Xsqlite3_file) int32 161610 }{_winClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 161611 f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 161612 }{_winRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 161613 f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 161614 }{_winWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { 161615 f func(*crt.TLS, *Xsqlite3_file, int64) int32 161616 }{_winTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 161617 f func(*crt.TLS, *Xsqlite3_file, int32) int32 161618 }{_winSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 161619 f func(*crt.TLS, *Xsqlite3_file, *int64) int32 161620 }{_winFileSize})), X7: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 161621 f func(*crt.TLS, *Xsqlite3_file, int32) int32 161622 }{_winLock})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 161623 f func(*crt.TLS, *Xsqlite3_file, int32) int32 161624 }{_winUnlock})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer(&struct { 161625 f func(*crt.TLS, *Xsqlite3_file, *int32) int32 161626 }{_winCheckReservedLock})), X10: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161627 f func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32 161628 }{_winFileControl})), X11: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161629 f func(*crt.TLS, *Xsqlite3_file) int32 161630 }{_winSectorSize})), X12: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161631 f func(*crt.TLS, *Xsqlite3_file) int32 161632 }{_winDeviceCharacteristics})), X13: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161633 f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 161634 }{_winShmMap})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32)(unsafe.Pointer(&struct { 161635 f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32 161636 }{_winShmLock})), X15: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 161637 f func(*crt.TLS, *Xsqlite3_file) 161638 }{_winShmBarrier})), X16: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 161639 f func(*crt.TLS, *Xsqlite3_file, int32) int32 161640 }{_winShmUnmap})), X17: *(*func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161641 f func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32 161642 }{_winFetch})), X18: *(*func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 161643 f func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32 161644 }{_winUnfetch}))} 161645 } 161646 161647 func _winClose(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:40301:1 161648 var _rc int32 // sqlite3.c:40302:7 161649 _ = _rc 161650 var _cnt int32 // sqlite3.c:40302:11 161651 _ = _cnt 161652 var _pFile *XwinFile // sqlite3.c:40303:11 161653 _ = _pFile 161654 _cnt = i32(0) 161655 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 161656 func() int32 { 161657 if _id != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 161658 return i32(0) 161659 } 161660 return func() int32 { 161661 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40305), unsafe.Pointer((*int8)(unsafe.Pointer(&_winCloseØ00__func__Ø000))), unsafe.Pointer(str(140456))) 161662 crt.X__builtin_abort(tls) 161663 return i32(0) 161664 }() 161665 }() 161666 func() int32 { 161667 if (*XwinShm)(unsafe.Pointer(_pFile.X7)) == (*XwinShm)(unsafe.Pointer(uintptr(i32(0)))) { 161668 return i32(0) 161669 } 161670 return func() int32 { 161671 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40307), unsafe.Pointer((*int8)(unsafe.Pointer(&_winCloseØ00__func__Ø000))), unsafe.Pointer(str(140464))) 161672 crt.X__builtin_abort(tls) 161673 return i32(0) 161674 }() 161675 }() 161676 func() int32 { 161677 if ((_pFile.X2) != nil) && ((_pFile.X2) != (unsafe.Pointer)(uintptr(u32(4294967295)))) { 161678 return i32(0) 161679 } 161680 return func() int32 { 161681 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40309), unsafe.Pointer((*int8)(unsafe.Pointer(&_winCloseØ00__func__Ø000))), unsafe.Pointer(str(140480))) 161682 crt.X__builtin_abort(tls) 161683 return i32(0) 161684 }() 161685 }() 161686 _winUnmapfile(tls, _pFile) 161687 _7: 161688 _rc = (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(3)))).X1)})))(tls, _pFile.X2) 161689 if ((_rc == i32(0)) && (preInc961(&_cnt, 1) < i32(3))) && func() int32 { Xsqlite3_win32_sleep(tls, uint32(i32(100))); return i32(1) }() != 0 { 161690 goto _7 161691 } 161692 161693 if _rc == 0 { 161694 goto _10 161695 } 161696 161697 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(8 /* X2 */))) = nil 161698 _10: 161699 r0 = func() int32 { 161700 if _rc != 0 { 161701 return i32(0) 161702 } 161703 return _winLogErrorAtLine(tls, i32(4106), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(140532), _pFile.X8, i32(40348)) 161704 }() 161705 return 161706 161707 } 161708 161709 var _winCloseØ00__func__Ø000 [9]int8 // - 161710 161711 func init() { 161712 crt.Xstrncpy(nil, &_winCloseØ00__func__Ø000[0], str(140532), 9) 161713 } 161714 161715 func _winUnmapfile(tls *crt.TLS, _pFile *XwinFile) (r0 int32) { // sqlite3.c:41913:1 161716 func() int32 { 161717 if _pFile != (*XwinFile)(unsafe.Pointer(uintptr(i32(0)))) { 161718 return i32(0) 161719 } 161720 return func() int32 { 161721 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41914), unsafe.Pointer((*int8)(unsafe.Pointer(&_winUnmapfileØ00__func__Ø000))), unsafe.Pointer(str(140544))) 161722 crt.X__builtin_abort(tls) 161723 return i32(0) 161724 }() 161725 }() 161726 if (_pFile.X12) == nil { 161727 goto _2 161728 } 161729 161730 if (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(59)))).X1)})))(tls, _pFile.X12) != 0 { 161731 goto _3 161732 } 161733 161734 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 161735 r0 = _winLogErrorAtLine(tls, i32(6154), _pFile.X6, str(140556), _pFile.X8, i32(41925)) 161736 return 161737 161738 _3: 161739 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(44 /* X12 */))) = (unsafe.Pointer)(uintptr(i32(0))) 161740 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(48 /* X13 */))) = int64(i32(0)) 161741 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(56 /* X14 */))) = int64(i32(0)) 161742 _2: 161743 if (_pFile.X11) == nil { 161744 goto _4 161745 } 161746 161747 if (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(3)))).X1)})))(tls, _pFile.X11) != 0 { 161748 goto _5 161749 } 161750 161751 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 161752 r0 = _winLogErrorAtLine(tls, i32(6154), _pFile.X6, str(140572), _pFile.X8, i32(41937)) 161753 return 161754 161755 _5: 161756 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(40 /* X11 */))) = nil 161757 _4: 161758 r0 = i32(0) 161759 return 161760 161761 } 161762 161763 var _winUnmapfileØ00__func__Ø000 [13]int8 // - 161764 161765 func init() { 161766 crt.Xstrncpy(nil, &_winUnmapfileØ00__func__Ø000[0], str(140588), 13) 161767 } 161768 161769 func _winLogErrorAtLine(tls *crt.TLS, _errcode int32, _lastErrno uint32, _zFunc *int8, _zPath *int8, _iLine int32) (r0 int32) { // sqlite3.c:39722:1 161770 var _zMsg [500]int8 // sqlite3.c:39729:8 161771 _ = _zMsg 161772 var _i int32 // sqlite3.c:39730:7 161773 _ = _i 161774 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zMsg)) + 1*uintptr(i32(0)))) = int8(i32(0)) 161775 _winGetLastErrorMsg(tls, _lastErrno, int32(u32(500)), (*int8)(unsafe.Pointer(&_zMsg))) 161776 func() int32 { 161777 if _errcode != i32(0) { 161778 return i32(0) 161779 } 161780 return func() int32 { 161781 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(39734), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLogErrorAtLineØ00__func__Ø000))), unsafe.Pointer(str(140604))) 161782 crt.X__builtin_abort(tls) 161783 return i32(0) 161784 }() 161785 }() 161786 if _zPath != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 161787 goto _2 161788 } 161789 161790 _zPath = str(196) 161791 _2: 161792 _i = i32(0) 161793 _3: 161794 if (*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zMsg)) + 1*uintptr(_i)))) == 0 || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zMsg)) + 1*uintptr(_i)))) == i32(13) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zMsg)) + 1*uintptr(_i)))) == i32(10) { 161795 goto _8 161796 } 161797 161798 _i += 1 161799 goto _3 161800 161801 _8: 161802 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_zMsg)) + 1*uintptr(_i))) = int8(i32(0)) 161803 Xsqlite3_log(tls, _errcode, str(140624), _iLine, _lastErrno, unsafe.Pointer(_zFunc), unsafe.Pointer(_zPath), unsafe.Pointer((*int8)(unsafe.Pointer(&_zMsg)))) 161804 r0 = _errcode 161805 return 161806 161807 } 161808 161809 func _winGetLastErrorMsg(tls *crt.TLS, _lastErrno uint32, _nBuf int32, _zBuf *int8) (r0 int32) { // sqlite3.c:39631:1 161810 var _dwLen uint32 // sqlite3.c:39636:9 161811 _ = _dwLen 161812 var _zOut *int8 // sqlite3.c:39637:8 161813 _ = _zOut 161814 var _1_zTempWide *uint16 // sqlite3.c:39651:12 161815 _ = _1_zTempWide 161816 var _3_zTemp *int8 // sqlite3.c:39675:10 161817 _ = _3_zTemp 161818 _dwLen = u32(0) 161819 _zOut = nil 161820 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 161821 goto _1 161822 } 161823 161824 _1_zTempWide = nil 161825 _dwLen = (*(*func(*crt.TLS, uint32, unsafe.Pointer, uint32, uint32, *uint16, uint32, *[]interface{}) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(15)))).X1)})))(tls, uint32(i32(4864)), nil, _lastErrno, uint32(i32(0)), (*uint16)(unsafe.Pointer(&_1_zTempWide)), uint32(i32(0)), (*[]interface{})(unsafe.Pointer(uintptr(i32(0))))) 161826 if _dwLen <= uint32(i32(0)) { 161827 goto _2 161828 } 161829 161830 _sqlite3BeginBenignMalloc(tls) 161831 _zOut = _winUnicodeToUtf8(tls, _1_zTempWide) 161832 _sqlite3EndBenignMalloc(tls) 161833 (*(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(46)))).X1)})))(tls, (unsafe.Pointer)(_1_zTempWide)) 161834 _2: 161835 goto _3 161836 161837 _1: 161838 _3_zTemp = nil 161839 _dwLen = (*(*func(*crt.TLS, uint32, unsafe.Pointer, uint32, uint32, *int8, uint32, *[]interface{}) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(14)))).X1)})))(tls, uint32(i32(4864)), nil, _lastErrno, uint32(i32(0)), (*int8)(unsafe.Pointer(&_3_zTemp)), uint32(i32(0)), (*[]interface{})(unsafe.Pointer(uintptr(i32(0))))) 161840 if _dwLen <= uint32(i32(0)) { 161841 goto _4 161842 } 161843 161844 _sqlite3BeginBenignMalloc(tls) 161845 _zOut = _winMbcsToUtf8(tls, _3_zTemp, (*(*func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(0)))).X1)})))(tls)) 161846 _sqlite3EndBenignMalloc(tls) 161847 (*(*func(*crt.TLS, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(46)))).X1)})))(tls, (unsafe.Pointer)(_3_zTemp)) 161848 _4: 161849 _3: 161850 if uint32(i32(0)) != _dwLen { 161851 goto _5 161852 } 161853 161854 Xsqlite3_snprintf(tls, _nBuf, _zBuf, str(140656), _lastErrno, _lastErrno) 161855 goto _6 161856 161857 _5: 161858 Xsqlite3_snprintf(tls, _nBuf, _zBuf, str(25612), unsafe.Pointer(_zOut)) 161859 Xsqlite3_free(tls, (unsafe.Pointer)(_zOut)) 161860 _6: 161861 r0 = i32(0) 161862 return 161863 161864 } 161865 161866 var _sqlite3_os_type int32 // sqlite3.c:38161:35 161867 161868 func Xsqlite3_win32_is_nt(tls *crt.TLS) (r0 int32) { // sqlite3.c:39108:12 161869 var _1_sInfo crt.XOSVERSIONINFOA // sqlite3.c:39118:20 161870 _ = _1_sInfo 161871 if crt.X_InterlockedCompareExchange(tls, &_sqlite3_os_type, i32(0), i32(0)) != i32(0) { 161872 goto _0 161873 } 161874 161875 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_1_sInfo)) + uintptr(0 /* X0 */))) = u32(148) 161876 (*(*func(*crt.TLS, *crt.XOSVERSIONINFOA) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(34)))).X1)})))(tls, &_1_sInfo) 161877 crt.X_InterlockedCompareExchange(tls, &_sqlite3_os_type, func() int32 { 161878 if (_1_sInfo.X4) == uint32(i32(2)) { 161879 return i32(2) 161880 } 161881 return i32(1) 161882 }(), i32(0)) 161883 _0: 161884 r0 = bool2int(crt.X_InterlockedCompareExchange(tls, &_sqlite3_os_type, i32(2), i32(2)) == i32(2)) 161885 return 161886 161887 } 161888 161889 func _winUnicodeToUtf8(tls *crt.TLS, _zWideText *uint16) (r0 *int8) { // sqlite3.c:39379:1 161890 var _nByte int32 // sqlite3.c:39380:7 161891 _ = _nByte 161892 var _zText *int8 // sqlite3.c:39381:8 161893 _ = _zText 161894 _nByte = (*(*func(*crt.TLS, uint32, uint32, *uint16, int32, *int8, int32, *int8, *int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(60)))).X1)})))(tls, uint32(i32(65001)), uint32(i32(0)), _zWideText, i32(-1), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 161895 if _nByte != i32(0) { 161896 goto _0 161897 } 161898 161899 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 161900 return 161901 161902 _0: 161903 _zText = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nByte)))) 161904 if _zText != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 161905 goto _1 161906 } 161907 161908 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 161909 return 161910 161911 _1: 161912 _nByte = (*(*func(*crt.TLS, uint32, uint32, *uint16, int32, *int8, int32, *int8, *int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(60)))).X1)})))(tls, uint32(i32(65001)), uint32(i32(0)), _zWideText, i32(-1), _zText, _nByte, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 161913 if _nByte != i32(0) { 161914 goto _2 161915 } 161916 161917 Xsqlite3_free(tls, (unsafe.Pointer)(_zText)) 161918 _zText = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 161919 _2: 161920 r0 = _zText 161921 return 161922 161923 } 161924 161925 func _winMbcsToUtf8(tls *crt.TLS, _zText *int8, _useAnsi int32) (r0 *int8) { // sqlite3.c:39462:1 161926 var _zTextUtf8 *int8 // sqlite3.c:39463:8 161927 _ = _zTextUtf8 161928 var _zTmpWide *uint16 // sqlite3.c:39464:10 161929 _ = _zTmpWide 161930 _zTmpWide = _winMbcsToUnicode(tls, _zText, _useAnsi) 161931 if _zTmpWide != (*uint16)(unsafe.Pointer(uintptr(i32(0)))) { 161932 goto _0 161933 } 161934 161935 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 161936 return 161937 161938 _0: 161939 _zTextUtf8 = _winUnicodeToUtf8(tls, _zTmpWide) 161940 Xsqlite3_free(tls, (unsafe.Pointer)(_zTmpWide)) 161941 r0 = _zTextUtf8 161942 return 161943 161944 } 161945 161946 func _winMbcsToUnicode(tls *crt.TLS, _zText *int8, _useAnsi int32) (r0 *uint16) { // sqlite3.c:39406:1 161947 var _nByte int32 // sqlite3.c:39407:7 161948 _ = _nByte 161949 var _zMbcsText *uint16 // sqlite3.c:39408:10 161950 _ = _zMbcsText 161951 var _codepage int32 // sqlite3.c:39409:7 161952 _ = _codepage 161953 _codepage = func() int32 { 161954 if _useAnsi != 0 { 161955 return i32(0) 161956 } 161957 return i32(1) 161958 }() 161959 _nByte = int32(uint32((*(*func(*crt.TLS, uint32, uint32, *int8, int32, *uint16, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(50)))).X1)})))(tls, uint32(_codepage), uint32(i32(0)), _zText, i32(-1), (*uint16)(unsafe.Pointer(nil)), i32(0))) * u32(2)) 161960 if _nByte != i32(0) { 161961 goto _2 161962 } 161963 161964 r0 = (*uint16)(unsafe.Pointer(uintptr(i32(0)))) 161965 return 161966 161967 _2: 161968 _zMbcsText = (*uint16)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(uint32(_nByte)*u32(2))))) 161969 if _zMbcsText != (*uint16)(unsafe.Pointer(uintptr(i32(0)))) { 161970 goto _3 161971 } 161972 161973 r0 = (*uint16)(unsafe.Pointer(uintptr(i32(0)))) 161974 return 161975 161976 _3: 161977 _nByte = (*(*func(*crt.TLS, uint32, uint32, *int8, int32, *uint16, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(50)))).X1)})))(tls, uint32(_codepage), uint32(i32(0)), _zText, i32(-1), _zMbcsText, _nByte) 161978 if _nByte != i32(0) { 161979 goto _4 161980 } 161981 161982 Xsqlite3_free(tls, (unsafe.Pointer)(_zMbcsText)) 161983 _zMbcsText = (*uint16)(unsafe.Pointer(uintptr(i32(0)))) 161984 _4: 161985 r0 = _zMbcsText 161986 return 161987 161988 } 161989 161990 var _winLogErrorAtLineØ00__func__Ø000 [18]int8 // - 161991 161992 func init() { 161993 crt.Xstrncpy(nil, &_winLogErrorAtLineØ00__func__Ø000[0], str(140676), 18) 161994 } 161995 161996 func _winRead(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:40357:1 161997 var _overlapped crt.XOVERLAPPED // sqlite3.c:40364:14 161998 _ = _overlapped 161999 var _pFile *XwinFile // sqlite3.c:40366:11 162000 _ = _pFile 162001 var _nRead uint32 // sqlite3.c:40367:9 162002 _ = _nRead 162003 var _nRetry int32 // sqlite3.c:40368:7 162004 _ = _nRetry 162005 var _3_nCopy int32 // sqlite3.c:40388:11 162006 _ = _3_nCopy 162007 var _4_lastErrno uint32 // sqlite3.c:40411:11 162008 _ = _4_lastErrno 162009 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162010 _nRetry = i32(0) 162011 func() int32 { 162012 if _id != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 162013 return i32(0) 162014 } 162015 return func() int32 { 162016 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40370), unsafe.Pointer((*int8)(unsafe.Pointer(&_winReadØ00__func__Ø000))), unsafe.Pointer(str(140456))) 162017 crt.X__builtin_abort(tls) 162018 return i32(0) 162019 }() 162020 }() 162021 func() int32 { 162022 if _amt > i32(0) { 162023 return i32(0) 162024 } 162025 return func() int32 { 162026 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40371), unsafe.Pointer((*int8)(unsafe.Pointer(&_winReadØ00__func__Ø000))), unsafe.Pointer(str(140696))) 162027 crt.X__builtin_abort(tls) 162028 return i32(0) 162029 }() 162030 }() 162031 func() int32 { 162032 if _offset >= int64(i32(0)) { 162033 return i32(0) 162034 } 162035 return func() int32 { 162036 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40372), unsafe.Pointer((*int8)(unsafe.Pointer(&_winReadØ00__func__Ø000))), unsafe.Pointer(str(140704))) 162037 crt.X__builtin_abort(tls) 162038 return i32(0) 162039 }() 162040 }() 162041 if _offset >= (_pFile.X13) { 162042 goto _6 162043 } 162044 162045 if (_offset + int64(_amt)) > (_pFile.X13) { 162046 goto _7 162047 } 162048 162049 crt.Xmemcpy(tls, _pBuf, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFile.X12)+1*uintptr(_offset)))), uint32(_amt)) 162050 r0 = i32(0) 162051 return 162052 162053 _7: 162054 _3_nCopy = int32((_pFile.X13) - _offset) 162055 crt.Xmemcpy(tls, _pBuf, (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFile.X12)+1*uintptr(_offset)))), uint32(_3_nCopy)) 162056 _pBuf = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pBuf) + 1*uintptr(_3_nCopy)))) 162057 { 162058 p := &_amt 162059 *p = (*p) - _3_nCopy 162060 sink961 = *p 162061 } 162062 { 162063 p := &_offset 162064 *p = (*p) + int64(_3_nCopy) 162065 sink967 = *p 162066 } 162067 _6: 162068 crt.Xmemset(tls, (unsafe.Pointer)(&_overlapped), i32(0), u32(20)) 162069 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_overlapped)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(8)))))))))) = uint32(int32(_offset & int64(u32(4294967295)))) 162070 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_overlapped)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(12)))))))))) = uint32(int32((_offset >> uint(i32(32))) & int64(i32(2147483647)))) 162071 _9: 162072 if (*(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, *uint32, *crt.XOVERLAPPED) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(52)))).X1)})))(tls, _pFile.X2, _pBuf, uint32(_amt), &_nRead, &_overlapped) != 0 || (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) == uint32(i32(38)) { 162073 goto _10 162074 } 162075 162076 if _winRetryIoerr(tls, &_nRetry, &_4_lastErrno) == 0 { 162077 goto _12 162078 } 162079 162080 goto _9 162081 162082 _12: 162083 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _4_lastErrno 162084 r0 = _winLogErrorAtLine(tls, i32(266), _pFile.X6, str(140716), _pFile.X8, i32(40416)) 162085 return 162086 162087 _10: 162088 _winLogIoerr(tls, _nRetry, i32(40419)) 162089 if _nRead >= uint32(_amt) { 162090 goto _13 162091 } 162092 162093 crt.Xmemset(tls, (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(_pBuf)+1*uintptr(_nRead)))), i32(0), uint32(_amt)-_nRead) 162094 r0 = i32(522) 162095 return 162096 162097 _13: 162098 r0 = i32(0) 162099 return 162100 162101 } 162102 162103 var _winReadØ00__func__Ø000 [8]int8 // - 162104 162105 func init() { 162106 crt.Xstrncpy(nil, &_winReadØ00__func__Ø000[0], str(140716), 8) 162107 } 162108 162109 func _winRetryIoerr(tls *crt.TLS, _pnRetry *int32, _pError *uint32) (r0 int32) { // sqlite3.c:39792:1 162110 var _e uint32 // sqlite3.c:39793:9 162111 _ = _e 162112 _e = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162113 if (*_pnRetry) < _winIoerrRetry { 162114 goto _0 162115 } 162116 162117 if _pError == nil { 162118 goto _1 162119 } 162120 162121 *_pError = _e 162122 _1: 162123 r0 = i32(0) 162124 return 162125 162126 _0: 162127 if _e != uint32(i32(5)) && _e != uint32(i32(32)) && _e != uint32(i32(33)) && _e != uint32(i32(55)) && _e != uint32(i32(64)) && _e != uint32(i32(121)) && _e != uint32(i32(1231)) { 162128 goto _8 162129 } 162130 162131 Xsqlite3_win32_sleep(tls, uint32(_winIoerrRetryDelay*(i32(1)+(*_pnRetry)))) 162132 *_pnRetry += 1 162133 r0 = i32(1) 162134 return 162135 162136 _8: 162137 if _pError == nil { 162138 goto _9 162139 } 162140 162141 *_pError = _e 162142 _9: 162143 r0 = i32(0) 162144 return 162145 162146 } 162147 162148 var _winIoerrRetry int32 // sqlite3.c:39758:12 162149 162150 func init() { 162151 _winIoerrRetry = i32(10) 162152 } 162153 162154 var _winIoerrRetryDelay int32 // sqlite3.c:39759:12 162155 162156 func init() { 162157 _winIoerrRetryDelay = i32(25) 162158 } 162159 162160 func _winLogIoerr(tls *crt.TLS, _nRetry int32, _lineno int32) { // sqlite3.c:39821:1 162161 if _nRetry == 0 { 162162 goto _0 162163 } 162164 162165 Xsqlite3_log(tls, i32(27), str(140724), ((_winIoerrRetryDelay*_nRetry)*(_nRetry+i32(1)))/i32(2), _lineno) 162166 _0: 162167 return 162168 162169 } 162170 162171 func _winWrite(tls *crt.TLS, _id *Xsqlite3_file, _pBuf unsafe.Pointer, _amt int32, _offset int64) (r0 int32) { // sqlite3.c:40437:1 162172 var _rc int32 // sqlite3.c:40443:7 162173 _ = _rc 162174 var _pFile *XwinFile // sqlite3.c:40444:11 162175 _ = _pFile 162176 var _nRetry int32 // sqlite3.c:40445:7 162177 _ = _nRetry 162178 var _1_overlapped crt.XOVERLAPPED // sqlite3.c:40482:16 162179 _ = _1_overlapped 162180 var _1_aRem *uint8 // sqlite3.c:40484:8 162181 _ = _1_aRem 162182 var _1_nRem int32 // sqlite3.c:40485:9 162183 _ = _1_nRem 162184 var _1_nWrite uint32 // sqlite3.c:40486:11 162185 _ = _1_nWrite 162186 var _1_lastErrno uint32 // sqlite3.c:40487:11 162187 _ = _1_lastErrno 162188 _rc = i32(0) 162189 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162190 _nRetry = i32(0) 162191 func() int32 { 162192 if _amt > i32(0) { 162193 return i32(0) 162194 } 162195 return func() int32 { 162196 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40447), unsafe.Pointer((*int8)(unsafe.Pointer(&_winWriteØ00__func__Ø000))), unsafe.Pointer(str(140696))) 162197 crt.X__builtin_abort(tls) 162198 return i32(0) 162199 }() 162200 }() 162201 func() int32 { 162202 if _pFile != nil { 162203 return i32(0) 162204 } 162205 return func() int32 { 162206 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40448), unsafe.Pointer((*int8)(unsafe.Pointer(&_winWriteØ00__func__Ø000))), unsafe.Pointer(str(61332))) 162207 crt.X__builtin_abort(tls) 162208 return i32(0) 162209 }() 162210 }() 162211 _1_aRem = (*uint8)(unsafe.Pointer(_pBuf)) 162212 _1_nRem = _amt 162213 _1_lastErrno = u32(0) 162214 crt.Xmemset(tls, (unsafe.Pointer)(&_1_overlapped), i32(0), u32(20)) 162215 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_overlapped)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(8)))))))))) = uint32(int32(_offset & int64(u32(4294967295)))) 162216 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_overlapped)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(12)))))))))) = uint32(int32((_offset >> uint(i32(32))) & int64(i32(2147483647)))) 162217 _4: 162218 if _1_nRem <= i32(0) { 162219 goto _5 162220 } 162221 162222 if (*(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, *uint32, *crt.XOVERLAPPED) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(61)))).X1)})))(tls, _pFile.X2, (unsafe.Pointer)(_1_aRem), uint32(_1_nRem), &_1_nWrite, &_1_overlapped) != 0 { 162223 goto _6 162224 } 162225 162226 if _winRetryIoerr(tls, &_nRetry, &_1_lastErrno) == 0 { 162227 goto _7 162228 } 162229 162230 goto _4 162231 162232 _7: 162233 goto _5 162234 162235 _6: 162236 func() int32 { 162237 if (_1_nWrite == uint32(i32(0))) || (_1_nWrite <= uint32(_1_nRem)) { 162238 return i32(0) 162239 } 162240 return func() int32 { 162241 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40504), unsafe.Pointer((*int8)(unsafe.Pointer(&_winWriteØ00__func__Ø000))), unsafe.Pointer(str(140776))) 162242 crt.X__builtin_abort(tls) 162243 return i32(0) 162244 }() 162245 }() 162246 if _1_nWrite != uint32(i32(0)) && _1_nWrite <= uint32(_1_nRem) { 162247 goto _12 162248 } 162249 162250 _1_lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162251 goto _5 162252 162253 _12: 162254 { 162255 p := &_offset 162256 *p = (*p) + int64(_1_nWrite) 162257 sink967 = *p 162258 } 162259 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_overlapped)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(8)))))))))) = uint32(int32(_offset & int64(u32(4294967295)))) 162260 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_overlapped)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(12)))))))))) = uint32(int32((_offset >> uint(i32(32))) & int64(i32(2147483647)))) 162261 { 162262 p := &_1_aRem 162263 *p = (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(*p)) + 1*uintptr(_1_nWrite))) 162264 sink6921 = *p 162265 } 162266 { 162267 p := &_1_nRem 162268 *p = int32(uint32(*p) - _1_nWrite) 162269 sink961 = *p 162270 } 162271 goto _4 162272 162273 _5: 162274 if _1_nRem <= i32(0) { 162275 goto _13 162276 } 162277 162278 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _1_lastErrno 162279 _rc = i32(1) 162280 _13: 162281 if _rc == 0 { 162282 goto _14 162283 } 162284 162285 if (_pFile.X6) != uint32(i32(39)) && (_pFile.X6) != uint32(i32(112)) { 162286 goto _16 162287 } 162288 162289 r0 = _winLogErrorAtLine(tls, i32(13), _pFile.X6, str(140812), _pFile.X8, i32(40528)) 162290 return 162291 162292 _16: 162293 r0 = _winLogErrorAtLine(tls, i32(778), _pFile.X6, str(140824), _pFile.X8, i32(40533)) 162294 return 162295 162296 _14: 162297 _winLogIoerr(tls, _nRetry, i32(40536)) 162298 r0 = i32(0) 162299 return 162300 162301 } 162302 162303 var _winWriteØ00__func__Ø000 [9]int8 // - 162304 162305 func init() { 162306 crt.Xstrncpy(nil, &_winWriteØ00__func__Ø000[0], str(140836), 9) 162307 } 162308 162309 func _winTruncate(tls *crt.TLS, _id *Xsqlite3_file, _nByte int64) (r0 int32) { // sqlite3.c:40546:1 162310 var _pFile *XwinFile // sqlite3.c:40547:11 162311 _ = _pFile 162312 var _rc int32 // sqlite3.c:40548:7 162313 _ = _rc 162314 var _lastErrno uint32 // sqlite3.c:40549:9 162315 _ = _lastErrno 162316 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162317 _rc = i32(0) 162318 func() int32 { 162319 if _pFile != nil { 162320 return i32(0) 162321 } 162322 return func() int32 { 162323 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40551), unsafe.Pointer((*int8)(unsafe.Pointer(&_winTruncateØ00__func__Ø000))), unsafe.Pointer(str(61332))) 162324 crt.X__builtin_abort(tls) 162325 return i32(0) 162326 }() 162327 }() 162328 if (_pFile.X9) <= i32(0) { 162329 goto _2 162330 } 162331 162332 _nByte = (((_nByte + int64(_pFile.X9)) - int64(i32(1))) / int64(_pFile.X9)) * int64(_pFile.X9) 162333 _2: 162334 if _winSeekFile(tls, _pFile, _nByte) == 0 { 162335 goto _3 162336 } 162337 162338 _rc = _winLogErrorAtLine(tls, i32(1546), _pFile.X6, str(140848), _pFile.X8, i32(40567)) 162339 goto _4 162340 162341 _3: 162342 if i32(0) != (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(53)))).X1)})))(tls, _pFile.X2) || store985(&_lastErrno, (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls)) == uint32(i32(1224)) { 162343 goto _6 162344 } 162345 162346 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _lastErrno 162347 _rc = _winLogErrorAtLine(tls, i32(1546), _pFile.X6, str(140864), _pFile.X8, i32(40572)) 162348 _6: 162349 _4: 162350 if (_pFile.X12) == nil || _nByte >= (_pFile.X13) { 162351 goto _8 162352 } 162353 162354 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(48 /* X13 */))) = _nByte 162355 _8: 162356 r0 = _rc 162357 return 162358 162359 } 162360 162361 var _winTruncateØ00__func__Ø000 [12]int8 // - 162362 162363 func init() { 162364 crt.Xstrncpy(nil, &_winTruncateØ00__func__Ø000[0], str(140880), 12) 162365 } 162366 162367 func _winSeekFile(tls *crt.TLS, _pFile *XwinFile, _iOffset int64) (r0 int32) { // sqlite3.c:40228:1 162368 var _upperBits int32 // sqlite3.c:40230:8 162369 _ = _upperBits 162370 var _lowerBits int32 // sqlite3.c:40231:8 162371 _ = _lowerBits 162372 var _dwRet uint32 // sqlite3.c:40232:9 162373 _ = _dwRet 162374 var _lastErrno uint32 // sqlite3.c:40233:9 162375 _ = _lastErrno 162376 _upperBits = int32((_iOffset >> uint(i32(32))) & int64(i32(2147483647))) 162377 _lowerBits = int32(_iOffset & int64(u32(4294967295))) 162378 _dwRet = (*(*func(*crt.TLS, unsafe.Pointer, int32, *int32, uint32) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(54)))).X1)})))(tls, _pFile.X2, _lowerBits, &_upperBits, uint32(i32(0))) 162379 if _dwRet != uint32(i32(-1)) || store985(&_lastErrno, (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls)) == uint32(i32(0)) { 162380 goto _1 162381 } 162382 162383 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _lastErrno 162384 _winLogErrorAtLine(tls, i32(5642), _pFile.X6, str(140892), _pFile.X8, i32(40252)) 162385 r0 = i32(1) 162386 return 162387 162388 _1: 162389 r0 = i32(0) 162390 return 162391 162392 } 162393 162394 func _winSync(tls *crt.TLS, _id *Xsqlite3_file, _flags int32) (r0 int32) { // sqlite3.c:40603:1 162395 var _rc int32 // sqlite3.c:40608:8 162396 _ = _rc 162397 var _pFile *XwinFile // sqlite3.c:40616:11 162398 _ = _pFile 162399 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162400 func() int32 { 162401 if _pFile != nil { 162402 return i32(0) 162403 } 162404 return func() int32 { 162405 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40621), unsafe.Pointer((*int8)(unsafe.Pointer(&_winSyncØ00__func__Ø000))), unsafe.Pointer(str(61332))) 162406 crt.X__builtin_abort(tls) 162407 return i32(0) 162408 }() 162409 }() 162410 func() int32 { 162411 if ((_flags & i32(15)) == i32(2)) || ((_flags & i32(15)) == i32(3)) { 162412 return i32(0) 162413 } 162414 return func() int32 { 162415 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40623), unsafe.Pointer((*int8)(unsafe.Pointer(&_winSyncØ00__func__Ø000))), unsafe.Pointer(str(140904))) 162416 crt.X__builtin_abort(tls) 162417 return i32(0) 162418 }() 162419 }() 162420 162421 if (_pFile.X12) == nil { 162422 goto _5 162423 } 162424 162425 if (*(*func(*crt.TLS, unsafe.Pointer, uint32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(79)))).X1)})))(tls, _pFile.X12, uint32(i32(0))) == 0 { 162426 goto _6 162427 } 162428 162429 goto _7 162430 162431 _6: 162432 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162433 r0 = _winLogErrorAtLine(tls, i32(6154), _pFile.X6, str(140972), _pFile.X8, i32(40664)) 162434 return 162435 162436 _7: 162437 _5: 162438 _rc = (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(13)))).X1)})))(tls, _pFile.X2) 162439 if _rc == 0 { 162440 goto _8 162441 } 162442 162443 r0 = i32(0) 162444 return 162445 162446 _8: 162447 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162448 r0 = _winLogErrorAtLine(tls, i32(1034), _pFile.X6, str(140984), _pFile.X8, i32(40679)) 162449 return 162450 162451 } 162452 162453 var _winSyncØ00__func__Ø000 [8]int8 // - 162454 162455 func init() { 162456 crt.Xstrncpy(nil, &_winSyncØ00__func__Ø000[0], str(140996), 8) 162457 } 162458 162459 func _winFileSize(tls *crt.TLS, _id *Xsqlite3_file, _pSize *int64) (r0 int32) { // sqlite3.c:40688:1 162460 var _pFile *XwinFile // sqlite3.c:40689:11 162461 _ = _pFile 162462 var _rc int32 // sqlite3.c:40690:7 162463 _ = _rc 162464 var _1_upperBits uint32 // sqlite3.c:40711:11 162465 _ = _1_upperBits 162466 var _1_lowerBits uint32 // sqlite3.c:40712:11 162467 _ = _1_lowerBits 162468 var _1_lastErrno uint32 // sqlite3.c:40713:11 162469 _ = _1_lastErrno 162470 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162471 _rc = i32(0) 162472 func() int32 { 162473 if _id != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 162474 return i32(0) 162475 } 162476 return func() int32 { 162477 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40692), unsafe.Pointer((*int8)(unsafe.Pointer(&_winFileSizeØ00__func__Ø000))), unsafe.Pointer(str(140456))) 162478 crt.X__builtin_abort(tls) 162479 return i32(0) 162480 }() 162481 }() 162482 func() int32 { 162483 if _pSize != (*int64)(unsafe.Pointer(uintptr(i32(0)))) { 162484 return i32(0) 162485 } 162486 return func() int32 { 162487 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40693), unsafe.Pointer((*int8)(unsafe.Pointer(&_winFileSizeØ00__func__Ø000))), unsafe.Pointer(str(141004))) 162488 crt.X__builtin_abort(tls) 162489 return i32(0) 162490 }() 162491 }() 162492 _1_lowerBits = (*(*func(*crt.TLS, unsafe.Pointer, *uint32) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(23)))).X1)})))(tls, _pFile.X2, &_1_upperBits) 162493 *_pSize = (int64(_1_upperBits) << uint(i32(32))) + int64(_1_lowerBits) 162494 if _1_lowerBits != u32(4294967295) || store985(&_1_lastErrno, (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls)) == uint32(i32(0)) { 162495 goto _5 162496 } 162497 162498 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _1_lastErrno 162499 _rc = _winLogErrorAtLine(tls, i32(1802), _pFile.X6, str(141016), _pFile.X8, i32(40720)) 162500 _5: 162501 r0 = _rc 162502 return 162503 162504 } 162505 162506 var _winFileSizeØ00__func__Ø000 [12]int8 // - 162507 162508 func init() { 162509 crt.Xstrncpy(nil, &_winFileSizeØ00__func__Ø000[0], str(141016), 12) 162510 } 162511 162512 func _winLock(tls *crt.TLS, _id *Xsqlite3_file, _locktype int32) (r0 int32) { // sqlite3.c:40848:1 162513 var _rc int32 // sqlite3.c:40849:7 162514 _ = _rc 162515 var _res int32 // sqlite3.c:40850:7 162516 _ = _res 162517 var _newLocktype int32 // sqlite3.c:40851:7 162518 _ = _newLocktype 162519 var _gotPendingLock int32 // sqlite3.c:40852:7 162520 _ = _gotPendingLock 162521 var _pFile *XwinFile // sqlite3.c:40853:11 162522 _ = _pFile 162523 var _lastErrno uint32 // sqlite3.c:40854:9 162524 _ = _lastErrno 162525 var _3_cnt int32 // sqlite3.c:40889:9 162526 _ = _3_cnt 162527 _rc = i32(0) 162528 _res = i32(1) 162529 _gotPendingLock = i32(0) 162530 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162531 _lastErrno = u32(0) 162532 func() int32 { 162533 if _id != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 162534 return i32(0) 162535 } 162536 return func() int32 { 162537 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40856), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(140456))) 162538 crt.X__builtin_abort(tls) 162539 return i32(0) 162540 }() 162541 }() 162542 if int32(_pFile.X3) < _locktype { 162543 goto _2 162544 } 162545 162546 r0 = i32(0) 162547 return 162548 162549 _2: 162550 if (int32(_pFile.X5)&i32(2)) == i32(0) || _locktype < i32(2) { 162551 goto _4 162552 } 162553 162554 r0 = i32(3850) 162555 return 162556 162557 _4: 162558 func() int32 { 162559 if (int32(_pFile.X3) != i32(0)) || (_locktype == i32(1)) { 162560 return i32(0) 162561 } 162562 return func() int32 { 162563 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40877), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(141028))) 162564 crt.X__builtin_abort(tls) 162565 return i32(0) 162566 }() 162567 }() 162568 func() int32 { 162569 if _locktype != i32(3) { 162570 return i32(0) 162571 } 162572 return func() int32 { 162573 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40878), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(141080))) 162574 crt.X__builtin_abort(tls) 162575 return i32(0) 162576 }() 162577 }() 162578 func() int32 { 162579 if (_locktype != i32(2)) || (int32(_pFile.X3) == i32(1)) { 162580 return i32(0) 162581 } 162582 return func() int32 { 162583 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40879), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(141104))) 162584 crt.X__builtin_abort(tls) 162585 return i32(0) 162586 }() 162587 }() 162588 _newLocktype = int32(_pFile.X3) 162589 if int32(_pFile.X3) != i32(0) && (_locktype != i32(4) || int32(_pFile.X3) > i32(2)) { 162590 goto _15 162591 } 162592 162593 _3_cnt = i32(3) 162594 _16: 162595 if postInc961(&_3_cnt, int32(-1)) <= i32(0) || store961(&_res, _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(i32(3)), uint32(_sqlite3PendingByte), uint32(i32(0)), uint32(i32(1)), uint32(i32(0)))) != i32(0) { 162596 goto _17 162597 } 162598 162599 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162600 if _lastErrno != uint32(i32(6)) { 162601 goto _19 162602 } 162603 162604 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _lastErrno 162605 _rc = i32(3850) 162606 r0 = _rc 162607 return 162608 162609 _19: 162610 if _3_cnt == 0 { 162611 goto _20 162612 } 162613 162614 Xsqlite3_win32_sleep(tls, uint32(i32(1))) 162615 _20: 162616 goto _16 162617 162618 _17: 162619 _gotPendingLock = _res 162620 if _res != 0 { 162621 goto _21 162622 } 162623 162624 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162625 _21: 162626 _15: 162627 if _locktype != i32(1) || _res == 0 { 162628 goto _23 162629 } 162630 162631 func() int32 { 162632 if int32(_pFile.X3) == i32(0) { 162633 return i32(0) 162634 } 162635 return func() int32 { 162636 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40919), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(141160))) 162637 crt.X__builtin_abort(tls) 162638 return i32(0) 162639 }() 162640 }() 162641 _res = _winGetReadLock(tls, _pFile) 162642 if _res == 0 { 162643 goto _26 162644 } 162645 162646 _newLocktype = i32(1) 162647 goto _27 162648 162649 _26: 162650 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162651 _27: 162652 _23: 162653 if _locktype != i32(2) || _res == 0 { 162654 goto _29 162655 } 162656 162657 func() int32 { 162658 if int32(_pFile.X3) == i32(1) { 162659 return i32(0) 162660 } 162661 return func() int32 { 162662 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40931), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(141188))) 162663 crt.X__builtin_abort(tls) 162664 return i32(0) 162665 }() 162666 }() 162667 _res = _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(i32(3)), uint32(_sqlite3PendingByte+i32(1)), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162668 if _res == 0 { 162669 goto _32 162670 } 162671 162672 _newLocktype = i32(2) 162673 goto _33 162674 162675 _32: 162676 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162677 _33: 162678 _29: 162679 if _locktype != i32(4) || _res == 0 { 162680 goto _35 162681 } 162682 162683 _newLocktype = i32(3) 162684 _gotPendingLock = i32(0) 162685 _35: 162686 if _locktype != i32(4) || _res == 0 { 162687 goto _37 162688 } 162689 162690 func() int32 { 162691 if int32(_pFile.X3) >= i32(1) { 162692 return i32(0) 162693 } 162694 return func() int32 { 162695 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40950), unsafe.Pointer((*int8)(unsafe.Pointer(&_winLockØ00__func__Ø000))), unsafe.Pointer(str(141220))) 162696 crt.X__builtin_abort(tls) 162697 return i32(0) 162698 }() 162699 }() 162700 _res = _winUnlockReadLock(tls, _pFile) 162701 _res = _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(i32(3)), uint32(_sqlite3PendingByte+i32(2)), uint32(i32(0)), uint32(i32(510)), uint32(i32(0))) 162702 if _res == 0 { 162703 goto _40 162704 } 162705 162706 _newLocktype = i32(4) 162707 goto _41 162708 162709 _40: 162710 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162711 _winGetReadLock(tls, _pFile) 162712 _41: 162713 _37: 162714 if _gotPendingLock == 0 || _locktype != i32(1) { 162715 goto _43 162716 } 162717 162718 _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(_sqlite3PendingByte), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162719 _43: 162720 if _res == 0 { 162721 goto _44 162722 } 162723 162724 _rc = i32(0) 162725 goto _45 162726 162727 _44: 162728 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _lastErrno 162729 _rc = i32(5) 162730 _45: 162731 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(12 /* X3 */))) = uint8(_newLocktype) 162732 r0 = _rc 162733 return 162734 162735 } 162736 162737 var _winLockØ00__func__Ø000 [8]int8 // - 162738 162739 func init() { 162740 crt.Xstrncpy(nil, &_winLockØ00__func__Ø000[0], str(141252), 8) 162741 } 162742 162743 func _winLockFile(tls *crt.TLS, _phFile *unsafe.Pointer, _flags uint32, _offsetLow uint32, _offsetHigh uint32, _numBytesLow uint32, _numBytesHigh uint32) (r0 int32) { // sqlite3.c:40151:1 162744 var _1_ovlp crt.XOVERLAPPED // sqlite3.c:40168:16 162745 _ = _1_ovlp 162746 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 162747 goto _1 162748 } 162749 162750 crt.Xmemset(tls, (unsafe.Pointer)(&_1_ovlp), i32(0), u32(20)) 162751 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_ovlp)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(8)))))))))) = _offsetLow 162752 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_ovlp)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(12)))))))))) = _offsetHigh 162753 r0 = (*(*func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32, *crt.XOVERLAPPED) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(48)))).X1)})))(tls, *_phFile, _flags, uint32(i32(0)), _numBytesLow, _numBytesHigh, &_1_ovlp) 162754 return 162755 162756 _1: 162757 r0 = (*(*func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(47)))).X1)})))(tls, *_phFile, _offsetLow, _offsetHigh, _numBytesLow, _numBytesHigh) 162758 return 162759 162760 } 162761 162762 func _winGetReadLock(tls *crt.TLS, _pFile *XwinFile) (r0 int32) { // sqlite3.c:40766:1 162763 var _res int32 // sqlite3.c:40767:7 162764 _ = _res 162765 var _2_lk int32 // sqlite3.c:40783:9 162766 _ = _2_lk 162767 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 162768 goto _1 162769 } 162770 162771 _res = _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(i32(1)), uint32(_sqlite3PendingByte+i32(2)), uint32(i32(0)), uint32(i32(510)), uint32(i32(0))) 162772 goto _2 162773 162774 _1: 162775 Xsqlite3_randomness(tls, int32(u32(4)), (unsafe.Pointer)(&_2_lk)) 162776 *(*int16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(14 /* X4 */))) = int16((_2_lk & i32(2147483647)) % i32(509)) 162777 _res = _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(i32(3)), uint32((_sqlite3PendingByte+i32(2))+int32(_pFile.X4)), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162778 _2: 162779 if _res != i32(0) { 162780 goto _3 162781 } 162782 162783 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 162784 _3: 162785 r0 = _res 162786 return 162787 162788 } 162789 162790 func _winUnlockReadLock(tls *crt.TLS, _pFile *XwinFile) (r0 int32) { // sqlite3.c:40801:1 162791 var _res int32 // sqlite3.c:40802:7 162792 _ = _res 162793 var _lastErrno uint32 // sqlite3.c:40803:9 162794 _ = _lastErrno 162795 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 162796 goto _1 162797 } 162798 162799 _res = _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(_sqlite3PendingByte+i32(2)), uint32(i32(0)), uint32(i32(510)), uint32(i32(0))) 162800 goto _2 162801 162802 _1: 162803 _res = _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32((_sqlite3PendingByte+i32(2))+int32(_pFile.X4)), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162804 _2: 162805 if _res != i32(0) || store985(&_lastErrno, (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls)) == uint32(i32(158)) { 162806 goto _4 162807 } 162808 162809 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _lastErrno 162810 _winLogErrorAtLine(tls, i32(2058), _pFile.X6, str(141260), _pFile.X8, i32(40815)) 162811 _4: 162812 r0 = _res 162813 return 162814 162815 } 162816 162817 func _winUnlockFile(tls *crt.TLS, _phFile *unsafe.Pointer, _offsetLow uint32, _offsetHigh uint32, _numBytesLow uint32, _numBytesHigh uint32) (r0 int32) { // sqlite3.c:40183:1 162818 var _1_ovlp crt.XOVERLAPPED // sqlite3.c:40199:16 162819 _ = _1_ovlp 162820 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 162821 goto _1 162822 } 162823 162824 crt.Xmemset(tls, (unsafe.Pointer)(&_1_ovlp), i32(0), u32(20)) 162825 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_ovlp)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(8)))))))))) = _offsetLow 162826 *(*uint32)(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(&_1_ovlp)))) + uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(12)))))))))) = _offsetHigh 162827 r0 = (*(*func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, *crt.XOVERLAPPED) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(58)))).X1)})))(tls, *_phFile, uint32(i32(0)), _numBytesLow, _numBytesHigh, &_1_ovlp) 162828 return 162829 162830 _1: 162831 r0 = (*(*func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(57)))).X1)})))(tls, *_phFile, _offsetLow, _offsetHigh, _numBytesLow, _numBytesHigh) 162832 return 162833 162834 } 162835 162836 func _winUnlock(tls *crt.TLS, _id *Xsqlite3_file, _locktype int32) (r0 int32) { // sqlite3.c:41027:1 162837 var _type int32 // sqlite3.c:41028:7 162838 _ = _type 162839 var _pFile *XwinFile // sqlite3.c:41029:11 162840 _ = _pFile 162841 var _rc int32 // sqlite3.c:41030:7 162842 _ = _rc 162843 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162844 _rc = i32(0) 162845 func() int32 { 162846 if _pFile != (*XwinFile)(unsafe.Pointer(uintptr(i32(0)))) { 162847 return i32(0) 162848 } 162849 return func() int32 { 162850 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41031), unsafe.Pointer((*int8)(unsafe.Pointer(&_winUnlockØ00__func__Ø000))), unsafe.Pointer(str(140544))) 162851 crt.X__builtin_abort(tls) 162852 return i32(0) 162853 }() 162854 }() 162855 func() int32 { 162856 if _locktype <= i32(1) { 162857 return i32(0) 162858 } 162859 return func() int32 { 162860 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41032), unsafe.Pointer((*int8)(unsafe.Pointer(&_winUnlockØ00__func__Ø000))), unsafe.Pointer(str(141280))) 162861 crt.X__builtin_abort(tls) 162862 return i32(0) 162863 }() 162864 }() 162865 _type = int32(_pFile.X3) 162866 if _type < i32(4) { 162867 goto _4 162868 } 162869 162870 _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(_sqlite3PendingByte+i32(2)), uint32(i32(0)), uint32(i32(510)), uint32(i32(0))) 162871 if _locktype != i32(1) || _winGetReadLock(tls, _pFile) != 0 { 162872 goto _6 162873 } 162874 162875 _rc = _winLogErrorAtLine(tls, i32(2058), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(141304), _pFile.X8, i32(41041)) 162876 _6: 162877 _4: 162878 if _type < i32(2) { 162879 goto _7 162880 } 162881 162882 _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(_sqlite3PendingByte+i32(1)), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162883 _7: 162884 if _locktype != i32(0) || _type < i32(1) { 162885 goto _9 162886 } 162887 162888 _winUnlockReadLock(tls, _pFile) 162889 _9: 162890 if _type < i32(3) { 162891 goto _10 162892 } 162893 162894 _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(_sqlite3PendingByte), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162895 _10: 162896 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(12 /* X3 */))) = uint8(_locktype) 162897 r0 = _rc 162898 return 162899 162900 } 162901 162902 var _winUnlockØ00__func__Ø000 [10]int8 // - 162903 162904 func init() { 162905 crt.Xstrncpy(nil, &_winUnlockØ00__func__Ø000[0], str(141304), 10) 162906 } 162907 162908 func _winCheckReservedLock(tls *crt.TLS, _id *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:40991:1 162909 var _res int32 // sqlite3.c:40992:7 162910 _ = _res 162911 var _pFile *XwinFile // sqlite3.c:40993:11 162912 _ = _pFile 162913 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162914 func() int32 { 162915 if _id != (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) { 162916 return i32(0) 162917 } 162918 return func() int32 { 162919 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(40998), unsafe.Pointer((*int8)(unsafe.Pointer(&_winCheckReservedLockØ00__func__Ø000))), unsafe.Pointer(str(140456))) 162920 crt.X__builtin_abort(tls) 162921 return i32(0) 162922 }() 162923 }() 162924 if int32(_pFile.X3) < i32(2) { 162925 goto _2 162926 } 162927 162928 _res = i32(1) 162929 goto _3 162930 162931 _2: 162932 _res = _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(i32(1)), uint32(_sqlite3PendingByte+i32(1)), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162933 if _res == 0 { 162934 goto _4 162935 } 162936 162937 _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */))), uint32(_sqlite3PendingByte+i32(1)), uint32(i32(0)), uint32(i32(1)), uint32(i32(0))) 162938 _4: 162939 _res = bool2int(_res == 0) 162940 _3: 162941 *_pResOut = _res 162942 r0 = i32(0) 162943 return 162944 162945 } 162946 162947 var _winCheckReservedLockØ00__func__Ø000 [21]int8 // - 162948 162949 func init() { 162950 crt.Xstrncpy(nil, &_winCheckReservedLockØ00__func__Ø000[0], str(141316), 21) 162951 } 162952 162953 func _winFileControl(tls *crt.TLS, _id *Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) { // sqlite3.c:41122:1 162954 var _pFile *XwinFile // sqlite3.c:41123:11 162955 _ = _pFile 162956 var _6_oldSz int64 // sqlite3.c:41143:23 162957 _ = _6_oldSz 162958 var _6_rc int32 // sqlite3.c:41144:13 162959 _ = _6_rc 162960 var _7_newSz int64 // sqlite3.c:41146:25 162961 _ = _7_newSz 162962 var _12_a *int32 // sqlite3.c:41175:11 162963 _ = _12_a 162964 var _17_phFile *unsafe.Pointer // sqlite3.c:41190:16 162965 _ = _17_phFile 162966 var _18_zTFile *int8 // sqlite3.c:41207:12 162967 _ = _18_zTFile 162968 var _18_rc int32 // sqlite3.c:41208:11 162969 _ = _18_rc 162970 var _20_newLimit int64 // sqlite3.c:41217:11 162971 _ = _20_newLimit 162972 var _20_rc int32 // sqlite3.c:41218:11 162973 _ = _20_rc 162974 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 162975 switch _op { 162976 case i32(1): 162977 goto _1 162978 case i32(4): 162979 goto _2 162980 case i32(5): 162981 goto _4 162982 case i32(6): 162983 goto _3 162984 case i32(9): 162985 goto _8 162986 case i32(10): 162987 goto _5 162988 case i32(12): 162989 goto _7 162990 case i32(13): 162991 goto _6 162992 case i32(16): 162993 goto _10 162994 case i32(18): 162995 goto _11 162996 case i32(29): 162997 goto _9 162998 default: 162999 goto _12 163000 } 163001 163002 _1: 163003 *(*int32)(unsafe.Pointer(_pArg)) = int32(_pFile.X3) 163004 r0 = i32(0) 163005 return 163006 163007 _2: 163008 *(*int32)(unsafe.Pointer(_pArg)) = int32(_pFile.X6) 163009 r0 = i32(0) 163010 return 163011 163012 _3: 163013 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(32 /* X9 */))) = *(*int32)(unsafe.Pointer(_pArg)) 163014 r0 = i32(0) 163015 return 163016 163017 _4: 163018 if (_pFile.X9) <= i32(0) { 163019 goto _13 163020 } 163021 163022 _6_rc = _winFileSize(tls, _id, &_6_oldSz) 163023 if _6_rc != i32(0) { 163024 goto _14 163025 } 163026 163027 _7_newSz = *(*int64)(unsafe.Pointer(_pArg)) 163028 if _7_newSz <= _6_oldSz { 163029 goto _15 163030 } 163031 163032 _6_rc = _winTruncate(tls, _id, _7_newSz) 163033 _15: 163034 _14: 163035 r0 = _6_rc 163036 return 163037 163038 _13: 163039 r0 = i32(0) 163040 return 163041 163042 _5: 163043 _winModeBit(tls, _pFile, uint8(i32(4)), (*int32)(unsafe.Pointer(_pArg))) 163044 r0 = i32(0) 163045 return 163046 163047 _6: 163048 _winModeBit(tls, _pFile, uint8(i32(16)), (*int32)(unsafe.Pointer(_pArg))) 163049 r0 = i32(0) 163050 return 163051 163052 _7: 163053 *(**int8)(unsafe.Pointer(_pArg)) = Xsqlite3_mprintf(tls, str(25612), unsafe.Pointer((*Xsqlite3_vfs)(unsafe.Pointer(_pFile.X1)).X4)) 163054 r0 = i32(0) 163055 return 163056 163057 _8: 163058 _12_a = (*int32)(unsafe.Pointer(_pArg)) 163059 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_a)) + 4*uintptr(i32(0))))) <= i32(0) { 163060 goto _16 163061 } 163062 163063 _winIoerrRetry = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_a)) + 4*uintptr(i32(0)))) 163064 bug20530(_winIoerrRetry) 163065 goto _17 163066 163067 _16: 163068 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_a)) + 4*uintptr(i32(0)))) = _winIoerrRetry 163069 _17: 163070 if (*(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_a)) + 4*uintptr(i32(1))))) <= i32(0) { 163071 goto _18 163072 } 163073 163074 _winIoerrRetryDelay = *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_a)) + 4*uintptr(i32(1)))) 163075 bug20530(_winIoerrRetryDelay) 163076 goto _19 163077 163078 _18: 163079 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_12_a)) + 4*uintptr(i32(1)))) = _winIoerrRetryDelay 163080 _19: 163081 r0 = i32(0) 163082 return 163083 163084 _9: 163085 _17_phFile = (*unsafe.Pointer)(unsafe.Pointer(_pArg)) 163086 *_17_phFile = _pFile.X2 163087 r0 = i32(0) 163088 return 163089 163090 _10: 163091 _18_zTFile = nil 163092 _18_rc = _winGetTempname(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pFile.X1)), &_18_zTFile) 163093 if _18_rc != i32(0) { 163094 goto _20 163095 } 163096 163097 *(**int8)(unsafe.Pointer(_pArg)) = _18_zTFile 163098 _20: 163099 r0 = _18_rc 163100 return 163101 163102 _11: 163103 _20_newLimit = *(*int64)(unsafe.Pointer(_pArg)) 163104 _20_rc = i32(0) 163105 if _20_newLimit <= (_sqlite3Config.X18) { 163106 goto _21 163107 } 163108 163109 _20_newLimit = _sqlite3Config.X18 163110 _21: 163111 *(*int64)(unsafe.Pointer(_pArg)) = _pFile.X15 163112 if _20_newLimit < int64(i32(0)) || _20_newLimit == (_pFile.X15) || (_pFile.X10) != i32(0) { 163113 goto _24 163114 } 163115 163116 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(64 /* X15 */))) = _20_newLimit 163117 if (_pFile.X13) <= int64(i32(0)) { 163118 goto _25 163119 } 163120 163121 _winUnmapfile(tls, _pFile) 163122 _20_rc = _winMapfile(tls, _pFile, int64(i32(-1))) 163123 _25: 163124 _24: 163125 r0 = _20_rc 163126 return 163127 163128 _12: 163129 r0 = i32(12) 163130 return 163131 163132 } 163133 163134 func _winModeBit(tls *crt.TLS, _pFile *XwinFile, _mask uint8, _pArg *int32) { // sqlite3.c:41104:1 163135 if (*_pArg) >= i32(0) { 163136 goto _0 163137 } 163138 163139 *_pArg = bool2int((int32(_pFile.X5) & int32(_mask)) != i32(0)) 163140 goto _1 163141 163142 _0: 163143 if (*_pArg) != i32(0) { 163144 goto _2 163145 } 163146 163147 { 163148 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(16 /* X5 */))) 163149 *p = uint8(int32(*p) & (^int32(_mask))) 163150 sink6915 = *p 163151 } 163152 goto _3 163153 163154 _2: 163155 { 163156 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(16 /* X5 */))) 163157 *p = uint8(int32(*p) | int32(_mask)) 163158 sink6915 = *p 163159 } 163160 _3: 163161 _1: 163162 return 163163 163164 } 163165 163166 func _winGetTempname(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pzBuf **int8) (r0 int32) { // sqlite3.c:42279:1 163167 var _i uint32 // sqlite3.c:42284:10 163168 _ = _i 163169 var _j uint32 // sqlite3.c:42284:13 163170 _ = _j 163171 var _nPre int32 // sqlite3.c:42285:7 163172 _ = _nPre 163173 var _nMax int32 // sqlite3.c:42286:7 163174 _ = _nMax 163175 var _nBuf int32 // sqlite3.c:42286:13 163176 _ = _nBuf 163177 var _nDir int32 // sqlite3.c:42286:19 163178 _ = _nDir 163179 var _nLen int32 // sqlite3.c:42286:25 163180 _ = _nLen 163181 var _zBuf *int8 // sqlite3.c:42287:8 163182 _ = _zBuf 163183 var _2_nDirLen int32 // sqlite3.c:42312:9 163184 _ = _2_nDirLen 163185 var _6_zMulti *int8 // sqlite3.c:42407:10 163186 _ = _6_zMulti 163187 var _6_zWidePath *uint16 // sqlite3.c:42408:12 163188 _ = _6_zWidePath 163189 var _11_zUtf8 *int8 // sqlite3.c:42435:10 163190 _ = _11_zUtf8 163191 var _11_zMbcsPath *int8 // sqlite3.c:42436:10 163192 _ = _11_zMbcsPath 163193 _nPre = _sqlite3Strlen30(tls, str(141340)) 163194 _nMax = _pVfs.X2 163195 _nBuf = _nMax + i32(2) 163196 _zBuf = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nBuf)))) 163197 if _zBuf != nil { 163198 goto _0 163199 } 163200 163201 r0 = _sqlite3IoerrnomemError(tls, i32(42302)) 163202 return 163203 163204 _0: 163205 _nDir = _nMax - (_nPre + i32(15)) 163206 func() int32 { 163207 if _nDir > i32(0) { 163208 return i32(0) 163209 } 163210 return func() int32 { 163211 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42310), unsafe.Pointer((*int8)(unsafe.Pointer(&_winGetTempnameØ00__func__Ø000))), unsafe.Pointer(str(141348))) 163212 crt.X__builtin_abort(tls) 163213 return i32(0) 163214 }() 163215 }() 163216 if Xsqlite3_temp_directory == nil { 163217 goto _3 163218 } 163219 163220 _2_nDirLen = _sqlite3Strlen30(tls, Xsqlite3_temp_directory) 163221 if _2_nDirLen <= i32(0) { 163222 goto _4 163223 } 163224 163225 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(Xsqlite3_temp_directory)) + 1*uintptr(_2_nDirLen-i32(1))))) == i32(47) || int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(Xsqlite3_temp_directory)) + 1*uintptr(_2_nDirLen-i32(1))))) == i32(92) { 163226 goto _6 163227 } 163228 163229 _2_nDirLen += 1 163230 _6: 163231 if _2_nDirLen <= _nDir { 163232 goto _7 163233 } 163234 163235 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163236 r0 = _winLogErrorAtLine(tls, i32(1), uint32(i32(0)), str(141356), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(42320)) 163237 return 163238 163239 _7: 163240 Xsqlite3_snprintf(tls, _nMax, _zBuf, str(25612), unsafe.Pointer(Xsqlite3_temp_directory)) 163241 _4: 163242 goto _8 163243 163244 _3: 163245 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 163246 goto _10 163247 } 163248 163249 _6_zWidePath = (*uint16)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(uint32(_nMax)*u32(2))))) 163250 if _6_zWidePath != nil { 163251 goto _11 163252 } 163253 163254 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163255 r0 = _sqlite3IoerrnomemError(tls, i32(42412)) 163256 return 163257 163258 _11: 163259 if (*(*func(*crt.TLS, uint32, *uint16) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(32)))).X1)})))(tls, uint32(_nMax), _6_zWidePath) != uint32(i32(0)) { 163260 goto _12 163261 } 163262 163263 Xsqlite3_free(tls, (unsafe.Pointer)(_6_zWidePath)) 163264 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163265 r0 = _winLogErrorAtLine(tls, i32(6410), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(141372), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(42418)) 163266 return 163267 163268 _12: 163269 _6_zMulti = _winUnicodeToUtf8(tls, _6_zWidePath) 163270 if _6_zMulti == nil { 163271 goto _13 163272 } 163273 163274 Xsqlite3_snprintf(tls, _nMax, _zBuf, str(25612), unsafe.Pointer(_6_zMulti)) 163275 Xsqlite3_free(tls, (unsafe.Pointer)(_6_zMulti)) 163276 Xsqlite3_free(tls, (unsafe.Pointer)(_6_zWidePath)) 163277 goto _14 163278 163279 _13: 163280 Xsqlite3_free(tls, (unsafe.Pointer)(_6_zWidePath)) 163281 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163282 r0 = _sqlite3IoerrnomemError(tls, i32(42430)) 163283 return 163284 163285 _14: 163286 goto _15 163287 163288 _10: 163289 _11_zMbcsPath = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nMax)))) 163290 if _11_zMbcsPath != nil { 163291 goto _16 163292 } 163293 163294 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163295 r0 = _sqlite3IoerrnomemError(tls, i32(42440)) 163296 return 163297 163298 _16: 163299 if (*(*func(*crt.TLS, uint32, *int8) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(31)))).X1)})))(tls, uint32(_nMax), _11_zMbcsPath) != uint32(i32(0)) { 163300 goto _17 163301 } 163302 163303 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163304 r0 = _winLogErrorAtLine(tls, i32(6410), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(141388), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(42445)) 163305 return 163306 163307 _17: 163308 _11_zUtf8 = _winMbcsToUtf8(tls, _11_zMbcsPath, (*(*func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(0)))).X1)})))(tls)) 163309 if _11_zUtf8 == nil { 163310 goto _18 163311 } 163312 163313 Xsqlite3_snprintf(tls, _nMax, _zBuf, str(25612), unsafe.Pointer(_11_zUtf8)) 163314 Xsqlite3_free(tls, (unsafe.Pointer)(_11_zUtf8)) 163315 goto _19 163316 163317 _18: 163318 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163319 r0 = _sqlite3IoerrnomemError(tls, i32(42455)) 163320 return 163321 163322 _19: 163323 _15: 163324 _8: 163325 if _winMakeEndInDirSep(tls, _nDir+i32(1), _zBuf) != 0 { 163326 goto _20 163327 } 163328 163329 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163330 r0 = _winLogErrorAtLine(tls, i32(1), uint32(i32(0)), str(141404), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(42469)) 163331 return 163332 163333 _20: 163334 _nLen = _sqlite3Strlen30(tls, _zBuf) 163335 if ((_nLen + _nPre) + i32(17)) <= _nBuf { 163336 goto _21 163337 } 163338 163339 Xsqlite3_free(tls, (unsafe.Pointer)(_zBuf)) 163340 r0 = _winLogErrorAtLine(tls, i32(1), uint32(i32(0)), str(141420), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(42487)) 163341 return 163342 163343 _21: 163344 Xsqlite3_snprintf(tls, (_nBuf-i32(16))-_nLen, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zBuf))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_nLen))))))), str(141340)) 163345 _j = uint32(_sqlite3Strlen30(tls, _zBuf)) 163346 Xsqlite3_randomness(tls, i32(15), (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf))+1*uintptr(_j))))) 163347 _i = uint32(i32(0)) 163348 _22: 163349 if _i >= uint32(i32(15)) { 163350 goto _25 163351 } 163352 163353 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_j))) = *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_winGetTempnameØ00zCharsØ001)) + 1*uintptr(uint32(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_j)))))%u32(62)))) 163354 *func() *uint32 { _i += 1; return &_j }() += 1 163355 goto _22 163356 163357 _25: 163358 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_j))) = int8(i32(0)) 163359 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_j+uint32(i32(1))))) = int8(i32(0)) 163360 *_pzBuf = _zBuf 163361 r0 = i32(0) 163362 return 163363 163364 } 163365 163366 var _winGetTempnameØ00__func__Ø000 [15]int8 // - 163367 163368 func init() { 163369 crt.Xstrncpy(nil, &_winGetTempnameØ00__func__Ø000[0], str(141436), 15) 163370 } 163371 163372 func _winMakeEndInDirSep(tls *crt.TLS, _nBuf int32, _zBuf *int8) (r0 int32) { // sqlite3.c:42259:1 163373 var _1_nLen int32 // sqlite3.c:42261:9 163374 _ = _1_nLen 163375 if _zBuf == nil { 163376 goto _0 163377 } 163378 163379 _1_nLen = _sqlite3Strlen30(tls, _zBuf) 163380 if _1_nLen <= i32(0) { 163381 goto _1 163382 } 163383 163384 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_1_nLen-i32(1))))) != i32(47) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_1_nLen-i32(1))))) != i32(92) { 163385 goto _3 163386 } 163387 163388 r0 = i32(1) 163389 return 163390 163391 _3: 163392 if (_1_nLen + i32(1)) >= _nBuf { 163393 goto _5 163394 } 163395 163396 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_1_nLen))) = int8(i32(92)) 163397 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zBuf)) + 1*uintptr(_1_nLen+i32(1)))) = int8(i32(0)) 163398 r0 = i32(1) 163399 return 163400 163401 _5: 163402 _1: 163403 _0: 163404 r0 = i32(0) 163405 return 163406 163407 } 163408 163409 var _winGetTempnameØ00zCharsØ001 [63]int8 // sqlite3.c:42280:15 163410 163411 func init() { 163412 crt.Xstrncpy(nil, &_winGetTempnameØ00zCharsØ001[0], str(141452), 63) 163413 } 163414 163415 func _winMapfile(tls *crt.TLS, _pFd *XwinFile, _nByte int64) (r0 int32) { // sqlite3.c:41963:1 163416 var _nMap int64 // sqlite3.c:41964:17 163417 _ = _nMap 163418 var _rc int32 // sqlite3.c:41965:7 163419 _ = _rc 163420 var _5_pNew unsafe.Pointer // sqlite3.c:41990:10 163421 _ = _5_pNew 163422 var _5_protect uint32 // sqlite3.c:41991:11 163423 _ = _5_protect 163424 var _5_flags uint32 // sqlite3.c:41992:11 163425 _ = _5_flags 163426 _nMap = _nByte 163427 func() int32 { 163428 if (_nMap >= int64(i32(0))) || ((_pFd.X10) == i32(0)) { 163429 return i32(0) 163430 } 163431 return func() int32 { 163432 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41967), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMapfileØ00__func__Ø000))), unsafe.Pointer(str(141516))) 163433 crt.X__builtin_abort(tls) 163434 return i32(0) 163435 }() 163436 }() 163437 if (_pFd.X10) <= i32(0) { 163438 goto _3 163439 } 163440 163441 r0 = i32(0) 163442 return 163443 163444 _3: 163445 if _nMap >= int64(i32(0)) { 163446 goto _4 163447 } 163448 163449 _rc = _winFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer(_pFd)), &_nMap) 163450 if _rc == 0 { 163451 goto _5 163452 } 163453 163454 r0 = i32(1802) 163455 return 163456 163457 _5: 163458 _4: 163459 if _nMap <= (_pFd.X15) { 163460 goto _6 163461 } 163462 163463 _nMap = _pFd.X15 163464 _6: 163465 { 163466 p := &_nMap 163467 *p = (*p) & (^int64((_winSysInfo.X1) - uint32(i32(1)))) 163468 sink967 = *p 163469 } 163470 if _nMap != int64(i32(0)) || (_pFd.X13) <= int64(i32(0)) { 163471 goto _8 163472 } 163473 163474 _winUnmapfile(tls, _pFd) 163475 _8: 163476 if _nMap == (_pFd.X13) { 163477 goto _9 163478 } 163479 163480 _5_pNew = nil 163481 _5_protect = u32(2) 163482 _5_flags = u32(4) 163483 _winUnmapfile(tls, _pFd) 163484 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(40 /* X11 */))) = (*(*func(*crt.TLS, unsafe.Pointer, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, uint32, *uint16) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(7)))).X1)})))(tls, _pFd.X2, (*crt.XSECURITY_ATTRIBUTES)(unsafe.Pointer(nil)), _5_protect, uint32((_nMap>>uint(i32(32)))&int64(u32(4294967295))), uint32(_nMap&int64(u32(4294967295))), (*uint16)(unsafe.Pointer(nil))) 163485 if unsafe.Pointer(_pFd.X11) != nil { 163486 goto _10 163487 } 163488 163489 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 163490 _rc = _winLogErrorAtLine(tls, i32(6154), _pFd.X6, str(141548), _pFd.X8, i32(42014)) 163491 r0 = i32(0) 163492 return 163493 163494 _10: 163495 func() int32 { 163496 if (_nMap % int64(_winSysInfo.X1)) == int64(i32(0)) { 163497 return i32(0) 163498 } 163499 return func() int32 { 163500 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42021), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMapfileØ00__func__Ø000))), unsafe.Pointer(str(141560))) 163501 crt.X__builtin_abort(tls) 163502 return i32(0) 163503 }() 163504 }() 163505 func() int32 { 163506 if i32(0) != 0 || (_nMap <= int64(u32(4294967295))) { 163507 return i32(0) 163508 } 163509 return func() int32 { 163510 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42022), unsafe.Pointer((*int8)(unsafe.Pointer(&_winMapfileØ00__func__Ø000))), unsafe.Pointer(str(141596))) 163511 crt.X__builtin_abort(tls) 163512 return i32(0) 163513 }() 163514 }() 163515 _5_pNew = (*(*func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(49)))).X1)})))(tls, _pFd.X11, _5_flags, uint32(i32(0)), uint32(i32(0)), uint32(_nMap)) 163516 if unsafe.Pointer(_5_pNew) != nil { 163517 goto _16 163518 } 163519 163520 (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(3)))).X1)})))(tls, _pFd.X11) 163521 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(40 /* X11 */))) = nil 163522 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(20 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 163523 _rc = _winLogErrorAtLine(tls, i32(6154), _pFd.X6, str(141656), _pFd.X8, i32(42032)) 163524 r0 = i32(0) 163525 return 163526 163527 _16: 163528 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(44 /* X12 */))) = _5_pNew 163529 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(48 /* X13 */))) = _nMap 163530 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(56 /* X14 */))) = _nMap 163531 _9: 163532 r0 = i32(0) 163533 return 163534 163535 } 163536 163537 var _winMapfileØ00__func__Ø000 [11]int8 // - 163538 163539 func init() { 163540 crt.Xstrncpy(nil, &_winMapfileØ00__func__Ø000[0], str(141668), 11) 163541 } 163542 163543 func _winSectorSize(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:41249:1 163544 163545 r0 = i32(4096) 163546 return 163547 163548 } 163549 163550 func _winDeviceCharacteristics(tls *crt.TLS, _id *Xsqlite3_file) (r0 int32) { // sqlite3.c:41257:1 163551 var _p *XwinFile // sqlite3.c:41258:11 163552 _ = _p 163553 _p = (*XwinFile)(unsafe.Pointer(_id)) 163554 r0 = i32(2048) | func() int32 { 163555 if (int32(_p.X5) & i32(16)) != 0 { 163556 return i32(4096) 163557 } 163558 return i32(0) 163559 }() 163560 return 163561 163562 } 163563 163564 func _winShmMap(tls *crt.TLS, _fd *Xsqlite3_file, _iRegion int32, _szRegion int32, _isWrite int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:41773:1 163565 var _pDbFd *XwinFile // sqlite3.c:41780:11 163566 _ = _pDbFd 163567 var _pShm *XwinShm // sqlite3.c:41781:10 163568 _ = _pShm 163569 var _pShmNode *XwinShmNode // sqlite3.c:41782:14 163570 _ = _pShmNode 163571 var _rc int32 // sqlite3.c:41783:7 163572 _ = _rc 163573 var _2_apNew *Xsqlite3_pcache_page // sqlite3.c:41796:22 163574 _ = _2_apNew 163575 var _2_nByte int32 // sqlite3.c:41797:9 163576 _ = _2_nByte 163577 var _2_sz int64 // sqlite3.c:41798:19 163578 _ = _2_sz 163579 var _7_hMap unsafe.Pointer // sqlite3.c:41840:14 163580 _ = _7_hMap 163581 var _7_pMap unsafe.Pointer // sqlite3.c:41841:12 163582 _ = _7_pMap 163583 var _8_iOffset int32 // sqlite3.c:41860:13 163584 _ = _8_iOffset 163585 var _8_iOffsetShift int32 // sqlite3.c:41861:13 163586 _ = _8_iOffsetShift 163587 var _10_iOffset int32 // sqlite3.c:41891:9 163588 _ = _10_iOffset 163589 var _10_iOffsetShift int32 // sqlite3.c:41892:9 163590 _ = _10_iOffsetShift 163591 var _10_p *int8 // sqlite3.c:41893:10 163592 _ = _10_p 163593 _pDbFd = (*XwinFile)(unsafe.Pointer(_fd)) 163594 _pShm = (*XwinShm)(unsafe.Pointer(_pDbFd.X7)) 163595 _rc = i32(0) 163596 if _pShm != nil { 163597 goto _0 163598 } 163599 163600 _rc = _winOpenSharedMemory(tls, _pDbFd) 163601 if _rc == i32(0) { 163602 goto _1 163603 } 163604 163605 r0 = _rc 163606 return 163607 163608 _1: 163609 _pShm = (*XwinShm)(unsafe.Pointer(_pDbFd.X7)) 163610 _0: 163611 _pShmNode = (*XwinShmNode)(unsafe.Pointer(_pShm.X0)) 163612 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 163613 func() int32 { 163614 if (_szRegion == (_pShmNode.X3)) || ((_pShmNode.X4) == i32(0)) { 163615 return i32(0) 163616 } 163617 return func() int32 { 163618 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41793), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmMapØ00__func__Ø000))), unsafe.Pointer(str(141680))) 163619 crt.X__builtin_abort(tls) 163620 return i32(0) 163621 }() 163622 }() 163623 if (_pShmNode.X4) > _iRegion { 163624 goto _5 163625 } 163626 163627 _2_nByte = (_iRegion + i32(1)) * _szRegion 163628 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(80 /* X3 */))) = _szRegion 163629 _rc = _winFileSize(tls, (*Xsqlite3_file)(unsafe.Pointer((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(8 /* X2 */))))), &_2_sz) 163630 if _rc == i32(0) { 163631 goto _6 163632 } 163633 163634 _rc = _winLogErrorAtLine(tls, i32(4874), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(141736), _pDbFd.X8, i32(41808)) 163635 goto _shmpage_out 163636 163637 _6: 163638 if _2_sz >= int64(_2_nByte) { 163639 goto _7 163640 } 163641 163642 if _isWrite != 0 { 163643 goto _8 163644 } 163645 163646 goto _shmpage_out 163647 163648 _8: 163649 _rc = _winTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(8 /* X2 */))))), int64(_2_nByte)) 163650 if _rc == i32(0) { 163651 goto _9 163652 } 163653 163654 _rc = _winLogErrorAtLine(tls, i32(4874), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(141748), _pDbFd.X8, i32(41823)) 163655 goto _shmpage_out 163656 163657 _9: 163658 _7: 163659 _2_apNew = (*Xsqlite3_pcache_page)(unsafe.Pointer(Xsqlite3_realloc64(tls, _pShmNode.X5, uint64(uint32(_iRegion+i32(1))*u32(8))))) 163660 if _2_apNew != nil { 163661 goto _10 163662 } 163663 163664 _rc = _sqlite3IoerrnomemError(tls, i32(41834)) 163665 goto _shmpage_out 163666 163667 _10: 163668 *(**Xsqlite3_pcache_page)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(88 /* X5 */))))) = _2_apNew 163669 _11: 163670 if (_pShmNode.X4) > _iRegion { 163671 goto _12 163672 } 163673 163674 _7_hMap = nil 163675 _7_pMap = (unsafe.Pointer)(uintptr(i32(0))) 163676 _7_hMap = (*(*func(*crt.TLS, unsafe.Pointer, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, uint32, *uint16) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(7)))).X1)})))(tls, (*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(8 /* X2 */))).X2, (*crt.XSECURITY_ATTRIBUTES)(unsafe.Pointer(nil)), uint32(i32(4)), uint32(i32(0)), uint32(_2_nByte), (*uint16)(unsafe.Pointer(nil))) 163677 if _7_hMap == nil { 163678 goto _13 163679 } 163680 163681 _8_iOffset = (_pShmNode.X4) * _szRegion 163682 _8_iOffsetShift = int32(uint32(_8_iOffset) % (_winSysInfo.X7)) 163683 _7_pMap = (*(*func(*crt.TLS, unsafe.Pointer, uint32, uint32, uint32, uint32) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(49)))).X1)})))(tls, _7_hMap, uint32(i32(6)), uint32(i32(0)), uint32(_8_iOffset-_8_iOffsetShift), uint32(_szRegion+_8_iOffsetShift)) 163684 _13: 163685 if _7_pMap != nil { 163686 goto _14 163687 } 163688 163689 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(92 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 163690 _rc = _winLogErrorAtLine(tls, i32(5386), _pShmNode.X6, str(141760), _pDbFd.X8, i32(41877)) 163691 if _7_hMap == nil { 163692 goto _15 163693 } 163694 163695 (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(3)))).X1)})))(tls, _7_hMap) 163696 _15: 163697 goto _shmpage_out 163698 163699 _14: 163700 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(_pShmNode.X5)+8*uintptr(_pShmNode.X4))))) + uintptr(4 /* X1 */))) = _7_pMap 163701 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(_pShmNode.X5)+8*uintptr(_pShmNode.X4))))) + uintptr(0 /* X0 */))) = _7_hMap 163702 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(84 /* X4 */))) += 1 163703 goto _11 163704 163705 _12: 163706 _5: 163707 _shmpage_out: 163708 if (_pShmNode.X4) <= _iRegion { 163709 goto _16 163710 } 163711 163712 _10_iOffset = _iRegion * _szRegion 163713 _10_iOffsetShift = int32(uint32(_10_iOffset) % (_winSysInfo.X7)) 163714 _10_p = (*int8)(unsafe.Pointer((*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(_pShmNode.X5) + 8*uintptr(_iRegion))).X1)) 163715 *_pp = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_10_p)) + 1*uintptr(_10_iOffsetShift)))) 163716 goto _17 163717 163718 _16: 163719 *_pp = (unsafe.Pointer)(uintptr(i32(0))) 163720 _17: 163721 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 163722 r0 = _rc 163723 return 163724 163725 } 163726 163727 func _winOpenSharedMemory(tls *crt.TLS, _pDbFd *XwinFile) (r0 int32) { // sqlite3.c:41482:1 163728 var _p *XwinShm // sqlite3.c:41483:17 163729 _ = _p 163730 var _pShmNode *XwinShmNode // sqlite3.c:41484:21 163731 _ = _pShmNode 163732 var _rc int32 // sqlite3.c:41485:7 163733 _ = _rc 163734 var _pNew *XwinShmNode // sqlite3.c:41486:21 163735 _ = _pNew 163736 var _nName int32 // sqlite3.c:41487:7 163737 _ = _nName 163738 _pShmNode = nil 163739 func() int32 { 163740 if (*XwinShm)(unsafe.Pointer(_pDbFd.X7)) == (*XwinShm)(unsafe.Pointer(uintptr(i32(0)))) { 163741 return i32(0) 163742 } 163743 return func() int32 { 163744 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41489), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenSharedMemoryØ00__func__Ø000))), unsafe.Pointer(str(141772))) 163745 crt.X__builtin_abort(tls) 163746 return i32(0) 163747 }() 163748 }() 163749 _p = (*XwinShm)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(u32(16))))) 163750 if _p != (*XwinShm)(unsafe.Pointer(uintptr(i32(0)))) { 163751 goto _2 163752 } 163753 163754 r0 = _sqlite3IoerrnomemError(tls, i32(41495)) 163755 return 163756 163757 _2: 163758 _nName = _sqlite3Strlen30(tls, _pDbFd.X8) 163759 _pNew = (*XwinShmNode)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64((u32(112)+uint32(_nName))+uint32(i32(17)))))) 163760 if _pNew != (*XwinShmNode)(unsafe.Pointer(uintptr(i32(0)))) { 163761 goto _3 163762 } 163763 163764 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 163765 r0 = _sqlite3IoerrnomemError(tls, i32(41500)) 163766 return 163767 163768 _3: 163769 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + uintptr(4 /* X1 */))) = (*int8)(unsafe.Pointer((*XwinShmNode)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pNew)) + 112*uintptr(i32(1)))))) 163770 Xsqlite3_snprintf(tls, _nName+i32(15), _pNew.X1, str(141788), unsafe.Pointer(_pDbFd.X8)) 163771 _winShmEnterMutex(tls) 163772 _pShmNode = _winShmNodeList 163773 _4: 163774 if _pShmNode == nil { 163775 goto _7 163776 } 163777 163778 if _sqlite3StrICmp(tls, _pShmNode.X1, _pNew.X1) != i32(0) { 163779 goto _8 163780 } 163781 163782 goto _7 163783 163784 _8: 163785 _pShmNode = (*XwinShmNode)(unsafe.Pointer(_pShmNode.X9)) 163786 goto _4 163787 163788 _7: 163789 if _pShmNode == nil { 163790 goto _9 163791 } 163792 163793 Xsqlite3_free(tls, (unsafe.Pointer)(_pNew)) 163794 goto _10 163795 163796 _9: 163797 _pShmNode = _pNew 163798 _pNew = (*XwinShmNode)(unsafe.Pointer(uintptr(i32(0)))) 163799 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(8 /* X2 */))))) + uintptr(8 /* X2 */))) = (unsafe.Pointer)(uintptr(u32(4294967295))) 163800 *(**XwinShmNode)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(104 /* X9 */))))) = _winShmNodeList 163801 _winShmNodeList = _pShmNode 163802 bug20530(_winShmNodeList) 163803 if (_sqlite3Config.X1) == 0 { 163804 goto _11 163805 } 163806 163807 *(**Xsqlite3_mutex)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(0 /* X0 */))))) = Xsqlite3_mutex_alloc(tls, i32(0)) 163808 if (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0)) != (*Xsqlite3_mutex)(unsafe.Pointer(uintptr(i32(0)))) { 163809 goto _12 163810 } 163811 163812 _rc = _sqlite3IoerrnomemError(tls, i32(41528)) 163813 goto _shm_open_err 163814 163815 _12: 163816 _11: 163817 _rc = _winOpen(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pDbFd.X1)), _pShmNode.X1, (*Xsqlite3_file)(unsafe.Pointer((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(8 /* X2 */))))), i32(524294), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 163818 if i32(0) == _rc { 163819 goto _13 163820 } 163821 163822 goto _shm_open_err 163823 163824 _13: 163825 if _winShmSystemLock(tls, _pShmNode, i32(3), i32(128), i32(1)) != i32(0) { 163826 goto _14 163827 } 163828 163829 _rc = _winTruncate(tls, (*Xsqlite3_file)(unsafe.Pointer((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(8 /* X2 */))))), int64(i32(0))) 163830 if _rc == i32(0) { 163831 goto _15 163832 } 163833 163834 _rc = _winLogErrorAtLine(tls, i32(4618), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(141796), _pDbFd.X8, i32(41548)) 163835 _15: 163836 _14: 163837 if _rc != i32(0) { 163838 goto _16 163839 } 163840 163841 _winShmSystemLock(tls, _pShmNode, i32(1), i32(128), i32(1)) 163842 _rc = _winShmSystemLock(tls, _pShmNode, i32(2), i32(128), i32(1)) 163843 _16: 163844 if _rc == 0 { 163845 goto _17 163846 } 163847 163848 goto _shm_open_err 163849 163850 _17: 163851 _10: 163852 *(**XwinShmNode)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(0 /* X0 */))))) = _pShmNode 163853 *(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(14 /* X5 */))) = postInc6915((*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode))+uintptr(108 /* X10 */))), uint8(1)) 163854 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(96 /* X7 */))) += 1 163855 *(**XwinShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDbFd)) + uintptr(24 /* X7 */))))) = _p 163856 _winShmLeaveMutex(tls) 163857 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 163858 *(**XwinShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(4 /* X1 */))))) = (*XwinShm)(unsafe.Pointer(_pShmNode.X8)) 163859 *(**XwinShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(100 /* X8 */))))) = _p 163860 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 163861 r0 = i32(0) 163862 return 163863 163864 _shm_open_err: 163865 _winShmSystemLock(tls, _pShmNode, i32(1), i32(128), i32(1)) 163866 _winShmPurge(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pDbFd.X1)), i32(0)) 163867 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 163868 Xsqlite3_free(tls, (unsafe.Pointer)(_pNew)) 163869 _winShmLeaveMutex(tls) 163870 r0 = _rc 163871 return 163872 163873 } 163874 163875 var _winOpenSharedMemoryØ00__func__Ø000 [20]int8 // - 163876 163877 func init() { 163878 crt.Xstrncpy(nil, &_winOpenSharedMemoryØ00__func__Ø000[0], str(141808), 20) 163879 } 163880 163881 func _winShmEnterMutex(tls *crt.TLS) { // sqlite3.c:41286:1 163882 Xsqlite3_mutex_enter(tls, _sqlite3MutexAlloc(tls, i32(11))) 163883 return 163884 163885 } 163886 163887 var _winShmNodeList *XwinShmNode // sqlite3.c:41347:19 163888 163889 func _winOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zName *int8, _id *Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) { // sqlite3.c:42537:1 163890 var _h unsafe.Pointer // sqlite3.c:42544:10 163891 _ = _h 163892 var _lastErrno uint32 // sqlite3.c:42545:9 163893 _ = _lastErrno 163894 var _dwDesiredAccess uint32 // sqlite3.c:42546:9 163895 _ = _dwDesiredAccess 163896 var _dwShareMode uint32 // sqlite3.c:42547:9 163897 _ = _dwShareMode 163898 var _dwCreationDisposition uint32 // sqlite3.c:42548:9 163899 _ = _dwCreationDisposition 163900 var _dwFlagsAndAttributes uint32 // sqlite3.c:42549:9 163901 _ = _dwFlagsAndAttributes 163902 var _pAppData *XwinVfsAppData // sqlite3.c:42553:17 163903 _ = _pAppData 163904 var _pFile *XwinFile // sqlite3.c:42554:11 163905 _ = _pFile 163906 var _zConverted unsafe.Pointer // sqlite3.c:42555:8 163907 _ = _zConverted 163908 var _zUtf8Name *int8 // sqlite3.c:42556:14 163909 _ = _zUtf8Name 163910 var _cnt int32 // sqlite3.c:42557:7 163911 _ = _cnt 163912 var _zTmpname *int8 // sqlite3.c:42562:8 163913 _ = _zTmpname 163914 var _rc int32 // sqlite3.c:42564:7 163915 _ = _rc 163916 var _eType int32 // sqlite3.c:42566:7 163917 _ = _eType 163918 var _isExclusive int32 // sqlite3.c:42569:7 163919 _ = _isExclusive 163920 var _isDelete int32 // sqlite3.c:42570:7 163921 _ = _isDelete 163922 var _isCreate int32 // sqlite3.c:42571:7 163923 _ = _isCreate 163924 var _isReadonly int32 // sqlite3.c:42572:7 163925 _ = _isReadonly 163926 var _isReadWrite int32 // sqlite3.c:42573:7 163927 _ = _isReadWrite 163928 var _isOpenJournal int32 // sqlite3.c:42576:7 163929 _ = _isOpenJournal 163930 _lastErrno = u32(0) 163931 _dwFlagsAndAttributes = u32(0) 163932 _pFile = (*XwinFile)(unsafe.Pointer(_id)) 163933 _zUtf8Name = _zName 163934 _cnt = i32(0) 163935 _zTmpname = nil 163936 _rc = i32(0) 163937 _eType = int32(uint32(_flags) & u32(4294967040)) 163938 _isExclusive = _flags & i32(16) 163939 _isDelete = _flags & i32(8) 163940 _isCreate = _flags & i32(4) 163941 _isReadonly = _flags & i32(1) 163942 _isReadWrite = _flags & i32(2) 163943 _isOpenJournal = bool2int(_isCreate != 0 && (((_eType == i32(16384)) || (_eType == i32(2048))) || (_eType == i32(524288)))) 163944 func() int32 { 163945 if ((_isReadonly == i32(0)) || (_isReadWrite == i32(0))) && (_isReadWrite != 0 || _isReadonly != 0) { 163946 return i32(0) 163947 } 163948 return func() int32 { 163949 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42593), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(141828))) 163950 crt.X__builtin_abort(tls) 163951 return i32(0) 163952 }() 163953 }() 163954 func() int32 { 163955 if (_isCreate == i32(0)) || _isReadWrite != 0 { 163956 return i32(0) 163957 } 163958 return func() int32 { 163959 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42594), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(141896))) 163960 crt.X__builtin_abort(tls) 163961 return i32(0) 163962 }() 163963 }() 163964 func() int32 { 163965 if (_isExclusive == i32(0)) || _isCreate != 0 { 163966 return i32(0) 163967 } 163968 return func() int32 { 163969 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42595), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(141924))) 163970 crt.X__builtin_abort(tls) 163971 return i32(0) 163972 }() 163973 }() 163974 func() int32 { 163975 if (_isDelete == i32(0)) || _isCreate != 0 { 163976 return i32(0) 163977 } 163978 return func() int32 { 163979 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42596), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(141952))) 163980 crt.X__builtin_abort(tls) 163981 return i32(0) 163982 }() 163983 }() 163984 func() int32 { 163985 if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(256)) { 163986 return i32(0) 163987 } 163988 return func() int32 { 163989 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42600), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(141976))) 163990 crt.X__builtin_abort(tls) 163991 return i32(0) 163992 }() 163993 }() 163994 func() int32 { 163995 if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(2048)) { 163996 return i32(0) 163997 } 163998 return func() int32 { 163999 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42601), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(142028))) 164000 crt.X__builtin_abort(tls) 164001 return i32(0) 164002 }() 164003 }() 164004 func() int32 { 164005 if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(16384)) { 164006 return i32(0) 164007 } 164008 return func() int32 { 164009 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42602), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(142084))) 164010 crt.X__builtin_abort(tls) 164011 return i32(0) 164012 }() 164013 }() 164014 func() int32 { 164015 if ((_isDelete == 0) && (_zName != nil)) || (_eType != i32(524288)) { 164016 return i32(0) 164017 } 164018 return func() int32 { 164019 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42603), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(142144))) 164020 crt.X__builtin_abort(tls) 164021 return i32(0) 164022 }() 164023 }() 164024 func() int32 { 164025 if (((((((_eType == i32(256)) || (_eType == i32(512))) || (_eType == i32(2048))) || (_eType == i32(4096))) || (_eType == i32(8192))) || (_eType == i32(16384))) || (_eType == i32(1024))) || (_eType == i32(524288)) { 164026 return i32(0) 164027 } 164028 return func() int32 { 164029 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42606), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(142192))) 164030 crt.X__builtin_abort(tls) 164031 return i32(0) 164032 }() 164033 }() 164034 func() int32 { 164035 if _pFile != (*XwinFile)(unsafe.Pointer(uintptr(i32(0)))) { 164036 return i32(0) 164037 } 164038 return func() int32 { 164039 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42612), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(140544))) 164040 crt.X__builtin_abort(tls) 164041 return i32(0) 164042 }() 164043 }() 164044 crt.Xmemset(tls, (unsafe.Pointer)(_pFile), i32(0), u32(72)) 164045 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(8 /* X2 */))) = (unsafe.Pointer)(uintptr(u32(4294967295))) 164046 if _zUtf8Name != nil { 164047 goto _44 164048 } 164049 164050 func() int32 { 164051 if _isDelete != 0 && (_isOpenJournal == 0) { 164052 return i32(0) 164053 } 164054 return func() int32 { 164055 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42627), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(142452))) 164056 crt.X__builtin_abort(tls) 164057 return i32(0) 164058 }() 164059 }() 164060 _rc = _winGetTempname(tls, _pVfs, &_zTmpname) 164061 if _rc == i32(0) { 164062 goto _48 164063 } 164064 164065 r0 = _rc 164066 return 164067 164068 _48: 164069 _zUtf8Name = _zTmpname 164070 _44: 164071 func() int32 { 164072 if ((_eType != i32(256)) || (_flags&i32(64)) != 0) || (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zUtf8Name)) + 1*uintptr(_sqlite3Strlen30(tls, _zUtf8Name)+i32(1))))) == i32(0)) { 164073 return i32(0) 164074 } 164075 return func() int32 { 164076 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42640), unsafe.Pointer((*int8)(unsafe.Pointer(&_winOpenØ00__func__Ø000))), unsafe.Pointer(str(142480))) 164077 crt.X__builtin_abort(tls) 164078 return i32(0) 164079 }() 164080 }() 164081 _zConverted = _winConvertFromUtf8Filename(tls, _zUtf8Name) 164082 if unsafe.Pointer(_zConverted) != (unsafe.Pointer)(uintptr(i32(0))) { 164083 goto _53 164084 } 164085 164086 Xsqlite3_free(tls, (unsafe.Pointer)(_zTmpname)) 164087 r0 = _sqlite3IoerrnomemError(tls, i32(42648)) 164088 return 164089 164090 _53: 164091 if _winIsDir(tls, _zConverted) == 0 { 164092 goto _54 164093 } 164094 164095 Xsqlite3_free(tls, _zConverted) 164096 Xsqlite3_free(tls, (unsafe.Pointer)(_zTmpname)) 164097 r0 = i32(526) 164098 return 164099 164100 _54: 164101 if _isReadWrite == 0 { 164102 goto _55 164103 } 164104 164105 _dwDesiredAccess = uint32(i32(-1073741824)) 164106 goto _56 164107 164108 _55: 164109 _dwDesiredAccess = uint32(i32(-2147483648)) 164110 _56: 164111 if _isExclusive == 0 { 164112 goto _57 164113 } 164114 164115 _dwCreationDisposition = uint32(i32(1)) 164116 goto _58 164117 164118 _57: 164119 if _isCreate == 0 { 164120 goto _59 164121 } 164122 164123 _dwCreationDisposition = uint32(i32(4)) 164124 goto _60 164125 164126 _59: 164127 _dwCreationDisposition = uint32(i32(3)) 164128 _60: 164129 _58: 164130 _dwShareMode = uint32(i32(3)) 164131 if _isDelete == 0 { 164132 goto _61 164133 } 164134 164135 _dwFlagsAndAttributes = uint32(i32(67109122)) 164136 goto _62 164137 164138 _61: 164139 _dwFlagsAndAttributes = uint32(i32(128)) 164140 _62: 164141 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 164142 goto _64 164143 } 164144 164145 _65: 164146 if unsafe.Pointer(store1008(&_h, (*(*func(*crt.TLS, *uint16, uint32, uint32, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(5)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted)), _dwDesiredAccess, _dwShareMode, (*crt.XSECURITY_ATTRIBUTES)(unsafe.Pointer(nil)), _dwCreationDisposition, _dwFlagsAndAttributes, nil))) != (unsafe.Pointer)(uintptr(u32(4294967295))) || _winRetryIoerr(tls, &_cnt, &_lastErrno) == 0 { 164147 goto _66 164148 } 164149 164150 goto _65 164151 164152 _66: 164153 goto _68 164154 164155 _64: 164156 _69: 164157 if unsafe.Pointer(store1008(&_h, (*(*func(*crt.TLS, *int8, uint32, uint32, *crt.XSECURITY_ATTRIBUTES, uint32, uint32, unsafe.Pointer) unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(4)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted)), _dwDesiredAccess, _dwShareMode, (*crt.XSECURITY_ATTRIBUTES)(unsafe.Pointer(nil)), _dwCreationDisposition, _dwFlagsAndAttributes, nil))) != (unsafe.Pointer)(uintptr(u32(4294967295))) || _winRetryIoerr(tls, &_cnt, &_lastErrno) == 0 { 164158 goto _70 164159 } 164160 164161 goto _69 164162 164163 _70: 164164 _68: 164165 _winLogIoerr(tls, _cnt, i32(42743)) 164166 if unsafe.Pointer(_h) != (unsafe.Pointer)(uintptr(u32(4294967295))) { 164167 goto _72 164168 } 164169 164170 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = _lastErrno 164171 _winLogErrorAtLine(tls, i32(14), _pFile.X6, str(142584), _zUtf8Name, i32(42750)) 164172 Xsqlite3_free(tls, _zConverted) 164173 Xsqlite3_free(tls, (unsafe.Pointer)(_zTmpname)) 164174 if _isReadWrite == 0 || _isExclusive != 0 { 164175 goto _74 164176 } 164177 164178 r0 = _winOpen(tls, _pVfs, _zName, _id, (_flags|i32(1))&i32(-7), _pOutFlags) 164179 return 164180 164181 _74: 164182 r0 = _sqlite3CantopenError(tls, i32(42759)) 164183 return 164184 164185 _72: 164186 if _pOutFlags == nil { 164187 goto _76 164188 } 164189 164190 if _isReadWrite == 0 { 164191 goto _77 164192 } 164193 164194 *_pOutFlags = i32(2) 164195 goto _78 164196 164197 _77: 164198 *_pOutFlags = i32(1) 164199 _78: 164200 _76: 164201 _pAppData = (*XwinVfsAppData)(unsafe.Pointer(_pVfs.X5)) 164202 Xsqlite3_free(tls, _zConverted) 164203 Xsqlite3_free(tls, (unsafe.Pointer)(_zTmpname)) 164204 *(**Xsqlite3_io_methods)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(0 /* X0 */))))) = func() *Xsqlite3_io_methods { 164205 if _pAppData != nil { 164206 return (*Xsqlite3_io_methods)(unsafe.Pointer(_pAppData.X0)) 164207 } 164208 return &_winIoMethod 164209 }() 164210 *(**Xsqlite3_vfs)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(4 /* X1 */))))) = _pVfs 164211 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(8 /* X2 */))) = _h 164212 if _isReadonly == 0 { 164213 goto _81 164214 } 164215 164216 { 164217 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(16 /* X5 */))) 164218 *p = uint8(int32(*p) | i32(2)) 164219 sink6915 = *p 164220 } 164221 _81: 164222 if Xsqlite3_uri_boolean(tls, _zName, str(142592), i32(1)) == 0 { 164223 goto _82 164224 } 164225 164226 { 164227 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(16 /* X5 */))) 164228 *p = uint8(int32(*p) | i32(16)) 164229 sink6915 = *p 164230 } 164231 _82: 164232 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(20 /* X6 */))) = uint32(i32(0)) 164233 *(**int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(28 /* X8 */))) = _zName 164234 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(40 /* X11 */))) = nil 164235 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(44 /* X12 */))) = (unsafe.Pointer)(uintptr(i32(0))) 164236 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(48 /* X13 */))) = int64(i32(0)) 164237 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(56 /* X14 */))) = int64(i32(0)) 164238 *(*int64)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(64 /* X15 */))) = _sqlite3Config.X17 164239 r0 = _rc 164240 return 164241 164242 } 164243 164244 var _winOpenØ00__func__Ø000 [8]int8 // - 164245 164246 func init() { 164247 crt.Xstrncpy(nil, &_winOpenØ00__func__Ø000[0], str(142584), 8) 164248 } 164249 164250 func _winConvertFromUtf8Filename(tls *crt.TLS, _zFilename *int8) (r0 unsafe.Pointer) { // sqlite3.c:42240:1 164251 var _zConverted unsafe.Pointer // sqlite3.c:42241:8 164252 _ = _zConverted 164253 _zConverted = nil 164254 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 164255 goto _1 164256 } 164257 164258 _zConverted = (unsafe.Pointer)(_winUtf8ToUnicode(tls, _zFilename)) 164259 goto _2 164260 164261 _1: 164262 _zConverted = (unsafe.Pointer)(_winUtf8ToMbcs(tls, _zFilename, (*(*func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(0)))).X1)})))(tls))) 164263 _2: 164264 r0 = _zConverted 164265 return 164266 164267 } 164268 164269 func _winUtf8ToUnicode(tls *crt.TLS, _zText *int8) (r0 *uint16) { // sqlite3.c:39353:1 164270 var _nChar int32 // sqlite3.c:39354:7 164271 _ = _nChar 164272 var _zWideText *uint16 // sqlite3.c:39355:10 164273 _ = _zWideText 164274 _nChar = (*(*func(*crt.TLS, uint32, uint32, *int8, int32, *uint16, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(50)))).X1)})))(tls, uint32(i32(65001)), uint32(i32(0)), _zText, i32(-1), (*uint16)(unsafe.Pointer(nil)), i32(0)) 164275 if _nChar != i32(0) { 164276 goto _0 164277 } 164278 164279 r0 = (*uint16)(unsafe.Pointer(uintptr(i32(0)))) 164280 return 164281 164282 _0: 164283 _zWideText = (*uint16)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(uint32(_nChar)*u32(2))))) 164284 if _zWideText != (*uint16)(unsafe.Pointer(uintptr(i32(0)))) { 164285 goto _1 164286 } 164287 164288 r0 = (*uint16)(unsafe.Pointer(uintptr(i32(0)))) 164289 return 164290 164291 _1: 164292 _nChar = (*(*func(*crt.TLS, uint32, uint32, *int8, int32, *uint16, int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(50)))).X1)})))(tls, uint32(i32(65001)), uint32(i32(0)), _zText, i32(-1), _zWideText, _nChar) 164293 if _nChar != i32(0) { 164294 goto _2 164295 } 164296 164297 Xsqlite3_free(tls, (unsafe.Pointer)(_zWideText)) 164298 _zWideText = (*uint16)(unsafe.Pointer(uintptr(i32(0)))) 164299 _2: 164300 r0 = _zWideText 164301 return 164302 164303 } 164304 164305 func _winUtf8ToMbcs(tls *crt.TLS, _zText *int8, _useAnsi int32) (r0 *int8) { // sqlite3.c:39480:1 164306 var _zTextMbcs *int8 // sqlite3.c:39481:8 164307 _ = _zTextMbcs 164308 var _zTmpWide *uint16 // sqlite3.c:39482:10 164309 _ = _zTmpWide 164310 _zTmpWide = _winUtf8ToUnicode(tls, _zText) 164311 if _zTmpWide != (*uint16)(unsafe.Pointer(uintptr(i32(0)))) { 164312 goto _0 164313 } 164314 164315 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 164316 return 164317 164318 _0: 164319 _zTextMbcs = _winUnicodeToMbcs(tls, _zTmpWide, _useAnsi) 164320 Xsqlite3_free(tls, (unsafe.Pointer)(_zTmpWide)) 164321 r0 = _zTextMbcs 164322 return 164323 164324 } 164325 164326 func _winUnicodeToMbcs(tls *crt.TLS, _zWideText *uint16, _useAnsi int32) (r0 *int8) { // sqlite3.c:39435:1 164327 var _nByte int32 // sqlite3.c:39436:7 164328 _ = _nByte 164329 var _zText *int8 // sqlite3.c:39437:8 164330 _ = _zText 164331 var _codepage int32 // sqlite3.c:39438:7 164332 _ = _codepage 164333 _codepage = func() int32 { 164334 if _useAnsi != 0 { 164335 return i32(0) 164336 } 164337 return i32(1) 164338 }() 164339 _nByte = (*(*func(*crt.TLS, uint32, uint32, *uint16, int32, *int8, int32, *int8, *int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(60)))).X1)})))(tls, uint32(_codepage), uint32(i32(0)), _zWideText, i32(-1), (*int8)(unsafe.Pointer(uintptr(i32(0)))), i32(0), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 164340 if _nByte != i32(0) { 164341 goto _2 164342 } 164343 164344 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 164345 return 164346 164347 _2: 164348 _zText = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nByte)))) 164349 if _zText != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 164350 goto _3 164351 } 164352 164353 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 164354 return 164355 164356 _3: 164357 _nByte = (*(*func(*crt.TLS, uint32, uint32, *uint16, int32, *int8, int32, *int8, *int32) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(60)))).X1)})))(tls, uint32(_codepage), uint32(i32(0)), _zWideText, i32(-1), _zText, _nByte, (*int8)(unsafe.Pointer(uintptr(i32(0)))), (*int32)(unsafe.Pointer(uintptr(i32(0))))) 164358 if _nByte != i32(0) { 164359 goto _4 164360 } 164361 164362 Xsqlite3_free(tls, (unsafe.Pointer)(_zText)) 164363 _zText = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 164364 _4: 164365 r0 = _zText 164366 return 164367 164368 } 164369 164370 func _winIsDir(tls *crt.TLS, _zConverted unsafe.Pointer) (r0 int32) { // sqlite3.c:42510:1 164371 var _attr uint32 // sqlite3.c:42511:9 164372 _ = _attr 164373 var _rc int32 // sqlite3.c:42512:7 164374 _ = _rc 164375 var _lastErrno uint32 // sqlite3.c:42513:9 164376 _ = _lastErrno 164377 var _1_cnt int32 // sqlite3.c:42516:9 164378 _ = _1_cnt 164379 var _1_sAttrData XWIN32_FILE_ATTRIBUTE_DATA // sqlite3.c:42517:31 164380 _ = _1_sAttrData 164381 _rc = i32(0) 164382 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 164383 goto _1 164384 } 164385 164386 _1_cnt = i32(0) 164387 crt.Xmemset(tls, (unsafe.Pointer)(&_1_sAttrData), i32(0), u32(36)) 164388 _2: 164389 if store961(&_rc, (*(*func(*crt.TLS, *uint16, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(22)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted)), i32(0), (unsafe.Pointer)(&_1_sAttrData))) != 0 || _winRetryIoerr(tls, &_1_cnt, &_lastErrno) == 0 { 164390 goto _3 164391 } 164392 164393 goto _2 164394 164395 _3: 164396 if _rc != 0 { 164397 goto _5 164398 } 164399 164400 r0 = i32(0) 164401 return 164402 164403 _5: 164404 _attr = _1_sAttrData.X0 164405 goto _6 164406 164407 _1: 164408 _attr = (*(*func(*crt.TLS, *int8) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(20)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted))) 164409 _6: 164410 r0 = bool2int((_attr != uint32(i32(-1))) && ((_attr & uint32(i32(16))) != 0)) 164411 return 164412 164413 } 164414 164415 func _winShmSystemLock(tls *crt.TLS, _pFile *XwinShmNode, _lockType int32, _ofst int32, _nByte int32) (r0 int32) { // sqlite3.c:41385:1 164416 var _rc int32 // sqlite3.c:41391:7 164417 _ = _rc 164418 var _2_dwFlags uint32 // sqlite3.c:41404:11 164419 _ = _2_dwFlags 164420 _rc = i32(0) 164421 func() int32 { 164422 if Xsqlite3_mutex_held(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pFile.X0))) != 0 || ((_pFile.X7) == i32(0)) { 164423 return i32(0) 164424 } 164425 return func() int32 { 164426 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41394), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmSystemLockØ00__func__Ø000))), unsafe.Pointer(str(142600))) 164427 crt.X__builtin_abort(tls) 164428 return i32(0) 164429 }() 164430 }() 164431 if _lockType != i32(1) { 164432 goto _3 164433 } 164434 164435 _rc = _winUnlockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */)))))+uintptr(8 /* X2 */))), uint32(_ofst), uint32(i32(0)), uint32(_nByte), uint32(i32(0))) 164436 goto _4 164437 164438 _3: 164439 _2_dwFlags = u32(1) 164440 if _lockType != i32(3) { 164441 goto _5 164442 } 164443 164444 { 164445 p := &_2_dwFlags 164446 *p = (*p) | uint32(i32(2)) 164447 sink985 = *p 164448 } 164449 _5: 164450 _rc = _winLockFile(tls, (*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile))+uintptr(8 /* X2 */)))))+uintptr(8 /* X2 */))), _2_dwFlags, uint32(_ofst), uint32(i32(0)), uint32(_nByte), uint32(i32(0))) 164451 _4: 164452 if _rc == i32(0) { 164453 goto _6 164454 } 164455 164456 _rc = i32(0) 164457 goto _7 164458 164459 _6: 164460 *(*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFile)) + uintptr(92 /* X6 */))) = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 164461 _rc = i32(5) 164462 _7: 164463 r0 = _rc 164464 return 164465 164466 } 164467 164468 var _winShmSystemLockØ00__func__Ø000 [17]int8 // - 164469 164470 func init() { 164471 crt.Xstrncpy(nil, &_winShmSystemLockØ00__func__Ø000[0], str(142652), 17) 164472 } 164473 164474 func _winShmLeaveMutex(tls *crt.TLS) { // sqlite3.c:41289:1 164475 Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, i32(11))) 164476 return 164477 164478 } 164479 164480 func _winShmPurge(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _deleteFlag int32) { // sqlite3.c:41433:1 164481 var _pp **XwinShmNode // sqlite3.c:41434:14 164482 _ = _pp 164483 var _p *XwinShmNode // sqlite3.c:41435:14 164484 _ = _p 164485 var _2_i int32 // sqlite3.c:41442:11 164486 _ = _2_i 164487 var _4_bRc int32 // sqlite3.c:41445:14 164488 _ = _4_bRc 164489 func() int32 { 164490 if _winShmMutexHeld(tls) != 0 { 164491 return i32(0) 164492 } 164493 return func() int32 { 164494 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41436), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmPurgeØ00__func__Ø000))), unsafe.Pointer(str(142672))) 164495 crt.X__builtin_abort(tls) 164496 return i32(0) 164497 }() 164498 }() 164499 _pp = &_winShmNodeList 164500 _2: 164501 if store7878327(&_p, *_pp) == (*XwinShmNode)(unsafe.Pointer(uintptr(i32(0)))) { 164502 goto _3 164503 } 164504 164505 if (_p.X7) != i32(0) { 164506 goto _4 164507 } 164508 164509 if (*Xsqlite3_mutex)(unsafe.Pointer(_p.X0)) == nil { 164510 goto _5 164511 } 164512 164513 Xsqlite3_mutex_free(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_p.X0))) 164514 _5: 164515 _2_i = i32(0) 164516 _6: 164517 if _2_i >= (_p.X4) { 164518 goto _9 164519 } 164520 164521 _4_bRc = (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(59)))).X1)})))(tls, (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(_p.X5)+8*uintptr(_2_i))).X1) 164522 164523 _4_bRc = (*(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(3)))).X1)})))(tls, (*Xsqlite3_pcache_page)(unsafe.Pointer(uintptr(_p.X5)+8*uintptr(_2_i))).X0) 164524 164525 _2_i += 1 164526 goto _6 164527 164528 _9: 164529 if ((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))).X2) == nil || ((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */))).X2) == (unsafe.Pointer)(uintptr(u32(4294967295))) { 164530 goto _11 164531 } 164532 164533 _winClose(tls, (*Xsqlite3_file)(unsafe.Pointer((*XwinFile)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(8 /* X2 */)))))) 164534 _11: 164535 if _deleteFlag == 0 { 164536 goto _12 164537 } 164538 164539 _sqlite3BeginBenignMalloc(tls) 164540 _winDelete(tls, _pVfs, _p.X1, i32(0)) 164541 _sqlite3EndBenignMalloc(tls) 164542 _12: 164543 *_pp = (*XwinShmNode)(unsafe.Pointer(_p.X9)) 164544 Xsqlite3_free(tls, _p.X5) 164545 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 164546 goto _13 164547 164548 _4: 164549 _pp = (**XwinShmNode)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(104 /* X9 */))))) 164550 _13: 164551 goto _2 164552 164553 _3: 164554 return 164555 164556 } 164557 164558 func _winShmMutexHeld(tls *crt.TLS) (r0 int32) { // sqlite3.c:41293:1 164559 r0 = Xsqlite3_mutex_held(tls, _sqlite3MutexAlloc(tls, i32(11))) 164560 return 164561 164562 } 164563 164564 var _winShmPurgeØ00__func__Ø000 [12]int8 // - 164565 164566 func init() { 164567 crt.Xstrncpy(nil, &_winShmPurgeØ00__func__Ø000[0], str(142692), 12) 164568 } 164569 164570 func _winDelete(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFilename *int8, _syncDir int32) (r0 int32) { // sqlite3.c:42834:1 164571 var _cnt int32 // sqlite3.c:42839:7 164572 _ = _cnt 164573 var _rc int32 // sqlite3.c:42840:7 164574 _ = _rc 164575 var _attr uint32 // sqlite3.c:42841:9 164576 _ = _attr 164577 var _lastErrno uint32 // sqlite3.c:42842:9 164578 _ = _lastErrno 164579 var _zConverted unsafe.Pointer // sqlite3.c:42843:8 164580 _ = _zConverted 164581 _cnt = i32(0) 164582 _lastErrno = u32(0) 164583 164584 _zConverted = _winConvertFromUtf8Filename(tls, _zFilename) 164585 if unsafe.Pointer(_zConverted) != (unsafe.Pointer)(uintptr(i32(0))) { 164586 goto _0 164587 } 164588 164589 r0 = _sqlite3IoerrnomemError(tls, i32(42853)) 164590 return 164591 164592 _0: 164593 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 164594 goto _2 164595 } 164596 164597 _3: 164598 _attr = (*(*func(*crt.TLS, *uint16) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(21)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted))) 164599 if _attr != uint32(i32(-1)) { 164600 goto _4 164601 } 164602 164603 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 164604 if _lastErrno != uint32(i32(2)) && _lastErrno != uint32(i32(3)) { 164605 goto _6 164606 } 164607 164608 _rc = i32(5898) 164609 goto _7 164610 164611 _6: 164612 _rc = i32(1) 164613 _7: 164614 goto _8 164615 164616 _4: 164617 if (_attr & uint32(i32(16))) == 0 { 164618 goto _9 164619 } 164620 164621 _rc = i32(1) 164622 goto _8 164623 164624 _9: 164625 if (*(*func(*crt.TLS, *uint16) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(10)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted))) == 0 { 164626 goto _10 164627 } 164628 164629 _rc = i32(0) 164630 goto _8 164631 164632 _10: 164633 if _winRetryIoerr(tls, &_cnt, &_lastErrno) != 0 { 164634 goto _11 164635 } 164636 164637 _rc = i32(1) 164638 goto _8 164639 164640 _11: 164641 goto _3 164642 164643 _8: 164644 goto _12 164645 164646 _2: 164647 _13: 164648 _attr = (*(*func(*crt.TLS, *int8) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(20)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted))) 164649 if _attr != uint32(i32(-1)) { 164650 goto _14 164651 } 164652 164653 _lastErrno = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 164654 if _lastErrno != uint32(i32(2)) && _lastErrno != uint32(i32(3)) { 164655 goto _16 164656 } 164657 164658 _rc = i32(5898) 164659 goto _17 164660 164661 _16: 164662 _rc = i32(1) 164663 _17: 164664 goto _18 164665 164666 _14: 164667 if (_attr & uint32(i32(16))) == 0 { 164668 goto _19 164669 } 164670 164671 _rc = i32(1) 164672 goto _18 164673 164674 _19: 164675 if (*(*func(*crt.TLS, *int8) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(9)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted))) == 0 { 164676 goto _20 164677 } 164678 164679 _rc = i32(0) 164680 goto _18 164681 164682 _20: 164683 if _winRetryIoerr(tls, &_cnt, &_lastErrno) != 0 { 164684 goto _21 164685 } 164686 164687 _rc = i32(1) 164688 goto _18 164689 164690 _21: 164691 goto _13 164692 164693 _18: 164694 _12: 164695 if _rc == 0 || _rc == i32(5898) { 164696 goto _23 164697 } 164698 164699 _rc = _winLogErrorAtLine(tls, i32(2570), _lastErrno, str(142704), _zFilename, i32(42930)) 164700 goto _24 164701 164702 _23: 164703 _winLogIoerr(tls, _cnt, i32(42932)) 164704 _24: 164705 Xsqlite3_free(tls, _zConverted) 164706 r0 = _rc 164707 return 164708 164709 } 164710 164711 var _winShmMapØ00__func__Ø000 [10]int8 // - 164712 164713 func init() { 164714 crt.Xstrncpy(nil, &_winShmMapØ00__func__Ø000[0], str(142716), 10) 164715 } 164716 164717 func _winShmLock(tls *crt.TLS, _fd *Xsqlite3_file, _ofst int32, _n int32, _flags int32) (r0 int32) { // sqlite3.c:41636:1 164718 var _pDbFd *XwinFile // sqlite3.c:41642:11 164719 _ = _pDbFd 164720 var _p *XwinShm // sqlite3.c:41643:10 164721 _ = _p 164722 var _pX *XwinShm // sqlite3.c:41644:10 164723 _ = _pX 164724 var _pShmNode *XwinShmNode // sqlite3.c:41645:14 164725 _ = _pShmNode 164726 var _rc int32 // sqlite3.c:41646:7 164727 _ = _rc 164728 var _mask uint16 // sqlite3.c:41647:7 164729 _ = _mask 164730 var _1_allMask uint16 // sqlite3.c:41661:9 164731 _ = _1_allMask 164732 var _6_allShared uint16 // sqlite3.c:41683:9 164733 _ = _6_allShared 164734 _pDbFd = (*XwinFile)(unsafe.Pointer(_fd)) 164735 _p = (*XwinShm)(unsafe.Pointer(_pDbFd.X7)) 164736 _pShmNode = (*XwinShmNode)(unsafe.Pointer(_p.X0)) 164737 _rc = i32(0) 164738 func() int32 { 164739 if (_ofst >= i32(0)) && ((_ofst + _n) <= i32(8)) { 164740 return i32(0) 164741 } 164742 return func() int32 { 164743 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41649), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(142728))) 164744 crt.X__builtin_abort(tls) 164745 return i32(0) 164746 }() 164747 }() 164748 func() int32 { 164749 if _n >= i32(1) { 164750 return i32(0) 164751 } 164752 return func() int32 { 164753 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41650), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(142764))) 164754 crt.X__builtin_abort(tls) 164755 return i32(0) 164756 }() 164757 }() 164758 func() int32 { 164759 if (((_flags == i32(6)) || (_flags == i32(10))) || (_flags == i32(5))) || (_flags == i32(9)) { 164760 return i32(0) 164761 } 164762 return func() int32 { 164763 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41651), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(142772))) 164764 crt.X__builtin_abort(tls) 164765 return i32(0) 164766 }() 164767 }() 164768 func() int32 { 164769 if (_n == i32(1)) || ((_flags & i32(8)) != i32(0)) { 164770 return i32(0) 164771 } 164772 return func() int32 { 164773 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41655), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(142972))) 164774 crt.X__builtin_abort(tls) 164775 return i32(0) 164776 }() 164777 }() 164778 _mask = uint16((u32(1) << uint(_ofst+_n)) - (u32(1) << uint(_ofst))) 164779 func() int32 { 164780 if (_n > i32(1)) || (int32(_mask) == (i32(1) << uint(_ofst))) { 164781 return i32(0) 164782 } 164783 return func() int32 { 164784 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41658), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(143016))) 164785 crt.X__builtin_abort(tls) 164786 return i32(0) 164787 }() 164788 }() 164789 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 164790 if (_flags & i32(1)) == 0 { 164791 goto _16 164792 } 164793 164794 _1_allMask = u16(0) 164795 _pX = (*XwinShm)(unsafe.Pointer(_pShmNode.X8)) 164796 _17: 164797 if _pX == nil { 164798 goto _20 164799 } 164800 164801 if _pX != _p { 164802 goto _21 164803 } 164804 164805 goto _18 164806 164807 _21: 164808 func() int32 { 164809 if (int32(_pX.X4) & (int32(_p.X4) | int32(_p.X3))) == i32(0) { 164810 return i32(0) 164811 } 164812 return func() int32 { 164813 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41666), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(143040))) 164814 crt.X__builtin_abort(tls) 164815 return i32(0) 164816 }() 164817 }() 164818 { 164819 p := &_1_allMask 164820 *p = uint16(int32(*p) | int32(_pX.X3)) 164821 sink6908 = *p 164822 } 164823 _18: 164824 _pX = (*XwinShm)(unsafe.Pointer(_pX.X1)) 164825 goto _17 164826 164827 _20: 164828 if (int32(_mask) & int32(_1_allMask)) != i32(0) { 164829 goto _24 164830 } 164831 164832 _rc = _winShmSystemLock(tls, _pShmNode, i32(1), _ofst+i32(120), _n) 164833 goto _25 164834 164835 _24: 164836 _rc = i32(0) 164837 _25: 164838 if _rc != i32(0) { 164839 goto _26 164840 } 164841 164842 { 164843 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) 164844 *p = uint16(int32(*p) & (^int32(_mask))) 164845 sink6908 = *p 164846 } 164847 { 164848 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X3 */))) 164849 *p = uint16(int32(*p) & (^int32(_mask))) 164850 sink6908 = *p 164851 } 164852 _26: 164853 goto _27 164854 164855 _16: 164856 if (_flags & i32(4)) == 0 { 164857 goto _28 164858 } 164859 164860 _6_allShared = u16(0) 164861 _pX = (*XwinShm)(unsafe.Pointer(_pShmNode.X8)) 164862 _29: 164863 if _pX == nil { 164864 goto _32 164865 } 164866 164867 if (int32(_pX.X4) & int32(_mask)) == i32(0) { 164868 goto _33 164869 } 164870 164871 _rc = i32(5) 164872 goto _32 164873 164874 _33: 164875 { 164876 p := &_6_allShared 164877 *p = uint16(int32(*p) | int32(_pX.X3)) 164878 sink6908 = *p 164879 } 164880 _pX = (*XwinShm)(unsafe.Pointer(_pX.X1)) 164881 goto _29 164882 164883 _32: 164884 if _rc != i32(0) { 164885 goto _34 164886 } 164887 164888 if (int32(_6_allShared) & int32(_mask)) != i32(0) { 164889 goto _35 164890 } 164891 164892 _rc = _winShmSystemLock(tls, _pShmNode, i32(2), _ofst+i32(120), _n) 164893 goto _36 164894 164895 _35: 164896 _rc = i32(0) 164897 _36: 164898 _34: 164899 if _rc != i32(0) { 164900 goto _37 164901 } 164902 164903 { 164904 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(10 /* X3 */))) 164905 *p = uint16(int32(*p) | int32(_mask)) 164906 sink6908 = *p 164907 } 164908 _37: 164909 goto _38 164910 164911 _28: 164912 _pX = (*XwinShm)(unsafe.Pointer(_pShmNode.X8)) 164913 _39: 164914 if _pX == nil { 164915 goto _42 164916 } 164917 164918 if (int32(_pX.X4)&int32(_mask)) == i32(0) && (int32(_pX.X3)&int32(_mask)) == i32(0) { 164919 goto _44 164920 } 164921 164922 _rc = i32(5) 164923 goto _42 164924 164925 _44: 164926 _pX = (*XwinShm)(unsafe.Pointer(_pX.X1)) 164927 goto _39 164928 164929 _42: 164930 if _rc != i32(0) { 164931 goto _45 164932 } 164933 164934 _rc = _winShmSystemLock(tls, _pShmNode, i32(3), _ofst+i32(120), _n) 164935 if _rc != i32(0) { 164936 goto _46 164937 } 164938 164939 func() int32 { 164940 if (int32(_p.X3) & int32(_mask)) == i32(0) { 164941 return i32(0) 164942 } 164943 return func() int32 { 164944 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41727), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmLockØ00__func__Ø000))), unsafe.Pointer(str(143088))) 164945 crt.X__builtin_abort(tls) 164946 return i32(0) 164947 }() 164948 }() 164949 { 164950 p := (*uint16)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X4 */))) 164951 *p = uint16(int32(*p) | int32(_mask)) 164952 sink6908 = *p 164953 } 164954 _46: 164955 _45: 164956 _38: 164957 _27: 164958 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 164959 r0 = _rc 164960 return 164961 164962 } 164963 164964 var _winShmLockØ00__func__Ø000 [11]int8 // - 164965 164966 func init() { 164967 crt.Xstrncpy(nil, &_winShmLockØ00__func__Ø000[0], str(143116), 11) 164968 } 164969 164970 func _winShmBarrier(tls *crt.TLS, _fd *Xsqlite3_file) { // sqlite3.c:41745:1 164971 164972 _sqlite3MemoryBarrier(tls) 164973 _winShmEnterMutex(tls) 164974 _winShmLeaveMutex(tls) 164975 return 164976 164977 } 164978 164979 func _winShmUnmap(tls *crt.TLS, _fd *Xsqlite3_file, _deleteFlag int32) (r0 int32) { // sqlite3.c:41595:1 164980 var _pDbFd *XwinFile // sqlite3.c:41599:11 164981 _ = _pDbFd 164982 var _p *XwinShm // sqlite3.c:41600:10 164983 _ = _p 164984 var _pShmNode *XwinShmNode // sqlite3.c:41601:14 164985 _ = _pShmNode 164986 var _pp **XwinShm // sqlite3.c:41602:10 164987 _ = _pp 164988 _pDbFd = (*XwinFile)(unsafe.Pointer(_fd)) 164989 _p = (*XwinShm)(unsafe.Pointer(_pDbFd.X7)) 164990 if _p != (*XwinShm)(unsafe.Pointer(uintptr(i32(0)))) { 164991 goto _0 164992 } 164993 164994 r0 = i32(0) 164995 return 164996 164997 _0: 164998 _pShmNode = (*XwinShmNode)(unsafe.Pointer(_p.X0)) 164999 Xsqlite3_mutex_enter(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 165000 _pp = (**XwinShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(100 /* X8 */))))) 165001 _1: 165002 if (*_pp) == _p { 165003 goto _4 165004 } 165005 165006 _pp = (**XwinShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(*_pp)) + uintptr(4 /* X1 */))))) 165007 goto _1 165008 165009 _4: 165010 *_pp = (*XwinShm)(unsafe.Pointer(_p.X1)) 165011 Xsqlite3_free(tls, (unsafe.Pointer)(_p)) 165012 *(**XwinShm)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pDbFd)) + uintptr(24 /* X7 */))))) = (*XwinShm)(unsafe.Pointer(uintptr(i32(0)))) 165013 Xsqlite3_mutex_leave(tls, (*Xsqlite3_mutex)(unsafe.Pointer(_pShmNode.X0))) 165014 _winShmEnterMutex(tls) 165015 func() int32 { 165016 if (_pShmNode.X7) > i32(0) { 165017 return i32(0) 165018 } 165019 return func() int32 { 165020 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(41623), unsafe.Pointer((*int8)(unsafe.Pointer(&_winShmUnmapØ00__func__Ø000))), unsafe.Pointer(str(143128))) 165021 crt.X__builtin_abort(tls) 165022 return i32(0) 165023 }() 165024 }() 165025 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pShmNode)) + uintptr(96 /* X7 */))) -= 1 165026 if (_pShmNode.X7) != i32(0) { 165027 goto _7 165028 } 165029 165030 _winShmPurge(tls, (*Xsqlite3_vfs)(unsafe.Pointer(_pDbFd.X1)), _deleteFlag) 165031 _7: 165032 _winShmLeaveMutex(tls) 165033 r0 = i32(0) 165034 return 165035 165036 } 165037 165038 var _winShmUnmapØ00__func__Ø000 [12]int8 // - 165039 165040 func init() { 165041 crt.Xstrncpy(nil, &_winShmUnmapØ00__func__Ø000[0], str(143148), 12) 165042 } 165043 165044 func _winFetch(tls *crt.TLS, _fd *Xsqlite3_file, _iOff int64, _nAmt int32, _pp *unsafe.Pointer) (r0 int32) { // sqlite3.c:42062:1 165045 var _pFd *XwinFile // sqlite3.c:42064:11 165046 _ = _pFd 165047 var _2_rc int32 // sqlite3.c:42074:11 165048 _ = _2_rc 165049 _pFd = (*XwinFile)(unsafe.Pointer(_fd)) 165050 *_pp = (unsafe.Pointer)(uintptr(i32(0))) 165051 if (_pFd.X15) <= int64(i32(0)) { 165052 goto _0 165053 } 165054 165055 if unsafe.Pointer(_pFd.X12) != (unsafe.Pointer)(uintptr(i32(0))) { 165056 goto _1 165057 } 165058 165059 _2_rc = _winMapfile(tls, _pFd, int64(i32(-1))) 165060 if _2_rc == i32(0) { 165061 goto _2 165062 } 165063 165064 r0 = _2_rc 165065 return 165066 165067 _2: 165068 _1: 165069 if (_pFd.X13) < (_iOff + int64(_nAmt)) { 165070 goto _3 165071 } 165072 165073 *_pp = (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFd.X12) + 1*uintptr(_iOff)))) 165074 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(36 /* X10 */))) += 1 165075 _3: 165076 _0: 165077 r0 = i32(0) 165078 return 165079 165080 } 165081 165082 func _winUnfetch(tls *crt.TLS, _fd *Xsqlite3_file, _iOff int64, _p unsafe.Pointer) (r0 int32) { // sqlite3.c:42103:1 165083 var _pFd *XwinFile // sqlite3.c:42105:11 165084 _ = _pFd 165085 _pFd = (*XwinFile)(unsafe.Pointer(_fd)) 165086 func() int32 { 165087 if (unsafe.Pointer(_p) == (unsafe.Pointer)(uintptr(i32(0)))) == ((_pFd.X10) == i32(0)) { 165088 return i32(0) 165089 } 165090 return func() int32 { 165091 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42110), unsafe.Pointer((*int8)(unsafe.Pointer(&_winUnfetchØ00__func__Ø000))), unsafe.Pointer(str(143160))) 165092 crt.X__builtin_abort(tls) 165093 return i32(0) 165094 }() 165095 }() 165096 func() int32 { 165097 if (unsafe.Pointer(_p) == (unsafe.Pointer)(uintptr(i32(0)))) || (unsafe.Pointer(_p) == (unsafe.Pointer)((*uint8)(unsafe.Pointer(uintptr(_pFd.X12)+1*uintptr(_iOff))))) { 165098 return i32(0) 165099 } 165100 return func() int32 { 165101 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42113), unsafe.Pointer((*int8)(unsafe.Pointer(&_winUnfetchØ00__func__Ø000))), unsafe.Pointer(str(143188))) 165102 crt.X__builtin_abort(tls) 165103 return i32(0) 165104 }() 165105 }() 165106 if _p == nil { 165107 goto _5 165108 } 165109 165110 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_pFd)) + uintptr(36 /* X10 */))) -= 1 165111 goto _6 165112 165113 _5: 165114 _winUnmapfile(tls, _pFd) 165115 _6: 165116 func() int32 { 165117 if (_pFd.X10) >= i32(0) { 165118 return i32(0) 165119 } 165120 return func() int32 { 165121 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(42128), unsafe.Pointer((*int8)(unsafe.Pointer(&_winUnfetchØ00__func__Ø000))), unsafe.Pointer(str(143232))) 165122 crt.X__builtin_abort(tls) 165123 return i32(0) 165124 }() 165125 }() 165126 r0 = i32(0) 165127 return 165128 165129 } 165130 165131 var _winUnfetchØ00__func__Ø000 [11]int8 // - 165132 165133 func init() { 165134 crt.Xstrncpy(nil, &_winUnfetchØ00__func__Ø000[0], str(143252), 11) 165135 } 165136 165137 func _winAccess(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFilename *int8, _flags int32, _pResOut *int32) (r0 int32) { // sqlite3.c:42942:1 165138 var _attr uint32 // sqlite3.c:42948:9 165139 _ = _attr 165140 var _rc int32 // sqlite3.c:42949:7 165141 _ = _rc 165142 var _lastErrno uint32 // sqlite3.c:42950:9 165143 _ = _lastErrno 165144 var _zConverted unsafe.Pointer // sqlite3.c:42951:8 165145 _ = _zConverted 165146 var _2_cnt int32 // sqlite3.c:42964:9 165147 _ = _2_cnt 165148 var _2_sAttrData XWIN32_FILE_ATTRIBUTE_DATA // sqlite3.c:42965:31 165149 _ = _2_sAttrData 165150 _rc = i32(0) 165151 _lastErrno = u32(0) 165152 165153 _zConverted = _winConvertFromUtf8Filename(tls, _zFilename) 165154 if unsafe.Pointer(_zConverted) != (unsafe.Pointer)(uintptr(i32(0))) { 165155 goto _0 165156 } 165157 165158 r0 = _sqlite3IoerrnomemError(tls, i32(42961)) 165159 return 165160 165161 _0: 165162 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 165163 goto _2 165164 } 165165 165166 _2_cnt = i32(0) 165167 crt.Xmemset(tls, (unsafe.Pointer)(&_2_sAttrData), i32(0), u32(36)) 165168 _3: 165169 if store961(&_rc, (*(*func(*crt.TLS, *uint16, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(22)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted)), i32(0), (unsafe.Pointer)(&_2_sAttrData))) != 0 || _winRetryIoerr(tls, &_2_cnt, &_lastErrno) == 0 { 165170 goto _4 165171 } 165172 165173 goto _3 165174 165175 _4: 165176 if _rc == 0 { 165177 goto _6 165178 } 165179 165180 if _flags != i32(0) || (_2_sAttrData.X4) != uint32(i32(0)) || (_2_sAttrData.X5) != uint32(i32(0)) { 165181 goto _9 165182 } 165183 165184 _attr = uint32(i32(-1)) 165185 goto _10 165186 165187 _9: 165188 _attr = _2_sAttrData.X0 165189 _10: 165190 goto _11 165191 165192 _6: 165193 _winLogIoerr(tls, _2_cnt, i32(42982)) 165194 if _lastErrno == uint32(i32(2)) || _lastErrno == uint32(i32(3)) { 165195 goto _13 165196 } 165197 165198 Xsqlite3_free(tls, _zConverted) 165199 r0 = _winLogErrorAtLine(tls, i32(3338), _lastErrno, str(143264), _zFilename, i32(42985)) 165200 return 165201 165202 _13: 165203 _attr = uint32(i32(-1)) 165204 _11: 165205 goto _15 165206 165207 _2: 165208 _attr = (*(*func(*crt.TLS, *int8) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(20)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted))) 165209 _15: 165210 Xsqlite3_free(tls, _zConverted) 165211 switch _flags { 165212 case i32(0): 165213 goto _18 165214 case i32(1): 165215 goto _19 165216 case i32(2): 165217 goto _17 165218 default: 165219 goto _20 165220 } 165221 165222 _17: 165223 _18: 165224 _rc = bool2int(_attr != uint32(i32(-1))) 165225 goto _21 165226 165227 _19: 165228 _rc = bool2int((_attr != uint32(i32(-1))) && ((_attr & uint32(i32(1))) == uint32(i32(0)))) 165229 goto _21 165230 165231 _20: 165232 func() int32 { 165233 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(43008), unsafe.Pointer((*int8)(unsafe.Pointer(&_winAccessØ00__func__Ø000))), unsafe.Pointer(str(143276))) 165234 crt.X__builtin_abort(tls) 165235 return i32(0) 165236 }() 165237 _21: 165238 *_pResOut = _rc 165239 r0 = i32(0) 165240 return 165241 165242 } 165243 165244 var _winAccessØ00__func__Ø000 [10]int8 // - 165245 165246 func init() { 165247 crt.Xstrncpy(nil, &_winAccessØ00__func__Ø000[0], str(143264), 10) 165248 } 165249 165250 func _winFullPathname(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zRelative *int8, _nFull int32, _zFull *int8) (r0 int32) { // sqlite3.c:43068:1 165251 var _nByte uint32 // sqlite3.c:43075:9 165252 _ = _nByte 165253 var _zConverted unsafe.Pointer // sqlite3.c:43076:8 165254 _ = _zConverted 165255 var _zOut *int8 // sqlite3.c:43077:8 165256 _ = _zOut 165257 var _4_zTemp *uint16 // sqlite3.c:43186:12 165258 _ = _4_zTemp 165259 var _8_zTemp *int8 // sqlite3.c:43212:10 165260 _ = _8_zTemp 165261 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zRelative)) + 1*uintptr(i32(0))))) != i32(47) || _winIsDriveLetterAndColon(tls, (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(_zRelative))+uintptr(unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(i32(1))))))))) == 0 { 165262 goto _1 165263 } 165264 165265 *(*uintptr)(unsafe.Pointer(&_zRelative)) += uintptr(1) 165266 _1: 165267 if Xsqlite3_data_directory == nil || _winIsVerbatimPathname(tls, _zRelative) != 0 { 165268 goto _3 165269 } 165270 165271 Xsqlite3_snprintf(tls, func() int32 { 165272 if _nFull < (_pVfs.X2) { 165273 return _nFull 165274 } 165275 return (_pVfs.X2) 165276 }(), _zFull, str(143304), unsafe.Pointer(Xsqlite3_data_directory), i32(92), unsafe.Pointer(_zRelative)) 165277 r0 = i32(0) 165278 return 165279 165280 _3: 165281 _zConverted = _winConvertFromUtf8Filename(tls, _zRelative) 165282 if unsafe.Pointer(_zConverted) != (unsafe.Pointer)(uintptr(i32(0))) { 165283 goto _6 165284 } 165285 165286 r0 = _sqlite3IoerrnomemError(tls, i32(43183)) 165287 return 165288 165289 _6: 165290 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 165291 goto _8 165292 } 165293 165294 _nByte = (*(*func(*crt.TLS, *uint16, uint32, *uint16, **uint16) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(25)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted)), uint32(i32(0)), (*uint16)(unsafe.Pointer(uintptr(i32(0)))), (**uint16)(unsafe.Pointer(uintptr(i32(0))))) 165295 if _nByte != uint32(i32(0)) { 165296 goto _9 165297 } 165298 165299 Xsqlite3_free(tls, _zConverted) 165300 r0 = _winLogErrorAtLine(tls, i32(782), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(143312), _zRelative, i32(43190)) 165301 return 165302 165303 _9: 165304 { 165305 p := &_nByte 165306 *p = (*p) + uint32(i32(3)) 165307 sink985 = *p 165308 } 165309 _4_zTemp = (*uint16)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nByte*u32(2))))) 165310 if _4_zTemp != (*uint16)(unsafe.Pointer(uintptr(i32(0)))) { 165311 goto _10 165312 } 165313 165314 Xsqlite3_free(tls, _zConverted) 165315 r0 = _sqlite3IoerrnomemError(tls, i32(43197)) 165316 return 165317 165318 _10: 165319 _nByte = (*(*func(*crt.TLS, *uint16, uint32, *uint16, **uint16) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(25)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted)), _nByte, _4_zTemp, (**uint16)(unsafe.Pointer(uintptr(i32(0))))) 165320 if _nByte != uint32(i32(0)) { 165321 goto _11 165322 } 165323 165324 Xsqlite3_free(tls, _zConverted) 165325 Xsqlite3_free(tls, (unsafe.Pointer)(_4_zTemp)) 165326 r0 = _winLogErrorAtLine(tls, i32(782), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(143332), _zRelative, i32(43203)) 165327 return 165328 165329 _11: 165330 Xsqlite3_free(tls, _zConverted) 165331 _zOut = _winUnicodeToUtf8(tls, _4_zTemp) 165332 Xsqlite3_free(tls, (unsafe.Pointer)(_4_zTemp)) 165333 goto _12 165334 165335 _8: 165336 _nByte = (*(*func(*crt.TLS, *int8, uint32, *int8, **int8) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(24)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted)), uint32(i32(0)), (*int8)(unsafe.Pointer(uintptr(i32(0)))), (**int8)(unsafe.Pointer(uintptr(i32(0))))) 165337 if _nByte != uint32(i32(0)) { 165338 goto _13 165339 } 165340 165341 Xsqlite3_free(tls, _zConverted) 165342 r0 = _winLogErrorAtLine(tls, i32(782), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(143352), _zRelative, i32(43216)) 165343 return 165344 165345 _13: 165346 { 165347 p := &_nByte 165348 *p = (*p) + uint32(i32(3)) 165349 sink985 = *p 165350 } 165351 _8_zTemp = (*int8)(unsafe.Pointer(_sqlite3MallocZero(tls, uint64(_nByte*u32(1))))) 165352 if _8_zTemp != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 165353 goto _14 165354 } 165355 165356 Xsqlite3_free(tls, _zConverted) 165357 r0 = _sqlite3IoerrnomemError(tls, i32(43223)) 165358 return 165359 165360 _14: 165361 _nByte = (*(*func(*crt.TLS, *int8, uint32, *int8, **int8) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(24)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted)), _nByte, _8_zTemp, (**int8)(unsafe.Pointer(uintptr(i32(0))))) 165362 if _nByte != uint32(i32(0)) { 165363 goto _15 165364 } 165365 165366 Xsqlite3_free(tls, _zConverted) 165367 Xsqlite3_free(tls, (unsafe.Pointer)(_8_zTemp)) 165368 r0 = _winLogErrorAtLine(tls, i32(782), (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), str(143372), _zRelative, i32(43229)) 165369 return 165370 165371 _15: 165372 Xsqlite3_free(tls, _zConverted) 165373 _zOut = _winMbcsToUtf8(tls, _8_zTemp, (*(*func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(0)))).X1)})))(tls)) 165374 Xsqlite3_free(tls, (unsafe.Pointer)(_8_zTemp)) 165375 _12: 165376 if _zOut == nil { 165377 goto _16 165378 } 165379 165380 Xsqlite3_snprintf(tls, func() int32 { 165381 if _nFull < (_pVfs.X2) { 165382 return _nFull 165383 } 165384 return (_pVfs.X2) 165385 }(), _zFull, str(25612), unsafe.Pointer(_zOut)) 165386 Xsqlite3_free(tls, (unsafe.Pointer)(_zOut)) 165387 r0 = i32(0) 165388 return 165389 165390 _16: 165391 r0 = _sqlite3IoerrnomemError(tls, i32(43242)) 165392 return 165393 165394 } 165395 165396 func _winIsDriveLetterAndColon(tls *crt.TLS, _zPathname *int8) (r0 int32) { // sqlite3.c:43020:1 165397 r0 = bool2int((int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_sqlite3CtypeMap)) + 1*uintptr(uint8(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathname)) + 1*uintptr(i32(0)))))))))&i32(2)) != 0 && (int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathname)) + 1*uintptr(i32(1))))) == i32(58))) 165398 return 165399 165400 } 165401 165402 func _winIsVerbatimPathname(tls *crt.TLS, _zPathname *int8) (r0 int32) { // sqlite3.c:43032:1 165403 if int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathname)) + 1*uintptr(i32(0))))) != i32(47) && int32(*(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_zPathname)) + 1*uintptr(i32(0))))) != i32(92) { 165404 goto _1 165405 } 165406 165407 r0 = i32(1) 165408 return 165409 165410 _1: 165411 if _winIsDriveLetterAndColon(tls, _zPathname) == 0 { 165412 goto _2 165413 } 165414 165415 r0 = i32(1) 165416 return 165417 165418 _2: 165419 r0 = i32(0) 165420 return 165421 165422 } 165423 165424 func _winDlOpen(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _zFilename *int8) (r0 unsafe.Pointer) { // sqlite3.c:43252:1 165425 var _h unsafe.Pointer // sqlite3.c:43253:10 165426 _ = _h 165427 var _zConverted unsafe.Pointer // sqlite3.c:43270:8 165428 _ = _zConverted 165429 _zConverted = _winConvertFromUtf8Filename(tls, _zFilename) 165430 165431 if unsafe.Pointer(_zConverted) != (unsafe.Pointer)(uintptr(i32(0))) { 165432 goto _0 165433 } 165434 165435 r0 = (unsafe.Pointer)(uintptr(i32(0))) 165436 return 165437 165438 _0: 165439 if _sqlite3_os_type != i32(2) && Xsqlite3_win32_is_nt(tls) == 0 { 165440 goto _2 165441 } 165442 165443 _h = (unsafe.Pointer)((*(*func(*crt.TLS, *uint16) *crt.XHMODULE)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(45)))).X1)})))(tls, (*uint16)(unsafe.Pointer(_zConverted)))) 165444 goto _3 165445 165446 _2: 165447 _h = (unsafe.Pointer)((*(*func(*crt.TLS, *int8) *crt.XHMODULE)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(44)))).X1)})))(tls, (*int8)(unsafe.Pointer(_zConverted)))) 165448 _3: 165449 Xsqlite3_free(tls, _zConverted) 165450 r0 = _h 165451 return 165452 165453 } 165454 165455 func _winDlError(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nBuf int32, _zBufOut *int8) { // sqlite3.c:43293:1 165456 165457 _winGetLastErrorMsg(tls, (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls), _nBuf, _zBufOut) 165458 return 165459 165460 } 165461 165462 func _winDlSym(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pH unsafe.Pointer, _zSym *int8) (r0 func(*crt.TLS)) { // sqlite3.c:43297:1 165463 var _proc func(*crt.TLS) int32 // sqlite3.c:43298:11 165464 _ = _proc 165465 165466 _proc = (*(*func(*crt.TLS, *crt.XHMODULE, *int8) func(*crt.TLS) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(27)))).X1)})))(tls, (*crt.XHMODULE)(unsafe.Pointer(_pH)), _zSym) 165467 r0 = *(*func(*crt.TLS))(unsafe.Pointer(&struct{ f func(*crt.TLS) int32 }{_proc})) 165468 return 165469 165470 } 165471 165472 func _winDlClose(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _pHandle unsafe.Pointer) { // sqlite3.c:43305:1 165473 165474 (*(*func(*crt.TLS, *crt.XHMODULE) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(16)))).X1)})))(tls, (*crt.XHMODULE)(unsafe.Pointer(_pHandle))) 165475 return 165476 165477 } 165478 165479 func _winRandomness(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nBuf int32, _zBuf *int8) (r0 int32) { // sqlite3.c:43342:1 165480 var _e XEntropyGatherer // sqlite3.c:43348:19 165481 _ = _e 165482 var _1_x crt.XSYSTEMTIME // sqlite3.c:43359:16 165483 _ = _1_x 165484 var _2_pid uint32 // sqlite3.c:43364:11 165485 _ = _2_pid 165486 var _3_cnt uint32 // sqlite3.c:43374:11 165487 _ = _3_cnt 165488 var _4_i crt.XLARGE_INTEGER // sqlite3.c:43379:19 165489 _ = _4_i 165490 165491 crt.Xmemset(tls, (unsafe.Pointer)(_zBuf), i32(0), uint32(_nBuf)) 165492 *(**uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_e)) + uintptr(0 /* X0 */))) = (*uint8)(unsafe.Pointer(_zBuf)) 165493 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_e)) + uintptr(4 /* X1 */))) = _nBuf 165494 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_e)) + uintptr(12 /* X3 */))) = i32(0) 165495 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_e)) + uintptr(8 /* X2 */))) = i32(0) 165496 (*(*func(*crt.TLS, *crt.XSYSTEMTIME))(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(29)))).X1)})))(tls, &_1_x) 165497 _xorMemory(tls, &_e, (*uint8)(unsafe.Pointer(&_1_x)), int32(u32(16))) 165498 _2_pid = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(17)))).X1)})))(tls) 165499 _xorMemory(tls, &_e, (*uint8)(unsafe.Pointer(&_2_pid)), int32(u32(4))) 165500 _3_cnt = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(33)))).X1)})))(tls) 165501 _xorMemory(tls, &_e, (*uint8)(unsafe.Pointer(&_3_cnt)), int32(u32(4))) 165502 (*(*func(*crt.TLS, *crt.XLARGE_INTEGER) int32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(51)))).X1)})))(tls, &_4_i) 165503 _xorMemory(tls, &_e, (*uint8)(unsafe.Pointer(&_4_i)), int32(u32(8))) 165504 r0 = func() int32 { 165505 if (_e.X3) > _nBuf { 165506 return _nBuf 165507 } 165508 return (_e.X3) 165509 }() 165510 return 165511 165512 } 165513 165514 func _xorMemory(tls *crt.TLS, _p *XEntropyGatherer, _x *uint8, _sz int32) { // sqlite3.c:43328:1 165515 var _j int32 // sqlite3.c:43329:7 165516 _ = _j 165517 var _k int32 // sqlite3.c:43329:10 165518 _ = _k 165519 *func() *int32 { _j = i32(0); return &_k }() = _p.X2 165520 _0: 165521 if _j >= _sz { 165522 goto _3 165523 } 165524 165525 { 165526 p := (*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X0)) + 1*uintptr(postInc961(&_k, int32(1))))) 165527 *p = uint8(int32(*p) ^ int32(*(*uint8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_x)) + 1*uintptr(_j))))) 165528 sink6915 = *p 165529 } 165530 if _k < (_p.X1) { 165531 goto _4 165532 } 165533 165534 _k = i32(0) 165535 _4: 165536 _j += 1 165537 goto _0 165538 165539 _3: 165540 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(8 /* X2 */))) = _k 165541 { 165542 p := (*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p)) + uintptr(12 /* X3 */))) 165543 *p = (*p) + _sz 165544 sink961 = *p 165545 } 165546 return 165547 165548 } 165549 165550 func _winSleep(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _microsec int32) (r0 int32) { // sqlite3.c:43402:1 165551 Xsqlite3_win32_sleep(tls, uint32((_microsec+i32(999))/i32(1000))) 165552 165553 r0 = ((_microsec + i32(999)) / i32(1000)) * i32(1000) 165554 return 165555 165556 } 165557 165558 func _winCurrentTime(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _prNow *float64) (r0 int32) { // sqlite3.c:43470:1 165559 var _rc int32 // sqlite3.c:43471:7 165560 _ = _rc 165561 var _i int64 // sqlite3.c:43472:17 165562 _ = _i 165563 _rc = _winCurrentTimeInt64(tls, _pVfs, &_i) 165564 if _rc != 0 { 165565 goto _0 165566 } 165567 165568 *_prNow = float64(_i) / (8.64e+07) 165569 _0: 165570 r0 = _rc 165571 return 165572 165573 } 165574 165575 func _winCurrentTimeInt64(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _piNow *int64) (r0 int32) { // sqlite3.c:43427:1 165576 var _ft crt.XFILETIME // sqlite3.c:43431:12 165577 _ = _ft 165578 (*(*func(*crt.TLS, *crt.XFILETIME))(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(30)))).X1)})))(tls, &_ft) 165579 *_piNow = _winCurrentTimeInt64Ø00winFiletimeEpochØ001 + (((int64(_ft.X1) * _winCurrentTimeInt64Ø00max32BitValueØ002) + int64(_ft.X0)) / i64(10000)) 165580 165581 r0 = i32(0) 165582 return 165583 165584 } 165585 165586 var _winCurrentTimeInt64Ø00winFiletimeEpochØ001 int64 // sqlite3.c:43432:30 165587 165588 func init() { 165589 _winCurrentTimeInt64Ø00winFiletimeEpochØ001 = i64(199222286400000) 165590 } 165591 165592 var _winCurrentTimeInt64Ø00max32BitValueØ002 int64 // sqlite3.c:43437:30 165593 165594 func init() { 165595 _winCurrentTimeInt64Ø00max32BitValueØ002 = i64(4294967296) 165596 } 165597 165598 func _winGetLastError(tls *crt.TLS, _pVfs *Xsqlite3_vfs, _nBuf int32, _zBuf *int8) (r0 int32) { // sqlite3.c:43510:1 165599 var _e uint32 // sqlite3.c:43511:9 165600 _ = _e 165601 _e = (*(*func(*crt.TLS) uint32)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(i32(26)))).X1)})))(tls) 165602 165603 if _nBuf <= i32(0) { 165604 goto _0 165605 } 165606 165607 _winGetLastErrorMsg(tls, _e, _nBuf, _zBuf) 165608 _0: 165609 r0 = int32(_e) 165610 return 165611 165612 } 165613 165614 func _winSetSystemCall(tls *crt.TLS, _pNotUsed *Xsqlite3_vfs, _zName *int8, _pNewFunc func(*crt.TLS)) (r0 int32) { // sqlite3.c:38843:1 165615 var _i uint32 // sqlite3.c:38848:16 165616 _ = _i 165617 var _rc int32 // sqlite3.c:38849:7 165618 _ = _rc 165619 _rc = i32(12) 165620 165621 if _zName != (*int8)(unsafe.Pointer(uintptr(i32(0)))) { 165622 goto _0 165623 } 165624 165625 _rc = i32(0) 165626 _i = uint32(i32(0)) 165627 _1: 165628 if _i >= u32(80) { 165629 goto _4 165630 } 165631 165632 if ((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X2) == nil { 165633 goto _5 165634 } 165635 165636 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+12*uintptr(_i))))) + uintptr(4 /* X1 */))) = (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X2 165637 _5: 165638 _i += 1 165639 goto _1 165640 165641 _4: 165642 goto _6 165643 165644 _0: 165645 _i = uint32(i32(0)) 165646 _7: 165647 if _i >= u32(80) { 165648 goto _10 165649 } 165650 165651 if crt.Xstrcmp(tls, _zName, (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+12*uintptr(_i))).X0) != i32(0) { 165652 goto _11 165653 } 165654 165655 if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X2)})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{nil})) { 165656 goto _12 165657 } 165658 165659 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+12*uintptr(_i))))) + uintptr(8 /* X2 */))) = (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X1 165660 _12: 165661 _rc = i32(0) 165662 if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{_pNewFunc})) != *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{nil})) { 165663 goto _13 165664 } 165665 165666 _pNewFunc = (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X2 165667 _13: 165668 *(*func(*crt.TLS))(unsafe.Pointer(uintptr((unsafe.Pointer)((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+12*uintptr(_i))))) + uintptr(4 /* X1 */))) = _pNewFunc 165669 goto _10 165670 165671 _11: 165672 _i += 1 165673 goto _7 165674 165675 _10: 165676 _6: 165677 r0 = _rc 165678 return 165679 165680 } 165681 165682 func _winGetSystemCall(tls *crt.TLS, _pNotUsed *Xsqlite3_vfs, _zName *int8) (r0 func(*crt.TLS)) { // sqlite3.c:38886:1 165683 var _i uint32 // sqlite3.c:38890:16 165684 _ = _i 165685 165686 _i = uint32(i32(0)) 165687 _0: 165688 if _i >= u32(80) { 165689 goto _3 165690 } 165691 165692 if crt.Xstrcmp(tls, _zName, (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+12*uintptr(_i))).X0) != i32(0) { 165693 goto _4 165694 } 165695 165696 r0 = (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X1 165697 return 165698 165699 _4: 165700 _i += 1 165701 goto _0 165702 165703 _3: 165704 r0 = nil 165705 return 165706 165707 } 165708 165709 func _winNextSystemCall(tls *crt.TLS, _p *Xsqlite3_vfs, _zName *int8) (r0 *int8) { // sqlite3.c:38905:1 165710 var _i int32 // sqlite3.c:38906:7 165711 _ = _i 165712 _i = i32(-1) 165713 165714 if _zName == nil { 165715 goto _0 165716 } 165717 165718 _i = i32(0) 165719 _1: 165720 if _i >= i32(79) { 165721 goto _4 165722 } 165723 165724 if crt.Xstrcmp(tls, _zName, (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall))+12*uintptr(_i))).X0) != i32(0) { 165725 goto _5 165726 } 165727 165728 goto _4 165729 165730 _5: 165731 _i += 1 165732 goto _1 165733 165734 _4: 165735 _0: 165736 _i += 1 165737 _6: 165738 if _i >= i32(80) { 165739 goto _9 165740 } 165741 165742 if *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{((*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X1)})) == *(*unsafe.Pointer)(unsafe.Pointer(&struct{ f func(*crt.TLS) }{nil})) { 165743 goto _10 165744 } 165745 165746 r0 = (*T7870619)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_aSyscall)) + 12*uintptr(_i))).X0 165747 return 165748 165749 _10: 165750 _i += 1 165751 goto _6 165752 165753 _9: 165754 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 165755 return 165756 165757 } 165758 165759 var _sqlite3_os_initØ00winLongPathVfsØ002 Xsqlite3_vfs // sqlite3.c:43546:22 165760 165761 func init() { 165762 _sqlite3_os_initØ00winLongPathVfsØ002 = Xsqlite3_vfs{X0: i32(3), X1: i32(72), X2: i32(65534), X3: nil, X4: str(143392), X5: unsafe.Pointer(&_winAppData), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { 165763 f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 165764 }{_winOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { 165765 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 165766 }{_winDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { 165767 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 165768 }{_winAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { 165769 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 165770 }{_winFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 165771 f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer 165772 }{_winDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { 165773 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) 165774 }{_winDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 165775 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) 165776 }{_winDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { 165777 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) 165778 }{_winDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 165779 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 165780 }{_winRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165781 f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 165782 }{_winSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { 165783 f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 165784 }{_winCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 165785 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 165786 }{_winGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 165787 f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 165788 }{_winCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { 165789 f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 165790 }{_winSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 165791 f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) 165792 }{_winGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { 165793 f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 165794 }{_winNextSystemCall}))} 165795 } 165796 165797 var _sqlite3_os_initØ00winNolockVfsØ003 Xsqlite3_vfs // sqlite3.c:43571:22 165798 165799 func init() { 165800 _sqlite3_os_initØ00winNolockVfsØ003 = Xsqlite3_vfs{X0: i32(3), X1: i32(72), X2: i32(1040), X3: nil, X4: str(143408), X5: unsafe.Pointer(&_winNolockAppData), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { 165801 f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 165802 }{_winOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { 165803 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 165804 }{_winDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { 165805 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 165806 }{_winAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { 165807 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 165808 }{_winFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 165809 f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer 165810 }{_winDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { 165811 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) 165812 }{_winDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 165813 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) 165814 }{_winDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { 165815 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) 165816 }{_winDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 165817 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 165818 }{_winRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165819 f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 165820 }{_winSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { 165821 f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 165822 }{_winCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 165823 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 165824 }{_winGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 165825 f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 165826 }{_winCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { 165827 f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 165828 }{_winSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 165829 f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) 165830 }{_winGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { 165831 f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 165832 }{_winNextSystemCall}))} 165833 } 165834 165835 var _winNolockAppData XwinVfsAppData // sqlite3.c:42200:22 165836 165837 func init() { 165838 _winNolockAppData = XwinVfsAppData{X0: unsafe.Pointer(&_winIoNolockMethod), X1: nil, X2: i32(1)} 165839 } 165840 165841 var _winIoNolockMethod Xsqlite3_io_methods // sqlite3.c:42172:33 165842 165843 func init() { 165844 _winIoNolockMethod = Xsqlite3_io_methods{X0: i32(3), X1: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165845 f func(*crt.TLS, *Xsqlite3_file) int32 165846 }{_winClose})), X2: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 165847 f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 165848 }{_winRead})), X3: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&struct { 165849 f func(*crt.TLS, *Xsqlite3_file, unsafe.Pointer, int32, int64) int32 165850 }{_winWrite})), X4: *(*func(*crt.TLS, unsafe.Pointer, int64) int32)(unsafe.Pointer(&struct { 165851 f func(*crt.TLS, *Xsqlite3_file, int64) int32 165852 }{_winTruncate})), X5: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165853 f func(*crt.TLS, *Xsqlite3_file, int32) int32 165854 }{_winSync})), X6: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 165855 f func(*crt.TLS, *Xsqlite3_file, *int64) int32 165856 }{_winFileSize})), X7: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165857 f func(*crt.TLS, *Xsqlite3_file, int32) int32 165858 }{_winNolockLock})), X8: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165859 f func(*crt.TLS, *Xsqlite3_file, int32) int32 165860 }{_winNolockUnlock})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int32) int32)(unsafe.Pointer(&struct { 165861 f func(*crt.TLS, *Xsqlite3_file, *int32) int32 165862 }{_winNolockCheckReservedLock})), X10: *(*func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165863 f func(*crt.TLS, *Xsqlite3_file, int32, unsafe.Pointer) int32 165864 }{_winFileControl})), X11: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165865 f func(*crt.TLS, *Xsqlite3_file) int32 165866 }{_winSectorSize})), X12: *(*func(*crt.TLS, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165867 f func(*crt.TLS, *Xsqlite3_file) int32 165868 }{_winDeviceCharacteristics})), X13: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165869 f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 165870 }{_winShmMap})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32)(unsafe.Pointer(&struct { 165871 f func(*crt.TLS, *Xsqlite3_file, int32, int32, int32) int32 165872 }{_winShmLock})), X15: *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&struct { 165873 f func(*crt.TLS, *Xsqlite3_file) 165874 }{_winShmBarrier})), X16: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165875 f func(*crt.TLS, *Xsqlite3_file, int32) int32 165876 }{_winShmUnmap})), X17: *(*func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165877 f func(*crt.TLS, *Xsqlite3_file, int64, int32, *unsafe.Pointer) int32 165878 }{_winFetch})), X18: *(*func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32)(unsafe.Pointer(&struct { 165879 f func(*crt.TLS, *Xsqlite3_file, int64, unsafe.Pointer) int32 165880 }{_winUnfetch}))} 165881 } 165882 165883 func _winNolockLock(tls *crt.TLS, _id *Xsqlite3_file, _locktype int32) (r0 int32) { // sqlite3.c:41077:1 165884 165885 r0 = i32(0) 165886 return 165887 165888 } 165889 165890 func _winNolockUnlock(tls *crt.TLS, _id *Xsqlite3_file, _locktype int32) (r0 int32) { // sqlite3.c:41089:1 165891 165892 r0 = i32(0) 165893 return 165894 165895 } 165896 165897 func _winNolockCheckReservedLock(tls *crt.TLS, _id *Xsqlite3_file, _pResOut *int32) (r0 int32) { // sqlite3.c:41083:1 165898 165899 r0 = i32(0) 165900 return 165901 165902 } 165903 165904 var _sqlite3_os_initØ00winLongPathNolockVfsØ004 Xsqlite3_vfs // sqlite3.c:43596:22 165905 165906 func init() { 165907 _sqlite3_os_initØ00winLongPathNolockVfsØ004 = Xsqlite3_vfs{X0: i32(3), X1: i32(72), X2: i32(65534), X3: nil, X4: str(143420), X5: unsafe.Pointer(&_winNolockAppData), X6: *(*func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32)(unsafe.Pointer(&struct { 165908 f func(*crt.TLS, *Xsqlite3_vfs, *int8, *Xsqlite3_file, int32, *int32) int32 165909 }{_winOpen})), X7: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32) int32)(unsafe.Pointer(&struct { 165910 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32) int32 165911 }{_winDelete})), X8: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32)(unsafe.Pointer(&struct { 165912 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int32) int32 165913 }{_winAccess})), X9: *(*func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32)(unsafe.Pointer(&struct { 165914 f func(*crt.TLS, *Xsqlite3_vfs, *int8, int32, *int8) int32 165915 }{_winFullPathname})), X10: *(*func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer)(unsafe.Pointer(&struct { 165916 f func(*crt.TLS, *Xsqlite3_vfs, *int8) unsafe.Pointer 165917 }{_winDlOpen})), X11: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8))(unsafe.Pointer(&struct { 165918 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) 165919 }{_winDlError})), X12: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 165920 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) 165921 }{_winDlSym})), X13: *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer))(unsafe.Pointer(&struct { 165922 f func(*crt.TLS, *Xsqlite3_vfs, unsafe.Pointer) 165923 }{_winDlClose})), X14: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 165924 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 165925 }{_winRandomness})), X15: *(*func(*crt.TLS, unsafe.Pointer, int32) int32)(unsafe.Pointer(&struct { 165926 f func(*crt.TLS, *Xsqlite3_vfs, int32) int32 165927 }{_winSleep})), X16: *(*func(*crt.TLS, unsafe.Pointer, *float64) int32)(unsafe.Pointer(&struct { 165928 f func(*crt.TLS, *Xsqlite3_vfs, *float64) int32 165929 }{_winCurrentTime})), X17: *(*func(*crt.TLS, unsafe.Pointer, int32, *int8) int32)(unsafe.Pointer(&struct { 165930 f func(*crt.TLS, *Xsqlite3_vfs, int32, *int8) int32 165931 }{_winGetLastError})), X18: *(*func(*crt.TLS, unsafe.Pointer, *int64) int32)(unsafe.Pointer(&struct { 165932 f func(*crt.TLS, *Xsqlite3_vfs, *int64) int32 165933 }{_winCurrentTimeInt64})), X19: *(*func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32)(unsafe.Pointer(&struct { 165934 f func(*crt.TLS, *Xsqlite3_vfs, *int8, func(*crt.TLS)) int32 165935 }{_winSetSystemCall})), X20: *(*func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&struct { 165936 f func(*crt.TLS, *Xsqlite3_vfs, *int8) func(*crt.TLS) 165937 }{_winGetSystemCall})), X21: *(*func(*crt.TLS, unsafe.Pointer, *int8) *int8)(unsafe.Pointer(&struct { 165938 f func(*crt.TLS, *Xsqlite3_vfs, *int8) *int8 165939 }{_winNextSystemCall}))} 165940 } 165941 165942 func _sqlite3PCacheBufferSetup(tls *crt.TLS, _pBuf unsafe.Pointer, _sz int32, _n int32) { // sqlite3.c:45204:1 165943 var _1_p *Xsqlite3_file // sqlite3.c:45206:16 165944 _ = _1_p 165945 if (_pcache1_g.X1) == 0 { 165946 goto _0 165947 } 165948 165949 if unsafe.Pointer(_pBuf) != (unsafe.Pointer)(uintptr(i32(0))) { 165950 goto _1 165951 } 165952 165953 _sz = store961(&_n, i32(0)) 165954 _1: 165955 _sz = _sz & i32(-8) 165956 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(64 /* X4 */))) = _sz 165957 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(68 /* X5 */))) = store961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g))+uintptr(92 /* X11 */))), _n) 165958 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(72 /* X6 */))) = func() int32 { 165959 if _n > i32(90) { 165960 return i32(10) 165961 } 165962 return ((_n / i32(10)) + i32(1)) 165963 }() 165964 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(76 /* X7 */))) = _pBuf 165965 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(88 /* X10 */))))) = (*Xsqlite3_file)(unsafe.Pointer(uintptr(i32(0)))) 165966 *(*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(96 /* X12 */))) = i32(0) 165967 _4: 165968 if postInc961(&_n, int32(-1)) == 0 { 165969 goto _5 165970 } 165971 165972 _1_p = (*Xsqlite3_file)(unsafe.Pointer(_pBuf)) 165973 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(_1_p)) + uintptr(0 /* X0 */))))) = (*Xsqlite3_file)(unsafe.Pointer(_pcache1_g.X10)) 165974 *(**Xsqlite3_file)(unsafe.Pointer((*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(88 /* X10 */))))) = _1_p 165975 _pBuf = (unsafe.Pointer)((*int8)(unsafe.Pointer(uintptr(_pBuf) + 1*uintptr(_sz)))) 165976 goto _4 165977 165978 _5: 165979 *(*unsafe.Pointer)(unsafe.Pointer(uintptr((unsafe.Pointer)(&_pcache1_g)) + uintptr(80 /* X8 */))) = _pBuf 165980 _0: 165981 return 165982 165983 } 165984 165985 var _sqlite3_initializeØ00__func__Ø000 [19]int8 // - 165986 165987 func init() { 165988 crt.Xstrncpy(nil, &_sqlite3_initializeØ00__func__Ø000[0], str(143440), 19) 165989 } 165990 165991 var _enlargeAndAppendØ00__func__Ø000 [17]int8 // - 165992 165993 func init() { 165994 crt.Xstrncpy(nil, &_enlargeAndAppendØ00__func__Ø000[0], str(143460), 17) 165995 } 165996 165997 func _getIntArg(tls *crt.TLS, _p *XPrintfArguments) (r0 int64) { // sqlite3.c:25172:1 165998 if (_p.X0) > (_p.X1) { 165999 goto _0 166000 } 166001 166002 r0 = int64(i32(0)) 166003 return 166004 166005 _0: 166006 r0 = Xsqlite3_value_int64(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), int32(1)))))) 166007 return 166008 166009 } 166010 166011 var _sqlite3VXPrintfØ00__func__Ø000 [16]int8 // - 166012 166013 func init() { 166014 crt.Xstrncpy(nil, &_sqlite3VXPrintfØ00__func__Ø000[0], str(143480), 16) 166015 } 166016 166017 var _fmtinfo [23]Xet_info // sqlite3.c:25099:22 166018 166019 func init() { 166020 _fmtinfo = [23]Xet_info{Xet_info{X0: i8(100), X1: u8(10), X2: u8(1), X3: u8(16), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(115), X1: u8(0), X2: u8(4), X3: u8(5), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(103), X1: u8(0), X2: u8(1), X3: u8(3), X4: u8(30), X5: u8(0)}, Xet_info{X0: i8(122), X1: u8(0), X2: u8(4), X3: u8(6), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(113), X1: u8(0), X2: u8(4), X3: u8(9), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(81), X1: u8(0), X2: u8(4), X3: u8(10), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(119), X1: u8(0), X2: u8(4), X3: u8(14), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(99), X1: u8(0), X2: u8(0), X3: u8(8), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(111), X1: u8(8), X2: u8(0), X3: u8(0), X4: u8(0), X5: u8(2)}, Xet_info{X0: i8(117), X1: u8(10), X2: u8(0), X3: u8(16), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(120), X1: u8(16), X2: u8(0), X3: u8(0), X4: u8(16), X5: u8(1)}, Xet_info{X0: i8(88), X1: u8(16), X2: u8(0), X3: u8(0), X4: u8(0), X5: u8(4)}, Xet_info{X0: i8(102), X1: u8(0), X2: u8(1), X3: u8(1), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(101), X1: u8(0), X2: u8(1), X3: u8(2), X4: u8(30), X5: u8(0)}, Xet_info{X0: i8(69), X1: u8(0), X2: u8(1), X3: u8(2), X4: u8(14), X5: u8(0)}, Xet_info{X0: i8(71), X1: u8(0), X2: u8(1), X3: u8(3), X4: u8(14), X5: u8(0)}, Xet_info{X0: i8(105), X1: u8(10), X2: u8(1), X3: u8(16), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(110), X1: u8(0), X2: u8(0), X3: u8(4), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(37), X1: u8(0), X2: u8(0), X3: u8(7), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(112), X1: u8(16), X2: u8(0), X3: u8(13), X4: u8(0), X5: u8(1)}, Xet_info{X0: i8(84), X1: u8(0), X2: u8(0), X3: u8(11), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(83), X1: u8(0), X2: u8(0), X3: u8(12), X4: u8(0), X5: u8(0)}, Xet_info{X0: i8(114), X1: u8(10), X2: u8(1), X3: u8(15), X4: u8(0), X5: u8(0)}} 166021 } 166022 166023 var _sqlite3VXPrintfØ00zOrdØ001 [9]int8 // sqlite3.c:25440:29 166024 166025 func init() { 166026 crt.Xstrncpy(nil, &_sqlite3VXPrintfØ00zOrdØ001[0], str(143496), 9) 166027 } 166028 166029 var _aDigits [33]int8 // sqlite3.c:25097:19 166030 166031 func init() { 166032 crt.Xstrncpy(nil, &_aDigits[0], str(143508), 33) 166033 } 166034 166035 var _aPrefix [7]int8 // sqlite3.c:25098:19 166036 166037 func init() { 166038 crt.Xstrncpy(nil, &_aPrefix[0], str(143544), 7) 166039 } 166040 166041 func _getDoubleArg(tls *crt.TLS, _p *XPrintfArguments) (r0 float64) { // sqlite3.c:25176:1 166042 if (_p.X0) > (_p.X1) { 166043 goto _0 166044 } 166045 166046 r0 = float64(0) 166047 return 166048 166049 _0: 166050 r0 = Xsqlite3_value_double(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), int32(1)))))) 166051 return 166052 166053 } 166054 166055 func _et_getdigit(tls *crt.TLS, _val *float64, _cnt *int32) (r0 int8) { // sqlite3.c:25147:1 166056 var _digit int32 // sqlite3.c:25148:7 166057 _ = _digit 166058 var _d float64 // sqlite3.c:25149:19 166059 _ = _d 166060 if (*_cnt) > i32(0) { 166061 goto _0 166062 } 166063 166064 r0 = int8(i32(48)) 166065 return 166066 166067 _0: 166068 *_cnt -= 1 166069 _digit = int32(*_val) 166070 _d = float64(_digit) 166071 { 166072 p := &_digit 166073 *p = (*p) + i32(48) 166074 sink961 = *p 166075 } 166076 *_val = ((*_val) - _d) * float64(10) 166077 r0 = int8(_digit) 166078 return 166079 166080 } 166081 166082 func _getTextArg(tls *crt.TLS, _p *XPrintfArguments) (r0 *int8) { // sqlite3.c:25180:1 166083 if (_p.X0) > (_p.X1) { 166084 goto _0 166085 } 166086 166087 r0 = (*int8)(unsafe.Pointer(uintptr(i32(0)))) 166088 return 166089 166090 _0: 166091 r0 = (*int8)(unsafe.Pointer(Xsqlite3_value_text(tls, *(**XMem)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 4*uintptr(postInc961((*int32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(4 /* X1 */))), int32(1)))))))) 166092 return 166093 166094 } 166095 166096 func _sqlite3AppendChar(tls *crt.TLS, _p *XStrAccum, _N int32, _c int8) { // sqlite3.c:25849:1 166097 if (int64(_p.X3)+int64(_N)) < int64(_p.X4) || store961(&_N, _sqlite3StrAccumEnlarge(tls, _p, _N)) > i32(0) { 166098 goto _1 166099 } 166100 166101 return 166102 166103 _1: 166104 func() int32 { 166105 if ((_p.X2) == (_p.X1)) == ((int32(_p.X7) & i32(4)) == i32(0)) { 166106 return i32(0) 166107 } 166108 return func() int32 { 166109 crt.X__builtin_fprintf(tls, Xstderr, str(40), unsafe.Pointer(str(76)), i32(25854), unsafe.Pointer((*int8)(unsafe.Pointer(&_sqlite3AppendCharØ00__func__Ø000))), unsafe.Pointer(str(6192))) 166110 crt.X__builtin_abort(tls) 166111 return i32(0) 166112 }() 166113 }() 166114 _4: 166115 if postInc961(&_N, int32(-1)) <= i32(0) { 166116 goto _5 166117 } 166118 166119 *(*int8)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p.X2)) + 1*uintptr(postInc985((*uint32)(unsafe.Pointer(uintptr((unsafe.Pointer)(_p))+uintptr(12 /* X3 */))), uint32(1))))) = _c 166120 goto _4 166121 166122 _5: 166123 return 166124 166125 } 166126 166127 var _sqlite3AppendCharØ00__func__Ø000 [18]int8 // - 166128 166129 func init() { 166130 crt.Xstrncpy(nil, &_sqlite3AppendCharØ00__func__Ø000[0], str(143552), 18) 166131 } 166132 166133 func _sqlite3HeaderSizeBtree(tls *crt.TLS) (r0 int32) { // sqlite3.c:68793:1 166134 r0 = int32(u32(88)) 166135 return 166136 166137 } 166138 166139 func _sqlite3HeaderSizePcache(tls *crt.TLS) (r0 int32) { // sqlite3.c:44931:1 166140 r0 = int32(u32(40)) 166141 return 166142 166143 } 166144 166145 func _sqlite3HeaderSizePcache1(tls *crt.TLS) (r0 int32) { // sqlite3.c:46150:1 166146 r0 = int32(u32(32)) 166147 return 166148 166149 } 166150 166151 func bool2int(b bool) int32 { 166152 if b { 166153 return 1 166154 } 166155 return 0 166156 } 166157 func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed. 166158 func i16(n int16) int16 { return n } 166159 func i32(n int32) int32 { return n } 166160 func i64(n int64) int64 { return n } 166161 func i8(n int8) int8 { return n } 166162 func init() { nzf32 *= -1; nzf64 *= -1 } 166163 func u16(n uint16) uint16 { return n } 166164 func u32(n uint32) uint32 { return n } 166165 func u64(n uint64) uint64 { return n } 166166 func u8(n byte) byte { return n } 166167 166168 var nzf32 float32 // -0.0 166169 var nzf64 float64 // -0.0 166170 var sink8894322 **XWhereLoop //TODO report GC bug 166171 var sink1025 *int8 //TODO report GC bug 166172 var sink8147190 *XCollSeq //TODO report GC bug 166173 var sink8897613 *T8897640 //TODO report GC bug 166174 var sink8983905 *XyyStackEntry //TODO report GC bug 166175 var sink7779437 *XMem //TODO report GC bug 166176 var sink7743883 *uint32 //TODO report GC bug 166177 var sink6921 *uint8 //TODO report GC bug 166178 var sink6895 float64 //TODO report GC bug 166179 var sink955 int16 //TODO report GC bug 166180 var sink961 int32 //TODO report GC bug 166181 var sink967 int64 //TODO report GC bug 166182 var sink6908 uint16 //TODO report GC bug 166183 var sink985 uint32 //TODO report GC bug 166184 var sink992 uint64 //TODO report GC bug 166185 var sink6915 uint8 //TODO report GC bug 166186 func postInc7867636(p **int16, d int) *int16 { 166187 q := (*uintptr)(unsafe.Pointer(p)) 166188 v := *q 166189 *q += uintptr(d) 166190 return (*int16)(unsafe.Pointer(v)) 166191 } 166192 func postInc1025(p **int8, d int) *int8 { 166193 q := (*uintptr)(unsafe.Pointer(p)) 166194 v := *q 166195 *q += uintptr(d) 166196 return (*int8)(unsafe.Pointer(v)) 166197 } 166198 func postInc7901361(p **T7901175, d int) *T7901175 { 166199 q := (*uintptr)(unsafe.Pointer(p)) 166200 v := *q 166201 *q += uintptr(d) 166202 return (*T7901175)(unsafe.Pointer(v)) 166203 } 166204 func postInc8983905(p **XyyStackEntry, d int) *XyyStackEntry { 166205 q := (*uintptr)(unsafe.Pointer(p)) 166206 v := *q 166207 *q += uintptr(d) 166208 return (*XyyStackEntry)(unsafe.Pointer(v)) 166209 } 166210 func postInc7779437(p **XMem, d int) *XMem { 166211 q := (*uintptr)(unsafe.Pointer(p)) 166212 v := *q 166213 *q += uintptr(d) 166214 return (*XMem)(unsafe.Pointer(v)) 166215 } 166216 func postInc7743883(p **uint32, d int) *uint32 { 166217 q := (*uintptr)(unsafe.Pointer(p)) 166218 v := *q 166219 *q += uintptr(d) 166220 return (*uint32)(unsafe.Pointer(v)) 166221 } 166222 func postInc6921(p **uint8, d int) *uint8 { 166223 q := (*uintptr)(unsafe.Pointer(p)) 166224 v := *q 166225 *q += uintptr(d) 166226 return (*uint8)(unsafe.Pointer(v)) 166227 } 166228 func postInc961(p *int32, d int32) int32 { v := *p; *p += d; return v } 166229 func postInc967(p *int64, d int64) int64 { v := *p; *p += d; return v } 166230 func postInc973(p *int8, d int8) int8 { v := *p; *p += d; return v } 166231 func postInc6908(p *uint16, d uint16) uint16 { v := *p; *p += d; return v } 166232 func postInc985(p *uint32, d uint32) uint32 { v := *p; *p += d; return v } 166233 func postInc6915(p *uint8, d uint8) uint8 { v := *p; *p += d; return v } 166234 func preInc1025(p **int8, d int) *int8 { 166235 q := (*uintptr)(unsafe.Pointer(p)) 166236 v := *q + uintptr(d) 166237 *q = v 166238 return (*int8)(unsafe.Pointer(v)) 166239 } 166240 func preInc7779437(p **XMem, d int) *XMem { 166241 q := (*uintptr)(unsafe.Pointer(p)) 166242 v := *q + uintptr(d) 166243 *q = v 166244 return (*XMem)(unsafe.Pointer(v)) 166245 } 166246 func preInc6921(p **uint8, d int) *uint8 { 166247 q := (*uintptr)(unsafe.Pointer(p)) 166248 v := *q + uintptr(d) 166249 *q = v 166250 return (*uint8)(unsafe.Pointer(v)) 166251 } 166252 func preInc955(p *int16, d int16) int16 { v := *p + d; *p = v; return v } 166253 func preInc961(p *int32, d int32) int32 { v := *p + d; *p = v; return v } 166254 func preInc6908(p *uint16, d uint16) uint16 { v := *p + d; *p = v; return v } 166255 func preInc985(p *uint32, d uint32) uint32 { v := *p + d; *p = v; return v } 166256 func preInc6915(p *uint8, d uint8) uint8 { v := *p + d; *p = v; return v } 166257 func storebits955(p *int16, v int16, m uint64, o uint) int16 { 166258 *p = *p&^int16(m) | (v << o & int16(m)) 166259 return v 166260 } 166261 func storebits973(p *int8, v int8, m uint64, o uint) int8 { 166262 *p = *p&^int8(m) | (v << o & int8(m)) 166263 return v 166264 } 166265 func store8872912(p *func(*crt.TLS, *Xsqlite3_vtab) int32, v func(*crt.TLS, *Xsqlite3_vtab) int32) func(*crt.TLS, *Xsqlite3_vtab) int32 { 166266 *p = v 166267 return v 166268 } 166269 func store1025(p **int8, v *int8) *int8 { *p = v; return v } 166270 func store7988862(p **XIndex, v *XIndex) *XIndex { *p = v; return v } 166271 func store7857915(p **XColumn, v *XColumn) *XColumn { *p = v; return v } 166272 func store7765325(p **XTable, v *XTable) *XTable { *p = v; return v } 166273 func store7850529(p **T7850641, v *T7850641) *T7850641 { *p = v; return v } 166274 func store7878327(p **XwinShmNode, v *XwinShmNode) *XwinShmNode { *p = v; return v } 166275 func store8257610(p **XFKey, v *XFKey) *XFKey { *p = v; return v } 166276 func store7885869(p **XPgHdr, v *XPgHdr) *XPgHdr { *p = v; return v } 166277 func store7766888(p **XVdbe, v *XVdbe) *XVdbe { *p = v; return v } 166278 func store8895146(p **XWhereTerm, v *XWhereTerm) *XWhereTerm { *p = v; return v } 166279 func store8262880(p **XIncrMerger, v *XIncrMerger) *XIncrMerger { *p = v; return v } 166280 func store7996831(p **XUnpackedRecord, v *XUnpackedRecord) *XUnpackedRecord { *p = v; return v } 166281 func store7912657(p **Xsqlite3_backup, v *Xsqlite3_backup) *Xsqlite3_backup { *p = v; return v } 166282 func store7754118(p **XBtree, v *XBtree) *XBtree { *p = v; return v } 166283 func store8290745(p **XFileChunk, v *XFileChunk) *XFileChunk { *p = v; return v } 166284 func store8121744(p **XSubProgram, v *XSubProgram) *XSubProgram { *p = v; return v } 166285 func store7851147(p **XSelect, v *XSelect) *XSelect { *p = v; return v } 166286 func store7790418(p **Xsqlite3_file, v *Xsqlite3_file) *Xsqlite3_file { *p = v; return v } 166287 func store8272937(p **XMergeEngine, v *XMergeEngine) *XMergeEngine { *p = v; return v } 166288 func store7760891(p **XExprList, v *XExprList) *XExprList { *p = v; return v } 166289 func store7839982(p **XSrcList, v *XSrcList) *XSrcList { *p = v; return v } 166290 func store7901361(p **T7901175, v *T7901175) *T7901175 { *p = v; return v } 166291 func store7789984(p **XFuncDef, v *XFuncDef) *XFuncDef { *p = v; return v } 166292 func store8905652(p **XWhereOrInfo, v *XWhereOrInfo) *XWhereOrInfo { *p = v; return v } 166293 func store7895078(p **XPgHdr1, v *XPgHdr1) *XPgHdr1 { *p = v; return v } 166294 func store7997238(p **XKeyInfo, v *XKeyInfo) *XKeyInfo { *p = v; return v } 166295 func store8892503(p **XWhereLoop, v *XWhereLoop) *XWhereLoop { *p = v; return v } 166296 func store8104608(p **XVdbeOp, v *XVdbeOp) *XVdbeOp { *p = v; return v } 166297 func store7851696(p **XExpr, v *XExpr) *XExpr { *p = v; return v } 166298 func store8151141(p **XVdbeCursor, v *XVdbeCursor) *XVdbeCursor { *p = v; return v } 166299 func store8522485(p **XTriggerStep, v *XTriggerStep) *XTriggerStep { *p = v; return v } 166300 func store7992286(p **XMemPage, v *XMemPage) *XMemPage { *p = v; return v } 166301 func store7779437(p **XMem, v *XMem) *XMem { *p = v; return v } 166302 func store1008(p *unsafe.Pointer, v unsafe.Pointer) unsafe.Pointer { *p = v; return v } 166303 func store6921(p **uint8, v *uint8) *uint8 { *p = v; return v } 166304 func store961(p *int32, v int32) int32 { *p = v; return v } 166305 func store967(p *int64, v int64) int64 { *p = v; return v } 166306 func store973(p *int8, v int8) int8 { *p = v; return v } 166307 func store6908(p *uint16, v uint16) uint16 { *p = v; return v } 166308 func store985(p *uint32, v uint32) uint32 { *p = v; return v } 166309 func store992(p *uint64, v uint64) uint64 { *p = v; return v } 166310 func store6915(p *uint8, v uint8) uint8 { *p = v; return v } 166311 166312 type Xva_list struct{ X0 struct{} } // T7739990 struct{struct{}} 166313 166314 type Xsqlite3_mem_methods struct { 166315 X0 func(*crt.TLS, int32) unsafe.Pointer 166316 X1 func(*crt.TLS, unsafe.Pointer) 166317 X2 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 166318 X3 func(*crt.TLS, unsafe.Pointer) int32 166319 X4 func(*crt.TLS, int32) int32 166320 X5 func(*crt.TLS, unsafe.Pointer) int32 166321 X6 func(*crt.TLS, unsafe.Pointer) 166322 X7 unsafe.Pointer 166323 } // T7741581 struct{*func(int32)*struct{},*func(*struct{}),*func(*struct{},int32)*struct{},*func(*struct{})int32,*func(int32)int32,*func(*struct{})int32,*func(*struct{}),*struct{}} 166324 166325 type Xsqlite3_mutex_methods struct { 166326 X0 func(*crt.TLS) int32 166327 X1 func(*crt.TLS) int32 166328 X2 func(*crt.TLS, int32) unsafe.Pointer 166329 X3 func(*crt.TLS, unsafe.Pointer) 166330 X4 func(*crt.TLS, unsafe.Pointer) 166331 X5 func(*crt.TLS, unsafe.Pointer) int32 166332 X6 func(*crt.TLS, unsafe.Pointer) 166333 X7 func(*crt.TLS, unsafe.Pointer) int32 166334 X8 func(*crt.TLS, unsafe.Pointer) int32 166335 } // T7741775 struct{*func()int32,*func()int32,*func(int32)*struct{},*func(*struct{}),*func(*struct{}),*func(*struct{})int32,*func(*struct{}),*func(*struct{})int32,*func(*struct{})int32} 166336 166337 type Xsqlite3_pcache_methods2 struct { 166338 X0 int32 166339 X1 unsafe.Pointer 166340 X2 func(*crt.TLS, unsafe.Pointer) int32 166341 X3 func(*crt.TLS, unsafe.Pointer) 166342 X4 func(*crt.TLS, int32, int32, int32) unsafe.Pointer 166343 X5 func(*crt.TLS, unsafe.Pointer, int32) 166344 X6 func(*crt.TLS, unsafe.Pointer) int32 166345 X7 func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer 166346 X8 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) 166347 X9 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32) 166348 X10 func(*crt.TLS, unsafe.Pointer, uint32) 166349 X11 func(*crt.TLS, unsafe.Pointer) 166350 X12 func(*crt.TLS, unsafe.Pointer) 166351 } // T7742309 struct{int32,*struct{},*func(*struct{})int32,*func(*struct{}),*func(int32,int32,int32)*struct{},*func(*struct{},int32),*func(*struct{})int32,*func(*struct{},uint32,int32)*struct{},*func(*struct{},*struct{},int32),*func(*struct{},*struct{},uint32,uint32),*func(*struct{},uint32),*func(*struct{}),*func(*struct{})} 166352 166353 type XFuncDefHash struct{ X0 [23]unsafe.Pointer } // T7742693 struct{[23]*struct{}} 166354 166355 type XToken struct { 166356 X0 *int8 166357 X1 uint32 166358 } // T7742760 struct{*int8,uint32} 166359 166360 type Xsqlite3_mutex struct { 166361 X0 struct { 166362 X0 unsafe.Pointer 166363 X1 int32 166364 X2 int32 166365 X3 unsafe.Pointer 166366 X4 unsafe.Pointer 166367 X5 uint32 166368 } 166369 X1 int32 166370 X2 int32 166371 X3 uint32 166372 X4 int32 166373 } // T7743330 struct{struct{*struct{},int32,int32,*struct{},*struct{},uint32},int32,int32,uint32,int32} 166374 166375 type XHash struct { 166376 X0 uint32 166377 X1 uint32 166378 X2 unsafe.Pointer 166379 X3 unsafe.Pointer 166380 } // T7746544 struct{uint32,uint32,*struct{},*struct{}} 166381 166382 type XDb struct { 166383 X0 *int8 166384 X1 unsafe.Pointer 166385 X2 uint8 166386 X3 uint8 166387 X4 unsafe.Pointer 166388 } // T7746693 struct{*int8,*struct{},uint8,uint8,*struct{}} 166389 166390 type Xsqlite3 struct { 166391 X0 unsafe.Pointer 166392 X1 unsafe.Pointer 166393 X2 unsafe.Pointer 166394 X3 unsafe.Pointer 166395 X4 unsafe.Pointer 166396 X5 int32 166397 X6 int32 166398 X7 int64 166399 X8 int64 166400 X9 uint32 166401 X10 int32 166402 X11 int32 166403 X12 int32 166404 X13 uint16 166405 X14 uint8 166406 X15 uint8 166407 X16 uint8 166408 X17 uint8 166409 X18 uint8 166410 X19 uint8 166411 X20 int8 166412 X21 uint8 166413 X22 uint8 166414 X23 uint8 166415 X24 uint8 166416 X25 uint8 166417 X26 uint8 166418 X27 int32 166419 X28 uint32 166420 X29 int32 166421 X30 int32 166422 X31 [12]int32 166423 X32 int32 166424 X33 struct { 166425 X0 int32 166426 X1 uint8 166427 X2 uint8 166428 X3 uint8 166429 X4 uint8 166430 } 166431 X34 int32 166432 X35 int32 166433 X36 int32 166434 X37 int32 166435 X38 int32 166436 X39 int32 166437 X40 *unsafe.Pointer 166438 X41 func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32 166439 X42 unsafe.Pointer 166440 X43 func(*crt.TLS, unsafe.Pointer, *int8, uint64) 166441 X44 unsafe.Pointer 166442 X45 unsafe.Pointer 166443 X46 func(*crt.TLS, unsafe.Pointer) int32 166444 X47 unsafe.Pointer 166445 X48 func(*crt.TLS, unsafe.Pointer) 166446 X49 unsafe.Pointer 166447 X50 func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64) 166448 X51 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32 166449 X52 unsafe.Pointer 166450 X53 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8) 166451 X54 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer) 166452 X55 unsafe.Pointer 166453 X56 unsafe.Pointer 166454 X57 struct { 166455 X [0]struct { 166456 X0 int32 166457 X1 float64 166458 } 166459 U [8]byte 166460 } 166461 X58 struct { 166462 X0 uint32 166463 X1 uint16 166464 X2 uint8 166465 X3 int32 166466 X4 int32 166467 X5 [3]int32 166468 X6 unsafe.Pointer 166469 X7 unsafe.Pointer 166470 X8 unsafe.Pointer 166471 } 166472 X59 func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32 166473 X60 unsafe.Pointer 166474 X61 func(*crt.TLS, unsafe.Pointer) int32 166475 X62 unsafe.Pointer 166476 X63 uint32 166477 X64 int32 166478 X65 struct { 166479 X0 uint32 166480 X1 uint32 166481 X2 unsafe.Pointer 166482 X3 unsafe.Pointer 166483 } 166484 X66 unsafe.Pointer 166485 X67 *unsafe.Pointer 166486 X68 unsafe.Pointer 166487 X69 struct { 166488 X0 uint32 166489 X1 uint32 166490 X2 unsafe.Pointer 166491 X3 unsafe.Pointer 166492 } 166493 X70 struct { 166494 X0 uint32 166495 X1 uint32 166496 X2 unsafe.Pointer 166497 X3 unsafe.Pointer 166498 } 166499 X71 struct { 166500 X0 func(*crt.TLS, unsafe.Pointer, int32) int32 166501 X1 unsafe.Pointer 166502 X2 int32 166503 } 166504 X72 [2]struct { 166505 X0 *int8 166506 X1 unsafe.Pointer 166507 X2 uint8 166508 X3 uint8 166509 X4 unsafe.Pointer 166510 } 166511 X73 unsafe.Pointer 166512 X74 int32 166513 X75 int32 166514 X76 int32 166515 X77 int64 166516 X78 int64 166517 X79 *int32 166518 } // T7746788 struct{*struct{},*struct{},*struct{},*struct{},*struct{},int32,int32,int64,int64,uint32,int32,int32,int32,uint16,uint8,uint8,uint8,uint8,uint8,uint8,int8,uint8,uint8,uint8,uint8,uint8,uint8,int32,uint32,int32,int32,[12]int32,int32,struct{int32,uint8,uint8,uint8,uint8},int32,int32,int32,int32,int32,int32,**struct{},*func(uint32,*struct{},*struct{},*struct{})int32,*struct{},*func(*struct{},*int8,uint64),*struct{},*struct{},*func(*struct{})int32,*struct{},*func(*struct{}),*struct{},*func(*struct{},int32,*int8,*int8,int64),*func(*struct{},*struct{},*int8,int32)int32,*struct{},*func(*struct{},*struct{},int32,*int8),*func(*struct{},*struct{},int32,*struct{}),*struct{},*struct{},union{int32,float64},struct{uint32,uint16,uint8,int32,int32,[3]int32,*struct{},*struct{},*struct{}},*func(*struct{},int32,*int8,*int8,*int8,*int8)int32,*struct{},*func(*struct{})int32,*struct{},uint32,int32,struct{uint32,uint32,*struct{},*struct{}},*struct{},**struct{},*struct{},struct{uint32,uint32,*struct{},*struct{}},struct{uint32,uint32,*struct{},*struct{}},struct{*func(*struct{},int32)int32,*struct{},int32},[2]struct{*int8,*struct{},uint8,uint8,*struct{}},*struct{},int32,int32,int32,int64,int64,*int32} 166519 166520 type XBtLock struct { 166521 X0 unsafe.Pointer 166522 X1 uint32 166523 X2 uint8 166524 X3 unsafe.Pointer 166525 } // T7754252 struct{*struct{},uint32,uint8,*struct{}} 166526 166527 type XBtree struct { 166528 X0 unsafe.Pointer 166529 X1 unsafe.Pointer 166530 X2 uint8 166531 X3 uint8 166532 X4 uint8 166533 X5 uint8 166534 X6 int32 166535 X7 int32 166536 X8 uint32 166537 X9 unsafe.Pointer 166538 X10 unsafe.Pointer 166539 X11 struct { 166540 X0 unsafe.Pointer 166541 X1 uint32 166542 X2 uint8 166543 X3 unsafe.Pointer 166544 } 166545 } // T7754293 struct{*struct{},*struct{},uint8,uint8,uint8,uint8,int32,int32,uint32,*struct{},*struct{},struct{*struct{},uint32,uint8,*struct{}}} 166546 166547 type XPager struct { 166548 X0 unsafe.Pointer 166549 X1 uint8 166550 X2 uint8 166551 X3 uint8 166552 X4 uint8 166553 X5 uint8 166554 X6 uint8 166555 X7 uint8 166556 X8 uint8 166557 X9 uint8 166558 X10 uint8 166559 X11 uint8 166560 X12 uint8 166561 X13 uint8 166562 X14 uint8 166563 X15 uint8 166564 X16 uint8 166565 X17 uint8 166566 X18 uint8 166567 X19 uint8 166568 X20 uint8 166569 X21 uint8 166570 X22 uint32 166571 X23 uint32 166572 X24 uint32 166573 X25 uint32 166574 X26 int32 166575 X27 int32 166576 X28 uint32 166577 X29 uint32 166578 X30 unsafe.Pointer 166579 X31 unsafe.Pointer 166580 X32 unsafe.Pointer 166581 X33 unsafe.Pointer 166582 X34 int64 166583 X35 int64 166584 X36 unsafe.Pointer 166585 X37 unsafe.Pointer 166586 X38 int32 166587 X39 uint32 166588 X40 [16]int8 166589 X41 int32 166590 X42 int64 166591 X43 unsafe.Pointer 166592 X44 uint16 166593 X45 int16 166594 X46 uint32 166595 X47 uint32 166596 X48 int32 166597 X49 uint32 166598 X50 int64 166599 X51 *int8 166600 X52 *int8 166601 X53 func(*crt.TLS, unsafe.Pointer) int32 166602 X54 unsafe.Pointer 166603 X55 [3]int32 166604 X56 func(*crt.TLS, unsafe.Pointer) 166605 X57 func(*crt.TLS, unsafe.Pointer, uint32, *unsafe.Pointer, int32) int32 166606 X58 *int8 166607 X59 unsafe.Pointer 166608 X60 unsafe.Pointer 166609 X61 *int8 166610 } // T7755217 struct{*struct{},uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint32,uint32,uint32,uint32,int32,int32,uint32,uint32,*struct{},*struct{},*struct{},*struct{},int64,int64,*struct{},*struct{},int32,uint32,[16]int8,int32,int64,*struct{},uint16,int16,uint32,uint32,int32,uint32,int64,*int8,*int8,*func(*struct{})int32,*struct{},[3]int32,*func(*struct{}),*func(*struct{},uint32,**struct{},int32)int32,*int8,*struct{},*struct{},*int8} 166611 166612 type XSchema struct { 166613 X0 int32 166614 X1 int32 166615 X2 struct { 166616 X0 uint32 166617 X1 uint32 166618 X2 unsafe.Pointer 166619 X3 unsafe.Pointer 166620 } 166621 X3 struct { 166622 X0 uint32 166623 X1 uint32 166624 X2 unsafe.Pointer 166625 X3 unsafe.Pointer 166626 } 166627 X4 struct { 166628 X0 uint32 166629 X1 uint32 166630 X2 unsafe.Pointer 166631 X3 unsafe.Pointer 166632 } 166633 X5 struct { 166634 X0 uint32 166635 X1 uint32 166636 X2 unsafe.Pointer 166637 X3 unsafe.Pointer 166638 } 166639 X6 unsafe.Pointer 166640 X7 uint8 166641 X8 uint8 166642 X9 uint16 166643 X10 int32 166644 } // T7759116 struct{int32,int32,struct{uint32,uint32,*struct{},*struct{}},struct{uint32,uint32,*struct{},*struct{}},struct{uint32,uint32,*struct{},*struct{}},struct{uint32,uint32,*struct{},*struct{}},*struct{},uint8,uint8,uint16,int32} 166645 166646 type XHashElem struct { 166647 X0 unsafe.Pointer 166648 X1 unsafe.Pointer 166649 X2 unsafe.Pointer 166650 X3 *int8 166651 } // T7759620 struct{*struct{},*struct{},*struct{},*int8} 166652 166653 type XExprList struct { 166654 X0 int32 166655 X1 unsafe.Pointer 166656 } // T7760916 struct{int32,*struct{}} 166657 166658 type XTrigger struct { 166659 X0 *int8 166660 X1 *int8 166661 X2 uint8 166662 X3 uint8 166663 X4 unsafe.Pointer 166664 X5 unsafe.Pointer 166665 X6 unsafe.Pointer 166666 X7 unsafe.Pointer 166667 X8 unsafe.Pointer 166668 X9 unsafe.Pointer 166669 } // T7762282 struct{*int8,*int8,uint8,uint8,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{}} 166670 166671 type XTable struct { 166672 X0 *int8 166673 X1 unsafe.Pointer 166674 X2 unsafe.Pointer 166675 X3 unsafe.Pointer 166676 X4 unsafe.Pointer 166677 X5 *int8 166678 X6 unsafe.Pointer 166679 X7 int32 166680 X8 uint32 166681 X9 uint32 166682 X10 int16 166683 X11 int16 166684 X12 int16 166685 X13 int16 166686 X14 uint8 166687 X15 int32 166688 X16 int32 166689 X17 **int8 166690 X18 unsafe.Pointer 166691 X19 unsafe.Pointer 166692 X20 unsafe.Pointer 166693 X21 unsafe.Pointer 166694 } // T7765145 struct{*int8,*struct{},*struct{},*struct{},*struct{},*int8,*struct{},int32,uint32,uint32,int16,int16,int16,int16,uint8,int32,int32,**int8,*struct{},*struct{},*struct{},*struct{}} 166695 166696 type XVdbe struct { 166697 X0 unsafe.Pointer 166698 X1 unsafe.Pointer 166699 X2 unsafe.Pointer 166700 X3 unsafe.Pointer 166701 X4 int16 166702 X5 uint32 166703 X6 int32 166704 X7 int32 166705 X8 uint32 166706 X9 int32 166707 X10 int32 166708 X11 int32 166709 X12 int32 166710 X13 int64 166711 X14 int64 166712 X15 int64 166713 X16 int64 166714 X17 unsafe.Pointer 166715 X18 unsafe.Pointer 166716 X19 *unsafe.Pointer 166717 X20 unsafe.Pointer 166718 X21 unsafe.Pointer 166719 X22 *int8 166720 X23 *unsafe.Pointer 166721 X24 unsafe.Pointer 166722 X25 *int32 166723 X26 int64 166724 X27 int32 166725 X28 int32 166726 X29 uint16 166727 X30 uint8 166728 X31 uint8 166729 X32 int16 166730 X33 uint32 166731 X34 uint32 166732 X35 [5]uint32 166733 X36 *int8 166734 X37 unsafe.Pointer 166735 X38 unsafe.Pointer 166736 X39 unsafe.Pointer 166737 X40 int32 166738 X41 uint32 166739 X42 unsafe.Pointer 166740 X43 unsafe.Pointer 166741 } // T7767249 struct{*struct{},*struct{},*struct{},*struct{},int16,uint32,int32,int32,uint32,int32,int32,int32,int32,int64,int64,int64,int64,*struct{},*struct{},**struct{},*struct{},*struct{},*int8,**struct{},*struct{},*int32,int64,int32,int32,uint16,uint8,uint8,int16,uint32,uint32,[5]uint32,*int8,*struct{},*struct{},*struct{},int32,uint32,*struct{},*struct{}} 166742 166743 type XDateTime struct { 166744 X0 int64 166745 X1 int32 166746 X2 int32 166747 X3 int32 166748 X4 int32 166749 X5 int32 166750 X6 int32 166751 X7 float64 166752 X8 int8 166753 X9 int8 166754 X10 int8 166755 X11 int8 166756 X12 int8 166757 X13 int8 166758 X14 int8 166759 } // T7774948 struct{int64,int32,int32,int32,int32,int32,int32,float64,int8,int8,int8,int8,int8,int8,int8} 166760 166761 type Xsqlite3_context struct { 166762 X0 unsafe.Pointer 166763 X1 unsafe.Pointer 166764 X2 unsafe.Pointer 166765 X3 unsafe.Pointer 166766 X4 int32 166767 X5 int32 166768 X6 uint8 166769 X7 uint8 166770 X8 uint8 166771 X9 [1]unsafe.Pointer 166772 } // T7775871 struct{*struct{},*struct{},*struct{},*struct{},int32,int32,uint8,uint8,uint8,[1]*struct{}} 166773 166774 type XMem struct { 166775 X0 struct { 166776 X [0]struct { 166777 X0 float64 166778 X1 int64 166779 X2 int32 166780 X3 unsafe.Pointer 166781 X4 unsafe.Pointer 166782 X5 unsafe.Pointer 166783 } 166784 U [8]byte 166785 } 166786 X1 uint16 166787 X2 uint8 166788 X3 uint8 166789 X4 int32 166790 X5 *int8 166791 X6 *int8 166792 X7 int32 166793 X8 uint32 166794 X9 unsafe.Pointer 166795 X10 func(*crt.TLS, unsafe.Pointer) 166796 X11 unsafe.Pointer 166797 X12 unsafe.Pointer 166798 } // T7779274 struct{union{float64,int64,int32,*struct{},*struct{},*struct{}},uint16,uint8,uint8,int32,*int8,*int8,int32,uint32,*struct{},*func(*struct{}),*struct{},*struct{}} 166799 166800 type XFuncDef struct { 166801 X0 int8 166802 X1 uint16 166803 X2 unsafe.Pointer 166804 X3 unsafe.Pointer 166805 X4 func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer) 166806 X5 func(*crt.TLS, unsafe.Pointer) 166807 X6 *int8 166808 X7 struct { 166809 X [0]struct { 166810 X0 unsafe.Pointer 166811 X1 unsafe.Pointer 166812 } 166813 U [4]byte 166814 } 166815 } // T7789662 struct{int8,uint16,*struct{},*struct{},*func(*struct{},int32,**struct{}),*func(*struct{}),*int8,union{*struct{},*struct{}}} 166816 166817 type Xsqlite3_file struct{ X0 unsafe.Pointer } // T7790400 struct{*struct{}} 166818 166819 type Xsqlite3_io_methods struct { 166820 X0 int32 166821 X1 func(*crt.TLS, unsafe.Pointer) int32 166822 X2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 166823 X3 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int64) int32 166824 X4 func(*crt.TLS, unsafe.Pointer, int64) int32 166825 X5 func(*crt.TLS, unsafe.Pointer, int32) int32 166826 X6 func(*crt.TLS, unsafe.Pointer, *int64) int32 166827 X7 func(*crt.TLS, unsafe.Pointer, int32) int32 166828 X8 func(*crt.TLS, unsafe.Pointer, int32) int32 166829 X9 func(*crt.TLS, unsafe.Pointer, *int32) int32 166830 X10 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 166831 X11 func(*crt.TLS, unsafe.Pointer) int32 166832 X12 func(*crt.TLS, unsafe.Pointer) int32 166833 X13 func(*crt.TLS, unsafe.Pointer, int32, int32, int32, *unsafe.Pointer) int32 166834 X14 func(*crt.TLS, unsafe.Pointer, int32, int32, int32) int32 166835 X15 func(*crt.TLS, unsafe.Pointer) 166836 X16 func(*crt.TLS, unsafe.Pointer, int32) int32 166837 X17 func(*crt.TLS, unsafe.Pointer, int64, int32, *unsafe.Pointer) int32 166838 X18 func(*crt.TLS, unsafe.Pointer, int64, unsafe.Pointer) int32 166839 } // T7791735 struct{int32,*func(*struct{})int32,*func(*struct{},*struct{},int32,int64)int32,*func(*struct{},*struct{},int32,int64)int32,*func(*struct{},int64)int32,*func(*struct{},int32)int32,*func(*struct{},*int64)int32,*func(*struct{},int32)int32,*func(*struct{},int32)int32,*func(*struct{},*int32)int32,*func(*struct{},int32,*struct{})int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},int32,int32,int32,**struct{})int32,*func(*struct{},int32,int32,int32)int32,*func(*struct{}),*func(*struct{},int32)int32,*func(*struct{},int64,int32,**struct{})int32,*func(*struct{},int64,*struct{})int32} 166840 166841 type Xsqlite3_vfs struct { 166842 X0 int32 166843 X1 int32 166844 X2 int32 166845 X3 unsafe.Pointer 166846 X4 *int8 166847 X5 unsafe.Pointer 166848 X6 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, int32, *int32) int32 166849 X7 func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 166850 X8 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32) int32 166851 X9 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int8) int32 166852 X10 func(*crt.TLS, unsafe.Pointer, *int8) unsafe.Pointer 166853 X11 func(*crt.TLS, unsafe.Pointer, int32, *int8) 166854 X12 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8) func(*crt.TLS) 166855 X13 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 166856 X14 func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 166857 X15 func(*crt.TLS, unsafe.Pointer, int32) int32 166858 X16 func(*crt.TLS, unsafe.Pointer, *float64) int32 166859 X17 func(*crt.TLS, unsafe.Pointer, int32, *int8) int32 166860 X18 func(*crt.TLS, unsafe.Pointer, *int64) int32 166861 X19 func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS)) int32 166862 X20 func(*crt.TLS, unsafe.Pointer, *int8) func(*crt.TLS) 166863 X21 func(*crt.TLS, unsafe.Pointer, *int8) *int8 166864 } // T7796043 struct{int32,int32,int32,*struct{},*int8,*struct{},*func(*struct{},*int8,*struct{},int32,*int32)int32,*func(*struct{},*int8,int32)int32,*func(*struct{},*int8,int32,*int32)int32,*func(*struct{},*int8,int32,*int8)int32,*func(*struct{},*int8)*struct{},*func(*struct{},int32,*int8),*func(*struct{},*struct{},*int8)*func(),*func(*struct{},*struct{}),*func(*struct{},int32,*int8)int32,*func(*struct{},int32)int32,*func(*struct{},*float64)int32,*func(*struct{},int32,*int8)int32,*func(*struct{},*int64)int32,*func(*struct{},*int8,*func())int32,*func(*struct{},*int8)*func(),*func(*struct{},*int8)*int8} 166865 166866 type Xsqlite3_debug_mutex struct { 166867 X0 int32 166868 X1 int32 166869 } // T7818047 struct{int32,int32} 166870 166871 type Xet_info struct { 166872 X0 int8 166873 X1 uint8 166874 X2 uint8 166875 X3 uint8 166876 X4 uint8 166877 X5 uint8 166878 } // T7837973 struct{int8,uint8,uint8,uint8,uint8,uint8} 166879 166880 type XStrAccum struct { 166881 X0 unsafe.Pointer 166882 X1 *int8 166883 X2 *int8 166884 X3 uint32 166885 X4 uint32 166886 X5 uint32 166887 X6 uint8 166888 X7 uint8 166889 } // T7838141 struct{*struct{},*int8,*int8,uint32,uint32,uint32,uint8,uint8} 166890 166891 type XPrintfArguments struct { 166892 X0 int32 166893 X1 int32 166894 X2 *unsafe.Pointer 166895 } // T7838339 struct{int32,int32,**struct{}} 166896 166897 type XSrcList struct { 166898 X0 int32 166899 X1 uint32 166900 X2 [1]struct { 166901 X0 unsafe.Pointer 166902 X1 *int8 166903 X2 *int8 166904 X3 *int8 166905 X4 unsafe.Pointer 166906 X5 unsafe.Pointer 166907 X6 int32 166908 X7 int32 166909 X8 int32 166910 X9 struct { 166911 X0 uint8 166912 X1 int8 166913 } 166914 X10 uint8 166915 X11 int32 166916 X12 unsafe.Pointer 166917 X13 unsafe.Pointer 166918 X14 uint64 166919 X15 struct { 166920 X [0]struct { 166921 X0 *int8 166922 X1 unsafe.Pointer 166923 } 166924 U [4]byte 166925 } 166926 X16 unsafe.Pointer 166927 } 166928 } // T7840554 struct{int32,uint32,[1]struct{*struct{},*int8,*int8,*int8,*struct{},*struct{},int32,int32,int32,struct{uint8,int8,},uint8,int32,*struct{},*struct{},uint64,union{*int8,*struct{}},*struct{}}} 166929 166930 type XWith struct { 166931 X0 int32 166932 X1 unsafe.Pointer 166933 X2 [1]struct { 166934 X0 *int8 166935 X1 unsafe.Pointer 166936 X2 unsafe.Pointer 166937 X3 *int8 166938 } 166939 } // T7850133 struct{int32,*struct{},[1]struct{*int8,*struct{},*struct{},*int8}} 166940 166941 type XSelect struct { 166942 X0 unsafe.Pointer 166943 X1 uint8 166944 X2 int16 166945 X3 uint32 166946 X4 int32 166947 X5 int32 166948 X6 [12]int8 166949 X7 [2]int32 166950 X8 unsafe.Pointer 166951 X9 unsafe.Pointer 166952 X10 unsafe.Pointer 166953 X11 unsafe.Pointer 166954 X12 unsafe.Pointer 166955 X13 unsafe.Pointer 166956 X14 unsafe.Pointer 166957 X15 unsafe.Pointer 166958 X16 unsafe.Pointer 166959 X17 unsafe.Pointer 166960 } // T7850979 struct{*struct{},uint8,int16,uint32,int32,int32,[12]int8,[2]int32,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*struct{}} 166961 166962 type XExpr struct { 166963 X0 uint8 166964 X1 int8 166965 X2 uint32 166966 X3 struct { 166967 X [0]struct { 166968 X0 *int8 166969 X1 int32 166970 } 166971 U [4]byte 166972 } 166973 X4 unsafe.Pointer 166974 X5 unsafe.Pointer 166975 X6 struct { 166976 X [0]struct { 166977 X0 unsafe.Pointer 166978 X1 unsafe.Pointer 166979 } 166980 U [4]byte 166981 } 166982 X7 int32 166983 X8 int32 166984 X9 int16 166985 X10 int16 166986 X11 int16 166987 X12 uint8 166988 X13 unsafe.Pointer 166989 X14 unsafe.Pointer 166990 } // T7851865 struct{uint8,int8,uint32,union{*int8,int32},*struct{},*struct{},union{*struct{},*struct{}},int32,int32,int16,int16,int16,uint8,*struct{},*struct{}} 166991 166992 type XSQLiteThread struct { 166993 X0 unsafe.Pointer 166994 X1 uint32 166995 X2 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 166996 X3 unsafe.Pointer 166997 X4 unsafe.Pointer 166998 } // T7854347 struct{*struct{},uint32,*func(*struct{})*struct{},*struct{},*struct{}} 166999 167000 type XColumn struct { 167001 X0 *int8 167002 X1 unsafe.Pointer 167003 X2 *int8 167004 X3 uint8 167005 X4 int8 167006 X5 uint8 167007 X6 uint8 167008 } // T7857862 struct{*int8,*struct{},*int8,uint8,int8,uint8,uint8} 167009 167010 type XParse struct { 167011 X0 unsafe.Pointer 167012 X1 *int8 167013 X2 unsafe.Pointer 167014 X3 int32 167015 X4 uint8 167016 X5 uint8 167017 X6 uint8 167018 X7 uint8 167019 X8 uint8 167020 X9 uint8 167021 X10 uint8 167022 X11 uint8 167023 X12 uint8 167024 X13 uint8 167025 X14 int32 167026 X15 int32 167027 X16 int32 167028 X17 int32 167029 X18 int32 167030 X19 int32 167031 X20 int32 167032 X21 int32 167033 X22 int32 167034 X23 int32 167035 X24 int32 167036 X25 int32 167037 X26 *int32 167038 X27 unsafe.Pointer 167039 X28 struct { 167040 X0 *int8 167041 X1 uint32 167042 } 167043 X29 uint32 167044 X30 uint32 167045 X31 int32 167046 X32 int32 167047 X33 int32 167048 X34 int32 167049 X35 int32 167050 X36 int32 167051 X37 unsafe.Pointer 167052 X38 unsafe.Pointer 167053 X39 unsafe.Pointer 167054 X40 unsafe.Pointer 167055 X41 int32 167056 X42 uint32 167057 X43 uint32 167058 X44 uint32 167059 X45 uint8 167060 X46 uint8 167061 X47 uint8 167062 X48 [10]struct { 167063 X0 int32 167064 X1 int16 167065 X2 uint8 167066 X3 int32 167067 X4 int32 167068 X5 int32 167069 } 167070 X49 [8]int32 167071 X50 struct { 167072 X0 *int8 167073 X1 uint32 167074 } 167075 X51 struct { 167076 X0 *int8 167077 X1 uint32 167078 } 167079 X52 int16 167080 X53 uint8 167081 X54 uint8 167082 X55 uint8 167083 X56 int32 167084 X57 int32 167085 X58 int32 167086 X59 int32 167087 X60 *int32 167088 X61 unsafe.Pointer 167089 X62 *int8 167090 X63 unsafe.Pointer 167091 X64 unsafe.Pointer 167092 X65 *int8 167093 X66 struct { 167094 X0 *int8 167095 X1 uint32 167096 } 167097 X67 *unsafe.Pointer 167098 X68 unsafe.Pointer 167099 X69 unsafe.Pointer 167100 X70 unsafe.Pointer 167101 X71 unsafe.Pointer 167102 } // T7863834 struct{*struct{},*int8,*struct{},int32,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,*int32,*struct{},struct{*int8,uint32},uint32,uint32,int32,int32,int32,int32,int32,int32,*struct{},*struct{},*struct{},*struct{},int32,uint32,uint32,uint32,uint8,uint8,uint8,[10]struct{int32,int16,uint8,int32,int32,int32},[8]int32,struct{*int8,uint32},struct{*int8,uint32},int16,uint8,uint8,uint8,int32,int32,int32,int32,*int32,*struct{},*int8,*struct{},*struct{},*int8,struct{*int8,uint32},**struct{},*struct{},*struct{},*struct{},*struct{}} 167103 167104 type XwinFile struct { 167105 X0 unsafe.Pointer 167106 X1 unsafe.Pointer 167107 X2 unsafe.Pointer 167108 X3 uint8 167109 X4 int16 167110 X5 uint8 167111 X6 uint32 167112 X7 unsafe.Pointer 167113 X8 *int8 167114 X9 int32 167115 X10 int32 167116 X11 unsafe.Pointer 167117 X12 unsafe.Pointer 167118 X13 int64 167119 X14 int64 167120 X15 int64 167121 } // T7874787 struct{*struct{},*struct{},*struct{},uint8,int16,uint8,uint32,*struct{},*int8,int32,int32,*struct{},*struct{},int64,int64,int64} 167122 167123 type XwinShm struct { 167124 X0 unsafe.Pointer 167125 X1 unsafe.Pointer 167126 X2 uint8 167127 X3 uint16 167128 X4 uint16 167129 X5 uint8 167130 } // T7875374 struct{*struct{},*struct{},uint8,uint16,uint16,uint8} 167131 167132 type XwinShmNode struct { 167133 X0 unsafe.Pointer 167134 X1 *int8 167135 X2 struct { 167136 X0 unsafe.Pointer 167137 X1 unsafe.Pointer 167138 X2 unsafe.Pointer 167139 X3 uint8 167140 X4 int16 167141 X5 uint8 167142 X6 uint32 167143 X7 unsafe.Pointer 167144 X8 *int8 167145 X9 int32 167146 X10 int32 167147 X11 unsafe.Pointer 167148 X12 unsafe.Pointer 167149 X13 int64 167150 X14 int64 167151 X15 int64 167152 } 167153 X3 int32 167154 X4 int32 167155 X5 unsafe.Pointer 167156 X6 uint32 167157 X7 int32 167158 X8 unsafe.Pointer 167159 X9 unsafe.Pointer 167160 X10 uint8 167161 } // T7878543 struct{*struct{},*int8,struct{*struct{},*struct{},*struct{},uint8,int16,uint8,uint32,*struct{},*int8,int32,int32,*struct{},*struct{},int64,int64,int64},int32,int32,*struct{},uint32,int32,*struct{},*struct{},uint8} 167162 167163 type Xsqlite3_pcache_page struct { 167164 X0 unsafe.Pointer 167165 X1 unsafe.Pointer 167166 } // T7880142 struct{*struct{},*struct{}} 167167 167168 type XwinVfsAppData struct { 167169 X0 unsafe.Pointer 167170 X1 unsafe.Pointer 167171 X2 int32 167172 } // T7881584 struct{*struct{},*struct{},int32} 167173 167174 type XWIN32_FILE_ATTRIBUTE_DATA struct { 167175 X0 uint32 167176 X1 struct { 167177 X0 uint32 167178 X1 uint32 167179 } 167180 X2 struct { 167181 X0 uint32 167182 X1 uint32 167183 } 167184 X3 struct { 167185 X0 uint32 167186 X1 uint32 167187 } 167188 X4 uint32 167189 X5 uint32 167190 } // T7881897 struct{uint32,struct{uint32,uint32},struct{uint32,uint32},struct{uint32,uint32},uint32,uint32} 167191 167192 type XEntropyGatherer struct { 167193 X0 *uint8 167194 X1 int32 167195 X2 int32 167196 X3 int32 167197 } // T7882999 struct{*uint8,int32,int32,int32} 167198 167199 type XBitvec struct { 167200 X0 uint32 167201 X1 uint32 167202 X2 uint32 167203 X3 struct { 167204 X [0]struct { 167205 X0 [500]uint8 167206 X1 [125]uint32 167207 X2 [125]unsafe.Pointer 167208 } 167209 U [500]byte 167210 } 167211 } // T7884041 struct{uint32,uint32,uint32,union{[500]uint8,[125]uint32,[125]*struct{}}} 167212 167213 type XPgHdr struct { 167214 X0 unsafe.Pointer 167215 X1 unsafe.Pointer 167216 X2 unsafe.Pointer 167217 X3 unsafe.Pointer 167218 X4 unsafe.Pointer 167219 X5 uint32 167220 X6 uint16 167221 X7 int16 167222 X8 unsafe.Pointer 167223 X9 unsafe.Pointer 167224 X10 unsafe.Pointer 167225 } // T7885761 struct{*struct{},*struct{},*struct{},*struct{},*struct{},uint32,uint16,int16,*struct{},*struct{},*struct{}} 167226 167227 type XPCache struct { 167228 X0 unsafe.Pointer 167229 X1 unsafe.Pointer 167230 X2 unsafe.Pointer 167231 X3 int32 167232 X4 int32 167233 X5 int32 167234 X6 int32 167235 X7 int32 167236 X8 uint8 167237 X9 uint8 167238 X10 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 167239 X11 unsafe.Pointer 167240 X12 unsafe.Pointer 167241 } // T7886147 struct{*struct{},*struct{},*struct{},int32,int32,int32,int32,int32,uint8,uint8,*func(*struct{},*struct{})int32,*struct{},*struct{}} 167242 167243 type XPgHdr1 struct { 167244 X0 struct { 167245 X0 unsafe.Pointer 167246 X1 unsafe.Pointer 167247 } 167248 X1 uint32 167249 X2 uint8 167250 X3 uint8 167251 X4 uint8 167252 X5 unsafe.Pointer 167253 X6 unsafe.Pointer 167254 X7 unsafe.Pointer 167255 X8 unsafe.Pointer 167256 } // T7894100 struct{struct{*struct{},*struct{}},uint32,uint8,uint8,uint8,*struct{},*struct{},*struct{},*struct{}} 167257 167258 type XPGroup struct { 167259 X0 unsafe.Pointer 167260 X1 uint32 167261 X2 uint32 167262 X3 uint32 167263 X4 uint32 167264 X5 struct { 167265 X0 struct { 167266 X0 unsafe.Pointer 167267 X1 unsafe.Pointer 167268 } 167269 X1 uint32 167270 X2 uint8 167271 X3 uint8 167272 X4 uint8 167273 X5 unsafe.Pointer 167274 X6 unsafe.Pointer 167275 X7 unsafe.Pointer 167276 X8 unsafe.Pointer 167277 } 167278 } // T7894201 struct{*struct{},uint32,uint32,uint32,uint32,struct{struct{*struct{},*struct{}},uint32,uint8,uint8,uint8,*struct{},*struct{},*struct{},*struct{}}} 167279 167280 type XPCache1 struct { 167281 X0 unsafe.Pointer 167282 X1 int32 167283 X2 int32 167284 X3 int32 167285 X4 int32 167286 X5 uint32 167287 X6 uint32 167288 X7 uint32 167289 X8 uint32 167290 X9 uint32 167291 X10 uint32 167292 X11 uint32 167293 X12 *unsafe.Pointer 167294 X13 unsafe.Pointer 167295 X14 unsafe.Pointer 167296 } // T7894806 struct{*struct{},int32,int32,int32,int32,uint32,uint32,uint32,uint32,uint32,uint32,uint32,**struct{},*struct{},*struct{}} 167297 167298 type XRowSet struct { 167299 X0 unsafe.Pointer 167300 X1 unsafe.Pointer 167301 X2 unsafe.Pointer 167302 X3 unsafe.Pointer 167303 X4 unsafe.Pointer 167304 X5 unsafe.Pointer 167305 X6 uint16 167306 X7 uint16 167307 X8 int32 167308 } // T7900805 struct{*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},uint16,uint16,int32} 167309 167310 type XWalIndexHdr struct { 167311 X0 uint32 167312 X1 uint32 167313 X2 uint32 167314 X3 uint8 167315 X4 uint8 167316 X5 uint16 167317 X6 uint32 167318 X7 uint32 167319 X8 [2]uint32 167320 X9 [2]uint32 167321 X10 [2]uint32 167322 } // T7903717 struct{uint32,uint32,uint32,uint8,uint8,uint16,uint32,uint32,[2]uint32,[2]uint32,[2]uint32} 167323 167324 type XWal struct { 167325 X0 unsafe.Pointer 167326 X1 unsafe.Pointer 167327 X2 unsafe.Pointer 167328 X3 uint32 167329 X4 int64 167330 X5 int32 167331 X6 int32 167332 X7 **uint32 167333 X8 uint32 167334 X9 int16 167335 X10 uint8 167336 X11 uint8 167337 X12 uint8 167338 X13 uint8 167339 X14 uint8 167340 X15 uint8 167341 X16 uint8 167342 X17 uint8 167343 X18 struct { 167344 X0 uint32 167345 X1 uint32 167346 X2 uint32 167347 X3 uint8 167348 X4 uint8 167349 X5 uint16 167350 X6 uint32 167351 X7 uint32 167352 X8 [2]uint32 167353 X9 [2]uint32 167354 X10 [2]uint32 167355 } 167356 X19 uint32 167357 X20 uint32 167358 X21 *int8 167359 X22 uint32 167360 X23 uint8 167361 } // T7903809 struct{*struct{},*struct{},*struct{},uint32,int64,int32,int32,**uint32,uint32,int16,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint8,struct{uint32,uint32,uint32,uint8,uint8,uint16,uint32,uint32,[2]uint32,[2]uint32,[2]uint32},uint32,uint32,*int8,uint32,uint8} 167362 167363 type XPagerSavepoint struct { 167364 X0 int64 167365 X1 int64 167366 X2 unsafe.Pointer 167367 X3 uint32 167368 X4 uint32 167369 X5 [4]uint32 167370 } // T7907284 struct{int64,int64,*struct{},uint32,uint32,[4]uint32} 167371 167372 type Xsqlite3_backup struct { 167373 X0 unsafe.Pointer 167374 X1 unsafe.Pointer 167375 X2 uint32 167376 X3 int32 167377 X4 uint32 167378 X5 unsafe.Pointer 167379 X6 unsafe.Pointer 167380 X7 int32 167381 X8 uint32 167382 X9 uint32 167383 X10 int32 167384 X11 unsafe.Pointer 167385 } // T7912553 struct{*struct{},*struct{},uint32,int32,uint32,*struct{},*struct{},int32,uint32,uint32,int32,*struct{}} 167386 167387 type XWalCkptInfo struct { 167388 X0 uint32 167389 X1 [5]uint32 167390 X2 [8]uint8 167391 X3 uint32 167392 X4 uint32 167393 } // T7966383 struct{uint32,[5]uint32,[8]uint8,uint32,uint32} 167394 167395 type XWalIterator struct { 167396 X0 int32 167397 X1 int32 167398 X2 [1]struct { 167399 X0 int32 167400 X1 *uint16 167401 X2 *uint32 167402 X3 int32 167403 X4 int32 167404 } 167405 } // T7972991 struct{int32,int32,[1]struct{int32,*uint16,*uint32,int32,int32}} 167406 167407 type XWalWriter struct { 167408 X0 unsafe.Pointer 167409 X1 unsafe.Pointer 167410 X2 int64 167411 X3 int32 167412 X4 int32 167413 } // T7978943 struct{*struct{},*struct{},int64,int32,int32} 167414 167415 type XBtShared struct { 167416 X0 unsafe.Pointer 167417 X1 unsafe.Pointer 167418 X2 unsafe.Pointer 167419 X3 unsafe.Pointer 167420 X4 uint8 167421 X5 uint8 167422 X6 uint8 167423 X7 uint8 167424 X8 uint8 167425 X9 uint8 167426 X10 uint16 167427 X11 uint16 167428 X12 uint16 167429 X13 uint16 167430 X14 uint16 167431 X15 uint32 167432 X16 uint32 167433 X17 int32 167434 X18 uint32 167435 X19 unsafe.Pointer 167436 X20 func(*crt.TLS, unsafe.Pointer) 167437 X21 unsafe.Pointer 167438 X22 unsafe.Pointer 167439 X23 int32 167440 X24 unsafe.Pointer 167441 X25 unsafe.Pointer 167442 X26 unsafe.Pointer 167443 X27 *uint8 167444 } // T7982551 struct{*struct{},*struct{},*struct{},*struct{},uint8,uint8,uint8,uint8,uint8,uint8,uint16,uint16,uint16,uint16,uint16,uint32,uint32,int32,uint32,*struct{},*func(*struct{}),*struct{},*struct{},int32,*struct{},*struct{},*struct{},*uint8} 167445 167446 type XCellInfo struct { 167447 X0 int64 167448 X1 *uint8 167449 X2 uint32 167450 X3 uint16 167451 X4 uint16 167452 } // T7988027 struct{int64,*uint8,uint32,uint16,uint16} 167453 167454 type XBtCursor struct { 167455 X0 unsafe.Pointer 167456 X1 unsafe.Pointer 167457 X2 unsafe.Pointer 167458 X3 *uint32 167459 X4 struct { 167460 X0 int64 167461 X1 *uint8 167462 X2 uint32 167463 X3 uint16 167464 X4 uint16 167465 } 167466 X5 int64 167467 X6 unsafe.Pointer 167468 X7 uint32 167469 X8 int32 167470 X9 int32 167471 X10 uint8 167472 X11 uint8 167473 X12 uint8 167474 X13 uint8 167475 X14 int8 167476 X15 uint8 167477 X16 unsafe.Pointer 167478 X17 unsafe.Pointer 167479 X18 [20]uint16 167480 X19 [20]unsafe.Pointer 167481 } // T7988094 struct{*struct{},*struct{},*struct{},*uint32,struct{int64,*uint8,uint32,uint16,uint16},int64,*struct{},uint32,int32,int32,uint8,uint8,uint8,uint8,int8,uint8,*struct{},*struct{},[20]uint16,[20]*struct{}} 167482 167483 type XIndex struct { 167484 X0 *int8 167485 X1 *int16 167486 X2 *int16 167487 X3 unsafe.Pointer 167488 X4 *int8 167489 X5 unsafe.Pointer 167490 X6 unsafe.Pointer 167491 X7 *uint8 167492 X8 **int8 167493 X9 unsafe.Pointer 167494 X10 unsafe.Pointer 167495 X11 int32 167496 X12 int16 167497 X13 uint16 167498 X14 uint16 167499 X15 uint8 167500 X16 int8 167501 } // T7989000 struct{*int8,*int16,*int16,*struct{},*int8,*struct{},*struct{},*uint8,**int8,*struct{},*struct{},int32,int16,uint16,uint16,uint8,int8,} 167502 167503 type XMemPage struct { 167504 X0 uint8 167505 X1 uint8 167506 X2 uint8 167507 X3 uint8 167508 X4 uint32 167509 X5 uint8 167510 X6 uint8 167511 X7 uint8 167512 X8 uint8 167513 X9 uint8 167514 X10 uint16 167515 X11 uint16 167516 X12 uint16 167517 X13 uint16 167518 X14 uint16 167519 X15 uint16 167520 X16 [4]uint16 167521 X17 [4]*uint8 167522 X18 unsafe.Pointer 167523 X19 *uint8 167524 X20 *uint8 167525 X21 *uint8 167526 X22 *uint8 167527 X23 unsafe.Pointer 167528 X24 func(*crt.TLS, unsafe.Pointer, *uint8) uint16 167529 X25 func(*crt.TLS, unsafe.Pointer, *uint8, unsafe.Pointer) 167530 } // T7992042 struct{uint8,uint8,uint8,uint8,uint32,uint8,uint8,uint8,uint8,uint8,uint16,uint16,uint16,uint16,uint16,uint16,[4]uint16,[4]*uint8,*struct{},*uint8,*uint8,*uint8,*uint8,*struct{},*func(*struct{},*uint8)uint16,*func(*struct{},*uint8,*struct{})} 167531 167532 type XUnpackedRecord struct { 167533 X0 unsafe.Pointer 167534 X1 unsafe.Pointer 167535 X2 uint16 167536 X3 int8 167537 X4 uint8 167538 X5 int8 167539 X6 int8 167540 X7 uint8 167541 } // T7996894 struct{*struct{},*struct{},uint16,int8,uint8,int8,int8,uint8} 167542 167543 type XKeyInfo struct { 167544 X0 uint32 167545 X1 uint8 167546 X2 uint16 167547 X3 uint16 167548 X4 unsafe.Pointer 167549 X5 *uint8 167550 X6 [1]unsafe.Pointer 167551 } // T7997173 struct{uint32,uint8,uint16,uint16,*struct{},*uint8,[1]*struct{}} 167552 167553 type XBtreePayload struct { 167554 X0 unsafe.Pointer 167555 X1 int64 167556 X2 unsafe.Pointer 167557 X3 unsafe.Pointer 167558 X4 uint16 167559 X5 int32 167560 X6 int32 167561 } // T8041836 struct{*struct{},int64,*struct{},*struct{},uint16,int32,int32} 167562 167563 type XCellArray struct { 167564 X0 int32 167565 X1 unsafe.Pointer 167566 X2 **uint8 167567 X3 *uint16 167568 } // T8043474 struct{int32,*struct{},**uint8,*uint16} 167569 167570 type XIntegrityCk struct { 167571 X0 unsafe.Pointer 167572 X1 unsafe.Pointer 167573 X2 *uint8 167574 X3 uint32 167575 X4 int32 167576 X5 int32 167577 X6 int32 167578 X7 *int8 167579 X8 int32 167580 X9 int32 167581 X10 struct { 167582 X0 unsafe.Pointer 167583 X1 *int8 167584 X2 *int8 167585 X3 uint32 167586 X4 uint32 167587 X5 uint32 167588 X6 uint8 167589 X7 uint8 167590 } 167591 X11 *uint32 167592 } // T8056908 struct{*struct{},*struct{},*uint8,uint32,int32,int32,int32,*int8,int32,int32,struct{*struct{},*int8,*int8,uint32,uint32,uint32,uint8,uint8},*uint32} 167593 167594 type XVdbeFrame struct { 167595 X0 unsafe.Pointer 167596 X1 unsafe.Pointer 167597 X2 unsafe.Pointer 167598 X3 *int64 167599 X4 unsafe.Pointer 167600 X5 *unsafe.Pointer 167601 X6 *uint8 167602 X7 unsafe.Pointer 167603 X8 int64 167604 X9 unsafe.Pointer 167605 X10 int32 167606 X11 int32 167607 X12 int32 167608 X13 int32 167609 X14 int32 167610 X15 int32 167611 X16 int32 167612 X17 int32 167613 } // T8083448 struct{*struct{},*struct{},*struct{},*int64,*struct{},**struct{},*uint8,*struct{},int64,*struct{},int32,int32,int32,int32,int32,int32,int32,int32} 167614 167615 type XVdbeOp struct { 167616 X0 uint8 167617 X1 int8 167618 X2 uint16 167619 X3 int32 167620 X4 int32 167621 X5 int32 167622 X6 struct { 167623 X [0]struct { 167624 X0 int32 167625 X1 unsafe.Pointer 167626 X2 *int8 167627 X3 *int64 167628 X4 *float64 167629 X5 unsafe.Pointer 167630 X6 unsafe.Pointer 167631 X7 unsafe.Pointer 167632 X8 unsafe.Pointer 167633 X9 unsafe.Pointer 167634 X10 unsafe.Pointer 167635 X11 *int32 167636 X12 unsafe.Pointer 167637 X13 unsafe.Pointer 167638 X14 func(*crt.TLS, unsafe.Pointer, *int32) int32 167639 } 167640 U [4]byte 167641 } 167642 X7 *int8 167643 } // T8104983 struct{uint8,int8,uint16,int32,int32,int32,union{int32,*struct{},*int8,*int64,*float64,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*int32,*struct{},*struct{},*func(*struct{},*int32)int32},*int8} 167644 167645 type XVdbeOpIter struct { 167646 X0 unsafe.Pointer 167647 X1 *unsafe.Pointer 167648 X2 int32 167649 X3 int32 167650 X4 int32 167651 } // T8121490 struct{*struct{},**struct{},int32,int32,int32} 167652 167653 type XSubProgram struct { 167654 X0 unsafe.Pointer 167655 X1 int32 167656 X2 int32 167657 X3 int32 167658 X4 *uint8 167659 X5 unsafe.Pointer 167660 X6 unsafe.Pointer 167661 } // T8121681 struct{*struct{},int32,int32,int32,*uint8,*struct{},*struct{}} 167662 167663 type XVTable struct { 167664 X0 unsafe.Pointer 167665 X1 unsafe.Pointer 167666 X2 unsafe.Pointer 167667 X3 int32 167668 X4 uint8 167669 X5 int32 167670 X6 unsafe.Pointer 167671 } // T8137011 struct{*struct{},*struct{},*struct{},int32,uint8,int32,*struct{}} 167672 167673 type XCollSeq struct { 167674 X0 *int8 167675 X1 uint8 167676 X2 unsafe.Pointer 167677 X3 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32 167678 X4 func(*crt.TLS, unsafe.Pointer) 167679 } // T8147399 struct{*int8,uint8,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32,*func(*struct{})} 167680 167681 type Xsqlite3_vtab struct { 167682 X0 unsafe.Pointer 167683 X1 int32 167684 X2 *int8 167685 } // T8147879 struct{*struct{},int32,*int8} 167686 167687 type XVdbeCursor struct { 167688 X0 uint8 167689 X1 int8 167690 X2 uint8 167691 X3 uint8 167692 X4 uint8 167693 X5 uint8 167694 X6 uint8 167695 X7 int8 167696 X8 unsafe.Pointer 167697 X9 int64 167698 X10 *int32 167699 X11 uint32 167700 X12 int32 167701 X13 unsafe.Pointer 167702 X14 struct { 167703 X [0]struct { 167704 X0 unsafe.Pointer 167705 X1 unsafe.Pointer 167706 X2 int32 167707 X3 unsafe.Pointer 167708 } 167709 U [4]byte 167710 } 167711 X15 unsafe.Pointer 167712 X16 uint32 167713 X17 uint32 167714 X18 int16 167715 X19 uint16 167716 X20 int64 167717 X21 *uint32 167718 X22 *uint8 167719 X23 uint32 167720 X24 uint32 167721 X25 [1]uint32 167722 } // T8150915 struct{uint8,int8,uint8,uint8,uint8,uint8,uint8,int8,*struct{},int64,*int32,uint32,int32,*struct{},union{*struct{},*struct{},int32,*struct{}},*struct{},uint32,uint32,int16,uint16,int64,*uint32,*uint8,uint32,uint32,[1]uint32} 167723 167724 type XAuxData struct { 167725 X0 int32 167726 X1 int32 167727 X2 unsafe.Pointer 167728 X3 func(*crt.TLS, unsafe.Pointer) 167729 X4 unsafe.Pointer 167730 } // T8154229 struct{int32,int32,*struct{},*func(*struct{}),*struct{}} 167731 167732 type Xsqlite3_module struct { 167733 X0 int32 167734 X1 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 167735 X2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, **int8, *unsafe.Pointer, **int8) int32 167736 X3 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 167737 X4 func(*crt.TLS, unsafe.Pointer) int32 167738 X5 func(*crt.TLS, unsafe.Pointer) int32 167739 X6 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 167740 X7 func(*crt.TLS, unsafe.Pointer) int32 167741 X8 func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, *unsafe.Pointer) int32 167742 X9 func(*crt.TLS, unsafe.Pointer) int32 167743 X10 func(*crt.TLS, unsafe.Pointer) int32 167744 X11 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) int32 167745 X12 func(*crt.TLS, unsafe.Pointer, *int64) int32 167746 X13 func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer, *int64) int32 167747 X14 func(*crt.TLS, unsafe.Pointer) int32 167748 X15 func(*crt.TLS, unsafe.Pointer) int32 167749 X16 func(*crt.TLS, unsafe.Pointer) int32 167750 X17 func(*crt.TLS, unsafe.Pointer) int32 167751 X18 func(*crt.TLS, unsafe.Pointer, int32, *int8, *func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), *unsafe.Pointer) int32 167752 X19 func(*crt.TLS, unsafe.Pointer, *int8) int32 167753 X20 func(*crt.TLS, unsafe.Pointer, int32) int32 167754 X21 func(*crt.TLS, unsafe.Pointer, int32) int32 167755 X22 func(*crt.TLS, unsafe.Pointer, int32) int32 167756 } // T8163311 struct{int32,*func(*struct{},*struct{},int32,**int8,**struct{},**int8)int32,*func(*struct{},*struct{},int32,**int8,**struct{},**int8)int32,*func(*struct{},*struct{})int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},**struct{})int32,*func(*struct{})int32,*func(*struct{},int32,*int8,int32,**struct{})int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},*struct{},int32)int32,*func(*struct{},*int64)int32,*func(*struct{},int32,**struct{},*int64)int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},int32,*int8,**func(*struct{},int32,**struct{}),**struct{})int32,*func(*struct{},*int8)int32,*func(*struct{},int32)int32,*func(*struct{},int32)int32,*func(*struct{},int32)int32} 167757 167758 type XSavepoint struct { 167759 X0 *int8 167760 X1 int64 167761 X2 int64 167762 X3 unsafe.Pointer 167763 } // T8204572 struct{*int8,int64,int64,*struct{}} 167764 167765 type XSorterFile struct { 167766 X0 unsafe.Pointer 167767 X1 int64 167768 } // T8229033 struct{*struct{},int64} 167769 167770 type XSortSubtask struct { 167771 X0 unsafe.Pointer 167772 X1 int32 167773 X2 unsafe.Pointer 167774 X3 unsafe.Pointer 167775 X4 struct { 167776 X0 unsafe.Pointer 167777 X1 *uint8 167778 X2 int32 167779 } 167780 X5 int32 167781 X6 func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 167782 X7 struct { 167783 X0 unsafe.Pointer 167784 X1 int64 167785 } 167786 X8 struct { 167787 X0 unsafe.Pointer 167788 X1 int64 167789 } 167790 } // T8229057 struct{*struct{},int32,*struct{},*struct{},struct{*struct{},*uint8,int32},int32,*func(*struct{},*int32,*struct{},int32,*struct{},int32)int32,struct{*struct{},int64},struct{*struct{},int64}} 167791 167792 type XVdbeSorter struct { 167793 X0 int32 167794 X1 int32 167795 X2 int32 167796 X3 int32 167797 X4 unsafe.Pointer 167798 X5 unsafe.Pointer 167799 X6 unsafe.Pointer 167800 X7 unsafe.Pointer 167801 X8 unsafe.Pointer 167802 X9 struct { 167803 X0 unsafe.Pointer 167804 X1 *uint8 167805 X2 int32 167806 } 167807 X10 int32 167808 X11 int32 167809 X12 uint8 167810 X13 uint8 167811 X14 uint8 167812 X15 uint8 167813 X16 uint8 167814 X17 [1]struct { 167815 X0 unsafe.Pointer 167816 X1 int32 167817 X2 unsafe.Pointer 167818 X3 unsafe.Pointer 167819 X4 struct { 167820 X0 unsafe.Pointer 167821 X1 *uint8 167822 X2 int32 167823 } 167824 X5 int32 167825 X6 func(*crt.TLS, unsafe.Pointer, *int32, unsafe.Pointer, int32, unsafe.Pointer, int32) int32 167826 X7 struct { 167827 X0 unsafe.Pointer 167828 X1 int64 167829 } 167830 X8 struct { 167831 X0 unsafe.Pointer 167832 X1 int64 167833 } 167834 } 167835 } // T8229442 struct{int32,int32,int32,int32,*struct{},*struct{},*struct{},*struct{},*struct{},struct{*struct{},*uint8,int32},int32,int32,uint8,uint8,uint8,uint8,uint8,[1]struct{*struct{},int32,*struct{},*struct{},struct{*struct{},*uint8,int32},int32,*func(*struct{},*int32,*struct{},int32,*struct{},int32)int32,struct{*struct{},int64},struct{*struct{},int64}}} 167836 167837 type XInitData struct { 167838 X0 unsafe.Pointer 167839 X1 **int8 167840 X2 int32 167841 X3 int32 167842 } // T8234320 struct{*struct{},**int8,int32,int32} 167843 167844 type XIncrblob struct { 167845 X0 int32 167846 X1 int32 167847 X2 uint16 167848 X3 unsafe.Pointer 167849 X4 unsafe.Pointer 167850 X5 unsafe.Pointer 167851 X6 *int8 167852 X7 unsafe.Pointer 167853 } // T8251383 struct{int32,int32,uint16,*struct{},*struct{},*struct{},*int8,*struct{}} 167854 167855 type XFKey struct { 167856 X0 unsafe.Pointer 167857 X1 unsafe.Pointer 167858 X2 *int8 167859 X3 unsafe.Pointer 167860 X4 unsafe.Pointer 167861 X5 int32 167862 X6 uint8 167863 X7 [2]uint8 167864 X8 [2]unsafe.Pointer 167865 X9 [1]struct { 167866 X0 int32 167867 X1 *int8 167868 } 167869 } // T8257787 struct{*struct{},*struct{},*int8,*struct{},*struct{},int32,uint8,[2]uint8,[2]*struct{},[1]struct{int32,*int8}} 167870 167871 type XPmaReader struct { 167872 X0 int64 167873 X1 int64 167874 X2 int32 167875 X3 int32 167876 X4 unsafe.Pointer 167877 X5 *uint8 167878 X6 *uint8 167879 X7 *uint8 167880 X8 int32 167881 X9 *uint8 167882 X10 unsafe.Pointer 167883 } // T8262484 struct{int64,int64,int32,int32,*struct{},*uint8,*uint8,*uint8,int32,*uint8,*struct{}} 167884 167885 type XIncrMerger struct { 167886 X0 unsafe.Pointer 167887 X1 unsafe.Pointer 167888 X2 int64 167889 X3 int32 167890 X4 int32 167891 X5 int32 167892 X6 [2]struct { 167893 X0 unsafe.Pointer 167894 X1 int64 167895 } 167896 } // T8262801 struct{*struct{},*struct{},int64,int32,int32,int32,[2]struct{*struct{},int64}} 167897 167898 type XSorterRecord struct { 167899 X0 int32 167900 X1 struct { 167901 X [0]struct { 167902 X0 unsafe.Pointer 167903 X1 int32 167904 } 167905 U [4]byte 167906 } 167907 } // T8268666 struct{int32,union{*struct{},int32}} 167908 167909 type XMergeEngine struct { 167910 X0 int32 167911 X1 unsafe.Pointer 167912 X2 *int32 167913 X3 unsafe.Pointer 167914 } // T8272896 struct{int32,*struct{},*int32,*struct{}} 167915 167916 type XPmaWriter struct { 167917 X0 int32 167918 X1 *uint8 167919 X2 int32 167920 X3 int32 167921 X4 int32 167922 X5 int64 167923 X6 unsafe.Pointer 167924 } // T8281558 struct{int32,*uint8,int32,int32,int32,int64,*struct{}} 167925 167926 type XMemJournal struct { 167927 X0 unsafe.Pointer 167928 X1 int32 167929 X2 int32 167930 X3 int32 167931 X4 unsafe.Pointer 167932 X5 struct { 167933 X0 int64 167934 X1 unsafe.Pointer 167935 } 167936 X6 struct { 167937 X0 int64 167938 X1 unsafe.Pointer 167939 } 167940 X7 int32 167941 X8 unsafe.Pointer 167942 X9 *int8 167943 } // T8290498 struct{*struct{},int32,int32,int32,*struct{},struct{int64,*struct{}},struct{int64,*struct{}},int32,*struct{},*int8} 167944 167945 type XFileChunk struct { 167946 X0 unsafe.Pointer 167947 X1 [8]uint8 167948 } // T8290773 struct{*struct{},[8]uint8} 167949 167950 type XWalker struct { 167951 X0 unsafe.Pointer 167952 X1 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 167953 X2 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 167954 X3 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 167955 X4 int32 167956 X5 uint8 167957 X6 struct { 167958 X [0]struct { 167959 X0 unsafe.Pointer 167960 X1 int32 167961 X2 int32 167962 X3 unsafe.Pointer 167963 X4 unsafe.Pointer 167964 X5 unsafe.Pointer 167965 X6 *int32 167966 X7 unsafe.Pointer 167967 } 167968 U [4]byte 167969 } 167970 } // T8292130 struct{*struct{},*func(*struct{},*struct{})int32,*func(*struct{},*struct{})int32,*func(*struct{},*struct{}),int32,uint8,union{*struct{},int32,int32,*struct{},*struct{},*struct{},*int32,*struct{}}} 167971 167972 type XIdList struct { 167973 X0 unsafe.Pointer 167974 X1 int32 167975 } // T8304388 struct{*struct{},int32} 167976 167977 type XNameContext struct { 167978 X0 unsafe.Pointer 167979 X1 unsafe.Pointer 167980 X2 unsafe.Pointer 167981 X3 unsafe.Pointer 167982 X4 unsafe.Pointer 167983 X5 int32 167984 X6 int32 167985 X7 uint16 167986 } // T8305445 struct{*struct{},*struct{},*struct{},*struct{},*struct{},int32,int32,uint16} 167987 167988 type XExprSpan struct { 167989 X0 unsafe.Pointer 167990 X1 *int8 167991 X2 *int8 167992 } // T8414145 struct{*struct{},*int8,*int8} 167993 167994 type XSelectDest struct { 167995 X0 uint8 167996 X1 *int8 167997 X2 int32 167998 X3 int32 167999 X4 int32 168000 X5 unsafe.Pointer 168001 } // T8426648 struct{uint8,*int8,int32,int32,int32,*struct{}} 168002 168003 type XAggInfo struct { 168004 X0 uint8 168005 X1 uint8 168006 X2 int32 168007 X3 int32 168008 X4 int32 168009 X5 int32 168010 X6 int32 168011 X7 unsafe.Pointer 168012 X8 unsafe.Pointer 168013 X9 int32 168014 X10 int32 168015 X11 unsafe.Pointer 168016 X12 int32 168017 } // T8444143 struct{uint8,uint8,int32,int32,int32,int32,int32,*struct{},*struct{},int32,int32,*struct{},int32} 168018 168019 type XAutoincInfo struct { 168020 X0 unsafe.Pointer 168021 X1 unsafe.Pointer 168022 X2 int32 168023 X3 int32 168024 } // T8446498 struct{*struct{},*struct{},int32,int32} 168025 168026 type XStat4Accum struct { 168027 X0 uint32 168028 X1 uint32 168029 X2 int32 168030 X3 int32 168031 X4 int32 168032 X5 struct { 168033 X0 *uint32 168034 X1 *uint32 168035 } 168036 X6 uint32 168037 X7 unsafe.Pointer 168038 X8 int32 168039 X9 int32 168040 X10 int32 168041 X11 int32 168042 X12 unsafe.Pointer 168043 X13 unsafe.Pointer 168044 } // T8494353 struct{uint32,uint32,int32,int32,int32,struct{*uint32,*uint32},uint32,*struct{},int32,int32,int32,int32,*struct{},*struct{}} 168045 168046 type XanalysisInfo struct { 168047 X0 unsafe.Pointer 168048 X1 *int8 168049 } // T8506707 struct{*struct{},*int8} 168050 168051 type XDbFixer struct { 168052 X0 unsafe.Pointer 168053 X1 unsafe.Pointer 168054 X2 int32 168055 X3 *int8 168056 X4 *int8 168057 X5 unsafe.Pointer 168058 } // T8520351 struct{*struct{},*struct{},int32,*int8,*int8,*struct{}} 168059 168060 type XTriggerStep struct { 168061 X0 uint8 168062 X1 uint8 168063 X2 unsafe.Pointer 168064 X3 unsafe.Pointer 168065 X4 *int8 168066 X5 unsafe.Pointer 168067 X6 unsafe.Pointer 168068 X7 unsafe.Pointer 168069 X8 unsafe.Pointer 168070 X9 unsafe.Pointer 168071 } // T8522389 struct{uint8,uint8,*struct{},*struct{},*int8,*struct{},*struct{},*struct{},*struct{},*struct{}} 168072 168073 type XAuthContext struct { 168074 X0 *int8 168075 X1 unsafe.Pointer 168076 } // T8526130 struct{*int8,*struct{}} 168077 168078 type XTableLock struct { 168079 X0 int32 168080 X1 int32 168081 X2 uint8 168082 X3 *int8 168083 } // T8526338 struct{int32,int32,uint8,*int8} 168084 168085 type XModule struct { 168086 X0 unsafe.Pointer 168087 X1 *int8 168088 X2 unsafe.Pointer 168089 X3 func(*crt.TLS, unsafe.Pointer) 168090 X4 unsafe.Pointer 168091 } // T8527986 struct{*struct{},*int8,*struct{},*func(*struct{}),*struct{}} 168092 168093 type XWhereTerm struct { 168094 X0 unsafe.Pointer 168095 X1 unsafe.Pointer 168096 X2 int16 168097 X3 uint16 168098 X4 uint16 168099 X5 uint8 168100 X6 uint8 168101 X7 int32 168102 X8 int32 168103 X9 int32 168104 X10 struct { 168105 X [0]struct { 168106 X0 int32 168107 X1 unsafe.Pointer 168108 X2 unsafe.Pointer 168109 } 168110 U [4]byte 168111 } 168112 X11 uint64 168113 X12 uint64 168114 } // T8616182 struct{*struct{},*struct{},int16,uint16,uint16,uint8,uint8,int32,int32,int32,union{int32,*struct{},*struct{}},uint64,uint64} 168115 168116 type XWhereClause struct { 168117 X0 unsafe.Pointer 168118 X1 unsafe.Pointer 168119 X2 uint8 168120 X3 int32 168121 X4 int32 168122 X5 unsafe.Pointer 168123 X6 [8]struct { 168124 X0 unsafe.Pointer 168125 X1 unsafe.Pointer 168126 X2 int16 168127 X3 uint16 168128 X4 uint16 168129 X5 uint8 168130 X6 uint8 168131 X7 int32 168132 X8 int32 168133 X9 int32 168134 X10 struct { 168135 X [0]struct { 168136 X0 int32 168137 X1 unsafe.Pointer 168138 X2 unsafe.Pointer 168139 } 168140 U [4]byte 168141 } 168142 X11 uint64 168143 X12 uint64 168144 } 168145 } // T8616435 struct{*struct{},*struct{},uint8,int32,int32,*struct{},[8]struct{*struct{},*struct{},int16,uint16,uint16,uint8,uint8,int32,int32,int32,union{int32,*struct{},*struct{}},uint64,uint64}} 168146 168147 type XWhereMaskSet struct { 168148 X0 int32 168149 X1 [64]int32 168150 } // T8616630 struct{int32,[64]int32} 168151 168152 type XWhereLevel struct { 168153 X0 int32 168154 X1 int32 168155 X2 int32 168156 X3 int32 168157 X4 int32 168158 X5 int32 168159 X6 int32 168160 X7 int32 168161 X8 int32 168162 X9 uint32 168163 X10 int32 168164 X11 uint8 168165 X12 uint8 168166 X13 uint8 168167 X14 uint8 168168 X15 int32 168169 X16 int32 168170 X17 struct { 168171 X [0]struct { 168172 X0 struct { 168173 X0 int32 168174 X1 unsafe.Pointer 168175 } 168176 X1 unsafe.Pointer 168177 } 168178 U [8]byte 168179 } 168180 X18 unsafe.Pointer 168181 X19 uint64 168182 } // T8616695 struct{int32,int32,int32,int32,int32,int32,int32,int32,int32,uint32,int32,uint8,uint8,uint8,uint8,int32,int32,union{struct{int32,*struct{}},*struct{}},*struct{},uint64} 168183 168184 type XWhereInfo struct { 168185 X0 unsafe.Pointer 168186 X1 unsafe.Pointer 168187 X2 unsafe.Pointer 168188 X3 unsafe.Pointer 168189 X4 int16 168190 X5 [2]int32 168191 X6 int32 168192 X7 int32 168193 X8 int32 168194 X9 uint16 168195 X10 uint8 168196 X11 int8 168197 X12 uint8 168198 X13 uint8 168199 X14 uint8 168200 X15 uint8 168201 X16 uint8 168202 X17 int32 168203 X18 unsafe.Pointer 168204 X19 uint64 168205 X20 int16 168206 X21 struct { 168207 X0 unsafe.Pointer 168208 X1 unsafe.Pointer 168209 X2 uint8 168210 X3 int32 168211 X4 int32 168212 X5 unsafe.Pointer 168213 X6 [8]struct { 168214 X0 unsafe.Pointer 168215 X1 unsafe.Pointer 168216 X2 int16 168217 X3 uint16 168218 X4 uint16 168219 X5 uint8 168220 X6 uint8 168221 X7 int32 168222 X8 int32 168223 X9 int32 168224 X10 struct { 168225 X [0]struct { 168226 X0 int32 168227 X1 unsafe.Pointer 168228 X2 unsafe.Pointer 168229 } 168230 U [4]byte 168231 } 168232 X11 uint64 168233 X12 uint64 168234 } 168235 } 168236 X22 struct { 168237 X0 int32 168238 X1 [64]int32 168239 } 168240 X23 [1]struct { 168241 X0 int32 168242 X1 int32 168243 X2 int32 168244 X3 int32 168245 X4 int32 168246 X5 int32 168247 X6 int32 168248 X7 int32 168249 X8 int32 168250 X9 uint32 168251 X10 int32 168252 X11 uint8 168253 X12 uint8 168254 X13 uint8 168255 X14 uint8 168256 X15 int32 168257 X16 int32 168258 X17 struct { 168259 X [0]struct { 168260 X0 struct { 168261 X0 int32 168262 X1 unsafe.Pointer 168263 } 168264 X1 unsafe.Pointer 168265 } 168266 U [8]byte 168267 } 168268 X18 unsafe.Pointer 168269 X19 uint64 168270 } 168271 } // T8617038 struct{*struct{},*struct{},*struct{},*struct{},int16,[2]int32,int32,int32,int32,uint16,uint8,int8,uint8,uint8,uint8,uint8,uint8,int32,*struct{},uint64,int16,struct{*struct{},*struct{},uint8,int32,int32,*struct{},[8]struct{*struct{},*struct{},int16,uint16,uint16,uint8,uint8,int32,int32,int32,union{int32,*struct{},*struct{}},uint64,uint64}},struct{int32,[64]int32},[1]struct{int32,int32,int32,int32,int32,int32,int32,int32,int32,uint32,int32,uint8,uint8,uint8,uint8,int32,int32,union{struct{int32,*struct{}},*struct{}},*struct{},uint64}} 168272 168273 type XSumCtx struct { 168274 X0 float64 168275 X1 int64 168276 X2 int64 168277 X3 uint8 168278 X4 uint8 168279 } // T8653782 struct{float64,int64,int64,uint8,uint8} 168280 168281 type XCountCtx struct{ X0 int64 } // T8653980 struct{int64} 168282 168283 type XFuncDestructor struct { 168284 X0 int32 168285 X1 func(*crt.TLS, unsafe.Pointer) 168286 X2 unsafe.Pointer 168287 } // T8660041 struct{int32,*func(*struct{}),*struct{}} 168288 168289 type XTriggerPrg struct { 168290 X0 unsafe.Pointer 168291 X1 unsafe.Pointer 168292 X2 unsafe.Pointer 168293 X3 int32 168294 X4 [2]uint32 168295 } // T8675816 struct{*struct{},*struct{},*struct{},int32,[2]uint32} 168296 168297 type Xsqlite3_api_routines struct { 168298 X0 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168299 X1 func(*crt.TLS, unsafe.Pointer) int32 168300 X2 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 168301 X3 func(*crt.TLS, unsafe.Pointer, int32, float64) int32 168302 X4 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 168303 X5 func(*crt.TLS, unsafe.Pointer, int32, int64) int32 168304 X6 func(*crt.TLS, unsafe.Pointer, int32) int32 168305 X7 func(*crt.TLS, unsafe.Pointer) int32 168306 X8 func(*crt.TLS, unsafe.Pointer, *int8) int32 168307 X9 func(*crt.TLS, unsafe.Pointer, int32) *int8 168308 X10 func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, func(*crt.TLS, unsafe.Pointer)) int32 168309 X11 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32 168310 X12 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32 168311 X13 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32 168312 X14 func(*crt.TLS, unsafe.Pointer, int32) int32 168313 X15 func(*crt.TLS, unsafe.Pointer) int32 168314 X16 func(*crt.TLS, unsafe.Pointer) int32 168315 X17 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32 168316 X18 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32 168317 X19 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168318 X20 func(*crt.TLS, unsafe.Pointer, int32) int32 168319 X21 func(*crt.TLS, unsafe.Pointer, int32) int32 168320 X22 func(*crt.TLS, unsafe.Pointer) int32 168321 X23 func(*crt.TLS, unsafe.Pointer, int32) *int8 168322 X24 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168323 X25 func(*crt.TLS, unsafe.Pointer, int32) *int8 168324 X26 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168325 X27 func(*crt.TLS, unsafe.Pointer, int32) float64 168326 X28 func(*crt.TLS, unsafe.Pointer, int32) int32 168327 X29 func(*crt.TLS, unsafe.Pointer, int32) int64 168328 X30 func(*crt.TLS, unsafe.Pointer, int32) *int8 168329 X31 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168330 X32 func(*crt.TLS, unsafe.Pointer, int32) *int8 168331 X33 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168332 X34 func(*crt.TLS, unsafe.Pointer, int32) *int8 168333 X35 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168334 X36 func(*crt.TLS, unsafe.Pointer, int32) *uint8 168335 X37 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168336 X38 func(*crt.TLS, unsafe.Pointer, int32) int32 168337 X39 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168338 X40 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer 168339 X41 func(*crt.TLS, *int8) int32 168340 X42 func(*crt.TLS, unsafe.Pointer) int32 168341 X43 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 168342 X44 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32 168343 X45 func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 168344 X46 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 168345 X47 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32 168346 X48 func(*crt.TLS, unsafe.Pointer) int32 168347 X49 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168348 X50 func(*crt.TLS, unsafe.Pointer, *int8) int32 168349 X51 func(*crt.TLS, int32) int32 168350 X52 func(*crt.TLS, unsafe.Pointer) int32 168351 X53 func(*crt.TLS, unsafe.Pointer) *int8 168352 X54 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168353 X55 func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32 168354 X56 func(*crt.TLS, unsafe.Pointer) int32 168355 X57 func(*crt.TLS, unsafe.Pointer) int32 168356 X58 func(*crt.TLS, unsafe.Pointer) 168357 X59 func(*crt.TLS, **int8) 168358 X60 func(*crt.TLS, unsafe.Pointer) int32 168359 X61 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168360 X62 func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32 168361 X63 func(*crt.TLS) int32 168362 X64 func(*crt.TLS, unsafe.Pointer) 168363 X65 func(*crt.TLS, unsafe.Pointer) int64 168364 X66 func(*crt.TLS) *int8 168365 X67 func(*crt.TLS) int32 168366 X68 func(*crt.TLS, int32) unsafe.Pointer 168367 X69 func(*crt.TLS, *int8, ...interface{}) *int8 168368 X70 func(*crt.TLS, *int8, *unsafe.Pointer) int32 168369 X71 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32 168370 X72 func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 168371 X73 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 168372 X74 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer 168373 X75 func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) 168374 X76 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168375 X77 func(*crt.TLS, unsafe.Pointer) int32 168376 X78 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 168377 X79 func(*crt.TLS, unsafe.Pointer, float64) 168378 X80 func(*crt.TLS, unsafe.Pointer, *int8, int32) 168379 X81 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) 168380 X82 func(*crt.TLS, unsafe.Pointer, int32) 168381 X83 func(*crt.TLS, unsafe.Pointer, int64) 168382 X84 func(*crt.TLS, unsafe.Pointer) 168383 X85 func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer)) 168384 X86 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 168385 X87 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 168386 X88 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) 168387 X89 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) 168388 X90 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer 168389 X91 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32 168390 X92 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) 168391 X93 func(*crt.TLS, int32, *int8, *int8, ...interface{}) *int8 168392 X94 func(*crt.TLS, unsafe.Pointer) int32 168393 X95 func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32 168394 X96 func(*crt.TLS) 168395 X97 func(*crt.TLS, unsafe.Pointer) int32 168396 X98 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer 168397 X99 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32 168398 X100 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer 168399 X101 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168400 X102 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168401 X103 func(*crt.TLS, unsafe.Pointer) int32 168402 X104 func(*crt.TLS, unsafe.Pointer) int32 168403 X105 func(*crt.TLS, unsafe.Pointer) float64 168404 X106 func(*crt.TLS, unsafe.Pointer) int32 168405 X107 func(*crt.TLS, unsafe.Pointer) int64 168406 X108 func(*crt.TLS, unsafe.Pointer) int32 168407 X109 func(*crt.TLS, unsafe.Pointer) *uint8 168408 X110 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168409 X111 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168410 X112 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168411 X113 func(*crt.TLS, unsafe.Pointer) int32 168412 X114 func(*crt.TLS, *int8, unsafe.Pointer) *int8 168413 X115 func(*crt.TLS, unsafe.Pointer, *int8, int32) int32 168414 X116 func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32 168415 X117 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32 168416 X118 func(*crt.TLS, unsafe.Pointer) int32 168417 X119 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32 168418 X120 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 168419 X121 func(*crt.TLS, unsafe.Pointer) int32 168420 X122 func(*crt.TLS, unsafe.Pointer) int32 168421 X123 func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32 168422 X124 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 168423 X125 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32 168424 X126 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, func(*crt.TLS, unsafe.Pointer)) int32 168425 X127 func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32 168426 X128 func(*crt.TLS, int32) int64 168427 X129 func(*crt.TLS) int64 168428 X130 func(*crt.TLS, int32) unsafe.Pointer 168429 X131 func(*crt.TLS, unsafe.Pointer) 168430 X132 func(*crt.TLS, unsafe.Pointer) 168431 X133 func(*crt.TLS, unsafe.Pointer) 168432 X134 func(*crt.TLS, unsafe.Pointer) int32 168433 X135 func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32 168434 X136 func(*crt.TLS, int32) int32 168435 X137 func(*crt.TLS, unsafe.Pointer) 168436 X138 func(*crt.TLS, unsafe.Pointer) 168437 X139 func(*crt.TLS, int32) int32 168438 X140 func(*crt.TLS, int32) 168439 X141 func(*crt.TLS, *int8) unsafe.Pointer 168440 X142 func(*crt.TLS, unsafe.Pointer, int32) int32 168441 X143 func(*crt.TLS, unsafe.Pointer) int32 168442 X144 func(*crt.TLS) int32 168443 X145 func(*crt.TLS, unsafe.Pointer, int32) 168444 X146 func(*crt.TLS, unsafe.Pointer, int32) 168445 X147 func(*crt.TLS, int32, ...interface{}) int32 168446 X148 func(*crt.TLS, int32, unsafe.Pointer) 168447 X149 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168448 X150 func(*crt.TLS, unsafe.Pointer, int32) int32 168449 X151 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 168450 X152 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer 168451 X153 func(*crt.TLS, unsafe.Pointer) *int8 168452 X154 func(*crt.TLS, int32, *int32, *int32, int32) int32 168453 X155 func(*crt.TLS, unsafe.Pointer) int32 168454 X156 func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer 168455 X157 func(*crt.TLS, unsafe.Pointer) int32 168456 X158 func(*crt.TLS, unsafe.Pointer) int32 168457 X159 func(*crt.TLS, unsafe.Pointer, int32) int32 168458 X160 func(*crt.TLS, int32) *int8 168459 X161 func(*crt.TLS, *int8) int32 168460 X162 func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32 168461 X163 func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 168462 X164 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168463 X165 func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32 168464 X166 func(*crt.TLS, unsafe.Pointer) int32 168465 X167 func(*crt.TLS, int32, *int8, ...interface{}) 168466 X168 func(*crt.TLS, int64) int64 168467 X169 func(*crt.TLS) *int8 168468 X170 func(*crt.TLS, unsafe.Pointer, int32, int32) int32 168469 X171 func(*crt.TLS, *int8, *int8, int32) int32 168470 X172 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, *unsafe.Pointer, int32), unsafe.Pointer) int32 168471 X173 func(*crt.TLS, unsafe.Pointer, int32) int32 168472 X174 func(*crt.TLS, unsafe.Pointer, *int8) int32 168473 X175 func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer 168474 X176 func(*crt.TLS, unsafe.Pointer, int64) int32 168475 X177 func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32 168476 X178 func(*crt.TLS, unsafe.Pointer) int32 168477 X179 func(*crt.TLS, unsafe.Pointer) int32 168478 X180 func(*crt.TLS, unsafe.Pointer, *int8) *int8 168479 X181 func(*crt.TLS, unsafe.Pointer, *int8) int32 168480 X182 func(*crt.TLS, unsafe.Pointer) int32 168481 X183 func(*crt.TLS, int32) *int8 168482 X184 func(*crt.TLS, unsafe.Pointer) int32 168483 X185 func(*crt.TLS, unsafe.Pointer) int32 168484 X186 func(*crt.TLS, *int8, *int8) int32 168485 X187 func(*crt.TLS, *int8, *int8, int32) int32 168486 X188 func(*crt.TLS, *int8, *int8, int64) int64 168487 X189 func(*crt.TLS, *int8, *int8) *int8 168488 X190 func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8 168489 X191 func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32 168490 X192 func(*crt.TLS, func(*crt.TLS)) int32 168491 X193 func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) int32 168492 X194 func(*crt.TLS, unsafe.Pointer, int32, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) int32 168493 X195 func(*crt.TLS, func(*crt.TLS)) int32 168494 X196 func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32 168495 X197 func(*crt.TLS, uint64) unsafe.Pointer 168496 X198 func(*crt.TLS, unsafe.Pointer) uint64 168497 X199 func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer 168498 X200 func(*crt.TLS) 168499 X201 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) 168500 X202 func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) 168501 X203 func(*crt.TLS, *int8, *int8) int32 168502 X204 func(*crt.TLS, unsafe.Pointer) unsafe.Pointer 168503 X205 func(*crt.TLS, unsafe.Pointer) 168504 X206 func(*crt.TLS, unsafe.Pointer, uint64) int32 168505 X207 func(*crt.TLS, unsafe.Pointer, int32, uint64) int32 168506 X208 func(*crt.TLS, unsafe.Pointer) uint32 168507 X209 func(*crt.TLS, unsafe.Pointer, uint32) 168508 X210 func(*crt.TLS, int32, *int64, *int64, int32) int32 168509 X211 func(*crt.TLS, *int8, *int8, uint32) int32 168510 X212 func(*crt.TLS, unsafe.Pointer) int32 168511 X213 func(*crt.TLS, unsafe.Pointer) int32 168512 X214 func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32 168513 X215 func(*crt.TLS, unsafe.Pointer) *int8 168514 X216 func(*crt.TLS, unsafe.Pointer, int64) 168515 } // T8697731 struct{*func(*struct{},int32)*struct{},*func(*struct{})int32,*func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,*func(*struct{},int32,float64)int32,*func(*struct{},int32,int32)int32,*func(*struct{},int32,int64)int32,*func(*struct{},int32)int32,*func(*struct{})int32,*func(*struct{},*int8)int32,*func(*struct{},int32)*int8,*func(*struct{},int32,*int8,int32,*func(*struct{}))int32,*func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,*func(*struct{},int32,*struct{})int32,*func(*struct{},*func(*struct{},int32)int32,*struct{})int32,*func(*struct{},int32)int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},*struct{},*func(*struct{},*struct{},int32,*int8))int32,*func(*struct{},*struct{},*func(*struct{},*struct{},int32,*struct{}))int32,*func(*struct{},int32)*struct{},*func(*struct{},int32)int32,*func(*struct{},int32)int32,*func(*struct{})int32,*func(*struct{},int32)*int8,*func(*struct{},int32)*struct{},*func(*struct{},int32)*int8,*func(*struct{},int32)*struct{},*func(*struct{},int32)float64,*func(*struct{},int32)int32,*func(*struct{},int32)int64,*func(*struct{},int32)*int8,*func(*struct{},int32)*struct{},*func(*struct{},int32)*int8,*func(*struct{},int32)*struct{},*func(*struct{},int32)*int8,*func(*struct{},int32)*struct{},*func(*struct{},int32)*uint8,*func(*struct{},int32)*struct{},*func(*struct{},int32)int32,*func(*struct{},int32)*struct{},*func(*struct{},*func(*struct{})int32,*struct{})*struct{},*func(*int8)int32,*func(*struct{})int32,*func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,*func(*struct{},*struct{},int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,*func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,*func(*struct{},*struct{},int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,*func(*struct{},*int8,*struct{},*struct{})int32,*func(*struct{})int32,*func(*struct{})*struct{},*func(*struct{},*int8)int32,*func(int32)int32,*func(*struct{})int32,*func(*struct{})*int8,*func(*struct{})*struct{},*func(*struct{},*int8,*func(*struct{},int32,**int8,**int8)int32,*struct{},**int8)int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{}),*func(**int8),*func(*struct{})int32,*func(*struct{},int32)*struct{},*func(*struct{},*int8,***int8,*int32,*int32,**int8)int32,*func()int32,*func(*struct{}),*func(*struct{})int64,*func()*int8,*func()int32,*func(int32)*struct{},*func(*int8...)*int8,*func(*int8,**struct{})int32,*func(*struct{},**struct{})int32,*func(*struct{},*int8,int32,**struct{},**int8)int32,*func(*struct{},*struct{},int32,**struct{},**struct{})int32,*func(*struct{},*func(*struct{},*int8,uint64),*struct{})*struct{},*func(*struct{},int32,*func(*struct{})int32,*struct{}),*func(*struct{},int32)*struct{},*func(*struct{})int32,*func(*struct{},*struct{},int32,*func(*struct{})),*func(*struct{},float64),*func(*struct{},*int8,int32),*func(*struct{},*struct{},int32),*func(*struct{},int32),*func(*struct{},int64),*func(*struct{}),*func(*struct{},*int8,int32,*func(*struct{})),*func(*struct{},*struct{},int32,*func(*struct{})),*func(*struct{},*struct{},int32,*func(*struct{})),*func(*struct{},*struct{},int32,*func(*struct{})),*func(*struct{},*struct{}),*func(*struct{},*func(*struct{}),*struct{})*struct{},*func(*struct{},*func(*struct{},int32,*int8,*int8,*int8,*int8)int32,*struct{})int32,*func(*struct{},int32,*struct{},*func(*struct{})),*func(int32,*int8,*int8...)*int8,*func(*struct{})int32,*func(*struct{},*int8,*int8,*int8,**int8,**int8,*int32,*int32,*int32)int32,*func(),*func(*struct{})int32,*func(*struct{},*func(*struct{},*int8),*struct{})*struct{},*func(*struct{},*struct{})int32,*func(*struct{},*func(*struct{},int32,*int8,*int8,int64),*struct{})*struct{},*func(*struct{})*struct{},*func(*struct{})*struct{},*func(*struct{})int32,*func(*struct{})int32,*func(*struct{})float64,*func(*struct{})int32,*func(*struct{})int64,*func(*struct{})int32,*func(*struct{})*uint8,*func(*struct{})*struct{},*func(*struct{})*struct{},*func(*struct{})*struct{},*func(*struct{})int32,*func(*int8,*struct{})*int8,*func(*struct{},*int8,int32)int32,*func(*struct{},*int8,int32,**struct{},**int8)int32,*func(*struct{},*struct{},int32,**struct{},**struct{})int32,*func(*struct{})int32,*func(*struct{},*int8,*struct{},*struct{},*func(*struct{}))int32,*func(*struct{},int32,int32)int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},*int8,*int8,*int8,int64,int32,**struct{})int32,*func(*struct{},*struct{},int32,int32)int32,*func(*struct{},*struct{},int32,int32)int32,*func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32,*func(*struct{}))int32,*func(*struct{},*int8,int32,*struct{})int32,*func(int32)int64,*func()int64,*func(int32)*struct{},*func(*struct{}),*func(*struct{}),*func(*struct{}),*func(*struct{})int32,*func(*int8,**struct{},int32,*int8)int32,*func(int32)int32,*func(*struct{}),*func(*struct{}),*func(int32)int32,*func(int32),*func(*int8)*struct{},*func(*struct{},int32)int32,*func(*struct{})int32,*func()int32,*func(*struct{},int32),*func(*struct{},int32),*func(int32...)int32,*func(int32,*struct{}),*func(*struct{})*struct{},*func(*struct{},int32)int32,*func(*struct{},int32,int32)int32,*func(*struct{},*struct{})*struct{},*func(*struct{})*int8,*func(int32,*int32,*int32,int32)int32,*func(*struct{})int32,*func(*struct{},*int8,*struct{},*int8)*struct{},*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},int32)int32,*func(int32)*int8,*func(*int8)int32,*func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}),*func(*struct{}))int32,*func(*struct{},int32...)int32,*func(*struct{})*struct{},*func(*struct{},int32,*int32,*int32,int32)int32,*func(*struct{})int32,*func(int32,*int8...),*func(int64)int64,*func()*int8,*func(*struct{},int32,int32)int32,*func(*int8,*int8,int32)int32,*func(*struct{},*func(**struct{},int32),*struct{})int32,*func(*struct{},int32)int32,*func(*struct{},*int8)int32,*func(*struct{},*func(*struct{},*struct{},*int8,int32)int32,*struct{})*struct{},*func(*struct{},int64)int32,*func(*struct{},int32...)int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},*int8)*int8,*func(*struct{},*int8)int32,*func(*struct{})int32,*func(int32)*int8,*func(*struct{})int32,*func(*struct{})int32,*func(*int8,*int8)int32,*func(*int8,*int8,int32)int32,*func(*int8,*int8,int64)int64,*func(*int8,*int8)*int8,*func(int32,*int8,*int8,*struct{})*int8,*func(*struct{},*int8,int32,*int32,*int32)int32,*func(*func())int32,*func(*struct{},int32,*struct{},uint64,*func(*struct{}))int32,*func(*struct{},int32,*int8,uint64,*func(*struct{}),uint8)int32,*func(*func())int32,*func(*struct{},*int8,*int8,**int8)int32,*func(uint64)*struct{},*func(*struct{})uint64,*func(*struct{},uint64)*struct{},*func(),*func(*struct{},*struct{},uint64,*func(*struct{})),*func(*struct{},*int8,uint64,*func(*struct{}),uint8),*func(*int8,*int8)int32,*func(*struct{})*struct{},*func(*struct{}),*func(*struct{},uint64)int32,*func(*struct{},int32,uint64)int32,*func(*struct{})uint32,*func(*struct{},uint32),*func(int32,*int64,*int64,int32)int32,*func(*int8,*int8,uint32)int32,*func(*struct{})int32,*func(*struct{})int32,*func(*struct{},uint32,*func(uint32,*struct{},*struct{},*struct{})int32,*struct{})int32,*func(*struct{})*int8,*func(*struct{},int64)} 168516 168517 type XPragmaName struct { 168518 X0 *int8 168519 X1 uint8 168520 X2 uint8 168521 X3 uint8 168522 X4 uint8 168523 X5 uint32 168524 } // T8753053 struct{*int8,uint8,uint8,uint8,uint8,uint32} 168525 168526 type XPragmaVtab struct { 168527 X0 struct { 168528 X0 unsafe.Pointer 168529 X1 int32 168530 X2 *int8 168531 } 168532 X1 unsafe.Pointer 168533 X2 unsafe.Pointer 168534 X3 uint8 168535 X4 uint8 168536 } // T8762622 struct{struct{*struct{},int32,*int8},*struct{},*struct{},uint8,uint8} 168537 168538 type Xsqlite3_index_info struct { 168539 X0 int32 168540 X1 unsafe.Pointer 168541 X2 int32 168542 X3 unsafe.Pointer 168543 X4 unsafe.Pointer 168544 X5 int32 168545 X6 *int8 168546 X7 int32 168547 X8 int32 168548 X9 float64 168549 X10 int64 168550 X11 int32 168551 X12 uint64 168552 } // T8762996 struct{int32,*struct{},int32,*struct{},*struct{},int32,*int8,int32,int32,float64,int64,int32,uint64} 168553 168554 type XPragmaVtabCursor struct { 168555 X0 struct{ X0 unsafe.Pointer } 168556 X1 unsafe.Pointer 168557 X2 int64 168558 X3 [2]*int8 168559 } // T8763448 struct{struct{*struct{}},*struct{},int64,[2]*int8} 168560 168561 type XSortCtx struct { 168562 X0 unsafe.Pointer 168563 X1 int32 168564 X2 int32 168565 X3 int32 168566 X4 int32 168567 X5 int32 168568 X6 int32 168569 X7 uint8 168570 X8 uint8 168571 } // T8792201 struct{*struct{},int32,int32,int32,int32,int32,int32,uint8,uint8} 168572 168573 type XDistinctCtx struct { 168574 X0 uint8 168575 X1 uint8 168576 X2 int32 168577 X3 int32 168578 } // T8795479 struct{uint8,uint8,int32,int32} 168579 168580 type XTabResult struct { 168581 X0 **int8 168582 X1 *int8 168583 X2 uint32 168584 X3 uint32 168585 X4 uint32 168586 X5 uint32 168587 X6 int32 168588 } // T8830822 struct{**int8,*int8,uint32,uint32,uint32,uint32,int32} 168589 168590 type XVtabCtx struct { 168591 X0 unsafe.Pointer 168592 X1 unsafe.Pointer 168593 X2 unsafe.Pointer 168594 X3 int32 168595 } // T8880147 struct{*struct{},*struct{},*struct{},int32} 168596 168597 type XWhereLoop struct { 168598 X0 uint64 168599 X1 uint64 168600 X2 int8 168601 X3 uint8 168602 X4 uint8 168603 X5 int16 168604 X6 int16 168605 X7 int16 168606 X8 struct { 168607 X [0]struct { 168608 X0 struct { 168609 X0 uint16 168610 X1 uint16 168611 X2 uint16 168612 X3 unsafe.Pointer 168613 } 168614 X1 struct { 168615 X0 int32 168616 X1 uint8 168617 X2 int8 168618 X3 uint16 168619 X4 *int8 168620 } 168621 } 168622 U [12]byte 168623 } 168624 X9 uint32 168625 X10 uint16 168626 X11 uint16 168627 X12 uint16 168628 X13 *unsafe.Pointer 168629 X14 unsafe.Pointer 168630 X15 [3]unsafe.Pointer 168631 } // T8892299 struct{uint64,uint64,int8,uint8,uint8,int16,int16,int16,union{struct{uint16,uint16,uint16,*struct{}},struct{int32,uint8,int8,uint16,*int8}},uint32,uint16,uint16,uint16,**struct{},*struct{},[3]*struct{}} 168632 168633 type XWhereOrInfo struct { 168634 X0 struct { 168635 X0 unsafe.Pointer 168636 X1 unsafe.Pointer 168637 X2 uint8 168638 X3 int32 168639 X4 int32 168640 X5 unsafe.Pointer 168641 X6 [8]struct { 168642 X0 unsafe.Pointer 168643 X1 unsafe.Pointer 168644 X2 int16 168645 X3 uint16 168646 X4 uint16 168647 X5 uint8 168648 X6 uint8 168649 X7 int32 168650 X8 int32 168651 X9 int32 168652 X10 struct { 168653 X [0]struct { 168654 X0 int32 168655 X1 unsafe.Pointer 168656 X2 unsafe.Pointer 168657 } 168658 U [4]byte 168659 } 168660 X11 uint64 168661 X12 uint64 168662 } 168663 } 168664 X1 uint64 168665 } // T8905853 struct{struct{*struct{},*struct{},uint8,int32,int32,*struct{},[8]struct{*struct{},*struct{},int16,uint16,uint16,uint8,uint8,int32,int32,int32,union{int32,*struct{},*struct{}},uint64,uint64}},uint64} 168666 168667 type XWhereAndInfo struct { 168668 X0 struct { 168669 X0 unsafe.Pointer 168670 X1 unsafe.Pointer 168671 X2 uint8 168672 X3 int32 168673 X4 int32 168674 X5 unsafe.Pointer 168675 X6 [8]struct { 168676 X0 unsafe.Pointer 168677 X1 unsafe.Pointer 168678 X2 int16 168679 X3 uint16 168680 X4 uint16 168681 X5 uint8 168682 X6 uint8 168683 X7 int32 168684 X8 int32 168685 X9 int32 168686 X10 struct { 168687 X [0]struct { 168688 X0 int32 168689 X1 unsafe.Pointer 168690 X2 unsafe.Pointer 168691 } 168692 U [4]byte 168693 } 168694 X11 uint64 168695 X12 uint64 168696 } 168697 } 168698 } // T8911318 struct{struct{*struct{},*struct{},uint8,int32,int32,*struct{},[8]struct{*struct{},*struct{},int16,uint16,uint16,uint8,uint8,int32,int32,int32,union{int32,*struct{},*struct{}},uint64,uint64}}} 168699 168700 type XWhereOrCost struct { 168701 X0 uint64 168702 X1 int16 168703 X2 int16 168704 } // T8930256 struct{uint64,int16,int16} 168705 168706 type XWhereOrSet struct { 168707 X0 uint16 168708 X1 [3]struct { 168709 X0 uint64 168710 X1 int16 168711 X2 int16 168712 } 168713 } // T8930313 struct{uint16,[3]struct{uint64,int16,int16}} 168714 168715 type XWhereScan struct { 168716 X0 unsafe.Pointer 168717 X1 unsafe.Pointer 168718 X2 *int8 168719 X3 unsafe.Pointer 168720 X4 int8 168721 X5 uint8 168722 X6 uint8 168723 X7 uint32 168724 X8 int32 168725 X9 [11]int32 168726 X10 [11]int16 168727 } // T8930978 struct{*struct{},*struct{},*int8,*struct{},int8,uint8,uint8,uint32,int32,[11]int32,[11]int16} 168728 168729 type XWhereLoopBuilder struct { 168730 X0 unsafe.Pointer 168731 X1 unsafe.Pointer 168732 X2 unsafe.Pointer 168733 X3 unsafe.Pointer 168734 X4 unsafe.Pointer 168735 X5 uint32 168736 } // T8944121 struct{*struct{},*struct{},*struct{},*struct{},*struct{},uint32} 168737 168738 type XWherePath struct { 168739 X0 uint64 168740 X1 uint64 168741 X2 int16 168742 X3 int16 168743 X4 int16 168744 X5 int8 168745 X6 *unsafe.Pointer 168746 } // T8967770 struct{uint64,uint64,int16,int16,int16,int8,**struct{}} 168747 168748 type XYYMINORTYPE struct { 168749 X [0]struct { 168750 X0 int32 168751 X1 struct { 168752 X0 *int8 168753 X1 uint32 168754 } 168755 X2 unsafe.Pointer 168756 X3 unsafe.Pointer 168757 X4 unsafe.Pointer 168758 X5 unsafe.Pointer 168759 X6 struct { 168760 X0 unsafe.Pointer 168761 X1 *int8 168762 X2 *int8 168763 } 168764 X7 int32 168765 X8 unsafe.Pointer 168766 X9 unsafe.Pointer 168767 X10 unsafe.Pointer 168768 X11 struct { 168769 X0 int32 168770 X1 unsafe.Pointer 168771 } 168772 X12 struct { 168773 X0 unsafe.Pointer 168774 X1 unsafe.Pointer 168775 } 168776 X13 struct { 168777 X0 int32 168778 X1 int32 168779 } 168780 } 168781 U [12]byte 168782 } // T8982672 union{int32,struct{*int8,uint32},*struct{},*struct{},*struct{},*struct{},struct{*struct{},*int8,*int8},int32,*struct{},*struct{},*struct{},struct{int32,*struct{}},struct{*struct{},*struct{}},struct{int32,int32}} 168783 168784 type XyyStackEntry struct { 168785 X0 uint16 168786 X1 uint8 168787 X2 struct { 168788 X [0]struct { 168789 X0 int32 168790 X1 struct { 168791 X0 *int8 168792 X1 uint32 168793 } 168794 X2 unsafe.Pointer 168795 X3 unsafe.Pointer 168796 X4 unsafe.Pointer 168797 X5 unsafe.Pointer 168798 X6 struct { 168799 X0 unsafe.Pointer 168800 X1 *int8 168801 X2 *int8 168802 } 168803 X7 int32 168804 X8 unsafe.Pointer 168805 X9 unsafe.Pointer 168806 X10 unsafe.Pointer 168807 X11 struct { 168808 X0 int32 168809 X1 unsafe.Pointer 168810 } 168811 X12 struct { 168812 X0 unsafe.Pointer 168813 X1 unsafe.Pointer 168814 } 168815 X13 struct { 168816 X0 int32 168817 X1 int32 168818 } 168819 } 168820 U [12]byte 168821 } 168822 } // T8982885 struct{uint16,uint8,union{int32,struct{*int8,uint32},*struct{},*struct{},*struct{},*struct{},struct{*struct{},*int8,*int8},int32,*struct{},*struct{},*struct{},struct{int32,*struct{}},struct{*struct{},*struct{}},struct{int32,int32}}} 168823 168824 type XyyParser struct { 168825 X0 unsafe.Pointer 168826 X1 unsafe.Pointer 168827 X2 [100]struct { 168828 X0 uint16 168829 X1 uint8 168830 X2 struct { 168831 X [0]struct { 168832 X0 int32 168833 X1 struct { 168834 X0 *int8 168835 X1 uint32 168836 } 168837 X2 unsafe.Pointer 168838 X3 unsafe.Pointer 168839 X4 unsafe.Pointer 168840 X5 unsafe.Pointer 168841 X6 struct { 168842 X0 unsafe.Pointer 168843 X1 *int8 168844 X2 *int8 168845 } 168846 X7 int32 168847 X8 unsafe.Pointer 168848 X9 unsafe.Pointer 168849 X10 unsafe.Pointer 168850 X11 struct { 168851 X0 int32 168852 X1 unsafe.Pointer 168853 } 168854 X12 struct { 168855 X0 unsafe.Pointer 168856 X1 unsafe.Pointer 168857 } 168858 X13 struct { 168859 X0 int32 168860 X1 int32 168861 } 168862 } 168863 U [12]byte 168864 } 168865 } 168866 } // T8983358 struct{*struct{},*struct{},[100]struct{uint16,uint8,union{int32,struct{*int8,uint32},*struct{},*struct{},*struct{},*struct{},struct{*struct{},*int8,*int8},int32,*struct{},*struct{},*struct{},struct{int32,*struct{}},struct{*struct{},*struct{}},struct{int32,int32}}}} 168867 168868 type T7740477 struct { 168869 X0 int32 168870 X1 int32 168871 X2 int32 168872 X3 int32 168873 X4 int32 168874 X5 int32 168875 X6 int32 168876 X7 int32 168877 X8 int32 168878 X9 int32 168879 X10 struct { 168880 X0 func(*crt.TLS, int32) unsafe.Pointer 168881 X1 func(*crt.TLS, unsafe.Pointer) 168882 X2 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer 168883 X3 func(*crt.TLS, unsafe.Pointer) int32 168884 X4 func(*crt.TLS, int32) int32 168885 X5 func(*crt.TLS, unsafe.Pointer) int32 168886 X6 func(*crt.TLS, unsafe.Pointer) 168887 X7 unsafe.Pointer 168888 } 168889 X11 struct { 168890 X0 func(*crt.TLS) int32 168891 X1 func(*crt.TLS) int32 168892 X2 func(*crt.TLS, int32) unsafe.Pointer 168893 X3 func(*crt.TLS, unsafe.Pointer) 168894 X4 func(*crt.TLS, unsafe.Pointer) 168895 X5 func(*crt.TLS, unsafe.Pointer) int32 168896 X6 func(*crt.TLS, unsafe.Pointer) 168897 X7 func(*crt.TLS, unsafe.Pointer) int32 168898 X8 func(*crt.TLS, unsafe.Pointer) int32 168899 } 168900 X12 struct { 168901 X0 int32 168902 X1 unsafe.Pointer 168903 X2 func(*crt.TLS, unsafe.Pointer) int32 168904 X3 func(*crt.TLS, unsafe.Pointer) 168905 X4 func(*crt.TLS, int32, int32, int32) unsafe.Pointer 168906 X5 func(*crt.TLS, unsafe.Pointer, int32) 168907 X6 func(*crt.TLS, unsafe.Pointer) int32 168908 X7 func(*crt.TLS, unsafe.Pointer, uint32, int32) unsafe.Pointer 168909 X8 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) 168910 X9 func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint32, uint32) 168911 X10 func(*crt.TLS, unsafe.Pointer, uint32) 168912 X11 func(*crt.TLS, unsafe.Pointer) 168913 X12 func(*crt.TLS, unsafe.Pointer) 168914 } 168915 X13 unsafe.Pointer 168916 X14 int32 168917 X15 int32 168918 X16 int32 168919 X17 int64 168920 X18 int64 168921 X19 unsafe.Pointer 168922 X20 int32 168923 X21 int32 168924 X22 unsafe.Pointer 168925 X23 int32 168926 X24 int32 168927 X25 int32 168928 X26 int32 168929 X27 uint32 168930 X28 int32 168931 X29 int32 168932 X30 int32 168933 X31 int32 168934 X32 int32 168935 X33 int32 168936 X34 unsafe.Pointer 168937 X35 func(*crt.TLS, unsafe.Pointer, int32, *int8) 168938 X36 unsafe.Pointer 168939 X37 func(*crt.TLS, int32) int32 168940 X38 int32 168941 X39 int32 168942 } // struct{int32,int32,int32,int32,int32,int32,int32,int32,int32,int32,struct{*func(int32)*struct{},*func(*struct{}),*func(*struct{},int32)*struct{},*func(*struct{})int32,*func(int32)int32,*func(*struct{})int32,*func(*struct{}),*struct{}},struct{*func()int32,*func()int32,*func(int32)*struct{},*func(*struct{}),*func(*struct{}),*func(*struct{})int32,*func(*struct{}),*func(*struct{})int32,*func(*struct{})int32},struct{int32,*struct{},*func(*struct{})int32,*func(*struct{}),*func(int32,int32,int32)*struct{},*func(*struct{},int32),*func(*struct{})int32,*func(*struct{},uint32,int32)*struct{},*func(*struct{},*struct{},int32),*func(*struct{},*struct{},uint32,uint32),*func(*struct{},uint32),*func(*struct{}),*func(*struct{})},*struct{},int32,int32,int32,int64,int64,*struct{},int32,int32,*struct{},int32,int32,int32,int32,uint32,int32,int32,int32,int32,int32,int32,*struct{},*func(*struct{},int32,*int8),*struct{},*func(int32)int32,int32,int32} 168943 168944 type T7743050 struct { 168945 X0 [10]uint32 168946 X1 [10]uint32 168947 } // struct{[10]uint32,[10]uint32} 168948 168949 type T7745808 struct { 168950 X0 int32 168951 X1 uint8 168952 X2 uint8 168953 X3 uint8 168954 X4 uint8 168955 } // struct{int32,uint8,uint8,uint8,uint8} 168956 168957 type T7746332 struct { 168958 X [0]struct { 168959 X0 int32 168960 X1 float64 168961 } 168962 U [8]byte 168963 } // union{int32,float64} 168964 168965 type T7746362 struct { 168966 X0 uint32 168967 X1 uint16 168968 X2 uint8 168969 X3 int32 168970 X4 int32 168971 X5 [3]int32 168972 X6 unsafe.Pointer 168973 X7 unsafe.Pointer 168974 X8 unsafe.Pointer 168975 } // struct{uint32,uint16,uint8,int32,int32,[3]int32,*struct{},*struct{},*struct{}} 168976 168977 type T7746641 struct { 168978 X0 func(*crt.TLS, unsafe.Pointer, int32) int32 168979 X1 unsafe.Pointer 168980 X2 int32 168981 } // struct{*func(*struct{},int32)int32,*struct{},int32} 168982 168983 type T7778277 struct { 168984 X0 uint8 168985 X1 uint8 168986 X2 *int8 168987 X3 float64 168988 X4 float64 168989 } // struct{uint8,uint8,*int8,float64,float64} 168990 168991 type T7779217 struct { 168992 X [0]struct { 168993 X0 float64 168994 X1 int64 168995 X2 int32 168996 X3 unsafe.Pointer 168997 X4 unsafe.Pointer 168998 X5 unsafe.Pointer 168999 } 169000 U [8]byte 169001 } // union{float64,int64,int32,*struct{},*struct{},*struct{}} 169002 169003 type T7789635 struct { 169004 X [0]struct { 169005 X0 unsafe.Pointer 169006 X1 unsafe.Pointer 169007 } 169008 U [4]byte 169009 } // union{*struct{},*struct{}} 169010 169011 type T7815909 struct { 169012 X0 func(*crt.TLS) 169013 X1 func(*crt.TLS) 169014 } // struct{*func(),*func()} 169015 169016 type T7820830 struct { 169017 X0 uint16 169018 X1 uint16 169019 } // struct{uint16,uint16} 169020 169021 type T7822769 struct { 169022 X0 unsafe.Pointer 169023 X1 int64 169024 X2 unsafe.Pointer 169025 X3 unsafe.Pointer 169026 X4 uint32 169027 X5 int32 169028 } // struct{*struct{},int64,*struct{},*struct{},uint32,int32} 169029 169030 type T7840174 struct { 169031 X0 uint8 169032 X1 int8 169033 } // struct{uint8,int8,} 169034 169035 type T7840194 struct { 169036 X [0]struct { 169037 X0 *int8 169038 X1 unsafe.Pointer 169039 } 169040 U [4]byte 169041 } // union{*int8,*struct{}} 169042 169043 type T7840217 struct { 169044 X0 unsafe.Pointer 169045 X1 *int8 169046 X2 *int8 169047 X3 *int8 169048 X4 unsafe.Pointer 169049 X5 unsafe.Pointer 169050 X6 int32 169051 X7 int32 169052 X8 int32 169053 X9 struct { 169054 X0 uint8 169055 X1 int8 169056 } 169057 X10 uint8 169058 X11 int32 169059 X12 unsafe.Pointer 169060 X13 unsafe.Pointer 169061 X14 uint64 169062 X15 struct { 169063 X [0]struct { 169064 X0 *int8 169065 X1 unsafe.Pointer 169066 } 169067 U [4]byte 169068 } 169069 X16 unsafe.Pointer 169070 } // struct{*struct{},*int8,*int8,*int8,*struct{},*struct{},int32,int32,int32,struct{uint8,int8,},uint8,int32,*struct{},*struct{},uint64,union{*int8,*struct{}},*struct{}} 169071 169072 type T7849498 struct { 169073 X0 int32 169074 X1 [100]uint8 169075 } // struct{int32,[100]uint8} 169076 169077 type T7850050 struct { 169078 X0 *int8 169079 X1 unsafe.Pointer 169080 X2 unsafe.Pointer 169081 X3 *int8 169082 } // struct{*int8,*struct{},*struct{},*int8} 169083 169084 type T7850606 struct { 169085 X [0]struct { 169086 X0 struct { 169087 X0 uint16 169088 X1 uint16 169089 } 169090 X1 int32 169091 } 169092 U [4]byte 169093 } // union{struct{uint16,uint16},int32} 169094 169095 type T7850641 struct { 169096 X0 unsafe.Pointer 169097 X1 *int8 169098 X2 *int8 169099 X3 uint8 169100 X4 int8 169101 X5 struct { 169102 X [0]struct { 169103 X0 struct { 169104 X0 uint16 169105 X1 uint16 169106 } 169107 X1 int32 169108 } 169109 U [4]byte 169110 } 169111 } // struct{*struct{},*int8,*int8,uint8,int8,union{struct{uint16,uint16},int32}} 169112 169113 type T7851846 struct { 169114 X [0]struct { 169115 X0 *int8 169116 X1 int32 169117 } 169118 U [4]byte 169119 } // union{*int8,int32} 169120 169121 type T7853307 struct { 169122 X0 uint8 169123 X1 uint8 169124 X2 uint8 169125 X3 [256]uint8 169126 } // struct{uint8,uint8,uint8,[256]uint8} 169127 169128 type T7863733 struct { 169129 X0 int32 169130 X1 int16 169131 X2 uint8 169132 X3 int32 169133 X4 int32 169134 X5 int32 169135 } // struct{int32,int16,uint8,int32,int32,int32} 169136 169137 type T7870619 struct { 169138 X0 *int8 169139 X1 func(*crt.TLS) 169140 X2 func(*crt.TLS) 169141 } // struct{*int8,*func(),*func()} 169142 169143 type T7883996 struct { 169144 X [0]struct { 169145 X0 [500]uint8 169146 X1 [125]uint32 169147 X2 [125]unsafe.Pointer 169148 } 169149 U [500]byte 169150 } // union{[500]uint8,[125]uint32,[125]*struct{}} 169151 169152 type T7893856 struct { 169153 X0 struct { 169154 X0 unsafe.Pointer 169155 X1 uint32 169156 X2 uint32 169157 X3 uint32 169158 X4 uint32 169159 X5 struct { 169160 X0 struct { 169161 X0 unsafe.Pointer 169162 X1 unsafe.Pointer 169163 } 169164 X1 uint32 169165 X2 uint8 169166 X3 uint8 169167 X4 uint8 169168 X5 unsafe.Pointer 169169 X6 unsafe.Pointer 169170 X7 unsafe.Pointer 169171 X8 unsafe.Pointer 169172 } 169173 } 169174 X1 int32 169175 X2 int32 169176 X3 int32 169177 X4 int32 169178 X5 int32 169179 X6 int32 169180 X7 unsafe.Pointer 169181 X8 unsafe.Pointer 169182 X9 unsafe.Pointer 169183 X10 unsafe.Pointer 169184 X11 int32 169185 X12 int32 169186 } // struct{struct{*struct{},uint32,uint32,uint32,uint32,struct{struct{*struct{},*struct{}},uint32,uint8,uint8,uint8,*struct{},*struct{},*struct{},*struct{}}},int32,int32,int32,int32,int32,int32,*struct{},*struct{},*struct{},*struct{},int32,int32} 169187 169188 type T7901175 struct { 169189 X0 int64 169190 X1 unsafe.Pointer 169191 X2 unsafe.Pointer 169192 } // struct{int64,*struct{},*struct{}} 169193 169194 type T7901247 struct { 169195 X0 unsafe.Pointer 169196 X1 [63]struct { 169197 X0 int64 169198 X1 unsafe.Pointer 169199 X2 unsafe.Pointer 169200 } 169201 } // struct{*struct{},[63]struct{int64,*struct{},*struct{}}} 169202 169203 type T7972904 struct { 169204 X0 int32 169205 X1 *uint16 169206 X2 *uint32 169207 X3 int32 169208 X4 int32 169209 } // struct{int32,*uint16,*uint32,int32,int32} 169210 169211 type T7973450 struct { 169212 X0 int32 169213 X1 *uint16 169214 } // struct{int32,*uint16} 169215 169216 type T8093182 struct { 169217 X0 unsafe.Pointer 169218 X1 unsafe.Pointer 169219 X2 *unsafe.Pointer 169220 X3 int32 169221 } // struct{*struct{},*struct{},**struct{},int32} 169222 169223 type T8104821 struct { 169224 X [0]struct { 169225 X0 int32 169226 X1 unsafe.Pointer 169227 X2 *int8 169228 X3 *int64 169229 X4 *float64 169230 X5 unsafe.Pointer 169231 X6 unsafe.Pointer 169232 X7 unsafe.Pointer 169233 X8 unsafe.Pointer 169234 X9 unsafe.Pointer 169235 X10 unsafe.Pointer 169236 X11 *int32 169237 X12 unsafe.Pointer 169238 X13 unsafe.Pointer 169239 X14 func(*crt.TLS, unsafe.Pointer, *int32) int32 169240 } 169241 U [4]byte 169242 } // union{int32,*struct{},*int8,*int64,*float64,*struct{},*struct{},*struct{},*struct{},*struct{},*struct{},*int32,*struct{},*struct{},*func(*struct{},*int32)int32} 169243 169244 type T8124566 struct { 169245 X0 uint8 169246 X1 int8 169247 X2 int8 169248 X3 int8 169249 } // struct{uint8,int8,int8,int8} 169250 169251 type T8150862 struct { 169252 X [0]struct { 169253 X0 unsafe.Pointer 169254 X1 unsafe.Pointer 169255 X2 int32 169256 X3 unsafe.Pointer 169257 } 169258 U [4]byte 169259 } // union{*struct{},*struct{},int32,*struct{}} 169260 169261 type T8156174 struct { 169262 X0 *uint8 169263 X1 int32 169264 X2 int32 169265 } // struct{*uint8,int32,int32} 169266 169267 type T8228881 struct { 169268 X0 unsafe.Pointer 169269 X1 *uint8 169270 X2 int32 169271 } // struct{*struct{},*uint8,int32} 169272 169273 type T8257744 struct { 169274 X0 int32 169275 X1 *int8 169276 } // struct{int32,*int8} 169277 169278 type T8268643 struct { 169279 X [0]struct { 169280 X0 unsafe.Pointer 169281 X1 int32 169282 } 169283 U [4]byte 169284 } // union{*struct{},int32} 169285 169286 type T8290474 struct { 169287 X0 int64 169288 X1 unsafe.Pointer 169289 } // struct{int64,*struct{}} 169290 169291 type T8292054 struct { 169292 X [0]struct { 169293 X0 unsafe.Pointer 169294 X1 int32 169295 X2 int32 169296 X3 unsafe.Pointer 169297 X4 unsafe.Pointer 169298 X5 unsafe.Pointer 169299 X6 *int32 169300 X7 unsafe.Pointer 169301 } 169302 U [4]byte 169303 } // union{*struct{},int32,int32,*struct{},*struct{},*struct{},*int32,*struct{}} 169304 169305 type T8304487 struct { 169306 X0 *int8 169307 X1 int32 169308 } // struct{*int8,int32} 169309 169310 type T8444404 struct { 169311 X0 unsafe.Pointer 169312 X1 int32 169313 X2 int32 169314 X3 int32 169315 X4 int32 169316 X5 unsafe.Pointer 169317 } // struct{*struct{},int32,int32,int32,int32,*struct{}} 169318 169319 type T8456574 struct { 169320 X0 unsafe.Pointer 169321 X1 int32 169322 X2 int32 169323 } // struct{*struct{},int32,int32} 169324 169325 type T8494069 struct { 169326 X0 *int8 169327 X1 *int8 169328 } // struct{*int8,*int8} 169329 169330 type T8494329 struct { 169331 X0 *uint32 169332 X1 *uint32 169333 } // struct{*uint32,*uint32} 169334 169335 type T8616149 struct { 169336 X [0]struct { 169337 X0 int32 169338 X1 unsafe.Pointer 169339 X2 unsafe.Pointer 169340 } 169341 U [4]byte 169342 } // union{int32,*struct{},*struct{}} 169343 169344 type T8616654 struct { 169345 X [0]struct { 169346 X0 struct { 169347 X0 int32 169348 X1 unsafe.Pointer 169349 } 169350 X1 unsafe.Pointer 169351 } 169352 U [8]byte 169353 } // union{struct{int32,*struct{}},*struct{}} 169354 169355 type T8650382 struct { 169356 X0 uint8 169357 X1 uint8 169358 X2 uint8 169359 X3 uint8 169360 } // struct{uint8,uint8,uint8,uint8} 169361 169362 type T8745302 struct { 169363 X0 uint32 169364 X1 *func(*crt.TLS) 169365 } // struct{uint32,**func()} 169366 169367 type T8760930 struct { 169368 X0 *int8 169369 X1 uint8 169370 } // struct{*int8,uint8} 169371 169372 type T8763263 struct { 169373 X0 int32 169374 X1 uint8 169375 X2 uint8 169376 X3 int32 169377 } // struct{int32,uint8,uint8,int32} 169378 169379 type T8763350 struct { 169380 X0 int32 169381 X1 uint8 169382 } // struct{int32,uint8} 169383 169384 type T8786660 struct { 169385 X0 uint8 169386 X1 uint8 169387 X2 uint8 169388 } // struct{uint8,uint8,uint8} 169389 169390 type T8892125 struct { 169391 X0 uint16 169392 X1 uint16 169393 X2 uint16 169394 X3 unsafe.Pointer 169395 } // struct{uint16,uint16,uint16,*struct{}} 169396 169397 type T8892164 struct { 169398 X0 int32 169399 X1 uint8 169400 X2 int8 169401 X3 uint16 169402 X4 *int8 169403 } // struct{int32,uint8,int8,uint16,*int8} 169404 169405 type T8892202 struct { 169406 X [0]struct { 169407 X0 struct { 169408 X0 uint16 169409 X1 uint16 169410 X2 uint16 169411 X3 unsafe.Pointer 169412 } 169413 X1 struct { 169414 X0 int32 169415 X1 uint8 169416 X2 int8 169417 X3 uint16 169418 X4 *int8 169419 } 169420 } 169421 U [12]byte 169422 } // union{struct{uint16,uint16,uint16,*struct{}},struct{int32,uint8,int8,uint16,*int8}} 169423 169424 type T8897640 struct { 169425 X0 int32 169426 X1 int32 169427 X2 uint8 169428 } // struct{int32,int32,uint8} 169429 169430 type T8987895 struct { 169431 X0 uint8 169432 X1 uint8 169433 } // struct{uint8,uint8} 169434 169435 type T9025128 struct { 169436 X0 int32 169437 X1 uint32 169438 } // struct{int32,uint32} 169439 func str(n int) *int8 { return (*int8)(unsafe.Pointer(&strTab[n])) } 169440 func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) } 169441 169442 var strTab = []byte("misuse\x00\x00%s at line %d of [%.10s]\x00\x00\x00\x00%\x00\x00\x00%s:%i: assertion failure in %s: %s\x0a\x00..\\..\\..\\sqlite.org\\sqlite-amalgamation-3180000\\sqlite3.c\x00\x00\x00width>=0\x00\x00\x00\x00precision>=(-1)\x00NaN\x00Inf\x00precision>0\x00bufpt>zOut\x00\x00\x00\x00\x00\x00NULL\x00\x00\x00\x00(NULL)\x00\x00bArgList==0\x00k>=0 && k<pSrc->nSrc\x00\x00\x00\x00.\x00\x00\x00xtype==etINVALID\x00\x00\x00\x00z!=0 || N==0\x00\x00\x00\x00p->zText!=0 || p->nChar==0 || p->accError\x00\x00\x00N>=0\x00\x00\x00\x00p->accError==0 || p->nAlloc==0\x00\x00p->zText\x00\x00\x00\x00sqlite3StrAccumAppend\x00\x00\x00(p->zText==0 || p->zText==p->zBase)==!isMalloced(p)\x00p->nChar+(i64)N >= p->nAlloc\x00\x00\x00\x00p->zText!=0 || p->nChar==0\x00\x00sqlite3StrAccumEnlarge\x00\x00eError==STRACCUM_NOMEM || eError==STRACCUM_TOOBIG\x00\x00\x00setStrAccumError\x00\x00\x00\x00sqlite3StrAccumReset\x00\x00\x00\x00db==0 || sqlite3_mutex_held(db->mutex)\x00\x00db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE)\x00\x00\x00\x00p==0 || sqlite3GlobalConfig.mutex.xMutexHeld\x00\x00\x00\x00sqlite3_mutex_held\x00\x00sqlite3DbFree\x00\x00\x00p!=0\x00\x00\x00\x00sqlite3_mutex_held(db->mutex)\x00\x00\x00sqlite3DbMallocSize\x00sqlite3GlobalConfig.mutex.xMutexEnter\x00\x00\x00sqlite3_mutex_enter\x00op>=0 && op<ArraySize(statMutex)\x00\x00\x00\x00sqlite3_mutex_held(statMutex[op] ? sqlite3Pcache1Mutex() : sqlite3MallocMutex())\x00\x00\x00\x00op>=0 && op<ArraySize(wsdStat.nowValue)\x00sqlite3StatusDown\x00\x00\x00sqlite3GlobalConfig.mutex.xMutexLeave\x00\x00\x00sqlite3_mutex_leave\x00db!=0\x00\x00\x00sqlite3DbRealloc\x00\x00\x00\x00db->pnBytesFreed==0\x00db->mallocFailed==0\x00sqlite3DbMallocRawNN\x00\x00\x00\x00dbMallocRawFinish\x00\x00\x00EIGHT_BYTE_ALIGNMENT(p)\x00sqlite3_mutex_held(mem0.mutex)\x00\x00n>0\x00mallocWithAlarm\x00X>=0\x00\x00\x00\x00op==SQLITE_STATUS_MALLOC_SIZE || op==SQLITE_STATUS_PAGECACHE_SIZE || op==SQLITE_STATUS_SCRATCH_SIZE || op==SQLITE_STATUS_PARSER_STACK\x00\x00\x00sqlite3StatusHighwater\x00\x00sqlite3StatusValue\x00\x00sqlite3StatusUp\x00sqlite3Malloc\x00\x00\x00dbReallocFinish\x00sqlite3GlobalConfig.nRefInitMutex==0\x00\x00\x00\x00sqlite3IsNaN(y)\x00sqlite3GlobalConfig.mutex.xMutexInit\x00\x00\x00\x00AreFileApisANSI\x00CharLowerW\x00\x00CharUpperW\x00\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00\x00CreateFileMappingW\x00\x00CreateMutexW\x00\x00\x00\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00\x00\x00\x00FlushFileBuffers\x00\x00\x00\x00FormatMessageA\x00\x00FormatMessageW\x00\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00\x00\x00GetDiskFreeSpaceW\x00\x00\x00GetFileAttributesA\x00\x00GetFileAttributesW\x00\x00GetFileAttributesExW\x00\x00\x00\x00GetFileSize\x00GetFullPathNameA\x00\x00\x00\x00GetFullPathNameW\x00\x00\x00\x00GetLastError\x00\x00\x00\x00GetProcAddressA\x00GetSystemInfo\x00\x00\x00GetSystemTime\x00\x00\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00\x00\x00\x00GetTempPathW\x00\x00\x00\x00GetTickCount\x00\x00\x00\x00GetVersionExA\x00\x00\x00GetVersionExW\x00\x00\x00HeapAlloc\x00\x00\x00HeapCreate\x00\x00HeapDestroy\x00HeapFree\x00\x00\x00\x00HeapReAlloc\x00HeapSize\x00\x00\x00\x00HeapValidate\x00\x00\x00\x00HeapCompact\x00LoadLibraryA\x00\x00\x00\x00LoadLibraryW\x00\x00\x00\x00LocalFree\x00\x00\x00LockFile\x00\x00\x00\x00LockFileEx\x00\x00MapViewOfFile\x00\x00\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00\x00\x00\x00SetEndOfFile\x00\x00\x00\x00SetFilePointer\x00\x00Sleep\x00\x00\x00SystemTimeToFileTime\x00\x00\x00\x00UnlockFile\x00\x00UnlockFileEx\x00\x00\x00\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00\x00\x00CreateEventExW\x00\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00\x00\x00SetFilePointerEx\x00\x00\x00\x00GetFileInformationByHandleEx\x00\x00\x00\x00MapViewOfFileFromApp\x00\x00\x00\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00\x00GetNativeSystemInfo\x00OutputDebugStringA\x00\x00OutputDebugStringW\x00\x00GetProcessHeap\x00\x00CreateFileMappingFromApp\x00\x00\x00\x00InterlockedCompareExchange\x00\x00UuidCreate\x00\x00UuidCreateSequential\x00\x00\x00\x00FlushViewOfFile\x00p\x00\x00\x00p->nRef==0 && p->owner==0\x00\x00\x00winMutexFree\x00\x00\x00\x00p->id==SQLITE_MUTEX_RECURSIVE || winMutexNotheld2(p, tid)\x00\x00\x00winMutex_isInit==1\x00\x00p->nRef>0 || p->owner==0\x00\x00\x00\x00winMutexEnter\x00\x00\x00winMutexTry\x00p->nRef>0\x00\x00\x00p->owner==tid\x00\x00\x00p->nRef==0 || p->id==SQLITE_MUTEX_RECURSIVE\x00winMutexLeave\x00\x00\x00p->cnt==0\x00\x00\x00debugMutexFree\x00\x00p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(pX)\x00\x00debugMutexEnter\x00debugMutexTry\x00\x00\x00debugMutexHeld(pX)\x00\x00debugMutexLeave\x00sqlite3MutexInit\x00\x00\x00\x00GLOBAL(int, mutexIsInit)\x00\x00\x00\x00sqlite3GlobalConfig.mutex.xMutexAlloc\x00\x00\x00sqlite3MutexAlloc\x00\x00\x00failed to allocate %u bytes of memory\x00\x00\x00failed memory resize %u to %u bytes\x00pPrior!=0\x00\x00\x00sqlite3MemSize\x00\x00OOM\x00pOther!=&aDef[i] && pOther->pNext!=&aDef[i]\x00sqlite3InsertBuiltinFuncs\x00\x00\x00sqlite_rename_table\x00sqlite_rename_trigger\x00\x00\x00sqlite_rename_parent\x00\x00\x00\x00len>0\x00\x00\x00%.*s\"%w\"%s\x00\x00pVal->db==0 || sqlite3_mutex_held(pVal->db->mutex)\x00\x00(enc&3)==(enc&~SQLITE_UTF16_ALIGNED)\x00\x00\x00\x00(pVal->flags & MEM_RowSet)==0\x00\x00\x00sqlite3ValueText\x00\x00\x00\x00pVal!=0\x00(pVal->flags & (MEM_Null))==0\x00\x00\x00(pVal->flags & (MEM_Ephem|MEM_Static))!=0\x00\x00\x000==(1&SQLITE_PTR_TO_INT(pVal->z))\x00\x00\x00pVal->enc==(enc & ~SQLITE_UTF16_ALIGNED) || pVal->db==0 || pVal->db->mallocFailed\x00\x00\x00valueToText\x00pMem->flags & MEM_Zero\x00\x00pMem->flags&MEM_Blob\x00\x00\x00\x00(pMem->flags&MEM_RowSet)==0\x00pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex)\x00\x00sqlite3VdbeMemExpandBlob\x00\x00\x00\x00sqlite3VdbeCheckMemInvariants(pMem)\x00bPreserve==0 || pMem->flags&(MEM_Blob|MEM_Str)\x00\x00pMem->szMalloc==0 || pMem->szMalloc==sqlite3DbMallocSize(pMem->db, pMem->zMalloc)\x00\x00\x00pMem->xDel!=0 && pMem->xDel!=SQLITE_DYNAMIC\x00(p->flags & MEM_Dyn)==0 || p->xDel!=0\x00\x00\x00(p->flags & MEM_Dyn)==0 || p->szMalloc==0\x00\x00\x00(p->flags & (MEM_Int|MEM_Real))!=(MEM_Int|MEM_Real)\x00p->szMalloc==0 || p->szMalloc==sqlite3DbMallocSize(p->db,p->zMalloc)\x00\x00\x00\x00((p->szMalloc>0 && p->z==p->zMalloc)? 1 : 0) + ((p->flags&MEM_Dyn)!=0 ? 1 : 0) + ((p->flags&MEM_Ephem)!=0 ? 1 : 0) + ((p->flags&MEM_Static)!=0 ? 1 : 0) == 1\x00\x00\x00\x00sqlite3VdbeCheckMemInvariants\x00\x00\x00sqlite3VdbeMemGrow\x00\x00p->db==0 || sqlite3_mutex_held(p->db->mutex)\x00\x00\x00\x00VdbeMemDynamic(p)\x00\x00\x00(p->flags & MEM_Agg)==0\x00(p->flags&MEM_RowSet)==0\x00\x00\x00\x00p->xDel!=SQLITE_DYNAMIC && p->xDel!=0\x00\x00\x00vdbeMemClearExternAndSetNull\x00\x00\x00\x000\x00\x00\x00(pMem->flags & MEM_Null)!=0 || pFunc==pMem->u.pDef\x00\x00(pMem->flags & MEM_Dyn)==0\x00\x00sqlite3VdbeMemFinalize\x00\x00desiredEnc==SQLITE_UTF8 || desiredEnc==SQLITE_UTF16LE || desiredEnc==SQLITE_UTF16BE\x00rc==SQLITE_OK || rc==SQLITE_NOMEM\x00\x00\x00rc==SQLITE_OK || pMem->enc!=desiredEnc\x00\x00rc==SQLITE_NOMEM || pMem->enc==desiredEnc\x00\x00\x00sqlite3VdbeChangeEncoding\x00\x00\x00pMem->flags&MEM_Str\x00pMem->enc!=desiredEnc\x00\x00\x00pMem->enc!=0\x00\x00\x00\x00pMem->n>=0\x00\x00rc==SQLITE_NOMEM\x00\x00\x00\x00desiredEnc==SQLITE_UTF16BE\x00\x00desiredEnc==SQLITE_UTF8\x00(pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len\x00\x00\x00\x00sqlite3VdbeMemTranslate\x00sqlite3VdbeMemMakeWriteable\x00sqlite3VdbeCheckMemInvariants(p)\x00\x00\x00\x00sqlite3VdbeMemRelease\x00\x00\x00sqlite3VdbeMemNulTerminate\x00\x00!(fg&MEM_Zero)\x00\x00!(fg&(MEM_Str|MEM_Blob))\x00\x00\x00\x00fg&(MEM_Int|MEM_Real)\x00\x00\x00EIGHT_BYTE_ALIGNMENT(pMem)\x00\x00%lld\x00\x00\x00\x00fg & MEM_Real\x00\x00\x00%!.15g\x00\x00sqlite3VdbeMemStringify\x00szNew>0\x00(pMem->flags & MEM_Dyn)==0 || pMem->szMalloc==0\x00sqlite3VdbeMemClearAndResize\x00\x00\x00\x00p && p->pOut\x00\x00\x00\x00sqlite3_context_db_handle\x00\x00\x00renameTableFunc\x00sqlite3VMPrintf\x00(p->zText==p->zBase)==!isMalloced(p)\x00\x00\x00\x00sqlite3StrAccumFinish\x00\x00\x00p->mxAlloc>0 && !isMalloced(p)\x00\x00strAccumFinishRealloc\x00\x00\x00sqlite3_mutex_held(pCtx->pOut->db->mutex)\x00\x00\x00sqlite3_result_text\x00(pMem->flags & MEM_RowSet)==0\x00\x00\x00enc!=0\x00\x00sqlite3VdbeMemSetStr\x00\x00\x00\x00sqlite3VdbeMemHandleBom\x00string or blob too big\x00\x00sqlite3_result_error_toobig\x00renameTriggerFunc\x00\x00\x00%s%.*s\"%w\"\x00\x00%s%s\x00\x00\x00\x00(n&0x7fffffff)==n\x00\x00\x00sqlite3DbStrNDup\x00\x00\x00\x00z[i]\x00\x00\x00\x00sqlite3Dequote\x00\x00julianday\x00\x00\x00date\x00\x00\x00\x00time\x00\x00\x00\x00datetime\x00\x00\x00\x00strftime\x00\x00\x00\x00current_time\x00\x00\x00\x00current_timestamp\x00\x00\x00current_date\x00\x00\x00\x00p->pVdbe!=0\x00sqlite3StmtCurrentTime\x00\x00sqlite3VdbeRealValue\x00\x00\x00\x00enc==SQLITE_UTF8 || enc==SQLITE_UTF16LE || enc==SQLITE_UTF16BE\x00\x00e>=342\x00\x00sqlite3AtoF\x00now\x0040f-21a-21d\x00zFormat[2]>='a' && zFormat[2]<='f'\x00\x00getDigits\x00\x00\x0020c:20e\x0020e\x0020b:20e\x00(p->flags & MEM_Null)==0 || (p->flags & (MEM_Str|MEM_Blob))==0\x00\x00sqlite3ValueBytes\x00\x00\x00localtime\x00\x00\x00unixepoch\x00\x00\x00utc\x00weekday \x00\x00\x00\x00start of \x00\x00\x00month\x00\x00\x00year\x00\x00\x00\x00day\x00local time unavailable\x00\x00validJulianDay(p->iJD)\x00\x00computeYMD\x00\x00sqlite3_result_error\x00\x00\x00\x00second\x00\x00minute\x00\x00hour\x00\x00\x00\x00sqlite3_result_double\x00\x00\x00%04d-%02d-%02d\x00\x00%02d:%02d:%02d\x00\x00%04d-%02d-%02d %02d:%02d:%02d\x00\x00\x00%02d\x00\x00\x00\x00%06.3f\x00\x00%03d\x00\x00\x00\x00%.16g\x00\x00\x00%04d\x00\x00\x00\x00sqlite3_result_error_nomem\x00\x00load_extension\x00\x00sqlite_compileoption_used\x00\x00\x00sqlite_compileoption_get\x00\x00\x00\x00unlikely\x00\x00\x00\x00likelihood\x00\x00likely\x00\x00affinity\x00\x00\x00\x00ltrim\x00\x00\x00rtrim\x00\x00\x00trim\x00\x00\x00\x00min\x00max\x00typeof\x00\x00length\x00\x00instr\x00\x00\x00printf\x00\x00unicode\x00char\x00\x00\x00\x00abs\x00round\x00\x00\x00upper\x00\x00\x00lower\x00\x00\x00hex\x00ifnull\x00\x00random\x00\x00randomblob\x00\x00nullif\x00\x00sqlite_version\x00\x00sqlite_source_id\x00\x00\x00\x00sqlite_log\x00\x00quote\x00\x00\x00last_insert_rowid\x00\x00\x00changes\x00total_changes\x00\x00\x00replace\x00zeroblob\x00\x00\x00\x00substr\x00\x00sum\x00total\x00\x00\x00avg\x00count\x00\x00\x00group_concat\x00\x00\x00\x00glob\x00\x00\x00\x00like\x00\x00\x00\x00coalesce\x00\x00\x00\x00not authorized\x00\x00sqlite3_extension_init\x00\x00%s.%s\x00\x00\x00unable to open shared library [%s]\x00\x00sqlite3_\x00\x00\x00\x00lib\x00_init\x00\x00\x00no entry point [%s] in shared library [%s]\x00\x00error during initialization: %s\x00dll\x00p && p->pFunc && p->pFunc->xFinalize\x00\x00\x00\x00sqlite3_mutex_held(p->pOut->db->mutex)\x00\x00sqlite3_aggregate_context\x00\x00\x00(pMem->flags & MEM_Agg)==0\x00\x00createAggContext\x00\x00\x00\x00p && p->pMem && p->pFunc && p->pFunc->xFinalize\x00sqlite3_aggregate_count\x00bind on a busy prepared statement: [%s]\x00p->isPrepareV2 || p->expmask==0\x00API called with NULL prepared statement\x00API called with finalized prepared statement\x00\x00\x00\x00sqlite3Error\x00\x00\x00\x00vdbeUnbind\x00\x00sqlite3ApiExit\x00\x00db->lookaside.bDisable>0\x00\x00\x00\x00sqlite3OomClear\x00unopened\x00\x00\x00\x00API call with %s database connection pointer\x00\x00\x00\x00invalid\x00count>=0\x00\x00\x00\x00sqliteDefaultBusyCallback\x00\x00\x00unable to close due to unfinalized statements or unfinished backups\x00btreeEnterAll\x00\x00\x00p->pNext==0 || p->pNext->pBt>p->pBt\x00p->pPrev==0 || p->pPrev->pBt<p->pBt\x00p->pNext==0 || p->pNext->db==p->db\x00\x00p->pPrev==0 || p->pPrev->db==p->db\x00\x00p->sharable || (p->pNext==0 && p->pPrev==0)\x00!p->locked || p->wantToLock>0\x00\x00\x00p->sharable || p->wantToLock==0\x00sqlite3_mutex_held(p->db->mutex)\x00\x00\x00\x00(p->locked==0 && p->sharable) || p->pBt->db==p->db\x00\x00sqlite3BtreeEnter\x00\x00\x00pLater->sharable\x00\x00\x00\x00pLater->pNext==0 || pLater->pNext->pBt>pLater->pBt\x00\x00!pLater->locked || pLater->wantToLock>0\x00sqlite3GlobalConfig.mutex.xMutexTry\x00sqlite3_mutex_try\x00\x00\x00btreeLockCarefully\x00\x00p->locked==1\x00\x00\x00\x00sqlite3_mutex_held(pBt->mutex)\x00\x00p->db==pBt->db\x00\x00unlockBtreeMutex\x00\x00\x00\x00p->locked==0\x00\x00\x00\x00sqlite3_mutex_notheld(p->pBt->mutex)\x00\x00\x00\x00lockBtreeMutex\x00\x00p==0 || sqlite3GlobalConfig.mutex.xMutexNotheld\x00sqlite3_mutex_notheld\x00\x00\x00IsVirtual(p)\x00\x00\x00\x00sqlite3BtreeHoldsAllMutexes(db)\x00sqlite3VtabDisconnect\x00\x00\x00db\x00\x00pVTab->nRef>0\x00\x00\x00db->magic==SQLITE_MAGIC_OPEN || db->magic==SQLITE_MAGIC_ZOMBIE\x00\x00sqlite3VtabUnlock\x00\x00\x00sqlite3VtabUnlockList\x00\x00\x00btreeLeaveAll\x00\x00\x00p->wantToLock>0\x00sqlite3BtreeLeave\x00\x00\x00connectionIsBusy\x00\x00\x00\x00sqlite3BtreeIsInBackup\x00\x00sqlite3ErrorWithMsg\x00db->nDb<=2\x00\x00db->aDb==db->aDbStatic\x00\x00db->lookaside.nOut==0\x00\x00\x00sqlite3RollbackAll\x00\x00p==0 || sqlite3_mutex_held(p->db->mutex)\x00\x00\x00\x00sqlite3BtreeIsInTrans\x00\x00\x00writeOnly==1 || writeOnly==0\x00\x00\x00\x00tripCode==SQLITE_ABORT_ROLLBACK || tripCode==SQLITE_OK\x00\x00rc==SQLITE_OK || (writeOnly==0 && rc2==SQLITE_OK)\x00\x00\x00p->pBt->inTransaction!=TRANS_NONE || p->pBt->nTransaction==0\x00\x00\x00\x00p->pBt->inTransaction>=p->inTrans\x00\x00\x00TRANS_WRITE==pBt->inTransaction\x00countValidCursors(pBt, 1)==0\x00\x00\x00\x00sqlite3BtreeRollback\x00\x00\x00\x00pExcept==0 || pExcept->pBt==pBt\x00saveAllCursors\x00\x00CURSOR_VALID==pCur->eState || CURSOR_SKIPNEXT==pCur->eState\x000==pCur->pKey\x00\x00\x00cursorHoldsMutex(pCur)\x00\x00saveCursorPosition\x00\x00CURSOR_VALID==pCur->eState\x00\x00!pCur->curIntKey || !pCur->pKey\x00saveCursorKey\x00\x00\x00pCur->eState==CURSOR_VALID\x00\x00pCur->curIntKey\x00sqlite3BtreeIntegerKey\x00\x00CORRUPT_DB || memcmp(&info, &pCur->info, sizeof(info))==0\x00\x00\x00assertCellInfo\x00\x00sqlite3BtreePayloadSize\x00pCur->iPage>=0 && pCur->apPage[pCur->iPage]\x00pCur->aiIdx[pCur->iPage]<pCur->apPage[pCur->iPage]->nCell\x00\x00\x00sqlite3BtreePayload\x00pPage\x00\x00\x00eOp==0 || eOp==1\x00\x00\x00\x00pCur->aiIdx[pCur->iPage]<pPage->nCell\x00\x00\x00offset+amt <= pCur->info.nPayload\x00\x00\x00aPayload > pPage->aData\x00rc==SQLITE_OK && amt>0\x00\x00pCur->aOverflow[iIdx]==0 || pCur->aOverflow[iIdx]==nextPage || CORRUPT_DB\x00\x00\x00pCur->curFlags & BTCF_ValidOvfl\x00pCur->pBtree->db==pBt->db\x00\x00\x00accessPayload\x00\x00\x00database corruption\x00(pPg->flags & PGHDR_MMAP)==0\x00\x00\x00\x00pPager->eState>=PAGER_WRITER_LOCKED\x00assert_pager_state(pPager)\x00\x00pPager->tempFile==0\x00sqlite3PagerWrite\x00\x00\x00p->eState==PAGER_OPEN || p->eState==PAGER_READER || p->eState==PAGER_WRITER_LOCKED || p->eState==PAGER_WRITER_CACHEMOD || p->eState==PAGER_WRITER_DBMOD || p->eState==PAGER_WRITER_FINISHED || p->eState==PAGER_ERROR\x00\x00\x00p->tempFile==0 || p->eLock==EXCLUSIVE_LOCK\x00\x00p->tempFile==0 || pPager->changeCountDone\x00\x00\x00p->journalMode==PAGER_JOURNALMODE_OFF || p->useJournal\x00\x00p->journalMode!=PAGER_JOURNALMODE_OFF || !isOpen(p->jfd)\x00\x00\x00\x00!isOpen(p->fd)\x00\x00p->noSync\x00\x00\x00p->journalMode==PAGER_JOURNALMODE_OFF || p->journalMode==PAGER_JOURNALMODE_MEMORY\x00\x00\x00p->eState!=PAGER_ERROR && p->eState!=PAGER_OPEN\x00pagerUseWal(p)==0\x00\x00\x00pPager->changeCountDone==0 || pPager->eLock>=RESERVED_LOCK\x00\x00p->eLock!=PENDING_LOCK\x00\x00!MEMDB\x00\x00pPager->errCode==SQLITE_OK\x00\x00sqlite3PcacheRefCount(pPager->pPCache)==0 || pPager->tempFile\x00\x00\x00p->eLock!=UNKNOWN_LOCK\x00\x00p->eLock>=SHARED_LOCK\x00\x00\x00p->eLock>=RESERVED_LOCK\x00pPager->dbSize==pPager->dbOrigSize\x00\x00pPager->dbOrigSize==pPager->dbFileSize\x00\x00pPager->dbOrigSize==pPager->dbHintSize\x00\x00pPager->setMaster==0\x00\x00\x00\x00isOpen(p->jfd) || p->journalMode==PAGER_JOURNALMODE_OFF || p->journalMode==PAGER_JOURNALMODE_WAL\x00\x00\x00\x00p->eLock==EXCLUSIVE_LOCK\x00\x00\x00\x00!pagerUseWal(pPager)\x00\x00\x00\x00p->eLock>=EXCLUSIVE_LOCK\x00\x00\x00\x00pPager->dbOrigSize<=pPager->dbHintSize\x00\x00pPager->errCode!=SQLITE_OK\x00\x00sqlite3PcacheRefCount(pPager->pPCache)>0 || pPager->tempFile\x00\x00\x00\x00assert_pager_state\x00\x00sqlite3BitvecTestNotNull\x00\x00\x00\x00pPager->useJournal\x00\x00isOpen(pPager->jfd) || pagerUseWal(pPager)\x00\x00isOpen(pPager->sjfd) || pPager->nSubRec==0\x00\x00pagerUseWal(pPager) || pageInJournal(pPager, pPg) || pPg->pgno>pPager->dbOrigSize\x00\x00\x00pPager->nSavepoint>0\x00\x00\x00\x00subjournalPage\x00\x00MEMJOURNAL_DFLT_FILECHUNKSIZE==fileChunkSize(p->nChunkSize)\x00rc==SQLITE_OK || pFile->pMethods==0\x00sqlite3OsOpen\x00\x00\x00sqlite3JournalOpen\x00\x00(iAmt+iOfst)<=p->endpoint.iOffset\x00\x00\x00p->readpoint.iOffset==0 || p->readpoint.pChunk!=0\x00\x00\x00pChunk!=0\x00\x00\x00memjrnlRead\x00iOfst==p->endpoint.iOffset || iOfst==0\x00\x00iOfst>0 || p->pFirst==0\x00p->pFirst\x00\x00\x00!p->pFirst\x00\x00memjrnlWrite\x00\x00\x00\x00I/O OOM error\x00\x00\x00memjrnlTruncate\x00i>0\x00i<=p->iSize\x00sqlite3BitvecSet\x00\x00\x00\x00addToSavepointBitvecs\x00\x00\x00(pPager->doNotSpill & SPILLFLAG_NOSYNC)==0\x00\x00nPage>0\x00pg1<=pPg->pgno\x00\x00(pg1+nPage)>pPg->pgno\x00\x00\x00(pPager->doNotSpill & SPILLFLAG_NOSYNC)!=0\x00\x00pagerWriteLargeSector\x00\x00\x00pPager->eState==PAGER_WRITER_LOCKED || pPager->eState==PAGER_WRITER_CACHEMOD || pPager->eState==PAGER_WRITER_DBMOD\x00\x00pPager->errCode==0\x00\x00pPager->readOnly==0\x00pPager->eState>=PAGER_WRITER_CACHEMOD\x00\x00\x00(pPager->pInJournal!=0) == isOpen(pPager->jfd)\x00\x00pagerUseWal(pPager)==0\x00\x00pager_write\x00pPager->eState==PAGER_WRITER_LOCKED\x00pPager->pInJournal==0\x00\x00\x00rc!=SQLITE_OK || isOpen(pPager->jfd)\x00\x00\x00\x00pager_open_journal\x00\x00pPager->zFilename && pPager->zFilename[0]\x00\x00\x00databaseIsUnmoved\x00\x00\x00isOpen(pPager->jfd)\x00isOpen(pPager->fd) || pPager->noSync\x00\x00\x00\x00pPager->journalHdr <= pPager->journalOff\x00\x00\x00\x00writeJournalHdr\x00offset%JOURNAL_HDR_SZ(pPager)==0\x00\x00\x00\x00offset>=c\x00\x00\x00(offset-c)<JOURNAL_HDR_SZ(pPager)\x00\x00\x00journalHdrOffset\x00\x00\x00\x00N>0\x00sqlite3_randomness\x00\x00sqlite3PcachePageSanity(p)\x00\x00(p->flags & (PGHDR_DIRTY|PGHDR_CLEAN))==PGHDR_DIRTY\x00sqlite3PcacheMakeDirty\x00\x00pPg!=0\x00\x00pPg->pgno>0 || pPg->pPager==0\x00\x00\x00pCache!=0\x00\x00\x00(pPg->flags & PGHDR_DIRTY)==0\x00\x00\x00pCache->pDirty!=pPg\x00pCache->pDirtyTail!=pPg\x00pPg->flags & PGHDR_DIRTY\x00\x00\x00\x00sqlite3PcachePageSanity\x00pPage->pDirtyNext || pPage==p->pDirtyTail\x00\x00\x00pPage->pDirtyPrev || pPage==p->pDirty\x00\x00\x00pPage==p->pDirtyTail\x00\x00\x00\x00pPage==p->pDirty\x00\x00\x00\x00p->bPurgeable || p->eCreate==2\x00\x00p->bPurgeable==0 || p->eCreate==1\x00\x00\x00pPage->pDirtyNext==0 && pPage->pDirtyPrev==0 && p->pDirty!=pPage\x00\x00\x00\x00pPage->pDirtyNext->pDirtyPrev==0\x00\x00\x00\x00p->eCreate==2\x00\x00\x00pcacheManageDirtyList\x00\x00\x00pPg->pgno!=PAGER_MJ_PGNO(pPager)\x00\x00\x00\x00pPager->journalHdr<=pPager->journalOff\x00\x00pPager->pInJournal!=0\x00\x00\x00pagerAddPageToRollbackJournal\x00\x00\x00sqlite3PagerUnrefNotNull\x00\x00\x00\x00pPager->fd->pMethods->iVersion>=3\x00\x00\x00pagerReleaseMapPage\x00sqlite3PcacheRelease\x00\x00\x00\x00pPager->eState==PAGER_READER\x00\x00\x00\x00pagerUnlockAndRollback\x00\x00pPager->eState==PAGER_READER || rc!=SQLITE_OK\x00\x00\x00rc==SQLITE_OK || rc==SQLITE_FULL || rc==SQLITE_CORRUPT || rc==SQLITE_NOMEM || (rc&0xFF)==SQLITE_IOERR || rc==SQLITE_CANTOPEN\x00\x00\x00\x00sqlite3PagerRollback\x00\x00\x00\x00op==SAVEPOINT_RELEASE || op==SAVEPOINT_ROLLBACK\x00iSavepoint>=0 || op==SAVEPOINT_ROLLBACK\x00rc==SQLITE_OK\x00\x00\x00rc!=SQLITE_DONE\x00sqlite3PagerSavepoint\x00\x00\x00pPager->eState!=PAGER_ERROR\x00pagerUseWal(pPager)==0 || szJ==0\x00\x00\x00\x00rc!=SQLITE_OK || pPager->journalOff>=szJ\x00\x00\x00\x00offset==(i64)ii*(4+pPager->pageSize)\x00\x00\x00\x00pagerPlaybackSavepoint\x00\x00walFramePgno(pWal, iFrame)!=1\x00\x00\x00sqlite3WalUndo\x00\x00pWal->nWiData>0 && pWal->apWiData[0]\x00\x00\x00\x00walIndexHdr\x00(iHash==0 || iFrame>HASHTABLE_NPAGE_ONE) && (iHash>=1 || iFrame<=HASHTABLE_NPAGE_ONE) && (iHash<=1 || iFrame>(HASHTABLE_NPAGE_ONE+HASHTABLE_NPAGE)) && (iHash>=2 || iFrame<=HASHTABLE_NPAGE_ONE+HASHTABLE_NPAGE) && (iHash<=2 || iFrame>(HASHTABLE_NPAGE_ONE+2*HASHTABLE_NPAGE))\x00\x00\x00\x00walFramePage\x00\x00\x00\x00pWal->writeLock\x00pWal->nWiData>walFramePage(pWal->hdr.mxFrame)\x00\x00\x00pWal->apWiData[walFramePage(pWal->hdr.mxFrame)]\x00iLimit>0\x00\x00\x00\x00walCleanupHash\x00\x00rc==SQLITE_OK || iHash>0\x00\x00\x00\x00iPage==0 || *ppPage || rc!=SQLITE_OK\x00\x00\x00\x00walIndexPage\x00\x00\x00\x00walHashGet\x00\x00pagerUseWal(pPager)\x00pagerUndoCallback\x00\x00\x00pPager!=0\x00\x00\x00pgno!=0\x00pPager->pPCache!=0\x00\x00pPage==0 || pPager->hasHeldSharedLock\x00\x00\x00sqlite3PagerLookup\x00\x00pCache->pCache!=0\x00\x00\x00createFlag==3 || createFlag==0\x00\x00pCache->eCreate==((pCache->bPurgeable && pCache->pDirty) ? 1 : 2)\x00\x00\x00eCreate==0 || eCreate==1 || eCreate==2\x00\x00createFlag==0 || pCache->eCreate==eCreate\x00\x00\x00createFlag==0 || eCreate==1+(!pCache->bPurgeable||!pCache->pDirty)\x00\x00sqlite3PcacheFetch\x00\x00pPage!=0\x00\x00\x00\x00sqlite3PcachePageSanity(pPgHdr)\x00sqlite3PcacheFetchFinish\x00\x00\x00\x00pPgHdr->pPage==0\x00\x00\x00\x00pcacheFetchFinishWithInit\x00\x00\x00p->nRef==1\x00\x00sqlite3PcacheDrop\x00\x00\x00pWal->readLock>=0 || pWal->lockError\x00\x00\x00\x00iFrame>iRead || CORRUPT_DB\x00\x00sqlite3WalFindFrame\x00iPage>0\x00walHash\x00pPager->eState>=PAGER_READER && !MEMDB\x00\x00isOpen(pPager->fd)\x00\x00readDbPage\x00\x00sqlite3_mutex_held(p->pSrc->pBt->mutex)\x00sqlite3BackupRestart\x00\x00\x00\x00pcacheSortDirtyList\x00pA!=0 && pB!=0\x00\x00pcacheMergeDirtyList\x00\x00\x00\x00(isMainJrnl&~1)==0\x00\x00(isSavepnt&~1)==0\x00\x00\x00isMainJrnl || pDone\x00isSavepnt || pDone==0\x00\x00\x00aData\x00\x00\x00pagerUseWal(pPager)==0 || (!isMainJrnl && isSavepnt)\x00\x00\x00\x00pPager->eState>=PAGER_WRITER_CACHEMOD || (pPager->eState==PAGER_OPEN && pPager->eLock==EXCLUSIVE_LOCK)\x00\x00pPager->eState>=PAGER_WRITER_CACHEMOD || isMainJrnl\x00!isSavepnt\x00\x00pPg || !MEMDB\x00\x00\x00pPager->eState!=PAGER_OPEN || pPg==0 || pPager->tempFile\x00\x00\x00\x00isSavepnt\x00\x00\x00(pPager->doNotSpill & SPILLFLAG_ROLLBACK)==0\x00\x00\x00\x00(pPager->doNotSpill & SPILLFLAG_ROLLBACK)!=0\x00\x00\x00\x00pager_playback_one_page\x00p->pDestDb\x00\x00rc!=SQLITE_BUSY && rc!=SQLITE_LOCKED\x00\x00\x00\x00backupUpdate\x00\x00\x00\x00isFatalError\x00\x00\x00\x00sqlite3BtreeGetReserveNoMutex(p->pSrc)>=0\x00\x00\x00p->bDestLocked\x00\x00!isFatalError(p->rc)\x00\x00\x00\x00iSrcPg!=PENDING_BYTE_PAGE(p->pSrc->pBt)\x00zSrcData\x00\x00\x00\x00sqlite3_mutex_held(p->pBt->mutex)\x00\x00\x00sqlite3BtreeGetReserveNoMutex\x00\x00\x00backupOnePage\x00\x00\x00pPg->nRef>0 || pPg->pPager->memDb\x00\x00\x00sqlite3PagerGetData\x00sqlite3BtreeHoldsMutex(p)\x00\x00\x00((p->pBt->nPage)&0x8000000)==0\x00\x00p->sharable==0 || p->locked==0 || p->wantToLock>0\x00\x00\x00p->sharable==0 || p->locked==0 || p->db==p->pBt->db\x00p->sharable==0 || p->locked==0 || sqlite3_mutex_held(p->pBt->mutex)\x00p->sharable==0 || p->locked==0 || sqlite3_mutex_held(p->db->mutex)\x00\x00sqlite3BtreeHoldsMutex\x00\x00sqlite3BtreeLastPage\x00\x00\x00\x00readJournalHdr\x00\x00pageSize==0 || (pageSize>=512 && pageSize<=SQLITE_MAX_PAGE_SIZE)\x00\x00\x00\x00nReserve>=0 && nReserve<1000\x00\x00\x00\x00sqlite3PagerSetPagesize\x00sqlite3_mutex_notheld(pcache1.grp.mutex)\x00\x00\x00\x00pcache1.nFreeSlot>=0\x00\x00\x00\x00pcache1Alloc\x00\x00\x00\x00p->pgno>0\x00\x00\x00p->flags&PGHDR_DIRTY\x00\x00\x00\x00sqlite3PcacheTruncate\x00\x00\x00(p->flags & PGHDR_CLEAN)==0\x00sqlite3PcacheMakeClean\x00\x00pCache->nRefSum==0 && pCache->pDirty==0\x00sqlite3PcacheSetPageSize\x00\x00\x00\x00pcache1.nFreeSlot<=pcache1.nSlot\x00\x00\x00\x00pcache1Free\x00getPageError\x00\x00\x00\x00USEFETCH(pPager)\x00\x00\x00\x00pPager->eState>=PAGER_READER\x00\x00\x00\x00pPager->hasHeldSharedLock==1\x00\x00\x00\x00getPageMMap\x00pPager->nExtra>=8\x00\x00\x00p->pExtra==(void *)&p[1]\x00\x00\x00\x00p->pPage==0\x00p->flags==PGHDR_MMAP\x00\x00\x00\x00p->pPager==pPager\x00\x00\x00pagerAcquireMapPage\x00pPg==(*ppPage)\x00\x00pPg->pgno==pgno\x00pPg->pPager==pPager || pPg->pPager==0\x00\x00\x00pgno<=PAGER_MAX_PGNO && pgno!=PAGER_MJ_PGNO(pPager)\x00!isOpen(pPager->fd) || !MEMDB\x00\x00\x00pPg->pPager==pPager\x00rc!=SQLITE_OK\x00\x00\x00getPageNormal\x00\x00\x00sqlite3PcachePagecount\x00\x00aWalData[3]!=pWal->nCkpt || aWalData[0]<=pWal->hdr.mxFrame\x00\x00sqlite3WalSavepointUndo\x00isOpen(pPager->jfd) || pPager->pInJournal==0\x00\x00\x00\x00sqlite3JournalIsInMemory(pPager->jfd)==0\x00\x00\x00\x00pPager->journalMode==PAGER_JOURNALMODE_DELETE || pPager->journalMode==PAGER_JOURNALMODE_MEMORY || pPager->journalMode==PAGER_JOURNALMODE_WAL\x00\x00\x00\x00rc2==SQLITE_OK\x00\x00pPager->eLock==EXCLUSIVE_LOCK\x00\x00\x00pager_end_transaction\x00\x00\x00!sqlite3JournalIsInMemory(pPager->jfd)\x00\x00zeroJournalHdr\x00\x00dirSync==0 || dirSync==1\x00\x00\x00\x00sqlite3OsDelete\x00pPager->eState!=PAGER_READER\x00\x00\x00\x00pager_truncate\x00\x00pWal->writeLock==0\x00\x00pWal->exclusiveMode!=WAL_HEAPMEMORY_MODE || op==-1\x00\x00pWal->readLock>=0 || (op<=0 && pWal->exclusiveMode==0)\x00\x00pWal->exclusiveMode==0\x00\x00pWal->readLock>=0\x00\x00\x00sqlite3WalExclusiveMode\x00!pPager->exclusiveMode || pPager->eLock==eLock\x00\x00eLock==NO_LOCK || eLock==SHARED_LOCK\x00\x00\x00\x00eLock!=NO_LOCK || pagerUseWal(pPager)==0\x00\x00\x00\x00pPager->eLock>=eLock\x00\x00\x00\x00pagerUnlockDb\x00\x00\x00pPager->journalOff==JOURNAL_HDR_SZ(pPager)\x00\x00recovered %d pages from %s\x00\x00pager_playback\x00\x00sqlite3PagerSync\x00\x00\x00\x00!isOpen(pJournal)\x00\x00\x00pager_delmaster\x00isOpen(pPager->fd) || pPager->tempFile\x00\x00setSectorSize\x00\x00\x00rc==SQLITE_OK || !MEMDB\x00pPager->errCode==SQLITE_FULL || pPager->errCode==SQLITE_OK || (pPager->errCode & 0xff)==SQLITE_IOERR\x00\x00\x00\x00pager_error\x00pPager->eState==PAGER_READER || pPager->eState==PAGER_OPEN || pPager->eState==PAGER_ERROR\x00\x00\x00!isOpen(pPager->jfd)\x00\x00\x00\x00pPager->errCode || pPager->eState!=PAGER_ERROR\x00\x00pPager->errCode==SQLITE_OK || !MEMDB\x00\x00\x00\x00pager_unlock\x00\x00\x00\x00EIGHT_BYTE_ALIGNMENT(pNew)\x00\x00sqlite3Realloc\x00\x00pPgnoNext\x00\x00\x00next==0 || rc==SQLITE_DONE\x00\x00rc==SQLITE_OK || pPage==0\x00\x00\x00getOverflowPage\x00ptrmapPageno\x00\x00\x00\x00offset <= (int)pBt->usableSize-5\x00\x00\x00\x00pEType!=0\x00\x00\x00ptrmapGet\x00\x00\x00flags==0 || flags==PAGER_GET_NOCONTENT || flags==PAGER_GET_READONLY\x00btreeGetPage\x00\x00\x00\x00pPage->aData==sqlite3PagerGetData(pDbPage)\x00\x00btreePageFromDbPage\x00pPage->aData\x00\x00\x00\x00pPage->pBt\x00\x00pPage->pDbPage!=0\x00\x00\x00sqlite3PagerGetExtra(pPage->pDbPage) == (void*)pPage\x00\x00\x00\x00sqlite3PagerGetData(pPage->pDbPage)==pPage->aData\x00\x00\x00sqlite3_mutex_held(pPage->pBt->mutex)\x00\x00\x00releasePageNotNull\x00\x00(writeOnly==0 || writeOnly==1) && BTCF_WriteFlag==1\x00sqlite3BtreeTripAllCursors\x00\x00sqlite3BtreeClearCursor\x00pPager->eState!=PAGER_WRITER_FINISHED\x00\x00\x00sqlite3PagerPagecount\x00\x00\x00btreeEndTransaction\x00pLock->eLock==READ_LOCK || pLock->pBtree==p\x00downgradeAllSharedCacheTableLocks\x00\x00\x00p->sharable || 0==*ppIter\x00\x00\x00p->inTrans>0\x00\x00\x00\x00(pBt->btsFlags & BTS_EXCLUSIVE)==0 || pBt->pWriter==pLock->pBtree\x00\x00\x00pLock->pBtree->inTrans>=pLock->eLock\x00\x00\x00\x00pLock->iTable!=1 || pLock==&p->lock\x00(pBt->btsFlags & BTS_PENDING)==0 || pBt->pWriter\x00\x00\x00\x00clearAllSharedCacheTableLocks\x00\x00\x00countValidCursors(pBt,0)==0 || pBt->inTransaction>TRANS_NONE\x00\x00\x00\x00pPage1->aData\x00\x00\x00sqlite3PagerRefcount(pBt->pPager)==1\x00\x00\x00\x00unlockBtreeIfUnused\x00pNew!=0\x00sqlite3HashInit\x00pH!=0\x00\x00\x00sqlite3HashClear\x00\x00\x00\x00!ExprHasProperty(p, EP_IntValue) || p->u.iValue>=0\x00\x00p->pLeft==0\x00p->pRight==0\x00\x00\x00\x00p->x.pSelect==0\x00p->x.pList==0 || p->pRight==0\x00\x00\x00sqlite3ExprDeleteNN\x00pList->a!=0 || pList->nExpr==0\x00\x00exprListDeleteNN\x00\x00\x00\x00pIndex->pSchema==pTable->pSchema || (IsVirtual(pTable) && pIndex->idxType!=SQLITE_IDXTYPE_APPDEF)\x00\x00\x00db==0 || sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema)\x00pOld==pIndex || pOld==0\x00nLookaside==0 || nLookaside==db->lookaside.nOut\x00deleteTable\x00pKey!=0\x00pH->htsize>0\x00\x00\x00\x00sqlite3HashInsert\x00\x00\x00elem!=0\x00findElementWithHash\x00pEntry->count>=0\x00\x00\x00\x00pH->first==0\x00\x00\x00\x00pH->count==0\x00\x00\x00\x00removeElementGivenHash\x00\x00iDb>=0 && iDb<db->nDb\x00\x00\x00sqlite3SchemaMutexHeld\x00\x00i>=0 && i<db->nDb\x00\x00\x00sqlite3SchemaToIndex\x00\x00\x00\x00db==0 || IsVirtual(pTab) || sqlite3SchemaMutexHeld(db, 0, pTab->pSchema)\x00\x00\x00\x00pFKey->isDeferred==0 || pFKey->isDeferred==1\x00\x00\x00\x00sqlite3FkDelete\x00pTable!=0\x00\x00\x00sqlite3DeleteColumnNames\x00\x00\x00\x00db==0 || sqlite3SchemaMutexHeld(db, 0, p->pSchema)\x00\x00db2\x00!db || pRet\x00vtabDisconnectAll\x00\x00\x00p->wantToLock==0 && p->locked==0\x00\x00\x00\x00!pBt->pCursor\x00\x00\x00p->wantToLock==0\x00\x00\x00\x00sqlite3BtreeClose\x00\x00\x00pBt->pCursor!=0\x00sqlite3BtreeCloseCursor\x00sqlite3_mutex_notheld(pBt->mutex)\x00\x00\x00removeFromSharingList\x00\x00\x00sqlite3GlobalConfig.mutex.xMutexFree\x00\x00\x00\x00sqlite3_mutex_free\x00\x00db || pagerUseWal(pPager)==0\x00\x00\x00\x00db || pPager->pWal==0\x00\x00\x00!pPager->aSavepoint && !pPager->pInJournal\x00\x00!isOpen(pPager->jfd) && !isOpen(pPager->sjfd)\x00\x00\x00sqlite3PagerClose\x00\x00\x00pWal->ckptLock==0\x00\x00\x00eMode!=SQLITE_CHECKPOINT_PASSIVE || xBusy==0\x00\x00\x00\x00sqlite3WalCheckpoint\x00\x00\x00\x00pChanged\x00\x00\x00\x00page0 || pWal->writeLock==0\x00badHdr==0 || pWal->writeLock==0\x00walIndexReadHdr\x00walIndexTryHdr\x00\x00nByte>=8\x00\x00\x00\x00(nByte&0x00000007)==0\x00\x00\x00walChecksumBytes\x00\x00\x00\x00pWal->ckptLock==1 || pWal->ckptLock==0\x00\x00recovered %d frames from WAL file %s\x00\x00\x00\x00walIndexRecover\x00cannot open file\x00\x00\x00\x00idx <= HASHTABLE_NSLOT/2 + 1\x00\x00\x00\x00!aPgno[idx]\x00walIndexAppend\x00\x00walIndexWriteHdr\x00\x00\x00\x00walCkptInfo\x00pIter\x00\x00\x00y<=pWal->hdr.mxFrame\x00\x00\x00\x00walFramePgno(pWal, iFrame)==iDbpage\x00pInfo->nBackfill==pWal->hdr.mxFrame\x00pWal->ckptLock && pWal->hdr.mxFrame>0\x00\x00\x00walIteratorInit\x00nList<=HASHTABLE_NPAGE && nList>0\x00\x00\x00iSub<ArraySize(aSub)\x00\x00\x00\x00p->aList && p->nList<=(1<<iSub)\x00p->aList==&aList[iList&~((2<<iSub)-1)]\x00\x00p->nList<=(1<<iSub)\x00p->aList==&aList[nList&~((2<<iSub)-1)]\x00\x00aMerge==aList\x00\x00\x00aContent[aList[i]] > aContent[aList[i-1]]\x00\x00\x00walMergesort\x00\x00\x00\x00nLeft>0 && nRight>0\x00iLeft>=nLeft || aContent[aLeft[iLeft]]>dbpage\x00\x00\x00iRight>=nRight || aContent[aRight[iRight]]>dbpage\x00\x00\x00walMerge\x00\x00\x00\x00walCheckpoint\x00\x00\x00iMin<0xffffffff\x00walIteratorNext\x00pInfo->aReadMark[0]==0\x00\x00walRestartHdr\x00\x00\x00cannot limit WAL size: %s\x00\x00\x00sqlite3PcacheClose\x00\x00sqlite3LeaveMutexAndCloseZombie\x00sqlite3CloseExtensions\x00\x00p->flags==MEM_Null && p->z==0\x00\x00\x00sqlite3_value_blob\x00\x00pVm->db\x00columnMem\x00\x00\x00p->db!=0\x00\x00\x00\x00columnMallocFailure\x00columnName\x00\x00pMem->z || pMem->n==0\x00\x00\x00sqlite3VdbeIntValue\x00u<=LARGEST_INT64\x00\x00\x00\x00u-1==LARGEST_INT64\x00\x00sqlite3Atoi64\x00\x00\x00922337203685477580\x00\x00create\x00\x00trigger\x00temp\x00\x00\x00\x00temporary\x00\x00\x00end\x00explain\x00!db->mallocFailed\x00\x00\x00sqlite3_create_collation_v2\x00unable to delete/modify collation sequence due to active statements\x00createCollation\x00enc>=SQLITE_UTF8 && enc<=SQLITE_UTF16BE\x00pDel==0 || pDel==pColl\x00\x00sqlite3HashFind\x00findCollSeqEntry\x00\x00\x00\x00sqlite3FindCollSeq\x00\x00sqlite3_create_collation16\x00\x00(m.flags & MEM_Term)!=0 || db->mallocFailed\x00(m.flags & MEM_Str)!=0 || db->mallocFailed\x00\x00m.z || db->mallocFailed\x00sqlite3Utf16to8\x00unable to delete/modify user-function due to active statements\x00\x00p || db->mallocFailed\x00\x00\x00sqlite3CreateFunc\x00\x00\x00nArg>=(-2)\x00\x00nArg>=(-1) || createFlag==0\x00sqlite3FindFunction\x00sqlite3_create_function_v2\x00\x00sqlite3_create_function16\x00\x00\x00pDel==0 || pDel==pMod\x00\x00\x00sqlite3VtabCreateModule\x00IsVirtual(pTab)\x00pTab->pIndex==0\x00pIdx->pNext==0\x00\x00%s\x00\x00(rc&0xff)==rc\x00\x00\x00sqlite3_declare_vtab\x00\x00\x00\x00zSql!=0\x00pzErrMsg!=0\x00pParse->pNewTable==0\x00\x00\x00\x00pParse->pNewTrigger==0\x00\x00pParse->nVar==0\x00pParse->pVList==0\x00\x00\x00tokenType==TK_SPACE || tokenType==TK_ILLEGAL\x00\x00\x00\x00unrecognized token: \"%.*s\"\x00\x00nErr==0\x00nErr==0 || pParse->rc!=SQLITE_OK\x00\x00\x00\x00sqlite3RunParser\x00\x00\x00\x00yypParser->yytos!=0\x00%sInput '%s'\x0a\x00\x00\x00yyact == YY_ERROR_ACTION\x00\x00\x00\x00%sSyntax Error!\x0a\x00\x00\x00\x00%sReturn. Stack=\x00\x00\x00\x00%c%s\x00\x00\x00\x00]\x0a\x00\x00sqlite3Parser\x00\x00\x00$\x00\x00\x00SEMI\x00\x00\x00\x00EXPLAIN\x00QUERY\x00\x00\x00PLAN\x00\x00\x00\x00BEGIN\x00\x00\x00TRANSACTION\x00DEFERRED\x00\x00\x00\x00IMMEDIATE\x00\x00\x00EXCLUSIVE\x00\x00\x00COMMIT\x00\x00END\x00ROLLBACK\x00\x00\x00\x00SAVEPOINT\x00\x00\x00RELEASE\x00TO\x00\x00TABLE\x00\x00\x00CREATE\x00\x00IF\x00\x00NOT\x00EXISTS\x00\x00TEMP\x00\x00\x00\x00LP\x00\x00RP\x00\x00AS\x00\x00WITHOUT\x00COMMA\x00\x00\x00OR\x00\x00AND\x00IS\x00\x00MATCH\x00\x00\x00LIKE_KW\x00BETWEEN\x00IN\x00\x00ISNULL\x00\x00NOTNULL\x00NE\x00\x00EQ\x00\x00GT\x00\x00LE\x00\x00LT\x00\x00GE\x00\x00ESCAPE\x00\x00BITAND\x00\x00BITOR\x00\x00\x00LSHIFT\x00\x00RSHIFT\x00\x00PLUS\x00\x00\x00\x00MINUS\x00\x00\x00STAR\x00\x00\x00\x00SLASH\x00\x00\x00REM\x00CONCAT\x00\x00COLLATE\x00BITNOT\x00\x00ID\x00\x00INDEXED\x00ABORT\x00\x00\x00ACTION\x00\x00AFTER\x00\x00\x00ANALYZE\x00ASC\x00ATTACH\x00\x00BEFORE\x00\x00BY\x00\x00CASCADE\x00CAST\x00\x00\x00\x00COLUMNKW\x00\x00\x00\x00CONFLICT\x00\x00\x00\x00DATABASE\x00\x00\x00\x00DESC\x00\x00\x00\x00DETACH\x00\x00EACH\x00\x00\x00\x00FAIL\x00\x00\x00\x00FOR\x00IGNORE\x00\x00INITIALLY\x00\x00\x00INSTEAD\x00NO\x00\x00KEY\x00OF\x00\x00OFFSET\x00\x00PRAGMA\x00\x00RAISE\x00\x00\x00RECURSIVE\x00\x00\x00REPLACE\x00RESTRICT\x00\x00\x00\x00ROW\x00TRIGGER\x00VACUUM\x00\x00VIEW\x00\x00\x00\x00VIRTUAL\x00WITH\x00\x00\x00\x00REINDEX\x00RENAME\x00\x00CTIME_KW\x00\x00\x00\x00ANY\x00STRING\x00\x00JOIN_KW\x00CONSTRAINT\x00\x00DEFAULT\x00PRIMARY\x00UNIQUE\x00\x00CHECK\x00\x00\x00REFERENCES\x00\x00AUTOINCR\x00\x00\x00\x00ON\x00\x00INSERT\x00\x00DELETE\x00\x00UPDATE\x00\x00SET\x00DEFERRABLE\x00\x00FOREIGN\x00DROP\x00\x00\x00\x00UNION\x00\x00\x00ALL\x00EXCEPT\x00\x00INTERSECT\x00\x00\x00SELECT\x00\x00VALUES\x00\x00DISTINCT\x00\x00\x00\x00DOT\x00FROM\x00\x00\x00\x00JOIN\x00\x00\x00\x00USING\x00\x00\x00ORDER\x00\x00\x00GROUP\x00\x00\x00HAVING\x00\x00LIMIT\x00\x00\x00WHERE\x00\x00\x00INTO\x00\x00\x00\x00FLOAT\x00\x00\x00BLOB\x00\x00\x00\x00INTEGER\x00VARIABLE\x00\x00\x00\x00CASE\x00\x00\x00\x00WHEN\x00\x00\x00\x00THEN\x00\x00\x00\x00ELSE\x00\x00\x00\x00INDEX\x00\x00\x00ALTER\x00\x00\x00ADD\x00error\x00\x00\x00input\x00\x00\x00cmdlist\x00ecmd\x00\x00\x00\x00cmdx\x00\x00\x00\x00cmd\x00transtype\x00\x00\x00trans_opt\x00\x00\x00nm\x00\x00savepoint_opt\x00\x00\x00create_table\x00\x00\x00\x00create_table_args\x00\x00\x00createkw\x00\x00\x00\x00ifnotexists\x00dbnm\x00\x00\x00\x00columnlist\x00\x00conslist_opt\x00\x00\x00\x00table_options\x00\x00\x00select\x00\x00columnname\x00\x00carglist\x00\x00\x00\x00typetoken\x00\x00\x00typename\x00\x00\x00\x00signed\x00\x00plus_num\x00\x00\x00\x00minus_num\x00\x00\x00ccons\x00\x00\x00term\x00\x00\x00\x00expr\x00\x00\x00\x00onconf\x00\x00sortorder\x00\x00\x00autoinc\x00eidlist_opt\x00refargs\x00defer_subclause\x00refarg\x00\x00refact\x00\x00init_deferred_pred_opt\x00\x00conslist\x00\x00\x00\x00tconscomma\x00\x00tcons\x00\x00\x00sortlist\x00\x00\x00\x00eidlist\x00defer_subclause_opt\x00orconf\x00\x00resolvetype\x00raisetype\x00\x00\x00ifexists\x00\x00\x00\x00fullname\x00\x00\x00\x00selectnowith\x00\x00\x00\x00oneselect\x00\x00\x00with\x00\x00\x00\x00multiselect_op\x00\x00distinct\x00\x00\x00\x00selcollist\x00\x00from\x00\x00\x00\x00where_opt\x00\x00\x00groupby_opt\x00having_opt\x00\x00orderby_opt\x00limit_opt\x00\x00\x00values\x00\x00nexprlist\x00\x00\x00exprlist\x00\x00\x00\x00sclp\x00\x00\x00\x00as\x00\x00seltablist\x00\x00stl_prefix\x00\x00joinop\x00\x00indexed_opt\x00on_opt\x00\x00using_opt\x00\x00\x00idlist\x00\x00setlist\x00insert_cmd\x00\x00idlist_opt\x00\x00likeop\x00\x00between_op\x00\x00in_op\x00\x00\x00paren_exprlist\x00\x00case_operand\x00\x00\x00\x00case_exprlist\x00\x00\x00case_else\x00\x00\x00uniqueflag\x00\x00collate\x00nmnum\x00\x00\x00trigger_decl\x00\x00\x00\x00trigger_cmd_list\x00\x00\x00\x00trigger_time\x00\x00\x00\x00trigger_event\x00\x00\x00foreach_clause\x00\x00when_clause\x00trigger_cmd\x00trnm\x00\x00\x00\x00tridxby\x00database_kw_opt\x00key_opt\x00add_column_fullname\x00kwcolumn_opt\x00\x00\x00\x00create_vtab\x00vtabarglist\x00vtabarg\x00vtabargtoken\x00\x00\x00\x00lp\x00\x00anylist\x00wqlist\x00\x00stateno <= YY_SHIFT_COUNT\x00\x00\x00iLookAhead!=YYNOCODE\x00\x00\x00\x00%sFALLBACK %s => %s\x0a\x00\x00\x00\x00yyFallback[iFallback]==0\x00\x00\x00\x00%sWILDCARD %s => %s\x0a\x00\x00\x00\x00yy_find_shift_action\x00\x00\x00\x00%sStack Overflow!\x0a\x00\x00parser stack overflow\x00\x00\x00pParser->yytos!=0\x00\x00\x00pParser->yytos > pParser->yystack\x00\x00\x00%sPopping %s\x0a\x00\x00\x00yy_pop_parser_stack\x00%sShift '%s', go to state %d\x0a\x00\x00\x00%sShift '%s'\x0a\x00\x00\x00%sReduce [%s], go to state %d.\x0a\x00rowid\x00\x00\x00unknown table option: %.*s\x00\x00#%d\x00%.*s\x00\x00\x00\x00set list\x00\x00\x00\x00t.n>=2\x00\x00near \"%T\": syntax error\x00too many arguments on function %T\x00\x00\x00yymsp[-2].minor.yy145!=0\x00\x00\x00\x00yymsp[-1].minor.yy145!=0\x00\x00\x00\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00\x00\x00\x00yyruleno!=277\x00\x00\x00yyruleno!=294\x00\x00\x00yyruleno!=295\x00\x00\x00yyruleno!=301\x00\x00\x00yyruleno!=303\x00\x00\x00yyruleno!=304\x00\x00\x00yyruleno!=305\x00\x00\x00yyruleno!=309\x00\x00\x00yyruleno!=312\x00\x00\x00yyruleno!=313\x00\x00\x00yyruleno<sizeof(yyRuleInfo)/sizeof(yyRuleInfo[0])\x00\x00\x00yyact == YY_ACCEPT_ACTION\x00\x00\x00explain ::= EXPLAIN\x00explain ::= EXPLAIN QUERY PLAN\x00\x00cmdx ::= cmd\x00\x00\x00\x00cmd ::= BEGIN transtype trans_opt\x00\x00\x00transtype ::=\x00\x00\x00transtype ::= DEFERRED\x00\x00transtype ::= IMMEDIATE\x00transtype ::= EXCLUSIVE\x00cmd ::= COMMIT trans_opt\x00\x00\x00\x00cmd ::= END trans_opt\x00\x00\x00cmd ::= ROLLBACK trans_opt\x00\x00cmd ::= SAVEPOINT nm\x00\x00\x00\x00cmd ::= RELEASE savepoint_opt nm\x00\x00\x00\x00cmd ::= ROLLBACK trans_opt TO savepoint_opt nm\x00\x00create_table ::= createkw temp TABLE ifnotexists nm dbnm\x00\x00\x00\x00createkw ::= CREATE\x00ifnotexists ::=\x00ifnotexists ::= IF NOT EXISTS\x00\x00\x00temp ::= TEMP\x00\x00\x00temp ::=\x00\x00\x00\x00create_table_args ::= LP columnlist conslist_opt RP table_options\x00\x00\x00create_table_args ::= AS select\x00table_options ::=\x00\x00\x00table_options ::= WITHOUT nm\x00\x00\x00\x00columnname ::= nm typetoken\x00typetoken ::=\x00\x00\x00typetoken ::= typename LP signed RP\x00typetoken ::= typename LP signed COMMA signed RP\x00\x00\x00\x00typename ::= typename ID|STRING\x00ccons ::= CONSTRAINT nm\x00ccons ::= DEFAULT term\x00\x00ccons ::= DEFAULT LP expr RP\x00\x00\x00\x00ccons ::= DEFAULT PLUS term\x00ccons ::= DEFAULT MINUS term\x00\x00\x00\x00ccons ::= DEFAULT ID|INDEXED\x00\x00\x00\x00ccons ::= NOT NULL onconf\x00\x00\x00ccons ::= PRIMARY KEY sortorder onconf autoinc\x00\x00ccons ::= UNIQUE onconf\x00ccons ::= CHECK LP expr RP\x00\x00ccons ::= REFERENCES nm eidlist_opt refargs\x00ccons ::= defer_subclause\x00\x00\x00ccons ::= COLLATE ID|STRING\x00autoinc ::=\x00autoinc ::= AUTOINCR\x00\x00\x00\x00refargs ::=\x00refargs ::= refargs refarg\x00\x00refarg ::= MATCH nm\x00refarg ::= ON INSERT refact\x00refarg ::= ON DELETE refact\x00refarg ::= ON UPDATE refact\x00refact ::= SET NULL\x00refact ::= SET DEFAULT\x00\x00refact ::= CASCADE\x00\x00refact ::= RESTRICT\x00refact ::= NO ACTION\x00\x00\x00\x00defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt\x00\x00\x00defer_subclause ::= DEFERRABLE init_deferred_pred_opt\x00\x00\x00init_deferred_pred_opt ::=\x00\x00init_deferred_pred_opt ::= INITIALLY DEFERRED\x00\x00\x00init_deferred_pred_opt ::= INITIALLY IMMEDIATE\x00\x00conslist_opt ::=\x00\x00\x00\x00tconscomma ::= COMMA\x00\x00\x00\x00tcons ::= CONSTRAINT nm\x00tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf\x00tcons ::= UNIQUE LP sortlist RP onconf\x00\x00tcons ::= CHECK LP expr RP onconf\x00\x00\x00tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt\x00\x00\x00defer_subclause_opt ::=\x00onconf ::=\x00\x00onconf ::= ON CONFLICT resolvetype\x00\x00orconf ::=\x00\x00orconf ::= OR resolvetype\x00\x00\x00resolvetype ::= IGNORE\x00\x00resolvetype ::= REPLACE\x00cmd ::= DROP TABLE ifexists fullname\x00\x00\x00\x00ifexists ::= IF EXISTS\x00\x00ifexists ::=\x00\x00\x00\x00cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select\x00\x00\x00\x00cmd ::= DROP VIEW ifexists fullname\x00cmd ::= select\x00\x00select ::= with selectnowith\x00\x00\x00\x00selectnowith ::= selectnowith multiselect_op oneselect\x00\x00multiselect_op ::= UNION\x00\x00\x00\x00multiselect_op ::= UNION ALL\x00\x00\x00\x00multiselect_op ::= EXCEPT|INTERSECT\x00oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt\x00\x00\x00\x00values ::= VALUES LP nexprlist RP\x00\x00\x00values ::= values COMMA LP exprlist RP\x00\x00distinct ::= DISTINCT\x00\x00\x00distinct ::= ALL\x00\x00\x00\x00distinct ::=\x00\x00\x00\x00sclp ::=\x00\x00\x00\x00selcollist ::= sclp expr as\x00selcollist ::= sclp STAR\x00\x00\x00\x00selcollist ::= sclp nm DOT STAR\x00as ::= AS nm\x00\x00\x00\x00as ::=\x00\x00from ::=\x00\x00\x00\x00from ::= FROM seltablist\x00\x00\x00\x00stl_prefix ::= seltablist joinop\x00\x00\x00\x00stl_prefix ::=\x00\x00seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt\x00\x00\x00seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt\x00\x00\x00\x00seltablist ::= stl_prefix LP select RP as on_opt using_opt\x00\x00seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt\x00\x00dbnm ::=\x00\x00\x00\x00dbnm ::= DOT nm\x00fullname ::= nm dbnm\x00\x00\x00\x00joinop ::= COMMA|JOIN\x00\x00\x00joinop ::= JOIN_KW JOIN\x00joinop ::= JOIN_KW nm JOIN\x00\x00joinop ::= JOIN_KW nm nm JOIN\x00\x00\x00on_opt ::= ON expr\x00\x00on_opt ::=\x00\x00indexed_opt ::=\x00indexed_opt ::= INDEXED BY nm\x00\x00\x00indexed_opt ::= NOT INDEXED\x00using_opt ::= USING LP idlist RP\x00\x00\x00\x00using_opt ::=\x00\x00\x00orderby_opt ::=\x00orderby_opt ::= ORDER BY sortlist\x00\x00\x00sortlist ::= sortlist COMMA expr sortorder\x00\x00sortlist ::= expr sortorder\x00sortorder ::= ASC\x00\x00\x00sortorder ::= DESC\x00\x00sortorder ::=\x00\x00\x00groupby_opt ::=\x00groupby_opt ::= GROUP BY nexprlist\x00\x00having_opt ::=\x00\x00having_opt ::= HAVING expr\x00\x00limit_opt ::=\x00\x00\x00limit_opt ::= LIMIT expr\x00\x00\x00\x00limit_opt ::= LIMIT expr OFFSET expr\x00\x00\x00\x00limit_opt ::= LIMIT expr COMMA expr\x00cmd ::= with DELETE FROM fullname indexed_opt where_opt\x00where_opt ::=\x00\x00\x00where_opt ::= WHERE expr\x00\x00\x00\x00cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt\x00\x00\x00setlist ::= setlist COMMA nm EQ expr\x00\x00\x00\x00setlist ::= setlist COMMA LP idlist RP EQ expr\x00\x00setlist ::= nm EQ expr\x00\x00setlist ::= LP idlist RP EQ expr\x00\x00\x00\x00cmd ::= with insert_cmd INTO fullname idlist_opt select\x00cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES\x00insert_cmd ::= INSERT orconf\x00\x00\x00\x00insert_cmd ::= REPLACE\x00\x00idlist_opt ::=\x00\x00idlist_opt ::= LP idlist RP\x00idlist ::= idlist COMMA nm\x00\x00idlist ::= nm\x00\x00\x00expr ::= LP expr RP\x00term ::= NULL\x00\x00\x00expr ::= ID|INDEXED\x00expr ::= JOIN_KW\x00\x00\x00\x00expr ::= nm DOT nm\x00\x00expr ::= nm DOT nm DOT nm\x00\x00\x00term ::= FLOAT|BLOB\x00term ::= STRING\x00term ::= INTEGER\x00\x00\x00\x00expr ::= VARIABLE\x00\x00\x00expr ::= expr COLLATE ID|STRING\x00expr ::= CAST LP expr AS typetoken RP\x00\x00\x00expr ::= ID|INDEXED LP distinct exprlist RP\x00expr ::= ID|INDEXED LP STAR RP\x00\x00term ::= CTIME_KW\x00\x00\x00expr ::= LP nexprlist COMMA expr RP\x00expr ::= expr AND expr\x00\x00expr ::= expr OR expr\x00\x00\x00expr ::= expr LT|GT|GE|LE expr\x00\x00expr ::= expr EQ|NE expr\x00\x00\x00\x00expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr\x00\x00\x00expr ::= expr PLUS|MINUS expr\x00\x00\x00expr ::= expr STAR|SLASH|REM expr\x00\x00\x00expr ::= expr CONCAT expr\x00\x00\x00likeop ::= NOT LIKE_KW|MATCH\x00\x00\x00\x00expr ::= expr likeop expr\x00\x00\x00expr ::= expr likeop expr ESCAPE expr\x00\x00\x00expr ::= expr ISNULL|NOTNULL\x00\x00\x00\x00expr ::= expr NOT NULL\x00\x00expr ::= expr IS expr\x00\x00\x00expr ::= expr IS NOT expr\x00\x00\x00expr ::= NOT expr\x00\x00\x00expr ::= BITNOT expr\x00\x00\x00\x00expr ::= MINUS expr\x00expr ::= PLUS expr\x00\x00between_op ::= BETWEEN\x00\x00between_op ::= NOT BETWEEN\x00\x00expr ::= expr between_op expr AND expr\x00\x00in_op ::= IN\x00\x00\x00\x00in_op ::= NOT IN\x00\x00\x00\x00expr ::= expr in_op LP exprlist RP\x00\x00expr ::= LP select RP\x00\x00\x00expr ::= expr in_op LP select RP\x00\x00\x00\x00expr ::= expr in_op nm dbnm paren_exprlist\x00\x00expr ::= EXISTS LP select RP\x00\x00\x00\x00expr ::= CASE case_operand case_exprlist case_else END\x00\x00case_exprlist ::= case_exprlist WHEN expr THEN expr\x00case_exprlist ::= WHEN expr THEN expr\x00\x00\x00case_else ::= ELSE expr\x00case_else ::=\x00\x00\x00case_operand ::= expr\x00\x00\x00case_operand ::=\x00\x00\x00\x00exprlist ::=\x00\x00\x00\x00nexprlist ::= nexprlist COMMA expr\x00\x00nexprlist ::= expr\x00\x00paren_exprlist ::=\x00\x00paren_exprlist ::= LP exprlist RP\x00\x00\x00cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt\x00\x00\x00\x00uniqueflag ::= UNIQUE\x00\x00\x00uniqueflag ::=\x00\x00eidlist_opt ::=\x00eidlist_opt ::= LP eidlist RP\x00\x00\x00eidlist ::= eidlist COMMA nm collate sortorder\x00\x00eidlist ::= nm collate sortorder\x00\x00\x00\x00collate ::=\x00collate ::= COLLATE ID|STRING\x00\x00\x00cmd ::= DROP INDEX ifexists fullname\x00\x00\x00\x00cmd ::= VACUUM\x00\x00cmd ::= VACUUM nm\x00\x00\x00cmd ::= PRAGMA nm dbnm\x00\x00cmd ::= PRAGMA nm dbnm EQ nmnum\x00cmd ::= PRAGMA nm dbnm LP nmnum RP\x00\x00cmd ::= PRAGMA nm dbnm EQ minus_num\x00cmd ::= PRAGMA nm dbnm LP minus_num RP\x00\x00plus_num ::= PLUS INTEGER|FLOAT\x00minus_num ::= MINUS INTEGER|FLOAT\x00\x00\x00cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END\x00\x00\x00\x00trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause\x00trigger_time ::= BEFORE\x00trigger_time ::= AFTER\x00\x00trigger_time ::= INSTEAD OF\x00trigger_time ::=\x00\x00\x00\x00trigger_event ::= DELETE|INSERT\x00trigger_event ::= UPDATE\x00\x00\x00\x00trigger_event ::= UPDATE OF idlist\x00\x00when_clause ::=\x00when_clause ::= WHEN expr\x00\x00\x00trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI\x00\x00trigger_cmd_list ::= trigger_cmd SEMI\x00\x00\x00trnm ::= nm DOT nm\x00\x00tridxby ::= INDEXED BY nm\x00\x00\x00tridxby ::= NOT INDEXED\x00trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt\x00\x00\x00\x00trigger_cmd ::= insert_cmd INTO trnm idlist_opt select\x00\x00trigger_cmd ::= DELETE FROM trnm tridxby where_opt\x00\x00trigger_cmd ::= select\x00\x00expr ::= RAISE LP IGNORE RP\x00expr ::= RAISE LP raisetype COMMA nm RP\x00raisetype ::= ROLLBACK\x00\x00raisetype ::= ABORT\x00raisetype ::= FAIL\x00\x00cmd ::= DROP TRIGGER ifexists fullname\x00\x00cmd ::= ATTACH database_kw_opt expr AS expr key_opt\x00cmd ::= DETACH database_kw_opt expr\x00key_opt ::=\x00key_opt ::= KEY expr\x00\x00\x00\x00cmd ::= REINDEX\x00cmd ::= REINDEX nm dbnm\x00cmd ::= ANALYZE\x00cmd ::= ANALYZE nm dbnm\x00cmd ::= ALTER TABLE fullname RENAME TO nm\x00\x00\x00cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist\x00\x00\x00\x00add_column_fullname ::= fullname\x00\x00\x00\x00cmd ::= create_vtab\x00cmd ::= create_vtab LP vtabarglist RP\x00\x00\x00create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm\x00vtabarg ::=\x00vtabargtoken ::= ANY\x00\x00\x00\x00vtabargtoken ::= lp anylist RP\x00\x00lp ::= LP\x00\x00\x00with ::=\x00\x00\x00\x00with ::= WITH wqlist\x00\x00\x00\x00with ::= WITH RECURSIVE wqlist\x00\x00wqlist ::= nm eidlist_opt AS LP select RP\x00\x00\x00wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP\x00\x00input ::= cmdlist\x00\x00\x00cmdlist ::= cmdlist ecmd\x00\x00\x00\x00cmdlist ::= ecmd\x00\x00\x00\x00ecmd ::= SEMI\x00\x00\x00ecmd ::= explain cmdx SEMI\x00\x00explain ::=\x00trans_opt ::=\x00\x00\x00trans_opt ::= TRANSACTION\x00\x00\x00trans_opt ::= TRANSACTION nm\x00\x00\x00\x00savepoint_opt ::= SAVEPOINT\x00savepoint_opt ::=\x00\x00\x00cmd ::= create_table create_table_args\x00\x00columnlist ::= columnlist COMMA columnname carglist\x00columnlist ::= columnname carglist\x00\x00nm ::= ID|INDEXED\x00\x00\x00nm ::= STRING\x00\x00\x00nm ::= JOIN_KW\x00\x00typetoken ::= typename\x00\x00typename ::= ID|STRING\x00\x00signed ::= plus_num\x00signed ::= minus_num\x00\x00\x00\x00carglist ::= carglist ccons\x00carglist ::=\x00\x00\x00\x00ccons ::= NULL onconf\x00\x00\x00conslist_opt ::= COMMA conslist\x00conslist ::= conslist tconscomma tcons\x00\x00conslist ::= tcons\x00\x00tconscomma ::=\x00\x00defer_subclause_opt ::= defer_subclause\x00resolvetype ::= raisetype\x00\x00\x00selectnowith ::= oneselect\x00\x00oneselect ::= values\x00\x00\x00\x00sclp ::= selcollist COMMA\x00\x00\x00as ::= ID|STRING\x00\x00\x00\x00expr ::= term\x00\x00\x00likeop ::= LIKE_KW|MATCH\x00\x00\x00\x00exprlist ::= nexprlist\x00\x00nmnum ::= plus_num\x00\x00nmnum ::= nm\x00\x00\x00\x00nmnum ::= ON\x00\x00\x00\x00nmnum ::= DELETE\x00\x00\x00\x00nmnum ::= DEFAULT\x00\x00\x00plus_num ::= INTEGER|FLOAT\x00\x00foreach_clause ::=\x00\x00foreach_clause ::= FOR EACH ROW\x00trnm ::= nm\x00tridxby ::=\x00database_kw_opt ::= DATABASE\x00\x00\x00\x00database_kw_opt ::=\x00kwcolumn_opt ::=\x00\x00\x00\x00kwcolumn_opt ::= COLUMNKW\x00\x00\x00vtabarglist ::= vtabarg\x00vtabarglist ::= vtabarglist COMMA vtabarg\x00\x00\x00vtabarg ::= vtabarg vtabargtoken\x00\x00\x00\x00anylist ::=\x00anylist ::= anylist LP anylist RP\x00\x00\x00anylist ::= anylist ANY\x00pParse->pToplevel==0\x00\x00\x00\x00!pParse->isMultiWrite || sqlite3VdbeAssertMayAbort(v, pParse->mayAbort)\x00sqlite3VdbeGetOp(v, 0)->opcode==OP_Init\x00usesStmtJournal=%d\x00\x00pParse->iCacheLevel==0\x00\x00sqlite3FinishCoding\x00pParse->aLabel==0\x00\x00\x00pParse->nLabel==0\x00\x00\x00pParse->nOpAlloc==0\x00pParse->szOpAlloc==0\x00\x00\x00\x00sqlite3VdbeCreate\x00\x00\x00p->magic==VDBE_MAGIC_INIT\x00\x00\x00op>=0 && op<0xff\x00\x00\x00\x00 r[%d]={%d:%d}\x00\x00\x0a\x00\x00\x00sqlite3VdbeAddOp3\x00\x00\x00p->pParse->nOpAlloc<=p->nOp\x00p->pParse->nOpAlloc>p->nOp\x00\x00growOp3\x00nOp<=(1024/sizeof(Op))\x00\x00nNew>=(p->nOpAlloc+nOp)\x00growOpArray\x00nTemp>=20\x00\x00\x00pKeyInfo->aSortOrder!=0\x00k(%d\x00\x00\x00\x00BINARY\x00\x00B\x00\x00\x00,%s%s\x00\x00\x00-\x00\x00\x00)\x00\x00\x00(%.20s)\x00%s(%d)\x00\x00%d\x00\x00pMem->flags & MEM_Blob\x00\x00(blob)\x00\x00vtab:%p\x00,%d\x00]\x00\x00\x00program\x00zP4!=0\x00\x00displayP4\x00\x00\x00IF \x00r[P2] = (%s)\x00\x00\x00\x00if %s goto P2\x00\x00\x00@P\x00\x00+1\x00\x00..%d\x00\x00\x00\x00..P3\x00\x00\x00\x00; %s\x00\x00\x00\x00Savepoint\x00\x00\x00AutoCommit\x00\x00Transaction\x00\x00\x00\x00\x00SorterNext\x00\x00PrevIfOpen\x00\x00NextIfOpen\x00\x00Prev\x00\x00\x00\x00Next\x00\x00\x00\x00Checkpoint\x00\x00JournalMode\x00\x00\x00\x00\x00Vacuum\x00\x00VFilter\x00iplan=r[P3] zplan='P4'\x00\x00VUpdate\x00data=r[P3@P2]\x00\x00\x00Goto\x00\x00\x00\x00Gosub\x00\x00\x00InitCoroutine\x00\x00\x00Yield\x00\x00\x00MustBeInt\x00\x00\x00Jump\x00\x00\x00\x00Not\x00r[P2]= !r[P1]\x00\x00\x00Once\x00\x00\x00\x00If\x00\x00IfNot\x00\x00\x00SeekLT\x00key=r[P3@P4]\x00SeekLE\x00key=r[P3@P4]\x00SeekGE\x00key=r[P3@P4]\x00SeekGT\x00key=r[P3@P4]\x00Or\x00r[P3]=(r[P1] || r[P2])\x00\x00\x00And\x00r[P3]=(r[P1] && r[P2])\x00\x00NoConflict\x00key=r[P3@P4]\x00NotFound\x00key=r[P3@P4]\x00\x00\x00Found\x00key=r[P3@P4]\x00\x00SeekRowid\x00intkey=r[P3]\x00\x00NotExists\x00intkey=r[P3]\x00\x00IsNull\x00if r[P1]==NULL goto P2\x00\x00\x00NotNull\x00if r[P1]!=NULL goto P2\x00\x00Ne\x00IF r[P3]!=r[P1]\x00\x00Eq\x00IF r[P3]==r[P1]\x00\x00Gt\x00IF r[P3]>r[P1]\x00\x00\x00Le\x00IF r[P3]<=r[P1]\x00\x00Lt\x00IF r[P3]<r[P1]\x00\x00\x00Ge\x00IF r[P3]>=r[P1]\x00\x00ElseNotEq\x00\x00\x00BitAnd\x00r[P3]=r[P1]&r[P2]\x00\x00\x00\x00BitOr\x00r[P3]=r[P1]|r[P2]\x00ShiftLeft\x00r[P3]=r[P2]<<r[P1]\x00\x00\x00\x00ShiftRight\x00r[P3]=r[P2]>>r[P1]\x00\x00\x00Add\x00r[P3]=r[P1]+r[P2]\x00\x00\x00Subtract\x00r[P3]=r[P2]-r[P1]\x00\x00Multiply\x00r[P3]=r[P1]*r[P2]\x00\x00Divide\x00r[P3]=r[P2]/r[P1]\x00\x00\x00\x00Remainder\x00r[P3]=r[P2]%r[P1]\x00Concat\x00r[P3]=r[P2]+r[P1]\x00\x00\x00\x00Last\x00\x00\x00\x00BitNot\x00r[P1]= ~r[P1]\x00\x00\x00\x00IfSmaller\x00\x00\x00SorterSort\x00\x00Sort\x00\x00\x00\x00Rewind\x00\x00IdxLE\x00key=r[P3@P4]\x00\x00IdxGT\x00key=r[P3@P4]\x00\x00IdxLT\x00key=r[P3@P4]\x00\x00IdxGE\x00key=r[P3@P4]\x00\x00RowSetRead\x00r[P3]=rowset(P1)\x00RowSetTest\x00if r[P3] in rowset(P1) goto P2\x00\x00\x00Program\x00\x00\x00\x00\x00FkIfZero\x00if fkctr[P1]==0 goto P2\x00\x00\x00\x00IfPos\x00if r[P1]>0 then r[P1]-=P3, goto P2\x00\x00\x00\x00IfNotZero\x00if r[P1]!=0 then r[P1]--, goto P2\x00DecrJumpZero\x00if (--r[P1])==0 goto P2\x00\x00\x00\x00IncrVacuum\x00\x00VNext\x00\x00\x00Init\x00Start at P2\x00\x00\x00\x00Return\x00\x00EndCoroutine\x00\x00\x00\x00HaltIfNull\x00if r[P3]=null halt\x00\x00\x00Halt\x00\x00\x00\x00Integer\x00r[P2]=P1\x00\x00\x00\x00Int64\x00r[P2]=P4\x00\x00String\x00r[P2]='P4' (len=P1)\x00\x00Null\x00r[P2..P3]=NULL\x00SoftNull\x00r[P1]=NULL\x00Blob\x00r[P2]=P4 (len=P1)\x00\x00Variable\x00r[P2]=parameter(P1,P4)\x00Move\x00r[P2@P3]=r[P1@P3]\x00\x00Copy\x00r[P2@P3+1]=r[P1@P3+1]\x00\x00SCopy\x00r[P2]=r[P1]\x00\x00\x00IntCopy\x00r[P2]=r[P1]\x00ResultRow\x00output=r[P1@P2]\x00\x00\x00CollSeq\x00\x00\x00\x00\x00Function0\x00r[P3]=func(r[P2@P5])\x00\x00Function\x00r[P3]=func(r[P2@P5])\x00\x00\x00AddImm\x00r[P1]=r[P1]+P2\x00\x00\x00RealAffinity\x00\x00\x00\x00Cast\x00affinity(r[P1])\x00\x00\x00\x00Permutation\x00\x00\x00\x00\x00Compare\x00r[P1@P3] <-> r[P2@P3]\x00\x00\x00String8\x00r[P2]='P4'\x00\x00Column\x00r[P3]=PX\x00Affinity\x00affinity(r[P1@P2])\x00MakeRecord\x00r[P3]=mkrec(r[P1@P2])\x00\x00\x00\x00Count\x00r[P2]=count()\x00ReadCookie\x00\x00SetCookie\x00\x00\x00ReopenIdx\x00root=P2 iDb=P3\x00\x00\x00\x00OpenRead\x00root=P2 iDb=P3\x00OpenWrite\x00root=P2 iDb=P3\x00\x00\x00\x00OpenAutoindex\x00nColumn=P2\x00\x00\x00\x00OpenEphemeral\x00nColumn=P2\x00\x00\x00\x00SorterOpen\x00\x00SequenceTest\x00if( cursor[P1].ctr++ ) pc = P2\x00OpenPseudo\x00P3 columns in r[P2]\x00\x00Close\x00\x00\x00ColumnsUsed\x00\x00\x00\x00\x00Sequence\x00r[P2]=cursor[P1].ctr++\x00NewRowid\x00r[P2]=rowid\x00\x00\x00\x00Insert\x00intkey=r[P3] data=r[P2]\x00\x00InsertInt\x00intkey=P3 data=r[P2]\x00\x00Delete\x00\x00ResetCount\x00\x00SorterCompare\x00if key(P1)!=trim(r[P3],P4) goto P2\x00\x00\x00\x00SorterData\x00r[P2]=data\x00\x00\x00RowData\x00r[P2]=data\x00\x00Rowid\x00r[P2]=rowid\x00\x00\x00NullRow\x00\x00\x00\x00\x00SorterInsert\x00key=r[P2]\x00\x00IdxInsert\x00key=r[P2]\x00IdxDelete\x00key=r[P2@P3]\x00\x00Seek\x00Move P3 to P1.rowid\x00\x00\x00\x00IdxRowid\x00r[P2]=rowid\x00\x00\x00\x00Destroy\x00\x00\x00\x00\x00Clear\x00\x00\x00Real\x00r[P2]=P4\x00\x00\x00ResetSorter\x00\x00\x00\x00\x00CreateIndex\x00r[P2]=root iDb=P1\x00\x00\x00CreateTable\x00r[P2]=root iDb=P1\x00\x00\x00SqlExec\x00\x00\x00\x00\x00ParseSchema\x00\x00\x00\x00\x00LoadAnalysis\x00\x00\x00\x00DropTable\x00\x00\x00DropIndex\x00\x00\x00DropTrigger\x00\x00\x00\x00\x00IntegrityCk\x00\x00\x00\x00\x00RowSetAdd\x00rowset(P1)=r[P2]\x00\x00Param\x00\x00\x00FkCounter\x00fkctr[P1]+=P2\x00MemMax\x00r[P1]=max(r[P1],r[P2])\x00\x00\x00OffsetLimit\x00if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)\x00\x00\x00\x00AggStep0\x00accum=r[P3] step(r[P2@P5])\x00AggStep\x00accum=r[P3] step(r[P2@P5])\x00\x00AggFinal\x00accum=r[P1] N=P2\x00\x00\x00Expire\x00\x00TableLock\x00iDb=P1 root=P2 write=P3\x00\x00\x00VBegin\x00\x00VCreate\x00\x00\x00\x00\x00VDestroy\x00\x00\x00\x00VOpen\x00\x00\x00VColumn\x00r[P3]=vcolumn(P2)\x00\x00\x00VRename\x00\x00\x00\x00\x00Pagecount\x00\x00\x00MaxPgcnt\x00\x00\x00\x00CursorHint\x00\x00Noop\x00\x00\x00\x00Explain\x00\x00\x00\x00\x00%4d %-13s %4d %4d %4d %-13s %.2X %s\x0a\x00\x00\x00\x00p->iAddr<nOp\x00\x00\x00\x00opIterNext\x00\x00(addr>=0 && addr<p->nOp) || p->db->mallocFailed\x00sqlite3VdbeGetOp\x00\x00\x00\x00i>=0 && i<p->db->nDb && i<(int)sizeof(yDbMask)*8\x00\x00\x00\x00i<(int)sizeof(p->btreeMask)*8\x00\x00\x00sqlite3VdbeUsesBtree\x00\x00\x00\x00p->nOp>0 || p->db->mallocFailed\x00sqlite3VdbeChangeP5\x00p->nOp>0 || p->aOp==0\x00\x00\x00p->aOp==0 || p->aOp[p->nOp-1].zComment==0 || p->db->mallocFailed\x00\x00\x00\x00p->aOp\x00\x00vdbeVComment\x00\x00\x00\x00sqlite3GetVTable\x00\x00\x00\x00p->aOp!=0 || db->mallocFailed\x00\x00\x00p->nOp>0\x00\x00\x00\x00addr<p->nOp\x00n<0\x00sqlite3VdbeChangeP4\x00freeP4\x00\x00sqlite3KeyInfoUnref\x00pVdbe!=0\x00\x00\x00\x00codeTableLocks\x00\x00pParse->pTriggerTab==0\x00\x00sqlite3IsToplevel(pParse)\x00\x00\x00v\x00\x00\x00sqlite3SchemaMutexHeld(db, 0, pDb->pSchema)\x00sqlite3AutoincrementBegin\x00\x00\x00!IsVirtual(pTab)\x00\x00\x00\x00opcode==OP_OpenWrite || opcode==OP_OpenRead\x00pPk!=0\x00\x00pPk->tnum==pTab->tnum\x00\x00\x00sqlite3OpenTable\x00\x00\x00\x00iDb>=0\x00\x00sqlite3TableLock\x00\x00\x00\x00v!=0\x00\x00\x00\x00pIdx!=0\x00sqlite3VdbeSetP4KeyInfo\x00sqlite3KeyInfoIsWriteable(pKey)\x00sqlite3KeyInfoOfIndex\x00\x00\x00!p || p->xCmp\x00\x00\x00no such collation sequence: %s\x00\x00!db->xCollNeeded || !db->xCollNeeded16\x00\x00callCollNeeded\x00\x00sqlite3GetCollSeq\x00\x00\x00n!=P4_INT32 && n!=P4_VTAB\x00\x00\x00n<=0\x00\x00\x00\x00pP4!=0\x00\x00pOp->p4type==P4_NOTUSED\x00sqlite3VdbeAppendP4\x00nOp>0\x00\x00\x00aOp->p2>=0\x00\x00sqlite3VdbeAddOpList\x00\x00\x00\x00target>0 && target<=pParse->nMem\x00\x00\x00\x00pParse->pVdbe!=0 || pParse->db->mallocFailed\x00\x00\x00\x00sqlite3ExprCode\x00pParse->db->mallocFailed\x00\x00\x00\x00pCol->iMem>0\x00\x00\x00\x00!ExprHasProperty(pExpr, EP_IntValue)\x00\x00\x00\x00pExpr->u.zToken[0]=='x' || pExpr->u.zToken[0]=='X'\x00\x00pExpr->u.zToken[1]=='\\''\x00\x00\x00\x00z[n]=='\\''\x00\x00pExpr->u.zToken!=0\x00\x00pExpr->u.zToken[0]!=0\x00\x00\x00pExpr->u.zToken[0]=='?' || strcmp(pExpr->u.zToken, z)==0\x00\x00\x00\x00pLeft\x00\x00\x00misuse of aggregate: %s()\x00\x00\x00!ExprHasProperty(pExpr, EP_xIsSelect)\x00\x00\x00unknown function: %s()\x00\x00nFarg>=2\x00\x00\x00\x00nFarg>=1\x00\x00\x00\x00blob\x00\x00\x00\x00text\x00\x00\x00\x00numeric\x00integer\x00real\x00\x00\x00\x00nFarg==1\x00\x00\x00\x00none\x00\x00\x00\x00pFarg->a[0].pExpr!=0\x00\x00\x00\x00pExpr->iTable==0 || pExpr->pLeft->op==TK_SELECT\x00%d columns assigned %d values\x00\x00\x00pExpr->iTable==0 || pExpr->iTable==1\x00\x00\x00\x00pExpr->iColumn>=-1 && pExpr->iColumn<pTab->nCol\x00pTab->iPKey<0 || pExpr->iColumn!=pTab->iPKey\x00\x00\x00\x00p1>=0 && p1<(pTab->nCol*2+2)\x00\x00\x00\x00%s.%s -> $%d\x00\x00\x00\x00new\x00old\x00row value misused\x00\x00\x00op==TK_CASE\x00!ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList\x00pExpr->x.pList->nExpr > 0\x00\x00\x00pTest!=0\x00\x00\x00\x00pParse->db->mallocFailed || pParse->nErr>0 || pParse->iCacheLevel==iCacheLevel\x00\x00pExpr->affinity==OE_Rollback || pExpr->affinity==OE_Abort || pExpr->affinity==OE_Fail || pExpr->affinity==OE_Ignore\x00RAISE() may only be used within a trigger-program\x00\x00\x00sqlite3ExprCodeTarget\x00\x00\x00sqlite3ExprCodeGetColumn\x00\x00\x00\x00pTab!=0\x00i<pTab->nCol\x00\x00\x00\x00sqlite3ColumnDefault\x00\x00\x00\x00pExpr!=0\x00\x00\x00\x00(pExpr->flags & EP_TokenOnly)==0 || pCtx==0\x00zVal[nVal]=='\\''\x00\x00\x00\x00*ppVal==0\x00\x00\x00pCtx==0\x00valueFromExpr\x00\x00\x00zIn!=0\x00\x00sqlite3AffinityType\x00(h>='0' && h<='9') || (h>='a' && h<='f') || (h>='A' && h<='F')\x00\x00sqlite3HexToInt\x00pMem->flags & MEM_Str || pMem->db->mallocFailed\x00aff==SQLITE_AFF_TEXT\x00\x00\x00\x00affinity==SQLITE_AFF_INTEGER || affinity==SQLITE_AFF_REAL || affinity==SQLITE_AFF_NUMERIC\x00\x00\x00applyAffinity\x00\x00\x00(pRec->flags & (MEM_Str|MEM_Int|MEM_Real))==MEM_Str\x00applyNumericAffinity\x00\x00\x00\x00pMem->flags & MEM_Real\x00\x00sqlite3VdbeIntegerAffinity\x00\x00sqlite3VdbeMemCast\x00\x00(pMem->flags & (MEM_Blob|MEM_Str))!=0\x00\x00\x00(pMem->flags & (MEM_Int|MEM_Real|MEM_Null))!=0\x00\x00sqlite3VdbeMemNumerify\x00\x00sqlite3VdbeMemIntegerify\x00\x00\x00\x00sqlite3VdbeMemRealify\x00\x00\x00iReg>0 || pParse->nErr || pParse->db->mallocFailed\x00\x00iCol>=-1 && iCol<32768\x00\x00p->iTable!=iTab || p->iColumn!=iCol\x00sqlite3ExprCacheStore\x00\x00\x00i>=0\x00\x00\x00\x00z!=0\x00\x00\x00\x000x\x00\x00hex literal too big: %s%s\x00\x00\x00codeInteger\x00!sqlite3IsNaN(value)\x00\x00\x00\x00codeReal\x00\x00\x00\x00pExpr->op==TK_EQ || pExpr->op==TK_NE || pExpr->op==TK_IS || pExpr->op==TK_ISNOT || pExpr->op==TK_LT || pExpr->op==TK_GT || pExpr->op==TK_LE || pExpr->op==TK_GE\x00pExpr->op==op || (pExpr->op==TK_IS && op==TK_EQ) || (pExpr->op==TK_ISNOT && op==TK_NE)\x00\x00p5==0 || pExpr->op!=op\x00\x00p5==SQLITE_NULLEQ || pExpr->op==op\x00\x00i>=0 && i<nLeft\x00op==TK_LT || op==TK_GT || op==TK_LE || op==TK_GE\x00\x00\x00\x00v->magic==VDBE_MAGIC_INIT\x00\x00\x00sqlite3VdbeMakeLabel\x00\x00\x00\x00codeVectorCompare\x00\x00\x00EXECUTE %s%s SUBQUERY %d\x00\x00\x00\x00CORRELATED \x00LIST\x00\x00\x00\x00SCALAR\x00\x00!isRowid || nVal==1\x00!isRowid\x00\x00\x00\x00pKeyInfo!=0\x00pEList!=0\x00\x00\x00pEList->nExpr>0\x00sqlite3KeyInfoIsWriteable(pKeyInfo)\x00pExpr->op==TK_EXISTS || pExpr->op==TK_SELECT\x00\x00\x00\x00ExprHasProperty(pExpr, EP_xIsSelect)\x00\x00\x00\x00Init subquery result\x00\x00\x00\x00Init EXISTS result\x00\x00sqlite3CodeSubselect\x00\x00\x00\x00PUSH to %d\x0a\x00pExpr->op==TK_IN\x00\x00\x00\x00exprINAffinity\x00\x00i<sqlite3ExprVectorSize(pVector)\x00\x00\x00\x00pVector->op2==0 || pVector->op==TK_REGISTER\x00sqlite3VectorFieldSubexpr\x00\x00\x00pExpr->flags&EP_xIsSelect\x00\x00\x00pExpr->pLeft->flags&EP_xIsSelect\x00\x00\x00\x00pExpr->x.pList->nExpr>0\x00pExpr->op==TK_FUNCTION\x00\x00pExpr->op==TK_COLLATE\x00\x00\x00sqlite3ExprSkipCollate\x00\x00sqlite3ExprAffinity\x00iCol<pTab->nCol\x00sqlite3TableColumnAffinity\x00\x00aff1==0 || aff2==0\x00\x00sqlite3CompareAffinity\x00\x00%*s%s.%p: \x00\x00begin processing:\x0a\x00\x00p->pOrderBy==0 || pDest->eDest!=SRT_DistFifo\x00\x00\x00\x00p->pOrderBy==0 || pDest->eDest!=SRT_Fifo\x00\x00\x00\x00p->pOrderBy==0 || pDest->eDest!=SRT_DistQueue\x00\x00\x00p->pOrderBy==0 || pDest->eDest!=SRT_Queue\x00\x00\x00pDest->eDest==SRT_Exists || pDest->eDest==SRT_Union || pDest->eDest==SRT_Except || pDest->eDest==SRT_Discard || pDest->eDest==SRT_Queue || pDest->eDest==SRT_DistFifo || pDest->eDest==SRT_DistQueue || pDest->eDest==SRT_Fifo\x00\x00p->pEList!=0\x00\x00\x00\x00after name resolution:\x0a\x00expected %d columns for '%s' but got %d\x00end compound-select processing\x0a\x00After WHERE-clause push-down:\x0a\x00\x00pItem->addrFillSub==0\x00\x00\x00materialize \"%s\"\x00\x00\x00\x00end %s\x00\x00After all FROM-clause analysis:\x0a\x00\x00\x00\x00sDistinct.isTnct\x00\x00\x00\x00Transform DISTINCT into GROUP BY:\x0a\x00\x0066==sqlite3LogEst(100)\x00\x000==sqlite3LogEst(1)\x00!ExprHasProperty(sAggInfo.aFunc[i].pExpr, EP_xIsSelect)\x00clear abort flag\x00\x00\x00\x00indicate accumulator empty\x00\x00GROUP BY\x00\x00\x00\x00GROUP BY sort\x00\x00\x00output one row\x00\x00check abort flag\x00\x00\x00\x00reset accumulator\x00\x00\x00indicate data in accumulator\x00\x00\x00\x00output final row\x00\x00\x00\x00set abort flag\x00\x00Groupby result generator entry point\x00\x00\x00\x00end groupby result generator\x00\x00\x00\x00p->pGroupBy==0\x00\x00flag==0\x00flag==0 || (pMinMax!=0 && pMinMax->nExpr==1)\x00\x00\x00\x00db->mallocFailed || pMinMax!=0\x00\x00pMinMax==0 || pMinMax->nExpr==1\x00%s() by index\x00\x00\x00RIGHT PART OF ORDER BY\x00\x00ORDER BY\x00\x00\x00\x00end processing\x0a\x00authorizer malfunction\x00\x00nil-SELECT\x00\x00SELECT%s%s (0x%p) selFlags=0x%x nSelectRow=%d\x00\x00\x00 DISTINCT\x00\x00\x00 agg_flag\x00\x00\x00result-set\x00\x00{%d,*}\x00\x00 %s.%s\x00\x00 %s\x00 tabname=%Q\x00 (AS %s)\x00\x00\x00\x00 LEFT-JOIN\x00\x00func-args:\x00\x00GROUPBY\x00ORDERBY\x00UNION ALL\x00\x00\x00| \x00\x00\x00\x00 \x00\x00\x00\x00|-- \x00\x00\x00\x00'-- \x00\x00\x00\x00acc.nChar>0\x00sqlite3TreeViewLine\x00moreToFollow==0 || moreToFollow==1\x00\x00sqlite3TreeViewPush\x00WITH (0x%p, pOuter=0x%p)\x00\x00\x00\x00WITH (0x%p)\x00 AS\x00%s (empty)\x00\x00iOrderByCol=%d\x00\x00nil\x00 flags=0x%x\x00\x00\x00\x00AGG{%d:%d}%s\x00\x00\x00\x00COLUMN(%d)%s\x00\x00\x00\x00{%d:%d}%s\x00\x00\x00%Q\x00\x00VARIABLE(%s,%d)\x00REGISTER(%d)\x00\x00\x00\x00ID \"%w\"\x00CAST %Q\x00ISNOT\x00\x00\x00MUL\x00SUB\x00DIV\x00UMINUS\x00\x00UPLUS\x00\x00\x00SPAN %Q\x00COLLATE %Q\x00\x00AGG_FUNCTION%d %Q\x00\x00\x00FUNCTION %Q\x00EXISTS-expr\x00SELECT-expr\x00NEW\x00OLD\x00unk\x00rollback\x00\x00\x00\x00abort\x00\x00\x00fail\x00\x00\x00\x00ignore\x00\x00RAISE %s(%Q)\x00\x00\x00\x00MATCH {%d:%d}%s\x00VECTOR\x00\x00SELECT-COLUMN %d\x00\x00\x00\x00op=%d\x00\x00\x00sqlite3Select\x00\x00\x00sqlite3SelectPrep\x00\x00\x00(p->selFlags & SF_Converted)==0\x00pNew->pPrior!=0\x00a JOIN clause is required before %s\x00pAlias!=0\x00\x00\x00p==0\x00\x00\x00\x00pDatabase==0 || pTable!=0\x00\x00\x00sqlite3SrcListAppend\x00\x00\x00\x00iStart>=0\x00\x00\x00nExtra>=1\x00\x00\x00pSrc!=0\x00iStart<=pSrc->nSrc\x00\x00db->mallocFailed\x00\x00\x00\x00sqlite3SrcListEnlarge\x00\x00\x00sqlite3SrcListAppendFromTerm\x00\x00\x00\x00pList->nExpr>0\x00\x00pList->a!=0\x00sqlite3ExprListAppend\x00\x00\x00iValue>=0\x00\x00\x00pToken->z!=0 || pToken->n==0\x00\x00\x00\x00sqlite3ExprAlloc\x00\x00\x00\x00convertCompoundSelectToSubquery\x00sqlite3WalkSelectFrom\x00\x00\x00pFrom->fg.isRecursive==0 || pFrom->pTab!=0\x00\x00pFrom->pTab==0\x00\x00pSel!=0\x00sqlite_sq_%p\x00\x00\x00\x00200==sqlite3LogEst(1048576)\x00too many references to \"%s\": max 65535\x00\x00pFrom->pSelect==0\x00\x00\x00pE->op!=TK_DOT || pE->pRight!=0\x00pE->op!=TK_DOT || (pE->pLeft!=0 && pE->pLeft->op==TK_ID)\x00\x00\x00\x00pE->op!=TK_DOT || pRight!=0\x00pE->pLeft!=0\x00\x00\x00\x00!ExprHasProperty(pE->pLeft, EP_IntValue)\x00\x00\x00\x00*\x00\x00\x00zName\x00\x00\x00%s.%s.%s\x00\x00\x00\x00no such table: %s\x00\x00\x00no tables specified\x00too many columns in result set\x00\x00selectExpander\x00\x00bFree==0 || (pParse->pWith==0 && pParse->pWithToFree==0)\x00\x00\x00\x00pParse->pWith!=pWith\x00\x00\x00\x00sqlite3WithPush\x00pList || pParse->db->mallocFailed\x00\x00\x00sqlite3SrcListAssignCursors\x00pFrom->pSelect\x00\x00multiple references to recursive table: %s\x00\x00pTab->nTabRef==1 || ((pSel->selFlags&SF_Recursive) && pTab->nTabRef==2 )\x00\x00\x00\x00circular reference: %s\x00\x00pPrior->pWith==0\x00\x00\x00\x00table %s has %d values for %d columns\x00\x00\x00multiple recursive references: %s\x00\x00\x00recursive reference in a subquery: %s\x00\x00\x00withExpand\x00\x00'%s' is not a function\x00\x00sqlite3SelectDup\x00\x00\x00\x00pNewExpr->iColumn==0 || i>0\x00pOldExpr->pLeft==pOldExpr->pRight\x00\x00\x00pItem[-1].pExpr!=0\x00\x00pNewExpr->iColumn==pItem[-1].pExpr->iColumn+1\x00\x00\x00pPriorSelectCol==pItem[-1].pExpr->pLeft\x00sqlite3ExprListDup\x00\x00flags==0 || flags==EXPRDUP_REDUCE\x00\x00\x00sqlite3ExprDup\x00\x00dupFlags==0 || dupFlags==EXPRDUP_REDUCE\x00pzBuffer==0 || dupFlags==EXPRDUP_REDUCE\x00ExprHasProperty(p, EP_Reduced)==0\x00\x00\x00p->iColumn==0 || p->pRight==0\x00\x00\x00p->pRight==0 || p->pRight==p->pLeft\x00exprDup\x00flags==EXPRDUP_REDUCE || flags==0\x00\x00\x00!ExprHasProperty(p, EP_TokenOnly|EP_Reduced)\x00\x00\x00\x00!ExprHasProperty(p, EP_FromJoin)\x00\x00\x00\x00!ExprHasProperty(p, EP_MemToken)\x00\x00\x00\x00!ExprHasProperty(p, EP_NoReduce)\x00\x00\x00\x00dupedExprStructSize\x00sqlite3SrcListDup\x00\x00\x00sqlite3IdListDup\x00\x00\x00\x00nCol==(i16)nCol\x00pColExpr!=0\x00!ExprHasProperty(pColExpr, EP_IntValue)\x00%.*z:%u\x00sqlite3ColumnsFromExprList\x00\x00p->pSchema==0 || p->zDatabase==0\x00\x00\x00\x00sqlite3LocateTableItem\x00\x00no such view\x00\x00\x00\x00no such table\x00\x00\x00pragma_\x00%s: %s.%s\x00\x00\x00%s: %s\x00\x00sqlite3ReadSchema\x00\x00\x00sqlite3BtreeHoldsMutex(db->aDb[0].pBt)\x00\x00db->init.busy==0\x00\x00\x00\x00db->nDb>1\x00\x00\x00sqlite3Init\x00db->aDb[iDb].pSchema\x00\x00\x00\x00iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt)\x00\x00sqlite_temp_master\x00\x00sqlite_master\x00\x00\x001\x00\x00\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage integer,sql text)\x00attached databases must use the same text encoding as main database\x00unsupported file format\x00db->init.busy\x00\x00\x00SELECT name, rootpage, sql FROM \"%w\".%s ORDER BY rowid\x00\x00sqlite3InitOne\x00\x00argc==3\x00create \x00(rc&0xFF)==(rcp&0xFF)\x00\x00\x00saved_iDb==0 || (db->flags & SQLITE_Vacuum)!=0\x00\x00iDb==1\x00\x00invalid rootpage\x00\x00\x00\x00sqlite3InitCallback\x00?\x00\x00\x00malformed database schema (%s)\x00\x00%z - %s\x00rc==SQLITE_OK || ppStmt==0 || *ppStmt==0\x00\x00\x00\x00rc==SQLITE_OK || *ppStmt==0\x00ppStmt && *ppStmt==0\x00\x00\x00\x00sqlite3BtreeHoldsMutex(pBt)\x00database schema is locked: %s\x00\x00\x00statement too long\x00\x000==sParse.nQueryLoop\x00\x00\x00\x00!(*ppStmt)\x00\x00(rc&db->errMask)==rc\x00\x00\x00\x00sqlite3Prepare\x00\x00rc==SQLITE_OK || rc==SQLITE_LOCKED_SHAREDCACHE\x00\x00sqlite3BtreeSchemaLocked\x00\x00\x00\x00eLock==READ_LOCK || eLock==WRITE_LOCK\x00\x00\x00!(p->db->flags&SQLITE_ReadUncommitted)||eLock==WRITE_LOCK||iTab==1\x00\x00eLock==READ_LOCK || (p==pBt->pWriter && p->inTrans==TRANS_WRITE)\x00\x00\x00\x00eLock==READ_LOCK || pBt->inTransaction==TRANS_WRITE\x00pIter->eLock==READ_LOCK || pIter->eLock==WRITE_LOCK\x00eLock==READ_LOCK || pIter->pBtree==p || pIter->eLock==READ_LOCK\x00p==pBt->pWriter\x00querySharedCacheTableLock\x00\x00\x00pParse->checkSchema\x00sqlite3SchemaMutexHeld(db, iDb, 0)\x00\x00schemaIsValid\x00\x00\x00sqlite3BtreeIsInReadTrans\x00\x00\x00pBt->inTransaction==TRANS_WRITE || IfNotOmitAV(pBt->bDoTruncate)==0\x00p->lock.pBtree==p && p->lock.iTable==1\x00\x00!pBt->pWriter\x00\x00\x00sqlite3BtreeBeginTrans\x00\x00pBt->pPage1==0\x00\x00@ \x00(pageSize & 7)==0\x00\x00\x00pBt->maxLeaf + 23 <= MX_CELL_SIZE(pBt)\x00\x00lockBtree\x00\x00\x00sqlite3PcacheRefCount(pPager->pPCache)==0\x00\x00\x00pPager->eState==PAGER_OPEN || pPager->eState==PAGER_READER\x00\x00pPager->tempFile==0 || pPager->eLock==EXCLUSIVE_LOCK\x00\x00\x00\x00pPager->eLock==NO_LOCK || pPager->eLock==UNKNOWN_LOCK\x00\x00\x00!pPager->tempFile\x00\x00\x00pPager->eState==PAGER_OPEN\x00\x00(pPager->eLock==SHARED_LOCK) || (pPager->exclusiveMode && pPager->eLock>SHARED_LOCK)\x00\x00\x00\x00pPager->pWal==0 || rc==SQLITE_OK\x00\x00\x00\x00sqlite3PagerSharedLock\x00\x00(pPager->eLock>=locktype) || (pPager->eLock==NO_LOCK && locktype==SHARED_LOCK) || (pPager->eLock==RESERVED_LOCK && locktype==EXCLUSIVE_LOCK)\x00\x00\x00\x00pager_wait_on_lock\x00\x00eLock==SHARED_LOCK || eLock==RESERVED_LOCK || eLock==EXCLUSIVE_LOCK\x00pagerLockDb\x00jrnlOpen==0 || ( sqlite3OsDeviceCharacteristics(pPager->jfd) & SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN )\x00hasHotJournal\x00\x00\x00pPager->eLock>=SHARED_LOCK\x00\x00pagerPagecount\x00\x00sqlite3WalDbsize\x00\x00\x00\x00pagerOpenWalIfPresent\x00\x00\x00pPager->eState==PAGER_OPEN || pbOpen\x00\x00\x00\x00pPager->eState==PAGER_READER || !pbOpen\x00pbOpen==0 || *pbOpen==0\x00pbOpen!=0 || (!pPager->tempFile && !pPager->pWal)\x00\x00\x00sqlite3PagerOpenWal\x00pPager->pWal==0 && pPager->tempFile==0\x00\x00pPager->eLock==SHARED_LOCK || pPager->eLock==EXCLUSIVE_LOCK\x00pagerOpenWal\x00\x00\x00\x00pagerExclusiveLock\x00\x00zWalName && zWalName[0]\x00pDbFd\x00\x00\x00sqlite3WalOpen\x00\x00pagerBeginReadTransaction\x00\x00\x00pWal->readLock<0\x00\x00\x00\x00thisMark!=READMARK_NOT_USED\x00rc==SQLITE_BUSY || (pWal->readOnly & WAL_SHM_RDONLY)!=0\x00mxReadMark<=pWal->hdr.mxFrame\x00\x00\x00walTryBeginRead\x00SQLite format 3\x00pPager->eState>=PAGER_READER && pPager->eState<PAGER_ERROR\x00\x00rc==SQLITE_OK || pPager->eState==PAGER_READER\x00\x00\x00rc!=SQLITE_OK || pPager->eState==PAGER_WRITER_LOCKED\x00\x00\x00\x00sqlite3PagerBegin\x00\x00\x00pWal->writeLock==0 && pWal->iReCksum==0\x00sqlite3WalBeginWriteTransaction\x00pP1!=0\x00\x00pBt->usableSize<=pBt->pageSize && pBt->usableSize+255>=pBt->pageSize\x00\x00\x00\x00pBt->autoVacuum==1 || pBt->autoVacuum==0\x00\x00\x00\x00pBt->incrVacuum==1 || pBt->incrVacuum==0\x00\x00\x00\x00newDatabase\x00sqlite3PagerPagenumber(pPage->pDbPage)==pPage->pgno\x00sqlite3PagerGetData(pPage->pDbPage) == data\x00sqlite3PagerIswriteable(pPage->pDbPage)\x00pBt->pageSize>=512 && pBt->pageSize<=65536\x00\x00zeroPage\x00\x00\x00\x00pPage->hdrOffset==(pPage->pgno==1 ? 100 : 0)\x00\x00\x00\x00decodeFlags\x00nSize==debuginfo.nSize || CORRUPT_DB\x00\x00\x00\x00cellSizePtr\x00pPage->leaf==0 || pPage->leaf==1\x00\x00\x00\x00pPage->intKeyLeaf\x00\x00\x00pPage->childPtrSize==0\x00\x00btreeParseCellPtr\x00\x00\x00pPage->childPtrSize==4\x00\x00debuginfo.nSize==(u16)(pIter - pCell) || CORRUPT_DB\x00cellSizePtrNoPayload\x00\x00\x00\x00pPage->leaf==0\x00\x00btreeParseCellPtrNoPayload\x00\x00pPage->intKeyLeaf==0\x00\x00\x00\x00btreeParseCellPtrIndex\x00\x00pBt->db\x00sqlite3_mutex_held(pBt->db->mutex)\x00\x00btreeInvokeBusyHandler\x00\x00sqlite3InvokeBusyHandler\x00\x00\x00\x00sqlite3PagerOpenSavepoint\x00\x00\x00nSavepoint>nCurrent && pPager->useJournal\x00\x00\x00pPager->nSavepoint==nSavepoint\x00\x00pagerOpenSavepoint\x00\x00sqlite3WalSavepoint\x00pPg->flags&PGHDR_DIRTY\x00\x00!subjRequiresPage(pPg) || pPg->pgno<=pPg->pPager->dbSize\x00\x00\x00\x00assertTruncateConstraintCb\x00\x00p->inTrans>TRANS_NONE\x00\x00\x00SQLITE_OK==querySharedCacheTableLock(p, MASTER_ROOT, READ_LOCK)\x00pBt->pPage1\x00idx>=0 && idx<=15\x00\x00\x00sqlite3BtreeGetMeta\x00pPager->eState>PAGER_OPEN\x00\x00\x00sqlite3PagerDataVersion\x00iDb<db->nDb\x00pDb->pSchema!=0\x00sqlite3ResetOneSchema\x00\x00\x00pBt->autoVacuum\x00nRef>=sqlite3PagerRefcount(pPager)\x00\x00autoVacuumCommit\x00\x00\x00\x00invalidateAllOverflowCache\x00\x00iLastPg>nFin\x00\x00\x00\x00iFreePg==iLastPg\x00\x00\x00\x00iFreePg<iLastPg\x00incrVacuumStep\x00\x00eMode==BTALLOC_ANY || (nearby>0 && IfNotOmitAV(pBt->autoVacuum))\x00\x00\x00\x00nearby>0\x00\x00\x00\x00pTrunk!=0\x00\x00\x00pTrunk->aData!=0\x00\x00\x00\x00pPrevTrunk==0\x00\x00\x00sqlite3PagerIswriteable(pPage1->pDbPage)\x00\x00\x00\x00pBt->nPage!=PENDING_BYTE_PAGE(pBt)\x00\x00*pPgno!=PENDING_BYTE_PAGE(pBt)\x00\x00rc!=SQLITE_OK || sqlite3PagerPageRefcount((*ppPage)->pDbPage)<=1\x00\x00\x00\x00rc!=SQLITE_OK || (*ppPage)->isInit==0\x00\x00\x00allocateBtreePage\x00\x00\x00eType==PTRMAP_OVERFLOW2 || eType==PTRMAP_OVERFLOW1 || eType==PTRMAP_BTREE || eType==PTRMAP_ROOTPAGE\x00pDbPage->pBt==pBt\x00\x00\x00relocatePage\x00\x00\x00\x00pPg->nRef>0\x00pPager->eState==PAGER_WRITER_CACHEMOD || pPager->eState==PAGER_WRITER_DBMOD\x00pPager->tempFile || !MEMDB\x00\x00pPager->journalMode==PAGER_JOURNALMODE_OFF || pageInJournal(pPager, pPg) || pPg->pgno>pPager->dbOrigSize\x00\x00\x00\x00!pPgOld || pPgOld->nRef==1\x00\x00pPager->pTmpSpace!=0\x00\x00\x00\x00sqlite3PagerMovepage\x00\x00\x00\x00newPgno>0\x00\x00\x00sqlite3PcacheMove\x00\x00\x00sqlite3BitvecClear\x00\x00setChildPtrmaps\x00pPage->pBt!=0\x00\x00\x00pPage->pBt->db!=0\x00\x00\x00pPage->pgno==sqlite3PagerPagenumber(pPage->pDbPage)\x00pPage == sqlite3PagerGetExtra(pPage->pDbPage)\x00\x00\x00pPage->aData == sqlite3PagerGetData(pPage->pDbPage)\x00pPage->nCell>0 || top==usableSize || CORRUPT_DB\x00btreeInitPage\x00\x00\x00pCell!=0\x00\x00\x00\x00ptrmapPutOvflPtr\x00\x00\x00\x000==PTRMAP_ISPAGE(pBt, PENDING_BYTE_PAGE(pBt))\x00\x00\x00ptrmapPut\x00\x00\x00modifyPagePointer\x00\x00\x00pPager->dbSize>=nPage\x00\x00\x00sqlite3PagerTruncateImage\x00\x00\x00pPager->eState==PAGER_WRITER_LOCKED || pPager->eState==PAGER_WRITER_CACHEMOD || pPager->eState==PAGER_WRITER_DBMOD || pPager->eState==PAGER_ERROR\x00\x00\x00MEMDB==0 || pPager->tempFile\x00\x00\x00\x00rc!=SQLITE_IOERR_BLOCKED\x00\x00\x00\x00pPager->eState==PAGER_WRITER_DBMOD\x00\x00sqlite3PagerCommitPhaseOne\x00\x00pPager->pWal\x00\x00\x00\x00pList\x00\x00\x00p->pgno < p->pDirty->pgno\x00\x00\x00pList->pDirty==0 || isCommit\x00\x00\x00\x00pagerWalFrames\x00\x00(isCommit!=0)==(nTruncate!=0)\x00\x00\x00(int)pWal->szPage==szPage\x00\x00\x00rc==SQLITE_OK || iWrite==0\x00\x00iOffset==walFrameOffset(iFrame, szPage)\x00sqlite3WalFrames\x00\x00\x00\x00(rc&0xff)!=SQLITE_BUSY\x00\x00walRestartLog\x00\x00\x00p->syncFlags & (SQLITE_SYNC_NORMAL|SQLITE_SYNC_FULL)\x00\x00\x00\x00walWriteToLog\x00\x00\x00pWal->iReCksum>0\x00\x00\x00\x00walRewriteChecksums\x00isDirectMode==0\x00!pPager->tempFile && isOpen(pPager->fd)\x00pPgHdr==0 || rc==SQLITE_OK\x00\x00pager_incr_changecounter\x00\x00\x00\x00writeMasterJournal\x00\x00syncJournal\x00pPager->eState==PAGER_WRITER_CACHEMOD || pPager->eState==PAGER_WRITER_DBMOD || pPager->eState==PAGER_WRITER_LOCKED\x00\x00sqlite3PagerExclusiveLock\x00\x00\x00pPager->tempFile || pPager->eState==PAGER_WRITER_DBMOD\x00\x00isOpen(pPager->fd) || pList->pDirty==0\x00\x00pPager->tempFile && rc==SQLITE_OK\x00\x00\x00rc!=SQLITE_OK || isOpen(pPager->fd)\x00(pList->flags&PGHDR_NEED_SYNC)==0\x00\x00\x00pager_write_pagelist\x00\x00\x00\x00rc!=SQLITE_OK || isOpen(pFile)\x00\x00pagerOpentemp\x00\x00\x00pBt->inTransaction==TRANS_WRITE\x00pBt->nTransaction>0\x00sqlite3BtreeCommitPhaseTwo\x00\x00pPager->eState==PAGER_WRITER_LOCKED || pPager->eState==PAGER_WRITER_FINISHED || (pagerUseWal(pPager) && pPager->eState==PAGER_WRITER_CACHEMOD)\x00\x00pPager->journalOff==JOURNAL_HDR_SZ(pPager) || !pPager->journalOff\x00\x00\x00sqlite3PagerCommitPhaseTwo\x00\x00(&p[1])==pEnd || p[0].db==p[1].db\x00\x00\x00releaseMemArray\x00idx<p->nResColumn\x00\x00\x00var<COLNAME_N\x00\x00\x00!zName || xDel!=SQLITE_DYNAMIC\x00\x00p->aColName!=0\x00\x00rc!=0 || !zName || (pColName->flags&MEM_Term)!=0\x00\x00\x00\x00sqlite3VdbeSetColName\x00\x00\x00addr\x00\x00\x00\x00opcode\x00\x00p1\x00\x00p2\x00\x00p3\x00\x00p4\x00\x00p5\x00\x00comment\x00selectid\x00\x00\x00\x00order\x00\x00\x00detail\x00\x00isPrepareV2==1 || isPrepareV2==0\x00\x00\x00\x00p->zSql==0\x00\x00sqlite3VdbeSetSql\x00\x00\x00(rc & p->db->errMask)==rc\x00\x00\x00db->nVdbeActive>=db->nVdbeRead\x00\x00db->nVdbeRead>=db->nVdbeWrite\x00\x00\x00db->nVdbeWrite>=0\x00\x00\x00db->nVdbeActive>0 || db->autoCommit==0 || db->nStatement==0\x00p->nFrame==0\x00\x00\x00\x00p->pAuxData==0\x00\x00pCx->pBtx==0 || pCx->eCurType==CURTYPE_BTREE\x00\x00\x00\x00pCx->uc.pCursor!=0\x00\x00pVCur->pVtab->nRef>0\x00\x00\x00\x00sqlite3VdbeFreeCursor\x00\x00\x00pCsr->eCurType==CURTYPE_SORTER\x00\x00sqlite3VdbeSorterClose\x00\x00pSorter->bUseThreads || pSorter->pReader==0\x00pTask->bDone==1\x00ppOut!=0\x00\x00\x00\x00p->tid==0\x00\x00\x00p->id!=0 && p->id!=GetCurrentThreadId()\x00rc!=WAIT_IO_COMPLETION\x00\x00bRc\x00sqlite3ThreadJoin\x00\x00\x00vdbeSorterJoinThread\x00\x00\x00\x00sqlite3VdbeSorterReset\x00\x00pFile\x00\x00\x00sqlite3OsCloseFree\x00\x00pTask->list.aMemory==0\x00\x00vdbeSortSubtaskCleanup\x00\x00closeAllCursors\x00cnt==db->nVdbeActive\x00\x00\x00\x00nWrite==db->nVdbeWrite\x00\x00nRead==db->nVdbeRead\x00\x00\x00\x00checkActiveVdbeCnt\x00\x00sqlite3VdbeEnter\x00\x00\x00\x00FOREIGN KEY constraint failed\x00\x00\x00sqlite3VdbeHalt\x00vdbeLeave\x00\x00\x00i!=1\x00\x00\x00\x00%s-mjXXXXXX9XXz\x00MJ delete: %s\x00\x00\x00MJ collide: %s\x00\x00-mj%06X9%02X\x00\x00\x00\x00zMaster[sqlite3Strlen30(zMaster)-3]=='9'\x00\x00\x00\x00zFile[0]!=0\x00rc!=SQLITE_BUSY\x00vdbeCommit\x00\x00p->pBt->pPager!=0\x00\x00\x00sqlite3BtreeGetFilename\x00sqlite3BtreeGetJournalname\x00\x00eOp==SAVEPOINT_ROLLBACK || eOp==SAVEPOINT_RELEASE\x00\x00\x00db->nStatement>0\x00\x00\x00\x00p->iStatement==(db->nStatement+db->nSavepoint)\x00\x00vdbeCloseStatement\x00\x00iSavepoint>=0 || (iSavepoint==-1 && op==SAVEPOINT_ROLLBACK)\x00pBt->nPage>0\x00\x00\x00\x00sqlite3BtreeSavepoint\x00\x00\x00op==SAVEPOINT_RELEASE||op==SAVEPOINT_ROLLBACK||op==SAVEPOINT_BEGIN\x00\x00iSavepoint>=-1\x00\x00sqlite3VtabSavepoint\x00\x00\x00\x00sqlite3VdbeSetChanges\x00\x00\x00p->apCsr[i]==0\x00\x00p->aMem[i].flags==MEM_Undefined\x00Cleanup\x00sqlite3VdbeFinalize\x00db->pVdbe==p\x00\x00\x00\x00sqlite3VdbeDelete\x00\x00\x00p->db==0 || p->db==db\x00\x00\x00sqlite3VdbeClearObject\x00\x00db->lookaside.bDisable >= pParse->disableLookaside\x00\x00sqlite3ParserReset\x00\x00p->startTime>0\x00\x00db->xProfile!=0 || (db->mTrace & SQLITE_TRACE_PROFILE)!=0\x00\x00\x00p->zSql!=0\x00\x00invokeProfileCallback\x00\x00\x00sqlite3LockAndPrepare\x00\x00\x00sqlite3_prepare\x00unknown error\x00\x00\x00abort due to ROLLBACK\x00\x00\x00sqlite3ErrStr\x00\x00\x00not an error\x00\x00\x00\x00SQL logic error or missing database\x00access permission denied\x00\x00\x00\x00callback requested query abort\x00\x00database is locked\x00\x00database table is locked\x00\x00\x00\x00out of memory\x00\x00\x00attempt to write a readonly database\x00\x00\x00\x00interrupted\x00disk I/O error\x00\x00database disk image is malformed\x00\x00\x00\x00unknown operation\x00\x00\x00database or disk is full\x00\x00\x00\x00unable to open database file\x00\x00\x00\x00locking protocol\x00\x00\x00\x00table contains no data\x00\x00database schema has changed\x00constraint failed\x00\x00\x00datatype mismatch\x00\x00\x00library routine called out of sequence\x00\x00large file support is disabled\x00\x00authorization denied\x00\x00\x00\x00auxiliary database format error\x00bind or column index out of range\x00\x00\x00file is encrypted or is not a database\x00\x00sqlite3_errmsg\x00\x00zDb!=0 || sqlite3BtreeHoldsAllMutexes(db)\x00\x00\x00pSchema\x00sqlite3SchemaMutexHeld(db, j, 0)\x00\x00\x00\x00sqlite3FindIndex\x00\x00\x00\x00sqlite3BtreeSetCacheSize\x00\x00\x00\x00sqlite3PcacheSetCachesize\x00\x00\x00rc==SQLITE_OK || pStmt==0\x00\x00\x00azCols[i]!=0\x00\x00\x00\x00sqlite3_prepare_v2\x00\x00sqlite3_exec\x00\x00\x00\x00v->expired==0\x00\x00\x00db->nVdbeWrite>0 || db->autoCommit==0 || (db->nDeferredCons==0 && db->nDeferredImmCons==0)\x00\x00p->startTime==0\x00p->rc==SQLITE_OK\x00\x00\x00\x00rc==SQLITE_ROW || rc==SQLITE_DONE || rc==SQLITE_ERROR || (rc&0xff)==SQLITE_BUSY || rc==SQLITE_MISUSE\x00\x00\x00\x00(p->rc!=SQLITE_ROW && p->rc!=SQLITE_DONE) || p->rc==p->rcApp\x00\x00\x00\x00sqlite3Step\x00(rc & (db->errMask))==rc\x00\x00\x00\x00p->magic==VDBE_MAGIC_INIT || p->magic==VDBE_MAGIC_RESET\x00p->aMem[i].db==p->db\x00\x00\x00\x00sqlite3VdbeRewind\x00\x00\x00sqlite3_reset\x00\x00\x00p->explain\x00\x00p->magic==VDBE_MAGIC_RUN\x00\x00\x00\x00p->rc==SQLITE_OK || p->rc==SQLITE_BUSY || p->rc==SQLITE_NOMEM\x00\x00\x00p->nMem>9\x00\x00\x00pMem->z!=0\x00\x00p->db->mallocFailed\x00%.2x\x00\x00\x00\x00sqlite3VdbeList\x00p->rc==SQLITE_OK || (p->rc&0xff)==SQLITE_BUSY\x00\x00\x00p->bIsReader || p->readOnly!=0\x00\x00p->explain==0\x00\x00\x000 < db->nProgressOps\x00\x00\x00\x00VDBE Program Listing:\x0a\x00\x00VDBE Query Plan:\x0a\x00\x00\x00%s\x0a\x00VDBE Trace:\x0a\x00\x00\x00\x00pOp>=aOp && pOp<&aOp[p->nOp]\x00\x00\x00\x00pOp->p1>0\x00\x00\x00pOp->p1<=(p->nMem+1 - p->nCursor)\x00\x00\x00memIsValid(&aMem[pOp->p1])\x00\x00sqlite3VdbeCheckMemInvariants(&aMem[pOp->p1])\x00\x00\x00pOp->p2>0\x00\x00\x00pOp->p2<=(p->nMem+1 - p->nCursor)\x00\x00\x00memIsValid(&aMem[pOp->p2])\x00\x00sqlite3VdbeCheckMemInvariants(&aMem[pOp->p2])\x00\x00\x00pOp->p3>0\x00\x00\x00pOp->p3<=(p->nMem+1 - p->nCursor)\x00\x00\x00memIsValid(&aMem[pOp->p3])\x00\x00sqlite3VdbeCheckMemInvariants(&aMem[pOp->p3])\x00\x00\x00db->nProgressOps!=0\x00pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor)\x00\x00VdbeMemDynamic(pIn1)==0\x00pIn1->flags==MEM_Int\x00\x00\x00\x00pOp->p2>=0 && pOp->p2<p->nOp\x00\x00\x00\x00pOp->p3>=0 && pOp->p3<p->nOp\x00\x00\x00\x00!VdbeMemDynamic(pOut)\x00\x00\x00pIn1->u.i>=0 && pIn1->u.i<p->nOp\x00\x00\x00\x00pCaller->opcode==OP_Yield\x00\x00\x00pCaller->p2>=0 && pCaller->p2<p->nOp\x00\x00\x00\x00pOp->p5<=4\x00\x00%s constraint failed\x00\x00\x00\x00%z: %s\x00\x00abort at %d in [%s]: %s\x00rc==SQLITE_BUSY || rc==SQLITE_OK || rc==SQLITE_ERROR\x00\x00\x00\x00rc==SQLITE_OK || (p->rc&0xff)==SQLITE_CONSTRAINT\x00\x00\x00\x00rc==SQLITE_OK || db->nDeferredCons>0 || db->nDeferredImmCons>0\x00\x00pOp->p4.pI64!=0\x00!sqlite3IsNaN(*pOp->p4.pReal)\x00\x00\x00pOp->p4.z!=0\x00\x00\x00\x00rc==SQLITE_OK || rc==SQLITE_TOOBIG\x00\x00pOut->szMalloc>0 && pOut->zMalloc==pOut->z\x00\x00VdbeMemDynamic(pOut)==0\x00pIn3->flags & MEM_Int\x00\x00\x00pOp->p1 <= SQLITE_MAX_LENGTH\x00\x00\x00\x00pOp->p1>0 && pOp->p1<=p->nVar\x00\x00\x00pOp->p4.z==0 || pOp->p4.z==sqlite3VListNumToName(p->pVList,pOp->p1)\x00n>0 && p1>0 && p2>0\x00p1+n<=p2 || p2+n<=p1\x00\x00\x00\x00pOut<=&aMem[(p->nMem+1 - p->nCursor)]\x00\x00\x00pIn1<=&aMem[(p->nMem+1 - p->nCursor)]\x00\x00\x00memIsValid(pIn1)\x00\x00\x00\x00pOut!=pIn1\x00\x00(pIn1->flags & MEM_Int)!=0\x00\x00p->nResColumn==pOp->p2\x00\x00pOp->p1+pOp->p2<=(p->nMem+1 - p->nCursor)+1\x00db->flags&SQLITE_CountRows\x00\x00p->usesStmtJournal\x00\x00p->iStatement==0 || db->flags&SQLITE_CountRows\x00\x00memIsValid(&pMem[i])\x00\x00\x00\x00(pMem[i].flags & MEM_Ephem)==0 || (pMem[i].flags & (MEM_Str|MEM_Blob))==0\x00\x00\x00pIn1!=pOut\x00\x00pOp->p4type==P4_COLLSEQ\x00pOp->p4type==P4_FUNCDEF\x00pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor)\x00\x00n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem+1 - p->nCursor)+1)\x00\x00\x00\x00pOp->p3<pOp->p2 || pOp->p3>=pOp->p2+n\x00\x00\x00pOp->p4type==P4_FUNCCTX\x00memIsValid(pCtx->argv[i])\x00\x00\x00op==OP_ShiftRight || op==OP_ShiftLeft\x00\x00\x00pOp->p2>=SQLITE_AFF_BLOB && pOp->p2<=SQLITE_AFF_REAL\x00\x00\x00\x00pOp->opcode==OP_Eq || pOp->opcode==OP_Ne\x00\x00\x00\x00(flags1 & MEM_Cleared)==0\x00\x00\x00(pOp->p5 & SQLITE_JUMPIFNULL)==0\x00\x00\x00\x00pIn1!=pIn3\x00\x00pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0\x00(pIn1->flags & MEM_Dyn) == (flags1 & MEM_Dyn)\x00\x00\x00(pIn3->flags & MEM_Dyn) == (flags3 & MEM_Dyn)\x00\x00\x00pOp->opcode==OP_Ne || pOp->opcode==OP_Eq\x00\x00\x00\x00res2==0 || res2==1\x00\x00pOp>aOp\x00pOp[-1].opcode==OP_Lt || pOp[-1].opcode==OP_Gt\x00\x00pOp[-1].p5 & SQLITE_STOREP2\x00pOp->p4type==P4_INTARRAY\x00\x00\x00\x00pOp->p4.ai\x00\x00pOp[1].opcode==OP_Compare\x00\x00\x00pOp[1].p5 & OPFLAG_PERMUTE\x00\x00pOp[-1].opcode==OP_Permutation\x00\x00pOp[-1].p4type==P4_INTARRAY\x00aPermute!=0\x00p1>0 && p1+mx<=(p->nMem+1 - p->nCursor)+1\x00\x00\x00p2>0 && p2+mx<=(p->nMem+1 - p->nCursor)+1\x00\x00\x00p1>0 && p1+n<=(p->nMem+1 - p->nCursor)+1\x00\x00\x00\x00p2>0 && p2+n<=(p->nMem+1 - p->nCursor)+1\x00\x00\x00\x00memIsValid(&aMem[p1+idx])\x00\x00\x00memIsValid(&aMem[p2+idx])\x00\x00\x00i<pKeyInfo->nField\x00\x00p->aOp[0].opcode==OP_Init\x00\x00\x00pOp->p1>=0 && pOp->p1<p->nCursor\x00\x00\x00\x00pC!=0\x00\x00\x00p2<pC->nField\x00\x00\x00pC->eCurType!=CURTYPE_VTAB\x00\x00pC->eCurType!=CURTYPE_PSEUDO || pC->nullRow\x00pC->eCurType!=CURTYPE_SORTER\x00\x00\x00\x00pC->uc.pseudoTableReg>0\x00pReg->flags & MEM_Blob\x00\x00memIsValid(pReg)\x00\x00\x00\x00pC->eCurType==CURTYPE_BTREE\x00pCrsr\x00\x00\x00sqlite3BtreeCursorIsValid(pCrsr)\x00\x00\x00\x00avail<=65536\x00\x00\x00\x00pC->nHdrParsed<=p2\x00\x00p2<pC->nHdrParsed\x00\x00\x00sqlite3VdbeCheckMemInvariants(pDest)\x00\x00\x00\x00t==pC->aType[p2]\x00\x00\x00\x00zAffinity!=0\x00\x00\x00\x00zAffinity[pOp->p2]==0\x00\x00\x00pIn1 <= &p->aMem[(p->nMem+1 - p->nCursor)]\x00\x00nField>0 && pOp->p2>0 && pOp->p2+nField<=(p->nMem+1 - p->nCursor)+1\x00pOp->p3<pOp->p1 || pOp->p3>=pOp->p1+pOp->p2\x00pData0<=pLast\x00\x00\x00zAffinity[0]==0 || pRec<=pLast\x00\x00memIsValid(pRec)\x00\x00\x00\x00i==nHdr\x00j==nByte\x00\x00\x00\x00p->apCsr[pOp->p1]->eCurType==CURTYPE_BTREE\x00\x00db->pSavepoint==0 || db->autoCommit==0\x00\x00p1==SAVEPOINT_BEGIN||p1==SAVEPOINT_RELEASE||p1==SAVEPOINT_ROLLBACK\x00\x00db->pSavepoint || db->isTransactionSavepoint==0\x00checkSavepointCount(db)\x00p->bIsReader\x00\x00\x00\x00cannot open savepoint - SQL statements in progress\x00\x00db->autoCommit==0 || db->nVTrans==0\x00no such savepoint: %s\x00\x00\x00cannot release savepoint - SQL statements in progress\x00\x00\x00pSavepoint==db->pSavepoint\x00\x00desiredAutoCommit==1 || desiredAutoCommit==0\x00\x00\x00\x00desiredAutoCommit==1 || iRollback==0\x00\x00\x00\x00db->nVdbeActive>0\x00\x00\x00desiredAutoCommit==1\x00\x00\x00\x00cannot commit transaction - SQL statements in progress\x00\x00db->nStatement==0\x00\x00\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00\x00cannot commit - no transaction is active\x00\x00\x00\x00p->readOnly==0 || pOp->p2==0\x00\x00\x00\x00pOp->p1>=0 && pOp->p1<db->nDb\x00\x00\x00DbMaskTest(p->btreeMask, pOp->p1)\x00\x00\x00sqlite3BtreeIsInTrans(pBt)\x00\x00db->nStatement>=0 && db->nSavepoint>=0\x00\x00pOp->p5==0 || pOp->p4type==P4_INT32\x00pOp->p3<SQLITE_N_BTREE_META\x00db->aDb[iDb].pBt!=0\x00DbMaskTest(p->btreeMask, iDb)\x00\x00\x00pOp->p2<SQLITE_N_BTREE_META\x00p->readOnly==0\x00\x00pDb->pBt!=0\x00sqlite3SchemaMutexHeld(db, pOp->p1, 0)\x00\x00pOp->p5==0 || pOp->p5==OPFLAG_SEEKEQ\x00\x00\x00\x00pOp->p4type==P4_KEYINFO\x00pCur->iDb==pOp->p3\x00\x00pOp->opcode==OP_OpenWrite || pOp->p5==0 || pOp->p5==OPFLAG_SEEKEQ\x00\x00\x00pOp->opcode==OP_OpenRead || pOp->opcode==OP_ReopenIdx || p->readOnly==0\x00pX!=0\x00\x00\x00p2>0\x00\x00\x00\x00p2<=(p->nMem+1 - p->nCursor)\x00\x00\x00\x00memIsValid(pIn2)\x00\x00\x00\x00(pIn2->flags & MEM_Int)!=0\x00\x00p2>=2\x00\x00\x00pKeyInfo->enc==ENC(db)\x00\x00pKeyInfo->db==db\x00\x00\x00\x00pOp->p1>=0\x00\x00nField>=0\x00\x00\x00pOp->p2>=0\x00\x00pgno==MASTER_ROOT+1\x00pCx->pKeyInfo->db==db\x00\x00\x00pCx->pKeyInfo->enc==ENC(db)\x00isSorter(pC)\x00\x00\x00\x00pOp->p3>=0\x00\x00pOp->p5==0\x00\x00pOp->p2!=0\x00\x00pC->isOrdered\x00\x00\x00pC->uc.pCursor!=0\x00\x00\x00sqlite3BtreeCursorHasHint(pC->uc.pCursor, BTREE_SEEK_EQ)==0 || CORRUPT_DB\x00\x00\x00pOp->opcode==OP_SeekGE || pOp->opcode==OP_SeekLE\x00\x00\x00\x00pOp[1].opcode==OP_IdxLT || pOp[1].opcode==OP_IdxGT\x00\x00pOp[1].p1==pOp[0].p1\x00\x00\x00\x00pOp[1].p2==pOp[0].p2\x00\x00\x00\x00pOp[1].p3==pOp[0].p3\x00\x00\x00\x00pOp[1].p4.i==pOp[0].p4.i\x00\x00\x00\x00pOp->p4type==P4_INT32\x00\x00\x00nField>0\x00\x00\x00\x00oc!=OP_SeekGT || r.default_rc==-1\x00\x00\x00oc!=OP_SeekLE || r.default_rc==-1\x00\x00\x00oc!=OP_SeekGE || r.default_rc==+1\x00\x00\x00oc!=OP_SeekLT || r.default_rc==+1\x00\x00\x00memIsValid(&r.aMem[i])\x00\x00res!=0\x00\x00oc==OP_SeekGE || oc==OP_SeekGT\x00\x00oc==OP_SeekLT || oc==OP_SeekLE\x00\x00pC->isTable==0\x00\x00memIsValid(&r.aMem[ii])\x00(r.aMem[ii].flags & MEM_Zero)==0 || r.aMem[ii].n==0\x00pIn3->flags & MEM_Blob\x00\x00pC->isTable\x00pCrsr!=0\x00\x00\x00\x00rc==SQLITE_OK || res==0\x00p->apCsr[pOp->p1]!=0\x00\x00\x00\x00p->apCsr[pOp->p1]->eCurType!=CURTYPE_VTAB\x00\x00\x00sqlite3BtreeCursorIsValid(pC->uc.pCursor)\x00\x00\x00pOp->p3<=pFrame->nMem\x00\x00\x00memIsValid(pMem)\x00\x00\x00\x00(pMem->flags & MEM_Int)!=0\x00\x00pOp->p3==0\x00\x00v>0\x00memIsValid(pData)\x00\x00\x00(pOp->p5 & OPFLAG_ISNOOP) || pC->isTable\x00\x00\x00\x00pOp->p4type==P4_TABLE || pOp->p4type>=P4_STATIC\x00pKey->flags & MEM_Int\x00\x00\x00memIsValid(pKey)\x00\x00\x00\x00pOp->opcode==OP_InsertInt\x00\x00\x00pC->iDb>=0\x00\x00(pOp->p5 & OPFLAG_ISNOOP) || HasRowid(pTab)\x00pData->flags & (MEM_Blob|MEM_Str)\x00\x00\x00pC->deferredMoveto==0\x00\x00\x00pC->movetoTarget==iKey\x00\x00pOp->p4.pTab!=0\x00(pOp->p5 & ~(OPFLAG_SAVEPOSITION|OPFLAG_AUXDELETE))==0\x00\x00rc!=SQLITE_OK || (pOut->flags & MEM_Blob)\x00\x00\x00isSorter(pC)==0\x00pC->nullRow==0\x00\x00pC->uc.pVCur!=0\x00pModule->xRowid\x00pOp->p2==0\x00\x00isSorter(pC)==(pOp->opcode==OP_SorterSort)\x00\x00pOp->p2>0 && pOp->p2<p->nOp\x00pOp->p5<ArraySize(p->aCounter)\x00\x00res==0 || (res==1 && pC->isTable==0)\x00\x00\x00\x00pOp->opcode!=OP_Next || pOp->p4.xAdvance==sqlite3BtreeNext\x00\x00pOp->opcode!=OP_Prev || pOp->p4.xAdvance==sqlite3BtreePrevious\x00\x00pOp->opcode!=OP_NextIfOpen || pOp->p4.xAdvance==sqlite3BtreeNext\x00\x00\x00\x00pOp->opcode!=OP_PrevIfOpen || pOp->p4.xAdvance==sqlite3BtreePrevious\x00\x00\x00\x00pOp->opcode!=OP_Next || pOp->opcode!=OP_NextIfOpen || pC->seekOp==OP_SeekGT || pC->seekOp==OP_SeekGE || pC->seekOp==OP_Rewind || pC->seekOp==OP_Found\x00\x00\x00pOp->opcode!=OP_Prev || pOp->opcode!=OP_PrevIfOpen || pC->seekOp==OP_SeekLT || pC->seekOp==OP_SeekLE || pC->seekOp==OP_Last\x00isSorter(pC)==(pOp->opcode==OP_SorterInsert)\x00\x00\x00\x00pIn2->flags & MEM_Blob\x00\x00pC->eCurType==CURTYPE_BTREE || pOp->opcode==OP_SorterInsert\x00pOp->p2>0 && pOp->p2+pOp->p3<=(p->nMem+1 - p->nCursor)+1\x00\x00\x00\x00!pC->nullRow || pOp->opcode==OP_IdxRowid\x00\x00\x00\x00pOp->p3>=0 && pOp->p3<p->nCursor\x00\x00\x00\x00pTabCur!=0\x00\x00pTabCur->eCurType==CURTYPE_BTREE\x00\x00\x00\x00pTabCur->uc.pCursor!=0\x00\x00pTabCur->isTable\x00\x00\x00\x00pOp->p4type==P4_INTARRAY || pOp->p4.ai==0\x00\x00\x00pOp->opcode==OP_IdxRowid\x00\x00\x00\x00pOp->p5==0 || pOp->p5==1\x00\x00\x00\x00pOp->opcode==OP_IdxLE || pOp->opcode==OP_IdxGT\x00\x00pOp->opcode==OP_IdxGE || pOp->opcode==OP_IdxLT\x00\x00pOp->opcode==OP_IdxLE || pOp->opcode==OP_IdxLT\x00\x00pOp->opcode==OP_IdxGE || pOp->opcode==OP_IdxGT\x00\x00pOp->p1>1\x00\x00\x00resetSchemaOnFault==0 || resetSchemaOnFault==iDb+1\x00\x00DbMaskTest(p->btreeMask, pOp->p2)\x00\x00\x00pC->isEphemeral\x00DbHasProperty(db, iDb, DB_SchemaLoaded)\x00SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid\x00nRoot>0\x00aRoot[nRoot]==0\x00(pnErr->flags & MEM_Int)!=0\x00(pnErr->flags & (MEM_Str|MEM_Blob))==0\x00\x00pOp->p5<db->nDb\x00DbMaskTest(p->btreeMask, pOp->p5)\x00\x00\x00z==0\x00\x00\x00\x00pIn3->flags&MEM_Int\x00iSet==-1 || iSet>=0\x00pProgram->nOp>0\x00too many levels of trigger recursion\x00\x00\x00\x00nMem>0\x00\x00pProgram->nMem+pProgram->nCsr==pFrame->nChildMem || (pProgram->nCsr==0 && pProgram->nMem+1==pFrame->nChildMem)\x00\x00pProgram->nCsr==pFrame->nChildCsr\x00\x00\x00(int)(pOp - aOp)==pFrame->pc\x00\x00\x00\x00pFrame->pAuxData==0\x00pIn1->flags&MEM_Int\x00pIn1->flags & MEM_Int\x00\x00\x00t.flags==MEM_Null\x00\x00\x00pOp[-1].opcode==OP_CollSeq\x00\x00(pMem->flags & ~(MEM_Null|MEM_Agg))==0\x00\x00pOp->p2==SQLITE_CHECKPOINT_PASSIVE || pOp->p2==SQLITE_CHECKPOINT_FULL || pOp->p2==SQLITE_CHECKPOINT_RESTART || pOp->p2==SQLITE_CHECKPOINT_TRUNCATE\x00\x00eNew==PAGER_JOURNALMODE_DELETE || eNew==PAGER_JOURNALMODE_TRUNCATE || eNew==PAGER_JOURNALMODE_PERSIST || eNew==PAGER_JOURNALMODE_OFF || eNew==PAGER_JOURNALMODE_MEMORY || eNew==PAGER_JOURNALMODE_WAL || eNew==PAGER_JOURNALMODE_QUERY\x00\x00cannot change %s wal mode from within a transaction\x00into\x00\x00\x00\x00out of\x00\x00sqlite3BtreeIsInTrans(pBt)==0\x00\x00\x00p1>=0 && p1<db->nDb\x00DbMaskTest(p->btreeMask, p1)\x00\x00\x00\x00isWriteLock==0 || isWriteLock==1\x00\x00\x00\x00database table is locked: %s\x00\x00\x00\x00(aMem[pOp->p2].flags & MEM_Str)!=0\x00\x00(aMem[pOp->p2].flags & MEM_Static)!=0\x00\x00\x00zTab || db->mallocFailed\x00\x00\x00\x00memIsValid(pQuery)\x00\x00pCur->eCurType==CURTYPE_VTAB\x00\x00\x00\x00(pQuery->flags&MEM_Int)!=0 && pArgc->flags==MEM_Int\x00pModule->xColumn\x00\x00\x00\x00pModule->xNext\x00\x00pVtab->pModule->xRename\x00memIsValid(pName)\x00\x00\x00pName->flags & MEM_Str\x00\x00pOp->p2==1 || pOp->p5==OE_Fail || pOp->p5==OE_Rollback || pOp->p5==OE_Abort || pOp->p5==OE_Ignore || pOp->p5==OE_Replace\x00\x00\x00\x00pOp->p4type==P4_VTAB\x00\x00\x00\x00memIsValid(pX)\x00\x00nArg>1 && apArg[0] && (apArg[0]->flags&MEM_Null)\x00\x00\x00\x00-- \x00pOp->p4.z==0 || strncmp(pOp->p4.z, \"-\" \"- \", 3)==0\x00\x00pOp==p->aOp\x00-- %s\x00\x00\x00SQL-trace: %s\x0a\x00\x00pOp->opcode==OP_Noop || pOp->opcode==OP_Explain\x00pOp>=&aOp[-1] && pOp<&aOp[p->nOp-1]\x00rc=%d\x0a\x00\x00rc\x00\x00statement aborts at %d: [%s] %s\x00DELETE%\x00rc!=SQLITE_OK || nExtraDelete==0 || sqlite3_strlike(\"DELETE%\",p->zSql,0)!=0\x00db->u1.isInterrupted\x00\x00\x00\x00sqlite3VdbeExec\x00SQL: [%s]\x0a\x00\x00REG[%d] = \x00\x00 undefined\x00\x00 NULL\x00\x00\x00 si:%lld\x00\x00\x00\x00 i:%lld\x00 r:%g\x00\x00\x00 (rowset)\x00\x00\x00 subtype=0x%02x\x00(f & (MEM_Static|MEM_Ephem))==0\x00(f & (MEM_Dyn|MEM_Ephem))==0\x00\x00\x00\x00(f & (MEM_Static|MEM_Dyn))==0\x00\x00\x00%d[\x00%02X\x00\x00\x00\x00+%dz\x00\x00\x00\x00sqlite3VdbeMemPrettyPrint\x00\x00\x00(X)\x00(8)\x00(16LE)\x00\x00(16BE)\x00\x00NOT NULL\x00\x00\x00\x00FOREIGN KEY\x00out2Prerelease\x00\x00sqlite3VdbeMemTooBig\x00\x00\x00\x00(pFrom->flags & MEM_RowSet)==0\x00\x00pTo->db==pFrom->db\x00\x00srcType==MEM_Ephem || srcType==MEM_Static\x00\x00\x00sqlite3VdbeMemShallowCopy\x00\x00\x00!VdbeMemDynamic(pTo)\x00\x00\x00\x00vdbeClrCopy\x00pFrom->db==0 || sqlite3_mutex_held(pFrom->db->mutex)\x00\x00\x00\x00pTo->db==0 || sqlite3_mutex_held(pTo->db->mutex)\x00\x00\x00\x00pFrom->db==0 || pTo->db==0 || pFrom->db==pTo->db\x00\x00\x00\x00sqlite3VdbeMemMove\x00\x00(pMem->flags & (MEM_Int|MEM_Real))==0\x00\x00\x00(pMem->flags & (MEM_Str|MEM_Blob))!=0\x00\x00\x00computeNumericType\x00\x00(combined_flags & MEM_RowSet)==0\x00\x00\x00\x00pMem1->enc==pMem2->enc || pMem1->db->mallocFailed\x00\x00\x00pMem1->enc==SQLITE_UTF8 || pMem1->enc==SQLITE_UTF16LE || pMem1->enc==SQLITE_UTF16BE\x00!pColl || pColl->xCmp\x00\x00\x00sqlite3MemCompare\x00\x00\x00(flags & ~MEM_TypeMask)==0\x00\x00sqlite3VdbeMemInit\x00\x00(pB1->flags & MEM_Zero)==0 || n1==0\x00(pB2->flags & MEM_Zero)==0 || n2==0\x00sqlite3BlobCompare\x00\x00p->deferredMoveto\x00\x00\x00p->isTable\x00\x00p->eCurType==CURTYPE_BTREE\x00\x00handleDeferredMoveto\x00\x00\x00\x00cursorOwnsBtShared(pCur)\x00\x00\x00\x00sqlite3_mutex_held(pCur->pBtree->db->mutex)\x00pRes\x00\x00\x00\x00(pIdxKey==0)==(pCur->pKeyInfo==0)\x00\x00\x00pCur->eState!=CURSOR_VALID || (pIdxKey==0)==(pCur->curIntKey!=0)\x00\x00\x00\x00pIdxKey->default_rc==1 || pIdxKey->default_rc==0 || pIdxKey->default_rc==-1\x00pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]\x00\x00pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->isInit\x00\x00pCur->eState==CURSOR_INVALID || pCur->apPage[pCur->iPage]->nCell>0\x00\x00pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0\x00\x00\x00\x00pCur->apPage[0]->intKey==pCur->curIntKey\x00\x00\x00\x00pCur->curIntKey || pIdxKey\x00\x00pPage->nCell>0\x00\x00pPage->intKey==(pIdxKey==0)\x00biasRight==0 || biasRight==1\x00\x00\x00\x00nCellKey==intKey\x00\x00\x00\x00lwr+upr>=0\x00\x00(pIdxKey->errCode!=SQLITE_CORRUPT || c==0) && (pIdxKey->errCode!=SQLITE_NOMEM || pCur->pBtree->db->mallocFailed)\x00\x00\x00\x00c==0\x00\x00\x00\x00lwr==upr+1 || (pPage->intKey && !pPage->leaf)\x00\x00\x00pPage->isInit\x00\x00\x00(pCur->curFlags & BTCF_ValidOvfl)==0\x00\x00\x00\x00cursorHoldsMutex(p)\x00cursorOwnsBtShared\x00\x00sqlite3BtreeMovetoUnpacked\x00\x00pRes!=0\x00*pRes==0 || *pRes==1\x00\x00\x00\x00pCur->skipNext==0 || pCur->eState!=CURSOR_VALID\x00sqlite3BtreeNext\x00\x00\x00\x00*pRes==0\x00\x00\x00\x00pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT\x00btreeNext\x00\x00\x00pCur->eState>=CURSOR_REQUIRESEEK\x00\x00\x00\x00pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_INVALID\x00\x00btreeRestoreCursorPosition\x00\x00nKey==(i64)(int)nKey\x00\x00\x00\x00btreeMoveto\x00sqlite3VdbeAllocUnpackedRecord\x00\x00u<=pKeyInfo->nField + 1\x00sqlite3VdbeRecordUnpack\x00n>3 && n<=9\x00sqlite3GetVarint32\x00\x00sizeof(r1)==sizeof(t2) && memcmp(&r1, &t2, sizeof(r1))==0\x00\x00\x00serialGet\x00\x00\x00pCur->iPage<BTCURSOR_MAX_DEPTH\x00\x00pCur->iPage>=0\x00\x00moveToChild\x00pCur==0 || ppPage==&pCur->apPage[pCur->iPage]\x00\x00\x00pCur==0 || bReadOnly==pCur->curPagerFlags\x00\x00\x00pCur==0 || pCur->iPage>0\x00\x00\x00\x00(*ppPage)->pgno==pgno\x00\x00\x00(*ppPage)->aData==sqlite3PagerGetData(pDbPage)\x00\x00pgno!=0 || rc==SQLITE_CORRUPT\x00\x00\x00getAndInitPage\x00\x00moveToLeftmost\x00\x00pCur->iPage>0\x00\x00\x00pCur->apPage[pCur->iPage]\x00\x00\x00moveToParent\x00\x00\x00\x00iIdx<=pParent->nCell\x00\x00\x00\x00get4byte(&pParent->aData[pParent->hdrOffset+8])==iChild\x00get4byte(findCell(pParent, iIdx))==iChild\x00\x00\x00assertParentIndex\x00\x00\x00flags & MEM_Str\x00(*(u8*)pKey1)<=0x3F || CORRUPT_DB\x00\x00\x00vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, res)\x00\x00\x00nKey>=0\x00szHdr<=(u32)nKey\x00\x00\x00\x00nField <= pKeyInfo->nField+pKeyInfo->nXField\x00\x00\x00\x00vdbeAssertFieldCountWithinLimits\x00\x00\x00\x00vdbeRecordCompareInt\x00\x00\x00\x00pPKey2->pKeyInfo->nField+pPKey2->pKeyInfo->nXField>=pPKey2->nField || CORRUPT_DB\x00\x00\x00\x00pPKey2->pKeyInfo->aSortOrder!=0\x00pPKey2->pKeyInfo->nField>0\x00\x00idx1<=szHdr1 || CORRUPT_DB\x00\x00(pRhs->flags & MEM_Zero)==0 || pRhs->n==0\x00\x00\x00vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, rc)\x00\x00\x00\x00mem1.szMalloc==0\x00\x00\x00\x00CORRUPT_DB || vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, pPKey2->default_rc) || pKeyInfo->db->mallocFailed\x00\x00\x00\x00serial_type<12 || sqlite3SmallTypeSizes[serial_type]==(serial_type - 12)/2\x00\x00sqlite3VdbeSerialTypeLen\x00\x00\x00\x00sqlite3VdbeRecordCompareWithSkip\x00\x00\x00\x00CORRUPT_DB || (serial_type>=1 && serial_type<=9 && serial_type!=7)\x00\x00vdbeRecordDecodeInt\x00pKeyInfo->nField+pKeyInfo->nXField>=pPKey2->nField || CORRUPT_DB\x00\x00\x00\x00pKeyInfo->nField>0\x00\x00vdbeRecordCompareDebug\x00\x00i<10\x00\x00\x00\x00sqlite3VarintLen\x00\x00\x00\x00sqlite3VdbeFindCompare\x00\x00pPKey2->aMem[0].flags & MEM_Str\x00vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, res) || CORRUPT_DB || pPKey2->pKeyInfo->db->mallocFailed\x00\x00\x00vdbeRecordCompareString\x00pCur->skipNext!=SQLITE_OK\x00\x00\x00pCur->apPage[pCur->iPage]!=0\x00\x00\x00\x00pCur->iPage==(-1)\x00\x00\x00pRoot->pgno==pCur->pgnoRoot\x00pRoot->intKey==1 || pRoot->intKey==0\x00\x00\x00\x00moveToRoot\x00\x00p->uc.pCursor!=0\x00\x00\x00\x00sqlite3BtreeCursorHasMoved(p->uc.pCursor)\x00\x00\x00handleMovedCursor\x00\x00\x00pCur!=0\x00pCur->eState!=CURSOR_VALID\x00\x00pCur->skipNext==0\x00\x00\x00sqlite3BtreeCursorRestore\x00\x00\x00pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]\x00\x00pCur->info.nSize>0\x00\x00pCur->info.pPayload>pCur->apPage[pCur->iPage]->aData || CORRUPT_DB\x00\x00pCur->info.pPayload<pCur->apPage[pCur->iPage]->aDataEnd ||CORRUPT_DB\x00\x00\x00\x00fetchPayload\x00\x00\x00\x00sqlite3BtreeCursorIsValid(pCur)\x00!VdbeMemDynamic(pMem)\x00\x00\x00zData!=0\x00\x00\x00\x00sqlite3VdbeMemFromBtree\x00serial_type<128\x00sqlite3VdbeOneByteSerialTypeLen\x00pLen!=0\x00pMem->db->mallocFailed || flags&(MEM_Str|MEM_Blob)\x00\x00sqlite3VdbeSerialType\x00\x00\x00n<=9\x00\x00\x00\x00putVarint64\x00pMem->n + ((pMem->flags & MEM_Zero)?pMem->u.nZero:0) == (int)sqlite3VdbeSerialTypeLen(serial_type)\x00\x00sqlite3VdbeSerialPut\x00\x00\x00\x00n==(db->nSavepoint + db->isTransactionSavepoint)\x00\x00\x00\x00checkSavepointCount\x00p->inTrans==TRANS_WRITE\x00(pBt->btsFlags & BTS_READ_ONLY)==0\x00\x00iStatement>0\x00\x00\x00\x00iStatement>p->db->nSavepoint\x00\x00\x00\x00sqlite3BtreeBeginStmt\x00\x00\x00idx>=1 && idx<=15\x00\x00\x00pBt->pPage1!=0\x00\x00pBt->autoVacuum || iMeta==0\x00iMeta==0 || iMeta==1\x00\x00\x00\x00sqlite3BtreeUpdateMeta\x00\x00iCur>=0 && iCur<p->nCursor\x00\x00allocateCursor\x00\x00wrFlag==0 || wrFlag==BTREE_WRCSR || wrFlag==(BTREE_WRCSR|BTREE_FORDELETE)\x00\x00\x00hasSharedCacheTableLock(p, iTable, pKeyInfo!=0, (wrFlag?2:1))\x00\x00\x00wrFlag==0 || !hasReadConflicts(p, iTable)\x00\x00\x00wrFlag==0 || p->inTrans==TRANS_WRITE\x00\x00\x00\x00pBt->pPage1 && pBt->pPage1->aData\x00\x00\x00wrFlag==0 || (pBt->btsFlags & BTS_READ_ONLY)==0\x00wrFlag==0\x00\x00\x00btreeCursor\x00x==BTREE_SEEK_EQ || x==BTREE_BULKLOAD || x==0\x00\x00\x00sqlite3BtreeCursorHintFlags\x00:memory:\x00\x00\x00\x00pVfs!=0\x00(flags&0xff)==flags\x00(flags & BTREE_UNORDERED)==0 || (flags & BTREE_SINGLE)!=0\x00\x00\x00(flags & BTREE_SINGLE)==0 || isTempDb\x00\x00\x00pBt->nRef>0\x00(pBt->pageSize & 7)==0\x00\x00sqlite3_mutex_held(mutexOpen)\x00\x00\x00rc!=SQLITE_OK || sqlite3BtreeConnectionCount(*ppBtree)>0\x00\x00\x00\x00sqlite3BtreeOpen\x00\x00\x00\x00nUri>=0\x00EIGHT_BYTE_ALIGNMENT(SQLITE_INT_TO_PTR(journalFileSize))\x00\x00\x00\x00EIGHT_BYTE_ALIGNMENT(pPager->jfd)\x00\x00\x00nPathname>0\x00-journal\x00\x00\x00\x00-wal\x00\x00\x00\x00!memDb\x00\x00nolock\x00\x00immutable\x00\x00\x00pPager->memDb==0\x00\x00\x00\x00nExtra>=8 && nExtra<1000\x00\x00\x00\x00tempFile==PAGER_LOCKINGMODE_NORMAL || tempFile==PAGER_LOCKINGMODE_EXCLUSIVE\x00useJournal || pPager->tempFile\x00\x00pPager->fullSync==0\x00pPager->extraSync==0\x00\x00\x00\x00pPager->syncFlags==0\x00\x00\x00\x00pPager->walSyncFlags==0\x00pPager->ckptSyncFlags==0\x00\x00\x00\x00isOpen(pPager->fd) || tempFile\x00\x00sqlite3PagerOpen\x00\x00\x00\x00onoffalseyestruextrafull\x00\x00\x00\x00szExtra>=8\x00\x00sqlite3PcacheOpen\x00\x00\x00(pPg->flags&PGHDR_NEED_SYNC)==0\x00pagerStress\x00sqlite3PagerPageRefcount(pData)>0\x00\x00\x00pageReinit\x00\x00sqlite3PagerReadFileheader\x00\x00((int(*)(void *))(ap[0]))==xBusyHandler\x00ap[1]==pBusyHandlerArg\x00\x00sqlite3PagerSetBusyhandler\x00\x00pgnoRoot>=3 || CORRUPT_DB\x00\x00\x00eType!=PTRMAP_ROOTPAGE\x00\x00eType!=PTRMAP_FREEPAGE\x00\x00sqlite3PagerIswriteable(pBt->pPage1->pDbPage)\x00\x00\x00sqlite3PagerIswriteable(pRoot->pDbPage)\x00(pBt->openFlags & BTREE_SINGLE)==0 || pgnoRoot==2\x00\x00\x00btreeCreateTable\x00\x00\x00\x00pCsr->pKeyInfo && pCsr->pBtx==0\x00pSorter->iMemory==0\x00sqlite3VdbeSorterInit\x00\x00\x00sqlite3BtreePrevious\x00\x00\x00\x00(pCur->curFlags & (BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey))==0\x00\x00\x00pCur->info.nSize==0\x00(pCur->curFlags & (BTCF_ValidOvfl))==0\x00\x00btreePrevious\x00\x00\x00(pCur->curFlags & BTCF_ValidNKey)==0\x00\x00\x00\x00moveToRightmost\x00pCur->aiIdx[ii]==pCur->apPage[ii]->nCell\x00\x00\x00\x00pCur->aiIdx[pCur->iPage]==pCur->apPage[pCur->iPage]->nCell-1\x00\x00\x00\x00pCur->apPage[pCur->iPage]->leaf\x00sqlite3BtreeLast\x00\x00\x00\x00(flags & (BTREE_SAVEPOSITION|BTREE_APPEND))==flags\x00\x00(pCur->curFlags & BTCF_WriteFlag)!=0 && pBt->inTransaction==TRANS_WRITE && (pBt->btsFlags & BTS_READ_ONLY)==0\x00\x00\x00hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2)\x00\x00\x00\x00(pX->pKey==0)==(pCur->pKeyInfo==0)\x00\x00pX->pKey==0\x00(flags & BTREE_SAVEPOSITION)==0 || ((pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey)\x00\x00\x00\x00pCur->eState==CURSOR_VALID || (pCur->eState==CURSOR_INVALID && loc)\x00pPage->intKey || pX->nKey>=0\x00\x00\x00\x00pPage->leaf || !pPage->intKey\x00\x00\x00newCell!=0\x00\x00szNew==pPage->xCellSize(pPage, newCell)\x00szNew <= MX_CELL_SIZE(pBt)\x00\x00idx<pPage->nCell\x00\x00\x00\x00pPage->leaf\x00pPage->nOverflow==0 || rc==SQLITE_OK\x00\x00\x00\x00rc!=SQLITE_OK || pPage->nCell>0 || pPage->nOverflow>0\x00\x00\x00pCur->pKey==0\x00\x00\x00pCur->apPage[pCur->iPage]->nOverflow==0\x00sqlite3BtreeInsert\x00\x00sqlite3BtreeHoldsMutex(pBtree)\x00\x00invalidateIncrblobCursors\x00\x00\x00pCell<pPage->aData || pCell>=&pPage->aData[pBt->pageSize] || sqlite3PagerIswriteable(pPage->pDbPage)\x00\x00\x00\x00pX->nKey<=0x7fffffff && pX->pKey!=0\x00nHeader==(int)(info.pPayload - pCell)\x00\x00\x00info.nKey==pX->nKey\x00*pnSize == info.nSize\x00\x00\x00spaceLeft == info.nLocal\x00\x00\x00\x00pToRelease==0 || sqlite3PagerIswriteable(pToRelease->pDbPage)\x00\x00\x00pPrior<pPage->aData || pPrior>=&pPage->aData[pBt->pageSize] || sqlite3PagerIswriteable(pPage->pDbPage)\x00\x00pPayload<pPage->aData || pPayload>=&pPage->aData[pBt->pageSize] || sqlite3PagerIswriteable(pPage->pDbPage)\x00\x00pSrc\x00\x00\x00\x00fillInCell\x00\x00pBt->usableSize > 4\x00nOvfl>0 || (CORRUPT_DB && (pInfo->nPayload + ovflPageSize)<ovflPageSize)\x00\x00\x00\x00clearCell\x00\x00\x00btreePageLookup\x00CORRUPT_DB || iPage>1\x00\x00\x00!pMemPage || pMemPage->pgno==iPage\x00\x00pBt->usableSize>32\x00\x00freePage2\x00\x00\x00sqlite3PcacheRef\x00\x00\x00\x00pgno<=pBt->nPage\x00\x00\x00\x00btreeSetHasContent\x00\x00idx>=0 && idx<pPage->nCell\x00\x00CORRUPT_DB || sz==cellSize(pPage, idx)\x00\x00dropCell\x00\x00\x00\x00CORRUPT_DB || iStart>=pPage->hdrOffset+6+pPage->childPtrSize\x00\x00\x00\x00CORRUPT_DB || iEnd <= pPage->pBt->usableSize\x00\x00\x00\x00iSize>=4\x00\x00\x00\x00iStart<=iLast\x00\x00\x00iFreeBlk>iPtr || iFreeBlk==0\x00\x00\x00\x00freeSpace\x00\x00\x00*pRC==SQLITE_OK\x00i>=0 && i<=pPage->nCell+pPage->nOverflow\x00\x00\x00\x00MX_CELL(pPage->pBt)<=10921\x00\x00pPage->nCell<=MX_CELL(pPage->pBt) || CORRUPT_DB\x00pPage->nOverflow<=ArraySize(pPage->apOvfl)\x00\x00sz==pPage->xCellSize(pPage, pCell) || (sz==8 && iChild>0)\x00\x00\x00j < ArraySize(pPage->apOvfl)-1\x00\x00j==0 || pPage->aiOvfl[j-1]<(u16)i\x00\x00\x00j==0 || i==pPage->aiOvfl[j-1]+1\x00&data[pPage->cellOffset]==pPage->aCellIdx\x00\x00\x00idx >= 0\x00\x00\x00\x00idx >= pPage->cellOffset+2*pPage->nCell+2 || CORRUPT_DB\x00idx+sz <= (int)pPage->pBt->usableSize\x00\x00\x00get2byte(&data[pPage->hdrOffset+3])==pPage->nCell\x00\x00\x00insertCell\x00\x00nByte>=0\x00\x00\x00\x00pPage->nFree>=nByte\x00pPage->nOverflow==0\x00nByte < (int)(pPage->pBt->usableSize-8)\x00pPage->cellOffset == hdr + 12 - 4*pPage->leaf\x00\x00\x00gap<=65536\x00\x00top<=(int)pPage->pBt->usableSize\x00\x00\x00\x00pSpace>=data && (pSpace - data)<65536\x00\x00\x00pPage->nCell>0 || CORRUPT_DB\x00\x00\x00\x00gap+2+nByte<=top\x00\x00\x00\x00top+nByte <= (int)pPage->pBt->usableSize\x00\x00\x00\x00allocateSpace\x00\x00\x00pc>0\x00\x00\x00\x00pageFindSlot\x00\x00\x00\x00pPage->pBt->usableSize <= SQLITE_MAX_PAGE_SIZE\x00\x00nCell==get2byte(&data[hdr+3])\x00\x00\x00iFree2==0 || iFree2>iFree\x00\x00\x00iFree+get2byte(&data[iFree+2]) <= usableSize\x00\x00\x00\x00iFree2==0 || iFree2+get2byte(&data[iFree2+2]) <= usableSize\x00iFree+sz+sz2+iFree2-(iFree+sz) <= usableSize\x00\x00\x00\x00cbrk+(iFree-top) <= usableSize\x00\x00pc>=iCellFirst && pc<=iCellLast\x00cbrk+size<=usableSize && cbrk>=iCellFirst\x00\x00\x00cbrk>=iCellFirst\x00\x00\x00\x00defragmentPage\x00\x00balance_deeper_called==0\x00\x00\x00\x00pCur->apPage[1]->nOverflow\x00\x00balance_quick_called==0\x00balance\x00pRoot->nOverflow>0\x00\x00sqlite3PagerIswriteable(pChild->pDbPage)\x00\x00\x00\x00pChild->nCell==pRoot->nCell\x00balance_deeper\x00\x00pFrom->isInit\x00\x00\x00pFrom->nFree>=iToHdr\x00\x00\x00\x00get2byte(&aFrom[iFromHdr+5]) <= (int)pBt->usableSize\x00\x00\x00\x00copyNodeContent\x00sqlite3PagerIswriteable(pParent->pDbPage)\x00\x00\x00pPage->nOverflow==1\x00sqlite3PagerIswriteable(pNew->pDbPage)\x00\x00pPage->aData[0]==(PTF_INTKEY|PTF_LEAFDATA|PTF_LEAF)\x00balance_quick\x00\x00\x00szCell[i]==pPg->xCellSize(pPg, pCell) || CORRUPT_DB\x00rebuildPage\x00pParent->nOverflow==0 || pParent->nOverflow==1\x00\x00pParent->nOverflow==0 || pParent->aiOvfl[0]==iParentIdx\x00bBulk==0 || bBulk==1\x00\x00\x00\x00szScratch<=6*(int)pBt->pageSize\x00EIGHT_BYTE_ALIGNMENT(aSpace1)\x00\x00\x00k==0 || pOld->aiOvfl[k-1]+1==pOld->aiOvfl[k]\x00\x00\x00\x00b.nCell<nMaxCells\x00\x00\x00sz<=pBt->maxLocal+23\x00\x00\x00\x00iSpace1 <= (int)pBt->pageSize\x00\x00\x00leafCorrection==0 || leafCorrection==4\x00\x00leafCorrection==0\x00\x00\x00pOld->hdrOffset==0\x00\x00leafCorrection==4\x00\x00\x00b.szCell[b.nCell]==3 || CORRUPT_DB\x00\x00b.apCell[b.nCell]==&aSpace1[iSpace1-3] || CORRUPT_DB\x00\x00\x00\x00d<nMaxCells\x00r<nMaxCells\x00cntNew[0]>0 || (pParent->pgno==1 && pParent->nCell==0) || CORRUPT_DB\x00\x00\x00\x00CORRUPT_DB\x00\x00j<nMaxCells\x00b.apCell[j]!=0\x00\x00iOvflSpace <= (int)pBt->pageSize\x00\x00\x00\x00iPg>=0 && iPg<nNew\x00\x00iPg==0 || cntOld[iPg-1]>=cntNew[iPg-1] || abDone[iPg-1]\x00cntNew[iPg]>=cntOld[iPg] || abDone[iPg+1]\x00\x00\x00apNew[iPg]->nOverflow==0\x00\x00\x00\x00apNew[iPg]->nCell==nNewCell\x00\x01\x01\x01\x01\x01\x00\x00\x00memcmp(abDone, \"\\01\\01\\01\\01\\01\", nNew)==0\x00\x00nOld>0\x00\x00nNew>0\x00\x00nNew==1 || CORRUPT_DB\x00\x00\x00apNew[0]->nFree == (get2byte(&apNew[0]->aData[5])-apNew[0]->cellOffset-apNew[0]->nCell*2) || rc!=SQLITE_OK\x00\x00pParent->isInit\x00balance_nonroot\x00sqlite3_mutex_notheld(mem0.mutex)\x00\x00\x00sqlite3ScratchMalloc\x00\x00\x00\x00N>=0 && N<p->nCell\x00\x00cachedCellSize\x00\x00p->szCell[N]==0\x00computeCellSize\x00pPg->pgno!=iNew\x00sqlite3PagerRekey\x00\x00\x00(iOld-iNew)<nNew || nCell==0 || CORRUPT_DB\x00\x000==memcmp(pCell, &aData[iOff], pCArray->pRef->xCellSize(pCArray->pRef, pCArray->apCell[i+iNew]))\x00\x00\x00\x00sz>0\x00\x00\x00\x00pFree>aData && (pFree - aData)<65536\x00\x00\x00\x00pageFreeArray\x00\x00\x00editPage\x00\x00\x00\x00CORRUPT_DB || pPg->hdrOffset==0\x00(pSlot+sz)<=pCArray->apCell[i] || pSlot>=(pCArray->apCell[i]+sz) || CORRUPT_DB\x00\x00pageInsertArray\x00idx>=0 && idx+N<=p->nCell\x00\x00\x00p->apCell[idx]!=0\x00\x00\x00CORRUPT_DB || p->szCell[idx]==p->pRef->xCellSize(p->pRef, p->apCell[idx])\x00\x00\x00populateCellCache\x00\x00\x00mem0.nScratchFree <= (u32)sqlite3GlobalConfig.nScratch\x00\x00sqlite3ScratchFree\x00\x00pCur->curFlags & BTCF_WriteFlag\x00!hasReadConflicts(p, pCur->pgnoRoot)\x00\x00\x00\x00(flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0\x00\x00\x00\x00MX_CELL_SIZE(pBt) >= nCell\x00\x00pTmp!=0\x00bPreserve && (pCur->iPage==iCellDepth || CORRUPT_DB)\x00\x00\x00\x00pPage==pCur->apPage[pCur->iPage] || CORRUPT_DB\x00\x00(pPage->nCell>0 || CORRUPT_DB) && iCellIdx<=pPage->nCell\x00\x00\x00\x00sqlite3BtreeDelete\x00\x00r2->nField==nKeyCol\x00sqlite3VdbeSorterCompare\x00\x00\x00\x00sqlite3VdbeSorterRowkey\x00sqlite3VdbeCursorRestore\x00\x00\x00\x00sqlite3BtreeCursorIsValidNN\x00pCur->apPage[pCur->iPage]->nCell>0\x00\x00sqlite3BtreeFirst\x00\x00\x00sqlite3BtreeRowCountEst\x00pSorter\x00pSorter->list.pList\x00pSorter->pReader==0\x00sqlite3VdbeSorterRewind\x00p->u.iNext<sqlite3MallocSize(pList->aMemory)\x00\x00\x00\x00pTask->pUnpacked->errCode==SQLITE_OK || pTask->pUnpacked->errCode==SQLITE_NOMEM\x00(s1>0 && s1<7) || s1==8 || s1==9\x00\x00\x00\x00(s2>0 && s2<7) || s2==8 || s2==9\x00\x00\x00\x00vdbeSorterCompareInt\x00\x00\x00\x00vdbeSorterSort\x00\x00p1!=0 && p2!=0\x00\x00vdbeSorterMerge\x00pTask->pThread==0 && pTask->bDone==0\x00\x00\x00\x00pTask->list.pList==0\x00\x00\x00\x00pTask->list.aMemory==0 || pSorter->list.aMemory!=0\x00\x00pList->szPMA>0\x00\x00rc!=SQLITE_OK || pTask->file.pFd\x00\x00\x00\x00pTask->file.iEof==0\x00pTask->nPMA==0\x00\x00rc!=SQLITE_OK || pList->pList==0\x00\x00\x00\x00rc!=SQLITE_OK || pTask->file.iEof==iSz\x00\x00vdbeSorterListToPMA\x00p->iBufEnd<p->nBuffer\x00\x00\x00vdbePmaWriteBlob\x00\x00\x00\x00vdbePmaWriterFinish\x00vdbeSorterFlushPMA\x00\x00vdbeSorterCreateThread\x00\x00ppThread!=0\x00xTask!=0\x00\x00\x00\x00sqlite3ThreadCreate\x00p->xTask!=0\x00sqlite3ThreadProc\x00\x00\x00pTask->bDone==0\x00vdbeSorterFlushThread\x00\x00\x00pSorter->bUseThreads==0 || pSorter->nTask>1\x00pIncr->pTask!=pLast\x00p->pIncr==0 || ( (p->pIncr->pTask==&pSorter->aTask[iTask]) && (iTask!=pSorter->nTask-1 || p->pIncr->bUseThread==0) )\x00\x00\x00\x00pSorter->bUseThreads || pSorter->nTask==1\x00\x00\x00pTask->nPMA>0 || SQLITE_MAX_WORKER_THREADS>0\x00\x00\x00\x00pMain==0\x00\x00\x00\x00vdbeSorterMergeTreeBuild\x00\x00\x00\x00nReader<=SORTER_MAX_MERGE_COUNT\x00vdbeMergeEngineNew\x00\x00pFile->iEof>iStart\x00\x00pReadr->aAlloc==0 && pReadr->nAlloc==0\x00\x00pReadr->aBuffer==0\x00\x00pReadr->aMap==0\x00vdbePmaReaderInit\x00\x00\x00pReadr->pIncr==0 || pReadr->pIncr->bEof==0\x00\x00vdbePmaReaderSeek\x00\x00\x00p->aBuffer\x00\x00nRead>0\x00rc!=SQLITE_IOERR_SHORT_READ\x00aNext!=p->aAlloc\x00\x00\x00\x00vdbePmaReadBlob\x00pIncr->bUseThread\x00\x00\x00vdbeIncrBgPopulate\x00\x00pIncr->bEof==0\x00\x00pIncr->pMerger->pTask==pTask\x00\x00\x00\x00vdbeIncrPopulate\x00\x00\x00\x00vdbeSorterSetupMerge\x00\x00\x00\x00pIncr->bUseThread==0 || eMode==INCRINIT_TASK\x00\x00\x00\x00vdbePmaReaderIncrInit\x00\x00\x00pTask->file2.iEof>0\x00eMode==INCRINIT_ROOT || eMode==INCRINIT_TASK\x00\x00\x00\x00pMerger->pTask==0\x00\x00\x00vdbeMergeEngineInit\x00iOut<pMerger->nTree && iOut>0\x00\x00\x00pTask->pUnpacked!=0\x00vdbeMergeEngineCompare\x00\x00vdbePmaReaderIncrMergeInit\x00\x00pSorter->bUsePMA || (pSorter->pReader==0 && pSorter->pMerger==0)\x00\x00\x00\x00pSorter->pReader==0 || pSorter->pMerger==0\x00\x00pSorter->bUseThreads==0 || pSorter->pReader\x00pSorter->bUseThreads==1 || pSorter->pMerger\x00pSorter->pMerger!=0\x00pSorter->pMerger->pTask==(&pSorter->aTask[0])\x00\x00\x00sqlite3VdbeSorterNext\x00\x00\x00rc!=SQLITE_OK || pSorter->list.pList==0\x00sqlite3VdbeSorterWrite\x00\x00(nCellKey & SQLITE_MAX_U32)==(u64)nCellKey\x00\x00sqlite3VdbeIdxRowid\x00sqlite3VdbeIdxKeyCompare\x00\x00\x00\x00iTable>=2\x00\x00\x00maxRootPgno!=PENDING_BYTE_PAGE(pBt)\x00btreeDropTable\x00\x00sqlite3BtreeClearTable\x00\x00pPage->intKey || CORRUPT_DB\x00clearDatabasePage\x00\x00\x00sqlite3RootPageMoved\x00\x00\x00\x00sqlite_stat1\x00\x00\x00\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00\x00\x00\x00sqlite3AnalysisLoad\x00zDatabase!=0 || sqlite3BtreeHoldsAllMutexes(db)\x00sqlite3FindTable\x00\x00\x00\x00analysisLoader\x00\x00aOut==0\x00aLog!=0\x00pIndex!=0\x00\x00\x00unordered*\x00\x00sz=[0-9]*\x00\x00\x00noskipscan*\x00decodeIntArray\x00\x00matchOther<0x80\x00patternCompare\x00\x00!pIdx->hasStat1\x0010==sqlite3LogEst(2)\x00\x00\x00\x0033==sqlite3LogEst(10)\x00\x00\x0023==sqlite3LogEst(5)\x00\x00\x00\x00sqlite3DefaultRowEst\x00\x00\x00\x00zTabName\x00\x00\x00\x00sqlite3UnlinkAndDeleteTable\x00sqlite3UnlinkAndDeleteIndex\x00sqlite3UnlinkAndDeleteTrigger\x00\x00\x00p->inTrans>TRANS_NONE && pBt->inTransaction>TRANS_NONE\x00\x00nRef>=0\x00Main freelist: \x00Page %d is never used\x00\x00\x00Pointer map page %d is referenced\x00\x00\x00nRef==sqlite3PagerRefcount(pBt->pPager)\x00sqlite3BtreeIntegrityCheck\x00\x00iPg<=pCheck->nPage && sizeof(pCheck->aPgRef[0])==1\x00\x00setPageReferenced\x00\x00\x00%d of %d pages missing from overflow list starting at %d\x00\x00\x00\x00failed to get page %d\x00\x00\x00freelist leaf count too big on page %d\x00\x00free-page count in header is too small\x00\x00invalid page number %d\x00\x002nd reference to page %d\x00\x00\x00\x00getPageReferenced\x00\x00\x00Failed to read ptrmap key=%d\x00\x00\x00\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00\x00\x00Page %d: \x00\x00\x00unable to get the page. error code=%d\x00\x00\x00rc==SQLITE_CORRUPT\x00\x00btreeInitPage() returns error code %d\x00\x00\x00On tree page %d cell %d: \x00\x00\x00contentOffset<=usableSize\x00\x00\x00pPage->nCell==nCell\x00pPage->aCellIdx==&data[cellStart]\x00\x00\x00On page %d at right child: \x00pCellIdx==&data[cellStart + i*2]\x00\x00\x00\x00Offset %d out of range %d..%d\x00\x00\x00Extends off end of page\x00Rowid %lld out of order\x00pc + info.nSize - 4 <= usableSize\x00\x00\x00Child page depth differs\x00\x00\x00\x00(u32)i<=usableSize-4\x00\x00\x00\x00(u32)(i+size)<=usableSize\x00\x00\x00j==0 || j>i+size\x00\x00\x00\x00(u32)j<=usableSize-4\x00\x00\x00\x00Multiple uses for byte %u of page %d\x00\x00\x00\x00Fragmentation of %d bytes reported as %d on page %d\x00checkTreePage\x00\x00\x00pMem->zMalloc\x00\x00\x00pMem->u.pRowSet!=0\x00\x00sqlite3VdbeMemSetRowSet\x00N >= ROUND8(sizeof(*p))\x00sqlite3RowSetInit\x00\x00\x00p!=0 && (p->rsFlags & ROWSET_NEXT)==0\x00\x00\x00sqlite3RowSetInsert\x00rowSetEntryAlloc\x00\x00\x00\x00p->pForest==0\x00\x00\x00sqlite3RowSetNext\x00\x00\x00pA->pRight==0 || pA->v<=pA->pRight->v\x00\x00\x00pB->pRight==0 || pB->v<=pB->pRight->v\x00\x00\x00rowSetEntryMerge\x00\x00\x00\x00pRowSet!=0 && (pRowSet->rsFlags & ROWSET_NEXT)==0\x00\x00\x00sqlite3RowSetTest\x00\x00\x00pList!=0\x00\x00\x00\x00rowSetListToTree\x00\x00\x00\x00pIn!=0\x00\x00(*ppLast)->pRight==0\x00\x00\x00\x00rowSetTreeToList\x00\x00\x00\x00!pnLog || *pnLog==-1\x00\x00\x00\x00!pnCkpt || *pnCkpt==-1\x00\x00sqlite3Checkpoint\x00\x00\x00sqlite3PagerOkToChangeJournalMode\x00\x00\x00pPager->journalMode==PAGER_JOURNALMODE_WAL\x00\x00sqlite3PagerCloseWal\x00\x00\x00\x00eMode==PAGER_JOURNALMODE_DELETE || eMode==PAGER_JOURNALMODE_TRUNCATE || eMode==PAGER_JOURNALMODE_PERSIST || eMode==PAGER_JOURNALMODE_OFF || eMode==PAGER_JOURNALMODE_WAL || eMode==PAGER_JOURNALMODE_MEMORY\x00pPager->tempFile==0 || eMode!=PAGER_JOURNALMODE_WAL\x00eOld==PAGER_JOURNALMODE_MEMORY || eOld==PAGER_JOURNALMODE_OFF\x00\x00\x00isOpen(pPager->fd) || pPager->exclusiveMode\x00state==PAGER_OPEN || state==PAGER_READER\x00\x00\x00\x00state==pPager->eState\x00\x00\x00Filename: %s\x0aState: %s errCode=%d\x0aLock: %s\x0aLocking mode: locking_mode=%s\x0aJournal mode: journal_mode=%s\x0aBacking store: tempFile=%d memDb=%d useJournal=%d\x0aJournal: journalOff=%lld journalHdr=%lld\x0aSize: dbsize=%d dbOrigSize=%d dbFileSize=%d\x0a\x00\x00\x00OPEN\x00\x00\x00\x00READER\x00\x00WRITER_LOCKED\x00\x00\x00WRITER_CACHEMOD\x00WRITER_DBMOD\x00\x00\x00\x00WRITER_FINISHED\x00ERROR\x00\x00\x00?error?\x00NO_LOCK\x00RESERVED\x00\x00\x00\x00SHARED\x00\x00UNKNOWN\x00exclusive\x00\x00\x00normal\x00\x00memory\x00\x00off\x00delete\x00\x00persist\x00truncate\x00\x00\x00\x00wal\x00sqlite3PagerSetJournalMode\x00\x00iVersion==1 || iVersion==2\x00\x00sqlite3BtreeSetVersion\x00\x00eMode>=0 && eMode<=ArraySize(azModeName)\x00\x00\x00\x00sqlite3JournalModename\x00\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00\x00ATTACH''AS vacuum_db\x00\x00\x00\x00(db->nDb-1)==nDb\x00\x00\x00\x00vacuum_db\x00\x00\x00strcmp(pDb->zDbSName,\"vacuum_db\")==0\x00\x00\x00\x00SELECT sql FROM \"%w\".sqlite_master WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_master WHERE type='index' AND length(sql)>10\x00\x00\x00\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_master WHERE type='table'AND coalesce(rootpage,1)>0\x00\x00(db->flags & SQLITE_Vacuum)!=0\x00\x00INSERT INTO vacuum_db.sqlite_master SELECT*FROM \"%w\".sqlite_master WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00\x00\x001==sqlite3BtreeIsInTrans(pTemp)\x001==sqlite3BtreeIsInTrans(pMain)\x00sqlite3_strnicmp(zSql,\"SELECT\",6)==0\x00\x00\x00\x00zSubSql[0]!='S'\x00rc!=SQLITE_ROW\x00\x00execSql\x00sqlite3RunVacuum\x00\x00\x00\x00sqlite3BtreeSetSpillSize\x00\x00\x00\x00p->pCache!=0\x00\x00\x00\x00sqlite3PcacheSetSpillsize\x00\x00\x00sqlite3BtreeSetPagerFlags\x00\x00\x00nReserve>=-1 && nReserve<=255\x00\x00\x00nReserve>=0 && nReserve<=255\x00\x00\x00\x00sqlite3BtreeSetPageSize\x00sqlite3BtreeIsInTrans(pTo)\x00\x00b.rc!=SQLITE_OK\x00sqlite3BtreeIsInTrans(pTo)==0\x00\x00\x00sqlite3BtreeCopyFile\x00\x00\x00\x00nSrcPage>=0\x00pgszSrc==sqlite3BtreeGetPageSize(p->pSrc)\x00\x00\x00pgszDest==sqlite3BtreeGetPageSize(p->pDest)\x00nDestTruncate>0\x00nDestTruncate==0 || (i64)nDestTruncate*(i64)pgszDest >= iSize || ( nDestTruncate==(int)(PENDING_BYTE_PAGE(p->pDest->pBt)-1) && iSize>=PENDING_BYTE && iSize<=PENDING_BYTE+pgszDest )\x00\x00\x00\x00sqlite3_backup_step\x00sqlite3BtreeHoldsMutex(p->pSrc)\x00attachBackupObject\x00\x00sqlite3PagerClearCache\x00\x00pBt->inTransaction==TRANS_WRITE && p->inTrans==TRANS_WRITE\x00\x00sqlite3BtreeIncrVacuum\x00\x00p->inTrans!=TRANS_NONE\x00\x00sqlite3BtreeLockTable\x00\x00\x000==(p->db->flags&SQLITE_ReadUncommitted) || eLock==WRITE_LOCK\x00\x00\x00p->sharable\x00SQLITE_OK==querySharedCacheTableLock(p, iTable, eLock)\x00\x00setSharedCacheTableLock\x00sqlite3VdbeMemCopy\x00\x00pTab && IsVirtual(pTab) && !pTab->pVTable\x00\x00\x00no such module: %s\x00\x00sqlite3VtabCallCreate\x00\x00\x00vtable constructor called recursively: %s\x00\x00\x00&db->pVtabCtx\x00\x00\x00xConstruct\x00\x00sCtx.pTab==pTab\x00vtable constructor failed: %s\x00\x00\x00vtable constructor did not declare schema: %s\x00\x00\x00hidden\x00\x00zType[i-1]==' '\x00vtabCallConstructor\x00p->pVtab\x00\x00\x00\x00xDestroy!=0\x00pTab->pVTable==p && p->pNext==0\x00sqlite3VtabCallDestroy\x00\x00pPager->eState!=PAGER_OPEN\x00\x00pPager->mxPgno>=pPager->dbSize\x00\x00sqlite3PagerMaxPageCount\x00\x00\x00\x00(zRawSql - zStart) > 0\x00\x00zRawSql[0] || nToken==0\x00sqlite3Isdigit(zRawSql[1])\x00\x00zRawSql[0]==':' || zRawSql[0]=='$' || zRawSql[0]=='@' || zRawSql[0]=='#'\x00\x00\x00\x00idx>0\x00\x00\x00idx>0 && idx<=p->nVar\x00\x00\x00'%.*q'\x00\x00zeroblob(%d)\x00\x00\x00\x00pVar->flags & MEM_Blob\x00\x00x'\x00\x00%02x\x00\x00\x00\x00'\x00\x00\x00sqlite3VdbeExpandSql\x00\x00\x00\x00n>0 && tokenType!=TK_ILLEGAL\x00\x00\x00\x00findNextHostParameter\x00\x00\x00sqlite3_mutex_held(sqlite3VdbeDb(p)->mutex)\x00pNew==0\x00sqlite3Reprepare\x00\x00\x00\x00pA->db==pB->db\x00\x00sqlite3VdbeSwap\x00pTo->nVar==pFrom->nVar\x00\x00sqlite3TransferBindings\x00sqlite3_step\x00\x00\x00\x00main\x00\x00\x00\x00sqlite3_strnicmp(zName, \"pragma_\", 7)==0\x00\x00\x00\x00sqlite3HashFind(&db->aModule, zName)==0\x00sqlite3PragmaVtabRegister\x00\x00\x00application_id\x00\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00\x00\x00\x00cache_size\x00\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00\x00\x00\x00collation_list\x00\x00compile_options\x00count_changes\x00\x00\x00data_store_directory\x00\x00\x00\x00data_version\x00\x00\x00\x00database_list\x00\x00\x00default_cache_size\x00\x00defer_foreign_keys\x00\x00empty_result_callbacks\x00\x00encoding\x00\x00\x00\x00foreign_key_check\x00\x00\x00foreign_key_list\x00\x00\x00\x00foreign_keys\x00\x00\x00\x00freelist_count\x00\x00full_column_names\x00\x00\x00fullfsync\x00\x00\x00ignore_check_constraints\x00\x00\x00\x00incremental_vacuum\x00\x00index_info\x00\x00index_list\x00\x00index_xinfo\x00integrity_check\x00journal_mode\x00\x00\x00\x00journal_size_limit\x00\x00legacy_file_format\x00\x00lock_status\x00locking_mode\x00\x00\x00\x00max_page_count\x00\x00mmap_size\x00\x00\x00optimize\x00\x00\x00\x00page_count\x00\x00page_size\x00\x00\x00parser_trace\x00\x00\x00\x00query_only\x00\x00quick_check\x00read_uncommitted\x00\x00\x00\x00recursive_triggers\x00\x00reverse_unordered_selects\x00\x00\x00schema_version\x00\x00secure_delete\x00\x00\x00short_column_names\x00\x00shrink_memory\x00\x00\x00soft_heap_limit\x00sql_trace\x00\x00\x00stats\x00\x00\x00synchronous\x00table_info\x00\x00temp_store\x00\x00temp_store_directory\x00\x00\x00\x00threads\x00user_version\x00\x00\x00\x00vdbe_addoptrace\x00vdbe_debug\x00\x00vdbe_eqp\x00\x00\x00\x00vdbe_listing\x00\x00\x00\x00vdbe_trace\x00\x00wal_autocheckpoint\x00\x00wal_checkpoint\x00\x00writable_schema\x00CREATE TABLE x\x00\x00%c\"%s\"\x00\x00(\"%s\"\x00\x00\x00,arg HIDDEN\x00,schema HIDDEN\x00\x00strlen(zBuf) < sizeof(zBuf)-1\x00\x00\x00cid\x00name\x00\x00\x00\x00type\x00\x00\x00\x00notnull\x00dflt_value\x00\x00pk\x00\x00tbl\x00idx\x00wdth\x00\x00\x00\x00hght\x00\x00\x00\x00flgs\x00\x00\x00\x00seqno\x00\x00\x00desc\x00\x00\x00\x00coll\x00\x00\x00\x00key\x00seq\x00unique\x00\x00origin\x00\x00partial\x00file\x00\x00\x00\x00id\x00\x00table\x00\x00\x00to\x00\x00on_update\x00\x00\x00on_delete\x00\x00\x00match\x00\x00\x00parent\x00\x00fkid\x00\x00\x00\x00busy\x00\x00\x00\x00log\x00checkpointed\x00\x00\x00\x00timeout\x00database\x00\x00\x00\x00status\x00\x00pragmaVtabConnect\x00\x00\x00j < 2\x00\x00\x00pragmaVtabBestIndex\x00j<ArraySize(pCsr->azArg)\x00\x00\x00\x00PRAGMA \x00%Q.\x00=%Q\x00pragmaVtabFilter\x00\x00\x00\x00pCsr->pPragma\x00\x00\x00pragmaVtabNext\x00\x00sqlite3_result_value\x00\x00\x00\x00pTab->nModuleArg==0\x00sqlite3VtabEponymousTableInit\x00\x00\x00pTable\x00\x00view %s is circularly defined\x00\x00\x00pTable->nCol>=0\x00pTable->pSelect\x00pTable->aCol==0\x00sqlite3SchemaMutexHeld(db, 0, pTable->pSchema)\x00\x00sqlite3ViewGetColumnNames\x00\x00\x00pTab\x00\x00\x00\x00sqlite3VtabCallConnect\x00\x00db->lookaside.bDisable\x00\x00sqlite3ResultSetOfSelect\x00\x00\x00\x00pSelect!=0\x00\x00(pSelect->selFlags & SF_Resolved)!=0\x00\x00\x00\x00pTab->nCol==pSelect->pEList->nExpr || db->mallocFailed\x00\x00sqlite3SelectAddColumnTypeAndCollation\x00\x00pNC->pSrcList!=0\x00\x00\x00\x00pTab && pExpr->pTab==pTab\x00\x00\x00!pS\x00iCol==-1 || (iCol>=0 && iCol<pTab->nCol)\x00\x00\x00\x00columnTypeImpl\x00\x00sqlite3ExprCollSeq\x00\x00p==pColl\x00\x00\x00\x00sqlite3CheckCollSeq\x00no such index: %s\x00\x00\x00a NATURAL join may not have an ON or USING clause\x00\x00\x00cannot have both ON and USING clauses in the same join\x00\x00cannot join using column %s - column not present in both tables\x00sqliteProcessJoin\x00\x00\x00(piTab==0)==(piCol==0)\x00\x00tableAndColumnIndex\x00iLeft<iRight\x00\x00\x00\x00pSrc->nSrc>iRight\x00\x00\x00pSrc->a[iLeft].pTab\x00pSrc->a[iRight].pTab\x00\x00\x00\x00!ExprHasProperty(pEq, EP_TokenOnly|EP_Reduced)\x00\x00addWhereTerm\x00\x00\x00\x00p->op!=TK_INTEGER || (p->flags & EP_IntValue)!=0 || sqlite3GetInt32(p->u.zToken, &rc)==0\x00\x00\x00\x00v!=(-2147483647-1)\x00\x00sqlite3ExprIsInteger\x00\x00\x00\x00sqlite3ExprAttachSubtrees\x00\x00\x00sqlite3ExprListFlags\x00\x00\x00\x00Expression tree is too large (maximum depth %d)\x00setJoinExpr\x00sqlite3MatchSpanName\x00\x00\x00\x00pList!=0 || pParse->db->mallocFailed!=0\x00pItem->zName==0\x00sqlite3ExprListSetName\x00\x00pParse->pWith==pWith\x00\x00\x00\x00selectPopWith\x00\x00\x00sqlite3ResolveSelectNames\x00\x00\x00pNC!=0\x00\x00pParse==pWalker->pParse\x00pSrcList->a[i].iCursor>=0 && pSrcList->a[i].iCursor<pParse->nTab\x00\x00\x00\x00the \".\" operator\x00\x00\x00\x00pRight->op==TK_DOT\x00\x00second argument to likelihood() must be a constant between 0.0 and 1.0\x00\x00not authorized to use function: %s\x00\x00non-deterministic functions\x00misuse of aggregate function %.*s()\x00no such function: %.*s\x00\x00wrong number of arguments to function %.*s()\x00\x00\x00\x00pDef!=0\x00subqueries\x00\x00pNC->nRef>=nRef\x00parameters\x00\x00pExpr->pLeft!=0\x00pExpr->pRight!=0\x00\x00\x00\x00resolveExprStep\x00(validMask&~(NC_IsCheck|NC_PartIdx|NC_IdxExpr))==0\x00\x00partial index WHERE clauses\x00index expressions\x00\x00\x00CHECK constraints\x00\x00\x00%s prohibited in %s\x00notValid\x00\x00\x00\x00pNC\x00zCol\x00\x00\x00\x00!ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced)\x00\x00\x00\x00db->aDb[i].zDbSName\x00pNC && cnt==0\x00\x00\x00pTab!=0 && pTab->zName!=0\x00\x00\x00pTab->nCol>0\x00\x00\x00\x00zTabName!=0\x00(pMatch->fg.jointype & JT_RIGHT)==0\x00op==TK_DELETE || op==TK_UPDATE || op==TK_INSERT\x00pExpr->pLeft==0 && pExpr->pRight==0\x00pExpr->x.pList==0\x00\x00\x00pExpr->x.pSelect==0\x00misuse of aliased aggregate %s\x00\x00zTab==0 && zDb==0\x00\x00\x00no such column\x00\x00ambiguous column name\x00\x00\x00%s: %s.%s.%s\x00\x00\x00\x00pMatch->iCursor==pExpr->iTable\x00\x00pTopNC!=0\x00\x00\x00lookupName\x00\x00_ROWID_\x00ROWID\x00\x00\x00OID\x00iCol>=0 && iCol<pEList->nExpr\x00\x00\x00pOrig!=0\x00\x00\x00\x00(pExpr->flags & (EP_Reduced|EP_TokenOnly))==0\x00\x00\x00resolveAlias\x00\x00\x00\x00zC!=0\x00\x00\x00sqlite3ExprAddCollateString\x00pExpr->op==TK_COLUMN || pExpr->op==TK_TRIGGER\x00\x00\x00pTabList\x00\x00\x00\x00pTab->iPKey<pTab->nCol\x00\x00sqlite3AuthRead\x00access to %s.%s.%s is prohibited\x00\x00\x00\x00access to %s.%s is prohibited\x00\x00\x00r>=0.0\x00\x00exprProbability\x00pExpr->op==TK_AGG_FUNCTION\x00\x00sqlite3FunctionUsesThisSrc\x00\x00exprSrcCount\x00\x00\x00\x00(p->selFlags & SF_Expanded)!=0\x00\x00(p->selFlags & SF_Resolved)==0\x00\x00p->pSrc->nSrc==1 && p->pOrderBy\x00pSub->pPrior && pSub->pOrderBy==0\x00\x00\x00pItem->fg.isCorrelated==0 && nRef<=0\x00\x00\x00\x00(p->selFlags & SF_Aggregate)==0\x00a GROUP BY clause is required before HAVING\x00aggregate functions are not allowed in the GROUP BY clause\x00\x00resolveSelectStep\x00\x00\x00%r %s BY term out of range - should be between 1 and %d\x00sqlite3ExprCompare\x00\x00too many terms in %s BY clause\x00\x00sqlite3ResolveOrderGroupBy\x00\x00all VALUES must have the same number of terms\x00\x00\x00SELECTs to the left and right of %s do not have the same number of result columns\x00\x00\x00too many terms in ORDER BY clause\x00\x00\x00pDup\x00\x00\x00\x00pParent->op==TK_COLLATE\x00pParent->pLeft==pE\x00\x00%r ORDER BY term does not match any column in the result set\x00\x00\x00\x00resolveCompoundOrderBy\x00\x00sqlite3ExprIsInteger(pE, &i)==0\x00resolveOrderByTermToExprList\x00\x00\x00\x00p->selFlags & SF_Resolved\x00\x00\x00(p->selFlags & SF_HasTypeInfo)==0\x00\x00\x00selectAddSubqueryTypeInfo\x00\x00\x00p->pPrior==0\x00\x00\x00\x00pSrc && iFrom>=0 && iFrom<pSrc->nSrc\x00\x00\x00\x00pSub!=0\x00pSubSrc\x00pSub->pSrc!=0\x00\x00\x00pSub->pEList->nExpr==pSub1->pEList->nExpr\x00\x00\x00flatten %s.%p from term %d\x0a\x00compound-subquery flattener creates %s.%p as peer\x0a\x00\x00pParent==p\x00\x00pParent!=p\x00\x00pSrc->a[i+iFrom].fg.isTabFunc==0\x00\x00\x00\x00pParent->pOrderBy==0\x00\x00\x00\x00pSub->pPrior==0\x00pParent->pHaving==0\x00pParent->pGroupBy==0\x00\x00\x00\x00After flattening:\x0a\x00\x00flattenSubquery\x00pEList!=0 && pExpr->iColumn<pEList->nExpr\x00\x00\x00substExpr\x00\x00\x00sub-select returns %d columns - expected %d\x00substSelect\x00p && p->pPrior\x00\x00(p->selFlags & SF_Recursive)==0 || p->op==TK_ALL || p->op==TK_UNION\x00ORDER BY clause should come after %s not before\x00LIMIT clause should come after %s not before\x00\x00\x00\x00p->pEList\x00\x00\x00p->pEList && pPrior->pEList\x00p->pEList->nExpr==pPrior->pEList->nExpr\x00!pPrior->pLimit\x00Jump ahead if LIMIT reached\x00p->pLimit==0\x00\x00\x00\x00p->pOffset==0\x00\x00\x00p->pOrderBy==0\x00\x00p->addrOpenEphm[0] == -1\x00\x00\x00\x00!pPrior->pOrderBy\x00\x00\x00p->op==TK_UNION\x00unionTab==dest.iSDParm || dest.eDest!=priorOp\x00\x00\x00p->op==TK_INTERSECT\x00p->addrOpenEphm[1] == -1\x00\x00\x00\x00p->pNext==0\x00pLoop->addrOpenEphm[1]<0\x00\x00\x00\x00multiSelect\x00p->selFlags & SF_MultiValue\x00p->selFlags & SF_Values\x00p->op==TK_ALL || (p->op==TK_SELECT && p->pPrior==0)\x00p->pNext==0 || p->pEList->nExpr==p->pNext->pEList->nExpr\x00\x00\x00\x00p->pPrior->pNext==p\x00multiSelectValues\x00\x00\x00Queue table\x00recursive aggregate queries not supported\x00\x00\x00p->pOffset==0 || p->pLimit!=0\x00\x00\x00LIMIT counter\x00\x00\x00OFFSET counter\x00\x00LIMIT+OFFSET\x00\x00\x00\x00CLEAR\x0a\x00\x00computeLimitRegisters\x00\x00\x00generateWithRecursiveQuery\x00\x00sqlite3KeyInfoIsWriteable(pRet)\x00iCol>=0\x00multiSelectCollSeq\x00\x00multiSelectOrderByKeyInfo\x00\x00\x00iContinue!=0\x00\x00\x00\x00eDest==SRT_Set || eDest==SRT_Mem || eDest==SRT_Coroutine || eDest==SRT_Output\x00\x00\x00sqlite3VdbeCurrentAddr(v)==iJump || pParse->db->mallocFailed\x00\x00\x00\x00pDistinct->eTnctType==WHERE_DISTINCT_UNORDERED\x00\x00pSort==0\x00\x00\x00\x00sqlite3Strlen30(pDest->zAffSdst)==nResultCol\x00\x00\x00\x00nResultCol<=pDest->nSdst\x00\x00\x00\x00nResultCol==pDest->nSdst\x00\x00\x00\x00regResult==iParm\x00\x00\x00\x00pSO\x00eDest==SRT_Discard\x00\x00selectInnerLoop\x00target>0\x00\x00\x00\x00pParse->pVdbe!=0\x00\x00\x00\x00sqlite3ExprCodeExprList\x00ConstFactorOk(pParse)\x00\x00\x00sqlite3ExprCodeAtInit\x00\x00\x00addr>=0 && addr<p->nOp\x00\x00sqlite3VdbeChangeToNoop\x00sqlite3VdbeCurrentAddr\x00\x00!usedAsColumnCache(pParse, i, i+n-1)\x00\x00\x00\x00sqlite3GetTempRange\x00bSeq==0 || bSeq==1\x00\x00nData==1 || regData==regOrigData || regOrigData==0\x00\x00nPrefixReg==nExpr+bSeq\x00\x00pSelect->iOffset==0 || pSelect->iLimit!=0\x00\x00\x00pushOntoSorter\x00\x00iFrom>=iTo+nReg || iFrom+nReg<=iTo\x00\x00sqlite3ExprCodeMove\x00sqlite3KeyInfoIsWriteable(pInfo)\x00\x00\x00\x00keyInfoFromExprList\x00j<p->nLabel\x00j>=0\x00\x00\x00\x00sqlite3VdbeResolveLabel\x00p->pOrderBy!=0\x00\x00pKeyDup==0\x00\x00pPrior->pOrderBy==0\x00pOrderBy\x00\x00\x00\x00pItem->u.x.iOrderByCol>0\x00\x00\x00\x00pItem->u.x.iOrderByCol<=p->pEList->nExpr\x00\x00\x00\x00nOrderBy>=nExpr || db->mallocFailed\x00sqlite3KeyInfoIsWriteable(pKeyDup)\x00\x00left SELECT\x00right SELECT\x00\x00\x00\x00Output routine for A\x00\x00\x00\x00Output routine for B\x00\x00\x00\x00eof-A subroutine\x00\x00\x00\x00eof-B subroutine\x00\x00\x00\x00A-lt-B subroutine\x00\x00\x00A-eq-B subroutine\x00\x00\x00A-gt-B subroutine\x00\x00\x00multiSelectOrderBy\x00\x00pDest->eDest!=SRT_Exists\x00\x00\x00\x00pDest->eDest!=SRT_Table\x00pIn->nSdst==1 || pParse->nErr>0\x00pDest->eDest==SRT_Output\x00\x00\x00\x00sqlite3KeyInfoRef\x00\x00\x00generateOutputSubroutine\x00\x00\x00\x00pTabList!=0\x00j<pTabList->nSrc\x00\x00\x00\x00column%d\x00\x00\x00\x00generateColumnNames\x00op==TK_UNION || op==TK_EXCEPT || op==TK_INTERSECT || op==TK_ALL\x00COMPOUND SUBQUERIES %d AND %d %s(%s)\x00\x00\x00\x00USING TEMP B-TREE \x00\x00explainComposite\x00\x00\x00\x00(wctrlFlags & WHERE_ONEPASS_MULTIROW)==0 || ( (wctrlFlags & WHERE_ONEPASS_DESIRED)!=0 && (wctrlFlags & WHERE_OR_SUBCLAUSE)==0 )\x00(wctrlFlags & WHERE_OR_SUBCLAUSE)==0 || (wctrlFlags & WHERE_USE_LIMIT)==0\x00\x00\x00at most %d tables in a join\x00pWInfo->eOnePass==ONEPASS_OFF\x00\x00\x00EIGHT_BYTE_ALIGNMENT(sWLB.pNew)\x00m==MASKBIT(ii)\x00\x00(wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || pWInfo->nLevel==1\x00\x00\x00\x00pTabItem->iCursor==pLevel->iTabCur\x00\x00n<=pTab->nCol\x00\x00\x00iAuxArg!=0 || (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0\x00\x00\x00wctrlFlags & WHERE_ONEPASS_DESIRED\x00\x00pIx->pSchema==pTab->pSchema\x00iIndexCur>=0\x00\x00\x00\x00sqlite3WhereBegin\x00\x00\x00jumpIfNull==SQLITE_JUMPIFNULL || jumpIfNull==0\x00\x00pExpr->op!=TK_ISNULL || op==OP_NotNull\x00\x00pExpr->op!=TK_NOTNULL || op==OP_IsNull\x00\x00pExpr->op!=TK_NE || op==OP_Eq\x00\x00\x00pExpr->op!=TK_EQ || op==OP_Ne\x00\x00\x00pExpr->op!=TK_LT || op==OP_Ge\x00\x00\x00pExpr->op!=TK_LE || op==OP_Gt\x00\x00\x00pExpr->op!=TK_GT || op==OP_Le\x00\x00\x00pExpr->op!=TK_GE || op==OP_Lt\x00\x00\x00sqlite3ExprIfFalse\x00\x00pParse->iCacheLevel>=1\x00\x00POP to %d\x0a\x00sqlite3ExprCachePop\x00sqlite3ExprIfTrue\x00\x00\x00sqlite3BinaryCompareCollSeq\x00exprCodeBetween\x00begin IN expr\x00\x00\x00pParse->nErr || nVector==1 || eType==IN_INDEX_EPH || eType==IN_INDEX_INDEX_ASC || eType==IN_INDEX_INDEX_DESC\x00\x00\x00\x00cnt==1\x00\x00destIfNull==destIfFalse\x00end IN expr\x00sqlite3ExprCodeIN\x00\x00\x00pX->op==TK_IN\x00\x00\x00p->pEList->a[0].pExpr!=0\x00\x00\x00\x00p->pSrc!=0\x00\x00idxaff==SQLITE_AFF_TEXT\x00pReq!=0 || pRhs->iColumn==XN_ROWID || pParse->nErr\x00\x00pIdx->azColl[j]\x00i==nExpr || colUsed!=(MASKBIT(nExpr)-1)\x00USING INDEX %s FOR IN-OPERATOR\x00\x00sqlite3FindInIndex\x00\x00p->pTab!=0\x00\x00sqlite3ExprCanBeNull\x00\x00\x00\x00pTab->pSelect==0\x00\x00\x00\x00pRes->iTable==pSrc->a[0].iCursor\x00\x00\x00\x00isCandidateForInOpt\x00iDb>=0 && iDb<pParse->db->nDb\x00\x00\x00pParse->db->aDb[iDb].pBt!=0 || iDb==1\x00\x00\x00iDb<SQLITE_MAX_ATTACHED+2\x00\x00\x00sqlite3SchemaMutexHeld(pParse->db, iDb, 0)\x00\x00sqlite3CodeVerifySchema\x00unable to open a temporary database file for storing temporary tables\x00\x00\x00db->aDb[1].pSchema\x00\x00sqlite3OpenTempDatabase\x00first_entry_in(%d)\x00\x00!ExprHasProperty(pIn, EP_xIsSelect)\x00sqlite3InRhsIsConstant\x00\x00pMaskSet->n < ArraySize(pMaskSet->ix)\x00\x00\x00createMask\x00\x00too many arguments on %s() - max %d\x00sqlite3WhereTabFuncArgs\x00pMaskSet->n<=(int)sizeof(Bitmask)*8\x00sqlite3WhereGetMask\x00pExpr->op!=TK_AS && pExpr->op!=TK_COLLATE\x00\x00\x00pExpr->pRight==0\x00\x00\x00\x00ON clause references tables to its right\x00\x00\x00\x00op==TK_IN\x00\x00\x00pLeft->op==TK_VECTOR\x00\x00\x00\x00pTerm->iField==0\x00\x00\x00\x00pList->nExpr==2\x00pWC->op==TK_AND\x00NOCASE\x00\x00exprAnalyze\x00!ExprHasProperty(p, EP_TokenOnly)\x00\x00\x00sqlite3WhereExprUsage\x00\x00\x00exprSelectUsage\x00op<=TK_GE\x00\x00\x00exprMightBeIndexed\x00\x00allowedOp(op)\x00\x00\x00(WO_EQ<<(op-TK_EQ)) < 0x7fff\x00\x00\x00\x00op!=TK_ISNULL || c==WO_ISNULL\x00\x00\x00op!=TK_IN || c==WO_IN\x00\x00\x00op!=TK_EQ || c==WO_EQ\x00\x00\x00op!=TK_LT || c==WO_LT\x00\x00\x00op!=TK_LE || c==WO_LE\x00\x00\x00op!=TK_GT || c==WO_GT\x00\x00\x00op!=TK_GE || c==WO_GE\x00\x00\x00op!=TK_IS || c==WO_IS\x00\x00\x00operatorMask\x00\x00\x00\x00allowedOp(pExpr->op) && pExpr->op!=TK_IN\x00\x00\x00\x00pExpr->op>=TK_GT && pExpr->op<=TK_GE\x00\x00\x00\x00exprCommute\x00(pTerm->wtFlags & (TERM_DYNAMIC|TERM_ORINFO|TERM_ANDINFO))==0\x00\x00\x00pExpr->op==TK_OR\x00\x00\x00\x00pOrWc->nTerm>=2\x00(pOrTerm->wtFlags & (TERM_ANDINFO|TERM_ORINFO))==0\x00\x00pAndTerm->pExpr\x00pOrTerm->eOperator & WO_EQ\x00\x00j==1\x00\x00\x00\x00pOrTerm->wtFlags & (TERM_COPIED|TERM_VIRTUAL)\x00\x00\x00IsPowerOfTwo(chngToIN)\x00\x00chngToIN==sqlite3WhereGetMask(&pWInfo->sMaskSet, iCursor)\x00\x00\x00pOrTerm->leftCursor==iCursor\x00\x00\x00\x00pOrTerm->u.leftColumn==iColumn\x00\x00pLeft!=0\x00\x00\x00\x00!ExprHasProperty(pNew, EP_xIsSelect)\x00\x00\x00\x00exprAnalyzeOrTerm\x00\x00\x00pOne->pExpr->pLeft!=0 && pOne->pExpr->pRight!=0\x00pTwo->pExpr->pLeft!=0 && pTwo->pExpr->pRight!=0\x00eOp & (WO_GT|WO_GE)\x00op<TK_GE\x00\x00\x00\x00whereCombineDisjuncts\x00\x00\x00pRight->op==TK_VARIABLE || pRight->op==TK_REGISTER\x00\x00(char*)&likeInfoAlt == (char*)&likeInfoAlt.matchAll\x00&((char*)&likeInfoAlt)[1] == (char*)&likeInfoAlt.matchOne\x00\x00\x00&((char*)&likeInfoAlt)[2] == (char*)&likeInfoAlt.matchSet\x00\x00\x00sqlite3IsLikeFunction\x00\x00\x00iVar>0\x00\x00sqlite3VdbeGetBoundValue\x00\x00\x00\x00sqlite3VdbeSetVarmask\x00\x00\x00isLikeOrGlob\x00\x00\x00\x00regexp\x00\x00pVector->flags & EP_xIsSelect\x00\x00\x00pRet==0 || pRet->iTable==0\x00\x00sqlite3ExprForVectorField\x00\x00\x00pScan->iEquiv<=pScan->nEquiv\x00\x00\x00\x00pWC!=0\x00\x00pX->pLeft\x00\x00\x00whereScanNext\x00\x00\x00pExpr->op==TK_EQ || pExpr->op==TK_IN || pExpr->op==TK_LT || pExpr->op==TK_GT || pExpr->op==TK_GE || pExpr->op==TK_LE || pExpr->op==TK_NE || pExpr->op==TK_IS || pExpr->op==TK_ISNOT\x00pExpr->pLeft\x00\x00\x00\x00comparisonAffinity\x00\x00iCol>=0 && iCol<pIdx->nColumn\x00\x00\x00j==(-2)\x00indexColumnNotNull\x00\x00pWInfo->pTabList->nSrc>=1\x00\x00\x00pLoop->aLTermSpace==pLoop->aLTerm\x00\x00\x00whereShortCut\x00\x00\x00(mPrereq & mUnusable)==0\x00\x00\x00\x00IsVirtual(pSrc->pTab)\x00\x00\x00bIn==0\x00\x00mNext>0\x00whereLoopAddVirtual\x00IsPowerOfTwo(pTerm->eOperator & ~WO_EQUIV)\x00\x00pTerm->u.leftColumn>=(-1)\x00\x00\x00pTerm->eOperator & (WO_IN|WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH)\x00\x00\x00allocateIndexInfo\x00\x00\x00(mUsable & mPrereq)==mPrereq\x00\x00\x00\x00pIdxInfo->needToFreeIdxStr==0\x00\x00\x00pNew->nLSlot>=nConstraint\x00\x00\x00%s.xBestIndex malfunction\x00\x00\x00iTerm<pNew->nLSlot\x00\x00(mExclude & WO_IN)==0\x00\x00\x00pNew->nLTerm<=pNew->nLSlot\x00\x00whereLoopAddVirtualOne\x00\x00p->rSetup==0 || pTemplate->rSetup==0 || p->rSetup==pTemplate->rSetup\x00\x00\x00\x00p->rSetup>=pTemplate->rSetup\x00\x00\x00\x00whereLoopFindLesser\x00!IsVirtual(pSrc->pTab)\x00\x0043==sqlite3LogEst(20)\x00\x00\x00(pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || b==0\x00whereLoopAddBtree\x00\x00\x00(pLoop->wsFlags & WHERE_AUTO_INDEX)==0\x00\x00whereLoopOutputAdjust\x00\x00\x00(pNew->wsFlags & WHERE_VIRTUALTABLE)==0\x00(pNew->wsFlags & WHERE_TOP_LIMIT)==0\x00\x00\x00\x00pNew->u.btree.nBtm==0\x00\x00\x00pNew->u.btree.nEq<pProbe->nColumn\x00\x00\x00nInMul==0 || (pNew->wsFlags & WHERE_COLUMN_NULL)!=0 || (pNew->wsFlags & WHERE_COLUMN_IN)!=0 || (pNew->wsFlags & WHERE_SKIPSCAN)!=0\x00\x0046==sqlite3LogEst(25)\x00\x00\x00nIn>0\x00\x00\x00saved_nEq==pNew->u.btree.nEq\x00\x00\x00\x00(pTop-(pTerm->pWC->a))<pTerm->pWC->nTerm\x00\x00\x00\x00pTop->wtFlags & TERM_LIKEOPT\x00\x00\x00\x00pTop->eOperator==WO_LT\x00\x00eOp & (WO_LT|WO_LE)\x00pNew->nOut==saved_nOut\x00\x00eOp & (WO_ISNULL|WO_EQ|WO_IN|WO_IS)\x00(eOp & WO_IN) || nIn==0\x0042==sqlite3LogEst(18)\x00\x00\x00whereLoopAddBtreeIndex\x00\x00pLower || pUpper\x00\x00\x00\x00pUpper==0 || (pUpper->wtFlags & TERM_VNULL)==0\x00\x00whereRangeScanEst\x00\x00\x0020==sqlite3LogEst(4)\x00\x00\x00\x00whereRangeAdjust\x00\x00\x00\x00rc==SQLITE_OK || sCur.n==0\x00\x00whereLoopAddOr\x00\x00nLoop<=pWInfo->pTabList->nSrc\x00\x00\x00aSortCost==0 || &pSpace[nSpace]==(char*)&aSortCost[nOrderBy]\x00\x00\x00\x00aSortCost!=0 || &pSpace[nSpace]==(char*)pX\x00\x0048==sqlite3LogEst(28)\x00\x00\x00aFrom[0].isOrdered==0\x00\x00\x00no query solution\x00\x00\x00pWInfo->nLevel==nLoop\x00\x00\x00pWInfo->sorted==0\x00\x00\x00wherePathSolver\x00pOrderBy!=0\x00wctrlFlags & WHERE_ORDERBY_LIMIT\x00\x00\x00\x00nColumn==nKeyCol+1 || !HasRowid(pIndex->pTable)\x00pIndex->aiColumn[nColumn-1]==XN_ROWID || !HasRowid(pIndex->pTable)\x00\x00j>=pLoop->u.btree.nEq || (pLoop->aLTerm[j]==0)==(j<pLoop->nSkip)\x00\x00\x00\x00(pLoop->aLTerm[i]->eOperator & WO_IN)\x00\x00\x00wherePathSatisfiesOrderBy\x00\x00\x00nOrderBy>0 && 66==sqlite3LogEst(100)\x00\x00\x00\x00whereSortingCost\x00\x00\x00\x00!ExprHasProperty(pExpr, EP_FromJoin) || pExpr->iRightJoinTable!=pSrc->iCursor || pLoop->prereq!=0\x00\x00\x00automatic index on %s(%s)\x00\x00\x00nKeyCol>0\x00\x00\x00auto-index\x00\x00(u32)n==pLoop->u.btree.nEq\x00\x00n==nKeyCol\x00\x00pLevel->iIdxCur>=0\x00\x00for %s\x00\x00next row of \"%s\"\x00\x00\x00\x00constructAutomaticIndex\x00pIdx->aColExpr\x00\x00pIdx->aColExpr->nExpr>iIdxCol\x00\x00\x00sqlite3ExprCodeLoadIndexColumn\x00\x00x==XN_EXPR\x00\x00pIdx->aColExpr!=0\x00\x00\x00sqlite3IndexAffinityStr\x00SEARCH\x00\x00SCAN\x00\x00\x00\x00 SUBQUERY %d\x00\x00\x00\x00 TABLE %s\x00\x00\x00 AS %s\x00\x00pLoop->u.btree.pIndex!=0\x00\x00\x00\x00!(flags&WHERE_AUTO_INDEX) || (flags&WHERE_IDX_ONLY)\x00PRIMARY KEY\x00AUTOMATIC PARTIAL COVERING INDEX\x00\x00\x00\x00AUTOMATIC COVERING INDEX\x00\x00\x00\x00COVERING INDEX %s\x00\x00\x00INDEX %s\x00\x00\x00\x00 USING \x00=\x00\x00\x00>? AND rowid<\x00\x00\x00>\x00\x00\x00flags&WHERE_TOP_LIMIT\x00\x00\x00<\x00\x00\x00 USING INTEGER PRIMARY KEY (rowid%s?)\x00\x00\x00 VIRTUAL TABLE INDEX %d:%s\x00\x00sqlite3WhereExplainOneScan\x00\x00 (\x00\x00 AND \x00\x00\x00%s=?\x00\x00\x00\x00ANY(%s)\x00<expr>\x00\x00nTerm>=1\x00\x00\x00\x00(\x00\x00\x00,\x00\x00\x00explainAppendTerm\x00\x00\x00init LEFT JOIN no-match flag\x00\x00\x00\x00pLevel->u.in.aInLoop!=0 || db->mallocFailed\x00iIn>0\x00\x00\x00pOp->opcode==OP_Column || pOp->opcode==OP_Rowid\x00pOp->opcode!=OP_Column || pOp->p3==iReg+j+2\x00pOp->opcode!=OP_Rowid || pOp->p2==iReg+j+2\x00\x00pCompare!=0 || db->mallocFailed\x00pLoop->u.btree.nEq==1\x00\x00\x00pTerm!=0\x00\x00\x00\x00pTerm->pExpr!=0\x00omitTable==0\x00\x00\x00\x00pStart!=0 || pEnd!=0\x00\x00\x00\x00(pStart->wtFlags & TERM_VNULL)==0\x00\x00\x00(pEnd->wtFlags & TERM_VNULL)==0\x00pLevel->p5==0\x00\x00\x00nEq>=pLoop->nSkip\x00\x00\x00pWInfo->pOrderBy==0 || pWInfo->pOrderBy->nExpr==1 || (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)==0\x00\x00pLoop->nSkip==0\x00(pRangeStart->wtFlags & TERM_LIKEOPT)==0 || (pLoop->wsFlags & WHERE_TOP_LIMIT)!=0\x00\x00\x00pRangeStart!=0\x00\x00pRangeStart->wtFlags & TERM_LIKEOPT\x00LIKE loop counter\x00\x00\x00(bRev & ~1)==0\x00\x00pRangeEnd==0 || (pRangeEnd->wtFlags & TERM_VNULL)==0\x00\x00\x00\x00zStartAff==0 || sqlite3Strlen30(zStartAff)>=nEq\x00op!=0\x00\x00\x00pTerm->eOperator & WO_OR\x00\x00\x00\x00(pTerm->wtFlags & TERM_ORINFO)!=0\x00\x00\x00pSubWInfo || pParse->nErr || db->mallocFailed\x00\x00\x00(pSubLoop->wsFlags & WHERE_AUTO_INDEX)==0\x00\x00\x00pSubWInfo->a[0].iIdxCur==iCovCur\x00\x00\x00\x00bRev==0 || bRev==1\x00\x00pE!=0\x00\x00\x00x>0\x00!ExprHasProperty(pE, EP_FromJoin)\x00\x00\x00(pTerm->prereqRight & pLevel->notReady)!=0\x00\x00record LEFT JOIN hit\x00\x00\x00\x00pWInfo->untestedTerms\x00\x00\x00pTerm->pExpr\x00\x00\x00\x00sqlite3WhereCodeOneLoopStart\x00\x00\x00\x00pLevel->pWLoop->aLTerm[iEq]==pTerm\x00\x00iTarget>0\x00\x00\x00(pLoop->wsFlags & WHERE_MULTI_OR)==0\x00\x00\x00\x00codeEqualityTerm\x00\x00\x00\x00disableTerm\x00nReg>0\x00\x00nReg<=pList->nExpr\x00\x00nReg==1\x00codeExprOrVector\x00\x00\x00\x00(pLoop->wsFlags & WHERE_VIRTUALTABLE)==0\x00\x00\x00\x00zAff!=0 || pParse->db->mallocFailed\x00begin skip-scan on %s\x00\x00\x00zAff==0 || (int)strlen(zAff)>=nEq\x00\x00\x00codeAllEqualityTerms\x00\x00\x00\x00p->iTable>=0\x00\x00\x00\x00sqlite3ExprNeedsNoAffinityChange\x00\x00\x00\x00pLevel->iLikeRepCntr>0\x00\x00pOp!=0\x00\x00pOp->opcode==OP_String8 || pTerm->pWC->pWInfo->pParse->db->mallocFailed\x00whereLikeOptimizationStringFixup\x00\x00\x00\x00codeApplyAffinity\x00\x00\x00iIdxCur>0\x00\x00\x00pIdx->aiColumn[pIdx->nColumn-1]==-1\x00pIdx->aiColumn[i]<pTab->nCol\x00\x00\x00\x00codeDeferredSeek\x00\x00\x00\x00next skip-scan on %s\x00\x00\x00\x00(ws & WHERE_IDX_ONLY)==0 || (ws & WHERE_INDEXED)!=0\x00pWInfo->nLevel<=pTabList->nSrc\x00\x00pIdx->pTable==pTab\x00\x00x>=0\x00\x00\x00\x00(pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 || pWInfo->eOnePass\x00\x00\x00\x00sqlite3WhereEnd\x00whereInfoFree\x00\x00\x00pWInfo->iContinue!=0\x00\x00\x00\x00sqlite3WhereContinueLabel\x00\x00\x00analyzeAggregate\x00\x00\x00\x00sqlite3ExprAnalyzeAggregates\x00\x00\x00\x00USE TEMP B-TREE FOR %s\x00\x00pWInfo->wctrlFlags & WHERE_GROUPBY\x00\x00pWInfo->wctrlFlags & WHERE_SORTBYGROUP\x00\x00sqlite3WhereIsSorted\x00\x00\x00\x00!ExprHasProperty(pF->pExpr, EP_xIsSelect)\x00\x00\x00updateAccumulator\x00\x00\x00finalizeAggFunctions\x00\x00\x00\x00nReg==pAggInfo->mxReg-pAggInfo->mnReg+1\x00pAggInfo->aCol[i].iMem>=pAggInfo->mnReg && pAggInfo->aCol[i].iMem<=pAggInfo->mxReg\x00\x00pAggInfo->aFunc[i].iMem>=pAggInfo->mnReg && pAggInfo->aFunc[i].iMem<=pAggInfo->mxReg\x00\x00\x00\x00!ExprHasProperty(pE, EP_xIsSelect)\x00\x00DISTINCT aggregates must have exactly one argument\x00\x00resetAccumulator\x00\x00\x00\x00!p->pGroupBy\x00\x00\x00\x00pTab && !pTab->pSelect && pExpr\x00isSimpleCount\x00\x00\x00SCAN TABLE %s%s%s\x00\x00\x00 USING COVERING INDEX \x00\x00*ppMinMax==0 || (*ppMinMax)->nExpr==1\x00\x00\x00minMaxQuery\x00addrBreak<0\x00nColumn==sqlite3Strlen30(pDest->zAffSdst)\x00\x00\x00eDest==SRT_Output || eDest==SRT_Coroutine\x00\x00\x00generateSortTail\x00\x00\x00\x00op==TK_VECTOR || op==TK_REGISTER || op==TK_SELECT\x00\x00\x00exprVectorRegister\x00\x00pVtab!=0\x00\x00\x00\x00pVtab->pModule!=0\x00\x00\x00sqlite3VtabOverloadFunction\x00(errCode&0xff)==SQLITE_CONSTRAINT\x00\x00\x00sqlite3HaltConstraint\x00\x00\x00pParse!=0\x00\x00\x00pParse==p->pParse\x00\x00\x00EIGHT_BYTE_ALIGNMENT(x.pSpace)\x00\x00x.nFree>=0\x00\x00EIGHT_BYTE_ALIGNMENT(&x.pSpace[x.nFree])\x00\x00\x00\x00sqlite3VdbeMakeReady\x00\x00\x00\x00(pOp - p->aOp) >= 3\x00pOp[-1].opcode==OP_Integer\x00\x00ADDR(pOp->p2)<pParse->nLabel\x00\x00\x00\x00p->bIsReader!=0 || DbMaskAllZero(p->btreeMask)\x00\x00resolveP2Values\x00EIGHT_BYTE_ALIGNMENT(p->pSpace)\x00EIGHT_BYTE_ALIGNMENT(pBuf)\x00\x00allocSpace\x00\x00sqlite3BeginTransaction\x00pParse->db!=0\x00\x00\x00sqlite3CommitTransaction\x00\x00\x00\x00sqlite3RollbackTransaction\x00\x00temporary table name must be unqualified\x00\x00\x00\x00isTemp==0 || isTemp==1\x00\x00isView==0 || isView==1\x00\x00table %T already exists\x00!db->init.busy || CORRUPT_DB\x00\x00\x00\x00there is already an index named %s\x00\x00sqlite_sequence\x00pName2!=0\x00\x00\x00corrupt database\x00\x00\x00\x00unknown database %T\x00db->init.iDb==0 || db->init.busy || (db->flags & SQLITE_Vacuum)!=0\x00\x00sqlite3TwoPartName\x00\x00sqlite_\x00object name reserved for internal use: %s\x00\x00\x00sqlite3StartTable\x00\x00\x00!db->init.busy || !pSelect\x00\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00\x00\x00PRIMARY KEY missing on table %s\x00view\x00\x00\x00\x00pParse->nTab==1\x00p->aCol==0\x00\x00CREATE %s %.*s\x00\x00UPDATE %Q.%s SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00\x00\x00tbl_name='%q' AND type!='trigger'\x00\x00\x00p==pOld\x00!pSelect && pCons && pEnd\x00\x00\x00sqlite3EndTable\x00pParse->pNewTable==pTab\x00pIdx->nColumn>=pIdx->nKeyCol+n\x00\x00pIdx->nColumn>=j\x00\x00\x00\x00j<pPk->nColumn\x00\x00pPk->nColumn==j\x00pTab->nCol==j\x00\x00\x00convertToWithoutRowidTable\x00\x00pName1 && pName2\x00\x00\x00\x00pName && pName->z\x00\x00\x00index\x00\x00\x00db->mallocFailed==0 || pTab==0\x00\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00\x00\x00pName==0\x00\x00\x00\x00pStart==0\x00\x00\x00pParse->nErr==0\x00altertab_\x00\x00\x00table %s may not be indexed\x00views may not be indexed\x00\x00\x00\x00virtual tables may not be indexed\x00\x00\x00pName->z!=0\x00there is already a table named %s\x00\x00\x00index %s already exists\x00!db->init.busy\x00\x00sqlite_autoindex_%s_%d\x00\x00pList->nExpr==1\x00EIGHT_BYTE_ALIGNMENT(pIndex->aiRowLogEst)\x00\x00\x00EIGHT_BYTE_ALIGNMENT(pIndex->azColl)\x00\x00\x00\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00\x00\x00\x00pCopy!=0\x00\x00\x00\x00j<=0x7fff\x00\x00\x00nExtra>=nColl\x00\x00\x00i==pIndex->nColumn\x00\x00HasRowid(pTab) || pTab->iPKey<0 || sqlite3ColumnOfIndex(pIndex, pTab->iPKey)>=0\x00IsUniqueIndex(pIdx)\x00pIdx->idxType!=SQLITE_IDXTYPE_APPDEF\x00\x00\x00\x00IsUniqueIndex(pIndex)\x00\x00\x00pIdx->aiColumn[k]>=0\x00\x00\x00\x00conflicting ON CONFLICT clauses specified\x00\x00\x00!IN_DECLARE_VTAB\x00\x00\x00\x00sqlite3SchemaMutexHeld(db, 0, pIndex->pSchema)\x00\x00p==pIndex\x00\x00\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00\x00sqlite3CreateIndex\x00\x00pItem && pSrc->nSrc==1\x00\x00sqlite3SrcListLookup\x00\x00\x00\x00db->nDb>iDb\x00sqlite3FixInit\x00\x00%s %T cannot reference objects in database %s\x00\x00\x00sqlite3FixSrcList\x00\x00\x00%s cannot use variables\x00p->nExpr>0\x00\x00p->a[p->nExpr-1].sortOrder==SQLITE_SO_ASC\x00\x00\x00sqlite3ExprListSetSortOrder\x00too many columns in %s\x00\x00type==NC_IsCheck || type==NC_PartIdx || type==NC_IdxExpr\x00\x00\x00\x00sqlite3ResolveSelfReference\x00x<pIdx->pTable->nCol\x00\x00\x00\x00estimateIndexWidth\x00\x00pParse->nested<10\x00\x00\x00sqlite3NestedParse\x00\x00pKey!=0 || db->mallocFailed || pParse->nErr\x00sqlite3RefillIndex\x00\x00index '%q'\x00\x00pIdx->aiColumn[j]>=0\x00\x00\x00\x00, \x00\x00sqlite3UniqueConstraint\x00sqlite3ChangeCookie\x00pIdx->isResized==0\x00\x00resizeIndexObject\x00\x00\x00\x0a \x00,\x0a \x00\x00\x00\x00\x0a)\x00\x00CREATE TABLE \x00\x00\x00pCol->affinity-SQLITE_AFF_BLOB >= 0\x00pCol->affinity-SQLITE_AFF_BLOB < ArraySize(azType)\x00\x00pCol->affinity==SQLITE_AFF_BLOB || pCol->affinity==sqlite3AffinityType(zType, 0)\x00\x00\x00\x00k<=n\x00\x00\x00\x00createTableStmt\x00 TEXT\x00\x00\x00 NUM\x00\x00\x00\x00 INT\x00\x00\x00\x00 REAL\x00\x00\x00z<=zTerm\x00\x00\x00\x00sqlite3Utf8CharLen\x00\x00too many columns on %s\x00\x00duplicate column name: %s\x00\x00\x00default value of column [%s] is not constant\x00\x00\x00\x00isInit==0 || isInit==1\x00\x00sqlite3ExprIsConstantOrFunction\x00sqlite3AddNotNull\x00\x00\x00table \"%s\" has more than one primary key\x00\x00\x00\x00pCExpr!=0\x00\x00\x00autoInc==0 || autoInc==1\x00\x00\x00\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00sqlite3AddPrimaryKey\x00\x00\x00\x00pTo!=0\x00\x00foreign key on %s should reference only one column of table %T\x00\x00number of columns in foreign key does not match the number of columns in the referenced table\x00\x00\x00unknown column \"%s\" in foreign key definition\x00\x00\x00sqlite3SchemaMutexHeld(db, 0, p->pSchema)\x00\x00\x00pNextTo->pPrevTo==0\x00sqlite3CreateForeignKey\x00isDeferred==0 || isDeferred==1\x00\x00sqlite3DeferForeignKey\x00\x00pIdx->nKeyCol==1\x00\x00\x00\x00sqlite3AddCollateType\x00\x00\x00pName->nSrc==1\x00\x00isView==0 || isView==LOCATE_VIEW\x00\x00\x00\x00sqlite_stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00\x00\x00use DROP VIEW to delete view %s\x00sqlite3DropTable\x00\x00\x00\x00sqlite_stat%d\x00\x00\x00DELETE FROM %Q.%s WHERE %s=%Q\x00\x00\x00sqlite3FkDropTable\x00\x00pTabList->nSrc==1\x00\x00\x00rcauth==SQLITE_OK || rcauth==SQLITE_DENY || rcauth==SQLITE_IGNORE\x00\x00\x00!isView || pTrigger\x00!isView\x00pIdx->pSchema==pTab->pSchema\x00\x00\x00\x00IsVirtual(pTab)==0 || eOnePass!=ONEPASS_MULTI\x00\x00\x00IsVirtual(pTab) || bComplex || eOnePass!=ONEPASS_OFF\x00\x00\x00\x00pPk->aiColumn[i]>=0\x00pPk || IsVirtual(pTab) || iDataCur==iTabCur\x00pPk || IsVirtual(pTab) || iIdxCur==iDataCur+1\x00\x00\x00nKey==nPk\x00\x00\x00pPk!=0 || pTab->pSelect!=0\x00\x00nKey==0\x00nKey==1\x00eOnePass==ONEPASS_OFF || eOnePass==ONEPASS_SINGLE\x00\x00\x00rows deleted\x00\x00\x00\x00sqlite3DeleteFrom\x00\x00\x00pList==0 || IsVirtual(pTab)==0\x00\x00sqlite3SchemaMutexHeld(pParse->db, 0, pTmpSchema)\x00\x00\x00sqlite3TriggerList\x00\x00sqlite3TriggersExist\x00\x00\x00\x00checkColumnOverlap\x00\x00table %s may not be modified\x00\x00\x00\x00cannot modify %s because it is a view\x00\x00\x00pParse\x00\x00sqlite3AuthContextPush\x00\x00pFrom->nSrc==1\x00\x00pFrom->a[0].pOn==0\x00\x00pFrom->a[0].pUsing==0\x00\x00\x00sqlite3MaterializeView\x00\x00pOffset==0 || pLimit!=0 || pParse->nErr>0 || db->mallocFailed!=0\x00\x00\x00\x00pNew->pSrc!=0 || pParse->nErr>0\x00pNew!=&standin\x00\x00sqlite3SelectNew\x00\x00\x00\x00op==OP_OpenRead || op==OP_OpenWrite\x00op==OP_OpenWrite || p5==0\x00\x00\x00sqlite3OpenTableAndIndices\x00\x00sqlite3VtabMakeWritable\x00sqlite3GenerateRowDelete\x00\x00\x00\x00isNew==1 || isNew==0\x00\x00\x00\x00sqlite3TriggerColmask\x00\x00\x00pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger)\x00\x00\x00\x00getRowTrigger\x00\x00\x00pTop->pVdbe\x00Start: %s.%s (%s %s%s%s ON %s)\x00\x00-- TRIGGER %s\x00\x00\x00End: %s.%s\x00\x00!pSubParse->pAinc && !pSubParse->pZombieTab\x00!pSubParse->pTriggerPrg && !pSubParse->nMaxArg\x00\x00codeRowTrigger\x00\x00default\x00n/a\x00pParse->pTriggerTab && pParse->pToplevel\x00\x00\x00\x00pStepList\x00\x00\x00pParse->okConstFactor==0\x00\x00\x00\x00pStep->op==TK_SELECT\x00\x00\x00\x00codeTriggerProgram\x00\x00pTrigger || tmask==0\x00\x00\x00\x00no such column: %s\x00\x00(chngRowid & chngPk)==0\x00chngRowid==0 || chngRowid==1\x00\x00\x00\x00chngPk==0 || chngPk==1\x00\x00iCur!=iDataCur || !HasRowid(pTab)\x00\x00\x00pPk\x00chngKey || pTrigger || hasFK || regOldRowid==regNewRowid\x00\x00\x00\x00regOldRowid>0\x00\x00\x00regNew==regNewRowid+1\x00\x00\x00rows updated\x00\x00\x00\x00sqlite3Update\x00\x00\x00updateVirtualTable\x00\x00pIdx->aiColumn[i]>=0\x00\x00\x00\x00ppIdx && *ppIdx==0\x00\x00!paiCol || *paiCol==0\x00\x00\x00nCol>1\x00\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00\x00\x00\x00sqlite3FkLocateIndex\x00\x00\x00\x00sqlite3FkOldmask\x00\x00\x00\x00op==TK_UPDATE || op==TK_INSERT || op==TK_DELETE\x00tr_tm==TRIGGER_BEFORE || tr_tm==TRIGGER_AFTER\x00\x00\x00(op==TK_UPDATE)==(pChanges!=0)\x00\x00p->pSchema!=0\x00\x00\x00p->pTabSchema!=0\x00\x00\x00\x00p->pSchema==p->pTabSchema || p->pSchema==pParse->db->aDb[1].pSchema\x00sqlite3CodeRowTrigger\x00\x00\x00pPrg || pParse->nErr || pParse->db->mallocFailed\x00\x00\x00\x00Call: %s.%s\x00fkey\x00\x00\x00\x00sqlite3CodeRowTriggerDirect\x00onError==OE_Rollback || onError==OE_Abort || onError==OE_Fail || onError==OE_Ignore || onError==OE_Replace\x00\x00onError==OE_Replace\x00%s column %d\x00\x00\x00\x00sqlite3GenerateConstraintChecks\x00pExpr->iColumn>=0 || pExpr->iColumn==-1\x00checkConstraintExprNode\x00%s.rowid\x00\x00\x00\x00iIdxCur+i!=iDataCur || pPk==pIdx\x00\x00\x00\x00sqlite3GenerateRowIndexDelete\x00\x00\x00(regOld==0)!=(regNew==0)\x00\x00\x00\x00isIgnoreErrors==0 || (regOld!=0 && regNew==0)\x00\x00\x00pFKey->nCol==1 || (aiFree && pIdx)\x00\x00pIdx==0 || pIdx->aiColumn[i]>=0\x00regOld==0 && regNew!=0\x00\x00aiCol || pFKey->nCol==1\x00sqlite3FkCheck\x00\x00aiCol[i]!=pTab->iPKey\x00\x00\x00nIncr==1\x00\x00\x00\x00fkLookupParent\x00\x00pIdx==0 || pIdx->pTable==pTab\x00\x00\x00pIdx==0 || pIdx->nKeyCol==pFKey->nCol\x00\x00\x00pIdx!=0 || pFKey->nCol==1\x00\x00\x00pIdx!=0 || HasRowid(pTab)\x00\x00\x00fkScanChildren\x00\x00update_flags==0 || update_flags==OPFLAG_ISUPDATE || update_flags==(OPFLAG_ISUPDATE|OPFLAG_SAVEPOSITION)\x00pParse->nested==0\x00\x00\x00sqlite3CompleteInsertion\x00\x00\x00\x00iFromCol>=0\x00pIdx!=0 || (pTab->iPKey>=0 && pTab->iPKey<pTab->nCol)\x00\x00\x00pStep!=0\x00\x00\x00\x00fkActionTrigger\x00autoIncrementEnd\x00\x00\x00\x00pSrc->nSrc>0\x00\x00\x00\x00targetSrcList\x00\x00\x00(pTrigger && tmask) || (pTrigger==0 && tmask==0)\x00\x00\x00\x00!pTrigger\x00\x00\x00pList==0\x00\x00\x00\x00!withoutRowid\x00\x00\x00table %S has no column named %s\x00pSelect->pEList\x00useTempTable==0\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00\x00\x00\x00pIdx\x00\x00\x00\x00pSelect==0\x00\x00rows inserted\x00\x00\x00sqlite3Insert\x00\x00\x00pSelect->pSrc\x00\x00\x00pSelect->pOffset==0\x00pEList->a[0].pExpr\x00\x00pDestCol->pDflt==0 || pDestCol->pDflt->op==TK_SPAN\x00\x00pSrcCol->pDflt==0 || pSrcCol->pDflt->op==TK_SPAN\x00\x00\x00\x00HasRowid(pDest) || destHasUniqueIdx\x00(pDest->tabFlags & TF_Autoincrement)==0\x00pSrcIdx\x00xferOptimization\x00\x00\x00\x00pDest && pSrc\x00\x00\x00pDest->pTable!=pSrc->pTable\x00pSrc->aColExpr!=0 && pDest->aColExpr!=0\x00xferCompatibleIndex\x00pOp->p4.pVtab!=0\x00\x00\x00\x00readsTable\x00\x00pExpr->op!=TK_REGISTER\x00\x00sqlite3ExprCodeAndCache\x00pFrom->zErrMsg==0 || pFrom->nErr\x00\x00\x00\x00pTo->zErrMsg==0 || pTo->nErr\x00\x00\x00\x00transferParseError\x00\x00aOp && !p->db->mallocFailed\x00DbMaskAllZero(p->btreeMask)\x00sqlite3VdbeTakeOpArray\x00\x00pTrigger->pSchema==pTab->pSchema || pTrigger->pSchema==db->aDb[1].pSchema\x00\x00\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00\x00\x00\x00DELETE FROM %Q.%s WHERE tbl_name=%Q and type!='trigger'\x00sqlite3CodeDropTable\x00\x00\x00\x00pTable->pSchema==pTrigger->pSchema || iDb==1\x00\x00\x00\x00DELETE FROM %Q.%s WHERE name=%Q AND type='trigger'\x00\x00sqlite3DropTriggerPtr\x00\x00\x00destroyTable\x00\x00\x00\x00iTable>1\x00\x00\x00\x00UPDATE %Q.%s SET rootpage=%d WHERE #%d AND rootpage=#%d\x00destroyRootPage\x00sqlite3SchemaMutexHeld(db, idx, 0)\x00\x00sqliteViewResetAll\x00\x00parameters are not allowed in views\x00sEnd.z[0]!=0\x00\x00\x00\x00sqlite3CreateView\x00\x00\x00too many terms in compound SELECT\x00\x00\x00yy_reduce\x00\x00\x00pList!=0 || db->mallocFailed!=0\x00db->mallocFailed || pItem->pExpr==pSpan->pExpr\x00\x00sqlite3ExprListSetSpan\x00\x00pIndexedBy!=0\x00\x00\x00pItem->fg.notIndexed==0\x00pItem->fg.isIndexedBy==0\x00\x00\x00\x00pItem->fg.isTabFunc==0\x00\x00sqlite3SrcListIndexedBy\x00sqlite3SrcListFuncArgs\x00\x00 \x00\x00\x00pB!=0\x00\x00\x00unknown or unsupported join type: %T %T%s%T\x00RIGHT and FULL OUTER JOINs are not currently supported\x00\x00naturaleftouterightfullinnercross\x00\x00\x00sqlite3JoinType\x00pList->nExpr==iFirst+i+1\x00\x00\x00\x00pFirst->op==TK_SELECT_COLUMN\x00\x00\x00\x00sqlite3ExprListAppendVector\x00!ExprHasProperty(pExpr, EP_IntValue|EP_Reduced|EP_TokenOnly)\x00\x00\x00\x00z[0]!=0\x00n==sqlite3Strlen30(z)\x00\x00\x00z[0]=='?'\x00\x00\x00variable number must be between ?1 and ?%d\x00\x00too many SQL variables\x00\x00sqlite3ExprAssignVarNumber\x00\x00pIn==0 || pIn[0]>=3\x00pIn[1]<=pIn[0]\x00\x00sqlite3VListAdd\x00pToken\x00\x00sqlite3ExprFunction\x00sqlite3PExprAddSelect\x00\x00\x00syntax error after column name \"%.*s\"\x00\x00\x00no such index: %S\x00\x00\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00\x00\x00\x00DELETE FROM %Q.%s WHERE name=%Q AND type='index'\x00\x00\x00\x00sqlite3DropIndex\x00\x00\x00\x00-%T\x00pId2\x00\x00\x00\x00pBt!=0\x00\x00pDb==&db->aDb[0]\x00\x00\x00\x00eMode==PAGER_LOCKINGMODE_NORMAL || eMode==PAGER_LOCKINGMODE_EXCLUSIVE\x00\x00\x00eAuto>=0 && eAuto<=2\x00\x00\x00\x00not a writable directory\x00\x00\x00\x00Safety level may not be changed inside a transaction\x00\x00\x00\x00pCol->pDflt==0 || pCol->pDflt->op==TK_SPAN\x00\x00issisi\x00\x00ssiii\x00\x00\x00siii\x00\x00\x00\x00pParse->nMem<=pPragma->nPragCName\x00\x00\x00iis\x00isi\x00c\x00\x00\x00u\x00\x00\x00isisi\x00\x00\x00db->aDb[i].zDbSName!=0\x00\x00iss\x00is\x00\x00iissssss\x00\x00\x00\x00NONE\x00\x00\x00\x00pParse->nErr>0 || pFK==0\x00\x00\x00\x00x==0\x00\x00\x00\x00iKey>=0 && iKey<pTab->nCol\x00\x00si\x00\x00parser: \x00\x00\x00\x00iDb==0 || pId2->z\x00\x00\x00sqlite3SchemaMutexHeld(db, i, 0)\x00\x00\x00\x00*** in database %s ***\x0a\x00pParse->nMem>=8+j\x00\x00\x00sqlite3NoTempsInRange(pParse,1,7+j)\x00NULL value in %s.%s\x00CHECK constraint failed in %s\x00\x00\x00row \x00\x00\x00\x00 missing from index \x00\x00\x00\x00iCol!=XN_ROWID && iCol<pTab->nCol\x00\x00\x00non-unique entry in index \x00\x00wrong # of entries in index \x00\x00\x00\x00ok\x00\x00encnames[SQLITE_UTF8].enc==SQLITE_UTF8\x00\x00encnames[SQLITE_UTF16LE].enc==SQLITE_UTF16LE\x00\x00\x00\x00encnames[SQLITE_UTF16BE].enc==SQLITE_UTF16BE\x00\x00\x00\x00unsupported encoding: %s\x00\x00\x00\x00full\x00\x00\x00\x00restart\x00sqlite3LogEst(25)==46\x00\x00\x00ANALYZE \"%w\".\"%w\"\x00\x00\x00pPragma->ePragTyp==PragTyp_BUSY_TIMEOUT\x00unknown\x00closed\x00\x00ss\x00\x00sqlite3Pragma\x00\x00\x00fd!=0\x00\x00\x00sqlite3_file_control\x00\x00\x00\x00p->nOp + N <= p->pParse->nOpAlloc\x00\x00\x00sqlite3VdbeVerifyNoMallocRequired\x00\x00\x00eMode==PAGER_LOCKINGMODE_QUERY || eMode==PAGER_LOCKINGMODE_NORMAL || eMode==PAGER_LOCKINGMODE_EXCLUSIVE\x00pPager->exclusiveMode || 0==sqlite3WalHeapMemory(pPager->pWal)\x00\x00sqlite3PagerLockingMode\x00incremental\x00(pDb->safety_level & PAGER_SYNCHRONOUS_MASK)==pDb->safety_level\x00setAllPagerFlags\x00\x00\x00\x00sqlite3BtreeSetMmapLimit\x00\x00\x00\x00temporary storage cannot be changed from within a transaction\x00\x00\x00c=='i'\x00\x00sqlite3VdbeMultiLoad\x00\x00\x00\x00SET NULL\x00\x00\x00\x00SET DEFAULT\x00NO ACTION\x00\x00\x00action==OE_None\x00actionName\x00\x00LIKE or GLOB pattern too complex\x00\x00\x00\x00zB==sqlite3_value_text(argv[0])\x00ESCAPE expression must be a single character\x00\x00\x00\x00p && p->pFunc\x00\x00\x00sqlite3_user_data\x00\x00\x00likeFunc\x00\x00\x00\x00sqlite3_result_int\x00\x00setLikeOptFlag\x00\x00UTF8\x00\x00\x00\x00UTF-8\x00\x00\x00UTF-16le\x00\x00\x00\x00UTF-16be\x00\x00\x00\x00UTF16le\x00UTF16be\x00UTF-16\x00\x00UTF16\x00\x00\x00COMPILER=msvc-1200\x00\x00DEBUG\x00\x00\x00DEFAULT_SYNCHRONOUS=2\x00\x00\x00DEFAULT_WAL_SYNCHRONOUS=2\x00\x00\x00ENABLE_API_ARMOR\x00\x00\x00\x00SYSTEM_MALLOC\x00\x00\x00THREADSAFE=1\x00\x00\x00\x00unknown database: %s\x00\x00\x00\x00sqlite3PcacheShrink\x00aHardLimit[SQLITE_LIMIT_LENGTH]==SQLITE_MAX_LENGTH\x00\x00aHardLimit[SQLITE_LIMIT_SQL_LENGTH]==SQLITE_MAX_SQL_LENGTH\x00\x00aHardLimit[SQLITE_LIMIT_COLUMN]==SQLITE_MAX_COLUMN\x00\x00aHardLimit[SQLITE_LIMIT_EXPR_DEPTH]==SQLITE_MAX_EXPR_DEPTH\x00\x00aHardLimit[SQLITE_LIMIT_COMPOUND_SELECT]==SQLITE_MAX_COMPOUND_SELECT\x00\x00\x00\x00aHardLimit[SQLITE_LIMIT_VDBE_OP]==SQLITE_MAX_VDBE_OP\x00\x00\x00\x00aHardLimit[SQLITE_LIMIT_FUNCTION_ARG]==SQLITE_MAX_FUNCTION_ARG\x00\x00aHardLimit[SQLITE_LIMIT_ATTACHED]==SQLITE_MAX_ATTACHED\x00\x00aHardLimit[SQLITE_LIMIT_LIKE_PATTERN_LENGTH]== SQLITE_MAX_LIKE_PATTERN_LENGTH\x00\x00\x00aHardLimit[SQLITE_LIMIT_VARIABLE_NUMBER]==SQLITE_MAX_VARIABLE_NUMBER\x00\x00\x00\x00aHardLimit[SQLITE_LIMIT_TRIGGER_DEPTH]==SQLITE_MAX_TRIGGER_DEPTH\x00\x00\x00\x00aHardLimit[SQLITE_LIMIT_WORKER_THREADS]==SQLITE_MAX_WORKER_THREADS\x00\x00sqlite3_limit\x00\x00\x00unlocked\x00\x00\x00\x00shared\x00\x00reserved\x00\x00\x00\x00pending\x00p->aOp[i].opcode!=OP_ResultRow\x00\x00sqlite3VdbeVerifyNoResultRow\x00\x00\x00\x00INSERT INTO %Q.%s VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00\x00\x00\x00!pParse->pNewTrigger\x00\x00\x00\x00sqlite3FinishTrigger\x00\x00\x00\x00pName1!=0\x00\x00\x00op==TK_INSERT || op==TK_UPDATE || op==TK_DELETE\x00op>0 && op<0xff\x00temporary trigger may not have qualified name\x00\x00\x00pTableName->nSrc==1\x00cannot create triggers on virtual tables\x00\x00\x00\x00trigger %T already exists\x00\x00\x00cannot create trigger on system table\x00\x00\x00cannot create %s trigger on view: %S\x00\x00\x00\x00cannot create INSTEAD OF trigger on table: %S\x00\x00\x00pParse->pNewTrigger==pTrigger\x00\x00\x00sqlite3BeginTrigger\x00pSelect != 0 || db->mallocFailed\x00\x00\x00\x00sqlite3TriggerInsertStep\x00\x00\x00\x00no such trigger: %S\x00sqlite3DropTrigger\x00\x00v || db->mallocFailed\x00\x00\x00pFunc->nArg==-1 || (pFunc->nArg&0xff)==pFunc->nArg\x00\x00codeAttach\x00\x00sqlite_attach\x00\x00\x00too many attached databases - max %d\x00\x00\x00\x00cannot ATTACH database within transaction\x00\x00\x00z && zName\x00\x00database %s is already in use\x00\x00\x00pVfs\x00\x00\x00\x00database is already attached\x00\x00\x00\x00iDb>=2\x00\x00unable to open database: %s\x00attachFunc\x00\x00*pzErrMsg==0\x00\x00\x00\x00file:\x00\x00\x00localhost\x00\x00\x00invalid uri authority: %.*s\x00octet>=0 && octet<256\x00\x00\x00vfs\x00cache\x00\x00\x00mode\x00\x00\x00\x00access\x00\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00sqlite3ParseUri\x00private\x00ro\x00\x00rw\x00\x00rwc\x00sqlite_detach\x00\x00\x00no such database: %s\x00\x00\x00\x00cannot detach database %s\x00\x00\x00cannot DETACH database within transaction\x00\x00\x00database %s is locked\x00\x00\x00pName1->z\x00\x00\x00unable to identify the object to be reindexed\x00\x00\x00pDb!=0\x00\x00reindexDatabases\x00\x00\x00\x00zColl!=0\x00\x00\x00\x00z!=0 || pIndex->aiColumn[i]<0\x00\x00\x00collationMatch\x00\x00sqlite3Reindex\x00\x00sqlite3BtreeHoldsAllMutexes(pParse->db)\x00pName2!=0 || pName1==0\x00\x00sqlite3Analyze\x00\x00sqlite3VdbeDb(v)==db\x00\x00\x00\x00CREATE TABLE %Q.%s(%s)\x00\x00i<ArraySize(aTable)\x00openStatTable\x00\x00\x00tbl,idx,stat\x00\x00\x00\x00sqlite_stat3\x00\x00\x00\x00sqlite_stat4\x00\x00\x00\x00analyzeDatabase\x00sqlite_%\x00\x00\x00\x00Analysis for %s.%s\x00\x00iDb==sqlite3SchemaToIndex(db, pIdx->pSchema)\x00\x00\x00\x00regChng==(regStat4+1)\x00\x00\x00BBB\x00\"BBB\"[0]==SQLITE_AFF_TEXT\x00\x00\x00analyzeOneTable\x00stat_init\x00\x00\x00nCol>0\x00\x00nKeyCol<=nCol\x00\x00\x00statInit\x00\x00\x00\x00n>=0\x00\x00\x00\x00sqlite3_result_blob\x00stat_push\x00\x00\x00p->nCol>0\x00\x00\x00iChng<p->nCol\x00\x00\x00statPush\x00\x00\x00\x00regOut!=regStat4 && regOut!=regStat4+1\x00\x00iParam==STAT_GET_STAT1\x00\x00callStatGet\x00stat_get\x00\x00\x00\x00argc==1\x00%llu\x00\x00\x00\x00 %llu\x00\x00\x00p->current.anEq[i]\x00\x00z[0]=='\\0' && z>zRet\x00\x00\x00\x00statGet\x00analyzeTable\x00\x00\x00\x00pSrc->nSrc==1\x00\x00\x00there is already another table or index with this name: %s\x00\x00view %s may not be altered\x00\x00UPDATE \"%w\".%s SET sql = sqlite_rename_parent(sql, %Q, %Q) WHERE %s;\x00\x00\x00\x00UPDATE %Q.%s SET sql = CASE WHEN type = 'trigger' THEN sqlite_rename_trigger(sql, %Q)ELSE sqlite_rename_table(sql, %Q) END, tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqlite_autoindex%%' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00\x00\x00UPDATE sqlite_temp_master SET sql = sqlite_rename_trigger(sql, %Q), tbl_name = %Q WHERE %s;\x00sqlite3AlterRenameTable\x00table %s may not be altered\x00name=%Q\x00%s OR name=%Q\x00\x00\x00type='trigger' AND (%s)\x00iTrigDb==iDb || iTrigDb==1\x00\x00tbl_name=%Q\x00reloadTableSchema\x00\x00\x00pNew\x00\x00\x00\x00pDflt==0 || pDflt->op==TK_SPAN\x00\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00\x00Cannot add a REFERENCES column with non-NULL default value\x00\x00Cannot add a NOT NULL column with default value NULL\x00\x00\x00\x00db->mallocFailed == 1\x00\x00\x00Cannot add a column with non-constant default\x00\x00\x00UPDATE \"%w\".%s SET sql = substr(sql,1,%d) || ', ' || %Q || substr(sql,%d) WHERE type = 'table' AND name = %Q\x00\x00\x00\x00sqlite3AlterFinishAddColumn\x00virtual tables may not be altered\x00\x00\x00Cannot add a column to a view\x00\x00\x00pTab->addColOffset>0\x00\x00\x00\x00pNew->nCol>0\x00\x00\x00\x00nAlloc>=pNew->nCol && nAlloc%8==0 && nAlloc-pNew->nCol<8\x00\x00\x00\x00sqlite_altertab_%s\x00\x00sqlite3AlterBeginAddColumn\x00\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.%s SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name='%q' AND type='table'\x00\x00sqlite3SchemaMutexHeld(db, 0, pSchema)\x00\x00pTab==pOld\x00\x00sqlite3VtabFinishParse\x00\x000==pTable->pIndex\x00\x00\x00pTable->nModuleArg==0\x00\x00\x00(pParse->sNameToken.z==pName2->z && pName2->z!=0) || (pParse->sNameToken.z==pName1->z && pName2->z==0)\x00\x00sqlite3VtabBeginParse\x00\x00\x00pArg->z <= p->z\x00sqlite3VtabArgExtend\x00\x00\x00\x00duplicate WITH table name: %s\x00\x00\x00(pNew!=0 && zName!=0) || db->mallocFailed\x00\x00\x00sqlite3WithAdd\x00\x00stateno<=YY_REDUCE_COUNT\x00\x00\x00\x00i!=YY_REDUCE_USE_DFLT\x00\x00\x00i>=0 && i<YY_ACTTAB_COUNT\x00\x00\x00yy_lookahead[i]==iLookAhead\x00yy_find_reduce_action\x00\x00\x00%sAccept!\x0a\x00\x00yypParser->yytos==yypParser->yystack\x00\x00\x00\x00yy_accept\x00\x00\x00TOKEN.z[0]\x00\x00yy_syntax_error\x00azResult!=0\x00sqlite3_free_table\x00\x00pCtx->pVdbe!=0\x00\x00sqlite3_get_auxdata\x00sqlite3_get_table() called with two or more incompatible queries\x00\x00\x00\x003.18.0\x00\x00RTRIM\x00\x00\x00db->pDfltColl!=0\x00\x00\x00\x00db->mutex!=0 || isThreadsafe==0 || sqlite3GlobalConfig.bFullMutex==0\x00\x00\x00\x00db!=0 || rc==SQLITE_NOMEM\x00\x00\x00openDatabase\x00\x00\x00\x00rc==SQLITE_NOMEM || rc==SQLITE_OK\x00\x00\x00unable to use function %s in the requested context\x00\x00sqlite3RegisterPerConnectionBuiltinFunctions\x00\x00\x00\x00automatic extension loading failed: %s\x00\x00sz > (int)sizeof(LookasideSlot*)\x00\x00\x00\x00setupLookaside\x00\x00\x00\x00\x00\x00*ppDb || rc==SQLITE_NOMEM\x00\x00\x00sqlite3_open16\x00\x00sqlite3_prepare16\x00\x00\x00sqlite3_result_error16\x00\x00sqlite3_result_int64\x00\x00\x00\x00sqlite3_result_null\x00sqlite3_result_text16\x00\x00\x00sqlite3_result_text16be\x00sqlite3_result_text16le\x00sqlite3_set_auxdata\x00no such table column: %s.%s\x00pTo->isPrepareV2 || pTo->expmask==0\x00pFrom->isPrepareV2 || pFrom->expmask==0\x00sqlite3_transfer_bindings\x00\x00\x00sqlite3_prepare16_v2\x00\x00\x00\x00sqlite3_clear_bindings\x00\x00cannot open virtual table: %s\x00\x00\x00cannot open table without rowid: %s\x00cannot open view: %s\x00\x00\x00\x00no such column: \"%s\"\x00\x00\x00\x00foreign key\x00indexed\x00cannot open %s column for writing\x00\x00\x00pBlob->pStmt || db->mallocFailed\x00\x00\x00\x00aOp!=0\x00\x00sqlite3_blob_open\x00\x00\x00cannot open value of type %s\x00\x00\x00\x00null\x00\x00\x00\x00no such rowid: %lld\x00rc!=SQLITE_OK || zErr==0\x00\x00\x00\x00rc!=SQLITE_ROW && rc!=SQLITE_DONE\x00\x00\x00blobSeekToRow\x00\x00\x00db == v->db\x00blobReadWrite\x00\x00\x00sqlite3BtreePayloadChecked\x00\x00accessPayloadChecked\x00\x00\x00\x00cursorOwnsBtShared(pCsr)\x00\x00\x00\x00sqlite3_mutex_held(pCsr->pBtree->db->mutex)\x00pCsr->curFlags & BTCF_Incrblob\x00\x00pCsr->eState!=CURSOR_REQUIRESEEK\x00\x00\x00\x00(pCsr->pBt->btsFlags & BTS_READ_ONLY)==0 && pCsr->pBt->inTransaction==TRANS_WRITE\x00\x00\x00hasSharedCacheTableLock(pCsr->pBtree, pCsr->pgnoRoot, 0, 2)\x00!hasReadConflicts(pCsr->pBtree, pCsr->pgnoRoot)\x00pCsr->apPage[pCsr->iPage]->intKey\x00\x00\x00sqlite3BtreePutData\x00sqlite3_mutex_alloc\x00vfsList\x00sqlite3_mutex_held(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER))\x00\x00\x00vfsUnlink\x00\x00\x00sqlite3_vfs_register\x00\x00\x00\x00sqlite3_result_zeroblob\x00(x = va_arg(ap,int))!=0\x00sqlite3_test_control\x00\x00\x00\x00source and destination must be distinct\x00unknown database %s\x00destination database is in use\x00\x00SQLITE_\x00(op-SQLITE_DBSTATUS_LOOKASIDE_HIT)>=0\x00\x00\x00(op-SQLITE_DBSTATUS_LOOKASIDE_HIT)<3\x00\x00\x00\x00sqlite3_db_status\x00\x00\x00eStat==SQLITE_DBSTATUS_CACHE_HIT || eStat==SQLITE_DBSTATUS_CACHE_MISS || eStat==SQLITE_DBSTATUS_CACHE_WRITE\x00sqlite3PagerCacheStat\x00\x00\x002017-03-28 18:48:43 424a0d380332858ee55bdebc4af3789f74e70a2b3ba1cf29d84b9b4bcf3e2e37\x00\x00\x00\x00rc!=SQLITE_SCHEMA\x00\x00\x00rc==SQLITE_OK || p->pStmt==0\x00\x00\x00\x00sqlite3_blob_reopen\x00p->pTab==0 || IsVirtual(p->pTab)\x00\x00\x00\x00sqlite3_vtab_config\x00db->vtabOnConflict>=1 && db->vtabOnConflict<=5\x00\x00sqlite3_vtab_on_conflict\x00\x00\x00\x00sqlite3_auto_extension\x00\x00xDel!=SQLITE_DYNAMIC\x00\x00\x00\x00sqlite3_bind_blob64\x00invokeValueDestructor\x00\x00\x00sqlite3_bind_text64\x00sqlite3_result_blob64\x00\x00\x00sqlite3_result_text64\x00\x00\x00sqlite3_mutex_held(pOut->db->mutex)\x00sqlite3_result_zeroblob64\x00\x00\x00(n & 0x7FFFFFFF)==n\x00sqlite3_bind_zeroblob64\x00sqlite3_result_subtype\x00\x00sqlite3PagerFlush\x00\x00\x00compileoptionusedFunc\x00\x00\x00compileoptiongetFunc\x00\x00\x00\x00zIn==sqlite3_value_text(argv[0])\x00\x00\x00\x00trimFunc\x00\x00\x00\x00nByte>0\x00contextMalloc\x00\x00\x00argc>1\x00\x00pColl\x00\x00\x00mask==-1 || mask==0\x00minmaxFunc\x00\x00context->pVdbe!=0\x00\x00\x00pOp->opcode==OP_CollSeq\x00sqlite3GetFuncCollSeq\x00\x00\x00lengthFunc\x00\x00integer overflow\x00\x00\x00\x00absFunc\x00argc==1 || argc==2\x00\x00%.*f\x00\x00\x00\x00roundFunc\x00\x00\x00z2==(char*)sqlite3_value_text(argv[0])\x00\x00upperFunc\x00\x00\x00lowerFunc\x00\x00\x00pBlob==sqlite3_value_blob(argv[0])\x00\x00hexFunc\x00randomBlob\x00\x00%!.20e\x00\x00zBlob==sqlite3_value_blob(argv[0])\x00\x00sqlite3_value_type(argv[0])==SQLITE_NULL\x00\x00\x00\x00quoteFunc\x00\x00\x00zStr==sqlite3_value_text(argv[0])\x00\x00\x00sqlite3_value_type(argv[1])==SQLITE_NULL || sqlite3_context_db_handle(context)->mallocFailed\x00\x00\x00\x00sqlite3_value_type(argv[1])!=SQLITE_NULL\x00\x00\x00\x00zPattern==sqlite3_value_text(argv[1])\x00\x00\x00zRep==sqlite3_value_text(argv[2])\x00\x00\x00nOut<SQLITE_MAX_LENGTH\x00\x00j+nStr-i+1==nOut\x00\x00\x00\x00j<=nOut\x00replaceFunc\x00zeroblobFunc\x00\x00\x00\x00argc==3 || argc==2\x00\x00len==sqlite3_value_bytes(argv[0])\x00\x00\x00p1>=0 && p2>=0\x00\x00substrFunc\x00\x00sumStep\x00argc==1 || p==0 || p->n>0x7fffffff || p->n==sqlite3_aggregate_count(context)\x00\x00\x00\x00countStep\x00\x00\x00groupConcatStep\x00pcache1.isInit==0\x00\x00\x00pcache1Init\x00pcache1.isInit!=0\x00\x00\x00pcache1Shutdown\x00(szPage & (szPage-1))==0 && szPage>=512 && szPage<=65536\x00\x00\x00\x00szExtra < 300\x00\x00\x00(pGroup)->mutex==0\x00\x00pcache1Create\x00\x00\x00sqlite3_mutex_held(p->pGroup->mutex)\x00\x00\x00\x00(p->pGroup)->mutex==0\x00\x00\x00pcache1ResizeHash\x00\x00\x00pCache->bPurgeable || (pCache->nMax==0 && pCache->nMin==0)\x00\x00pGroup->nMaxPage >= pCache->nMax\x00\x00\x00\x00pGroup->nMinPage >= pCache->nMin\x00\x00\x00\x00pcache1Destroy\x00\x00sqlite3_mutex_held(pCache->pGroup->mutex)\x00\x00\x00pCache->iMaxKey >= iLimit\x00\x00\x00pCache->nHash > 0\x00\x00\x00h<pCache->nHash\x00nPage<0 || pCache->nPage==(unsigned)nPage\x00\x00\x00pcache1TruncateUnsafe\x00\x00\x00pPage->isPinned==0\x00\x00pPage->pLruNext\x00pPage->pLruPrev\x00pPage->isAnchor==0\x00\x00pCache->pGroup->lru.isAnchor==1\x00pcache1PinPage\x00\x00sqlite3_mutex_held(p->pCache->pGroup->mutex)\x00\x00\x00\x00pcache1FreePage\x00sqlite3_mutex_held(pGroup->mutex)\x00\x00\x00p->pCache->pGroup==pGroup\x00\x00\x00p->isPinned==0\x00\x00pcache1EnforceMaxPage\x00\x00\x00pcache1RemoveFromHash\x00\x00\x00pcache1Cachesize\x00\x00\x00\x00(pCache->pGroup)->mutex==0\x00\x00pcache1Pagecount\x00\x00\x00\x00pCache->bPurgeable || createFlag!=1\x00pCache->bPurgeable || pCache->nMin==0\x00\x00\x00pCache->bPurgeable==0 || pCache->nMin==10\x00\x00\x00pCache->nMin==0 || pCache->bPurgeable\x00\x00\x00pCache->nHash>0\x00pcache1Fetch\x00\x00\x00\x00pCache->nPage >= pCache->nRecyclable\x00\x00\x00\x00pGroup->mxPinned == pGroup->nMaxPage + 10 - pGroup->nMinPage\x00\x00\x00\x00pCache->n90pct == pCache->nMax*9/10\x00pCache->nHash>0 && pCache->apHash\x00\x00\x00pcache1FetchStage2\x00\x00pcache1AllocPage\x00\x00\x00\x00pPage->pCache==pCache\x00\x00\x00pPage->pLruPrev==0 && pPage->pLruNext==0\x00\x00\x00\x00pPage->isPinned==1\x00\x00pcache1Unpin\x00\x00\x00\x00pPage->iKey==iOld\x00\x00\x00pcache1Rekey\x00\x00\x00\x00pcache1Truncate\x00pcache1Shrink\x00\x00\x00winSysInfo.dwAllocationGranularity>0\x00\x00\x00\x00winSysInfo.dwPageSize>0\x00sqlite3_os_init\x00win32\x00\x00\x00id!=0\x00\x00\x00pFile->pShm==0\x00\x00pFile->h!=NULL && pFile->h!=INVALID_HANDLE_VALUE\x00\x00\x00\x00winClose\x00\x00\x00\x00pFile!=0\x00\x00\x00\x00winUnmapfile1\x00\x00\x00winUnmapfile2\x00\x00\x00winUnmapfile\x00\x00\x00\x00errcode!=SQLITE_OK\x00\x00os_win.c:%d: (%lu) %s(%s) - %s\x00\x00OsError 0x%lx (%lu)\x00winLogErrorAtLine\x00\x00\x00amt>0\x00\x00\x00offset>=0\x00\x00\x00winRead\x00delayed %dms for lock/sharing conflict at line %d\x00\x00\x00nWrite==0 || nWrite<=(DWORD)nRem\x00\x00\x00\x00winWrite1\x00\x00\x00winWrite2\x00\x00\x00winWrite\x00\x00\x00\x00winTruncate1\x00\x00\x00\x00winTruncate2\x00\x00\x00\x00winTruncate\x00winSeekFile\x00(flags&0x0F)==SQLITE_SYNC_NORMAL || (flags&0x0F)==SQLITE_SYNC_FULL\x00\x00winSync1\x00\x00\x00\x00winSync2\x00\x00\x00\x00winSync\x00pSize!=0\x00\x00\x00\x00winFileSize\x00pFile->locktype!=NO_LOCK || locktype==SHARED_LOCK\x00\x00\x00locktype!=PENDING_LOCK\x00\x00locktype!=RESERVED_LOCK || pFile->locktype==SHARED_LOCK\x00pFile->locktype==NO_LOCK\x00\x00\x00\x00pFile->locktype==SHARED_LOCK\x00\x00\x00\x00pFile->locktype>=SHARED_LOCK\x00\x00\x00\x00winLock\x00winUnlockReadLock\x00\x00\x00locktype<=SHARED_LOCK\x00\x00\x00winUnlock\x00\x00\x00winCheckReservedLock\x00\x00\x00\x00etilqs_\x00nDir>0\x00\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00winGetTempname\x00\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00\x00nMap>=0 || pFd->nFetchOut==0\x00\x00\x00\x00winMapfile1\x00(nMap % winSysInfo.dwPageSize)==0\x00\x00\x00sizeof(SIZE_T)==sizeof(sqlite3_int64) || nMap<=0xffffffff\x00\x00\x00winMapfile2\x00winMapfile\x00\x00szRegion==pShmNode->szRegion || pShmNode->nRegion==0\x00\x00\x00\x00winShmMap1\x00\x00winShmMap2\x00\x00winShmMap3\x00\x00pDbFd->pShm==0\x00\x00%s-shm\x00\x00winOpenShm\x00\x00winOpenSharedMemory\x00(isReadonly==0 || isReadWrite==0) && (isReadWrite || isReadonly)\x00\x00\x00\x00isCreate==0 || isReadWrite\x00\x00isExclusive==0 || isCreate\x00\x00isDelete==0 || isCreate\x00(!isDelete && zName) || eType!=SQLITE_OPEN_MAIN_DB\x00\x00(!isDelete && zName) || eType!=SQLITE_OPEN_MAIN_JOURNAL\x00(!isDelete && zName) || eType!=SQLITE_OPEN_MASTER_JOURNAL\x00\x00\x00(!isDelete && zName) || eType!=SQLITE_OPEN_WAL\x00\x00eType==SQLITE_OPEN_MAIN_DB || eType==SQLITE_OPEN_TEMP_DB || eType==SQLITE_OPEN_MAIN_JOURNAL || eType==SQLITE_OPEN_TEMP_JOURNAL || eType==SQLITE_OPEN_SUBJOURNAL || eType==SQLITE_OPEN_MASTER_JOURNAL || eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL\x00\x00\x00isDelete && !isOpenJournal\x00\x00(eType!=SQLITE_OPEN_MAIN_DB) || (flags & SQLITE_OPEN_URI) || zUtf8Name[sqlite3Strlen30(zUtf8Name)+1]==0\x00winOpen\x00psow\x00\x00\x00\x00sqlite3_mutex_held(pFile->mutex) || pFile->nRef==0\x00\x00winShmSystemLock\x00\x00\x00\x00winShmMutexHeld()\x00\x00\x00winShmPurge\x00winDelete\x00\x00\x00winShmMap\x00\x00\x00ofst>=0 && ofst+n<=SQLITE_SHM_NLOCK\x00n>=1\x00\x00\x00\x00flags==(SQLITE_SHM_LOCK | SQLITE_SHM_SHARED) || flags==(SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE) || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED) || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)\x00\x00n==1 || (flags & SQLITE_SHM_EXCLUSIVE)!=0\x00\x00\x00n>1 || mask==(1<<ofst)\x00\x00(pX->exclMask & (p->exclMask|p->sharedMask))==0\x00(p->sharedMask & mask)==0\x00\x00\x00winShmLock\x00\x00pShmNode->nRef>0\x00\x00\x00\x00winShmUnmap\x00(p==0)==(pFd->nFetchOut==0)\x00p==0 || p==&((u8 *)pFd->pMapRegion)[iOff]\x00\x00\x00pFd->nFetchOut>=0\x00\x00\x00winUnfetch\x00\x00winAccess\x00\x00\x00!\"Invalid flags argument\"\x00\x00\x00%s%c%s\x00\x00winFullPathname1\x00\x00\x00\x00winFullPathname2\x00\x00\x00\x00winFullPathname3\x00\x00\x00\x00winFullPathname4\x00\x00\x00\x00win32-longpath\x00\x00win32-none\x00\x00win32-longpath-none\x00sqlite3_initialize\x00\x00enlargeAndAppend\x00\x00\x00\x00sqlite3VXPrintf\x00thstndrd\x00\x00\x00\x000123456789ABCDEF0123456789abcdef\x00\x00\x00\x00-x0\x00X0\x00\x00sqlite3AppendChar\x00")